Найти в Дзене

Сушилка филамента - 6. Термостат на Ардуино.

Менять термостат STL0052 на самодельный я не собирался, но он сломался. На второй неделе активной фазы испытаний, при очередном включении сушилки, его дисплей показал пустой светящийся экран. При повторном запуске, он начал было, что-то показывать, но через несколько секунд снова очистился. На стабилизаторе питания контроллера тестер показал сильное падение напряжения, а сам корпус контроллера разогрелся до такой степени, что еще некоторое время палец его трогавший, носил след ожога в виде белой блямбы. Неприятная ситуация. Проект уже подходил к концу, а оно - вот оно как! Быстрее купить новый регулятор, но никакой гарантии, что он, проработав две недели, не сломается - как первый. Повздыхал, поохал и решил принять реальность таковой, какая она есть. Начал собирать детали на свой термостат. Тут наверняка может возникнуть вопрос: «А почему бы не объединить термостат и уже готовый таймер и сделать всё на одном контроллере?» Изначально так не планировалось. Два этих устройства должны был
Оглавление

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

Термостат вышел из строя. Жалко, я к нему почти привык.
Термостат вышел из строя. Жалко, я к нему почти привык.

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

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

Сушатся после травления, слева направо - плата нового термостата, стабилизатор на 5 и 3.3в, электронный ключ для таймера.
Сушатся после травления, слева направо - плата нового термостата, стабилизатор на 5 и 3.3в, электронный ключ для таймера.

Тут наверняка может возникнуть вопрос: «А почему бы не объединить термостат и уже готовый таймер и сделать всё на одном контроллере?»

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

Железо терморегулятора:

  • Ядро – контроллер Ардуино про-мини 3V3;
  • Дисплей - LCD1602 I²C PCF8574;
  • Два термометра - DS18B20;
  • Пять тактовых кнопок;
  • Стабилизатор на 3,3в - AMS1117V3.3:
  • Стабилизатор на 5в - LM1085IT:
  • Три танталовых конденсатора на 10мкФ;
  • Один конденсатор на 22мкФ;
  • Пять подтягивающих сопротивления на 10кОм и один на 6.2 кОм;
  • Некоторое количество контактных колодок, выкорчеванных из неисправной платы.
Дисплей LCD1602 несколько проще, чем тот, который использовался для таймера, но зато и возни с ним поменьше.
Дисплей LCD1602 несколько проще, чем тот, который использовался для таймера, но зато и возни с ним поменьше.

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

Новый термостат (обведен красной рамкой) установлен на приборную доску.
Новый термостат (обведен красной рамкой) установлен на приборную доску.

Основных режимов два. Контроль температуры по максимальному показанию одного из термометров, и по средней температуре. Можно задать рабочую температуру с шагом в 1°С и гистерезис с шагом в 0.2°С. Под гистерезисом тут понимается расширение рабочего диапазона в вверх и вниз от установленной температуры. То есть - по классике, при установленной температуре в +70°С, при превышении этого значения, нагреватель отключается, а при понижении включается. Если гистерезис стоит на 2.2°С, то термостат отключится при +72,2°С, а включится, когда температура упадет ниже +67,8°С. В этом смысле новый термостат копирует функционал вышедшего из строя предшественника.

Напрямую термостат нагревателем не управляет. Сигнал с него передаётся на таймер, в котором общие сигналы управления логически умножаются (конъюнкция - операция (И)). Итог операции подаётся на управляющий выход нагревателем.

Немного о коде

Использовались библиотеки:

  • #include <Wire.h>
  • #include <LiquidCrystal_I2C.h>
  • #include <EEPROM.h>
  • #include <OneWire.h>
  • #include <DallasTemperature.h>

Как я уже говорил, код не сложный, почти тривиальный. Настройки сохраняются в EEPROM, как защита от кратковременных сбоев в сети. При перевключении термостат возьмёт установки из памяти и будет по ним работать в тандеме с таймером. Единственно, пришлось некоторое время потратить на преобразование данных температуры с датчиков для отображения на дисплее. Мне не нужно было два знака после запятой, достаточно было одного (но с округлением), и по нормальному это удалось сделать написанием такой вот процедуры.

Процедура на вид странноватая, но работает.
Процедура на вид странноватая, но работает.

Схема

Схема термостата.
Схема термостата.
Схема блока питания.
Схема блока питания.

Для схемы я взял пятивольтовый стабилизатор на 5А. Сделал его на отдельной плате и поставил на хороший радиатор. Тут дело не в большом токе потребления, а в большом входном напряжении в 12В.

Стабилизатор на 5в (обведен красным) посажен на полноценный радиатор.
Стабилизатор на 5в (обведен красным) посажен на полноценный радиатор.

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

Красным обведен стабилизатор питания контроллера термостата STL0052. Желтым обведём его радиатор, который по фирме` метросексуально залит зеленым лаком.
Красным обведен стабилизатор питания контроллера термостата STL0052. Желтым обведём его радиатор, который по фирме` метросексуально залит зеленым лаком.

По личному опыту - если по паспорту указан диапазон 4,5-15В, то больше семи вольт на стаб, рассчитанный на работу с током до 1А, подавать не нужно. А лучше подавать 5в. Так я и поступил в схемотехнике для Сушилки. Поставил большой стабилизатор, понижающий напряжение с 12 до 5 вольт. С него питается дисплей и два стабилизатора поменьше. Они снижают напряжение до 3,3 вольт и питают контроллеры таймера и терморегулятора. При таком каскаде, стабилизаторы на 3.3в в радиаторах не нуждаются.

(продолжение)-(предыдущая статья)