3D принтеры 3Def Voron 2.4 комплектуются простым, но при этом очень удобным датчиком пластика с функцией остлеживания движения.

Конструкция датчика очень проста.
При прохождении пластика внутри датчика происходит вращение колесика с прорезями, в результате датчик срабатывает и не срабатывает и посылает соответствующие сигналы в плату управления.
Датчик должен быть закреплён снаружи или внутри принтера.
С одной стороны должен входить пруток, проходить сквозь датчик, выходить и идти далее к голове через трубку бодуена.
Внимание! Если пластик будет идти к голове по воздуху, то у вас будут происходить постоянные ложные срабатывания, так как при перемещении головы в начале будет вытягиваться большой объём прутка (например при перемещении головы вперёд), а далее не смотря на то, что экструдер будет давить пластик, будет выбираться ранее вытянутый пруток, а внутри датчика движения пластика не будет.
На разъёме датчика есть маркировка, которая показывает, как датчик должен быть подключен. Для работы датчика его достаточно подключить в любой свободный разъём для концевых выключателей, например, на плате Fly D8 Pro:

Внимание! Всегда тщательно проверяйте, что вы не перепутали контакты для подключения. При не правильном подключении велика вероятность выхода поломки датчика.
Для работы датчика используются штатные механизмы klipper, так что не требуется устанавливать никакое дополнительное программное обеспечение.
Для добавления датчика в вашу конфигурацию можно или добавить соответствующую секцию в printer.cfg или сделать отдельный файл, например назвав его filament_sensor.cfg, в нем прописать соответствующую секцию, а в printer.cfg просто добавить [include filament_sensor.cfg]
Пример файла filament_sensor.cfg

Пример добавления файла filament_sensor.cfg в файл printer.cfg

Код секции для добавления представлен ниже:
[filament_motion_sensor Пластик]
detection_length: 22 # Длина пластика, при которой срабатывает датчик.
# Если датчик срабатывает слишком часто,
# увеличьте данную длину
extruder: extruder
switch_pin: PD10 # PIN, на который подключен датчик пластика
pause_on_runout: True # Если True, то при срабатывании датчика принтер будет
# становиться на паузу
# G-Code при срабатывании датчика
runout_gcode:
pause
Обратите внимание, что вам необходимо в параметре
switch_pinуказать тот PIN, на который вы подключили датчик на вашей плате!
При работе с датчиком необходимо добавить макрос очистки паузы в ваш макрос PRINT_START, иначе вы можете столкнуться с проблемой не срабатывания датчика. Почему это происходит? Всё достаточно просто, рассмотрим последовательность шагов:
pausePAUSE - мол всё хорошо, принтер на паузе. PAUSE по прежнему стоит 1 - то есть принтер на паузе! Таким образом датчик не сработает и печать будет испорчена. Что бы избежать данной ситуации мы рекомендуем в ваш макрос PRINT_START добавить в самое начало очистку паузы:

Так же не забудьте добавить выключение и включение датчика пластика:

На датчике есть красный светодиод, который показывает его работу. Если вы правильно подключили датчик, то при движении пластика внутри его красный светодиод будет моргать.


Если вы правильно прописали конфигурацию, то датчик появится в списке устройств на экране принтера

1. Делаем поиск дома по всем осям и выравниваем портал.
2. Нагреваем голову до рабочей температуры
3. Вытаскиваем трубку боуден из головы, оставляя свободный ход датчика, как на картинке:

4. Выбираем расстояние 25 мм, выбираем скорость 5 мм и нажимаем кнопку “Заправить”.

5. Принтер начнёт выдавливать пластик, после чего должен встать на паузу и уехать в дом (правый задний угол).
Если это произошло, поздравляю вас, датчик работает корректно.
Теперь нужно убедиться, что датчик работает при вставленной трубке боуден.

2. Делаем поиск дома по всем осям и выравниваем портал.
3. Нагреваем голову до рабочей температуры.
4. Убеждаемся, что трубка подачи плотно вставлена в голову до самого конца.
5. Выбираем расстояние 25 мм, выбираем скорость 5 мм и нажимаем кнопку “Заправить”.

6. Принтер начнёт выдавливать пластик, но при этом он не должен уходить на паузу.
Если всё так, то датчик работает корректно.