Кремень 1 Реклама
Кремень 2 Реклама

Аппаратное обеспечение RepRap. Часть 3. Горячка.

eta4ever
Идет загрузка
Загрузка
12.02.2016
10502
34
Техничка

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

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

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

55
Аппаратное обеспечение RepRap. Часть 3. Горячка.
В первой части цикла я рассказывал о маленьких слабеньких 8-битных микроконтроллерах Atmel архитектуры AVR, конкретно - о Mega 2560, которая 'рулит' большинством любительских 3D-принтеров. Вторая часть посвящена управлению шаговыми двигателями. Теперь - о нагревательных приборах.

Суть FDM (fused deposition modeling, торговая марка Stratasys, всем обычно до лампочки, но острожные люди придумали FFF - fused filament fabrication) в послойном наплавлении филамента. Наплавление происходит следующим образом: филамент должен расплавиться в определенной зоне хотэнда, и расплав, подталкиваемый твердой частью прутка, выдавливается через сопло. При движении печатающей головки происходит одновременное выдавливание филамента и приглаживание его к предыдущему слою концом сопла.
Аппаратное обеспечение RepRap. Часть 3. Горячка.
Иллюстрация e3d-online.com.



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

ПИД

Здесь мы вторгаемся в чертоги дисциплины под названием ТАУ (теория автоматического управления). Не совсем моя специальность (айтишник, но выпускающая кафедра АСУ), но курс такой у нас был, с преподавателем, который показывал слайды на проекторе и периодически над ними угорал с комментариями: «Ой, доверил этим студентам лекции в электронный вид переводить, они тут таких косяков налепили, ну, ничего, вы разберетесь». Ладно, лирические воспоминания в сторону, поприветствуем ПИД-регулятор.
Аппаратное обеспечение RepRap. Часть 3. Горячка.
Нельзя писать про ПИД-регулирование без этой формулы. В рамках данной статьи она просто для красоты.



Очень рекомендую ознакомиться со статьей, там довольно доступно написано про ПИД-регулирование. Если же совсем упростить, то выглядит картина так: у нас есть некоторое целевое значение температуры. И с определенной частотой мы получаем текущее значение температуры, и нам необходимо выдать управляющее воздействие, чтобы уменьшить ошибку - разницу между текущим и целевым значением. Управляющее воздействие в данном случае - ШИМ-сигнал на затвор полевого транзистора (мосфета) нагревателя. От 0 до 255 «попугаев», где 255 - максимальная мощность. Для тех, кто не знает, что такое ШИМ - простейшее описание явления.
Аппаратное обеспечение RepRap. Часть 3. Горячка.
Иллюстрация arduino.ru.



Итак. Каждый «такт» работы с нагревателем нам необходимо принять решение о выдаче от 0 до 255. Да, мы можем просто включать или выключать нагреватель, не заморачиваясь ШИМ. Допустим, температура выше 210 градусов - не включаем. Ниже 200 - включаем. Только в случае с нагревателем хотэнда такой разброс нас не устроит, придется поднимать частоту «тактов» работы, а это дополнительные прерывания, работа АЦП тоже не бесплатная, а у нас крайне ограниченные вычислительные ресурсы. В общем, надо управлять точнее. Поэтому ПИД-регулирование. П - пропорциональное, И - интегральное, Д - дифференциальное. Пропорциональная составляющая отвечает за «прямую» реакцию на отклонение, интегральная - за на накопленную ошибку, дифференциальная в ответе за обработку скорости изменения ошибки.

Если еще проще - ПИД-регулятор выдает управляющее воздействие в зависимости от текущего отклонения, с учетом «истории» и скорости изменения отклонения. Нечасто я слышу о калибровке ПИД-регулятора «марлина», но функция такая имеется, в результате мы получаем три коэффициента (пропорциональный, интегральный, дифференциальный) позволяющие наиболее точно управлять именно нашим нагревателем, а не сферическим в вакууме. Желающие могут почитать про код M303.
Аппаратное обеспечение RepRap. Часть 3. Горячка.


График температуры хотэнда (Repetier-Host, Marlin)

Аппаратное обеспечение RepRap. Часть 3. Горячка.
Чтобы проиллюстрировать крайне низкую инерцию хотэнда, я на него просто дунул.



Пыщь-пыщь

Ладно, это про хотэнд. Он есть у всех, если речь идет о FDM/FFF. Но некоторые любят погорячее, так возникает великий и ужасный, жгущий мосфеты и рампсы, нагревательный стол. С электронной точки зрения с ним все сложнее, чем с хотэндом - мощность относительно большая. А вот с позиций автоматического регулирования проще - система более инертная, да и допустимая амплитуда отклонения выше. Поэтому стол с целью экономии вычислительных ресурсов обычно управляется по принципу bang-bang («пыщь-пыщь»), этот подход я выше описывал. Пока температура не достигла максимума, греем на 100%. Потом пусть остывает до допустимого минимума, и снова греем. Также отмечу, что при подключении горячего стола через электромеханическое реле (а так нередко делают, чтобы «разгрузить» мосфет) только bang-bang является допустимым вариантом, ШИМить реле не надо.

Датчики

Напоследок - про терморезисторы и термопары. Терморезистор изменяет свое сопротивление в зависимости от температуры, характеризуется номинальным сопротивлением при 25 градусах и температурным коэффициентом. По факту, устройство нелинейное, и в том же «марлине» есть таблицы для пересчета полученных с терморезистора данных в температуру. Термопара - редкий гость в RepRap, но попадается. Принцип действия иной, термопара является источником ЭДС. Ну, то есть, выдает определенное напряжение, величина которого зависит от температуры. Напрямую к RAMPS и подобным платам не подключается, но активные адаптеры существуют. Что интересно, также в «марлине» предусмотрены таблицы для металлических (платиновых) термометров сопротивления. Не такая уж редкая вещь в промышленной автоматике, но встречается ли «живьем» в RepRap - мне не известно.

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

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

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

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

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