Komenda G28 odpowiada za homowanie osi, czyli ustawienie drukarki 3D w znanym punkcie odniesienia przed ruchem i drukiem. Bez tego sterownik nie wie dokładnie, gdzie znajduje się głowica lub stół, a pierwsza warstwa zaczyna zależeć od przypadku. Poniżej wyjaśniam, jak działa homowanie, jak slicer wplata je do startowego G-code, kiedy trzeba uważać na poziomowanie stołu i jak rozpoznać, że problem leży już w serwisie, a nie w samym pliku.
Najważniejsze zasady działania homowania osi
- G28 ustawia osie w pozycji bazowej na krańcówkach lub czujniku referencyjnym.
- W startowym G-code zwykle pojawia się przed drukiem, ale jego miejsce zależy od firmware i procedury grzania.
- W Marlinie po G28 poziomowanie stołu bywa wyłączone, więc trzeba je świadomie przywrócić.
- Jeśli homowanie hałasuje, gubi pozycję albo kończy się błędem, najpierw sprawdza się mechanikę, endstopy i probe, a dopiero potem slicer.
- Różnice między Marlinem, Klipperem i RepRapFirmware są ważne, bo ten sam kod może zachowywać się trochę inaczej.
Co robi komenda G28 i dlaczego drukarka jej potrzebuje
W praktyce traktuję G28 jako reset układu współrzędnych drukarki, a nie zwykły ruch do jakiegoś „zera”. Oś X, Y lub Z jedzie do krańcówki albo do punktu referencyjnego ustalonego przez firmware, po czym sterownik zapisuje: „od tego miejsca wiem, gdzie jestem”. To właśnie dlatego po wyłączeniu silników, ręcznym przestawieniu wózka albo drobnym błędzie mechaniki warto ponownie wykonać homowanie.
Najczęściej homuje się wszystkie osie naraz, ale wiele firmware pozwala zrobić to wybiórczo, na przykład tylko dla Z albo dla X i Z. Ma to sens wtedy, gdy chcesz ograniczyć czas procedury albo nie ruszać osi, które są już pewne. Trzeba jednak pamiętać, że na niektórych maszynach delta taka selektywność jest ograniczona i G28 i tak obejmuje cały układ ruchu.
W serwisie ta komenda jest dla mnie prostym testem diagnostycznym. Jeśli oś zatrzymuje się za wcześnie, stuka, wraca za wolno albo nie trafia w punkt powtarzalnie, problem zwykle nie leży w slicerze. Wtedy patrzę na krańcówki, przewody, prowadnice, napęd i mechaniczne luzy. G28 nie naprawia drukarki, ale bardzo szybko pokazuje, że coś w niej już nie pracuje tak, jak powinno. To dobry punkt wyjścia przed ustawianiem startowego G-code.
Jak slicer dodaje homowanie do startowego G-code
W OrcaSlicer machine start G-code uruchamia się na początku zadania, zanim ruszy właściwy druk, i właśnie tam zwykle trafiają homowanie, grzanie oraz ewentualna sekwencja czyszcząca dyszę. Podobnie działają inne slicery: pozwalają wstrzyknąć własne komendy przed pierwszą warstwą, żeby przygotować maszynę do pracy zgodnie z profilem i firmware.
To miejsce ma znaczenie, bo kolejność komend potrafi zmienić wynik pierwszej warstwy. Jeśli hotend ma tendencję do „pocenia się” plastikiem, czasem lepiej chwilowo ustawić niższą temperaturę przed homowaniem, a dopiero potem przejść do temperatury roboczej. W praktyce chodzi o to, żeby dysza nie zabrudziła sondy, stołu ani toru ruchu zanim drukarka ustawi swoje współrzędne.
; przykład prostego startu
G90
M83
M140 S60
M104 S150
G28
M190 S60
M109 S215
; opcjonalnie G29 lub aktywacja zapisanej siatkiTen przykład jest celowo prosty. W jednych profilach przed G28 ustawia się temperaturę stołu, w innych czeka się od razu na pełne grzanie, a w jeszcze innych najpierw robi się home, potem probing, a dopiero później przechodzi do temperatury docelowej. Nie kopiuję więc bezmyślnie cudzych startowych skryptów. Zamiast tego sprawdzam, czy dana sekwencja pasuje do konkretnej drukarki, sondy i firmware. Właśnie tutaj slicer zaczyna być narzędziem inżynierskim, a nie tylko „eksporterem pliku”.
Bezpieczna kolejność komend przed pierwszą warstwą
Jeśli buduję lub poprawiam startowy G-code, trzymam się prostego porządku. Dobre homowanie to nie tylko G28, ale cała logika wokół niego. Przy drukarkach FFF najczęściej wygląda to tak:
- Ustawić tryb ruchu i ekstruzji, zwykle G90 oraz M82 albo M83, zależnie od profilu.
- Rozpocząć grzanie stołu, a w razie potrzeby także hotendu do temperatury bezpiecznej na czas homowania.
- Wykonać G28, czyli homowanie osi.
- Uruchomić pomiar powierzchni stołu albo przywrócić zapisany mesh, jeśli tak działa dany firmware.
- Doprowadzić stół i dyszę do temperatur roboczych.
- Wykonać purge line, skirt albo krótkie czyszczenie, żeby sprawdzić wypływ materiału.
W Marlinie trzeba uważać na jeden szczegół: domyślnie G28 wyłącza poziomowanie stołu. W praktyce oznacza to, że jeśli liczysz na zapisany mesh, nie możesz zakładać, że po homowaniu dalej będzie aktywny. Trzeba go przywrócić komendą typu M420 S albo zbudować profil tak, by firmware robił to automatycznie po G28. To jeden z tych detali, które łatwo przeoczyć, a potem pierwsza warstwa wychodzi „dziwnie” mimo poprawnego homowania.
Jeśli drukarka ma sondę Z i parkowanie głowicy jest ciasne, dochodzi jeszcze temat bezpiecznej pozycji. Wtedy lepiej najpierw wykonać ruch w miejsce wolne od modelu, a dopiero potem sondować stół. To nie jest kosmetyka. Przy wyższych wydrukach źle ustawiona kolejność potrafi skończyć się zahaczeniem o model albo błędem podczas pomiaru Z. Gdy ta sekwencja jest dobrze ustawiona, można przejść do tego, co homowanie mówi o stanie samej maszyny.
Co mówi o drukarce, gdy homowanie zaczyna się wykładać
Na serwisowej osi czasu G28 bywa lepszym diagnostą niż długie „próby na ślepo”. Jeśli komenda nagle zachowuje się inaczej niż zwykle, zwykle coś zmieniło się mechanicznie albo elektrycznie. Najczęstsze objawy da się dość szybko uporządkować:
| Objaw | Najbardziej prawdopodobna przyczyna | Co sprawdzam najpierw |
|---|---|---|
| Oś stuka i nie trafia w punkt bazowy | Krańcówka, czujnik, odwrócony kierunek silnika albo zablokowana prowadnica | Ręczny test endstopu, ruch osi bez modelu, stan przewodów i łożysk |
| Zatrzymanie Z nad modelem albo kolizja podczas sondowania | Brak safe homing, zła pozycja sondy lub zbyt wysoki model w strefie ruchu | Pozycję parkowania, offset probe i wysokość elementów na stole |
| Pierwsza warstwa dobra, ale kolejne wyglądają na przesunięte | Poślizg paska, luźne sprzęgło, luz na wózku albo problem z osią mechaniczną | Napięcie pasków, śruby, mocowanie silnika i geometrię osi |
| Drukarka nie chce ruszyć bez homowania | Normalne zabezpieczenie firmware | Nie omijać go na siłę, tylko sprawdzić, czy homing działa powtarzalnie |
| Po G28 pierwsza warstwa „ucieka” mimo poprawnych ruchów | Wyłączone leveling, zły offset Z albo nieaktualna siatka stołu | Stan kompensacji, offset Z i kolejność komend w profilu startowym |
Najważniejsza zasada jest prosta: jeśli homowanie przestaje być przewidywalne, nie poprawiam od razu slicera. Najpierw sprawdzam układ mechaniczny i czujniki, bo to one najczęściej psują punkt odniesienia. Slicer może tylko ujawnić problem, ale nie jest jego źródłem. Kiedy to odróżnię, łatwiej dobrać właściwe zachowanie dla konkretnego firmware.
Jak zachowują się Marlin, Klipper i RepRapFirmware
Ten sam G28 wygląda podobnie, ale nie identycznie, zależnie od firmware. W praktyce różnica nie dotyczy samej idei homowania, tylko tego, co dzieje się obok niej: jak traktowane jest leveling, jak działają makra i czy część logiki siedzi w samym firmware, czy w skrypcie wywoływanym przez komendę.
| Firmware | Jak działa G28 | Co warto pamiętać w praktyce |
|---|---|---|
| Marlin | Homing jednej lub wielu osi, domyślnie wszystkich | Po G28 poziomowanie stołu jest zwykle wyłączone; trzeba je przywrócić świadomie |
| Klipper | Standardowe homowanie osi G28 [X][Y][Z] | Wiele procedur, zwłaszcza probe i mesh, wymaga wcześniejszego homingu; część logiki można opisać makrami |
| RepRapFirmware | Homing często opiera się na makrach, np. home.g lub homedelta.g | Na delta i niektórych konstrukcjach parametry osi mogą być ograniczone albo ignorowane |
W dokumentacji Marlin ten detal jest opisany wprost: G28 może wyłączyć bed leveling, a są też opcje, które go przywracają po homowaniu. To ważne, bo bez tego łatwo pomylić poprawne ustawienie osi z poprawną kompensacją stołu. W praktyce właśnie tu rodzi się sporo nieporozumień między „drukarka się wyzerowała” a „drukarka faktycznie wie, jak ma drukować pierwszą warstwę”.
Klipper z kolei mocno premiuje porządne makra i jasny podział odpowiedzialności. Sam G28 jest standardowy, ale otaczająca go logika może być bardzo rozbudowana, więc startowy skrypt warto testować po każdej zmianie konfiguracji. RepRapFirmware idzie jeszcze bardziej w stronę makr i zachowań specyficznych dla konstrukcji, dlatego profil skopiowany z jednej maszyny bywa na innej tylko pozornie poprawny. To dobry moment, żeby zamknąć temat prostymi zasadami, które naprawdę pomagają.
Reguły, które warto zostawić w profilu na stałe
Jeśli miałbym zostawić tylko kilka praktycznych zasad, byłyby to te:
- Trzymaj homowanie w jednym, czytelnym miejscu startowego G-code, zamiast rozrzucać je po kilku blokach.
- Nie zakładaj, że po G28 wszystko samo wróci do poprzedniego stanu, zwłaszcza w kwestii poziomowania stołu.
- Po zmianie firmware, sondy, paska albo prowadnicy zrób krótki test pierwszej warstwy, a nie od razu długi wydruk.
- Jeśli dysza lub czujnik lubi się brudzić, zaplanuj temperaturę przejściową przed homowaniem i temperaturę docelową dopiero później.
- Gdy homowanie zaczyna zachowywać się inaczej, najpierw diagnozuj mechanikę i czujniki, a dopiero potem edytuj slicer.
W dobrze ustawionym profilu G28 nie jest ozdobną linią w pliku, tylko elementem dyscypliny całej maszyny. Jeśli ten krok działa powtarzalnie, pierwsza warstwa przestaje być loterią, a slicer zaczyna robić dokładnie to, do czego został stworzony: przygotować drukarkę do przewidywalnej pracy.