W poprzednim artykule opisałem wymianę sterowników silników krokowych w moim Graber i3.
Głównym powodem modernizacji był hałas. Stare sterowniki działały, ale ruchom osi towarzyszył charakterystyczny dźwięk o wysokiej częstotliwości, którego chciałem się pozbyć.
Jednocześnie nie zamierzałem wymieniać całej elektroniki sterującej drukarki.
RAMPS 1.4 w zupełności spełniała swoje zadania, a przejście na Klipper pozwoliło już ominąć główne ograniczenia starego 8-bitowego mikrokontrolera.
Pozostało wybrać nowe sterowniki.
Ostatecznie zdecydowałem się na TMC2209.
Ale dlaczego właśnie one?
Jakie rozwiązania brałem pod uwagę
Dla RAMPS 1.4 dostępnych jest wiele sterowników silników krokowych.
Do najpopularniejszych należą A4988, DRV8825, TMC2208 i TMC2209.
Wszystkie wykonują jedno podstawowe zadanie: sterują silnikami krokowymi, otrzymując od kontrolera sygnały kroku i kierunku.
Różnią się jednak algorytmami regulacji prądu, obsługiwanymi trybami pracy i możliwościami konfiguracji.
Dla mnie najważniejszymi kryteriami były poziom hałasu, kompatybilność z istniejącą elektroniką, stabilność działania i rozsądna cena.
Maksymalna prędkość drukowania nie była priorytetem.
W końcu chodziło o modernizację starego Graber i3, a nie budowę nowej drukarki do szybkiego drukowania.
A4988 i DRV8825 — sprawdzone rozwiązania
A4988 i DRV8825 przez długi czas należały do najpopularniejszych sterowników stosowanych w amatorskich drukarkach 3D.
Są niedrogie, dobrze poznane i obsługiwane przez praktycznie wszystkie popularne firmware'y.
A4988 obsługuje podział pełnego kroku do 1/16, a DRV8825 — do 1/32.
Jednak większa liczba mikrokroków sama w sobie nie oznacza proporcjonalnego wzrostu dokładności pozycjonowania.
Podczas pracy z takimi sterownikami silniki krokowe często wydają wyraźnie słyszalny dźwięk, szczególnie przy określonych prędkościach.
Nie oznacza to, że A4988 lub DRV8825 są złe.
Doskonale nadają się do wielu zastosowań i nadal są używane w różnych urządzeniach.
Jeśli jednak głównym celem modernizacji jest zmniejszenie hałasu drukarki, warto rozważyć nowocześniejsze rozwiązania.
TMC2208 — już znacznie ciszej
Jednym z takich rozwiązań jest TMC2208.
Jego główną zaletą w zwykłej drukarce 3D jest obsługa technologii StealthChop2.
Ten algorytm sterowania pozwala znacznie ograniczyć słyszalny hałas silnika krokowego.
Zamiast charakterystycznego pisku silnik może pracować znacznie ciszej.
TMC2208 obsługuje również konfigurację przez UART, co umożliwia programową zmianę niektórych parametrów pracy.
W przypadku mojego Graber i3 możliwości TMC2208 mogłyby już być wystarczające.
Istniało jednak ciekawsze rozwiązanie — TMC2209.
Dlaczego właśnie TMC2209
TMC2209 jest pod wieloma względami podobny do TMC2208, ale oferuje dodatkowe możliwości.
Również obsługuje StealthChop2, który pozwala uzyskać cichą pracę silników krokowych.
Jednocześnie TMC2209 obsługuje SpreadCycle — inny algorytm sterowania prądem, który może zapewniać stabilniejszą pracę silnika przy większych obciążeniach i dynamicznych ruchach.
Tryby te służą nieco innym celom.
StealthChop2 koncentruje się przede wszystkim na ograniczeniu hałasu, natomiast SpreadCycle pozwala zwrócić większą uwagę na charakterystykę dynamiczną silnika.
Nie można jednak powiedzieć, że jeden tryb jest zawsze lepszy od drugiego.
Optymalny wybór zależy od konkretnej mechaniki, prędkości ruchu i obciążenia silnika.
Kolejną różnicą TMC2209 jest wyższy dopuszczalny prąd w porównaniu z TMC2208.
Rozszerza to możliwości zastosowania sterownika, choć rzeczywisty dopuszczalny prąd zależy od konkretnego modułu i warunków chłodzenia.
W mojej drukarce maksymalny prąd nie był decydującym parametrem, ale dodatkowy zapas mógł się przydać.
Ponadto TMC2209 obsługuje StallGuard4 — technologię oceny obciążenia silnika.
Pozwala ona w określonych warunkach wykrywać osiągnięcie krańcowego położenia osi bez osobnego wyłącznika krańcowego.
Funkcja ta wymaga jednak odpowiedniego podłączenia i konfiguracji.
W moim przypadku nie była powodem wyboru sterownika.
Najważniejsze pozostawało połączenie cichej pracy, odpowiedniego zapasu parametrów i możliwości wykorzystania TMC2209 z dotychczasową elektroniką.
UART — czy jest mi potrzebny?
TMC2209 obsługuje interfejs UART, który pozwala programowo zmieniać prąd silnika, tryby pracy i inne parametry sterownika.
W połączeniu z Klipper jest to dość wygodne: wiele ustawień można określać bezpośrednio w pliku konfiguracyjnym printer.cfg.
Jednak RAMPS 1.4 nie została pierwotnie wyposażona w dedykowane połączenie UART dla każdego gniazda sterownika.
Jego wykorzystanie wymagałoby dodatkowego okablowania.
Nie stanowiłoby to dla mnie większego problemu, ale nie widziałem potrzeby takiego podłączenia.
Moim głównym celem było zmniejszenie hałasu silników krokowych, a TMC2209 mogą w tym celu pracować w autonomicznym trybie STEP/DIR.
Dlatego zdecydowałem się nie korzystać z UART i nie planuję dodawać go w przyszłości.
Oczywiście bez UART część możliwości programowej konfiguracji pozostaje niedostępna.
Jednak w moim przypadku nie dawały one korzyści, dla których warto byłoby komplikować połączenia.
Dzięki temu mogłem wykorzystać nowoczesne sterowniki, zachowując prosty sposób podłączenia na RAMPS 1.4.
A co z mikrokrokami?
Przy porównywaniu sterowników często zwraca się uwagę na maksymalną liczbę mikrokroków.
A4988 obsługuje podział pełnego kroku do 1/16, a DRV8825 — do 1/32.
TMC2209 również obsługuje różne tryby mikrokroków oraz wewnętrzną interpolację do 256 mikrokroków.
Warto jednak odróżnić płynność ruchu od dokładności pozycjonowania.
Interpolacja pozwala uzyskać płynniejszą pracę silnika, ale nie zmienia układu mechanicznego w urządzenie o bezwzględnej dokładności 1/256 pełnego kroku.
Na końcową jakość wydruków nadal wpływają luzy, sztywność konstrukcji, stan prowadnic, pasków i inne czynniki mechaniczne.
Dlatego liczba mikrokroków nie była dla mnie głównym kryterium wyboru.
Znacznie ważniejsze było uzyskanie stabilnej i cichszej pracy silników.
Czy warto montować TMC2209 na RAMPS 1.4?
Na pierwszy rzut oka połączenie starej RAMPS 1.4 z nowoczesnymi sterownikami może wydawać się dziwne.
Obecnie dostępne są płyty z 32-bitowymi mikrokontrolerami, wbudowaną obsługą UART i wieloma dodatkowymi funkcjami.
Jednak w moim przypadku wymiana całej elektroniki nie miała większego sensu.
Drukarka pracowała już pod kontrolą Klipper, a główne obliczenia wykonywał TV Box z systemem Linux.
Arduino Mega 2560 nadal pełniła funkcję mikrokontrolera, a RAMPS 1.4 zapewniała podłączenie silników, grzałek i czujników.
Montaż TMC2209 pozwalał poprawić sterowanie silnikami krokowymi bez konieczności przebudowy całego systemu.
Trzeba jednak pamiętać, że kompatybilność zależy nie tylko od nazwy sterownika.
Przed montażem należy sprawdzić konkretny moduł, układ wyprowadzeń, ustawienia mikrokroków i sposób podłączenia.
Nie wszystkie moduły z TMC2209 mają identyczny układ połączeń.
Czy warto było wybierać droższe sterowniki?
W przypadku starej drukarki koszt zawsze ma znaczenie.
Można stopniowo wymienić niemal wszystkie podzespoły, ale w pewnym momencie z pierwotnego Graber i3 pozostanie tylko nazwa.
Właśnie tego chciałem uniknąć.
TMC2209 stanowiły rozsądny kompromis między możliwościami, ceną i kompatybilnością z istniejącą elektroniką.
Pozwalały rozwiązać główny problem — zmniejszyć hałas silników krokowych — a jednocześnie pozostawiały pewien zapas możliwości.
Nie potrzebowałem rekordowych prędkości ani skomplikowanej nowej płyty sterującej.
Chciałem po prostu sprawić, by posiadana już drukarka była wygodniejsza w użytkowaniu.
Podsumowanie
Wybór TMC2209 nie był próbą zamontowania w starym Graber i3 najnowocześniejszych komponentów za wszelką cenę.
Dla mnie był to sposób na wyeliminowanie konkretnej wady przy zachowaniu sprawnej elektroniki.
A4988 i DRV8825 nadal sprawdzają się w wielu zastosowaniach, a TMC2208 również mogą zapewnić cichą pracę.
Jednak TMC2209 oferują dobre połączenie cichych trybów pracy, zapasu parametrów i dodatkowych funkcji.
Co ważne, w moim przypadku nie było potrzeby korzystania z UART ani przebudowy połączeń sterowników.
Oczywiście montaż TMC2209 nie usuwa problemów mechanicznych i nie zamienia starej drukarki w nowoczesną maszynę do szybkiego drukowania.
Pozwala jednak wykonać kolejny krok w jej modernizacji bez całkowitej przebudowy konstrukcji.
Co dalej
W następnym artykule wrócę do innej modernizacji Graber i3 — montażu czujnika stołu.
Wcześniej opisywałem już, jak czujnik pomógł uprościć regulację pierwszej warstwy.
Nie wyjaśniłem jednak wtedy, dlaczego wybrałem właśnie czujnik indukcyjny, a nie popularny 3DTouch.
Oba rozwiązania mają swoje zalety i ograniczenia.
Właśnie im chciałbym poświęcić następny artykuł.