Po zamontowaniu czujnika stołu w Graber i3 regulacja stała się znacznie wygodniejsza. Mogłem teraz uzyskiwać powtarzalne pomiary i regulować położenie stołu na podstawie konkretnych wartości, a nie tylko własnych odczuć.
Pozostawała jednak jeszcze jedna cecha konstrukcji, na którą postanowiłem zwrócić uwagę — dwa silniki osi Z.
Odpowiadają one za pionowy ruch bramy z osią X, a od ich zsynchronizowanej pracy zależy położenie dyszy względem powierzchni stołu.
Dwa silniki na jednym sterowniku
W moim Graber i3 znajduje się płyta RAMPS 1.4.
W standardowej konfiguracji oba silniki osi Z są podłączone do dwóch złączy obsługiwanych przez jeden sterownik.
Takie rozwiązanie pozwala poruszać obiema stronami bramy jednocześnie, ale nie umożliwia niezależnego sterowania nimi.
Jeśli jedna strona bramy znajdzie się nieco wyżej niż druga, przy takim podłączeniu nie da się programowo skorygować położenia tylko jednego silnika.
Trzeba ręcznie wyrównać bramę albo skompensować różnicę regulacją stołu.
Chciałem uzyskać możliwość niezależnego korygowania położenia każdej strony.
Wolny kanał drugiego ekstrudera
RAMPS 1.4 jest przystosowana do obsługi dwóch ekstruderów.
Jednak w mojej drukarce zamontowany jest tylko jeden, więc kanał drugiego ekstrudera E1 pozostawał wolny.
Postanowiłem wykorzystać go do sterowania drugim silnikiem osi Z.
Wystarczyło zmienić podłączenie silników: jeden pozostawić na standardowym kanale Z, a drugi podłączyć do E1.
W ten sposób każdy silnik otrzymał własny sterownik i oddzielne sygnały sterujące.
Najlepsze było to, że do takiej modernizacji nie musiałem kupować dodatkowej elektroniki.
Wszystko, czego potrzebowałem, było już dostępne na RAMPS 1.4.
Konfiguracja Klipper
W tym czasie drukarka pracowała już pod kontrolą Klipper, więc pozostało zmienić jej konfigurację.
Główny silnik osi Z jest opisany w sekcji stepper_z, a drugi — w stepper_z1.
Dla dodatkowego silnika wykorzystałem piny sterujące kanału E1 na RAMPS 1.4.
Podczas zwykłych ruchów oba silniki nadal pracują synchronicznie, jako jedna oś Z.
Teraz jednak pojawiła się możliwość niezależnego sterowania nimi podczas procedur kalibracyjnych.
Warto zaznaczyć, że taka funkcjonalność nie jest dostępna wyłącznie w Klipper. Marlin również obsługuje niezależne sterowniki osi Z i automatyczne wyrównywanie.
Po prostu w momencie tej modernizacji korzystałem już z Klipper i kontynuowałem pracę właśnie z nim.
Wyrównywanie bramy
Po co właściwie rozdzielać sterowanie silnikami?
Nawet jeśli oba silniki otrzymują identyczne polecenia, nie gwarantuje to, że lewa i prawa strona bramy zawsze znajdują się na tej samej wysokości.
Niewielkie przekoszenie może pojawić się z powodu właściwości mechaniki lub zmiany położenia jednego z silników po wyłączeniu zasilania.
W rezultacie oś X jest nachylona względem stołu.
Wcześniej taką różnicę trzeba było kompensować ręcznie.
Teraz pojawiła się możliwość zmiany położenia każdej strony bramy osobno.
W Klipper służy do tego procedura Z_TILT_ADJUST, która wykorzystuje pomiary czujnika stołu do określenia i skorygowania nachylenia bramy.
Dzięki temu zamontowany wcześniej czujnik zyskał jeszcze jedno potencjalne zastosowanie.
Warto jednak rozróżnić wyrównywanie bramy od kompensacji nierówności stołu.
Z_TILT_ADJUST koryguje wzajemne położenie stron bramy, natomiast BED_MESH_CALIBRATE pozwala uwzględniać nierówności powierzchni stołu podczas drukowania.
To dwa różne zadania, choć oba mogą wpływać na jakość pierwszej warstwy.
Co dała modernizacja
Najważniejszym rezultatem było to, że oba silniki osi Z przestały być zależne od jednego sterownika.
Każdy z nich miał teraz własny kanał sterowania, a więc pojawiła się możliwość niezależnego korygowania położenia stron bramy.
Jednocześnie zachowałem dotychczasową elektronikę drukarki i wykorzystałem możliwości, które były już przewidziane w konstrukcji RAMPS 1.4.
Dla mnie był to kolejny przykład tego, jak niewielka zmiana może rozszerzyć możliwości starego sprzętu bez dużych wydatków.
Oczywiście niezależne sterowanie silnikami nie eliminuje luzów, przekoszeń prowadnic ani innych problemów mechanicznych.
Dlatego prace nad Graber i3 na tym się nie zakończyły.
Co dalej
Kolejnym etapem była wymiana sterowników silników krokowych.
Stare sterowniki działały, ale drukarka nadal była dość głośna.
Chciałem ograniczyć hałas silników bez wymiany całej elektroniki sterującej.
Właśnie o tej modernizacji opowiem w następnym artykule.