Контроллер подачи филамента на основе ГМР- датчика угла

levscha
Идет загрузка
Загрузка
11.02.2020
5587
130
печатает на WANHAO Duplicator i3
Техничка

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

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

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

28
Статья относится к принтерам:
RepRap

"Принтер печатает- пластик подается,  пластик не подается,

а принтер все равно печатает…."

Такая неприятная и многим знакомая картина… И если подобная ситуация произошла, то отсутствие подачи филамента - это не только зря потраченное время и ценный филамент, но и возможная перспектива  ремонта принтера: разбор экструдера для удаления остатков филамента, смена сопла из-за выгорания и закоксовывания пластика.

Причин "печати воздухом" может быть несколько:

  • Обрыв филамента или его окончание;
  • Запутывание  филамента на катушке, вызванное  случайным перехлестом во время установки катушки на принтер, либо дефектом намотки филамента при производстве;
  • Локальное увеличение диаметра филамента (брак в производства);
  • Засорение сопла посторонними включениями в филаменте (или по другим причинам);
  • Образование пробки филамента в хотэнде.
Некоторые из описанных проблем  относительно легко детектируются несложными датчиками, например, обрыв филамента или его окончание выявляется концевым выключателем с роликовым рычажком.

 С помощью более сложных датчиков, оптических или на основе энкодеров, можно отследить не только обрыв, но и отсутствие движения филамента при печати.  Такие датчики имеются  на рынке.  Так, например,  китайская компания BIGTREETECH недавно выпустила датчик на перфорированном диске с длиной срабатывания в 7 мм, канадская компания Monirad Robotics представила на кикстартере интересную разработку на основе механического инкрементального энкодера с редуктором, компания Duet3D из Великобритании представила вариант оптического и магнитного датчика филамента с длиной срабатывания 3 мм. И если произошла аварийная остановка движения филамента или его окончание, то датчики срабатывают, принтер становится на паузу, и после прочистки сопла или смены филамента, можно попытаться продолжить процесс печати дальше.

Однако, перечисленные выше датчики контроля филамента не могут выявить более "коварные" проблемы в процессе 3D печати из-за своей низкой точности измерения длины филамента. При засорении сопла или образовании пробки, прекращение подачи филамента не всегда происходит мгновенно. Как правило, сначала наблюдается процесс недоэкструзии,  и только потом происходит его полная остановка. Но возможен вариант, когда  печать с недоэкструзией так и будет продолжаться, физически филамент идет, но результат печати будет с браком.

Пример печати с временной недоэкструзией

Примеры с интернета

Истоник

Источник

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

О нашем контроллере  движения филамента и его возможностях.

Контроллер выполнен на базе 32х битного микропроцессора серии STM32F0. Контроллер выполнен как полностью независимое устройство, которое может работать с любым 3D принтером,  а  для его работы  нужно подать с управляющей платы 3D принтера как минимум два сигнала - STEP и DIR от драйвера экструдера и внести ему в память коэффициент подачи пластика экструдера STEP/mm.

Выход контроллера - твердотельное реле, которое, в зависимости от настройки, может либо просто замкнуть свои контакты при неполадках в подачи филамента - если плата управления и прошивка 3D принтера имеет вход и функцию под датчик окончания филамента, либо коммутировать обмотку внешнего реле для перезагрузки принтера - если плата управления 3D принтера не имеет функционала датчика окончания филамента.

Основа контроллера - это измерительное металлическое зубчатое колесо с диаметрально намагниченным магнитом. Угловое положение колеса считывает микросхема TLE5012 (ГМР-датчик угла до 360°).

Применение TLE5012, которая выдает 32768 значений на 1 оборот измерительного колеса, дает возможность добиться разрешающей способности датчика приблизительно в 1.5 микрометра, а такая точность измерения позволяет с легкостью оценивать любые изменения в физической подачи филамента и достоверно определять недоэкструзию в процессе печати.

Упрощенно, контроллер работает следующим образом: микропроцессор STM32F0 контроллера филамента переводит импульсы STEP и направление DIR от платы 3D принтера в теоретическое перемещение филамента, и далее, сравнивая с физическим перемещением филамента на основе измерительного колеса и TLE5012, контроллер определяет все отклонения в подаче  пластика,  и в зависимости от настроек срабатывания, выдает сигнал на паузу 3D принтера при нештатных ситуациях.

Контроллер реализует три основных функционала:

  1. Срабатывание при любых остановках филамента или при превышении порога проскальзывания. Порог на остановку филамента можно задать от 50 мкм до 10 мм. Более мелкий порог применим в случае наличия у принтера функционала по возобновлению печати, т.е. управляющего входа от датчика окончания филамента . Увеличенный порог применим в случае отсутствия управляющего входа, т.е. когда  при срабатывании датчика необходимо перезагрузить или отключить на время плату управления от блока питания посредством внешнего реле. Срабатывание при превышении порога проскальзывания.Срабатывание при определении  факта недоэкструзии филамента - это самые "коварные" случаи, когда при печати филамент поступает, но при этом, через сопло выдавливаются меньшие его дозы.  При превышении установленного порога проскальзывания пластика, контроллер может поставить принтер на паузу.Оба эти параметра, можно включить или отключить, работают они независимо и имеют настраиваемые коэффициенты.
  2. Функция диагностики подачи филамента в реальном времени. При подключении к контроллеру  компьютера, с USB порта контроллера поступает информация о фактически измеренных ретрактах и проскальзывании филамента в реальном времени. Данные можно посмотреть любой терминальной программой и, анализируя эту информацию, оценить весь печатающий тракт 3D принтера, от подающего механизма до хотэнда методом статистического сравнения. Пример подобной оценки приведен на нижепредставленном скриншоте. Подающий механизм в данном примере использовался  на основе китайской версии экструдера  E3D Titan. Наблюдается следующая интересная картина. Ретракты, следующие друг за другом,  подряд,  ближе к установленным в слайсере, нежели единичные ретракты, следующие через более продолжительные интервалы времени. Перспективно применение режима диагностики при удаленном управлении принтером (например, с помощью октопринт). В этом случае, при передаче данных о ретрактах и проскальзывании и их отображениях в виде временных графиков в программе управления, можно получать не только видеоизображение процесса печати, но и следить за фактическим состоянием принтера и иметь числовые данные, характеризующие качество получаемой модели. В 3D печатных фермах такая обратная связь по физическим перемещениям филамента будет огромным плюсом и сильно упростит обслуживание большого количества 3D принтеров.
  3. Черный ящик. Записывает в память различные отклонения в параметрах подачи последнего цикла печати и, в случае неудачной печати, дает возможность  считать эти параметры, получить  картину процесса  печати, по которой можно ориентировочно определить причину аварийной остановки филамента.
Дополнительно о конструкции контроллера.

У контроллера имеется специальный вход для дистанционного управления датчиком с настраиваемым функционалом, два светодиода отображающие режим работы, кнопка включения выключения  и micro USB порт для настройки контроллера или считывания данных на компьютер.

Корпус датчика выполнен с раскрывающимся механизмом прижима пластика, при этом ручка раскрытия фиксируется в двух положениях, что позволяет удобно пропустить филамент через датчик.

Режим работы контроллера определяется довольно большим количеством программируемых параметров.  Например, можно запустить датчик в двух режимах - по грубому и точному срабатыванию, для того, чтобы пройти первые слои печати без срабатывания от недоэкструзии филамента на кривой поверхности печатной платформы 3D принтера. Всем этим настройкам и возможностям датчика, конструктивным особенностям колесика и внутренних элементов, будут посвящены отдельные статьи в будущем.

О сложностях  разработки датчика.

Для точного измерения длины перемещения филамента, необходимо обеспечить хорошее зацепление измерительного колеса. Очевидно, что это колесо должно быть с острыми зубчиками, но филаменты бывают разные по жесткости.  Если филамент мягкий, то острые зубчики будут врезаться в толщу пластика и, следовательно, «изменится» длина окружности измерительного колеса, что приведет к погрешности при измерении. С другой стороны, мелкие острые зубчики могут легко забиться пылью от филамента. Поэтому, если сформулировать требования к измерительному колесу, можно сказать, что оно должно быть цепкое, с неострыми зубчиками. И при этом сила вдавливания пластика в колесо должна быть минимальна, чтобы измерения были стабильны во времени при любом составе пластика и без каких либо регулировочных манипуляций с прижимом. Также, надо учитывать,  что сильное сдавливание мешает корректному измерению обратных движений филамента при ретрактах.

Эту задачу нам удалось решить целым комплексом мер, где все элементы конструкции разработанного датчика филамента взаимосвязаны. Подобраны  оптимальный диаметр зубчатого колеса,  форма его зубьев и метод его изготовления,  сила прижима филамента,  форма входного отверстия и  способ установки датчика.

Немного фотографий прототипов.

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

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

Фрезерованные части корпуса контроллера филамента для опытной партии, выполненные из полиацеталя.

Состояние проекта на сегодняшний момент: Собираем тестовую партию и производим окончательные испытания программы микропроцессора и стального измерительного колеса с закалкой (в первых образцах использовалась латунь).

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

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

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

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

Комментарии

11.02.2020 в 21:05
0

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

11.02.2020 в 21:07
0

Все учтено, покажу попозже как колесо сделано. Спасибо за пожелания!

11.02.2020 в 22:02
0

производительности МК 8 бит недостаточно для этих задач?

11.02.2020 в 22:07
1

Аппаратный USB в 32 битках, ну и программа сложноватая, больше 32 кБайт, цифровая фильтрация, в оперативке данных много крутиться, даже не рискнули попробовать это все в 8 битах.

11.02.2020 в 22:16
0

Там и коэффициент подачи экструдера можно не вводить, сам может подстроится.

13.02.2020 в 17:06
0

Отличный проект, будем ждать от вас новостей)

11.02.2020 в 22:16
1

стального измерительного колеса с закалкой (в первых образцах использовалась латунь).

Можно пояснения, что не так?

11.02.2020 в 22:21
0

Это мы под филаменты с наполнителем из углеволокна и стекловолокна, они образивны и противостоять латунька им долго не сможет.

11.02.2020 в 22:30
0

ОК"

Плюсую за обратную связь (степ, дир) это очень важно... за выбор проца...) 

Если будете делать для масс, прошу рассмотреть выносной датчик типа этого ,,,, удобно.)

Жду подробностей и видео...)

11.02.2020 в 22:33
0

Да такой приблизительно и сделан, самодостаточный и для самых широких масс, тот что вы показали менее универсален. Подробности скоро будут)

11.02.2020 в 22:37
0

тот что вы показали менее универсален. 

Имел ввиду, проц и датчик , раздельны как там.)

11.02.2020 в 22:43
1

С этой микросхемы угломера большой массив данных идет по SPI, поэтому проц только рядом, если включать режим 16 бит измерения угла на максимальной скорости измерения, для того чтобы получить такую точность измерения длины филамента.

11.02.2020 в 22:48
0

Ну и с другой стороны, будет дешевле чем тот датчик что Вы показали)

11.02.2020 в 23:13
0

)

19.02.2020 в 17:59
0

Всецело согласен. Это я вам как производитель стеклонаполненных филаментов говорю. Кстати не рассматривали печатное колесо из армированного полиуретана? Его пользователь может сам печатать по мере износа. 

11.02.2020 в 22:27
0

А, вон как, тут сложнее чем я думал. А он умеет подсчитывать метры отпечатанного филамента?

Хотя, я бы сделал простой таймер с переполнением, а движение колеса не даёт ему переполниться и послать сигнал плате принтера. Такие проекты уже наверняка  были, и Китайцы продают.

11.02.2020 в 22:30
0

Метры не считает, но добавить не сложно.

11.02.2020 в 23:17

Комментарий удалён

11.02.2020 в 22:34
1

Китайцы не сильно напрягают голову, быстрей продают, чаще сырой продукт.... а мне вот уже стало это надоедать ,,,(

11.02.2020 в 22:37
0

Согласен, я этот датчик год создавал)

11.02.2020 в 22:52
0

Не плохо было б все это в разместить в "короб" .... 

Там есть вход "сигнала конец филамента".... делает паузу...)

11.02.2020 в 22:56
0

С этим экраном датчик тоже работает. Я Вам вышлю на тесты, попробуете в разные принтеры, платы его повтыкать)

11.02.2020 в 23:20
0

) Спасибо..) Интересно будет... узнать его "ИИ"...))) 

11.02.2020 в 23:22
0

Спишемся)

11.02.2020 в 22:30
0

Оптический датчик на основе компьютерной мыши. И никаких колёс !

11.02.2020 в 22:36
0

У оптики минусы все таки есть, допустим у ДУЭТ даже в вики написано что не со всеми видами работает их лазерный датчик или то что длину некорректно определяет на разных типах филамента. Я их не пробовал конечно, как они на самом деле работают, но решил сделать на колесе.

11.02.2020 в 22:41
1

У оптики минусы все таки есть,

Не всегда... но здесь правильный подход...)

12.02.2020 в 03:18
0

Но дуэт, если не ошибаюсь, еще и диаметр меряет же?

12.02.2020 в 08:49
0

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

А с диаметром - в будущем будет, но в другой версии, экспериментально я уже попробовал и измерения там не на оптике.

13.02.2020 в 10:34
0

А где-то можно подписаться на ваши новости/статьи? Может, канал в телеге есть?

13.02.2020 в 10:37
0

вк группа есть и сайт, остальное пока не сделали. В личку вам пришлю.

11.02.2020 в 23:28
0

с подобным замахом нужно делать готовый сервопривод и пропуски шагов стараться компенсировать на месте, а не тупо сигналить - "все пропало". 

Чё бы не парсить текущую z координату для надёжного продолжения печати?

11.02.2020 в 23:35
0

Этот вариант уже для существующих плат и принтеров, а также прошивок которые ведут многие иностранные компании. Пропуск не единственная проблема в подачи филамента, в редукторных экструдерах пропуска и нет, так как сил хватает пропихнуть все, вплоть до прорыва трубки.

А следя за физическим перемещением филамента, можно выявить все что не так в печати.

12.02.2020 в 09:09
0

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

12.02.2020 в 09:12
0

Датчик учитывает это все и даже определяет момент начала образования пробки.

12.02.2020 в 09:20
0

Хорошо.

Тогда жду версию с контролем диаметра.

12.02.2020 в 09:22
0

Эта версия определяет пробки.

12.02.2020 в 01:54
0

И вопрос, который еще не задавали - сколько стоит?

12.02.2020 в 08:21
0

Точно пока не определились, так как еще конструкция не доведена до конца, но предположительно в районе 2-3 тысяч.

12.02.2020 в 03:26

Комментарий удалён

12.02.2020 в 05:30
0

Можно ещё использовать это устройство для настройки подачи филамента. 

12.02.2020 в 08:23
0

Да, вы правы, куда развивать этот проект, идеи уже копятся.

12.02.2020 в 05:48
0

Все правильно, так их тупых принтеров, давайте со всех сторон обвесим принтер датчиками с мозгами мощнее чем у принтера. 

12.02.2020 в 08:27
0

В данном случае, без процессора на датчике не получится сделать такое устройство как представил. А платы управления, мы допустим делаем на более мощном процессоре STM32F4.

12.02.2020 в 07:28
0

Спасибо за ваш труд! Очень интересная задумка, если не сильно дорого, то решусь попробовать. Хотя меня больше привлекает датчик от дует с замером диаметра, чтоб компенсировать не ровность прутка регулировкой потока.

12.02.2020 в 08:32
2

Диаметр будет, но в другой версии. Этот вариант, в целом, предназначен для защиты и диагностики и получился простой и надежный - соответственно будет дешевый.

12.02.2020 в 07:35
1

Плюсую, хотел бы потестить для этого проекта

https://3dtoday.ru/blogs/xolodny/pechat-po-vzroslomu-coming-soon

12.02.2020 в 08:33
0

Спасибо! Договоримся)

12.02.2020 в 07:56
1

отличный пост ++

12.02.2020 в 08:34
0

Спасибо!

12.02.2020 в 09:19
0

Интересная вещь.
Тестирую разные варианты датчиков от оптических до контактных, но уже начинает надоедать борьба с Марлином.


Интересен Ваш вариант с измерением диаметра т.к. эта часть контроля очень остро стоит.


Использую RURAMPS4D, но скоро переведу все на новую версию которая уже с предустановленным контроллером и под управление RRF.


Может скооперируетесь для поддержки Вашего датчика этой платой и прошивкой.

12.02.2020 в 09:25
0

Я не против испытаний и коопераций в этом) Если вы разбираетесь в прошивках, то ваши знания очень полезны для интеграций датчика.

12.02.2020 в 12:26
0

Тут лучше на прямую с Сергеем, производителем платы, поговорить, он как раз допиливает прошивку под свою плату. Хотя наверное уже допилил.

12.02.2020 в 15:32
0

Попробуйте RRF со штатным магнитным датчиком.

13.02.2020 в 03:00
0

А что он умеет?

Ну, и совместим ли он с RuRamps4D?

13.02.2020 в 03:16
0

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

12.02.2020 в 09:24
1

Боуден – это, конечно, хорошо и даже замечательно, но есть и директы. А там тракт пластика отличается.

12.02.2020 в 09:27
0

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

12.02.2020 в 09:34
0

Можно, конечно, но (по-моему) никто с директами так не делает. Там один из плюсов – короткая трубка (около 10 см) и удобство (оперативность) заправки пластика в экструдер и смены пластика.

12.02.2020 в 09:48
0

Не делать так наверное можно только в принтерах с подвешенной катушкой сверху, наподобие пруши. Если У Вас зав мини, и катушка весит на корпусе, перегиб филамента может привести к его слому.

Для оперативности смены в представленном датчике есть механизм раскрытия. Ну и как и ДУЭТ датчик, его можно и на печатную голову повесить.

12.02.2020 в 09:55
0

Это было, скорее, замечание по концепции вашего датчика, нежели вопрос в поисках совета :)

12.02.2020 в 09:57
0

Да это я понял, просто Ваше замечание может быть воспринято некоторыми как недостаток) Поэтому слегка раскрыл на конкретном примере.

12.02.2020 в 10:03
1

Если У Вас зав мини, и катушка весит на корпусе, перегиб филамента может привести к его слому.

Для этого и применяется короткая трубка, вставленная в экструдер. Но да, дополнительно наращивать высоту «башни» экструдера нежелательно.


12.02.2020 в 10:04
0

Красиво собрали!)

20.02.2020 в 09:56
0

Я так понял, чем датчик стоит ближе к фидеру, тем точнее показания? Если на директе датчик будет стоять перед входом в подводящую трубку, при печати флексом он же может вообще не реагировать на ретракты (за счёт сминания филамента в трубке)?

12.02.2020 в 10:49
0

Здравствуйте, хотелось бы обсудить  несколько моментов и моих предложений. Так же могу протестировать на skr 1.3 и сенсорном дисплее, директе и боудене. Проект заинтересовал т. к. мне очень важна стабильность принтеров. Можем списаться?

12.02.2020 в 10:51
0

Добрый день! Да, в личку пришлю вам свою почту.

12.02.2020 в 10:51
0

TLE5012, которая выдает 32768 значений на 1 оборот измерительного колеса

Интересная микросхема. Двумя полюсами магнита выдаёт 32768 импульсов за оборот. В датчиках вращения колеса на автомобилях например для этого используется многополярный магнитный диск - индуктор

12.02.2020 в 10:55
0

Эта микросхема есть в варианте и для авто - TLI5012B, по температуре вроде шире и сертификаты соответствующие.

12.02.2020 в 11:01
2

В порядке бреда и  приза за самый дешман датчик.

Можно ведь в самом простом случае сделать датчик обнаружения обрыва и засора на самом примитивном уровне. Контакт на корпус мотора и на подшипник прижима. В рабочем состоянии они никогда не соприкасаются, мешает филамент, а вот если он кончится или перетрется от пробки, а он обязательно перетрется, то они соприкоснутся, тут сразу ставим на паузу.

Автору респект!

12.02.2020 в 11:03
3

Пока он перетрётся от пробки - принтер уже успеет деталь до конца воздухом напечатать. 

12.02.2020 в 11:07
0

Эт точно.

12.02.2020 в 11:19
0

Тут очень много нюансов. Какая модель, количество ретрактов, как засор образовался. Бывает там пластик так прикипит, его и на горячую вытащить плоскогубцами не просто. Было такое. Или ретракты без конца гоняют филамент, хрен перетрешь в одном месте. Но для варианта суперэконом класса может и сгодится. На обрыв точно сработает, на засор как повезет. Лучше сработать не сразу, чем в итоге воздухом напечатать модель. Речь о мгновенной паузе не идет) . Не тот уровень)

12.02.2020 в 11:06
0

Браво! Приз будет) Сейчас другой проект доделываю, если все сложится удачно им и награжу если вы не против будете)

Спасибо!

12.02.2020 в 11:13
1

Я всегда не против) Да и  хороший датчик куплю с удовольствием). 

12.02.2020 в 11:12
0

С другой стороны представленная автором схема тоже не гарантирует мгновенную остановку в случае засора сопла, поскольку некоторое время ведомая шестерня с магнитом будет вращаться в то время как мотор пытается пропихнуть филамент в экструдер.И с многоголовыми принтерами как? Когда одна голова отдыхает, пока вторая печатает?

12.02.2020 в 11:16
0

Шестерня с магнитом не ведомая, а отслеживает движение филамента с высокой точностью для того чтобы определить малейшую недоэкструзию и в случае чего остановить печать.

12.02.2020 в 11:19
0

Ну а если это пауза во время движения экструдера по диагонали от одного края стола до другого? 



12.02.2020 в 11:20
0

Степы то не идут от экструдера при холостом ходе, датчик понимает что не нужно следить.

12.02.2020 в 11:27
0

А нужна она, мгновенная остановка? Вот пропустил экструдер шаг, или еще чего, филамент скользкий, проскользнул гад, а печать встала. А там впринципе все нормально было, некая величина на срабатывание  должна быть. Да и особо не страшно чуть пропустить момент засора. Может он в этот момент заполнение печатал? Совершенно не заметно будет. 

12.02.2020 в 11:13
0

Я бы упростил настройку таким образом. Просто прогнать некоторое количество пластика через фидер (во время загрузки к примеру) и записать соотношение шагов к протяжке в память устройства. Все, и не нужны эти заморочки с количеством шагов и программированием контроллера устройства. Достаточно одной кнопочки для калибровки.

puh
12.02.2020 в 11:17
1

У нас такой режим есть если честно, в точности как вы описали) Но програмирование поможет, если принтеров много и они одного типа, поэтому два решения по настройки датчика.

12.02.2020 в 11:26
1

Эх, а я уже раскатал губу на тестирование..

Шутка :)

12.02.2020 в 11:16
0

 Просто прогнать некоторое количество пластика через фидер (во время загрузки к примеру) и записать соотношение шагов к протяжке в память устройства.

Да, но в процессе печати количество шагов разное в разных режимах печати детали

12.02.2020 в 11:24
0

Да, но в процессе печати количество шагов разное в разных режимах печати детали

Вы не поняли сути алгоритма. Это совершенно не имеет значения.

puh
12.02.2020 в 11:27
0

Ну так вы его и не объяснили подробно. В память какого устройства нужно записать количество шагов при загрузке в фидер? И количество шагов чего?

12.02.2020 в 11:36
1

Как я понял экструдер до печати гонит скажем 50мм пластика. И датчик запоминает сколько было сигналов с энкодера и шаговика за это время. Это соотношение неизменно. Хоть как филамент печатай и гоняй ретрактами. Но использовать в чистом виде этот алгоритм нельзя, на каждый чих будет на паузу вставать. 

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

Скрипты можно в стартовый код набить, первые секунд 20 скажем работы экструдера считать калибровкой.

12.02.2020 в 11:40
0

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

Ничего подобного. Есть шаги - есть движение.. Нет шагов-нет движения.  Направление тоже не имеет значения.

puh
12.02.2020 в 11:45
0

В идеальных условиях да. Тут другое, экструдер может шаг пропустить, ну мало ли, бывает. Сигнал был с него? Был, а с энкодера нет. Ну ее ставить же на паузу?

А тут пластик гад скользкий, нейлон к примеру. Да ему проскользнуть как два пальца.... Об асфальт. 

12.02.2020 в 11:47
0

Тем не менее это уже нештатная ситуация - пропуски. В любом случае в алгоритм можно включить накопление ошибки... Это вообще легко... Никаких сложностей не вижу. 

Накопилось 10 пропусков за минуту - пауза

puh
12.02.2020 в 11:57
0

Есть даже игнорирование определенных моментов связанных с пропуском, когда пластик отстреливает назад при пропуске шагов из за того что там после экструдера сильно сжался филмант, датчик плюсует эту длину к порогу срабатывания и если не протолкнул то ставит на паузу. Все продумано) и сделано так, чтобы не было паузы при каждом чихе, а только наверняка.

12.02.2020 в 14:33
0

первые секунд 20 скажем работы экструдера считать калибровкой

В это время, как раз, и могут быть пропуски. Это лучше делать на холостых перемещениях (загрузки/выгрузка)

puh
12.02.2020 в 17:10
0

Так я так и написал, забиваем стартовые скрипты и гоняем пластик туда сюда после прогрева сопла с разными скоростями. Время этого прогона считаем за калибровку) . 

12.02.2020 в 11:39
1

Во время загрузки фидер проталкивает определенное кол-во пластика через себя и устройство. В это время устройство считывает кол-во шагов фидера и считывает данные со своего датчика (считай длину). Далее вычисляет соотношение одного к другому и все.. Это соотношение будет неизменным в любых условиях, кроме аварийных.

puh
12.02.2020 в 11:50
0

А это разве не то-же самое?

Упрощенно, контроллер работает следующим образом: микропроцессор STM32F0 контроллера филамента переводит импульсы STEP и направление DIR от платы 3D принтера в теоретическое перемещение филамента, и далее, сравнивая с физическим перемещением филамента на основе измерительного колеса и TLE5012, контроллер определяет все отклонения в подаче пластика,

12.02.2020 в 11:24
0

Ну что - ж, тогда остаётся сделать ещё механизм самопрочищения сопла. :))

12.02.2020 в 11:26
0

Или его смены и автоматической калибровке высоты и центра во времени паузы.

12.02.2020 в 15:10
0

Интересно, а можно ли для контроля движения, пробки филамента использовать драйвер с программным концевиком (как на осях ХY)? 

12.02.2020 в 15:35
0

не покажет пробуксовку шестерни и конец прутка.

12.02.2020 в 15:16
1

Недавно ставил похожий сенсор на принтер с duet. https://duet3d.dozuki.com/Wiki/Duet3dFilamentMonitor_RotatingMagnetVersion

Там сенсор AS5601.

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

Работает изумительно! Скорость срабатывания и строгость выбираются настройками, настроил его не очень строго, но срабатывал он практически моментально при наличии проблем с прутком. Но для него нужно иметь RRF на борту, автономно он не работает, но за то просто подключить и гибко настраивается штатными средствами. Спасибо за то что подсказали TLE5012, похоже он дешевле чем AS5601, пока у меня была партия 10шт, думаю если будет запрос на большее количество то можно попробовать перевести на этот чип.

12.02.2020 в 15:46
0

Да, чип TLE5012 точнее, но и сложностей с ним много. Попробуйте на нем сделать, оно того стоит.

12.02.2020 в 17:29
0

если ещё прицепить к этому всему замер диаметра филамента, который мог бы вносить поправки в "поток" - было бы идеально =)

12.02.2020 в 17:30
0

Будет и такой Вариант, там еще несколько параметров будет контролироваться. Пока что нарабатываем различные решения.

12.02.2020 в 18:11
1

Интересную статистику можно получить, анализируя "пропуски" и замедления подачи прутка - наверное покажет недостаточный нагрев или слишком высокую скорость печати в определённые моменты. Интересно было бы его завести в контроллер печати принтера и вести лог с связанный с исполняемым G-кодом.

12.02.2020 в 18:18
1

Да, как раз определение недоэксрузии и связано с точнейшим измерением подачи прутка, сейчас несоотвесвие реальной подачи показывает точнее и как вы правильно подметили, всю эту информацию с датчика можно применять и для других действий или анализа. Прикрепил скрин посвежее с данными о подачи.

12.02.2020 в 19:30
0

> Применение TLE5012, которая выдает 32768 значений на 1 оборот измерительного колеса, дает возможность добиться разрешающей способности датчика приблизительно в 1.5 микрометра


Это не так, по даташиту типичная ошибка в 0.6 градусов, и максимальная -- 1 градус. Ещё будет ошибка от кривого позиционирования магнита, и ещё порядка 0.2% из-за магнитного поля Земли. Так что по факту будет мерять 1/500 оборота, если повезет. То есть полшага обычного нема17 при прямом приводе. Но с монотонностью должно быть относительно неплохо, просто размеры дельт будут зависеть от поворота.


Сопротивление прокручиванию может создавать разве шарикоподшипник, так что с зубами на колесе имо особого резона заморачиваться нет.


Можно ещё поставить микроконтроллер в разрыв STEP/DIR и компенсировать проскальзывание в экструдере. Было бы очень полезно. Я мерял на своем, проскальзывание есть всегда, от 1 до 6% в зависимости от того, какое сопротивление филаменту оказывает хотэнд. Единственное что, точность измерения для этого маловата. Фактически будет эквивалентна полшага самого начального экструдера. Возможно калибровкой можно повысить раз в 5-10, но надо проверять.

12.02.2020 в 19:43
0

Я указал разрешающую способность в микрометрах, а не в градусах - микроконтроллер перевел данные по длине обода колеса. Разрешающая способность, это младший разряд в измерения, конечно он прыгает и ориентироваться на них нет смысла, в этом и помогает цифровые фильтры. Я не указывал что с точностью в 1.5 микрометра у нас это все определяет)

По поводу кривизны магнита - у этой микросхемы TLE5012 есть функция автоматической калибровки этого самого неправильного позиционирования.

С зубами есть смысл заморачиваться, если посмотреть на историю ревиций магнитного датчика ДУЭТ, то они пробуют разные варианты - через это прошел и я. У меня была цель, чтобы не было вдавливания в пластик, так как длина прохождения пути филамента по измерительному колесу должна быть всегда одинакова при разном составке пластика.

"Я мерял на своем, проскальзывание есть всегда, от 1 до 6% в зависимости от того, какое сопротивление филаменту оказывает хотэнд" - чем вы измеряли? Может у Вас просто проскальзывало при измерениях или менялся состав пластика или его толщина....

12.02.2020 в 20:05
1

Случайный шум да, убрать можно, но останется системная погрешность, которая похоже эти самые 0.6%, плюс ещё 0.2% от поля Земли, что даст 250мкм при диаметре 10мм. Компенсация смещения магнита -- это здорово, может она и магнитное поле Земли скомпенсирует. Было б интересно померять реальную точность. Скажем, гнать экструдером филамент с постоянной скоростью вхолостую. И несколько раз сместить фазы обоих колес, чтобы развести кривизну колес экструдера и измерителя.

Я измерял стандартной процедурой калибровки экструдера, продавливанием 100мм филамента. По y -- сколько реально прошло, мерял линейкой, погрешность около 1мм, по х -- скорость, мм/мин, та, которая в g-коде в Fxx. Продавливалось тихо, без стука, так что шаги не терялись и срыва зубьев не было. В экструдере колесо с зубьями сидит на валу НЕМА, прижимающее колесо -- пассивное, просто на подшипнике. Видимо в этом месте плавное проскальзывание.


12.02.2020 в 20:19
0

Прежде чем делать эту версию датчика, мы прошли через стенд, чтобы оценить свойства этой самой микросхемы и влияния на ее измерений различных факторов. И то что вы написали про погрешность в 250 микрометров это не так, рассчитывая-нерасчитывая через проценты вы не чего не получите, даже оценить не сможете, так как на измерения влияет даже схемотехника, экранирование и т.д. и т.п. Сколько мы получили со стенда и как использовать эти данные - это большой труд, нюансы, компромиссы программное обеспечение, все это коммерческая тайна и могу лишь сказать, что повторяемость данных очень высока и даже сам не ожидал таких результатов. Для датчика тот что я представил такое построение и точность, что я заложил предостаточно, так как этот датчик больше для защиты и оценки состояния, определение проскальзывания - в нужный момент и это все отлично работает.

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

12.02.2020 в 21:25
1

Тайна значит тайна ) Но да, для качественной оценки есть проблема / нет проблемы точности более, чем достаточно.

12.02.2020 в 21:30
0

Золотые слова!)

12.02.2020 в 20:32
0

А так как вы измеряли, на 100 мм длины, там могло измениться плотность пластика и все, шестерня экструдера по разному будет вдавливаться в филамент и будет разный пройденный путь - который мог вылиться в ваши изменения проскальзывания - хотя его могло и не быть....

12.02.2020 в 21:29
0

Не особо реально, там 9 измерений при разных скоростях, и тренд прослеживается очень чётко. Если бы твердость пластика плавала, то на графике был бы рандом.

Кроме того, есть экструдеры с "двойным приводом", в которых оба колеса толкающие, так что видимо не у меня одного такие наблюдения.

12.02.2020 в 21:45
0

Да я и не утверждаю что, то что я написал про ваши измерения это истина, просто предположил один из факторов влияний на эти измерения. Разрабатывал я прибор один, он тоже там кое чего мерял) Ну так, мучался с ним месяц по вечерам, сделал, все хорошо. Утром заказчикам отправлять... Неработает... Ковырялся еще пару недель сутками напролет, то работает, то нет... Нашел причину) Оказывается в соседнем помещении днем приходили и работали на компьютерах с дешевыми бесперебойниками и это влияло на работоспособность моей разработки, а вечером их небыло и все было хорошо когда их компы отключены)

12.02.2020 в 22:10
0

Помехи это да... Всякое может быть )


Да, и вдогонку, если бы при обычной печати из-за прутка поток отклонялся бы на 20% от выставленного, как это происходит на графике, печатать таким филаментом было б почти невозможно. Когда на 5% уходит, уже начинаешь уже думать, что не так с принтами...


Я это к тому, что если вашу разработку апгрейдить в корректор потока, то будет суперполезно. В моём случае, например, датчик остановки подачи за последние полгода помог бы мне наверно один раз. Ну и штатный датчик конца филамента я отодрал, чтобы не мешался. А вот фидбек луп на экструдере нужен постоянно, если печатать быстрее 50мм/с. Хотя я перед тем, как ставить фидбек луп, поменял бы свой экструдер на "двойную подачу" и директ, проблема бы во многом ушла.

12.02.2020 в 22:22
0

Измерение диаметра в другой версии и еще один параметр под контроль будет поставлен, пока остановился на этом варианте, что в статье. Если у Вас один принтер, то там в принципе можно ничего и не ставить и так можно последить, у нас их 8 и иной раз печатают круглыми сутками и все, вот тут то и возникают проблемы с контролем состояния и при авариях все это приводит к ремонту и когда ты приходишь на работу и каждый день с утра до вечера ковыряешься то с одним принтером, то с другим - то идея расширять парк принтеров нагоняет тоску)

13.02.2020 в 23:58
2

Да, измерение диаметра + контроль подачи было бы замечательно. Надо интегрировать с софтом только, возможно проще через step/dir. Иначе патч для марлина, патч для клиппера, ещё чего-нибудь, плюс часть прошивок вообще пропретарные.

Согласен, если 8 принтеров, то смотреть за всеми гемор.

14.02.2020 в 11:07
1

возможно проще через step/dir. 

Возможно, это лучшее решение как минимум своей универсальностью.

14.02.2020 в 11:43
0

Тут голову сломаешь как это сделать... Хотя, если редукторная подача, то там большой коэффициент степ/мм и можно спокойно оперировать импульсами для тонкой регулировки потока.

14.02.2020 в 12:02
0

Подумал еще, идея Ваша реализуема и в принципе не очень сложна в плане алгоритмов. Только вот сейчас, уже другой датчик на подходе. Поэтому нескоро)

14.02.2020 в 16:09
0

Хмм, алгоритмы там не очень простые, если хочется сделать всё точно... Можно считать разницу между тем, сколько надо подать и сколько на данный момент реально подано, и стараться свести эту невязку к 0 с помощью пид-регулятора с ограничением по ускорению. Но ПИДы дают задержку, так как регулируют пассивно. В идеале надо сделать разумную модель: типа ретракты 1:1, при прямой подаче мерять текущее сопротивление и занулять его после ретрактов и пауз в подаче. Управлять экструдером по этой модели, а оставшуюся невязку уже компенсировать пидом поверх.

14.02.2020 в 17:50
0

Есть в Ваших словах правда. Лан, будем думать перед сном как это все сделать) В прошивках, в принципе уже реализовано регулировка потока по датчику, может проще интегрироваться туда. Надо все основательно взвесить.

13.02.2020 в 21:29

Комментарий удалён

15.02.2020 в 11:30
0

в репитере же есть встроенная функция отслеживания, завязанная на степ-дир, чем она плоха?

15.02.2020 в 12:00
0

Честно, не смотрел еще. А как она называется?

17.02.2020 в 00:33
0

Jam detection and out of filament detection. Так же ставится энкодер, вращающийся от филамента, в прошивке указываем пин. При застревании сначала сбавляет скорость, потом останавливает.

17.02.2020 в 12:38
0

Ну то что Вы описали, не совсем то что в моей статье. Предложенный вариант обладает дополнительным функционалом.

15.02.2020 в 19:02
0

Добрый день, а купить то его (датчик) можно будет и сколько может стоить?

16.02.2020 в 14:26
0

Здравствуйте, 2-3 тыщи, датчик пока на этапе испытаний. Приблизительно через месяц уже начнем выпускать малыми партиями.

17.02.2020 в 10:43
1

Отличная идея! Это еще один шаг от подбора параметров почти вслепую к настройке по цифрам или автоматически. Вне РФ планируете продавать?

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

Если это не тайна, опишите пожалуйста как вы проектировали и изготавливали колесо с зубцами, которое и по прутку не скользит, и глубоко не врезается.

17.02.2020 в 12:03
0

Спасибо! Вне РФ планируем, Европейский рынок интересен.

Такой вариант прорабатывал, но в  принципе в этом решении, что представил все достаточно просто реализовано и точности там более чем достаточно.

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

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

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

TMC2208 для FlashForge Dreamer

3D печатный Дракон фан-арт

Горячая вакансия! RangeVision ищет интернет-маркетолога

VolgoBot A4 - Наше видение FFF 3D принтера

Цветной Мир и PICASO 3D объявили о подписании дистрибьюторского контракта

Cмитсоновский институт перевёл 2.8 миллионов изображений и 3D моделей в общественное достояние