Сигнализация остановки подачи филамента

Подписаться на 3Dtoday
kaban1941
Идет загрузка
Загрузка
7 Ноября 2016
4305
37
Вопросы и Ответы
Всем привет!
Если кто то решал уже подобный вопрос, то ткните меня пожалуйста носом, спасибо.
В общем, после очередной провальной печати- это когда после 9 часов работы посреди ночи прерывается подача филамента, а утром ты видишь неоконченную модель, в лучшем случае, я задумался.
Подача может прерваться по разным причинам, отбросим следствия неверных настроек принтера, рассмотрим только внешние факторы такие как: Пересыхание, намокание, неровности и пр. болезни филаментов. Как раз по причине старости и лежания на открытом воздухе и произошла моя очередная авария. Пробовал на другом принтере печатать- та же история, начало есть, через некоторое время сопло забивается, короче пластик плохой, выкинуть жалко, а сидеть над принтером неохота.
Решением проблемы может стать некая сигнализация, которая бы при остановке подачи филамента ставила бы принтер на паузу, ну можно еще сирену поставить параллельно.

Алгоритм работы устройства я вижу следующим:
Некий датчик контроля подачи филамента при остановке подачи на время превышающее время прохода сопла по диагонали стола (самый длинный путь берем, для исключения ложных срабатываний) дает сигнал на реле времени с задержкой на включение. Время уставки на 1-2 сек больше времени прохода солпа через стол. Если время остановки превышает уставку, реле срабатывает и включает сигнализацию.
По-хорошему я хотел бы, чтоб принтер в этот момент вставал на паузу.

Вопрос: есть ли в Ардуино возможность подключить куда-нибудь выходные контакты реле времени, чтоб они управляли постановкой на паузу?
Ответы на вопрос

Ответы

07.11.16 в 19:27
печатает на RepRap
1
Датчик можно взять из мышки выпаять механизм колёсика. Думаю самый верный способ именно определять ползет ли филамент, если ставить датчик пропуска шагов на шаговик экструдера то в случае если феломент кончится он не сработает, если ставить фото элемент на пруток то он сработает только в случае если феломент кончится, в случае забившегося сопла не поможет , по этому нужен именно датчик подачи пластика. Но тут надо экспериментировать с ретрактом, при забившемся сопле, он будет дергать датчик туда сюда, но если датчик повесить как очиститель для филомента то датчик будет прыгать вместе с прутком, но на втягивание будет срабатывать. А по поводу "Время уставки на 1-2 сек больше времени прохода солпа через стол" тут лучше сравнивать показания сколько должно было запихано в экструдер и сколько по факту запихали, проверка должна проводится с частотой чувствительности/точности/цены деления датчика который будет контролить поползновения феломента, в случае если значения разнятся печать на паузу. Правда как это всё сделать ХЗ :D
07.11.16 в 20:13
0
Идея по датчику не плоха, только Вы сами описали будущие трудности по осуществлению. Я на самом деле датчик то уже выдумал, мне он видится не электроным, а электро- механический, в лучших традициях СССР ))
07.11.16 в 19:30
печатает на Ultimaker 2
3
Привет в первом приближении реализацию вижу такой:
Есть вот такой дисплей по-больше и по-меньше, про который много написал Илья раз, два, три,
Есть у нему вот такая штука, которая позволяет поставить на паузу и продолжить печать в случае отсутствия электричества, Илья тоже много про нее написал, в третьей части.

Так вот если в разрыв контактов, которые проверяют наличие тока в сети поставить вот такого плана проверку наличия прутка:
photo_2016-11-07_19-29-07.jpg


То вполне можно реализовать то что ты хочешь, пруток закончился, печать встала на паузу, проснулся заправил новый пруток и продолжил печать.
07.11.16 в 19:33
печатает на RepRap
0
Вань, а если утолщение на прутике? Концевик не замкнётся.
07.11.16 в 19:35
печатает на Ultimaker 2
0
по идее не должен.там амплитуда большая с запасом.
07.11.16 в 19:34
печатает на RepRap
1
В случае если сопло забито не сработает.
07.11.16 в 19:36
печатает на Ultimaker 2
0
нет, и если пруток грызть будет тоже нет, только наличие прутка
07.11.16 в 20:14
0
Ты не допонял немного задачи ))) Пруток может не кончится, а сопло забиться, в таком случае датчик не сработает.
07.11.16 в 20:19
печатает на Ultimaker 2
0
не сработает, как тут реализовать не знаю)))) катушка вращается не постоянно, пруток движется тоже не постоянно. к чему здесь цепляться не знаю
07.11.16 в 20:34
печатает на Kossel Kit
2
Иван! На МКС ТФТ есть ещё вход специально для паузы. Одно другому не мешает. А, вот идея с колёсиком и энкодером на входе - дельная. Можно через отдельную ардуинку замутить.
08.11.16 в 00:41
печатает на RepRap
0
Первая мысля была именно такая. Еще есть датчик толщины филамента. Там ардуинка нано использована. Пара-тройка выводов точно незадействована. Скрутить все в кучу и получимтся офигенная штука. Механику представляю как сделать - код... ))) Пока не писатель.
07.11.16 в 20:18
печатает на RepRap
1
Вместо микрика поставить энкодер и считать замыкания
07.11.16 в 20:21
печатает на Ultimaker 2
0
энкодер будет стоять при перемещениях или паузе например когда время на слой увеличенное, если сработает пауза не сразу то то есть шанс не напечатать часть слоя, если сразу то возможны фальстарты
07.11.16 в 20:33
печатает на RepRap
0
Ну это с любым датчиком так будет но выход видится - ЕСЛИ :):):) считывать сигнал с движка экструдера сравнивать эти 2 сигнала например с помощью arduino pro mini и по рассинхнону отправлять в com-порт меги g-код паузы.
07.11.16 в 20:26
0
Теплее )) Я об этом подумал сразу же. Но незадача, я по образованию не электронщик, а электро-механик, мне эти ваши микро-фитюльки и программы ими управляющие не совсем непонятны, то ли дело асинхронный двигатель на 380, или кабель с руку толщиной! ))) В общем замыкания можно считать с помощью замыканий неким эксцентриком микрика. Я на таком принципе и хочу реализовать. Но по моей задумке даже не надо считать эти замыкания, главное, чтоб они в принципе были, а вот когда они пропадают- это значит, что филамент встал. АЛЯРМ!!!
07.11.16 в 20:19
0
В общем, как я выше писал, датчик то я придумал, попробую построить и испытать. Меня больше волнует вопрос постановки принтера на паузу по сигналу реле. Вариант с заменой дисплея и установкой доп.модуля для паузы хороший, буду думать, но требует вложений, ожидания посылки и переделки принтера. Хочется из того, что есть конечно.
07.11.16 в 20:23
печатает на Ultimaker 2
0
я пока не знаю кто еще умеет так на паузу ставить, а датчиком поделишься?
07.11.16 в 20:30
0
Датчик обменяю на паузу )))
Все, пока отошел думать, рисовать и печатать, результат покажу. Мне уже жена 2 халявных реле времени принесла на опыты ))
08.11.16 в 20:06
печатает на RepRap
1
Экран этот может и хорош, но для паузы его не надо покупать. Достаточно микрик и настройка прошивки. Насчет марлина не подскажу, а вот в репетиере есть такое.
10.11.16 в 14:00
0
А где в репитере такое есть, не подскажете?
10.11.16 в 14:54
печатает на RepRap
1
Запросто. Пункт JAM в настройках.

Jam and out of filament detection
From 0.92.3 onwards the firmware supports jam and out of filament sensors. These sensors work quite simple. Filament goes through
the sensor and turns a wheel. The turning wheel turns a switch on/off. This might be a mechanical switch, but contact less switches
like light barrier or hal sensor are better. One on/off cycle should always need nearly the same amount of extruder steps (JAM_STEPS).
Between changes the sensor might flip back to old signal, so we require JAM_MIN_STEPS since the last change before we assume the signal as
changed again completing the cycle.
If the extruder starts
to slip it will take more and more steps for a full cycle. Based on the steps we can follow, that we have a problem. If we have only a mild increase (> JAM_SLOWDOWN_STEPS)
extrusion gets heavier due to partial clogging or reduced grip. In that case we reduce speed by setting speed multiplier to JAM_SLOWDOWN_TO.
If we need more then JAM_ERROR_STEPS steps, we assume a more serious problem that even reduced speed could not solve and take the action defined with JAM_ACTION, preferably something that pauses the running print.
Action 0 does simply print a warning on the LCD and lets the printer beep. Action 1 is my preferred solution, but requires a LCD screen. It will block
any host communication preventing further print, moves extruder to filament change position and disables temperature and all motors, which would home
after filament change. Then it waits for the user to react. First click on LCD will reheat extruders. Then you have to wait until all extruders are back on
temperature. After that you can move extruder with your click encoder to remove filament, test if extrusion works, etc. During this period jam detection is disabled! Action 2 will request a pause from the host or pause a sd print.
To handle the new feature, there are some new commands:
M513 resets the jam signal, so the printer stops complaining about jam and also disables the beeper.
M601 S1 pauses extruder temperatures while M601 S0 restores the temperatures before the pause.
M602 S<1/0> P<1/0> is for debugging jam (S value) or disabling jam control (P value). If you enable jam debug, the firmware will not execute jam
actions. Instead it will write the signal switch steps and percent values into the host log. That way you can calibrate your 100% value.
This is also useful to find out at which extrusion speed the forces get too high, so that extruder starts to slip.
10.11.16 в 19:12
0
Спасибо, осилил! К сожалению я не смогу такое реализовать, ибо в кодах не понимаю почти ничего. Надо или партнера искать, или по другому делать. Подумаю.
07.11.16 в 20:47
печатает на Kossel Kit
4
Всем отписавшимся выше. Почитал и пришёл к такой идее. Два оптических энкодера - один на валу экструдера, второй на колёсике недалеко от входа. Сравнивать количество импульсов от обоих энкодеров (с поправкой на диаметры) за некоторый период (скажем - пару секунд). И, чтобы не грузить основной контроллер, сделать это на отдельном.
Програмка получается чуть ли не два десятка строчек. А, ардуино нано стоит копейки.
08.11.16 в 00:41
печатает на RepRap
0
А вот это не сработает, когда мотор экструдера дырдырдыркать начнет (при нормальном прижиме) вместо перегрызания прутка. Точнее, может и сработать, но такую ситуацию отдельно обрабатывать надо, наверное. Хотя, если на энкодере достаточно делений, движение до отскока таки даст импульс, и тогда сработает.
08.11.16 в 15:40
печатает на Cheap3D V300
0
А куда он денется? Дрыганье есть? Есть! Филамент движется? Нет. Ну вот и все ясно.
08.11.16 в 00:44
печатает на RepRap
1
Вместо энкодера на движке экструдера взять его сигнал STEP.
21.11.16 в 13:47
печатает на Hercules New
0
Я посмотреть хочу как такое будет работать на боудене с ретрактом.
Если считаете - что возможно, то надо вводить задержку на регулируемую дубовость срабатывания.
А это - в свою очередь затормозить саму печать.

Круг замкнулся.

Дилемма - скорость печати .VS. датчик конца/запутки.
21.11.16 в 14:29
печатает на Kossel Kit
1
Сравнить два квадратурных энкодера - не ахти какая сложная задача. Да - это не прецизионные измерения. И время реакции - отнюдь не сотые доли секунды. Но, на отрезке в 5см вполне можно отследить критическое расхождение скоростей (с учётом направления).
09.11.16 в 01:38
печатает на ZAV-L
1
Находишь бабку на пенсии, которой делать нечего и внуков нет, каждый раз сажаешь ее на стульчик рядом с принтером, объясняешь куды смотреть, и вуаля, за небольшую прибавку к её пенсии у тебя полноценный "датчик" который следит чтоб не забилось, чтоб не закусилось и чтоб не закончилось;):D

А если без юмора то колесико энкодера (или то же самое просветное колесико из мышки,(но лучше вот такой) с оптодатчиками, я бы поставил на подшипник зажима прутка экструдера, ибо если ставить на сам мотор экструдера то он будет крутить даже если зажевало забилось или закончилось.
А еще вариант поставить датчик вращения катушки с филаментом! логически рассуждая, когда сопло забилось - пруток не подается - катушка не крутится, когда зажевало- пруток на месте- катушка не крутится, когда пластик закончился-отдавши последний виток филамента катушка перестает крутиться. Способ не пойдет только если у вас пластик не на катушке...
10.11.16 в 14:12
2
Здравствуйте, господа и дамы. Тем временем у меня готов первый датчик аварии филамента. Полностью собран, настроен и прошел первичную проверку. Работает, как я задумывал и функцию полностью выполняет. Надежен, как автомат Калашникова, т.к. ломаться нечему, начинка внутри советская военной приемки. Дороже, а что делать? Поставлю потом на несколько суток в работу для выявления возможных отказов, но сомневаюсь, что они будут.
Осталось решить вопрос с паузой, хотя я и за это уже придумал весьма простой способ, хотя немного громоздкий, если вообще вариантов более не будет.
Все, убегаю, дико нет пока времени, с меня потом описание и попробую видео работы снять, когда уже на принтер установлю.
Нашел, кстати, 2-х канальное реле времени, которое подойдет для управления принтером о 2-х головах. Производитель дает 10 лет гарантии, а в случае поломки бесплатно меняет и все это счастье в 20 мин от моего дома, его и буду использовать. Но это пока будущее ))
Чуть не забыл, вот мой датчик в сборе и корпус к нему, объем примерно с коробок спичек вышел, меньше не смог пока родить.
DSC03659.JPG
20.11.16 в 20:10
печатает на RepRap
1
А внутрях то что?
21.11.16 в 13:48
печатает на Hercules New
1
200 баксов.
21.11.16 в 14:20
печатает на RepRap
1
200 баксов дорого :)
21.11.16 в 14:35
печатает на Kossel Kit
1
200 баксов дорого
- НИОКР, однако! :)
21.11.16 в 20:17
печатает на Prusa i3 Steel
0
так что есть уже тема для статьи, хоть бы и рекламной?
04.12.16 в 21:48
0
Нет пока. Прут заказы, нет времени. А так то все работает ))
13.08.17 в 19:13
0
Нашел готовые датчики филамента разной степени годности на thingiverse по запросу filament monitor. В частности, вот эти два https://www.thingiverse.com/thing:455363 и http://tunell.us/
Первый - DIY, работает на датчике холла - магнит, закрепленный на подшибнике, который вращает филамент, проходя мимо датчика, посылает сигнал на 57 контакт ramps. для платы ramps с прошивкой марлин, есть инструкция по изменению прошивки.
Второй - коммерческий, покупка(двойного датчика для двойного экструдера)+ доставка обойдется в 8 с лишним тысяч(по состоянию на август 2017), но, вместе с тем, есть подробный мануал по подключению к различным платам управления, поддерживает двойной экструдер. Тоже есть инструкции по модификации прошивки марлин.

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