G28 w drukarce 3D - homowanie osi i startowy G-code bez błędów

25 maja 2026

Widok ustawień drukarki Prusa i3 MK3S w PrusaSlicer, pokazujący kod g28 gcode dla startu, końca i przed zmianą warstwy.

Spis treści

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 siatki

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

  1. Ustawić tryb ruchu i ekstruzji, zwykle G90 oraz M82 albo M83, zależnie od profilu.
  2. Rozpocząć grzanie stołu, a w razie potrzeby także hotendu do temperatury bezpiecznej na czas homowania.
  3. Wykonać G28, czyli homowanie osi.
  4. Uruchomić pomiar powierzchni stołu albo przywrócić zapisany mesh, jeśli tak działa dany firmware.
  5. Doprowadzić stół i dyszę do temperatur roboczych.
  6. 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.

FAQ - Najczęstsze pytania

Najpierw warto ustawić tryb ruchu i ekstruzji, na przykład G90 oraz M82 lub M83. Potem można rozpocząć grzanie stołu i ewentualnie hotendu do bezpiecznej temperatury, wykonać G28, a dopiero później uruchomić pomiar stołu albo przywrócić zapisany mesh. Na końcu doprowadza się drukarkę do temperatur roboczych i wykonuje purge line, skirt lub krótkie czyszczenie dyszy.

W Marlinie G28 zwykle wyłącza poziomowanie stołu, więc sama baza osi nie wystarcza do dobrego wydruku. Trzeba świadomie przywrócić kompensację, na przykład komendą M420 S, albo skonfigurować firmware tak, by robił to automatycznie po homowaniu. Warto też sprawdzić offset Z i aktualność siatki stołu.

Najpierw trzeba szukać przyczyny w mechanice i czujnikach, nie w slicerze. Autor wskazuje przede wszystkim endstopy, przewody, prowadnice, pasek, napęd, odwrócony kierunek silnika oraz stan sondy Z. Przy problemach z Z warto też sprawdzić safe homing, pozycję parkowania i to, czy model nie wchodzi w strefę ruchu sondy.

W Marlinie G28 może homować jedną lub wiele osi, ale po nim zazwyczaj trzeba ponownie włączyć poziomowanie. W Klipperze G28 jest standardowym homowaniem osi, a dalsza logika często wynika z makr i procedur probe lub mesh. W RepRapFirmware homowanie bywa oparte na makrach, takich jak home.g lub homedelta.g, a na niektórych konstrukcjach parametry osi mogą być ograniczone albo ignorowane.

Oceń artykuł

Ocena: 0.00 Liczba głosów: 0

Tagi:

g-code slicer marlin klipper homowanie

Udostępnij artykuł

Piotr Wróblewski

Piotr Wróblewski

Nazywam się Piotr Wróblewski i od trzech lat zajmuję się technologiami 3D, od projektowania po produkcję. Moje zainteresowanie tym obszarem zaczęło się od fascynacji możliwością przekształcania pomysłów w realne obiekty. Uwielbiam dzielić się wiedzą na temat drukowania 3D, modelowania oraz innowacji w tej dziedzinie, pomagając innym zrozumieć złożoność procesów i technologii. W mojej pracy stawiam na rzetelność i przystępność informacji. Staram się zawsze weryfikować źródła, porównywać różne podejścia i upraszczać skomplikowane zagadnienia, aby każdy mógł z łatwością przyswoić wiedzę. Śledzę najnowsze trendy i innowacje, a moim celem jest dostarczanie aktualnych oraz użytecznych treści, które będą pomocne zarówno dla początkujących, jak i zaawansowanych entuzjastów technologii 3D.

Napisz komentarz