Page MenuHomePhabricator

CNC 3040T
Updated 146 Days AgoPublic

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:

  1. Dojeżdżamy do miejsca ustawianego na (0, 0, 0)
  2. klikamy w:

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>

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:


Model rysujemy we fusion360.

  1. przygotowanie frezarki:
    • zamocowanie odpowiedniego frezu (w tym przykładzie frez płaski 1.75mm)
    • zamocowanie bloku drewna do stołu frezarki:

  1. wybieramy tryb Manufacture:

  1. ustawienie narzędzia we fusion360:


dodajemy nowe narzędzie:

Nadajemy nazwę.
Przykładowe wymiary dla frezu 3.175 mm do drewna (płaskiego):

  1. dodajemy nowy setup

(setup to zamocowanie elementu w którym frezujemy do stołu roboczego, wybór frezu itp - używamy tylko jednego)


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).

  1. 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:

  1. 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:


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:


(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:


(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

Po naciśnięciu OK wygenerują się pathy:

Następnie generujemy wycinanie dookoła głównego pilaru.
Narzędzie 2D Pocket:



Kolejny path - wycinanie otworów:




(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:


Ostatni toolpath - obrys dookoła całego elementu:

  1. wygenerowanie pliku NC do frezarki - wybieramy smoothie:



(naciskamy POST)
Plik został wygenerowany i zapisany.

  1. uruchamiany program CNCJS
  2. uruchamiamy maszynę
  3. home'ing osi (X na lewo, Y do siebie, Z do góry) - Home X, Home Y, Home Z
  4. ustawienie na górze elementu w którym frezujemy, na środku - zrobienie Touch Off na wszystkich osiach
  5. klikamy play i patrzymy co się dzieje.
  6. warto mieć odkurzacz :)

fotki z frezowania tego:
czyszczenie góry:


frezowanie dookoła pilaru:

wykonanie otworów:

wycinanie obrysu elementu:

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

  1. Stworzenie bryły testowej do frezowania podobnej do tej z Fusiona
    • Tworzymy nowy model File->New

  • Na górnym pasku wybieramy Part Design
  • Create Body
  • Create Sketch
  • Wybieramy np XY_plane

  • Na górnym pasku zmieniamy tryb na sketcher
  • Wybieramy Create a rectangle i rysujemy prostokąt


  • Następnie tworzymy bryłę wracając do trybu Part Design i klikając Pad a selected sketch wpisując wysokość np. 5mm


  • Następnie na tym elemencie narysujemy walec. Najpierw należy zaznaczyć powierzchnię

  • Po lewej kliknąć Create Sketch

  • Program automatycznie przełączył się na Sketchera, wybrać Create a Circle i narysować gdzieś na środku okrąg


  • Efekt po kliknięciu close po lewej i program wrócił do Part Design

  • Klikamy po lewej pad, co tworzy walec, wpisując wysokośc np 20mm

  • Następnie można stworzyć otwory na krawędziach zaznaczając powierzchnię

  • Robiąc sketch

  • Rysując mniej więcej otwory

  • Zrobić wymiarowanie klikając Constrain na pasku dla łóków i okręgów np na 3mm


  • Zrobić dodatkowe constrain tak aby środki otworów były 5mm od krawędzi. Zrobiłem to byle jak, tu pozostawiam inwencję twórzą.


-Następnie klikając close wracamy do Part Design

Można sobie zaznaczyć Sketch002 jeśli się odznaczył

-Z lewej w Sketch Tools wybieramy przycisk Hole, co robi otwory we wcześniej narysowanych miejscach

  • Tworzymy sketch na płaszczyźnie walca aby zrobić tam wewnętrzny cylinder

  • Rysujemy okrąg o średnicy 3mm na środku i wymiarujemy

-Narysowac otwór 5mm w środku walca


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

-Zaznaczamy okrąg a następnie klilamy Pocket i wpisujemy np:10mm



Model jest skończony i można go teraz użyć do frezowania.
Można go również pobrać tutaj:

  1. 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

  • Tworzymy nową ścieżkę obróki klikając: Creates Path Job Object w lewej cześci paska narzędzi w górnej części


Pojawia się okno w którym klikamy ok, które tworzy będzie frezowanie dla Body 1

  • 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.


W zakładce Tools jest domyslne narzędzie, którego nie trzeba ruszać.

W zakładce general można nadawać nazwe dla tworzonej ścieżki. Tutaj zmieniono nazwę na frezowanie.


W zakładce Output należy wybrać co będzie przetwarzało, wyjściowy gcode.
W tej sytuacji nalezy w polu Processor wybrać linuxcnc.

Następnie można kliknąć ok.
Po lewej pojawiła się w drzewie projektu nowo utworzona ścieżka.

  • 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


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:

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

Smoothieboard wiring diagram

Last Author
canis_lupus
Last Edited
Nov 3 2023, 6:50 PM

Event Timeline

jkramarz edited the content of this document. (Show Details)
kogut edited the content of this document. (Show Details)
ggajoch edited the content of this document. (Show Details)
canis_lupus published a new version of this document.Nov 3 2023, 6:54 PM