Ploter CNC - przykłady G-Code


Tomasz Bartuś



2017-02-25
Prosta maszyna CNC - przykłady G-Code

Materiały, które posłużyły do budowy plotera, pochodziły z rożnych typów cd/dvd. Użyte silniki krokowe cechowały się w związku z tym zróżnicowanymi parametrami. Niestety w żadnym z silników nie udało się odczytać specyfikacji czy nawet typu. Znalezione w sieci informacje o typowych parametrach silników krokowych z napędów cd/dvd (20 kroków/obrót, 3mm/obrót, 150um/krok) okazały się być nieodpowiednie dla posiadanych motorów. W tej sytuacji jedynym sposobem na poprawne skonfigurowanie maszyny, pozostały testy i empiryczne rozpoznanie ilości kroków potrzebnych do wygenerowania przez silniki, aby przesunąć odpowiednie osie o 1mm ($100, $101 i $102 zob.: Ploter CNC - oprogramowanie/konfiguracja).

Konfiguracja liczby kroków potrzebnych dla przesuwu osi silników o 1 mm, wymagała wygenerowania kodów grbl służących do narysowania linii (wzdłuż osi OX bądź OY) o określonej długości, kontroli tej długości za pomocą linijki i korygowaniu odpowiednich ustawień $100 bądź $101. Linia powinna być możliwie długa aby lepiej odzwierciedlała zmiany konfigurowanych parametrów. Pole robocze plotera wynosi ok. 40×40mm, dlatego "bezpieczna" programowana długość linii może mieć około 30mm.

Wykorzystywane polecenia

(na podstawie http://www.ottop.republika.pl/gcode.shtml i innych dostępnych materiałów)

G17 - Ustawienie płaszczyzny XY jako aktywnej. Niezbędne dla interpolacji kołowej.
G21 - Wszystkie dane wymiarowe jak i wartości F podawane są odpowiednio w mm lub mm/min
G90 - pozycjonowanie bezwzględne
G94 - programowanie prędkości posuwu w [mm/min]
G54 - Przesunięcie punktu zerowego maszyny l
G00 - Funkcja ruchu ustawczego (pozycjonowania). Wywołuje ruch do wskazanego punktu z maksymalną prędkością, określoną w ustawieniach Grml. Współrzędne X,Y,Z,A,B,C określają punkt końcowy ruchu. Nie należy wykorzystywać tej funkcji w trakcie obróbki materiału.

G01 - Ruch roboczy z ustalonym posuwem F. Efektem wywołania funkcji jest ruch liniowy do wskazanego punktu z określoną prędkością (nie większą niż maksymalna maszyny). Jeśli przed wywołaniem tej funkcji wykonano G16, składnia funkcji jest ograniczona do postaci G1 X Y, gdzie X jest promieniem mierzony od punktu początku układu a Y jest wartością kąta.

G02 - Funkcja łuku, okręgu. Programuje ruch wzdłuż łuku w kierunku zgodnym z ruchem wskazówek zegara, w płaszczyźnie określonej przez funkcje G17(X,Y), G18(Z,X) lub G19(Y,Z). Efektem wywołania funkcji jest ruch po wycinku okręgu o poronieniu R łączącym punkt początkowy z punktem o wsp. X,Y,Z. Promień można zdefiniować jako wartość R lub pośrednio za pomocą współrzędnych I,J i K. Wartości I,J,K określają współrzędne środka okręgu względem punktu początkowego. IJK definiują odległość początka łuku od środka łuku. Szczegóły koniguracji polecenia zawiera tutorial.

Linie testowe
 

Linia wzdłuż osi 0X: Za pomoca polecenia O100 deklarujemy tytuł skryptu. G21 ustala mm jako jednostki pomiarowe. Polecenie G90 ustala rodzaj użytego pozycjonowania jako bezwzgledne. G54 przesuwa punkt zerowy maszyny do aktualnie zajmowanej pozycji. W związku z nieznajomością ustawien silnika dla ozi 0Z, program wymaga opuszczenia wrzeciona rysującego do poziomu papieru. G00 wykonuje ruch przesówczy wrzeciona do pozycji roboczej (początkowej) oddalonej o -15mm od położenia wstępnego (0,0) (X-15 Y0.). Przed ruchem wrzeciono zostaje poniesione o 5mm w górę (Z5.). Po ustawieniu wrzeciona nad początkową pozycją roboczą, pisak zostaje opuszczony do wys. 1mm nad kartkę (Z1.). Ruch roboczy inicjuje polecenie G01. Wrzeciono zostaje opuszczone do poziomu kartki papieru (Z0.). Ustalona zostaje prędkość posówu (F5.). Linia będzie rysowana od prawej do lewej od pozycji (X=-15, Y=0) do pozycji (X=15, Y=0). Po zakończeniu rysowania linii, maszyna zostanie ponownie ustawiona w tryb przesówny (G00), wrzeciono zostanie podniesione do wysokości 5mm ponad kartke papieru, jednocześnie pisak zostanie przesunięty do położenia początkowego (X=0, Y=0). G-kod można testować z zastosowaniem symulatorów online - tu.


%
O100
G21 G90 G94 G54
G00 Z5.
X-15. Y0.
Z1.
G01 Z0. F5.
X15 Y0.
G00 X0. Y0. Z5.
%

Analogicznie tworzymy skrypt rysujący linię wzdłuż osi 0Y:


%
O100
G21 G90 G94 G54
G00 Z5.
X0. Y-15.
Z1.
G01 Z0. F5.
X0. Y15.0
G00 X0. Y0. Z5.
%

Kwadrat
 



Okrąg
 


G17 G21 G90 G94 G54
G0 Z0.25
X-0.5 Y0.
Z0.1
G01 Z0. F5.
G02 X0. Y0.5 I0.5 J0. F2.5
X0.5 Y0. I0. J-0.5
X0. Y-0.5 I-0.5 J0.
X-0.5 Y0. I0. J0.5
G01 Z0.1 F5.
G00 X0. Y0. Z0.25

Kwadrat z zaokrąglonymi narożami
 

G17 G21 G90
G0 X0.000 Y5.000
G1 X0.000 Y15.000 F150
G2 X5.000 Y20.000 I5.000 J0.000
G1 X15.000 Y20.000
G2 X20.000 Y15.000 I0.000 J-5.000
G1 X20.000 Y5.000
G2 X15.000 Y0.000 I-5.000 J0.000
G1 X5.000 Y0.000
G2 X0.000 Y5.000 I0.000 J5.000
G01 Z0.1 F5.
G00 X0. Y0. Z0.25

 
 

Doktorat

Spis treści
Rozdzialy
Abstrakt [pl]
Abstract [eng]