Сваял блок контроля температуры, относительной влажности и концентрации углекислого газа с функцией автоматического поддержания
заданного минимального уровня относительной влажности.
2-х недельные испытания прошли вполне успешно.
Блок построен на микроконтроллере Arduino Nano. Собран на макетной плате 30х70 мм в обрезанном корпусе бытового удлинителя с использованием материала, отрезанного от секции ПВХ воздуховода из строительного магазина. Материал легко режется ножницами и канцелярским ножом, имеет достаточную толщину, жёсткость и адгезию к термоклею.
Основной инструмент соединения деталей - клеевой пистолет.
Состав и конструкция.
Arduino Nano
OLED дисплей 0.96" 128x64, с шиной I2C. Запаян на макетную плату вместе с контроллером с разных сторон. Плата стоит в направляющих. Снимается легко после отстегивания всех разъёмов.
Модуль датчика температуры и влажности SHTC3 с шиной I2C. Вынесен на «мачту» подальше от корпуса, который слегка греется. Всё равно показывает на 1 град больше других градусников, поэтому при выводе на дисплей внесена коррекция минус 1 град.
Датчик концентрации СО2 MH-Z19B. На фото золотистый корпус. Не крепится никак. Просто вложен в свободное место. Свободы движения практически не имеет. Использован PWM-выход датчика.
AC/DC конвертер HLK-PM01, 5В 3Вт. Прихвачен клеем к боковой стенке. На фото — черный.
Модуль реле 5В 1-канал электромеханическое с опторазвязкой для коммутации розетки подключения увлажнителя. На фото - синий. Электронная часть модуля срезана физически, так как при выключении оставляла на обмотке потенциал на грани удержания, что приводило к эпизодическому залипанию реле при выключении. Корпус реле прихвачен двумя точками к AC/DC конвертеру и снизу двумя точками к корпусу блока.
Для управления реле на макетной плате распаян транзистор 2N4401 (NPN, 0.6А, 40В) с резистором 460 Ом в цепи базы.
Фото будут позже.
Скетч.
Для реализации выполнения двух программных процессов ( расчет значений температуры/влажности и расчет концентрации углекислого газа) и обеспечения приемлемого гистерезиса по управлению электромеханическим реле выбран способ с временной задержкой 5 мин выполнения цикла по датчику температуры и влажности. В период задержки выполняются циклы расчета концентрации СО2, последнее значение которого выводится на дисплей вместе со значениями температуры и влажности.
Пороговое значение задано 40%.
По факту при установленном регуляторе увлажнителя на мощность примерно 15-25 % ( точно сказать не могу — шкала там китайская) влажность в полуметре от увлажнителя колеблется в пределах 38-45 %.
По СО2.
400-600 ppmкомфортно
600-800 ppm что-то не так
больше 800 ppm очень хочется глотнуть кислорода.
Ссылка на скетч
https://disk.yandex.ru/d/ro5IFGl5zwDuRw