Контроллер для теплицы на STM32. Терморегулятор для теплиц - Конструкции средней сложности - Схемы для начинающих Оживляем все это с помощью программы

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

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

Автоматика в теплицах различается по принципу действия (способу приведения механизмов в действие) на:

  1. Электрическую . Такая автоматика отличается простотой монтажа, возможностью точной настройки. К недостаткам электрических систем можно отнести их дороговизну, сравнительно с другими типами автоматизированных систем, и зависимость от источника электроэнергии.
  2. Гидравлическую . Такие технологии надежные и абсолютно безопасные: в их основе лежит принцип расширения жидкостей при перегреве. Недостатки конструкций – медленное реагирование на понижение температуры.
  3. Биметаллическую . В основе биметаллических устройств лежит способность различных металлов к расширению. Такие системы идеальны для автоматизации системы вентилирования. Минусом биметаллической автоматики является то, что она не способны приводить в действие тяжелое оборудование.

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

Больше об автоматике для теплиц в нашем материале:

Автоматика для теплицы на микроконтроллере

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

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

Больше информации об умной теплице на основе чипа Ардуино можно прочитать по ссылке:

Программа автоматики для теплицы на микроконтроллере ориентирована, в первую очередь, на такие процессы как:

  1. Установка заданной температуры и влажности воздуха.
  2. Включение, выключение осветительных приборов в зависимости от времени суток и года.
  3. Управление системой аэрации (открытие и закрытие форточек, запуск вентиляторов при перегреве воздуха в теплице).
  4. Управление системой полива в зависимости от этапов развития растений.

Подобная автоматика позволяет добиться максимальных результатов при выращивании даже самых прихотливых культур, но отличается высокой стоимостью, поэтому может быть рентабельной только на больших и промышленных сельскохозяйственных объектах.

Система зашторивания теплиц

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

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

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

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

При необходимости Экран приводит в действие переключатель на шкафчике автоматики. Кроме того, систему можно включить в программу общего контроллера по управлению климатом внутри теплицы.

Самодельная автоматическая теплица

Во избежание финансовых затрат, автоматизированные системы можно полностью или частично сделать своими руками. Конечно же, для того, чтобы создать автоматику на контроллере понадобятся термостаты, циклические и суточные таймеры, схема готовой платы, каналы связи с оборудованием. Гораздо проще будет организовать автоматику для каждого отдельного процесса.

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

Организация капельного полива имеет такие этапы:

  1. Разработка схемы полива с учетом индивидуальных размеров теплицы.
  2. Подготовка материалов (капельных шлангов, бака для воды, фильтров, кранов, соединительных штуцеров, магистральной трубы).
  3. Установку бака на высоте в 0,1-0,2 см, монтаж фильтров для очистки воды.
  4. Разводку магистрального водопровода и веток линий.
  5. Монтаж перекрывающих кранов на каждую ветку.
  6. Соединение всех составляющие водопровода при помощи соединительных штуцеров.
  7. Установка капельниц.
  8. Наполнение бака водой.

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

Установка автомата в теплицу: термовент для проветривания

Наиболее простой способ контроля температуры в теплице из поликарбоната – установка автоматических форточек для проветривания. Чаще всего, автоматическая форточка комплектуется термоприводом, который приводит устройство в действие при изменении температуры внутри парника.

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

Автоматический механизм монтируется на окна или фрамуг не имеющей большой парусности. Открыватель устанавливается внутри теплицы, в верхней части открываемой конструкции. Для его монтажа необходимо иметь лишь шуруповерт и саморезы. Термопривод может монтироваться и на дверях теплицы.

Оборудование: автоматика для теплиц (видео)

Автоматизация теплицы – это современный, удобный способ повышения урожайности в парнике. Все процессы в автоматизированных теплицах происходят без участия человека, что является неоспоримым преимуществом для огородников, чей садовый участок находится вдали от постоянного места проживания. Оборудовав теплицу автоматикой, вы перестанете заботиться о том как бы не забыть открыть форточку, включить осветительные и отопительные приборы в теплице: “умная” система сделает все за вас, создав наиболее оптимальные условия для роста и плодоношения культуры!

GyverControl – универсальный контроллер-таймер для теплицы и других мест, где нужна автоматизация по таймеру или показателям микроклимата/другим датчикам, имеет 10 отдельно настраиваемых каналов управления, собран из недорогих китайских компонентов и заменяет несколько “магазинных” контроллеров разного назначения: управление поливом, освещением, открытием дверей и многого другого. Может использоваться как для теплиц/грядок, так и для аквариумов, террариумов, инкубаторов и прочих автоматических систем. Обязательно читайте документацию на контроллер (ссылки выше), там подробно рассказано обо всех возможностях. Здесь лишь краткий перечень!

Данный проект полностью открытый, то есть любой из вас может сделать себе контроллер для теплицы своими руками, GyverControl сочетает в себе контроллер полива, освещения, проветривания и многого многого другого. Самое главное, что сделать себе такой контроллер умной теплицы можно по себестоимости, т.е. по розничной стоимости китайских компонентов. А это очень дёшево.

Железо:

  • Arduino Nano (ATmega 328p) как главный контроллер системы
  • 7 каналов с логическим выходом 5V, к которым можно подключать обычное реле, твердотельное реле, силовые ключи (транзисторы, модули на основе транзисторов)
  • 2 канала сервоприводов, подключаются обычные модельные серво больших и маленьких размеров
  • 1 канал управления линейным электроприводом с концевиками ограничения движения и с работой по тайм-ауту
  • Датчик температуры воздуха (BME280 )
  • Датчик влажности воздуха (BME280 )
  • 4 аналоговых датчика (влажности почвы или других)
  • Модуль опорного (реального) времени RTC DS3231 с автономным питанием
  • Большой LCD дисплей (LCD 2004, 20 столбцов, 4 строки)
  • Орган управления – энкодер
  • Поддержка датчиков влажности DHT11/DHT22, температуры DS18b20 и термисторов

Программные фишки:

  • Хранение всех настроек в энергонезависимой памяти (не сбрасываются при перезагрузке )
  • Датчики влажности почвы (все аналоговые датчики) не находятся под постоянным напряжением, оно подаётся только на момент опроса , что позволяет продлить жизнь даже самым дешёвым датчикам влажности почвы (напряжение подаётся за 50 мс до опроса и выключается через 50 мс после).
  • Оптимизированный вывод данных на дисплей
  • Каждый из 10 каналов (7 реле, 2 серво и 1 привод) имеет индивидуальные настройки и может работать по таймеру или по датчикам
  • 4-6 режимов работы каждого канала: три разных таймера и работа по условию с датчиков, режимы ПИД и рассвет
  • Серво работает с моей библиотекой ServoSmooth , это обеспечивает плавное их движение: плавный разгон и торможение с ограничением максимальной скорости, а также отсутствие рывков и незапланированных движений при старте системы
  • Линейный привод имеет концевики , внешние кнопки для управления и настройку скорости движения. Частота ШИМ драйвера – 31 кГц, т.е. не пищит
  • Экран отладки , где отображается вся текущая информация о состоянии железа и датчиков
  • Графики температуры и влажности воздуха и показаний с аналоговых датчиков за последние сутки
  • Сервисное меню , позволяющее вручную управлять каждой железкой

Применение как контроллер теплицы/бокса:

  • Периодичный полив (реле)
    • Схема с индивидуальными помпами/клапанами
    • Схема с одной помпой и несколькими клапанами
  • Полив на основе показаний датчиков влажности почвы
  • Управление освещением (реле) с привязкой ко времени суток
  • Проветривание (привод открывает окно/серво открывает заслонку) по датчику температуры или влажности воздуха
  • Увлажнение (включение увлажнителя) по датчику влажности воздуха
  • Обогрев (включение обогревателя) по датчику температуры
  • Выполнение действий сервоприводом (нажатие кнопок на устройствах, поворот рукояток, поворот заслонок, перемещение предметов) по датчику или таймеру

Применение как контроллер аквариума:

  • Режим рассвет для светодиодных лент (через МОСФЕТ) и ламп накаливания (сервопривод)
  • ПИД регулятор для поддержания температуры воды
  • Сервоприводы (2 шт) для сброса еды
  • Остальные каналы можно использовать по таймерам для запуска фильтров/аэраторов/подсветки

Другие применения:

  • Система поддерживает 4 аналоговых датчика, это не обязательно должны быть датчики влажности почвы, у китайцев полно других «датчиков-модулей», которые точно так же подключаются к схеме:
    • Датчик света : «умная» система освещения, резервное освещение
    • Термистор (до 80 градусов): контроль нагрева объекта
    • Датчик звука : закрывание окна при сильном шуме снаружи (почему нет? =))
    • Датчик ИК излучения (датчик пожара) – разные варианты сигнализации, или даже тушения (включаем помпу с водой, открываем кран сервой)
    • Датчик дождя : закрытие окон, сигнализирование, включение помп на откачку
    • Датчик уровня воды /датчик наличия воды: автоматическое наполнение резервуара, автоматическая откачка воды помпой из ёмкости/подвала, перекрытие водяных магистралей при протечке, сигнализация о протечке
    • Газоанализаторы в ассортименте: сигнализатор или даже проветривание (открываем окно) по уровню угарного газа и других промышленных газов
    • Оптический датчик препятствия : тут нужна фантазия
    • Потенциометр : как дополнительный орган контроля системы
  • Сервопривод довольно универсальная штука, может открывать/закрывать заслонки, может нажимать кнопки других устройств, вращать ручки регулировки других устройств, с приделанным шатуном получает возможность линейно перемещать предметы/ползунки других устройств. Сервоприводы есть разных размеров, от микро (2 кг/см) и средних (13 кг/см) до весьма мощных (50 кг/см)
  • Реле умеет замыкать контакты питания и управлять любыми устройствами, также реле может включить блок питания (например светодиодной ленты). Реле можно поставить параллельно проводам к кнопке другого устройства, и оно будет его включать или выключать.
  • Версия 1.4 и выше позволяет поддерживать температуру при помощи ПИД регулятора, для
    террариумов/инкубаторов/любого поддержания температуры:
    – Подавать ШИМ сигнал на полевой транзистор, управляющий нагревом
    – Поворачивать сервоприводом крутилку сетевого диммера
  • Версия 1.4 и выше имеет режим Рассвет, позволяющий использовать контроллер для
    аквариума/террариума и прочих «животных ферм»
  • Основным органом управления является энкодер , рукоятку которого может вращать и нажимать (она является кнопкой). При запуске системы мы попадаем на настройку канала 0. Вращая рукоятку энкодера можно перемещать курсор выбора (стрелочка) по пунктам меню. Чтобы изменить значение выбранного пункта, нужно нажать рукоятку энкодера и повернуть её, удерживая нажатой . Также можно кликнуть по кнопке, курсор изменится со стрелки на галочку > , и вращением можно изменить выбранную величину. Повторный клик вернёт стрелку, при помощи которой можно выбрать другой пункт меню. Удержанный поворот при выбранном имени канала – смена канала для настройки. Листаем направо и у нас будет по порядку 7 каналов реле, два серво и линейный привод.
  • Чтобы перейти к настройке режима, нужно навести на него курсор и кликнуть кнопкой , не поворачивая. Откроется окно настройки режима, выйти из которого можно кликнув по надписи BACK (назад). Удерживая и вращая рукоятку на выбранном названии режима можно сменить режим, всего их 4.
  • В корне меню (выбор каналов) листая налево от канала 0 будет экран отладки (DEBUG ) и сервисный режим (SERVICE ). На экране отладки показаны все текущие положения реле, приводов и показания с датчиков. Вращая рукоятку на экране отладки последовательно листаются суточные графики показаний с датчиков: температура воздуха, влажность и показания с аналоговых датчиков. Деления на графике имеют шаг 1.6 часа . На экране сервиса можно управлять любым каналом в ручном режиме, при активном экране сервиса автоматика не работает, система находится полностью в ручном режиме. Поворотом рукоятки можно выбрать нужный канал, положение серво или настройку текущего времени, и удержанным поворотом её изменить.
  • Если включить систему с зажатой рукояткой энкодера, произойдёт полный сброс настроек каналов и режимов.

Режимы работы каналов

  1. Таймер – простой периодичный таймер: задаются периоды ПАУЗЫ и время РАБОТЫ в формате ЧЧ:ММ:СС. С периодом ПАУЗЫ совершается выбранное действие и выполняется в течение периода РАБОТЫ. Например, ПАУЗА стоит 1 час, РАБОТА – 10 секунд. Каждый час будет совершаться действие в течение 10 секунд, то есть если выбран канал реле, то реле включится и выключится через 10 секунд, затем снова включится через час и выключится через 10 секунд и так далее. Как канал ведёт себя на участке РАБОТЫ задаётся в параметре НАПРАВЛЕНИЕ, то есть это может быть вкл/выкл и выкл/вкл (реле), направо/налево и налево/направо (серво) и открыть/закрыть и закрыть/открыть (линейный привод). Данный режим не имеет привязки к реальному времени, перезагрузка системы сбрасывает текущий таймер. Внимание! РАБОТА не должна быть дольше ПАУЗЫ!
    • Мин. значение: 1 секунда
    • Макс. значение: 999 часов
    • Привязка к реальному времени: нет
  1. Таймер RTC – периодичный таймер, в отличие от предыдущего обладает привязкой к реальному времени, имеет настройку ПЕРИОДА включения и продолжительности РАБОТЫ (в секундах), которая будет совершаться, и СТАРТ – начального часа, с которого начинается отсчёт периода (для периодов больше 2 часов ). Например, период 15 минут, работа 10 секунд: каждые 15 минут будет производиться действие продолжительностью 10 секунд. Привязка к реальному времени работает следующим образом: действие будет совершаться с выбранным периодом от начала часа , то есть если выбран 15 минутный, то действие будет в 0, 15, 30 и 45 минут каждого часа . Если выбранный ПЕРИОД больше часа (от двух и более) то можно выбрать час СТАРТА, от которого пойдёт отсчёт. Все периоды кратны 24 часам, поэтому работа начинается в одни и те же часы каждого дня! Пример: ПЕРИОД 8 часов, начальный час 0. Действие будет выполнено в 0, 8 и 16 часов каждого дня. Если поставить начальный час (СТАРТ) 3 часа, то действие будет выполнено в 3, 11 и 19 часов каждого дня. При сбросе питания следующее действие будет совершено в ближайшее время «будильника». Внимание! РАБОТА не должна быть дольше ПЕРИОДА!
    • Периоды на выбор: каждые 1, 5, 10, 15, 20, 30, 60 минут и 1, 2, 3, 4, 6, 8, 12, 24 часа
    • Применение: полив в гидропонных системах, проветривание без датчика
Период Раз в сутки Когда срабатывает
1 мин 1440 Каждую минуту
3 мин 480 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57 мин. каждого часа
5 мин 288 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55 мин. каждого часа
10 мин 144 0, 10, 20, 30, 40, 50 мин. каждого часа
15 мин 96 0, 15, 30, 45 мин. каждого часа
30 мин 48 0, 30 мин. каждого часа
1 час 24 Каждый час
2 часа 12 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22 часа каждого дня (+ сдвиг на стартовый час)
3 часа 8 0, 3, 6, 9, 12, 15, 18, 21 час каждого дня (+ сдвиг на стартовый час)
4 часа 6 0, 4, 8, 12, 16, 20 часов каждого дня (+ сдвиг на стартовый час)
6 часов 4 0, 6, 12, 18 часов каждого дня (+ сдвиг на стартовый час)
8 часов 3 0, 8, 16 часов каждого дня (+ сдвиг на стартовый час)
12 часов 2 0, 12 часов каждого дня (+ сдвиг на стартовый час)
24 часа 1 0 часов каждого дня (+ сдвиг на стартовый час)
  1. Week (бывший Day) – простой таймер на одно действие с привязкой к реальному времени, имеет настройку On (время в формате ЧЧ:ММ:СС) – время, с которого действие активно, и Off (время в формате ЧЧ:ММ:СС) – время, с которого действие не активно. Также имеется 7 «ячеек» – дней недели Days , с понедельника по воскресенье. При перезагрузке действие вернётся в нужное положение согласно текущему времени. Пример: таймер настроен на 6 и 20 часов (Start и Stop). Соответствующее текущему каналу и параметру Direction действие будет активно с 6 до 20 часов, и неактивно с 20 до 6 часов утра следующего дня. При внезапной перезагрузке система совершит действие так, как оно должно быть на этом отрезке времени, то есть из прошлого примера если в промежуток между 6 и 20 часами произойдёт внезапная перезагрузка, при запуске система активирует действие по каналу. Внимание! On должен быть меньше Off!
    Также режим имеет настройку Global , которая вынуждает любой другой режим работать «по расписанию» Week. Что это даёт: например можно настроить полив во вторник и пятницу с 17 до 18 часов вечера (из бочки), поставить галочку global и настроить режим Sensor под полив. Как это будет работать: система будет поливать этот канал по режиму Sensor, но делать это только по расписанию (вторник и пятница 17-18).
    • Выбор дня недели
    • Выбор времени: 0-23 часа, кратно 1 часу
    • Привязка к реальному времени: да
    • Применение: идеальный режим для освещения и редкого полива
  1. Датчик – действие на основе датчика. С периодом опроса ПЕРИОД опрашивается выбранный датчик под названием ДАТЧИК и при превышении порогового значения ПОРОГ выполняется действие согласно выбранному каналу (реле/серво/привод). ПЕРИОД опроса опроса задаётся в секундах или минутах (по мере увеличения). Датчик выбирается из списка: Т.ВЗД. – температура воздуха, В.ВЗД. SENS_1 по SENS_4 . ПОРОГовое значение задаётся с 0 до 1023 с шагом 1 до значения 50 и с шагом 10 начиная от 50 (датчики влажности почвы имеют диапазон значений 0-1023). Например, выбран датчик температуры воздуха, период опроса 1 час и пороговое значение 25. Каждый час система проверяет температуру, при превышении 25 градусов будет выполнено соответствующее каналу действие (включить реле, открыть окно). Через час будет снова произведена проверка.
    • Применение: открытие/закрытие створок по температуре/влажности (привод), полив по влажности почвы, управление вентилятором/увлажнителем (реле) или заслонками (серво) по температуре/влажности.
  1. PID (для каналов 3, 4 и серво) – пропорционально-интегрально-дифференциальный регулятор, позволяет с высокой точностью поддерживать управляемую величину (нагреватель-температура, заслонка-температура, вентилятор-температура, вентилятор-влажность, и так далее). Режим доступен для каналов 3 и 4 (отмечены звёздочкой), а также обоих каналов серво в режиме серво. Имеет настройки коэффициентов P , I , D (D вам скорее всего не пригодится в реальной работе, но он там всё равно есть). Выбираем Sens – источник входного сигнала – один из сенсоров, как в режиме Sensor (Air t. – температура воздуха, Air h. – влажность воздуха и 4 аналоговых датчика (влажности почвы) с SENS_1 по SENS_4 ). Настройка Set указывает, к какому значению показания с выбранного датчика регулятор будет стараться приводить систему. Настройка
    T задаёт период итерации расчёта, для медленных процессов есть смысл поставить побольше (читайте в отдельной главе «Настройка ПИД регулятора»). Настройки min и max отвечают за минимальный и максимальный управляющий сигнал с данного канала, для каналов 3 и 4 это ШИМ сигнал, рабочий диапазон 0-255. Для каналов серво это угол, 0-180 градусов.
    Применение : поддержание заданной величины (температура, влажность) не релейным способом, т.е. плавно и без резких включений. ШИМ сигнал может управлять транзистором, который отвечает за нагреватель. Серво может поворачивать заслонки (проветривание) или крутилки диммеров для управления сетевыми нагревателями, вентиляторами и прочим оборудованием.
  1. Рассвет (для каналов 3, 4 и серво) – режим «рассвета» для контроля освещения с плавным рассветом и закатом. Режим доступен для каналов 3 и 4 (отмечены звёздочкой), а также обоих каналов серво в режиме серво. Плавно включается в час Start на протяжении Dur минут, затем выключается в час Stop в течение Dur минут. Включается до максимального значения, указанного в max , и выключается до min . На каналах 3 и 4 эта величина задаёт скважность ШИМ сигнала, рабочий диапазон 0 – 255. Управлять можно полевым транзистором, например, светодиодной лентой. На каналах серво рабочий диапазон 0 – 180, градусов поворота вала серво. Может управлять крутилкой сетевого диммера, для ламп накаливания или диммируемых светодиодных.
    Применение : организация условий освещённости, приближенных к реальным, для аквариумов, террариумов, курятников и проч.

Настройки каналов реле

  1. Направление – как ведёт себя реле при активации по таймеру/датчику. ВКЛ-ВЫКЛ или ВЫКЛ-ВКЛ
  2. ТИП – логика работы реле
    • Реле – канал реле ведёт себя как обычное реле, может использоваться для управления любой нагрузкой постоянного или переменного тока (управлять сетевыми устройствами): полив индивидуальными помпами, полив индивидуальными клапанами от источника воды под давлением, управления увлажнителями, обогревателями, вентиляторами, приборами освещения и всем другим подобным. Не зависит от других каналов.
    • Клапан – тип канала реле для системы, где есть общая помпа/клапан от источника воды и несколько индивидуальных клапанов на полив разных участков. Канал реле, настроенный как клапан, одновременно со своей активацией (по таймеру/датчику) активирует другой канал/каналы, настроенный как общий .
    • Общий – тип канала реле для системы, где есть общая помпа/клапан от источника воды и несколько индивидуальных клапанов на полив разных участков. Канал реле, настроенный как общий, не имеет настроек режима. Вместо этого он активируется сам одновременно с любым другим каналом, настроенным как клапан . Автоматически сам деактивируется при отсутствии неактивных каналов клапанов.

Настройки каналов серво

  1. Направление – как ведёт себя серво при активации по таймеру/датчику. Поворот в направлении МИН-МАКС угол или наоборот, МАКС-МИН угол
  2. Пределы – углы поворота серво от 0 до 180 градусов с шагом 10
  3. Дополнительно: в скетче в секции настроек есть настройка максимальной скорости движения сервоприводов (SERVO1_SPEED и SERVO2_SPEED) и их ускорение на разгон и торможение (SERVO1_ACC и SERVO2_ACC). Я не стал вносить их в настройки сервисного меню и каналов, т.к. они не так часто нужны.

Настройки канала привода

  1. Направление – как ведёт себя привод при активации по таймеру/датчику, ОТКРЫТЬ-ЗАКРЫТЬ или ЗАКРЫТЬ-ОТКРЫТЬ
  2. Таймаут – время, которое будет подаваться сигнал на движение привода. Концевик (если он есть) прервёт движение привода

Принципиальная схема и пример установки в

теплице терморегулятора на микроконтроллере ATmega8.

Один из способов обогрева теплиц - это использование электроэнергии. При хорошей и умной автоматике можно обеспечить высокий коэффициент полезного действия системы обогрева, а также простоту обслуживания и автоматизацию в поддержании заданной температуры. Эффективность теплицы можно заметно повысить, если сделать подогрев почвы и поддержание температуры воздуха. При разработке данного устройства был применен самодельный электрокотел 5 кв. Два ТЭНа 2+3 кв. Можно в работе использовать по одному ТЭНу, сейчас тепло на улице, так что и один ТЭН вполне справляется с поставленной задачей. Обогревает тепличку 11 на 5 метров, высота по центру - 3 м, двойная пленка, теплица углублена в землю на один метр. Блок управления отслеживает пять точек и управляет тремя контурами. Две - теплая грядка, температура помещения. В меню прибора можно установить для каждого контура свою температуру и гистерезис. Отдельно для каждого контура устанавливается дневная и ночная температуры.

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

Так выглядит фото спаянной платы со стороны дорожек:

1.Инструкция работы автоматики

Микроконтроллер терморегулятора работает с 5-ю датчиками DS18B20. Датчики подключены на одну шину. Возможно, надо будет уменьшить R1. МК различает датчики по их серийному номеру. При изготовлении первый раз придется методом тыка определить, какой датчик за что отвечает и установить их соответствующим образом.

Данные отображаются в формате целых чисел, десятые отбрасываются, незначащие нули гасятся. Диапазон температур от -9 до +99 градусов. При выходе температуры за пределы или при ошибке датчика на дисплее -- вместо показаний соответствующего датчика.

При первом подключении при успешной инициализации всех 5-и датчиков их серийные номера запишутся в EEPROM. Это позволит в дальнейшем корректно работать в случае, если некоторые датчики демонтированы или неисправны. В случае замены датчиков необходимо стереть EEPROM и включить устройство. Стереть EEPROM пока возможно только в программаторе. Потом может придумаю как это сделать через меню. МК будет работать без кварца 8 МГц. Должны быть соответствующим образом установлены FUSE. Индикатор на базе процессора HD44780.

2.Работа с терморегулятором

1.Кнопка «MENU» по кругу листает страницы меню.

2.В меню настроек (Установка) параметр, доступный для установки, мигает.

3.Установка кнопками PLUS/MINUS как обычно.

4.Часы на DS1307. Время выводится в формате чч:мм:сс. Формат отображения 24-х часовый. Доступ к часам через меню. На странице доступны установки времени – по очереди: секунды (кнопки PLUS/MINUS обнуляют значение секунд), минуты, часы. Выставляется время включения дневного режима – день и ночного – ночь. Для режимов формат вывода чч:мм. Настройки часов заносятся в память DS1307.

5.Переход от одного параметра к другому кнопками UP/DOWN. Кнопки работают по одиночному нажатию, независящему от длительности.

6.Через 10 секунд от последнего нажатия настройки запишутся в память. Дисплей перейдет в основной режим.

7.При нажатии на любую кнопку, а также при подаче питания включается подсветка. Подсветка отключится через 30 сек от последнего нажатия на кнопки.

3. Алгоритм управления котлом

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

2.Примерно через 5 сек устройство активируется и начинает управлять котлом.

3.Если температура с датчиков Пол-1, Пол-2 или Офис становится ниже заданной, то включается в работу насос, нагреватель и подается напряжение на соответствующий исполнительный механизм подачи теплоносителя в данный контур. Когда температура повысится выше заданной на величину гистерезиса, то нагреватель отключается, насос остается в работе на время 30 сек для обеспечения охлаждения нагревательного элемента до безопасной температуры. Для обеспечения протока воды через контур котла подача теплоносителя остается открытой в данный контур на время работы насоса. Если работа котла необходима для другого контура, то теплоноситель перекрывается на уже ненужный контур сразу.

4. Аварийный режим

1.Если температура теплоносителя превысила заданную для параметра Котел, независимо от состояния датчиков включается насос, нагреватель отключается, а для обеспечения протока воды через котел открывается контур Офис.

2.При неисправности датчика какого-либо контура данный контур считается отключенным, если по нему работал нагреватель, то через 30 сек, насос и контур отключатся.

3.В случае неисправности датчика температуры теплоносителя при работающем котле, прибор переведет котел в режим, как указано в п. 4.1.

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

Многие с удовольствием занялись подобным хозяйством, вот только ни сил, ни времени для этого нет. И только мечта подсказывает: вот бы такую конструкцию, которая бы настолько умной, что делала бы все сама. Такая теплица окажется востребованной теми, кто не хочет тратить много времени на уход за растениями, а также может не иметь для этого возможности в случае длительного отсутствия — командировок, отпуска и т.п.
Мы и приступим к созданию подобной теплицы, назовем ее умной. А поможет нам создавать умную теплицу контроллер Arduino . Какие же функции будет выполнять умная теплица?
Во-первых, необходимо оперативно получать всю необходимую информацию об климатических параметрах нашей теплицы: температура и влажность воздуха, температура и увлажненность почвы, освещенность теплицы. Т.е. осуществлять мониторинг климатических параметров теплицы.

Какую проблему клиента решит функция мониторинга? Прежде всего — устранит беспокойство насчет того, все ли в порядке c растениями во время его отсутствия: есть ли вода в системе, не выключалось ли электричество, может ли системе вентиляции обеспечить нужную температуру, если в помещении стало слишком жарко и т.п.

Выводить данные мониторинга можно на дисплей, или с помощью светодиодов оповещать о критических значениях климатических параметров, или получать данные через интернет или на планшет.
Далее, необходимо реализовать возможность управления теплицей – осуществлять полив, обогрев, вентиляцию растений, регулировать освещенность растений. Управление можно с помощью автоматики, или удаленно (через интернет или через телефон (планшет)).

Следующий этап – функция автономности теплицы. При снижении уровня увлажненности почвы ниже определенного значения, необходимо включить полив, при снижении температуры в теплице необходимо включить обогрев, освещенность теплицы необходимо производить по определенному циклу.

Рисунок 1. Схематическое изображение умной теплицы

В наших уроках мы рассмотрим практическую реализацию проекта умной теплицы. Создадим проект умной теплицы –
«Домашний цветок». И начнем с реализации функции мониторинга параметров теплицы. Для мониторинга нам необходимо получать следующие данные о окружаещей среде нашего цветка:

  1. температура воздуха;
  2. влажность воздуха;
  3. увлажненность почвы;
  4. освещенность цветка.

Для реализации функции мониторинга нам понадобятся следующие детали:

  1. Arduino Uno;
  2. Кабель USB;
  3. Плата прототипирования;
  4. Провода «папа-папа» – 15 шт;
  5. Фоторезистор – 1 шт;
  6. Резистор 10 кОм – 1 шт;
  7. Датчик температуры TMP36 – 1 шт;
  8. Модуль температуры и влажности воздуха DHT11 – 1 шт
  9. Модуль влажности почвы – 1 шт.

Позиции 1-6 имеются в наборах серии «Дерзай» («Базовый», « » и «Умный дом»), датчик температуры TMP36 имеется в наборах «Базовый» и «Изучаем Arduino». Ссылки на позиции 8 и 9 будут даны в конце статьи.
Сначала познакомимся с датчиками, которые будем использовать для функции мониторинга параметров нашего проекта.
C помощью фоторезистора (рисунок 2) осуществляют измерение освещенности. Дело в том, что в темноте сопротивление фоторезистора весьма велико, но когда на него попадает свет, это сопротивление падает пропорционально освещенности.

Рисунок 2. Фоторезистор

Аналоговый датчик температуры TMP36 (рисунок 2) позволяет легко преобразовать выходной уровень напряжения в показания температуры в градусах Цельсия. Каждые 10 мВ соответствуют 1 0С, Вы можете написать формулу для преобразования выходного напряжения в температуру.

0C = [ (Vout в мВ) - 500] / 10

Смещение -500 для работы с температурами ниже 0 0C.

Рисунок 3. Аналоговый датчик температуры TMP36

Датчик DHT11 состоят из емкостного датчика влажности и термистора. Кроме того датчик содержит в себе простенький АЦП для преобразования аналоговых значений влажности и температуры. Будем использовать датчик в варианте модуля для Arduino (рисунок 4).

Рисунок 4. Модуль DHT11

Модуль влажности почвы (рисунок 5) предназначен для определения влажности земли, в которую он погружен. Он позволяет узнать о недостаточном или избыточном поливе ваших домашних или садовых растений. Модуль состоит из двух частей: контактного щупа YL-28 и датчика YL-38, щуп YL-28 соединен с датчиком YL-38 по двум проводам. Между двумя электродами щупа YL-28 создаётся небольшое напряжение. Если почва сухая, сопротивление велико и ток будет меньше. Если земля влажная - сопротивление меньше, ток - чуть больше. По итоговому аналоговому сигналу можно судить о степени влажности.

Рисунок 5. Модуль влажности почвы

Теперь соберем на макетной плате схему, представленную на рисунке 6.

Рисунок 6. Схема соединения для мониторинга параметров для «Домашний цветок «.

Приступим к написанию скетча. Фоторезистор, датчик температуры TMP36 и модуль влажности почвы – обычные аналоговые датчики. Для датчика TMP36 мы можем преобразовать аналоговые значения в показания температуры в градусах Цельсия. Для работы с модулем DHT11 будем использовать Arduino библиотеку DHT (Скачать). Данные будем измерять с интервалом 5 секунд и значения выводить пока в последовательный порт Arduino.
Создадим в Arduino IDE новый скетч, занесем в него код из листинга 1 и загрузим скетч на на плату Arduino. Напоминаем, что в настройках Arduino IDE необходимо выбрать тип платы (Arduino UNO) и порт подключения платы.

Листинг 1.

// подключение библиотеки DHT #include "DHT.h" // тип датчика DHT #define DHTTYPE DHT11 // контакт подключения входа данных модуля DHT11 int pinDHT11=9; // контакт подключения аналогового выхода модуля влажности почвы int pinSoilMoisture=A0; // контакт подключения аналогового выхода датчика температуры TMP36 int pinTMP36=A1; // контакт подключения аналогового выхода фоторезистора int pinPhotoresistor=A2; // создание экземпляра объекта DHT DHT dht(pinDHT11, DHTTYPE); void setup() { // запуск последовательного порта Serial.begin(9600); dht.begin(); } void loop() { // получение данных с DHT11 float h = dht.readHumidity(); if (isnan(h)) { Serial.println("Failed to read from DHT"); } else { Serial.print("HumidityDHT11= "); Serial.print(h);Serial.println(" %"); } // получение значения с аналогового вывода модуля влажности почвы int val0=analogRead(pinSoilMoisture); Serial.print("SoilMoisture= "); Serial.println(val0); // получение значения с аналогового вывода датчика температуры TMP36 int val1=analogRead(pinTMP36); // перевод в мВ int mV=val1*1000/1024; // перевод в градусы цельсия int t=(mV-500)/10; Serial.print("TempTMP36= "); Serial.print(h);Serial.println(" C"); // получение значения с аналогового вывода фоторезистора int val2=analogRead(pinPhotoresistor); Serial.print("Light= "); Serial.println(val2); // пауза 5 секунд Serial.println(); delay(5000); }

После загрузки скетча на плату, открываем монитор последовательного порта и наблюдаем вывод значений с показаниями наших датчиков (рисунок 7).

Рисунок 7. Вывод значений с показаниями наших датчиков в монитор последовательного порта Arduino.

А вот и наш выращиваемый цветок (рисунок 8).

Рисунок 8. Проект «Домашний цветок»

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

Уважаемые коллеги!
Хотелось бы немного дополнить уже имеющиеся на форуме публикации небольшой статьёй, дополняющей серию доступной автоматизации для дачных участков. STM32 как серия микропроцессоров вполне может дополнить группу устройств автоматики, построенных на Ардуино.
Немного истории - почему вообще родилась такая сист ема. Совсем недавно я стал счастливым обладателем 140 кустов ремонтантной малины, и конечно же, сделал посадку. Несмотря на то, что убыли приложены старания - результат оказался плачевным. Посадка была с мульчирующим покрытием и оборудована капельным поливом - но более половины кустов к осени оказались нежизнеспособными. Причём что удивительно - ни вредителей, ни болезней замечено не было. Именно это и оказалось толчком для начала работ.
В первую очередь, был проведён анализ воды - и оказалось, что вода имеет состав, который не очень хорошо воспринимается малиной. Грустная новость - это говорит о том, что без специальной системы подготовки применить воду, имеющуюся просто в избытке на участке, нельзя. Конечно, интернет мне в помощь - и результаты просто шокирующие... Цена на готовую систему превышает 270 тыс рублей, и просто так её не купить - изготавливается индивидуально, и для моих объёмов сони имеют слишком большую производительность. Стало обидно за державу - и вот, после года(!) работ, появилась на свет система, которая с успехом прошла испытания и в этом году будет управлять поливом и подкормкой моих посадок. Причём не только малины.
Собственно, вы справедливо заметите - это же открытые посадки, а тут обсуждается закрытый грунт. Да - дело в том, что мой коллега, у которого имеется 3 теплицы, заинтересовался проектом. И вот уже для него сделаны малой серией контроллеры, фото которых вы видите ниже

Немного технических подробностей - в качестве основной платы используется отладочная плата с установленным stm32f103c8t6. Питание 220В переменного тока, имеется гальванически изолированная шина стандарта RS485 и также гальванически изолированная шина стандарта 1-wire. Контроллер является свободно программируемым - по командам полностью совместим с контроллером FX2N Mitsubishi.
Поддерживает протокол обмена Modbus RTU как мастер, так и слейв. Также имеет 2-й порт обмена последовательными данными - но поддержка только слейв modbus RTU.
Благодаря наличию шины 1-wire, легко работает с распространёнными датчиками температуры DS18B20. Причём поддерживает до 128 штук.
Также в данную публикацию хотелось бы добавить видео работы системы из 4-х контроллеров, работающих по шине модбус.

Почему я решил провести такую публикацию? Да очень просто - ведь не каждый может взять в руки паяльник и собрать то, что ему необходимо. Этот контроллер даёт возможность реализовать любую идею или задумку фермера без особых знаний.
Немного сумбурно описал систему - уж извините. Если будут вопросы - милости прошу, отвечу по возможности на все. Также, если этот пост пропустят, буду публиковать материалы о том, как эта система будет устанавливаться в теплице. Надеюсь, этот опыт будет полезным.