В этой статье опишу основные технические моменты реализованные в таймере полива (ссылка на статью описания здесь). Ясно, что основную долю в этом проекте занимает программа (написанная на Си в Atmel Studio), но коснемся только железа. Основа проекта микропроцессор Atmel AVR Atmega328. Исходя из зашитой в ней программы располагаем комплектующие радиокомпоненты.
Прикинем данную блок схему для того, чтобы понять какие комплектующие необходимы. Процессор, блок питания, LCD для отображения вводимой информации, микросхема отвечающая за время (с автономным питанием), клавиатура управления, выходное питание силовое управление на каждый канал (полевой транзистор MOSFET), внешняя обвязка.
Подключение всей развязки осуществляется через один 20pin разъем, что необходимо для удобного отсоединения таймера после сезона.
Блок питания, собран на основе микросхем стабилизаторов LM317 и L7805. Имея запас в подключении питания 12-24 в, применяя данные микросхемы имеем на выходе 12 вольт и 5 вольт. 12 вольт для внешнего подключения устройств, 5 вольт для питания схемы и внешнего подключения датчика влаги.
Рассмотрим подробнее способы подключение выходных устройств. Поскольку стабилизатор LM317 ограничен по выходному току в 1,5А, для подключения большей нагрузки применим включение минуя стабилизатор подключая плюсовое питание напрямую к потребителю (учитывая напряжения выходного устройства), а Gnd через управляемый MOSFET. Данные полевые транзисторы достаточно мощные, поэтому нужно ограничиваться только внутренней обвязкой платы.
Представленный на фото электро-клапан представляет собой катушку и служит в основном для включения переменного питания. Доработаем установив диод min0,5А, для гашения броска питания (индуктивные выбросы), при этом при подключении соблюдаем полярность на клапане.
Поскольку данный таймер задумывался в основном для подключения электро-клапана, потребление которого 400ма, программировать временные интервалы на 8 каналов одновременно не стоит. Нужно рассчитывать время для включения одного канала, а поскольку 8 канал включается по событию, то данной мощности включения 2 каналов таймера будет достаточно. Включение нагрузки 8 канала предполагалось для насоса, это может быть или электро-клапан если вода под напором, или включение насоса 220в через реле.
Для определения некоторых значений и задействования минимального количества портов в данной схеме применяем АЦП. В данной схеме применяется 3 входа АЦП, выставим внешнее опорное питание по данной ниже схеме.
3 входных pin процессора задействуем для подключения 5 кнопок, датчика уровня и вход для измерения входного питания. Считываемые значения АЦП, распределяем программой. Между входом МК и Gnd, порта АЦП для замера входного питания, устанавливаем в качестве защиты порта стабилитрон на 5 вольт.
Рассмотрим датчик уровня применяемый в данном проекте. Представляет собой геркон расположенный внутри корпуса, а на поплавке находится магнит. При изменении уровня воды совмещается магнит с герконом и контакт замыкается (см. фото в разрезе датчика уровня). Устанавливаем верхний датчик вертикально вниз (геркон разомкнут), нижний датчик вертикально вверх (геркон замкнут). Нижний датчик при отсутствии воды замкнут по мере наполнения емкости разомкнется. Когда уровень воды поднимет верхний датчик геркон замкнется и даст команду на отключение 8 канала. В настройках датчика таймера возможно включение или отключения датчиков уровня, а также включения временного интервала на отключение канала (дополнительная защита).
Рассмотрим датчик влажности почвы применяемый в данном проекте. На канал с 1 по 7 можно установить возможность опроса датчика влаги. Принцип работы такой в момент включения канала по заданному режиму подается питание на датчик, если недостаточно влажно канал включится или наоборот не включится если влажно. Состояние датчика в разных режимах и подключение указано на рисунке ниже.
Для вывода информации применим ЖКИ 1602 собранного на контроллере HD44780. Задействуем 6 pin процессора для подключения ЖКИ. 1 pin задействуем для управления подсветкой ЖКИ, поскольку данный таймер подключается на продолжительное время постоянная подсветка нам не нужна. В написанном коде программы установлен временной интервал, после последнего нажатия кнопки через 10сек подсветка отключится. Регулируем контрастность ЖКИ потенциометром.
За текущее время отвечает микросхема DS1307 со своим часовым таймером с календарем. Данная микросхема позволяет вести счет дней недели, месяц, год. В данном таймере есть возможность устанавливать заданные временные интервалы по дням недели. Минимальный интервал от 1 минуты 1 раз в неделю на канал. Максимальный интервал 1 режима (всего 3) до 23 часов 59 минут с выбором дня недели. Общается данная микросхема с МК при помощи порта I2C по 2 pin.
Завершая данную статью немного обобщу программные характеристики данного таймера.
- 7 независимых каналов, 3 режима работы на канал в день;
- +1 канал по событию (подключение 2-х датчиков поплавкового типа для наполнения емкости);
- Настройка время включения и отключения таймера в формате 00:00 часов (минимум от 1 минуты, максимум 23 часа 59 минут);
- Возможность активировать каждый из режимов с сохраненными параметрами (время включения отключения, выбор дня недели);
- Выбор включения таймера по дням недели;
- Режим прямого отключения или включения таймера канала в формате от 1 до 90 минут;
- Удобный режим просмотра выставленных параметров в памяти процессора;
- Удобное изменение настроек параметров (управление осуществляется 5 кнопками);
- Отображение информации о состоянии каналов и включенном режиме в основном меню;
- Подключение датчика влаги почвы и в зависимости от погодных условий не включения таймера по установленному интервалу;
- Отключение подсветки ЖКИ после последнего нажатия любой кнопки через 10 сек.;
- Автономный режим поддержки времени и сохранение параметров при отключенном питании таймера.
Настройка таймера и тест показаны на видео:
https://youtu.be/GRUldc1k70U
https://youtu.be/mVxZOKld8Jc
Спасибо Валентин.
- Блог пользователя - ulogin_google_111659887405026806054
- Войдите, чтобы ответить
- 3507 просмотров