Co to takiego?
G-code jest językiem programowania opartym na RS274, który jest używany przez maszyny takie jak drukarki 3D, maszyny CNC i grawerki laserowe. Zasadniczo, są to polecenia instruktażowe, które oprogramowanie sprzętowe drukarki interpretuje tak, aby drukarka mogła funkcjonować zgodnie z Twoimi oczekiwaniami. Litera “G” w G–Codzie jest jedną z liter poleceń z RS274, istnieją również inne kody literowe (“M”, “S” i inne). Jednakże, gdy ktoś mówi “G-code” w dzisiejszych czasach, zwykle odnosi się do języka RS274 jako całości.
Każda specyfikacja G-code jest zapisana za pomocą litery, po której następuje liczba, a każda kombinacja ma inną funkcję i cel. Na przykład, polecenie G0 mówi drukarce, aby poruszała się szybko, podczas gdy polecenie G1 służy do poruszania się w sposób kontrolowany.
Każda linia G-code może również zawierać wiele poleceń, a niektóre polecenia działają tylko z określonymi współrzędnymi, które następują po tym początkowym poleceniu. Na przykład, nie możesz po prostu użyć wejścia G0. Zamiast tego, musisz określić współrzędne, takie jak G0 X10 Y10, które mówią drukarce, aby szybko przesunąć się o 10 jednostek na osi X i Y. Dla odniesienia, każde zadanie drukowania lub obróbki może zawierać setki, jeśli nie tysiące linii G-kodu.
Jak już powiedzieliśmy, każde polecenie G-code służy innemu celowi i niektóre są używane do ruchu, podczas gdy inne są używane do ogrzewania, wstrzymywania i innych czynności. Polecenie G-code G28 jest przydatne, ponieważ przesuwa osie maszyny do ich prawdziwej pozycji zerowej. W tym artykule omówimy komendę G28, dowiemy się co robi i jak można jej używać na przykładach.
Jak używać polecenia G28?
Polecenie G28 domyka wszystkie różne osie ruchu maszyny, popychając wózki na osiach X, Y i Z do ich ograniczników krańcowych. Wyłącznik krańcowy na każdej osi jest urządzeniem czujnikowym, które sygnalizuje, kiedy koniec ścieżki na osi został osiągnięty.
Chociaż wiele maszyn CNC nie posiada wyłączników krańcowych, nadal reagują one na polecenie G28, ale pozycja wyjściowa jest tylko cyfrowo ustawioną lub wykonaną lokalizacją. Tak więc wysłanie polecenia G28 na maszynie CNC spowoduje sprowadzenie osi do ich ostatnio ustawionej lub zarejestrowanej pozycji wyjściowej.
Użycie komendy G-code jest bardzo proste! Wszystko, co musisz zrobić, to otworzyć terminal G-code, taki jak Pronterface lub ten zintegrowany z interfejsem użytkownika OctoPrint. Następnie wprowadź G28, a następnie konkretne osie, które mają być naprowadzane, a maszyna ustawi określone osie w pozycji wyjściowej. Stanie się to niezależnie od wszelkich krańcówek lub tymczasowych przesunięć roboczych, jak te ustawione przez polecenie G92.
W zasadzie, polecenie G28 jest po prostu skróconą formą G0 X0 Y0 Z0. Jeśli nie określisz, którą oś chcesz przemieścić (G28 X), to przemieści wszystkie osie. Tak więc, na przykład, G28 równałoby się G0 X0 Y0 Z0 i powiedziałoby drukarce, aby przesunęła się do tych współrzędnych, podczas gdy G28 X Z oznaczałoby G0 X0 Z0 (mówiąc drukarce, aby przesunęła osie X i Z do ich pozycji wyjściowych ).
Jeżeli używasz czujnika automatycznego poziomowania platformy (ABL), takiego jak BLTouch, czujnik ten służy jako ogranicznik końcowy. W przypadku użycia polecenia G28 z czujnikiem ABL, drukarka (jeżeli jej oprogramowanie sprzętowe jest prawidłowo skonfigurowane) przesunie oś Z w dół do momentu uruchomienia czujnika AB.
Kiedy go używać?
W przypadku druku 3D, w zasadzie każdy slicer będzie zawierał komendę G28 jako jedną z komend w skrypcie startowym G-code. Bez niej, musiałbyś ręcznie przesunąć głowicę drukującą do pozycji wyjściowej, tak jak musisz to zrobić na maszynie CNC, aby ustawić osie w pozycji wyjściowej.
Powinieneś użyć polecenia G28 przed każdym zadaniem drukowania, ponieważ chcesz, aby każda oś była na swojej prawdziwej pozycji wyjściowej, zanim drukarka zacznie czytać nowy skrypt G-code. Jeśli nie wyzerujesz swojej drukarki 3D przed użyciem, rozpocznie ona zadanie drukowania względem miejsca, w którym aktualnie się znajduje.
W związku z tym, polecenie G91 przełącza Twoją drukarkę w tryb pozycjonowania przyrostowego lub względnego, podczas gdy polecenie G90 ustawia Twoją maszynę w tryb pozycjonowania absolutnego (prawdziwego). Polecenia te są powszechnie używane przed wysłaniem polecenia G28 na maszynie bez ograniczników, aby ustawić każdą oś w jej pozycji wyjściowej.
Powiedzmy, że chcemy ustawić nową pozycję wyjściową na maszynie 3 mm powyżej miejsca, w którym znajduje się teraz głowica narzędzia. Moglibyśmy wysłać polecenie G91 G0 Z3, a następnie polecenie G28 X0 Y0 Z0, które powiedziałoby maszynie, aby przesunęła się do nowej pozycji, a następnie ustawiła ją jako pozycję wyjściową. Alternatywnie, możesz po prostu wysłać komendę G91 G28 X0 Y0 Z3, która łączy te dwie linie.
Ogólnie rzecz biorąc, polecenie G28 jest niezbędne dla każdej maszyny lub zadania drukowania, ponieważ pozwala ono maszynie znaleźć jej pozycję wyjściową i początkową. Polecenie G28 jest łatwe do wysłania i użycia, a specyfikacja współrzędnych nie jest wymagana, chyba że chcesz tylko home’ować niektóre osie. Ponadto, polecenie to nie jest ograniczone przez tymczasowe przesunięcia robocze i można nawet użyć polecenia G28 na maszynach bez ograniczników końcowych.
Częste problemy
Chociaż nie ma zbyt wielu problemów z komendą G28, możesz mieć pewne kłopoty z jej użyciem. Poniżej znajdują się najczęstsze problemy i ich rozwiązania, których możesz użyć, aby polecenie G28 działało prawidłowo:
- Utracone wartości poziomowania: Jeśli wartości poziomowania nie są stosowane do wydruków, należy zmienić firmware. Wystarczy dodać polecenie M420 S po każdym wystąpieniu polecenia G28 lub, w przypadku oprogramowania układowego firmy Marlin, można użyć polecenia RESTORE_LEVELING_AFTER_G28.
- Rozmieszczanie styków czujnika ABL: Jeden z użytkowników wspomniał, że w jego drukarce z dwoma ogranicznikami na osi Z czujnik rozmieszczał się po wysłaniu polecenia G28. W odpowiedzi, programista oprogramowania układowego Marlin zalecił podłączenie czujnika ABL do pinu, który nie jest Z_Min_PIN, włączenie Z_MIN_PROBE_ENDSTOP i wyłączenie Z_MIN_PRBE_USES_Z_MIN_ENDSTOP_PIN w oprogramowaniu układowym Marlin.
Żródło: https://all3dp.com