Малая автоматизация выращивания цветов и рассады

Был у меня раньше  блок автоматики на базе модуля Кит NM8036, но коробка была здоровая да и функционала не хватало, вот и решил переделать на что компактное и аккуратное.
Предыстория, причина побудившая заняться автоматизацией
Необходимость включать подсветку в двух местах, а вручную лень, да и все время забывается
Одна точка подсвети на кухне. Раньше цветы весели на стене, но потом поставили новый большой холодильник и места под цветы не осталось, а выкидывать их было жалко. Вот и поставили на верх холодильника, но так как там уже темно пришлось прикрутить над ними люминесцентную лампу.
Второе место в зале на стене закреплены подставки для цветов, над ними тоже лампа.
Так же автоматика управляет работой мини теплички на подоконнике. Привозится она из гоража на период весенней рассады.
Вид теплички для рассады и внизу старый блок автоматики:

Выглядит это так, каркас из пластикового уголка обшитый поликарбонатом (с дачи остался), спереди раздвижные дверцы, сзади открытая стенка для охлаждения от окна.
Когда делал тепличку было две цели: обезопасить рассаду от кошки (тогда была ещё одна, а сейчас трое), и создать благоприятный микроклимат для рассады.
Техническая часть микроклимата:
Подсветка по времени светодиодными светильниками (самодельные светильники из красных (660нм) и синих (440нм) светодиодов, правда драйверы покупные) .
Поддержание оптимальной температуры, разной в дневное и ночное время. Реализуется за счет включения вентилятора (обычный компьютерный 80*80) который подаёт тёплый воздух из комнаты, а охлаждение идет от оконного стекла.
Как видно из фота с верху, старый блок был хоть и рабочим но довольно не эстетичным, вот и решил сделать новый на базе Arduino  и FLProg.
Ну за одним решил ещё совместить с функцией метеостанции, на тот период пока нет теплички.
Чтобы сделать блок компактным и эстетичным, долго искал корпус (оказалось найти нормальный корпус та ещё задача) в конце остановился на развет. коробке открытого монтажа.
За основу была взята Arduino Pro Mini (из соображений компактности), часы реального времени  DS3231, барометр BMP-180 датчик температуры и влажности DHT22, экран LCD1602.
Для передачи данных на другое Arduino – устройство (в соседней комнате), с последующем созданием веб-сервера и передачи данных на http://narodmon.ru, было добавлен преобразователь в RS-232.
Исходно схема была, вот такой:

Методом ЛУТ была изготовлена (мой первый опыт травления плат, получилась вот так:

После пайки компонентов выглядело так:

Когда вставил все съёмные компоненты приобрело такой вид:

Исходно было решено прямо  в корпусе разместить блок питания (купил на  ебей  компактный 12В импульсный), но на стадии отладки схемы я что то такое у чудил (так и не понял что), но итогом стал бабах и у меня выговорило треть деталей в БП и один симистор на плате, несколько дорожек и решил больше не мудрить и использовал внешний трансформаторный блок питания (благо он от старой системы остался).
Еще один момент обнаружился уже после сборки и подключения люминесцентных ламп. Включаю лампу все нормально, а вот в выключено состоянии она начинала моргать. После поисков в интернете, сделал вывод, что при коммутации люминесцентных ламп  симистором снаберная цеп (цеп из конденсатора и резистора , в параллель симистора, для защиты от бросков при подключении индуктивной нагрузки) созидает больше проблем чем пользы. Пришлось её ликвидировать и мигание пропало.
Походу монтажа в коробку пришлось произвести ещё ряд доработок, так что схема слегка изменилась, позже нарисую итоговую.
После монтажа на месте блок выглядит так:

А при выключенном свете еще забавнее:

Корпус оказался довольно прозрачным, хотя с начало так не казалось. Даже не знаю, то ли выпаять все эти красные светодиоды с платы контроллера и часов (кстати может кто знает, это вообще можно делать).



В программе реализовано считывание показаний датчиков, вывод их на экран и передача на другое устройство.
Все настройки режимов работы осуществляются через меню и сохраняются в энергонезависимой памяти.
Подпрограммы включение нагрузки по времени ( 7шт.), с возможностью настроит время включения и отключения, выбором нагрузки, и отключения исполнения программы. Число 7 объясняется тем, что три подсвети включаемые утром  и вечером на несколько часов, и одна для выбора времени для режима день-ночь при работе вентилятора.
Для поддержания температуры реализовал подобие ПИ-регулятора. Полноценный реализовать не получилось так как время цикла плавает. Предварительные (теплички ещё нет дома) испытания показали, что регулятор работает, но требуется его настройка (подбор П и И составляющих).

Так как вентилятор при подачи на него ШИМ сигнал ниже определённого уровня останавливается и пищит (в таком режиме он может и сгореть), пришлось добавит ещё и уставку нижний придел задания вентилятора и блок масштабирования.
Для реализации всего выше перечисленного пришлось по мучатся, так как первый вариант кода банально не помещался в контроллер, пришлось довольно сильно его переделать чтобы все влезло.
Даже так занято 95% памяти под программу и 56% памяти под переменные и 43% энергонезависимой.
Во общем как то так, если будут вопросы задавайте, отвечу.

Добавил: Слимпер


2

Вложения

Publication author

offline 2 weeks

Анатолий

77
Comments: 26Publics: 77Registration: 21-12-2017

3 thoughts on “Малая автоматизация выращивания цветов и рассады”

  1. Спасибо дорогой товарищ! Проделал не слабую и очень полезную работу. В новой версии FLProg выдает ошибку загрузки.

    Сын у меня заинтересовался сделать подобный девайсик но с контролем и управлением

    через модуль ESP8266 (удаленный контроль,управление температурой в квартире и влажностью в ванной)

    Может совместно у нас ним что нибудь получится ))

    0
  2. Спасибо дорогой товарищ! Проделал не слабую и очень полезную работу.

    Сын у меня заинтересовался сделать подобный девайсик но с контролем и управлением

    через модуль ESP8266 (удаленный контроль,управление температурой в квартире и влажностью в ванной)

    Может совместно у нас ним что нибудь получится ))

    0

Leave a Comment

Войти с помощью: