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

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

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

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

Теперь подключение. Подключать будем к Raspberry Pi 3.
7db55bb8ee441211a6d81a69dc0b7d5a.png
30a0fd3051c2a380f26cce3b70d87126.jpg
Далее устанавливаем плагин Filament Sensor: http://plugins.octoprint.org/plugins/filament_sensor/

Настройка идет на стандартный 17ый пин. Инструкция по настройке находится здесь: https://github.com/MoonshineSG/Octoprint-Filament, но все что я делал:
2a5b111cbebad83e9a2e55afc98bb92a.png
Т.е. прописал в конфиге:

filament:
pin: 17
bounce: 400

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

sudo chmod a+rw /dev/gpiomem

Далее в скриптах Octoprint прописал для паузы следующее:
85790193c9b45d5bb4fbb1aab485f36c.png
Для паузы:

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 вообще пока не работает. В итоге забил, поставил все заново. И о чудо, все заработало.

За сим все, система работает, ставит на паузу, хлопот не доставляет.
Подписаться на 3Dtoday
5
Комментарии к статье

Комментарии

18 Сен 19:44
0
вот если бы использовали repetier-firmware, вы бы знали как делать датчик, и какой он должен быть, и что он может не только по окончанию нити работать, но и по застреванию в экструдере.
18 Сен 19:54
3
Подсоединение кнопки не верное. От куда у вас берется логический ноль?
Вот так надо:


В вашем случае 2 вариант. Вообще конечно все эти ноги имеют встроенную подтяжку включаемую, но в случае чего прийдется просто забыть про ногу. Это лайтовый вариант.
Ну а так вы конечно верны, датчик окончания филамента... Я не супер гуру печати, но за все разы я или успевал жмакнуть паузу скажем когда на катушке оставалось 10-20 метров, либо там и так было так мало что начинать печатать не было смысла.
18 Сен 21:15
0
Вы уверены, что с ногой что-то может произойти? Ведь когда туда ничего не подключено оно итак болтается без земли через резистор. Может просто ноль там будет не гарантирован, и все?
18 Сен 21:29
2
Может просто ноль там будет не гарантирован, и все?
Именно. Это залог ложных срабатываний и неправильно работы устройства.
Опыт показал, что легче "подвешивать" резистор, чем потом гадать: "А чего это принтер просто так остановился? Может кнопка накрылась? Или ещё чего?".
Сколько ремонтировал и разбирал разной техники - очень часто вижу целые гирлянды резисторов для подтяжки вывода.
19 Сен 08:22
0
Ну когда что-то будет, тогда локти кусать будет поздно. Ну а помехи... это так.
18 Сен 22:17
1
А при ретракте язычек концевика не будет цепляться за филамент?
18 Сен 22:23
2
Решается заменой на другую модель с колёсиком типа таких:

Но тут надо подобрать размер рычага и колёсика, чтобы при вводе нового прутка не упираться в колесо. Или ставить рыча принудительного отвода во время загрузки филамента.
18 Сен 22:34
0
Не надо ничего этого, см. мой ответ ниже. Мыслите проще.
18 Сен 22:33
0
Даже если будет, это не критично - просто датчик отодвинется немного назад, а потом обратно вернется.
20 Сен 02:18
1
7ac68eec95f72eb68ce6149b9942d284.jpg

Filament Sensor Case & Setup Info/Settings found on #Thingiverse https://www.thingiverse.com/thing:2443425

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

3D принтер за 5 тысяч рублей продолжение:

3Dtoday за 60 секунд от 14 декабря

Объединенная двигателестроительная корпорация осваивает 3D-печать с расчетом на применение в серийном производстве

Китайская аддитивная отрасль получит расширенную государственную поддержку

Видео обзор Фрезерного станка с ЧПУ AMAN от компании 3Dtool

3DFuel выпускает водорастворимую нить – легкий в удалении материал поддержки