Menu

andipanda.dev

Graber i3: od Marlin do Klipper — drugie życie trwa dalej

W poprzednim artykule opisałem, jak trafił do mnie stary Graber i3 i z jakimi problemami musiałem się zmierzyć, próbując przywrócić go do życia.

Wydawałoby się, że najważniejsze komponenty są na miejscu, elektronika działa, silniki się poruszają. Wystarczy wszystko skonfigurować i można drukować.

Jednak właśnie konfiguracja okazała się znacznie trudniejsza, niż się spodziewałem.

Szczególnie dużo czasu zajęło mi ustawienie stołu roboczego.

Marlin i niekończąca się regulacja stołu

Początkowo drukarka pracowała pod kontrolą Marlin.

To znane i szeroko stosowane oprogramowanie układowe do drukarek 3D, więc nie miałem powodu, aby od razu z niego rezygnować.

Próbowałem wyregulować mechanikę, uzyskać prawidłowe położenie dyszy względem stołu i zapewnić stabilną pierwszą warstwę.

Jednak ciągle wracałem do tego samego problemu.

W jednej części stołu dysza znajdowała się na odpowiedniej wysokości, a w innej była zbyt blisko lub zbyt daleko od powierzchni.

Regulacja jednego obszaru mogła pogorszyć wynik w innym. Musiałem ponownie ustawiać stół, sprawdzać odstępy i powtarzać próbę drukowania.

Oczywiście Marlin oferuje narzędzia do kompensacji nierówności stołu, w tym Bed Leveling. Jednak w mojej konfiguracji nie udało mi się uzyskać oczekiwanego rezultatu.

Być może coś źle skonfigurowałem albo nie poznałem wystarczająco dobrze dostępnych możliwości oprogramowania.

Mimo to czas mijał, a stabilnej pierwszej warstwy nadal nie było.

W pewnym momencie uznałem, że zamiast kontynuować eksperymenty z Marlin, warto spróbować innego podejścia.

Pierwsze spotkanie z Klipper

W ten sposób zainteresowałem się Klipper.

Główna różnica, która przyciągnęła moją uwagę, dotyczyła architektury systemu.

W tradycyjnej konfiguracji Marlin główna logika sterowania jest wykonywana bezpośrednio przez mikrokontroler na płycie drukarki.

Klipper stosuje inne podejście: część obliczeń wykonuje osobny komputer z systemem Linux, a mikrokontroler odpowiada za wykonywanie przygotowanych poleceń sterujących sprzętem.

Można do tego wykorzystać Raspberry Pi lub inne odpowiednie urządzenie.

Mnie jednak zainteresowała nie tyle sama architektura, ile możliwości konfiguracji.

W Klipper konfiguracja drukarki jest przechowywana w plikach tekstowych. Zmiana wielu parametrów nie wymaga każdorazowego ponownego kompilowania firmware'u i wgrywania go do kontrolera.

Ponadto system udostępnia wygodne narzędzia do kalibracji mechaniki i stołu roboczego.

Po licznych próbach uzyskania zadowalających rezultatów na Marlin wszystko to wyglądało bardzo zachęcająco.

Postanowiłem spróbować.

Pierwsze uruchomienie na Raspberry Pi

Na początek wykorzystałem Raspberry Pi.

Było to całkiem logiczne rozwiązanie: znałem już to urządzenie, a dla Klipper dostępnych jest wiele poradników i przykładów instalacji właśnie na Raspberry Pi.

Po zainstalowaniu niezbędnych komponentów i skonfigurowaniu komunikacji z płytą sterującą drukarki uzyskałem działający system.

Teraz mogłem zmieniać parametry w konfiguracji, restartować odpowiednie komponenty i od razu sprawdzać rezultat.

Taki sposób pracy okazał się dla mnie znacznie wygodniejszy.

Nie musiałem ciągle wracać do kodu źródłowego firmware'u, ponownie kompilować projektu i wgrywać oprogramowania na płytę przy każdej kolejnej zmianie ustawień.

Stopniowo zacząłem poznawać konfigurację silników, ograniczenia ruchu, ustawienia grzałek i kalibrację stołu.

Oczywiście samo przejście na Klipper nie sprawiło, że drukarka stała się precyzyjna.

Problemy mechaniczne nie zniknęły, a stół nadal wymagał uwagi.

Miałem jednak do dyspozycji wygodniejsze narzędzia, dzięki którym mogłem kontynuować pracę.

A po co tutaj Raspberry Pi?

Po pewnym czasie przypomniałem sobie, że mam nieużywany stary TV Box.

Zwykłą przystawkę telewizyjną, która nie była już wykorzystywana zgodnie ze swoim pierwotnym przeznaczeniem.

Pojawiła się więc myśl: po co na stałe zajmować Raspberry Pi, skoro można spróbować wykorzystać to urządzenie do sterowania drukarką?

W gruncie rzeczy Klipper potrzebuje komputera zdolnego do pracy pod kontrolą Linux, uruchamiania niezbędnych komponentów programowych i wymiany danych z kontrolerem drukarki.

Raspberry Pi jest popularnym rozwiązaniem, ale zdecydowanie nie jedynym.

Dlatego postanowiłem dać starej przystawce drugie życie.

Było w tym nawet coś symbolicznego: przywracając do życia starą drukarkę 3D, znalazłem jednocześnie zastosowanie dla kolejnego urządzenia, które wcześniej po prostu leżało nieużywane.

Linux na przystawce telewizyjnej

Najpierw musiałem uruchomić Linux na TV Box.

Przystawki telewizyjne są zazwyczaj dostarczane z Androidem i nie są projektowane przez producentów z myślą o sterowaniu drukarkami 3D.

Niektóre z nich pozwalają jednak uruchamiać alternatywne systemy operacyjne.

Po zainstalowaniu Linux przystawka zamieniła się w niewielki komputer, który można było wykorzystać do obsługi Klipper.

Pozostało zainstalować potrzebne komponenty programowe, przenieść konfigurację drukarki i sprawdzić komunikację z płytą sterującą.

Ostatecznie udało mi się zrezygnować z Raspberry Pi i przenieść sterowanie Graber i3 na TV Box.

Było to dla mnie dobre rozwiązanie również dlatego, że przystawka otrzymała stałe zastosowanie.

W przeciwieństwie do Raspberry Pi, które mogło przydać się do innych eksperymentów, TV Box był teraz przeznaczony wyłącznie do obsługi drukarki.

Komputer sterujący na stałe

Po udanym uruchomieniu postanowiłem zamontować przystawkę bezpośrednio na drukarce.

W ten sposób przestała być tymczasowym urządzeniem podłączanym wyłącznie na czas konfiguracji.

TV Box stał się stałą częścią Graber i3.

Cała programowa część Klipper działała na osobnym komputerze z Linux, a płyta drukarki nadal sterowała silnikami, grzałkami i pozostałą elektroniką.

Takie podejście mi odpowiadało.

Z jednej strony zachowałem dotychczasową płytę sterującą. Z drugiej zyskałem możliwość rozwijania części programowej bez konieczności wymiany całej elektroniki drukarki.

Poza tym stary sprzęt znów okazał się przydatny.

Klipper nie naprawia mechaniki

Po przejściu na Klipper praca z konfiguracją rzeczywiście stała się wygodniejsza.

Jednak jeden z głównych problemów, od których wszystko się zaczęło, nie zniknął całkowicie.

Nadal trudno było ręcznie wyregulować stół tak, aby uzyskać równie dobrą pierwszą warstwę na całej powierzchni.

Nawet mając wygodniejsze narzędzia do kalibracji, nie mogłem osiągnąć oczekiwanej dokładności i powtarzalności.

Stopniowo stawało się jasne, że samymi ustawieniami programowymi nie uda się rozwiązać problemu.

Potrzebowałem bardziej niezawodnego sposobu pomiaru położenia powierzchni stołu, a także dodatkowych zmian w konstrukcji drukarki.

Później zamontowałem czujnik, który pozwolił uzyskać powtarzalne pomiary i znacznie ułatwił poziomowanie stołu w czterech punktach.

Był to jednak już kolejny etap modernizacji.

Podsumowanie

Przejście z Marlin na Klipper było jednym z ważnych etapów przywracania Graber i3 do życia.

Zyskałem wygodniejszy sposób konfiguracji drukarki, możliwość zmiany ustawień bez ciągłego ponownego wgrywania firmware'u do kontrolera oraz narzędzia ułatwiające dalsze eksperymenty.

Wykorzystanie starego TV Box pozwoliło mi natomiast zwolnić Raspberry Pi i zamienić niepotrzebną przystawkę telewizyjną w stały komputer sterujący.

Nie uważam przy tym, że Marlin jest złym oprogramowaniem. Ma swoje zalety, a ogromna liczba drukarek z powodzeniem działa pod jego kontrolą.

Po prostu w przypadku mojego Graber i3 i problemów, które próbowałem rozwiązać, Klipper okazał się bardziej odpowiednim narzędziem.

Jednak część programowa była dopiero początkiem.

Przede mną pozostawały montaż czujnika stołu, zmiany w sterowaniu silnikami osi Z, wymiana sterowników silników i usunięcie problemów mechanicznych.

Właśnie o tych modyfikacjach opowiem w następnym artykule.