Владимир Макаров.
Контроллер автоматической системы полива.
Введение.
Наступила весна. Журчат ручьи, распускаются листья на деревьях, поднимается зеленая трава, скворцы уже заселяются в скворечники.
Весна, это долгожданный период времени для огородников.
Полным ходом идет покупка и посадка семян в торфяные горшочки, вот уже появляются первые листочки томатов и огурцов. Природа начинает свое воспроизводство.
Самое время подумать о системе полива растений после их пересадки в теплицу или открытый грунт.
Вниманию читателей сайта vprl.ru - предлагается контроллер автоматической системы полива растений.
Устройство автоматически включает исполнительные устройства на полив растений водой из резервуара (например, из бочки) и докачку воды в резервуар до предельного уровня.
Устройство следит за одновременным наступлением четырех событий, необходимых для включения реле полива:
1. После последнего полива прошло установленное число дней.
2. Наступило установленное время полива (в часах и минутах).
3. Температура воды в резервуаре равна или превышает установленное значение.
4. В резервуаре есть вода.
Реле полива коммутирует цепи насоса полива или клапана полива (для случая самотечной системы полива).
Устройство также следит за наполненностью резервуара водой. Если резервуар не наполнен, то включается реле докачки, которое коммутирует насос докачки или клапан докачки (если наполнение резервуара осуществляется из водопровода). При этом докачка резервуара осуществляется только в период отсутствия полива.
Автор выражает глубокую признательность Щелканову Евгению, радиолюбителю из Ухты, за идею, советы и тестирование устройства.
Внешний вид устройства показан на рисунке (Рисунок 1).
Рисунок 1. Внешний вид устройства
Демонстрационный ролик
Принципиальная схема устройства.
Схема электрическая принципиальная устройства показана на рисунке (Рисунок 2).
Рисунок 2. Схема электрическая принципиальная
Устройство собрано на микроконтроллере ATmega8.
Реальное время (часы и минуты) обеспечивается микросхемой DS1307N, которая управляется микроконтроллером по шине TWI (аналог шины I2C).
По шине TWI (сигналы SDA и SCL) осуществляется установка текущего времени – часов и минут – в DS1307N, а также считывание в программу текущего времени из DS1307N.
Кроме того, задействован выход SQW/OUT в режиме меандра с периодом 1 секунда, для прерывания МК. По этому прерыванию МК обращается каждую секунду к DS1307N и считывает текущее время.
Точность хода часов обеспечивается использованием кварцевого резонатора Y1 на 32768Гц.
Гальванический элемент GB1 поддерживает непрерывный ход часов во время отсутствия основного питания +5V.
Линии SDA, SCL и SQW/OUT подтянуты к источнику питания через резисторы R10, R11 и R12.
Измерение температуры воды в резервуаре осуществляется датчиком DS18B20, подключенным к МК в однопроводном режиме.
Применен датчик DS18B20 в герметичном исполнении. Линия датчика DO подтянута к источнику питания резистором R5.
Датчики уровня воды, устанавливаемые в нижней и верхней частях резервуара, в герметичном исполнении, на герконах.
Внешний вид датчика показан на рисунке (Рисунок 3).
Поплавок датчика имеет встроенный постоянный магнит. Датчики устанавливаются поплавком вниз.
При поднятии уровня воды до уровня датчика поплавок всплывает, магнит действует на геркон, контакты геркона замыкаются.
Замыкание/размыкание контакта верхнего датчика передается в МК по линии H_BAR, нижнего – по линии L_BAR.
При обнаружении замкнутого контакта верхнего датчика включается светодиод VD2 (1 на линии LED_H_BAR). При обнаружении замкнутого контакта нижнего датчика включается светодиод VD3 (1 на линии LED_L_BAR).
Рисунок 3. Датчик уровня воды
Управление реле насоса (клапана) докачки осуществляется сигналом МК по линии PUMP_IN.
Сигнал 1 поступает от МК по линии PUMP_IN на транзисторный ключ VT1 (КТ815А), транзистор открывается и срабатывает реле K1.
Контакты K1.2 замыкают цепь включения насоса (клапана) докачки. Одновременно включается светодиод VD4 («Докачка»).
При поступлении 0 по линии PUMP_IN транзистор VT1 закрывается, реле K1 обесточивается, контакты К1.2 размыкаются, светодиод VD4 выключается.
Управление реле насоса (клапана) полива осуществляется сигналом МК по линии PUMP_OUT.
Сигнал 1 поступает от МК по линии PUMP_OUT на транзисторный ключ VT2 (КТ815А), транзистор открывается и срабатывает реле K2.
Контакты K2.2 замыкают цепь включения насоса (клапана) полива. Одновременно включается светодиод VD5 («Полив»).
При поступлении 0 по линии PUMP_OUT транзистор VT2 закрывается, реле K2 обесточивается, контакты К2.2 размыкаются, светодиод VD5 выключается.
В устройстве применены реле типа TAINBO 05VDC HJR-3FF-S-Z. Внешний вид реле показан на рисунке (Рисунок 4).
Рисунок 4. Внешний вид реле
Отображение информации о введенных параметрах устройства, текущих значениях дня, времени, температуры и сообщения о состоянии устройства и резервуара - осуществляется на жидкокристаллическом дисплее LCD1 типа WH-1602.
Дисплей включен в режиме приема данных полубайтами (4 линии LCD_DB4...7). Резистором R2 регулируется контрастность изображения на дисплее.
Одновременно с визуальной индикацией устройство обеспечивает звуковую сигнализацию по линии BEEP.
Сигнал таймера-счетчика № 1 в виде меандра частотой 2000Гц поступает на транзисторный ключ VT3 (BC547B), нагрузкой которого является пьезоизлучатель без встроенного генератора.
Звуковая сигнализация осуществляется при нажатии кнопок настройки, при поливе, накачке или ожидании полива. Устройство постоянно изредка «попискивает» разными последовательностями импульсов в зависимости от состояния устройства.
Управление устройством осуществляется кнопками S1 («Установка»), S2 («Увеличение»), S3 («Уменьшение»).
При нажатии на кнопку «Установка» - курсор на экране LCD перемещается к очередному настраиваемому параметру.
Нажатие кнопок «Увеличение» и «Уменьшение» (на панели обозначены как «+» и «-» соответственно) происходит увеличение или уменьшение значения настраиваемого параметра.
RC-цепь R1C1 обеспечивает сброс (!RESET) МК при включении устройства.
В устройстве предусмотрено внутрисхемное программирование по интерфейсу ISP. Для этого на плате имеется разъем XP1 (ISP программатор).
Светодиод VD1 включается при подаче питания на устройство.
Питается устройство от блока питания 5V/1A.
Фьюзы МК ATmega8: High-0xD9, Low-0xE4.
Конструкция.
Печатная плата устройства показана на рисунках (Рисунок 5) и (Рисунок 6). Печатная плата разработана в программе DipTrace. Оригинальные файлы с разметкой печатной платы приведены в приложении к статье.
Рисунок 5. Печатная плата (верхняя сторона)
Рисунок 6. Печатная плата (нижняя сторона)
Светодиоды VD2..5 установлены на плате. При желании можно установить их на передней панели устройства.
Внешний вид печатной платы показан на рисунке (Рисунок 7).
Рисунок 7. Внешний вид печатной платы
Удобно использовать в качестве корпуса пластиковый распределительный щиток фирмы Viko или другой подобный корпус подходящего размера. Для примера приведен снимок размещения устройства в корпусе отслужившего 3-хфазного счетчика (Рисунок 8).
Рисунок 8. Пример размещения устройства в корпусе 3-хфазного счетчика
Рядом с платой контроллера размещен импульсный блок питания на 5V/1A.
Приложение:
AutoIrrigation2.dch Схема электрическая в формате DipTrace
AutoIrrigation2.dip Печатная плата в формате DipTrace
AutoIrrigation2.c Исходный код программы на Си (Atmel Studio 7)
AutoIrrigation2.hex Загрузочный файл
Удачи Вам в творчестве и всего наилучшего!
Скачать архив.