Czujnik braku filamentu - dobór i montaż
Ten tekst został przetłumaczony automatycznie za pomocą Tłumacza Google.
Czujnik bicia filamentu monitoruje obecność, a niektóre typy nawet ruch lub zakleszczenie filamentu. Jest to przydatne, jeśli drukujemy pod naszą nieobecność. Możemy to zrobić sami lub kupić gotowe różne inteligentne czujniki. Po wykryciu końcówek filamentu lub jego zakleszczeniu (w zależności od rodzaju) czujnik wysyła sygnał, który może być przetworzony bezpośrednio przez drukarkę lub Octoprint. To zależy od tego, gdzie podłączymy czujnik.
Przyjrzyjmy się niektórym typom i temu, co można za ich pomocą wykryć:
Jeśli chcemy pobawić się i wypróbować różne typy z Thingiverse lub zamodelować nasz model czujnika bicia, wystarczy kupić te mikroprzełączniki z kółkiem na końcu. Będziemy się świetnie bawić i możemy się wygłupiać praktycznie w nieskończoność . Używając tylko przełącznika, trzeba będzie włączyć procesor PullUp na danym pinie (jeśli go obsługuje) lub użyć rezystora 10k podłączonego na stałe do + 5V i sygnału do płytki, aby było jasne dla procesora, czy oczekiwać logiki 1 lub 0, gdy przełącznik nie jest zamknięty. | |
Czujnik optyczny jest nieco bardziej wyrafinowany. Może to mieć problem z wykryciem końca filamentu w przypadku bardziej przezroczystych materiałów, ale w tym przypadku czujnik można wyłączyć na przykład w menu drukarki. Jest to problem od mniejszego do wyjątkowego. Bardziej niezawodnym rozwiązaniem jest zastosowanie czujnika optycznego z barierą mechaniczną. Tutaj filament nie jest wykrywany bezpośrednio, ale włożony filament, np. Przez kulkę, wprowadza wstępnie przygotowaną mechanicznie barierę, która jest następnie wykrywana przez czujnik. Tak ma to Průša w MK3. | |
Tutaj do gry wchodzi pierwszy gotowy produkt. W tym celu wystarczy wydrukować uchwyt i prawidłowo podłączyć trzy przewody. Ma też trochę ziarnistości w postaci diod LED i rezystorów dla PullUp / Down, więc zawsze będzie działać prawie ze wszystkim. | |
Ciekawe dzieło jest również produkowane przez Bigtreetech. Jest to detektor zarówno końca filamentu, jak i jego zakleszczenia. Na przykład w przypadku źle nawiniętej lub wyłożonej cewki, zatkanej dyszy lub innego problemu z przejściem włókna, może to być więcej niż bardzo przydatne. | |
Połączenie polega na podłączeniu 2 lub 3 przewodów do jednego ze złączy Endstop. Zwykle pierwotnie przeznaczony do drugiego prawego ogranicznika X +. Sygnał jest logiką 0 (przełączniki masy), więc nie zaszkodzi włączyć rezystor PullUp w Marlinie. W pierwszym przypadku (przełącznik) wystarczy podłączyć przewody 2, w ostatnim (Bigtreetech Smart sensot) Marlin jest dostosowany do czujnika ruchu żarnika. W przeciwnym razie konfiguracja jest bardzo podobna. Montaż to kwestia możliwości i gustu. W prostszej sytuacji są właściciele rozwiązań Bowdena, w których filament układa się znacznie lepiej.
Czujnik braku filamentu zawsze umieszczamy PRZED ekstruderem. Za ekstruderem koniec filamentu nie miałby już szansy na wykrycie - nikt nie powinien naciskać :)
Konfiguracja pinów czujnika
Najpierw w konfiguracji Marlina określamy, gdzie ma się spodziewać sygnału z czujnika.
BTT SCR 1.3
plik pins_BTT_SKR_V1_3.h
// Czujnik końca filamentu // #ifndef FIL_RUNOUT_PIN # zdefiniować FIL_RUNOUT_PIN P1_28 #endif
BTT SKR mini E3
W przypadku tej płyty musimy sobie pomóc, w przypadku czujników, które tego wymagają, dostarczając + 5V z dowolnego miejsca na płycie głównej.
plik pins_BTT_SKR_MINI_E3.h
// Czujnik końca filamentu // #ifndef FIL_RUNOUT_PIN # zdefiniować FIL_RUNOUT_PIN PC15 // „E0-STOP” #endif
Podstawowe ustawienia Marliny
Plik Configuration.h
#define DEBUG_LEVELING_FEATURE // - Pozwala nam na polecenia do monitorowania stanu czujników z gcode.
Plik Configuration_adv.h
#define ADVANCED_PAUSE_FEATURE // - Włącza polecenie M600 używane podczas wymiany żarnika.
Gry z przełącznikiem
Najprostszym sposobem podłączenia przełącznika jest to, że po włożeniu żarnika wyłącznik zamyka masę i pin detekcyjny na płytce. Dlatego włączamy rezystor PullUp, aby zapewnić obecność logicznego (5V lub 3,3V) na pinie detekcyjnym, gdy przełącznik nie jest zamknięty. Jeśli nasza płyta nie może włączyć rezystora pullup w oprogramowaniu, sami dodamy rezystor 10kohm i podłączymy między + 5V (3,3V) a wykrywanym pinem.
Plik configatin.h:
# zdefiniować FILAMENT_RUNOUT_SENSOR #if ENABLED (FILAMENT_RUNOUT_SENSOR) #define NUM_RUNOUT_SENSORS 1 // Liczba czujników, do jednego na wytłaczarkę. Zdefiniuj FIL_RUNOUT # _PIN dla każdego. #define FIL_RUNOUT_INVERTING false // Ustaw na true, aby odwrócić logikę czujnika. # zdefiniować FIL_RUNOUT_PULLUP // Użyj wewnętrznego podciągania dla kołków końca filamentu. // # zdefiniuj FIL_RUNOUT_PULLDOWN
Przykłady konstrukcji i montażu:
Szczególnie nadaje się do Direct Drive Titan lub BMG. | Uniwersalne rozwiązanie do napędu Bowdena i bezpośredniego. |
Gry z czujnikiem optycznym
Zaletą czujnika optycznego jest minimalne tarcie i jak do tej pory zauważyłem, filament nie zacina się przy wyciągnięciu w kierunku przeciwnym do dźwigni, jak w przypadku ograniczników mechanicznych. Wspomniany czujnik również wymaga rezystora podciągającego, więc albo włączamy go programowo, albo lutujemy.
Plik configatin.h:
# zdefiniować FILAMENT_RUNOUT_SENSOR #if ENABLED (FILAMENT_RUNOUT_SENSOR) #define NUM_RUNOUT_SENSORS 1 // Liczba czujników, do jednego na wytłaczarkę. Zdefiniuj FIL_RUNOUT # _PIN dla każdego. #define FIL_RUNOUT_INVERTING false // Ustaw na true, aby odwrócić logikę czujnika. # zdefiniować FIL_RUNOUT_PULLUP // Użyj wewnętrznego podciągania dla kołków końca filamentu. // # zdefiniuj FIL_RUNOUT_PULLDOWN
Oddzielny czujnik. | Mój ulubiony do direct z BMG lub Titan. |
EzOut - gotowy czujnik bicia
Ten zakończony czujnik bicia ma już rezystor podciągający. Reszta jest taka sama w konfiguracji.
Plik configatin.h:
# zdefiniować FILAMENT_RUNOUT_SENSOR #if ENABLED (FILAMENT_RUNOUT_SENSOR) #define NUM_RUNOUT_SENSORS 1 // Liczba czujników, do jednego na wytłaczarkę. Zdefiniuj FIL_RUNOUT # _PIN dla każdego. #define FIL_RUNOUT_INVERTING false // Ustaw na true, aby odwrócić logikę czujnika. // # zdefiniuj FIL_RUNOUT_PULLUP // Użyj wewnętrznego podciągania dla szpilek końca filamentu. // # zdefiniuj FIL_RUNOUT_PULLDOW
Jeśli kupujemy ten czujnik, podłączamy go dołączonym kablem bezpośrednio do płyty głównej. Dla jasności załączam połączenie pinów, które nie są zaznaczone na produkcie.
Załącznik do oryginalnego Endera. | Mocowanie do napędu bezpośredniego BMG. |
Inteligentny czujnik filamentu BIGTREETECH
Ten kawałek jest bardzo poręczny. Jednak zamontowanie go na wytłaczarce z napędem bezpośrednim może być problematyczne. Ze względu na swoją wagę przymocowałem go do ramy osi X i stworzyłem rodzaj hybrydy między bowdenem a ekstruderem z napędem bezpośrednim.
Konfiguracja nieco się rozwinie.
Plik configuration.h
# zdefiniować FILAMENT_RUNOUT_SENSOR #if ENABLED (FILAMENT_RUNOUT_SENSOR) #define NUM_RUNOUT_SENSORS 1 // Liczba czujników, do jednego na wytłaczarkę. Zdefiniuj FIL_RUNOUT # _PIN dla każdego. #define FIL_RUNOUT_INVERTING false // Ustaw na true, aby odwrócić logikę czujnika. # zdefiniować FIL_RUNOUT_PULLUP // Użyj wewnętrznego podciągania dla kołków końca filamentu. // # zdefiniuj FIL_RUNOUT_PULLDOWN // Użyj wewnętrznego rozwijania dla pinów bicia filamentu. # zdefiniować FILAMENT_RUNOUT_SCRIPT "M600" # zdefiniować FILAMENT_RUNOUT_DISTANCE_MM 7 # zdefiniować FILAMENT_MOTION_SENSOR
Po prostu gdzieś to powiesimy. | Tutaj, a potem na bezpośrednie. |
Bowden do bezpośredniego rozwiązania hybrydowego. | Wynik, którego obecnie używam. |
Test funkcjonalności
Po podłączeniu czujnika filamentu i załadowaniu zmodyfikowanego Marlina, testujemy funkcjonalność czujnika z wkładanym i wyjmowanym filamentem poleceniem M119 z konsoli. Na przykład Octoprint, Simplify 3D itp.
Powinniśmy otrzymać następujące wyniki:
Włożono FIlament
M119 (nieważne, czy filament czy nie): Recv: Zgłaszanie stanu zatrzymania końcowego Recv: x_min: otwórz Recv: y_min: otwarte Recv: z_min: TRIGGERED Recv: filament: TRIGGERED Recv: ok
Usunięto filament
M119 (nieważne, czy filament czy nie): Recv: Zgłaszanie stanu zatrzymania końcowego Recv: x_min: otwórz Recv: y_min: otwarte Recv: z_min: TRIGGERED Recv: filament: otwarty Recv: ok
Jeśli czujnik zachowuje się odwrotnie, zmienimy to tylko w pliku configatin.h :
#define FIL_RUNOUT_INVERTING true // Ustaw na true, aby odwrócić logikę czujnika.
Wniosek
Obecnie używam inteligentnego czujnika filamentu firmy Bigtreetech z wytłaczarką BMG i wymienionym powyżej źródłem filamentu Bowdena. Wcześniej miałem optyczny na napędzie bezpośrednim. Podobało mi się wystarczająco dużo mechanicznych. Miały one tendencję do zacinania się od czasu do czasu podczas wymiany żarnika, gdy szersza część końcowa wyciągnięta z głowicy przez dźwignię przełącznika pocierała się.