Półautomatyczna zmiana filamentu w trakcie druku – jak używać komendy M600

Dzisiaj będzie krótko, ale może się przydać.
Jeśli bawicie się czasem w wielokolorowe wydruki i nie chcecie stać nerwowo nad drukarką, żeby nie przegapić odpowiedniego momentu na zapauzowanie wydruku i zmianę filamentu, z pomocą przychodzi komenda M600. Działa ona tak, że jeśli wstawi się ją w dowolne miejsce w kodzie, to drukarka po dojechaniu do tej linijki sama wstrzyma wydruk, wycofa filament i poprosi o wprowadzenie nowego.
Więcej o komendzie M600 poczytacie na reprapowym wiki – tutaj.
Ja opiszę postępowanie w przypadku zmiany filamentu pomiędzy warstwami, ale nie jest to regułą – można zmieniać nawet w trakcie warstwy, tak, że każda ścieżka będzie innego koloru.

Jak tego dokonać? Zacznijmy od otworzenia g-code do edycji.
Generujecie go tak, jak zwykle, zapisując do pliku z rozszerzeniem .gco albo .gcode. Tyle, że nie wgrywacie go na kartę pamięci i nie uruchamiacie od razu do drukowania, lecz najpierw musicie go ręcznie zedytować. Ja polecam do tego Notepad++ – pobierzecie go tutaj.
Wtedy powinien Wam się odpalić w miarę ładnie, a Wy klikacie Ctrl+F i wyszukujecie po prostu „Z”.

Czego właściwie szukamy?
W druku występują dwie główne komendy odnośnie ruchu – jest to G0 oraz G1. Komenda G1 jest powszechnie uważana za ruch „drukujący”, gdy drukarka podaje materiał, a komenda G0 odpowiada za ruch jałowy, czyli „travel”. Może ona występować z różnymi argumentami, jednak zwykle wygląda tak:
G0 Xxx Yxx Fxx
Co oznacza ruch jałowy w poziomie – w obrębie danej warstwy. Np przemieszczenie między obiektami. Ale może też wyglądać tak:
G0 Xxx Yxx Zxx Fxx
Co oznacza ruch jałowy w przestrzeni – zmianę warstwy. Więc wyszukując w g-codzie literki „Z” i klikając „Znajdź następny” szukacie linijki, w której pojawi się jednocześnie „G0” i „Zxxxx”, co będzie znaczyło, że właśnie zmieniamy warstwę. Wtedy należy tuż po tej linijce, bądź tuż przed nią, dodać kolejną, która będzie zawierała tylko komendę „M600”.

No ale co dalej?
Zapisujemy plik zachowując wcześniejsze rozszerzenie, po czym uruchamiamy wydruk, udając, że co złego to nie my. Drukarka jeszcze nie podejrzewa niczego, więc posłusznie startuje, jednak w pewnym momencie napotyka na suprajs i odjeżdża głowicą na bok, prosząc, żebyśmy się ogarnęli i coś zrobili. W tym miejscu uprzedzam, że dobrze, jak drukarka ma buzzer, bo inaczej może jedynie krzyczeć wyświetlaczem, a to mało zwraca na siebie uwagę. I gotowe. Wydruk z wielu kolorów sam będzie szedł. My tylko podkładamy kolejne szpule pokornie wprowadzając żyłki do ekstrudera.

Jakie są wariacje tej zabawy?
Dodając przed linijką M600 linijkę M104 Sxxx możemy zmienić temperaturę głowicy – pozwoli to na przykład na druk z wielu materiałów i zmianę między ABS a PLA, bądź PLA a PET-G. Więcej o komendzie M104 tutaj.
Przykład?
G0 X11.702 Y176.926 Z0.5 F9480 ;zmiana warstwy
M104 S240 ;zadajemy temperaturę aktywnej głowicy na 240 stopni
M600 ;pauza i zmiana filamentu

Bawcie się dobrze z testowaniem, a jeśli macie problem z zaimplementowaniem, bądź chcecie dopytać o coś jeszcze – piszcie na kontakt@maciejdrukuje.pl