Кремень FMZ Реклама
Kremen FMHM Реклама

Датчик окончания филамента + Octoprint

rafaelrs
Идет загрузка
Загрузка
18.09.2017
8967
10
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

6
Статья относится к принтерам:
FLSUN 3D Metal Frame Large Print Area 3D Printer
Да, знаю, некоторые напишут, зачем он вообще нужен, ибо все равно не определит проблем, когда у вас пруток не проталкивается (сточился/застрял в пробке) или мотор пропускает шаги/щелкает. Ну... в принципе вы правы, но иногда все же такой датчик полезен, лучше чем ничего. Например, у вас остается мало прутка на катушке, вы не знаете, хватит ли вам, у вас есть новая катушка, а локальный дефект для вас не критичен. Ну чтож, погнали.

А в принципе тут говорить особо нечего. Но вам понадобиться Raspberry Pi (или Orange или что нибудь еще совместимое и умеющее работать с GPIO) с установленным Octoprint. Так же нужно будет установить плагин Filament Sensor.

Датчик простой как две копейки:
Датчик окончания филамента + Octoprint
Датчик окончания филамента + Octoprint
Даже модель выкладывать не буду, т.к. простая как две копейки (я даже ее не сохранял вроде). Микрик у меня остался после перехода на автоуровень. Попробовал так же оптический датчик - не понравилось - не все пластики берет, срабатывание не очень надежное, вернее может сработать ложно, слегка прозрачный PETG вообще не берет.

Теперь подключение. Подключать будем к Raspberry Pi 3.
Датчик окончания филамента + Octoprint
Датчик окончания филамента + Octoprint
Далее устанавливаем плагин Filament Sensor: http://plugins.octoprint.org/plugins/filament_sensor/Настройка идет на стандартный 17ый пин. Инструкция по настройке находится здесь: https://github.com/MoonshineSG/Octoprint-Filament, но все что я делал:
Датчик окончания филамента + Octoprint
Т.е. прописал в конфиге:

filament:

pin: 17

bounce: 400



Также в консоли прописал:

sudo chmod a+rw /dev/gpiomem

Далее в скриптах Octoprint прописал для паузы следующее:
Датчик окончания филамента + Octoprint
Для паузы:

G91

G1 Z15 F1000

G90

G1 X10 Y10 F4500



Для продолжения после паузы:

G90

G1 Z{{ pause_position.z }} F1000

G1 X{{ pause_position.x }} Y{{ pause_position.y }} F4500



И вроде как все должно было заработать. Но не тут то было. Пауза не срабатывала, полез отслеживать логи Octoprint:

tail -f /root/.octoprint/logs/octoprint.log

Вижу там вот такую ошибку:

RuntimeError: Failed to add edge detection

Ошибка уже разобрана здесь: https://github.com/MoonshineSG/Octoprint-Filament/issues/8. Единственное лекарство - скачать последний чистый дистрибутив Raspabian, все обновить и поставить Octoprint из исходников. Дело в том, что GPIO в некоторых установках работает криво и мне так же повезло. Там же говорят, что ошибка присутствует в готовой сборке Octoprint.

Не хотелось конечно переустанавливать все, целый день бился с проблемой, даже хотел свою любимую Fedora поставить, но там GPIO вообще пока не работает. В итоге забил, поставил все заново. И о чудо, все заработало.

За сим все, система работает, ставит на паузу, хлопот не доставляет.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

6
Комментарии к статье