Когда-то хроники происшествий пугали нас возгораниями ламповых телевизоров, теперь эстафету переняли 3D-принтеры. У большинства из них имеется защита от неконтролируемого перегрева стола, и если температура превышает заданную, происходит отключение нагревателя. Никогда не деактивируйте эту функцию.
Но МОП-транзисторы и твердотельные реле, управляющие нагревателем, иногда «вылетают», после чего стол разогревается до максимально достижимой температуры, и отключить его программно становится невозможно. Особенно опасны нагреватели с сетевым питанием.
Предлагаемый прибор измеряет термистором температуру стола, после доработки он может дополнительно мониторить нагрев других точек, например, сопла и драйверов ШД. При перегреве он отключает сетевое питание принтера.
При всём многообразии датчиков для измерения температуры, выбор автора пал на 100-килоомный термистор типа 3950 с отрицательным температурным коэффициентом. Он используется и в самих 3D-принтерах, поэтому прибором можно испытывать такие термисторы.
Вам потребуются:
- Arduino Uno или Nano (автор использовал Nano с модулем расширения)
- ЖКИ на 2 строки по 16 символов с последовательным интерфейсом и адаптером для шины I2C
- Энкодер KY040
- Релейный модуль для Arduino с опторазвязкой и пятивольтовым управлением (переводчик добавил бы после него контактор с мостиковыми контактами)
- Пятивольтовый звукоизлучатель со встроенным генератором
- 100-килоомный термистор типа 3950 с отрицательным температурным коэффициентом. Дополнительные такие же термисторы, если собираетесь делать прибор с многоточечным измерением
- Вводной 3-контактный разъём для стандартного компьютерного шнура питания
- Розетка с заземляющим контактом для подключения вашего 3D-принтера
- 12-вольтовый блок питания, например, от роутера.
- Проводники, метизы, паяльник, 3D-принтер для печати корпуса прибора, и т.д.
Автор напечатал корпусные детали из PLA с 25-процентным заполнением. STL-файлы прилагаются.
Корпус
Передняя панель
Крышка
Ручка
При сборке руководствуйтесь схемой и комментариями в скетче. Можно применять перемычки Дюпон или припаивать провода к штырькам на плате. Используйте провода такой длины, чтобы всё поместилось в корпус, а при снятии передней панели ничего не натягивалось. Линия Vref подключена к источнику 3,3В для повышения точности.
Ссылка на схему
Вводной разъём и розетку можно разместить на корпусе, а можно сделать конструкцию несъёмной, включив её в разрыв шнура питания принтера. Будьте осторожны при работе с сетевым напряжением.
Применение нормально разомкнутых контактов обеспечивает подачу напряжения на принтер лишь при одновременном соблюдении двух условий: «сторож» запитан, а перегрева нет. После обнаружения перегрева принтер остаётся отключённым даже при пропадании и восстановлении сетевого напряжения, пока устройство не сбросят вручную.
Перед заливкой скетча необходимо добавить в Arduino IDE библиотеки LiquidCrystal_I2C и EEPROM.
Скетч
После включения ЖКИ покажет текущую температуру и максимальную температуру за всё время наблюдений.
Затем ЖКИ покажет целевую температуру.
Чтобы сбросить максимальную температуру, нажмите на ручку энкодера.
Задайте целевую температуру вращением ручки, затем нажатием сохраните изменение.
При обнаружении перегрева «сторож» отключит принтер и подаст звуковой сигнал длительностью в одну минуту. Устройство не возобновит подачу питания до ручного сброса.
Для сброса и возобновления подачи питания на принтер нажмите ручку энкодера.
Максимальная и целевая температуры, а также состояние перегрева хранятся в энергонезависимой памяти во избежание самопроизвольного включения принтера при пропадании и восстановлении сетевого напряжения.
Комментарии (36)
REPISOT
08.07.2018 12:02+1Вот такая схема из «цветных проводочков» — это и есть самое страшное в Ардуино.
Ни понимания, что это такое и как работает, ни возможности проверить или изменить.ktotomskru
08.07.2018 21:55+1Мне кажется, это отдаленно похоже на абстракции, когда пишут на высокоуровневых языках программирования, и не понимают, что это такое и как это работает на низком уровне. Ну и использование адских конструкций, чтобы выключить свет при превышении температуры.
Gryphon88
08.07.2018 22:12+3Мне кажется, всё ещё проще: люди начинают изучать Ардуино (и думают, что преуспели) до того, как разбираются со схемотехникой.
b1Ack
09.07.2018 06:06+1Это вообще не схема а хрень неведомая. Даже для тех кто понимает нормальные схемы далеко не очевидна ни топология разводки проводников внутри макетной дырчатой хреновины, ни назначение пинов модулей (но на последнее хоть мануал найти можно).
Scrypto
08.07.2018 12:21+1А Вам не кажется, что конструкция несколько избыточна? И можно было обойтись транзистором, термистором, резистором и реле?
Ну судя по шилду для ардуины, экономия явно не Ваш конёк )
SinsI
08.07.2018 14:45+1Но МОП-транзисторы и твердотельные реле, управляющие нагревателем, иногда «вылетают», после чего стол разогревается до максимально достижимой температуры, и отключить его программно становится невозможно.
А почему такую защиту не делают механической, подобно тому, что реализовано в утюгах и электрочайниках?b1Ack
09.07.2018 06:08+1Deprecated технологии же. Принтер на адруине — и защита на ней же должна быть. И пофиг что надежность и безопасность такого решения оставляет желать лучшего.
ranzhe
08.07.2018 16:04Если на вашем принтере используется прошивка Marlin (в случае с недорогими принтерами — почти всегда именно так), то в ней и так есть все необходимое для отключения питания, если вдруг наступил thermal runaway.
Полагаю, на более «взрослых» прошивках для более «взрослого» железа (типа Smoothieware) ситуация аналогичная.
И даже в случае закрытых решений (таких как Lerdge) данное решение не выглядит как что-то, не напоминающее костыль.tormozedison Автор
08.07.2018 17:20Читайте второй абзац.
ranzhe
09.07.2018 00:21+1Прочитал. Вылетевший мосфет — не проблема, если «мозги» заметили, что явно что-то пошло не так, и подали сигнал на отключение БП.
Про ситуации с SSR, перед которой не стоит термопредохранитель, уже тоже сказано.jaiprakash
09.07.2018 04:39+1Обычно там БП без обратной связи с мозгами. Просто 12 В и всё.
Но, с другой стороны, полевик (мосфет) сгорая, обрывает связь, в отличие от биполярника.ranzhe
09.07.2018 05:08+1Обычно — да, но в прошивке поддержка БП с обратной связью реализована, остается только подкинуть такой БП (в т.ч. можно и ATX), раскомментить две строчки в конфиге и залить это дело в мозги.
Также для octoprint есть плагин для управления ATX-питальником через atxpihat или аналогичный шилд, в том числе с возможностью аварийно отключить БП, если сила тока превысит пороговое значение.Vanellope
09.07.2018 06:02+1В серьезных промышленных решениях защиты реализуются или на отдельных контроллерах, или вообще аппаратно. Разберите печку от лазерного принтера и удивитесь.
ranzhe
09.07.2018 06:09+1Если б при разборке печки от лазерника, я внутри бы обнаружил висящую на проводах от термистора ардуинку, тогда б моему удивлению не было предела, даа.
nafikovr
10.07.2018 13:35+1у мосфета может быть пробой вызвавший дикую утечку сток-затвор, что собственно его откроет.
ktotomskru
08.07.2018 19:30+1Китайцы и не только для питания нагревателя стола используют ssr, которое иногда залипает во включённом состоянии. В результате в лучшем случае просто перегретый принтер, в худшем может загорется.
ranzhe
09.07.2018 00:17+1Если так получилось, что у вас нагреватель стола запитан прямо от сети (иначе смысл городить ssr вместо того, чтобы обойтись подходящим мосфетом?), то эксплуатировать такую конструкцию без термопредохранителя — довольно рисковая затея.
ktotomskru
09.07.2018 20:48+1От блока питания через ssr. Почему китайцы не поставили туда mosfet одному богу известно. Тем более он и дешевле и меньше греется.
Nick_Shl
08.07.2018 17:26Ну и зачем? Не проще ли поставить реле на питание управляемое контроллером принтера? Параллельно реле кнопку без фиксации — нажали, принтер стартанул, убедился, что с температурами все в порядке и включил реле — после этого отпускаем кнопку.
tormozedison Автор
08.07.2018 17:36Повис контроллер принтера…
Nick_Shl
09.07.2018 08:28А watchdog на что? А если повис контроллер сторожа?
Эта дополнительная система нужна только на случай пробоя мосфетов — тут без разницы какой именно контроллер рубанет реле.
besitzeruf
09.07.2018 00:14+1Подсказываю лайфхак — достаточно правильно расчитать мощность нагревательной подложки так, чтобы будучи постоянно включенной, нагрев стола не превышал температуру Х (например 170 градусов).
dimchik_b
09.07.2018 14:17Там больше проблема с нагревателем сопла. Стол (по крайней мере, у меня) и так очччень неохотно нагревается до 110. А вот сопло, по природе своей, должно нагреваться довольно сильно. И такое, что при зависании принтера оно начинало дыметь, было.
Andy_Big
10.07.2018 11:57+1Я однажды, ошибившись в параметре команды калибровки, разогрел сопло до 600 градусов. И температура еще росла, когда я отключил принтер.
ranzhe
11.07.2018 00:06Стол (по крайней мере, у меня) и так очччень неохотно нагревается до 110
Предположу, что питальник у вас 12-вольтовый? Потому как с 24В-питанием стол до 110 (и даже выше) нагреть совершенно не проблема, даже если его размеры 375х250мм. (на всякий случай оговорюсь, что большинство столов нуждается в перекидывании проводов питания на другие контакты (нередко рядом прямо и подписано, как нужно) при переделке на 24В, иначе греться они будут очень быстро, но жизнь их будет коротка)
Dr_Faksov
09.07.2018 06:08+1А надежности нет. А это последний рубеж обороны.
А зачем огород городить? Может пойти по пути обычных лазерных принтеров в котором стоит минимум один плавкий и один биметалический термопредохранитель (а частенько по несколько тех и тех — для надёжности).
И если предохранитель сработал -атас, надо разбиратся, а не жать кнопку сброса. За более чем 20 лет практики видел 2 (всего) непонятных срабатывания биметалических предохранителей.
И да, схема принципиальная, а не монтажная — наше всё.
bugdesigner
09.07.2018 08:43Китайское электромагнитное реле без снаббера? Потребуется "сторож для сторожа". У меня подобная релешка стояла в датчике движения для освещения в коридоре. Через пару месяцев стало залипать, заменил симистором — уже года 3 полёт нормальный.
yurec_bond
09.07.2018 10:51Пару видео на данную тему.
www.youtube.com/watch?v=tu5WD6ymEJE
www.youtube.com/watch?v=VK_K6fp4BIk
Sky-Fox
09.07.2018 11:14Если уже бить из пушки по воробьям, то надо было хотя бы масштабируемое решение сделать:
1. возможность подключать несколько термисторов с настройкой температуры для каждого отдельно
2. несколько розеток например если используется подогрев для стола на 220в
electronus
Vanellope
Что вы! Это космические технологии, откуда производителям 3D-принтеров о них знать?
v1vendi
Мне, как человеку не умеющему гадать по фотографиям, всё же хотелось бы получить хотя бы название сего предмета, а лучше и предназначение
Но я сам умею гуглить
На картинке биметаллический термостат KSD301 с заранее заданной температурой рассоединения контактов