Содержание аквариумных рыб - довольно трудоёмкое занятие. Необходимо вовремя включать свет, на ночь отключать компрессор, своевременно подавать корм, на время кормления отключать фильтр и т. д. Для упрощения этой задачи и было разработано предлагаемое устройство. Оно, в отличие от других подобных, рассчитано на управление не лампами накаливания, а светодиодами, подсвечивающими аквариум.
Я оборудовал аквариум светодиодным освещением, которое оказывает благоприятное воздействие не только на здоровье и окраску рыб, но и на развитие аквариумных растений. Оно было сделано многоцветным, причём его можно не только включать или выключать, но и перебирать до пятидесяти состояний разной длительности, различающихся яркостью и цветом подсветки. Предусмотрено и управление работой других устройств аквариума по заданной пользователем программе. На индикаторе отображаются текущее время, состояние компрессора и фильтра, средняя температура воды и состояние нагревателя, а также текущая мощность подогрева в процентах номинальной.
Автомат измеряет температуру воды цифровым датчиком DS18B20, причём есть возможность подключить два датчика и стабилизировать температуру по среднему арифметическому значению их показаний. Имеются три программных таймера включения и выключения компрессора и ещё три таких таймера на включение и выключение фильтра. Электрической кормушке можно задать число кормлений в день, число порций корма на одно кормление, задать продолжительность пауз между порциями.
Автомат состоит из двух основных блоков - платы управления и платы питания и коммутации, схемы которых изображены соответственно на рис. 1 и рис. 2. Разъём XP5 первой платы соединяют с разъёмом XP6 второй плоским кабелем. В собранном устройстве сигналы, сформированные микроконтроллером DD2 на выходах PC4 и PC5, поступают на затворы полевых транзисторов VT3 и VT4, управляющих реле K1, K2. Контакты реле выведены на колодки XT6, XT7, и через них подаётся питание на двигатели фильтра и компрессора. Параллельно обмоткам реле установлены подавляющие выбросы напряжения самоиндукции диоды VD1, VD4.
Рис. 1
Рис. 2
Через разъём XP2, согласно схеме, изображённой на рис. 3, подключены к микроконтроллеру кнопки управления SB2-SB5 и ЖКИ HG1 (две строки по 16 символов). Вместо указанного на схеме ЖКИ WH1602C подойдёт MT-16S2D или другой подобный индикатор. Полевой транзистор VT1 по сигналам микроконтроллера управляет яркостью подсветки ЖКИ, а резистор R1 ограничивает максимальный ток подсветки. На резисторах R2-R4 собран делитель напряжения управления контрастностью индикатора.
Рис. 3
Питание микросхемы часов реального времени DS1307 (DD1) резервировано с помощью литиевого элемента G1, который обеспечивает ход часов при выключенном основном питании. С микроконтроллером эта микросхема связана по интерфейсу I2C. Для контроля состояния элемента G1 часть его напряжения через резистивный делитель R6R7 поступает на вывод 37 микроконтроллера - вход встроенного в него АЦП.
Микроконтроллер DD2 ATmega644 работает с кварцевым резонатором ZQ2 частотой 20 МГц. Резистор R8 и конденсатор C2 образуют цепь начальной установки микроконтроллера в исходное состояние. Для перевода его в это состояние в случае сбоя программы служит кнопка SB1. L1C6 - фильтр питания АЦП микроконтроллера. Разъём XP3 предназначен для соединения микроконтроллера с программатором. Конфигурацию микроконтроллера программируют в соответствии с таблицей.
С контактами 1 колодок XT1-XT3 соединяют затворы, а с контактами 2 - истоки не показанных на схеме полевых транзисторов(использовались транзисторы IRLR024N), управляющих светодиодами подсветки аквариума. Разъём XP4 предназначен для подключения по схеме, изображённой на рис. 4, электронной кормушки "Feeder AF2003", приобретённой в интернет-магазине. При выборе кормушки следует обратить внимание, чтобы она была без ЖК-индикатора. Разъём XP1 служит для подключения привода заслонки, имеющейся в крышке аквариума под кормушкой.
Рис. 4
Вся электронная часть из кормушки удалена, оставлены только электродвигатель (M1 на рис. 4) и конечный выключатель SF1. Отслеживая с помощью последнего вращение кормушки, микроконтроллер DD2 формирует сигналы управления полевым транзистором VT5, включающим и выключающим двигатель M1. Напряжение питания двигателя (3 В) стабилизировано интегральным стабилизатором DA2. Ток, потребляемый двигателем, довольно велик, поэтому для его питания необходим отдельный источник, подключаемый к колодке XT9. Я использовал блок питания светодиодного освещения. Разъём XP7 соединяют плоским кабелем с разъёмом XP4 на плате управления. Конденсатор C17 подавляет создаваемые двигателем M1 помехи.
Напряжение сети 220 В подают на колодку XT4 (см. рис. 2). Пониженное до 6 В трансформатором T1 переменное напряжение выпрямляет диодный мост VD2. Сглаживающий конденсатор C8 отделён от моста диодом VD3, поэтому напряжение на резистивном делителе R24R25 - пульсирующее, от нуля до амплитудного значения. Часть этого напряжения поступает на базу транзистора VT2, в результате транзистор закрывается в моменты близости мгновенного значения сетевого напряжения к нулю. Импульсы частотой 100 Гц с коллектора транзистора VT2 поступают на вход PD2 микроконтроллера.
Из сглаженного конденсатором C8 выпрямленного напряжения с помощью стабилизатора DA1 получается стабилизированное напряжение 5 В для питания всех узлов устройства.
С выхода PC3 микроконтроллера сигнал поступает на оптосимистор U1, который, в свою очередь, управляет симистором VS1, регулирующим мощность нагревателя воды в аквариуме. Цепь R31C12 подавляет выбросы напряжения на симисторе. К колодке XT8 подключают обогреватель без встроенного термореле.
Согласно схеме, показанной на рис. 5, с колодкой XT5 соединяют один или два установленных в аквариуме датчика температуры BK1, BK2. В случае отказа одного из них регулирование температуры продолжается по показаниям оставшегося. При отсутствии или неисправности обоих нагреватель воды отключается, о чём на индикатор выводится сообщение.
Рис. 5
Чертёж печатной платы управления показан на рис. 6. Типы установленных на ней разъёмов: XP1 - PLS-3, XP2 - IDC-16MS (BH-16), XP3 - IDC-06MS (BH-06), XP4- WF-04, XP5 - IDC-08MS (BH-08). На плате имеются 12 проволочных перемычек и семь перемычек для поверхностного монтажа. Для литиевого элемента CR2032 (G1) предусмотрен держатель BS-02D-1B.
Рис. 6
Печатная плата питания и коммутации изображена на рис. 7. Здесь разъём XP6 - IDC-08MS (BH-08). Трансформатор T1 - ТПК-2-6В с вторичным напряжением 6 В при токе 0,4 А. Интегральный стабилизатор 78M05CDT можно заменить любым другим на напряжение 5 В и ток нагрузки не менее 0,5 А. Оба реле - HK4100F-DC5V-SHG, вместо них подойдут и другие реле с обмоткой на 5 В и предельными напряжением и током коммутации, обеспечивающими надёжное управление фильтром и компрессором. Конденсаторы C9, C12 - К73-17 или их импортные аналоги.
Рис. 7
Узел управления кормушкой (схема на рис. 4) собран на печатной плате, изображённой на рис. 8. Чертёж платы с кнопками SB2-SB5 не приводится ввиду его простоты.
Рис. 8
При включении устройства на ЖКИ выводится заставка, затем происходит автоматический переход в меню "Основное". После первого запуска необходимо нажать, находясь в этом меню, на кнопку SB3 "Выбор", удерживать её до появления на индикаторе надписи "Сброс на завод. уставки", а затем нажать на кнопку SB2 "Меню". Будут установлены время 23:59:59 и дата 30:04:13, Вт (вторник), а все уставки обнулены - так задано в программе по умолчанию.
Экспериментально обнаружено, что если при разряженном элементе G1 или его отсутствии отключить внешнее питание устройства, то после его включения на индикаторе появятся бессмысленные знаки. В этом случае следует одновременно нажать на кнопки SB4 "+", SB5 "-" и удерживать их нажатыми более двух секунд. Микросхема DS1307 будет приведена в исходное состояние, а информация на индикаторе обновится.
Нажатием на кнопку SB2 переходят из меню "Основное" в меню "Настройка компрессора". Здесь нажимают на кнопку SB3 и переходят в подменю "1-й таймер". После этого нажатиями на кнопку SB2 выбирают для изменения "Вкл./выкл. таймера", "Часы включения таймера", "Минуты включения таймера", "Часы выключения таймера" или "Минуты выключения таймера". Выбранный параметр изменяют нажатиями на кнопки SB4 и SB5.
Далее нажатием на кнопку SB3 переходят в подменю "2-ой таймер". Все ействия в этом подменю аналогичны описанным выше. Следующим нажатием на кнопку SB3 переходят в подменю "3-ий таймер" и настраивают его аналогичным образом. Ещё одним нажатием на кнопку SB3 сохраняют все изменённые значения параметров в EEPROM микроконтроллера и возвращаются в меню "Настройка компрессора".
Очередным нажатием на кнопку SB3 переходят из этого меню в меню "Настройка насоса фильтра". Здесь также имеются три таймера, которые настраивают подобно таймерам компрессора, а после настройки третьего таймера все изменённые параметры сохраняются в EEPROM.
Из меню "Настройка насоса фильтра" нажатием на кнопку SB2 переходят в меню "Настройка нагревателя". В нём нажатием на кнопку SB3 переходят в подменю "Нагреватель" и нажатиями на кнопки SB4 и SB5 включают или выключают обогрев аквариума. Очередным нажатием на кнопку SB3 переходят в подменю "Температура воды" и нажатиями на кнопку SB2 выбирают для изменения нижний порог температуры (ниже которого начнётся нарастание мощности нагревателя) или её верхний порог (выше её мощность нагревателя станет снижаться). Далее нажатием на кнопку SB3 сохраняют изменённые значения в EEPROM и возвращаются в меню "Настройка нагревателя".
Отсюда при нажатии на кнопку SB2 программа переходит в меню "Настройка освещения". В нём нажатием на кнопку SB3 открывают подменю "Время включения". Нажатиями на кнопку SB2 выбирают для изменения часы или минуты включения. Выбранный параметр изменяют нажатиями на кнопки SB4 и SB5. Затем нажатием на кнопку SB3 переходят в подменю "Этап 1" и нажатиями на кнопку SB2 выбирают для изменения "Время работы", "Регулировку ШИМ светодиодов синего цвета", "Регулировку ШИМ светодиодов красного цвета" или "Регулировку ШИМ светодиодов белого цвета". Выбранный параметр изменяют нажатиями на кнопки SB4 и SB5. Время работы задают в минутах в интервале от 0 до 600. Следующее нажатие на кнопку SB3 переводит в подменю "Этап 2", где все действия идентичны предыдущим. Число подменю "Этап" может достигать пятидесяти и для каждого из них можно задать свои параметры. Например, плавное включение или отключение подсветки реализуют, задав последовательность коротких этапов с постепенно нарастающей или спадающей яркостью свечения светодиодов. Ненастроенные этапы остаются в нулевом состоянии и не влияют нахарактер подсветки.
В подменю "Этап 50" нажатие на кнопку SB3 вызывает на индикатор сообщение "Конец настройки освещения". Далее нажатием на ту же кнопку сохраняют все настройки в EEPROM микроконтроллера и возвращаются в меню "Настройка освещения".
Из этого меню нажатием на кнопку SB2 переходят в меню "Настройка часов", откуда нажатием на кнопку SB3 переходят в подменю "Настройка даты". Нажатием на кнопку SB2 выбирают для изменения число, месяц или год. Параметры изменяют нажатиями на кнопки SB4 и SB5.
Далее нажатием на кнопку SB3 переходят в подменю "Настройка дня". Выбрав здесь кнопками SB4 и SB5 день недели, от понедельника (Пн) до воскресенья (Вс), нажатием на кнопку SB3 переходят в подменю "Настройка времени". В нём нажатием на кнопку SB2 выбирают для изменения часы, минуты и секунды, а нажатиями на кнопки SB4 и SB5 устанавливают нужные значения. Нажатием на кнопку SB3 введённое время запоминают и возвращаются в меню "Настройка часов".
Следующим нажатием на кнопку SB2 переходят в меню "Коррекция часов сутки", и с помощью кнопок SB4 и SB5 изменяют число секунд поправки (от +9 до -9), которая автоматически вносится в показания часов раз в сутки. Очередным нажатием на кнопку SB2 сохраняют установленные значения в EEPROM и переходят в меню "Коррекция часов неделя". Здесь кнопками SB4 и SB5 задают число секунд поправки (от +6 до -6), вносимой в показания часов раз в неделю.
Ещё одним нажатием на кнопку SB2 сохраняют значения поправок в EEPROM и переходят в меню "Яркость подсвет. ЖКИ". Этот параметр можно изменять кнопками SB4 и SB5 в пределах 0-100 %. Нажатием на кнопку SB3 переходят в подменю "Время подсвет." и кнопками SB4, SB5 устанавливают продолжительность работы подсветки ЖКИ (в секундах) после последнего нажатия на любую кнопку. Далее нажатием на кнопку SB3 переходят в подменю "Время возврата". Кнопками SB3 и SB4 изменяют задержку возврата в меню "Основное". Следующее нажатие на кнопку SB3 возвращает в меню "Яркость подсвет. ЖКИ". При этом переходе значения изменённых в рассмотренных подменю параметров сохраняются в EEPROM микроконтроллера.
Нажатие в меню "Яркость подсвет. ЖКИ" на кнопку SB2 выводит на ЖКИ значение измеренного микроконтроллером напряжения литиевого элемента G1. Ещё одним нажатием на ту же кнопку переходят в меню "Просмотр темп.", где можно просмотреть показания датчиков температуры. Если датчик отключён, то вместо значения температуры будет выведено "1-Откл" или "2-Откл".
Следующим нажатием на кнопку SB3 переходят в подменю "Д1 ROM Cod". Здесь при нажатии на кнопку SB2 микроконтроллер считывает уникальные серийные номера подключённых к автомату датчиков температуры. Нажатиями на кнопку SB4 или SB5 можно выбрать любой из них для дальнейшей работы в качестве датчика Д1. Нажатием и удержанием одновременно кнопок SB2 и SB5 фиксируют этот выбор. Нажатие и удержание одновременно кнопок SB4 и SB5 стирает информацию о выборе датчика Д1. Нажатие на кнопку SB3 запишет изменения в EEPROM и откроет подменю "Д2 ROM Cod". Все операции в нём аналогичны описанным, но относятся к датчику Д2. Учтите, что один и тот же датчик не может быть выбран и в качестве Д1, и в качестве Д2.
Далее нажатием на кнопку SB3 переходят в подменю "Время опроса датчиков", в котором нажатиями на кнопки SB4и SB5 задают период опроса датчиков длительностью до 60 с. Ещё одним нажатием на кнопку SB3 сохраняют установленное значение и возвращаются в меню "Просмотр темп.".
Теперь нажатие на кнопку SB2 открывает меню "Настройка кормушки". Из него нажатием на кнопку SB3 переходят в подменю "Т-1". С помощью кнопки SB2 выбирают для изменения пункты "Включён/отключён", "Часы срабатывания таймера", "Минуты срабатывания таймера", "Число порций - число раз срабатывания кормушки", "Пауза между срабатываниями кормушки". Выбранное значение изменяют нажатиями на кнопки SB4 и SB5. Очередным нажатием на кнопку SB3 запоминают все изменённые параметры и переходят в подменю "Т-2". Следующим нажатием на эту же кнопку переходят в подменю "Т-3", а ещё одним нажатием возвращаются в меню "Настройка кормушки". Действия в подменю "Т-2" и "Т-3" аналогичны описанным для "Т-1".
Далее нажатием на кнопку SB2 переходят в меню "Настройка сервопривода", из которого нажатием на кнопку SB3 переходят в подменю "Открыто" и кнопками SB4, SB5 регулируют положение заслонки под кормушкой в открытом состоянии. Ещё раз нажав на кнопку SB3, переходят в подменю "Закрыто" и регулируют положение закрытой заслонки. Подобранные таким образом положения заслонка будет в дальнейшем принимать в процессе работы электронной кормушки. Последнее нажатие на кнопку SB3 запишет в EEPROM значения всех изменённых параметров и возвратит программу в меню "Основное".
Файл печатных плат в формате Sprint Layout 5.0 и программу микроконтроллера можно скачать здесь
Автор: А. Лаптев, г. Зыряновск, Казахстан