Аппаратное обеспечение RepRap. Часть 3. Горячка.
Суть FDM (fused deposition modeling, торговая марка Stratasys, всем обычно до лампочки, но острожные люди придумали FFF - fused filament fabrication) в послойном наплавлении филамента. Наплавление происходит следующим образом: филамент должен расплавиться в определенной зоне хотэнда, и расплав, подталкиваемый твердой частью прутка, выдавливается через сопло. При движении печатающей головки происходит одновременное выдавливание филамента и приглаживание его к предыдущему слою концом сопла. Иллюстрация e3d-online.com.
Казалось бы, все просто. Охлаждаем верхнюю часть трубки термобарьера, а нижнюю - нагреваем, и все хорошо. Но есть нюанс. Нужно с приличной точностью поддерживать температуру хотэнда, чтобы она гуляла лишь в небольших пределах. Иначе получим неприятный эффект - часть слоев печатается при более низкой температуре (филамент более вязкий), часть - при более высокой (более жидкий), а результат выглядит похожим на Z-вобблинг. И вот, у нас в полный рост встает вопрос стабилизации температуры нагревателя, обладающего очень маленькой инерцией - из-за малой теплоемкости любой внешний «чих» (сквозняк, вентилятор обдува, мало ли что еще) или ошибка регулирования моментально приводит к заметному изменению температур.
ПИД
Здесь мы вторгаемся в чертоги дисциплины под названием ТАУ (теория автоматического управления). Не совсем моя специальность (айтишник, но выпускающая кафедра АСУ), но курс такой у нас был, с преподавателем, который показывал слайды на проекторе и периодически над ними угорал с комментариями: «Ой, доверил этим студентам лекции в электронный вид переводить, они тут таких косяков налепили, ну, ничего, вы разберетесь». Ладно, лирические воспоминания в сторону, поприветствуем ПИД-регулятор.Нельзя писать про ПИД-регулирование без этой формулы. В рамках данной статьи она просто для красоты.
Очень рекомендую ознакомиться со статьей, там довольно доступно написано про ПИД-регулирование. Если же совсем упростить, то выглядит картина так: у нас есть некоторое целевое значение температуры. И с определенной частотой мы получаем текущее значение температуры, и нам необходимо выдать управляющее воздействие, чтобы уменьшить ошибку - разницу между текущим и целевым значением. Управляющее воздействие в данном случае - ШИМ-сигнал на затвор полевого транзистора (мосфета) нагревателя. От 0 до 255 «попугаев», где 255 - максимальная мощность. Для тех, кто не знает, что такое ШИМ - простейшее описание явления.Иллюстрация arduino.ru.
Итак. Каждый «такт» работы с нагревателем нам необходимо принять решение о выдаче от 0 до 255. Да, мы можем просто включать или выключать нагреватель, не заморачиваясь ШИМ. Допустим, температура выше 210 градусов - не включаем. Ниже 200 - включаем. Только в случае с нагревателем хотэнда такой разброс нас не устроит, придется поднимать частоту «тактов» работы, а это дополнительные прерывания, работа АЦП тоже не бесплатная, а у нас крайне ограниченные вычислительные ресурсы. В общем, надо управлять точнее. Поэтому ПИД-регулирование. П - пропорциональное, И - интегральное, Д - дифференциальное. Пропорциональная составляющая отвечает за «прямую» реакцию на отклонение, интегральная - за на накопленную ошибку, дифференциальная в ответе за обработку скорости изменения ошибки.
Если еще проще - ПИД-регулятор выдает управляющее воздействие в зависимости от текущего отклонения, с учетом «истории» и скорости изменения отклонения. Нечасто я слышу о калибровке ПИД-регулятора «марлина», но функция такая имеется, в результате мы получаем три коэффициента (пропорциональный, интегральный, дифференциальный) позволяющие наиболее точно управлять именно нашим нагревателем, а не сферическим в вакууме. Желающие могут почитать про код M303.
График температуры хотэнда (Repetier-Host, Marlin)Чтобы проиллюстрировать крайне низкую инерцию хотэнда, я на него просто дунул.
Пыщь-пыщь
Ладно, это про хотэнд. Он есть у всех, если речь идет о FDM/FFF. Но некоторые любят погорячее, так возникает великий и ужасный, жгущий мосфеты и рампсы, нагревательный стол. С электронной точки зрения с ним все сложнее, чем с хотэндом - мощность относительно большая. А вот с позиций автоматического регулирования проще - система более инертная, да и допустимая амплитуда отклонения выше. Поэтому стол с целью экономии вычислительных ресурсов обычно управляется по принципу bang-bang («пыщь-пыщь»), этот подход я выше описывал. Пока температура не достигла максимума, греем на 100%. Потом пусть остывает до допустимого минимума, и снова греем. Также отмечу, что при подключении горячего стола через электромеханическое реле (а так нередко делают, чтобы «разгрузить» мосфет) только bang-bang является допустимым вариантом, ШИМить реле не надо.
Датчики
Напоследок - про терморезисторы и термопары. Терморезистор изменяет свое сопротивление в зависимости от температуры, характеризуется номинальным сопротивлением при 25 градусах и температурным коэффициентом. По факту, устройство нелинейное, и в том же «марлине» есть таблицы для пересчета полученных с терморезистора данных в температуру. Термопара - редкий гость в RepRap, но попадается. Принцип действия иной, термопара является источником ЭДС. Ну, то есть, выдает определенное напряжение, величина которого зависит от температуры. Напрямую к RAMPS и подобным платам не подключается, но активные адаптеры существуют. Что интересно, также в «марлине» предусмотрены таблицы для металлических (платиновых) термометров сопротивления. Не такая уж редкая вещь в промышленной автоматике, но встречается ли «живьем» в RepRap - мне не известно.
На этом с нагревателями, пожалуй, закончу. Вопросы, дополнения, аргументированная критика традиционно приветствуются.
Еще больше интересных статей
Гладкая пластина из текстурированной pei.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Anycubic Kobra Neo доступ к регулировке оборотов вентилятора.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил я тут попробовать перейти с 8 бит на 32.
Готовы...
Комментарии и вопросы
...рассчитано на полный цикл р...
их нет, к сожалению механизм к...
Заработало, большое спасибо
In today's digital age, video...
Как бороться с такой проблемой...
Подскажите куда копать termal...
залипла резьба и головка не от...