Phriction Witaj na wiki Hackerspace Kraków! Infrastruktura Wyposażenie (maszyny, sprzęt i inne) CNC 3040T History Version 13 vs 29
Version 13 vs 29
Version 13 vs 29
Content Changes
Content Changes
===== CNC 3040T =====
== Układy odniesienia==
W tej maszynie mówimy o dwóch układach współrzędnych:
- układ maszyny - odpowiada za globalne ustawienie pozycji i nie pozwolenie aby maszyna wyjechała poza swoje limity (poza zakresy ruchu osi).
Układ maszyny ustawia (Home'uje) się raz przy starcie zasilania i nie rusza w trakcie pracy, nie jest on związany z frezowanym obiektem (materiałem) - a tylko z maszyną.
Dopuszczalny zakres ruchów maszyny: X: 0 - 300 mm, Y: 0 - 400 mm, Z: 0 - 50 mm względem układu maszyny.
Do poruszania się w układzie maszyny służy kod G53. Np: G53 G0 X0 przezunie oś X do pozycji zerowej maszyny.
- układ lokalny(G54) - w stosunku do niego odbywa się praca maszyny (frezowanie).
W programie do generacji GCODE ustawiamy lokalny układ w określonym punkcie elementu który chcemy wykonać. Ruchy wykonywane podczas pracy odnoszą się do lokalnego układu, mogą zmieniać się dowolnie na wszystkich osiach (w ramach limitu maszyny).
W celu ustawienia tego układu dochodzimy do pozycji gdzie chemy ustawić zero lokalnego i dla każdej osi wybieramy Touch off.
Wybór układu współrzędnych wybieramy komendami G54,G55,G56 itd.. Ale nam wystarczy jeden. Wpisanie kodu G54 jest zapamiętywane i każda następna linia jest wykonywana w tym układzie odniesienia.
=== Skrócona instrukcja ustawiania układów odniesienia ===
Maszyna nie jest wyposażona w endstopy, więc nie potrafi samodzielnie wyzerować układu odniesienia maszyny. Trzeba jej w tym pomóc wykonując następujące kroki:
# Odblokowujemy maszynę (Toggle machine power, F2).
# W trybie manual control (F3) wyjeżdżamy poza spoil board (ten przykręcony HDF), w "lewy dolny róg" (2, 4 na klawiaturze numerycznej)
# Przesuwamy się na samą górę maszyny (tuż przed samym ograniczeniem mechanicznym)
# Zerujemy osie X, Y, Z, ustawiając tym samym natywny układ współrzędnych maszyny.
Następnie trzeba ustawić układ odniesienia G54 w którym będziemy pracować. Trzeba wybrać punkt współrzędnych (0, 0, 0) układu lokalnego (nie trzeba wszystkich osi na raz ustawiać). Dobór punktu zerowego lokalnego układu zależy od wygenerowanego GCODE, często reguluje się tak żeby punkt X, Y był dobrze zdefiniowany (jakiś róg) a Z był na powierzchni.
Ustawienie X, Y:
# Podnosimy wrzeciono do góry, tak żeby narzędzie było dobrze ponad materiałem.
# Dojeżdżamy do miejsca nad materiałem gdzie będziemy chcieli frezować.
# Używamy opcji "Touch Off" w osiach X i Y, ustawiając układ współrzędnych G54 w tych osiach na 0.0.
# Przyszły punkt (0,0 - machining origin) naszego gcode'u powinien zostać teraz przesunięty w miejsce, gdzie aktualnie znajduje się frezarka.
Ustawienie Z można wykonać ręcznie lub semi-automatycznie z użyciem precyzyjnego przyrządu pomiarowego ™ .
Ustawienie Z ręczne:
# ustawiamy ręcznie (PgUp, PgDown) oś Z na równo z powierzchnią frezowania (lub znaną wysokość)
# wciskamy "Touch Off" w osi Z - wpisujemy wykość nad punktem zerowym (jak jest na równo to zostawiamy 0).
Ustawienie Z automatyczne:
# Przesuwamy wrzeciono wyżej, kładziemy nasz precyzyjny obiekt pomiarowy na materiale, a krokodylek przypinamy do frezu.
# W trybie MDI (F5) wykonujemy "straight probe" narzędziem wykonując następujący gcode: "G38.2 Z0 F100" - wrzeciono przesunie się w dół z prędkością 100mm/min, jadąc od aktualnego położenia do zera i zatrzyma się po zetknięciu.
# Wracamy do manual control, używamy opcji "Touch Off" w osi Z, ustawiając układ współrzędnych G54 na 19.96 (grubość naszego precyzyjnego 20 mm obiektu pomiarowego) + grubość materiału (tj. ustawiony w CAMie stock surface, tak może to być 0 jeżeli ustawiliśmy że frezujemy na ujemną głębokość) w którym frezujemy.
# Wyjeżdżamy do góry, usuwamy precyzyjny obiekt pomiarowy ™.
Zarówno układ współrzędnych zadania jak i natywny układ maszyny powinien teraz mieć wystarczająco dużo sensu., ale powinniśmy to organoleptycznie zweryfikować po załadowaniu swojego gcode'u.
Uwaga: polecenia G0, G1, itp. zarówno w trybie bezwzględnym (G90) jak i względnym (G91) działają w aktualnie wybranym układzie odniesienia (dla nas będzie to G54).
Do poruszania się w układzie odniesienia maszyny służy polecenie G53.
=== Technical parameters: ===
* voltage: 110V 60HZ for USA, Canada, Mexico, 220V 50HZ for EU countries and other countries
* Effective working travel: 275(X)mm*385(Y)mm*60(Z)mm
* Shape dimension: 610x480*400mm
* Max.workpiece dimension: 70mm
* Work table dimension: 320mm*530mm ( 12.60''*20.87'')
* Carving deepth: 55mm (2.17'')
* Frame materials: Aluminum alloy 6063 and 6061
* Leadscrew: 1204 double thread Trapezoidal screws
* Driving units X axis: 1204 trapezoidal screws about length:540mm diameter:12mm
* Driving units Y axis: 1204 trapezoidal screws about length:418mm diameter:12mm
* Driving units Z axis: 1204 trapezoidal screws about length:145mm diameter:12mm
* Sliding units X axis: Dia.16mm chrome plate shafts
* Sliding units Y axis: Dia.16mm chrome plate shafts
* Sliding units Z axis: Dia.12mm chrome plate shafts
* Stepping motor type: 57 two-phase 1.8A
* Spindle motor: 300w DC motor
* Motor speed : 500~8000RPM/Min
* Principal axis collet: ER11 /3.175 mm
* Repeat accuracy: 0.05mm
* Spindle precision: Radial beat acuities 0.03 mm
* Control unit: Triaxial one-piece drive + ring variable power + PWM speed
* Carving Instructions: G-code/.tab /.nc / .ncc/.txt
* Communication interface: Through parallel connection with desktop computer and USB connection with both desktop computer and also laptop computer.
* Software environment: Windows 2000 / xp / Win7 32bit
* soft ware: mach 3 and USB software
* Maximum speed: 0-4000mm/min
* Carving speed: 300-2500mm/min (different materials differ)
* Machine weight: 28KG
===== Safety =====
Emergency stop is software controlled.
===== Software =====
==== LinuxCNC configuration ====
[[https://github.com/HackerspaceKRK/linuxcnc-config]]
==== Fake PlanetCNC USB adapter ====
Counterfeit CNC USB MK1 controller. Actually, USB fronting part of it (PIC18F4550).
Works with quite powerfull PlanetCNC's software, which is free to use with controllers that have valid license.
Please do not use it if you can.
===== Electronics =====
==== JP-382A Motor Controller pinout ====
Up to down, left to right:
* X-axis
* Y-axis
* Z-axis
* A-axis
* probe (barrel jack)
* +24V
* PWM-OUT
* X/Y/Z/G (end stops?)
* E-stop
==== JP-1482 Spindle Controller pinout ====
Not marked on PCB. See [[https://hackaday.io/project/6776-3040-cnc-milling-machine-mods/log/21618-jp-1482-spindle-controller-schematic]] for any reference.
==== DB25 pin functions ====
| Function | DB25 pin | Notes |
| X step | 2 | |
| X dir | 3 | |
| Y step | 4 | |
| Y dir | 5 | |
| Z step | 6 | |
| Z dir | 7 | |
| A step | 8 | not used |
| A dir | 9 | not used |
==== Lokalizacja ====
W pokoju magazynek, po lewej stronie od wejścia
==== Dodatkowy sprzęt ====
Komputer do obsługi CNC - ma naklejkę CNC, stoi na podłodze pod frezarką.
Opakowanie z frezami, koletami (collet) i inne przydatne rzeczy - w pudełku z naklejką CNC wśród osobistych pudełek na półce. W tym momencie na dolnej półce, drugie od lewej, zaraz przy frezarce.
Niektóre frezy w tym pudełku mają niebieskie czapeczki - to ze względu na ich znaczną ostrość. Należy się z nimi obchodzić ostrożnie, chyba że ktoś chce mieć stygmaty.
==== Jak ====
Narzędzie wymaga wiedzy jak się nim obsłużyć. Ten opis, tworzony przez osoby które jeszcze **nie** potrafią używać tego urządzenia nie wystarczy, choć może pomóc. Znajdź osobę która to narzędzie umie używać jeśli ty jeszcze nie potrafisz.
Do pułapek należy: urządzenie nie ma zabezpieczenia przed wyjechaniem poza obszar bezpiecznej pracy. Nie jest jasne co się wtedy stanie, być może można w ten sposób zostać fundatorem nowej frezarki.
Szykujemy plik .ngc (jeśli mamy plik .nc to może wystarczyć zmiana rozszerzenia na .ngc)
Szykujemy sobie odkuzrzacz
Włączamy komputer
Włączamy program Axis
Podłączamy się do frezarki (pomarańczowy przycisk "toggle machine power")
Ustawić ręcznie na punkt startowy (home axis) - strzałkami + 9/3
- przy zbliżaniu się do powierzchni przedmiotu włączyć wiertło (zielony przycisk "spindle" na frezarce) i spowolnić zbliżanie się (jog speed w suwakach na dole) -** do jakiej prędkości zwolnić? 100mm/min?**
Kliknąć przycisk "home axis" by ustawić aktualną pozycję wiertła jako pozycję startową
Frezowanie rozpoczynamy przez naciśnięcie przycisku play (niebieski trójkąt "begin executing current file")
W czasie cięcia odkurzamy
===== CNC 3040T =====
== Układy odniesienia==
W tej maszynie mówimy o dwóch układach współrzędnych:
- układ maszyny - odpowiada za globalne ustawienie pozycji i nie pozwolenie aby maszyna wyjechała poza swoje limity (poza zakresy ruchu osi).
Układ maszyny ustawia (Home'uje) się raz przy starcie zasilania i nie rusza w trakcie pracy, nie jest on związany z frezowanym obiektem (materiałem) - a tylko z maszyną.
Dopuszczalny zakres ruchów maszyny: X: 0 - 300 mm, Y: 0 - 400 mm, Z: 0 - 50 mm względem układu maszyny.
Do poruszania się w układzie maszyny służy kod G53. Np: G53 G0 X0 przezunie oś X do pozycji zerowej maszyny.
- układ lokalny(G54) - w stosunku do niego odbywa się praca maszyny (frezowanie).
W programie do generacji GCODE ustawiamy lokalny układ w określonym punkcie elementu który chcemy wykonać. Ruchy wykonywane podczas pracy odnoszą się do lokalnego układu, mogą zmieniać się dowolnie na wszystkich osiach (w ramach limitu maszyny).
W celu ustawienia tego układu dochodzimy do pozycji gdzie chemy ustawić zero lokalnego i dla każdej osi wybieramy Touch off.
Wybór układu współrzędnych wybieramy komendami G54,G55,G56 itd.. Ale nam wystarczy jeden. Wpisanie kodu G54 jest zapamiętywane i każda następna linia jest wykonywana w tym układzie odniesienia.
=== Skrócona instrukcja ustawiania układów odniesienia ===
Trzeba ustawić układ odniesienia G54 w którym będziemy pracować. Trzeba wybrać punkt współrzędnych (0, 0, 0) układu lokalnego (nie trzeba wszystkich osi na raz ustawiać). Dobór punktu zerowego lokalnego układu zależy od wygenerowanego GCODE, często reguluje się tak żeby punkt X, Y był dobrze zdefiniowany (jakiś róg) a Z był na powierzchni.
Ustawienie X, Y:
# Dojeżdżamy do miejsca ustawianego na (0, 0, 0)
# klikamy w:
{F161125}
Zarówno układ współrzędnych zadania jak i natywny układ maszyny powinien teraz mieć wystarczająco dużo sensu., ale powinniśmy to organoleptycznie zweryfikować po załadowaniu swojego gcode'u.
Uwaga: polecenia G0, G1, itp. zarówno w trybie bezwzględnym (G90) jak i względnym (G91) działają w aktualnie wybranym układzie odniesienia (dla nas będzie to G54).
Do poruszania się w układzie odniesienia maszyny służy polecenie G53.
=== Podczas frezowania: ===
- jak chcemy ustawić feedrate override: `M220 S<procenty>`
==== Jeżeli wystąpi spontaniczny e-stop (alarm) ====
Nie należy kontynuować pracy poprzez wciśnięcie przycisku "play" w CNCjs. Frezarka pominie kilka kroków operacji i zacznie pracę **gdzieś**. Będzie to oznaczać, że prawie na pewno pójdzie w jakieś ~losowe miejsce, w linii prostej, bez poszanowania dla zasad i materiału, ze sporym prawdopodobieństwem uszkodzenia tego, co frezujesz, a być może nawet frezu lub **maszyny**!
Co należy zrobić:
- Wyjść z materiału pionowo w górę - upewnić się, że krok jest dość niewielki, żeby nie uderzyć o górę posuwu wrzeciona i wyjść nad materiał przyciskiem Z+
- Wrócić do zera pracy - przyciskiem X0/Y0
- Rozpocząć operację od nowa
Jeżeli nie stworzy to ryzyka przejścia przez dużą ilość materiału można zmodyfikować operację tak, żeby np. zaczynała niżej co oszczędzi czas na bieganie w powietrzu, natomiast ze względu na to jak operuje fusion, górę obróbki należy ustawić jeden krok wyżej niż to na czym zatrzymała się praca.
Teoretycznie rozwiązaliśmy problem spontanicznych alarmów, jednak maszyna jest wrażliwa i zawsze istnieje ryzyko, że problem się pojawi (choć po testach spodziewam się, że raczej nie, a na pewno ze znacznie mniejszą częstotliwością), więc warto mieć w głowie co się wtedy dzieje.
=== Technical parameters: ===
* voltage: 220V 50HZ
* Effective working travel: 275(X)mm*385(Y)mm*60(Z)mm
* Shape dimension: 610x480*400mm
* Max.workpiece dimension: 70mm
* Work table dimension: 320mm*530mm ( 12.60''*20.87'')
* Carving deepth: 55mm (2.17'')
* Frame materials: Aluminum alloy 6063 and 6061
* Leadscrew: 1204 double thread Trapezoidal screws
* Driving units X axis: 1204 trapezoidal screws about length:540mm diameter:12mm
* Driving units Y axis: 1204 trapezoidal screws about length:418mm diameter:12mm
* Driving units Z axis: 1204 trapezoidal screws about length:145mm diameter:12mm
* Sliding units X axis: Dia.16mm chrome plate shafts
* Sliding units Y axis: Dia.16mm chrome plate shafts
* Sliding units Z axis: Dia.12mm chrome plate shafts
* Stepping motor type: 57 two-phase 1.8A
* Spindle motor: 300w DC motor
* Motor speed : 500~8000RPM/Min
* Principal axis collet: ER11 /3.175 mm
* Repeat accuracy: 0.05mm
* Spindle precision: Radial beat acuities 0.03 mm
* Control unit: Triaxial one-piece drive + ring variable power + PWM speed
* Carving Instructions: G-code/.tab /.nc / .ncc/.txt
* Communication interface: USB (GRBL-compatible) / Ethernet (no idea)
* software: CNCJS
* Maximum speed: 0-4000mm/min
* Carving speed: 300-2500mm/min (different materials differ)
* Machine weight: 28KG
===== Safety =====
Emergency stop is software controlled.
==== Fusion360 - generacja toolpathów ====
1) przygotowanie modelu - załóżmy że chcemy taki model wykonać w bloku drewna:
{F56311}
Model rysujemy we fusion360.
2) przygotowanie frezarki:
- zamocowanie odpowiedniego frezu (w tym przykładzie frez płaski 1.75mm)
- zamocowanie bloku drewna do stołu frezarki:
{F56313}
3) wybieramy tryb Manufacture:
{F56315}
3) ustawienie narzędzia we fusion360:
{F56317}
dodajemy nowe narzędzie:
{F56319}
Nadajemy nazwę.
Przykładowe wymiary dla frezu 3.175 mm do drewna (płaskiego):
{F56321}
4) dodajemy nowy setup
(setup to zamocowanie elementu w którym frezujemy do stołu roboczego, wybór frezu itp - używamy tylko jednego)
{F56325}
W tym momencie określamy rozmiar Stock Boxu (zakładka Stock).
Określamy wymiary elementu który frezujemy i dobieramy offsety tak żeby pokryć stock boxem cały materiał w którym będziemy frezować.
Mierzymy blok drewniany w którym frezujemy. Wymiary elementu: 25 x 40 x 18.5mm, a wymiary bloku drewnianego 39 x 100 x 25 mm.
Wyliczamy offsety od każdego boku elementu i wpisujemy odpowiednie tak żeby wymiary stocku się zgadzały (lub były większe od elementu).
{F56327}
5) wybieramy punkt zerowy lokalnego układu współrzędnych (WCS - Work Coordinate System) - w którym będzie robiony Touch Off maszyny.
W tym przypadku ustawienie WCS jest na środku elementu na górze:
{F56329}
6) Przechodzimy do generowania pathów dla narzędzia.
Każdy element musi być tworzony z kilku różnych ścieżek o różnych typach.
W pierwszej kolejności trzeba sfrezować wszystko od góry stocku do wysokości pilaru, w tym celu użyjemy narzędzia Face:
{F56331}
w pasku po prawej ustawiamy:
(na pierwszej zakładce)
- narzędzie
- prędkość przesuwu
(na drugiej zakładce)
nie wybieramy powierzchni do czyszczenia - program domyślnie weżmie rozmiar stocku:
{F56341}
(na trzeciej zakładce)
- clearance height: wysokość na którą frez się wysunie żeby być bezpieczny
- retract height - wysokość na pewno powyżej elementu w którym frezujemy
- feed height - wysokość na którzej narzędzie przechodzi w tryb wprowadzania w materiał
- top height - górna wysokość frezowania
- bottom height - dolna wysokość frezowania
W przypadku tego elementu chcemy frezować od stock top do model top:
{F56345}
(na czwartej zakładce)
- wybieramy Multiple depths - o ile na raz będzie się frez wsuwał na raz w materiał. zalecam użycie finishing stepdowns o mniejszym przesunięciu
{F56337}
Po naciśnięciu OK wygenerują się pathy:
{F56343}
Następnie generujemy wycinanie dookoła głównego pilaru.
Narzędzie 2D Pocket:
{F56335}
{F56333}
{F56339}
Kolejny path - wycinanie otworów:
{F56347}
{F56349}
{F56351}
(ważne by ustawić Stock to Leave na 0 żeby mógł wygenerować wejście w materiał prosto w dół).
Dobrze zobaczyć sobie symulacje działania narzędzia:
{F56353}
{F56355}
Ostatni toolpath - obrys dookoła całego elementu:
{F56357}
7) wygenerowanie pliku NC do frezarki - wybieramy smoothie:
{F56359}
{F161127}
(naciskamy POST)
Plik został wygenerowany i zapisany.
8) uruchamiany program CNCJS
9) uruchamiamy maszynę
10) home'ing osi (X na lewo, Y do siebie, Z do góry) - Home X, Home Y, Home Z
11) ustawienie na górze elementu w którym frezujemy, na środku - zrobienie Touch Off na wszystkich osiach
12) klikamy play i patrzymy co się dzieje.
13) warto mieć odkurzacz :)
fotki z frezowania tego:
czyszczenie góry:
{F56365}
frezowanie dookoła pilaru:
{F56367}
wykonanie otworów:
{F56369}
wycinanie obrysu elementu:
{F56371}
{F56373}
====FreeCad - generowanie toolpathów====
Materiał przygotowano używając następującej wersji:
Version: 0.19.24291 (Git)
Python version: 3.9.5
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
# Stworzenie bryły testowej do frezowania podobnej do tej z Fusiona
- Tworzymy nowy model File->New
{F308653}
- Na górnym pasku wybieramy Part Design
- Create Body
- Create Sketch
- Wybieramy np XY_plane
{F308655}
- Na górnym pasku zmieniamy tryb na sketcher
- Wybieramy Create a rectangle i rysujemy prostokąt
{F308657}
{F308659}
- Następnie tworzymy bryłę wracając do trybu Part Design i klikając Pad a selected sketch wpisując wysokość np. 5mm
{F308661}
{F308663}
- Następnie na tym elemencie narysujemy walec. Najpierw należy zaznaczyć powierzchnię
{F308665}
- Po lewej kliknąć Create Sketch
{F308667}
- Program automatycznie przełączył się na Sketchera, wybrać Create a Circle i narysować gdzieś na środku okrąg
{F308669}
{F308671}
- Efekt po kliknięciu close po lewej i program wrócił do Part Design
{F308673}
- Klikamy po lewej pad, co tworzy walec, wpisując wysokośc np 20mm
{F308675}
- Następnie można stworzyć otwory na krawędziach zaznaczając powierzchnię
{F308677}
- Robiąc sketch
{F308679}
- Rysując mniej więcej otwory
{F308681}
- Zrobić wymiarowanie klikając Constrain na pasku dla łóków i okręgów np na 3mm
{F308683}
{F308685}
- Zrobić dodatkowe constrain tak aby środki otworów były 5mm od krawędzi. Zrobiłem to byle jak, tu pozostawiam inwencję twórzą.
{F309299}
-Następnie klikając close wracamy do Part Design
{F309302}
Można sobie zaznaczyć Sketch002 jeśli się odznaczył
{F309304}
-Z lewej w Sketch Tools wybieramy przycisk Hole, co robi otwory we wcześniej narysowanych miejscach
{F309307}
- Tworzymy sketch na płaszczyźnie walca aby zrobić tam wewnętrzny cylinder
{F309309}
- Rysujemy okrąg o średnicy 3mm na środku i wymiarujemy
-Narysowac otwór 5mm w środku walca
{F309312}
Założyłem constrainy na środek płyty wyszło nie równo więc przesunąłem walec na środek używając constrainów
{F309314}
{F309316}
-Zaznaczamy okrąg a następnie klilamy Pocket i wpisujemy np:10mm
{F309318}
{F309320}
{F309322}
Model jest skończony i można go teraz użyć do frezowania.
Można go również pobrać tutaj: {F309325}
# Przygotowanie ścieżki frezowania
- Należy wybrać z górnego paska Path uaktywaniając w ten sposób Path Workbench.
Do którego instrukcję można znaleźć na stronie: https://wiki.freecadweb.org/Path_Workbench
{F309969}
- Tworzymy nową ścieżkę obróki klikając: Creates Path Job Object w lewej cześci paska narzędzi w górnej części
{F309971}
Pojawia się okno w którym klikamy ok, które tworzy będzie frezowanie dla Body 1
{F309973}
- Po lewej pojawiło się okno Job Edit z aktywną zakładką Setup. Służy ono do definicji bryły
z której będziemy frezować. Domyślnie wybrana jest bryła otaczająca obiekt z 1mm nadmiarem materiału.
{F309975}
W zakładce Tools jest domyslne narzędzie, którego nie trzeba ruszać.
{F309985}
W zakładce general można nadawać nazwe dla tworzonej ścieżki. Tutaj zmieniono nazwę na frezowanie.
{F309981}
W zakładce Output należy wybrać co będzie przetwarzało, wyjściowy gcode.
W tej sytuacji nalezy w polu Processor wybrać linuxcnc.
{F309983}
Następnie można kliknąć ok.
Po lewej pojawiła się w drzewie projektu nowo utworzona ścieżka.
{F309987}
- Rozwijając z drzewa Tools narzędzie, a następnie domyślne TC klikamy Endmill.
Można tutaj wprowadzić wymiary dostępnego narzędzia jak na screenie.
Cutting Edge Height- wysokość ostrza np: 6mm
Diameter: Średnica ostrza np:1mm
Lenght- długość całego freza np:38mm
Shank Diameter: Średnica mocowania np 3.17mm
{F309992}
Po czym klikamy ok.
- Wybranie powierzchni do frezowania
===== Electronics =====
==== SmoothieBoard ====
SmoothieBoard, 4-axis beta/legacy version from outer space/nowhere.
NXP LPC 1769 32-bits Cortex-M3 MCU + Allegro A4982 stepper drivers.
Pinout:
{F83314} {F83313}
Docs:
https://web.archive.org/web/20161116060524/http://smoothieware.org/smoothieboard-beta
==== JP-382A Motor Controller pinout ====
This board has been replaced with Smoothieboard.
==== JP-1482 Spindle Controller pinout ====
Not marked on PCB. See [[https://hackaday.io/project/6776-3040-cnc-milling-machine-mods/log/21618-jp-1482-spindle-controller-schematic]] for any reference.
==== Lokalizacja ====
W pokoju magazynek, po lewej stronie od wejścia
==== Dodatkowy sprzęt ====
Opakowanie z frezami, koletami (collet) i inne przydatne rzeczy - w pudełku z naklejką CNC wśród osobistych pudełek na półce. W tym momencie na dolnej półce, drugie od lewej, zaraz przy frezarce.
Niektóre frezy w tym pudełku mają niebieskie czapeczki - to ze względu na ich znaczną ostrość. Należy się z nimi obchodzić ostrożnie, chyba że ktoś chce mieć stygmaty.
==== Jak ====
Narzędzie wymaga wiedzy jak się nim obsłużyć. Ten opis, tworzony przez osoby które jeszcze **nie** potrafią używać tego urządzenia nie wystarczy, choć może pomóc. Znajdź osobę która to narzędzie umie używać jeśli ty jeszcze nie potrafisz.
Do pułapek należy: urządzenie nie ma zabezpieczenia przed wyjechaniem poza obszar bezpiecznej pracy. Nie jest jasne co się wtedy stanie, być może można w ten sposób zostać fundatorem nowej frezarki.
Szykujemy plik .ngc (jeśli mamy plik .nc to może wystarczyć zmiana rozszerzenia na .ngc)
Szykujemy sobie odkurzacz
(tu był nieaktualny fragment opisu)
W czasie cięcia odkurzamy
==== Konfiguracja smoothieboard ====
Po każdej zmianie w config.txt trzeba odmontować dysk i fizycznie odłączyć USB ze smoothie ORAZ wyłączyć zasilanie sterownika CNC, inaczej nie złapie konfiguracji
Aktualny config frezarki:
{F1064382}
==== Smoothieboard wiring diagram ====
{F593286}
do szukania: //instrukcja, instrukcia, manual, manuals, інструкції, інструкція, инструкции, инструкция, чпк, фрезерний, верстат, станок, чпу, фрезерный//
===== CNC 3040T =====
== Układy odniesienia==
W tej maszynie mówimy o dwóch układach współrzędnych:
- układ maszyny - odpowiada za globalne ustawienie pozycji i nie pozwolenie aby maszyna wyjechała poza swoje limity (poza zakresy ruchu osi).
Układ maszyny ustawia (Home'uje) się raz przy starcie zasilania i nie rusza w trakcie pracy, nie jest on związany z frezowanym obiektem (materiałem) - a tylko z maszyną.
Dopuszczalny zakres ruchów maszyny: X: 0 - 300 mm, Y: 0 - 400 mm, Z: 0 - 50 mm względem układu maszyny.
Do poruszania się w układzie maszyny służy kod G53. Np: G53 G0 X0 przezunie oś X do pozycji zerowej maszyny.
- układ lokalny(G54) - w stosunku do niego odbywa się praca maszyny (frezowanie).
W programie do generacji GCODE ustawiamy lokalny układ w określonym punkcie elementu który chcemy wykonać. Ruchy wykonywane podczas pracy odnoszą się do lokalnego układu, mogą zmieniać się dowolnie na wszystkich osiach (w ramach limitu maszyny).
W celu ustawienia tego układu dochodzimy do pozycji gdzie chemy ustawić zero lokalnego i dla każdej osi wybieramy Touch off.
Wybór układu współrzędnych wybieramy komendami G54,G55,G56 itd.. Ale nam wystarczy jeden. Wpisanie kodu G54 jest zapamiętywane i każda następna linia jest wykonywana w tym układzie odniesienia.
=== Skrócona instrukcja ustawiania układów odniesienia ===
Maszyna nie jest wyposażona w endstopy, więc nie potrafi samodzielnie wyzerować układu odniesienia maszyny. Trzeba jej w tym pomóc wykonując następujące kroki:
# Odblokowujemy maszynę (Toggle machine power, F2).
# W trybie manual control (F3) wyjeżdżamy poza spoil board (ten przykręcony HDF), w "lewy dolny róg" (2, 4 na klawiaturze numerycznej)
# Przesuwamy się na samą górę maszyny (tuż przed samym ograniczeniem mechanicznym)
# Zerujemy osie X, Y, Z, ustawiając tym samym natywny układ współrzędnych maszyny.
Następnie tTrzeba ustawić układ odniesienia G54 w którym będziemy pracować. Trzeba wybrać punkt współrzędnych (0, 0, 0) układu lokalnego (nie trzeba wszystkich osi na raz ustawiać). Dobór punktu zerowego lokalnego układu zależy od wygenerowanego GCODE, często reguluje się tak żeby punkt X, Y był dobrze zdefiniowany (jakiś róg) a Z był na powierzchni.
Ustawienie X, Y:
# Podnosimy wrzeciono do góry# Dojeżdżamy do miejsca ustawianego na (0, tak żeby narzędzie było dobrze ponad materiałem.
# Dojeżdżamy do miejsca nad materiałem gdzie będziemy chcieli frezować.0, 0)
# Używamy opcji "Touch Off" w osiach X i Y, ustawiając układ współrzędnych G54 w tych osiach na 0.0.# klikamy w:
# Przyszły punkt (0,0 - machining origin) naszego gcode'u powinien zostać teraz przesunięty w miejsce, gdzie aktualnie znajduje się frezarka.{F161125}
Ustawienie Z można wykonać ręcznie lub semi-automatycznie z użyciem precyzyjnego przyrządu pomiarowego ™Zarówno układ współrzędnych zadania jak i natywny układ maszyny powinien teraz mieć wystarczająco dużo sensu., ale powinniśmy to organoleptycznie zweryfikować po załadowaniu swojego gcode'u.
Ustawienie Z ręczne:waga: polecenia G0, G1, itp. zarówno w trybie bezwzględnym (G90) jak i względnym (G91) działają w aktualnie wybranym układzie odniesienia (dla nas będzie to G54).
# ustawiamy ręcznie (PgUp, PgDown) oś Z na równo z powierzchnią frezowania (lub znaną wysokość)Do poruszania się w układzie odniesienia maszyny służy polecenie G53.
=== Podczas frezowania: ===
# wciskamy "Touch Off" w osi Z - wpisujemy wykość nad punktem zerowym (jak jest na równo to zostawiamy 0).- jak chcemy ustawić feedrate override: `M220 S<procenty>`
Ustawienie Z automatyczne:
# Przesuwamy wrzeciono wyżej==== Jeżeli wystąpi spontaniczny e-stop (alarm) ====
Nie należy kontynuować pracy poprzez wciśnięcie przycisku "play" w CNCjs. Frezarka pominie kilka kroków operacji i zacznie pracę **gdzieś**. Będzie to oznaczać, że prawie na pewno pójdzie w jakieś ~losowe miejsce, w linii prostej, bez poszanowania dla zasad i materiału, ze sporym prawdopodobieństwem uszkodzenia tego, kładziemy nasz precyzyjny obiekt pomiarowy na materialeco frezujesz, a krokodylek przypinamy do frezu.a być może nawet frezu lub **maszyny**!
Co należy zrobić:
# W trybie MDI (F5) wykonujemy "straight probe" narzędziem wykonując następujący gcode: "G38.2 Z0 F100" - wrzeciono przesunie się w dół z prędkością 100mm/min- Wyjść z materiału pionowo w górę - upewnić się, że krok jest dość niewielki, jadąc od aktualnego położenia do zerżeby nie uderzyć o górę posuwu wrzeciona i zatrzyma się po zetknięciu.wyjść nad materiał przyciskiem Z+
# Wracamy do manual control, używamy opcji "Touch Off" w osi Z, ustawiając układ współrzędnych G54 na 19.96 (grubość naszego precyzyjnego 20 mm obiektu pomiarowego) + grubość materiału (tj. ustawiony w CAMie stock surface, tak może to być 0 jeżeli ustawiliśmy że frezujemy na ujemną głębokość) w którym frezujemy.- Wrócić do zera pracy - przyciskiem X0/Y0
# Wyjeżdżamy do góry, usuwamy precyzyjny obiekt pomiarowy ™.- Rozpocząć operację od nowa
Zarówno układ współrzędnych zadania jak i natywny układ maszyny powinien teraz mieć wystarczająco dużo sensu.Jeżeli nie stworzy to ryzyka przejścia przez dużą ilość materiału można zmodyfikować operację tak, żeby np. zaczynała niżej co oszczędzi czas na bieganie w powietrzu, natomiast ze względu na to jak operuje fusion, ale powinniśmy to organoleptycznie zweryfikować po załadowaniu swojego gcode'u.
Uwaga: polecenia G0górę obróbki należy ustawić jeden krok wyżej niż to na czym zatrzymała się praca.
Teoretycznie rozwiązaliśmy problem spontanicznych alarmów, G1jednak maszyna jest wrażliwa i zawsze istnieje ryzyko, itp.że problem się pojawi (choć po testach spodziewam się, zarówno w trybie bezwzględnym (G90) jak i względnym (G91) działają w aktualnie wybranym układzie odniesienia (dla nas będzie to G54).
Do poruszania się w układzie odniesienia maszyny służy polecenie G53.że raczej nie, a na pewno ze znacznie mniejszą częstotliwością), więc warto mieć w głowie co się wtedy dzieje.
=== Technical parameters: ===
* voltage: 110V 60HZ for USA, Canada, Mexico, 220V 50HZ for EU countries and other countries
* Effective working travel: 275(X)mm*385(Y)mm*60(Z)mm
* Shape dimension: 610x480*400mm
* Max.workpiece dimension: 70mm
* Work table dimension: 320mm*530mm ( 12.60''*20.87'')
* Carving deepth: 55mm (2.17'')
* Frame materials: Aluminum alloy 6063 and 6061
* Leadscrew: 1204 double thread Trapezoidal screws
* Driving units X axis: 1204 trapezoidal screws about length:540mm diameter:12mm
* Driving units Y axis: 1204 trapezoidal screws about length:418mm diameter:12mm
* Driving units Z axis: 1204 trapezoidal screws about length:145mm diameter:12mm
* Sliding units X axis: Dia.16mm chrome plate shafts
* Sliding units Y axis: Dia.16mm chrome plate shafts
* Sliding units Z axis: Dia.12mm chrome plate shafts
* Stepping motor type: 57 two-phase 1.8A
* Spindle motor: 300w DC motor
* Motor speed : 500~8000RPM/Min
* Principal axis collet: ER11 /3.175 mm
* Repeat accuracy: 0.05mm
* Spindle precision: Radial beat acuities 0.03 mm
* Control unit: Triaxial one-piece drive + ring variable power + PWM speed
* Carving Instructions: G-code/.tab /.nc / .ncc/.txt
* Communication interface: Through parallel connection with desktop computer and USB connection with both desktop computer and also laptop computer.
* Software environment: Windows 2000 / xp / Win7 32bit USB (GRBL-compatible) / Ethernet (no idea)
* soft ware: mach 3 and USB softwareCNCJS
* Maximum speed: 0-4000mm/min
* Carving speed: 300-2500mm/min (different materials differ)
* Machine weight: 28KG
===== Safety =====
Emergency stop is software controlled.
===== Software ========= Fusion360 - generacja toolpathów ====
1) przygotowanie modelu - załóżmy że chcemy taki model wykonać w bloku drewna:
{F56311}
Model rysujemy we fusion360.
2) przygotowanie frezarki:
- zamocowanie odpowiedniego frezu (w tym przykładzie frez płaski 1.75mm)
- zamocowanie bloku drewna do stołu frezarki:
{F56313}
3) wybieramy tryb Manufacture:
{F56315}
3) ustawienie narzędzia we fusion360:
{F56317}
dodajemy nowe narzędzie:
{F56319}
Nadajemy nazwę.
Przykładowe wymiary dla frezu 3.175 mm do drewna (płaskiego):
{F56321}
4) dodajemy nowy setup
(setup to zamocowanie elementu w którym frezujemy do stołu roboczego, wybór frezu itp - używamy tylko jednego)
{F56325}
W tym momencie określamy rozmiar Stock Boxu (zakładka Stock).
Określamy wymiary elementu który frezujemy i dobieramy offsety tak żeby pokryć stock boxem cały materiał w którym będziemy frezować.
Mierzymy blok drewniany w którym frezujemy. Wymiary elementu: 25 x 40 x 18.5mm, a wymiary bloku drewnianego 39 x 100 x 25 mm.
Wyliczamy offsety od każdego boku elementu i wpisujemy odpowiednie tak żeby wymiary stocku się zgadzały (lub były większe od elementu).
{F56327}
5) wybieramy punkt zerowy lokalnego układu współrzędnych (WCS - Work Coordinate System) - w którym będzie robiony Touch Off maszyny.
W tym przypadku ustawienie WCS jest na środku elementu na górze:
{F56329}
6) Przechodzimy do generowania pathów dla narzędzia.
Każdy element musi być tworzony z kilku różnych ścieżek o różnych typach.
W pierwszej kolejności trzeba sfrezować wszystko od góry stocku do wysokości pilaru, w tym celu użyjemy narzędzia Face:
{F56331}
w pasku po prawej ustawiamy:
(na pierwszej zakładce)
- narzędzie
- prędkość przesuwu
(na drugiej zakładce)
nie wybieramy powierzchni do czyszczenia - program domyślnie weżmie rozmiar stocku:
{F56341}
(na trzeciej zakładce)
- clearance height: wysokość na którą frez się wysunie żeby być bezpieczny
- retract height - wysokość na pewno powyżej elementu w którym frezujemy
- feed height - wysokość na którzej narzędzie przechodzi w tryb wprowadzania w materiał
- top height - górna wysokość frezowania
- bottom height - dolna wysokość frezowania
W przypadku tego elementu chcemy frezować od stock top do model top:
{F56345}
(na czwartej zakładce)
- wybieramy Multiple depths - o ile na raz będzie się frez wsuwał na raz w materiał. zalecam użycie finishing stepdowns o mniejszym przesunięciu
{F56337}
Po naciśnięciu OK wygenerują się pathy:
{F56343}
Następnie generujemy wycinanie dookoła głównego pilaru.
Narzędzie 2D Pocket:
==== LinuxCNC configuration ===={F56335}
{F56333}
[[https://github.com/HackerspaceKRK/linuxcnc-config]]{F56339}
==== Fake PlanetCNC USB adapter ====Kolejny path - wycinanie otworów:
{F56347}
{F56349}
{F56351}
Counterfeit CNC USB MK1 controller. Actually, USB fronting part of it (PIC18F4550).(ważne by ustawić Stock to Leave na 0 żeby mógł wygenerować wejście w materiał prosto w dół).
Dobrze zobaczyć sobie symulacje działania narzędzia:
Works with quite powerfull PlanetCNC's software, which is free to use with controllers that have valid license.{F56353}
Please do not use it if you can.{F56355}
===== Electronics =====Ostatni toolpath - obrys dookoła całego elementu:
{F56357}
7) wygenerowanie pliku NC do frezarki - wybieramy smoothie:
{F56359}
{F161127}
(naciskamy POST)
Plik został wygenerowany i zapisany.
==== JP-382A Motor Controller pinout ====8) uruchamiany program CNCJS
Up to down, left to right:9) uruchamiamy maszynę
* X-axis10) home'ing osi (X na lewo, Y do siebie, Z do góry) - Home X, Home Y, Home Z
11) ustawienie na górze elementu w którym frezujemy, na środku - zrobienie Touch Off na wszystkich osiach
12) klikamy play i patrzymy co się dzieje.
13) warto mieć odkurzacz :)
fotki z frezowania tego:
czyszczenie góry:
{F56365}
frezowanie dookoła pilaru:
{F56367}
wykonanie otworów:
{F56369}
wycinanie obrysu elementu:
{F56371}
{F56373}
====FreeCad - generowanie toolpathów====
Materiał przygotowano używając następującej wersji:
Version: 0.19.24291 (Git)
Python version: 3.9.5
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
* Y-axis# Stworzenie bryły testowej do frezowania podobnej do tej z Fusiona
- Tworzymy nowy model File->New
{F308653}
- Na górnym pasku wybieramy Part Design
- Create Body
- Create Sketch
- Wybieramy np XY_plane
{F308655}
- Na górnym pasku zmieniamy tryb na sketcher
- Wybieramy Create a rectangle i rysujemy prostokąt
{F308657}
{F308659}
- Następnie tworzymy bryłę wracając do trybu Part Design i klikając Pad a selected sketch wpisując wysokość np. 5mm
{F308661}
{F308663}
* Z-axis- Następnie na tym elemencie narysujemy walec. Najpierw należy zaznaczyć powierzchnię
{F308665}
* A-axis- Po lewej kliknąć Create Sketch
{F308667}
* probe (barrel jack)- Program automatycznie przełączył się na Sketchera, wybrać Create a Circle i narysować gdzieś na środku okrąg
{F308669}
{F308671}
* +24V- Efekt po kliknięciu close po lewej i program wrócił do Part Design
{F308673}
- Klikamy po lewej pad, co tworzy walec, wpisując wysokośc np 20mm
{F308675}
- Następnie można stworzyć otwory na krawędziach zaznaczając powierzchnię
{F308677}
- Robiąc sketch
{F308679}
- Rysując mniej więcej otwory
{F308681}
- Zrobić wymiarowanie klikając Constrain na pasku dla łóków i okręgów np na 3mm
{F308683}
{F308685}
- Zrobić dodatkowe constrain tak aby środki otworów były 5mm od krawędzi. Zrobiłem to byle jak, tu pozostawiam inwencję twórzą.
{F309299}
-Następnie klikając close wracamy do Part Design
{F309302}
Można sobie zaznaczyć Sketch002 jeśli się odznaczył
{F309304}
-Z lewej w Sketch Tools wybieramy przycisk Hole, co robi otwory we wcześniej narysowanych miejscach
{F309307}
- Tworzymy sketch na płaszczyźnie walca aby zrobić tam wewnętrzny cylinder
{F309309}
- Rysujemy okrąg o średnicy 3mm na środku i wymiarujemy
-Narysowac otwór 5mm w środku walca
{F309312}
Założyłem constrainy na środek płyty wyszło nie równo więc przesunąłem walec na środek używając constrainów
{F309314}
{F309316}
-Zaznaczamy okrąg a następnie klilamy Pocket i wpisujemy np:10mm
{F309318}
{F309320}
{F309322}
Model jest skończony i można go teraz użyć do frezowania.
Można go również pobrać tutaj: {F309325}
* PWM-OUT# Przygotowanie ścieżki frezowania
- Należy wybrać z górnego paska Path uaktywaniając w ten sposób Path Workbench.
Do którego instrukcję można znaleźć na stronie: https://wiki.freecadweb.org/Path_Workbench
{F309969}
* X/Y/Z/G (end stops?)- Tworzymy nową ścieżkę obróki klikając: Creates Path Job Object w lewej cześci paska narzędzi w górnej części
{F309971}
Pojawia się okno w którym klikamy ok, które tworzy będzie frezowanie dla Body 1
{F309973}
* E-stop
==== JP-1482 Spindle Controller pinout ====- Po lewej pojawiło się okno Job Edit z aktywną zakładką Setup. Służy ono do definicji bryły
Not marked on PCB.z której będziemy frezować. Domyślnie wybrana jest bryła otaczająca obiekt z 1mm nadmiarem materiału.
{F309975}
W zakładce Tools jest domyslne narzędzie, See [[https://hackaday.io/project/6776-3040-cnc-milling-machine-mods/log/21618-jp-1482-spindle-controller-schematic]] for any reference.którego nie trzeba ruszać.
{F309985}
==== DB25 pin functions ====W zakładce general można nadawać nazwe dla tworzonej ścieżki. Tutaj zmieniono nazwę na frezowanie.
{F309981}
W zakładce Output należy wybrać co będzie przetwarzało, wyjściowy gcode.
W tej sytuacji nalezy w polu Processor wybrać linuxcnc.
{F309983}
Następnie można kliknąć ok.
| Function | DB25 pin | Notes |Po lewej pojawiła się w drzewie projektu nowo utworzona ścieżka.
| X step | 2 | |{F309987}
| X dir | 3 | | - Rozwijając z drzewa Tools narzędzie, a następnie domyślne TC klikamy Endmill.
Można tutaj wprowadzić wymiary dostępnego narzędzia jak na screenie.
Cutting Edge Height- wysokość ostrza np: 6mm
Diameter: Średnica ostrza np:1mm
| Y step | 4 | |Lenght- długość całego freza np:38mm
| Y dir | 5 | |Shank Diameter: Średnica mocowania np 3.17mm
{F309992}
Po czym klikamy ok.
- Wybranie powierzchni do frezowania
===== Electronics =====
==== SmoothieBoard ====
| Z step | 6 | |SmoothieBoard, 4-axis beta/legacy version from outer space/nowhere.
| Z dir | 7 | |NXP LPC 1769 32-bits Cortex-M3 MCU + Allegro A4982 stepper drivers.
Pinout:
| A step | 8 | not used |{F83314} {F83313}
Docs:
| A dir | 9 | not used |https://web.archive.org/web/20161116060524/http://smoothieware.org/smoothieboard-beta
==== JP-382A Motor Controller pinout ====
This board has been replaced with Smoothieboard.
==== JP-1482 Spindle Controller pinout ====
Not marked on PCB. See [[https://hackaday.io/project/6776-3040-cnc-milling-machine-mods/log/21618-jp-1482-spindle-controller-schematic]] for any reference.
==== Lokalizacja ====
W pokoju magazynek, po lewej stronie od wejścia
==== Dodatkowy sprzęt ====
Komputer do obsługi CNC - ma naklejkę CNC, stoi na podłodze pod frezarką.
Opakowanie z frezami, koletami (collet) i inne przydatne rzeczy - w pudełku z naklejką CNC wśród osobistych pudełek na półce. W tym momencie na dolnej półce, drugie od lewej, zaraz przy frezarce.
Niektóre frezy w tym pudełku mają niebieskie czapeczki - to ze względu na ich znaczną ostrość. Należy się z nimi obchodzić ostrożnie, chyba że ktoś chce mieć stygmaty.
==== Jak ====
Narzędzie wymaga wiedzy jak się nim obsłużyć. Ten opis, tworzony przez osoby które jeszcze **nie** potrafią używać tego urządzenia nie wystarczy, choć może pomóc. Znajdź osobę która to narzędzie umie używać jeśli ty jeszcze nie potrafisz.
Do pułapek należy: urządzenie nie ma zabezpieczenia przed wyjechaniem poza obszar bezpiecznej pracy. Nie jest jasne co się wtedy stanie, być może można w ten sposób zostać fundatorem nowej frezarki.
Szykujemy plik .ngc (jeśli mamy plik .nc to może wystarczyć zmiana rozszerzenia na .ngc)
Szykujemy sobie odkuzrzacz
Włączamy komputer(tu był nieaktualny fragment opisu)
Włączamy program Axis
Podłączamy się do frezarki (pomarańczowy przycisk "toggle machine power")
Ustawić ręcznie na punkt startowy (home axis) - strzałkami + 9/3 czasie cięcia odkurzamy
==== Konfiguracja smoothieboard ====
- przy zbliżaniu się do powierzchni przedmiotu włączyć wiertło (zielony przycisk "spindle" na frezarce) i spowolnić zbliżanie się (jog speed w suwakach na dole) -** do jakiej prędkości zwolnić?Po każdej zmianie w config.txt trzeba odmontować dysk i fizycznie odłączyć USB ze smoothie ORAZ wyłączyć zasilanie sterownika CNC, 100mm/min?**inaczej nie złapie konfiguracji
Aktualny config frezarki:
Kliknąć przycisk "home axis" by ustawić aktualną pozycję wiertła jako pozycję startową{F1064382}
==== Smoothieboard wiring diagram ====
Frezowanie rozpoczynamy przez naciśnięcie przycisku play (niebieski trójkąt "begin executing current file"){F593286}
W czasie cięcia odkurzamydo szukania: //instrukcja, instrukcia, manual, manuals, інструкції, інструкція, инструкции, инструкция, чпк, фрезерний, верстат, станок, чпу, фрезерный//