Klipper i czujnik filamentu
Klipper i czujnik filamentu
Witam.
Postawiłem Klippera Octoprint na przerobionym Sunlu S8 z płytką SKR V1.4 Turbo i RPi 3B+.
Działa całkiem nieźle ale mam niestety trochę problemów.
Podłączyłem czujnik końca filamentu - taki zwykły switch. Wpisałem konfigurację z dokumentacji:
https://www.klipper3d.org/Config_Refere ... tch_sensor
System poprawnie widzi czujnik i poprawnie raportuje kiedy użyję komendy:
QUERY_FILAMENT_SENSOR SENSOR=runout.
Dla testu ograniczyłem działanie czujnika do wysyłania komend tekstowych:
[filament_switch_sensor runout]
pause_on_runout: TRUE
runout_gcode:
{action_respond_info("RUNOUT: Filament runout")}
insert_gcode:
{action_respond_info("RUNOUT: Filament inserted")}
event_delay: 3.0
pause_delay: 1.0
switch_pin: ^!P1.26
Niestety system nie widzi kiedy zabraknie filamentu. Zupełny brak reakcji.
System widzi i reaguje kiedy włożę filament. W terminalu pojawia się:
Recv: // RUNOUT: Filament inserted
Ma ktoś jakiś pomysł dla czego nie działa wykrywanie końca filamentu?
Postawiłem Klippera Octoprint na przerobionym Sunlu S8 z płytką SKR V1.4 Turbo i RPi 3B+.
Działa całkiem nieźle ale mam niestety trochę problemów.
Podłączyłem czujnik końca filamentu - taki zwykły switch. Wpisałem konfigurację z dokumentacji:
https://www.klipper3d.org/Config_Refere ... tch_sensor
System poprawnie widzi czujnik i poprawnie raportuje kiedy użyję komendy:
QUERY_FILAMENT_SENSOR SENSOR=runout.
Dla testu ograniczyłem działanie czujnika do wysyłania komend tekstowych:
[filament_switch_sensor runout]
pause_on_runout: TRUE
runout_gcode:
{action_respond_info("RUNOUT: Filament runout")}
insert_gcode:
{action_respond_info("RUNOUT: Filament inserted")}
event_delay: 3.0
pause_delay: 1.0
switch_pin: ^!P1.26
Niestety system nie widzi kiedy zabraknie filamentu. Zupełny brak reakcji.
System widzi i reaguje kiedy włożę filament. W terminalu pojawia się:
Recv: // RUNOUT: Filament inserted
Ma ktoś jakiś pomysł dla czego nie działa wykrywanie końca filamentu?
Re: Klipper i czujnik filamentu
runout_gcode się wykona dopiero po zakończeniu "pauzy". Daj pause_on_runout: False
Re: Klipper i czujnik filamentu
Dla pewności. Gdy filament się skończy wydruk leci dalej ale komenda QUERY_FILAMENT_SENSOR SENSOR=runout wtedy wykonana mówi, że filamentu brak wg sensora, zgadza się?
SET_FILAMENT_SENSOR SENSOR=runout ENABLE=1 nie wiem czy domyślnie jest on na starcie.
SET_FILAMENT_SENSOR SENSOR=runout ENABLE=1 nie wiem czy domyślnie jest on na starcie.
Re: Klipper i czujnik filamentu
Kiedy wyjąłem filament z czujnika w trakcie wydruku drukarka zaczynała wariować. Zacząłem więc testy "na sucho".
Wydaje mi się, że czujnik cały czas jest "włączony", ponieważ raportuje w terminalu pojawienie się filamentu. To czego nie widzę to momentu kiedy filamentu brakuje.
Czy powinienem testować ten czujnik wyłącznie podczas trwającego wydruku?
- Rozarh
- Drukarz
- Postów w temacie: 1
- Posty: 657
- Rejestracja: 12 kwie 2021, 10:45
- Lokalizacja: opolskie
- Drukarka: Fenix, A20M, TT1SM..
- x 267
Re: Klipper i czujnik filamentu
Podstawą działania czujnika filamentu w Klipper są makra PAUSE i RESUME.
"runout_gcode" i "insert_gcode" są opcjonalne i z reguły nie trzeba ich używać.
Po wykryciu braku filamentu Klipper odpala makro PAUSE (o ile masz ustawione pause_on_runout: True) - jeśli masz w nim jakąś kaszanę to "drukarka zaczynała wariować"
Po włożeniu filamentu do czujnika należy ręcznie odpalić makro RESUME.
Jeśli ustawisz pause_on_runout na False i nie zdefiniujesz runout_gcode to detekcja braku filamentu będzie zablokowana.
Definiując runout_gcode i insert_gcode podaje się komendy GCODE w kolejnych linijkach umieszczając na początku z nich tabulator (wcięcie). Można wpisać kilka linijek ale każda z nich musi się zaczynać od wcięcia. Pierwsza linijka bez wcięcia nie będzie już procesowana.
np:
W tym makro głowica się tylko podniesie (o ile Klipper nie zgłosi błędu konfiguracji) ale już nie pojedzie do punktu (0,0). Dodatkowo makro PAUSE nie zostanie wykonane.
"runout_gcode" i "insert_gcode" są opcjonalne i z reguły nie trzeba ich używać.
Po wykryciu braku filamentu Klipper odpala makro PAUSE (o ile masz ustawione pause_on_runout: True) - jeśli masz w nim jakąś kaszanę to "drukarka zaczynała wariować"
Po włożeniu filamentu do czujnika należy ręcznie odpalić makro RESUME.
Jeśli ustawisz pause_on_runout na False i nie zdefiniujesz runout_gcode to detekcja braku filamentu będzie zablokowana.
Definiując runout_gcode i insert_gcode podaje się komendy GCODE w kolejnych linijkach umieszczając na początku z nich tabulator (wcięcie). Można wpisać kilka linijek ale każda z nich musi się zaczynać od wcięcia. Pierwsza linijka bez wcięcia nie będzie już procesowana.
np:
Kod: Zaznacz cały
[filament_switch_sensor my_sensor]
pause_on_runout: False
runout_gcode:
G91 ; relative coordinates
G0 Z+20 F3000 ; lift up head 20mm
G90 ; absolute coordinates
G0 X0 Y0 F5000 ; go to wait position
Parafrazując wpis by artusiek:
Nie chcesz grzebać? Kup Prusę lub Bambu Labs
Kupiłeś coś co dopieszczasz? Naucz się grzebać!!!
Nie chcesz grzebać? Kup Prusę lub Bambu Labs
Kupiłeś coś co dopieszczasz? Naucz się grzebać!!!
Re: Klipper i czujnik filamentu
Dzięki wyjaśnieniu kolegi Rozarh zrozumiałem jak działa ta funkcja i wiedziałem na co zwrócić uwagę (powiązanie z Pause i Resume). To mi dużo dało.
Wcześniej pisałem, że testuję działanie "na sucho" to znaczyło że bez puszczania wydruku i tu był mój pierwszy błąd. U mnie wyciągnięcie filamentu z czujnika nie powoduje żadnej reakcji ze strony drukarki jeśli ta nie drukuje. Zacząłem więc puszczać wydruki i testować zachowanie co oczywiście zabrało dużo więcej czasu.
Dodatkowo trafiłem na stronę: https://ellis3dp.com/Print-Tuning-Guide ... ament.html
I ściągnąłem z niej gotowe makra Pause/Resume. Dostosowałem je do moich potrzeb i wszystko działa jak trzeba.
Wcześniej pisałem, że testuję działanie "na sucho" to znaczyło że bez puszczania wydruku i tu był mój pierwszy błąd. U mnie wyciągnięcie filamentu z czujnika nie powoduje żadnej reakcji ze strony drukarki jeśli ta nie drukuje. Zacząłem więc puszczać wydruki i testować zachowanie co oczywiście zabrało dużo więcej czasu.
Dodatkowo trafiłem na stronę: https://ellis3dp.com/Print-Tuning-Guide ... ament.html
I ściągnąłem z niej gotowe makra Pause/Resume. Dostosowałem je do moich potrzeb i wszystko działa jak trzeba.
Re: Klipper i czujnik filamentu
Teraz mam kłopot z tym, że czujnik filamentu załącza się bez potrzeby. FIlament jest a drukarka przestaje drukować. Nie wiem z czego to wynika. Może jakiś problem z kablem a może czujnik jest wadliwy. Czujnik zamocowany całkiem solidnie i nie rusza się.
Czy zwiększenie "event_delay: 3.0" może tu pomóc?
Chodzi o to, żeby program ignorował chwilowe sygnały czujnika i zareagował na sygnał z czujnika filamentu, który trwa powyżej zadanej wartości.
Czy zwiększenie "event_delay: 3.0" może tu pomóc?
Chodzi o to, żeby program ignorował chwilowe sygnały czujnika i zareagował na sygnał z czujnika filamentu, który trwa powyżej zadanej wartości.