Таймер для компрессора в аквариуме схемы. Система автоматического управления аквариумом на Arduino

Какой таймер лучше - механический или электронный? На эти вопросы можно найти ответ в статье.

Было время когда таймеров не было и часов тоже, а аквариумистика уже была (конечно с определенной долей воображения).
Потом появились часы и аквариумистика стала приобретать тот вид который мы сейчас воспринимаем.
Затем часов появилось много – механические, электромеханические, электронные, атомные … и т.д. Аквариумистика тоже перешла от маленьких непрозрачных сосудов к большущим прозрачным на десятки тонн воды.
Людям надоело бегать вокруг этих большущих и прозрачных водяных емкостей и они придумали автоматику которая включалась\выключалась в определенное время – это делалось с помощью таймеров.

Домашняя аквариумистика тоже двинулась в сторону автоматизации и первое место в ней занял таймер!

Однако начинающие аквариумисты в силу ещё малого своего опыта всегда озадачиваются вопросами:
- Как часто нужен таймер в аквариумистике?
- Как его лучше использовать?
- Какой таймер лучше использовать электромеханический или полностью электронный?

Начнем с банального и самого простого: - «Как часто нужен таймер в аквариумистике? Как его лучше использовать?»

Таймер сам включит или выключит тот или иной прибор.
Например, включит утром свет в аквариуме, а вечером выключит.
Включит компрессор для подачи воздуха или электроклапан для подачи СО2 (углекислого газа) в нужное нам время.

Представим ситуацию с освещением – нам нужно рано утром на работу или учебу, а за окном ещё темно, включив резко свет в аквариуме мы можем вызвать «тихую» панику в среде аквариумных обитателей.
Желательно светильник в аквариуме включать, когда дневной свет от окна, заполнит комнату и рыбки уже проснутся. А как это можно сделать в зимние дни, когда светает поздно, а мы уже давно ушли из дома на работу\учебу? Или допустим вечером пошли в кинотеатр, или на спектакль, засиделись в гостях - кто выключит свет в аквариуме без нашего участия? Уезжаем на дачу, или в отпуск, кто будет включать и выключать свет в аквариуме?

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

Имея сразу несколько таймеров, упрощаем задачу ещё больше.
Второй таймер будет отвечать за работу компрессора. В нужное время включит и выключит его. В некоторых аквариумах, при определенном количестве рыб и растений, аэрация требуется круглосуточной. Работая без перерыва многие компрессоры, быстро выходят из строя, выработав весь свой ресурс. Таймер можно запрограммировать так, что в течение суток он сможет давать отдых компрессору. Например – три часа в сутки, в разное время, через каждые 7 часов работы. Очень удобно. Вариант: компрессор отдыхает с 12 ч. до 13 ч., потом с 20 ч. до 21, потом с 4 ч. до 5 ч.

Рассмотрим следующий вопрос: - «Какой таймер лучше использовать электромеханический или полностью электронный?»

И тот и другой имеют ряд достоинств и недостатков

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

Программирование электромеханического таймера.


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


Электромеханические таймеры.


Практически все эл.механические таймеры программируются одинаково. Каждый такой таймер имеет круглый циферблат со шкалой времени и пластинками-рычажками, которые непосредственно выставляют программу включения-выключения.
Каждый такой рычажок позволяет таймеру включать-выключать прибор через 5-10-15 мин. (у каждой модели таймера этот интервал задается производителем и не регулируется). Этот недостаток, так как полностью электронный таймер имеет возможность включения-выключения через каждую минуту.
Отогнув\защелкнув рычажок-пластинки вниз мы включаем тот период времени, в течение которого электроприборы должны находиться во включенном состоянии. Этим мы задаем время работы нашего аквариумного светильника или компрессора.
Часы таймера нужно настроить, поворачивая диск в направлении стрелки, пока треугольная метка (или прямая риска-метка) не укажет на текущее время. Включите таймер в розетку. Включите вилку выбранного Вами прибора в розетку таймера, убедитесь, что регулятор находится в положении работы самого таймера.

Недостатки механических таймеров в следующем:
1. Заданная программа постоянна для каждого дня недели;
2. При отключении электроэнергии в сети, таймер сбивается на тот отрезок времени, сколько не было питания;
3. Некоторые модели тикают или издают характерный хруст, как в механическом или электромеханическом будильнике;
4. Чаще выходят из строя, перестают вращаться программный диск (видимо изнашивается пластмассовый механизм шестерней)
5. Дамам с шикарным маникюром и прекрасными длинными ногтями, после того как произошел сбой питания в сети хлопотно ввернуть диск в нужное положение не задевая пластинки-рычажки, которые норовят зацепиться ноготком и сбивают всю ранее выставленную программу

Достоинства механических таймеров:
1. Бюджетен в приобретении;
2. Прост в эксплуатации;
3. Даёт некоторые подсказки если у вас сложный биотоп, или нежные рыбы.
Понятно, что при отключении электроэнергии всё жизненно важное оборудование аквариума перестает работать (свет, фильтрация, аэрация, обогрев) и привод электромеханического таймера без электричества тоже не работает !
Ведь пока мы на работе\учебе или на даче, как нам узнать отключалось ли питание и на сколько критично долго не было электроэнергии? Вот тут и помогает тот самый недостаток такого таймера - он сбивается на тот отрезок времени, сколько не было электроэнергии.
Недостаток превращается в преимущество.
Мы всегда узнаем, была ли критична остановка нашего оборудования, особенно фильтрации (но фильтр подключать через таймер ни в коем случае нельзя, так как он должен работать круглосуточно).

Электронные таймеры отличаются друг от друга в основном дизайном внешней формы и парой наворотов\функций. Одни имеют функцию перехода на летне-зимнее время, другие функцию реагирования на движение (включаются\выключаются при приближении к прибору подключенному к данному таймеру)


Электронные таймеры.


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


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

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

Недостатки электронных таймеров:
1. Внутренние аккумуляторы не вечны, и когда-то наступит время их полной выработки. Если Вам не удастся приобрести новые и заменить, таймер можно выбрасывать.
2. Как упоминалось при описании электромеханического таймера, при отключении питания, мы не сможем воспользоваться подсказкой (как в случае с эл.механическим таймером) и узнать отключалась ли электроэнергия. Ведь таймер не сбивается, и не отстает на тот отрезок времени, пока не было напряжения в сети.

Достоинства электронных таймеров:
1. Программа может задаваться на каждый день своя. Например в течение рабочих дней включаться и выключаться приборы будут соответственно нашему графику занятости на работе\учебе, а по выходным в другое время. Или вообще каждый день в разное время.
2. Программа может выставляться на несколько дней. Например только на первую или вторую половину недели.
3. Программа может выставляться на срабатывание через день.
4. Программа может выставляться только на один любой день в неделю.
5. По сравнению с электромеханическом таймером на лицевой панели присутствуют только кнопки, нет никаких пластинок-рычажков, нет механизма шестерней и нет тиканья напоминающего будильник.

Любые таймеры, что электромеханические, что электронные позволяют производить включение/выключение оборудования в течение суток в любое установленное программой время.
Если у Вас в домашнем аквариуме нет живых растений, а используются искусственные, Вам можно сделать дневные световые перерывы. Утром таймер включит свет на 2-3 часа, а днем пока вы на работе\учебе выключит свет до вашего прихода. Дневного света от окна рыбкам вполне достаточно. Для того чтобы аквариумная вода не зацветала и не плодились водоросли при отсутствии живых растений, световой день в аквариуме желательно сделать 6-8 часов. Особенно это актуально в очень солнечных помещениях.


Внутренности электронного таймера - E-TE-7х24х3,6kW-D.

Электронный таймер TGE-4.


Внутренность TGE-4 поближе.

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


Таймер электронный поминутный TGE-2.

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ.
Напряжение 230-240 В перем. тока, 50 Гц
Макс. нагрузка 16(2)А, 3600 Вт
Минимальное устанавливаемое время 1 минута
Рабочая температура -10°С - +40 °С
Точность +/-1 минута в месяц
Аккумулятор NiMH 1,2 В >100 часов
Одна розетка работает через таймер, а вторая розетка имеет "прямое" подключение к сети 220Вольт.

ИНСТРУКЦИЯ ПО ЭКСПЛУАТАЦИИ.
До подключения таймера к электроприборам внимательно изучите следующую инструкцию.
ЭТО ВАЖНО:
Не подключайте прибор, если нагрузка превышает 16 ампер. Штекер любого прибора должен быть полностью вставлен в розетку таймера. Перед очисткой таймера отключите его от сети и протрите сухой тканью.
Не погружайте таймер в воду или другую жидкость.
Включенные нагреватели и тому подобные приборы запрещается оставлять без присмотра. Изготовитель не рекомендует подключать такие приборы к таймерам.

ОПИСАНИЕ КЛАВИАТУРЫ.
1) MASTER CLEAR: Очистка всех данных в памяти, включая текущее время и все программы.
2) RANDOM: Установите или отмените функцию "случайно".
3) CLOCK: Установите текущее время кнопками WEEK, HOUR, MIN. Выберите режим 12 или 24 часа кнопкой TIMER. Включите функцию летнего времени кнопкой ON/AUTO/OFF,
4) TIMER: Установите программы кнопками WEEK, HOUR, M1N. Выберите режим 12 или 24 часа кнопкой CLOCK.
5) ON/AUTO/OFF: Выберите режимы работы таймера.
6) WEEK: Установите неделю кнопкой CLOCK или TIMER.
7) HOUR: Установите час кнопкой CLOCK или TIMER.
8) MIN: Установите минуту кнопкой CLOCK или TIMER.
9) RST/RCL: Замена программ или возврат замененных программ.

ОБЩИЕ СВОЙСТВА.
1) 10 программ ВКЛ/ВЫКЛ (ON/OFF) с шагом 1 минута.
2) Выбор РУЧНОЕ ВКЛ/АВТО/РУЧНОЕ ВЫКЛ (MANUAL ON/AUTO/MANUAL OFF).
3) Выбор режима 12/24 часа.
4) Большой экран ЖКД с секундами.
5) Имеется функция летнего времени.
6) Функция "случайно" со случайным сдвигом 10-31 минута от 6.00 вечера до 6:00 утра.
7) Имеются следующие 16 сочетаний дней или последовательностей дней:
МО (пн)
TU (вт)
WE (ср)
ТН (чт)
FR (пт)
SA (сб)
SU (вс)
МО, TU, WE, ТН, FR, SA. SU (пн-вс)
МО, TU, WE, ТН, FR (пн-пт)
SA, SU (вс. сб)
МО, TU, WE, ТН, FR, SA (пн-сб)
МО, WE, FR (пн, ср, пт)
TU, ТН, SA (вт, чт, сб)
МО, TU, WE (пн, чт, ср)
ТН, FR, SA (чт, пт, сб)
МО, WE, FR, SU (пн, ср, пт, сб)

НАЧАЛО РАБОТЫ.
1) Подключите таймер в розетку сети питания 230-240 В и включите сетевой выключатель. Оставьте таймер приблизительно на 14 часов для зарядки резервного аккумулятора памяти.
2) После зарядки очистите всю текущую информацию нажатием кнопки MASTER CLEAR острым предметом (ручкой, карандашом).
3) Теперь таймер готов к работе.

УСТАНОВКА ТЕКУЩЕГО ВРЕМЕНИ.
1) Нажмите кнопку CLOCK и держите, одновременно нажимайте кнопку WEEK, пока не появится текущий день. Продолжайте нажимать HOUR или MIN, пока не появится текущий час или текущая минута. При установке можно не отпускать кнопки WEEK, HOUR или MIN для быстрой смены значений.
2) Отпустите обе кнопки. Будут установлены неделя и время.
3) Для сброса неправильного времени повторите приведенные выше этапы.

УСТАНОВКА ПРОГРАММ.
СОВЕТ: При проверке своих программ убедитесь в том, что параметры не перекрываются, особенно при использовании блочного выбора. Если установленные параметры перекрываются, включение или выключение таймера осуществляется в соответствии со временем программы, а не ее номером. Выключение программы имеет преимущество над включением программы.
1) Нажмите кнопку TIMER и отпустите. ЖКД показывает ON_1. Теперь можно настроить первое включение.
2) Нажмите кнопку WEEK, чтобы установить день или последовательность дней. Установите время нажатием кнопок HOUR и MIN.
3) Нажмите кнопку TIMER снова, чтобы закончить установку первого включения и перейти к установке первого выключения. ЖКД показывает OFF_1. Повтором этапа 2 выполните установку первого выключения.
4) Нажмите кнопку TIMER снова, чтобы закончить установку первого выключения и перейти к установке 2-го включения. Повторите этапы 2 и 3, чтобы запрограммировать оставшиеся параметры. Нажмите кнопку TIMER и держите 2 сёкунды, чтобы перейти к быстрой смене значений.
5) По завершении установки параметров нажмите кнопку CLOCK.
Таймер готов к работе.

ПРИМЕР: Таймер каждый день включается в 17:15 и выключается в 22:30
1) Нажмите кнопку TIMER один раз и отпустите. ЖКД показывает ON_1
2) Нажимайте кнопку WEEK до тех пор, пока ЖКД не покажет "MO,TU,WE,TH,FR,SA,SU"
3) Нажимайте кнопку HOUR до тех пор, пока ЖКД не покажет 5:00РМ, или 17:00
4) Нажимайте кнопку MIN до тех пор, пока ЖКД не покажет 5:15РМ, или 17:15
5) Нажмите кнопку TIMER снова и отпустите. ЖКД показывает OFF_1
6) Повторите приведенные выше этапы с. и d., ЖКД показывает 10:30РМ, или 22:30

УСТАНОВКА РУЧНОГО УПРАВЛЕНИЯ.
Режимы работы нельзя сменить при установке программы.
1) Необходимый режим работы выбирается из трех имеющихся режимов последовательным нажатием кнопки ON/AUTO/OFF.
2) Программы могут выполняться только в режиме AUTO. При выборе AUTO таймер работает по программе. В режиме MANUAL ON или MANUAL OFF все программы игнорируются, и таймер не работает. Если выбрать режим MANUAL ON, питание на выходе всегда включено. Если выбрать режим MANUAL OFF, питание на выходе всегда выключено.
3) Когда режим с MANUAL ON переключается на AUTO, таймер сохранит установку MANUAL ON до следующей установки параметров таймера.

ФУНКЦИЯ "СЛУЧАЙНО".
1) Нажмите кнопку RANDOM. ЖКД показывает R(RANDOM). Включена функция "СЛУЧАЙНО".
2) При включении этой функции параметры выполняются со случайным сдвигом в 10-31 минуту с 6:00 вечера до 6:00 утра.
3) Снова нажмите кнопку RANDOM, чтобы отменить эту функцию. Функцию "СЛУЧАЙНО" нельзя установить при установке программы.
4) Функция RANDOM может выполняться только в режиме AUTO (АВТО) с 6:00 вечера до 6:00 утра.

РЕЖИМ 12/24 ЧАСА.
Нажмите кнопки CLOCK и TIMER одновременно, чтобы переключить отображение времени между режимами 12 и 24 часа.

ЛЕТНЕЕ ВРЕМЯ.
1) Нажмите кнопки CLOCK и ON/AUTO/OFF одновременно. ЖКД показывает S(Летнее время). Часы переводятся на 1 час вперед.
2) Чтобы вернуться к зимнему времени, снова нажмите две кнопки. Часы возвращаются на 1 час назад. S исчезает на ЖКД.

Следующая инструкция с сохранением семантики написания того человека который её написал. Думаю тоже кому-то понадобится.

Инструкция на таймер-розетку Rev Ritter, Франкфурт.


Таймер-розетка Rev Ritter.

Инструкция:
Держать clock >3 секунд - переключение режима 24/12 часов,
кнопка on/off переключает режимы всегда включен/программный/всегда выключен.
Кнопка C.D. - режим Clock Down, обратный отсчет до срабатывания.

Как настроить:
1. Сначала шариковой ручкой нажимаем кнопку сброса
2. Затем выбираем режим 24 или 12 часов кому как удобнее, нажимая более 3 секунд клавишу clock. Когда режим 12 часов то слева светится AM или PM (До и после полудня). Т.к. я привык к 24 часам, то далее примеры настройки 24 часовые. Режим можно переключать в любой момент.
3. Жмем клавишу set до тех пор пока не замигает вверху день недели, клавишами V- и V+ выбираем сегодняшний день недели.
4. после этого коротко жмем клавишу set и ставим часы так же клавишами V+ и v-, еще раз set коротко и аналогично минуты. Снова set - настройка текущей даты закончена.
5. Сброс в режим ожидания из любого окна - короткое нажатие на клавишу clock.
6. Можно удерживать V+ или V- при настройке времени чтобы быстрее выставить, например, 24 минуты.
7. Далее настройка включения, например света каждый день. Клавишами V+ и V- можно листать программы, всего их может быть 20 штук. На дисплее светится первый символ - номер программы, режим ON/OFF, затем время срабатывания.

Чтобы для программы №1 включить свет в 9 утра и выключить в 18 часов, нужно выставить 1 ON 09:00 | 1 OFF 18:00. Думаю, логика работы таймера понятна.

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

8. Выбираем клавишей V+ программу №1 ON, жмем клавишу SET - замигают дни недели вверху. Нам надо включать свет каждый день, поэтому ничего не меняя еще раз жмем SET и так же как настраивали текущее время настраиваем далее часы-минуты, ставим 09:00.
9. Выбираем клавишей V+ программу №1 OFF, жмем клавишу SET и аналогично ставим время выключения, 18:00.
10. Настройка завершена, втыкаем в розетку таймер, а вилку светильника в таймер.


Вот пример ступенчатого освещения на полутоннике сделанного с помощью двух электронных таймеров.


Лампы разделены на передние и задние, какие лампы где стояли я уже не помню, но вот схему их работы нашел.


Ещё одна инструкция - уже по настройке таймера QUIGG.


Аквариумный контроллер "Аквамарин"

Здравствуйте, уважаемые коты! Рыбкой побаловаться не хотите? Вы же так обожаете этих вкусных, сочных рыбок;))) Вот и я люблю их, но предпочитаю ими любоваться через стекло:

Пока фоткал, охранник Кеша Мозгоклюев начал на меня шипеть, пришлось его тоже запечатлеть малёха:

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

Встречаем схему (в конце статьи в архиве оригинал):

Как видите ничего архисложного в этой схеме нет. Микроконтроллер ATMega16 отвечает за сбор и выдачу информации и принимает соответствующие решения, управляя релюшками и полевиками. Теперь всё по порядку. Сбор информации идёт от датчика температуры U2 DS18b20, от U3 DS1307 - часов реального времени, и естественно от кнопок управления. Выдача информации осуществляется на LCD1 типа Star0802А восемь символов по две строки. Дисплей русифицирован - знания английского не требуется;) У контроллера есть три режима работы "Автоматический", "Ручной режим" и режим настроек. При ручном режиме, вход в который осуществляется нажатием кнопки "Режим/Ввод"

Внешний вид:

Лицевая сторона


Под крышечкой:)

Сюда подключаем нагрузки

Вид на эти розетки изнутри

Ну что, заглянем, посмотрим на внутренности?

Вид на разъёмы подключения датчика температуры(слева) и подключения светодиодных модулей синего и белого света(справа)

С одного бока

С другого бока

Режимы работы:

В ручном режиме можно включить или выключить подачу воздуха и фильтрацию, нажав на кнопки "+Л/Воздух", "Фильтр". О том, что включёны фильтр и воздушный компрессор, сигнализируют светодиоды "Воздух" и "Фильтр".

"Ручной режим" удобен для кормления рыбок и при чистке аквариума. Выход в автоматический режим кнопкой "Режим/Ввод".

В автоматическом режиме на дисплее выводится информация о времени, дате и температуре в аквариуме.

В автоматическом режиме контролируются параметры температуры и времени суток. По заданным параметрам температуры можно управлять нагревом воды в аквариуме, если аквариум в холодном помещении ИЛИ охлаждением, если аквариум находится в тёплом помещении.

По параметру времени суток контроллер отрабатывает программу Рассвет/Закат.

К контроллеру подключены светодиодные модули белого и синего цвета через полевые транзисторы IRFL024, и управляются методом ШИМ. Закат происходит в заданное время в течении полутора часов. Белый свет начинает угасать, а синий прибавляет яркость. В итоге имеем синее освещение аквариума ночью. Очень приятно глазам при походе ночью в туалет:)). Ночничок, так сказать:)) Утром же наоборот, при заданном времени начала рассвета происходит угасание синего и увеличение яркости белого света. Процесс этот происходит тоже в течении полутора часов. В приложенных исходниках это можно поменять как ваша душа пожелает. Так же в контроллер заложена функция восстановления режимов работы после сбоя в электросети. Если вы уехали на целый день на шашлычок, и в это время был выключен свет, а потом включен(ну всякое бывает), то контроллер автоматом включит фильтрацию, воздух и подогрев/охлаждение так, как это было задано Вами! Вообще я делюсь с Вами, дорогие мои котофеи, всем проектом с исходниками, что хотите с ним, то и делайте - мне не жалко:)

А на последок предлагаю глянуть видеоролик:

Вступительная часть

Предпосылки для создания контроллера весьма банальны - был приобретен аквариум на 450 л, и к нему в дополнение шла крышка с установленными лампами, ЭПРА, кулерами, PH-электродом с усилителем, и управляющим всем этим многоканальным контроллером. Первое время все работало без сбоев, но потом начали умирать управляющие симисторы, сбрасываться текущее время, да и функционал не совсем удовлетворял возросшим требованиям. После длительного использования и анализа имеющегося контроллера было принято решение сделать свой управляющий орган, и продуман функционал будущего устройства:

1. Управление 8 каналами (+1 ШИМ канал):
- 4 канала освещения;
- компрессор;
- нагреватель;
- электроклапан системы CO2;
- помпа/электроклапан автодолива;
- кулера 12В (ШИМ).
2. Подключение 3-х температурных датчиков DS18B20.
3. Подключение электродов PH и Redox-потенциала.
4. Подключение датчика уровня воды (аналоговый датчик).
5. В качестве коммутирующего элемента использовать электромеханические реле.
6. Подключение 4-х строчного ЖКИ на контроллере HD44780.
7. Наличие часов реального времени DS1307Z.
8. Связь с ПК организовать 2 способами:
- радиомодуль, использующий Bluetooth HC-05 (основной канал);
- подключение по USB (резервный канал).
9. Номинальная мощность коммутируемой нагрузки 650 Вт.
10. Наличие электрических фильтров питающих напряжений и защитных элементов основных цепей устройства.
11. Промаркировать все разъемы и выводы подключений.
Возможности программного обеспечения для ПК:
- ручной режим управления нагрузкой;
- 4 автоматических режима (температурный режим, режим PH/CO2, режим вентиляции крышки, режим автодолива воды);
- использование 3-х таймеров на каждый канал, с возможностью по секундной установки интервалов;
- калибровка электродов;
- ограничивающие временные интервалы подсветки ЖКИ, работы кулеров и системы СО2;
- запись данных в энергонезависимую память контроллера и всевозможная индикация текущих параметров системы.

С некоторыми поправками данный функционал может быть отнесен к категории универсальных устройств. Это конечно не совсем корректно, т.к. аквариумные контроллеры можно разделить на 2 подгруппы – для пресноводных и морских обитателей. Различаются в данном случае и режимы освещения, и наличие различных электродов, определяющих параметры воды, и программные режимы, стабилизирующие эти параметры, и др. Аппаратная составляющая аквариумов так же весьма отличается. Освещение может быть организовано люминесцентными лампами, а могут быть использованы светодиоды или светодиодные ленты. IMHO – использование светодиодов более привлекательный подход, как с точки зрения получения необходимого спектрального состава, так и при организации управляющих режимов. Однако, использование качественных комплектующих, стабилизаторов тока, источников питания и вопрос отвода тепла делает этот подход более дорогостоящим. Ввиду чего, большое количество аквариумистов все еще использует люминесцентное освещение, и менять его пока не собираются. Различий может быть великое множество, ибо готовые решения приобретаются крайне редко, и большая часть аквариумов собраны под индивидуальные вкусы их владельцев. В данном случае рассматривались 3 аквариума, и были объединены/усреднены требования по оным. В итоге, получилась система для пресноводного аквариума (либо травника), с люминесцентным освещением, объемом до 500 л., автономным режимом работы, выводом необходимой информации на ЖКИ и подключением к ПК для конфигурации.

Аппаратная реализация

Исходя из личного опыта, опыта других разработчиков и вредности своего IMHO – конструкции типа «бутерброд», построенных на базе Arduino и иже с ним, стараюсь не использовать. Вообще и никогда. Это же касается и программного обеспечения (низкого или высокого уровня). Исключения составляют внешние библиотеки, собственноручно переработанные и прошедшие не одну сотню часов тестирования. Ну и разумеется стандартные либы, блокнот, компилятор, программатор/отладчик и осциллограф.

Аппаратная часть основана на микроконтроллере фирмы Atmel - ATmega32A, работающего от внешнего кварцевого резонатора 11.0592 MHz. Выбор обоснован наличием большого кол-ва флеш- и оперативной памяти, необходимым кол-вом выводов, дабы не чувствовать себя стесненным в средствах (в итоге было использовано ~80% ресурсов МК). Коммутация нагрузки реализована посредством электромеханического реле. В устройстве использовались реле герметичного исполнения фирмы OMRON, серия – G5LA. Получение текущего времени организовано посредством микросхемы DS1307Z + прецизионный термостабильный резонатор, заблаговременно снятый со швейцарского промышленного оборудования. Выбор был обусловлен наличием этой микросхемы и качественного резонатора. В другом случае предпочтительно использовать DS3231. Для управления кулерами используется ШИМ-сигнал. В качестве ключевого элемента используется полевой транзистор LR3714Z. Для вывода данных на ЖКИ используется 4-х битная шина, для коммутации подсветки используется транзистор FMMT717TA. Связь с ПК организована посредством радиоканала (RS232-Bluetooth HC05), либо преобразователя RS232-USB CP2102. Скорость передачи данных 9600 kbit/s. Фильтрация сетевого напряжения рассчитана на номинальную мощность ~650 Вт. Терминирование температурных датчиков DS18B20 необходимо производить в непосредственной близости от датчика. Для повышения надежности устройства использовался внешний супервайзер ADM690ANZ, отслеживающий тактирование МК и уровень питающего напряжения. Радиоканал реализован отдельным модулем, подключаемым на плату контроллера через 4 пиновый разъем. Присутствует всевозможная индикация (активность каналов, наличие питающих напряжений, тактирование МК, передача пакета данных).

Хотелось бы, конечно, использовать Wi-Fi подключение, с HTTP сервером. Но для этого необходимо иметь в распоряжении Ethernet MAC модуль, что тянет за собой также необходимость и DMA интерфейса, - а это уже задача не для AVR. Да и стоимость адекватного Wi-Fi модуля довольно высока. Не будем рассматривать цепочку из нескольких плат (об этом я писал вначале параграфа), или же дешевых китайских модулей, способных на все, но при этом отваливающихся каждые полчаса. И с ARM7TDMI на более свежую архитектуру все никак не осилю себя перейти. Да и смысл использовать ARM для такой задачи, где с лихвой хватает AVR. Только для Ethernet/Wi-Fi - не вижу смысла. В общем, это уже задача другого уровня. Для текущего автономного контроллера было принято решение ограничиться USB/Bluetooth и внешним супервайзером.

Для разработки устройства использовался программный продукт P-CAD 2006 SP2. Ниже приведена принципиальная схема устройства (кликабельно):


Печатная плата устройства была разработана под SMD-монтаж. Класс точности – 4. Используются корпуса TQFP44, QFN28, SOT23, TAN-A, TAN-B, SMA, 0805, 0603 и др. Плата имеет двухстороннюю реализацию. Общий вид печатной платы устройства приведен ниже (кликабельно):


Изготовление печатной платы было доверено китайским специалистам, ибо качество местных изготовителей оставляет желать лучшего. Какая именно фирма занималась производством платы уже сказать не смогу, т.к. заказывал я ее через товарища, к которому я просто «упал на хвост» во время его заказа, и отправил ему все необходимые файлы. Качеством «поднебесной» я был весьма впечатлен. Стоимость одной платы обошлась мне примерно в 20$. Так же очень порадовал предоставляемый сервис. Стоимость платы зависела от ее класса точности, размеров, и прочих заданных требований. В течение одного рабочего дня мой заказ был обработан, рассчитан и указана точная дата прибытия в мой город. В тот же день средства были уже переведены на их счет. И именно в указанный день мне пришло сообщение о доставки моей посылки. Обработка заказа, изготовление и доставка заняли чуть менее 2 недель. Ни один из отечественных производителей мне такое и близко не смог предложить (в рамках адекватной стоимости). Ниже приведено фото одной из полученных плат:

После напайки всех компонентов, прочистки ультразвуком от флюса и прошивки контроллера устройство приобрело следующий вид:

Для установки супервайзера предусмотрена 8-пиновая панелька. ADM690ANZ весьма чувствителен к флуктуациям питающего напряжения, и если у вас нет возможности установить качественный стабилизированный источник питания на 5В – лучше супервайзер не использовать. Иначе получите больше проблем, нежели пользы от его использования. Для переключения между USB и Bluetooth используется соответствующая перемычка.

Изначально, устройство планировалось устанавливать в крышку аквариума. Поэтому организация корпуса не предусмотрена. Однако, в дальнейшем, возможно, надобность в оном появится. Для отображения информации использовался 4-х строчный ЖКИ WH2004L-TMI-CTW, устанавливаемый на переднюю часть алюминиевой крышки. Во избежание наводок на индикатор, во время коммутации силовой нагрузки, сам индикатор необходимо изолировать от соприкасающихся металлических частей крышки, а шлейф, идущий от контроллера к экрану, - экранировать.

Ну и в завершении описания аппаратной составляющей ниже представлена фотография крышки аквариума. В ней установлен сам контроллер с ЖКИ, источник бесперебойного питания на 5В с аккумулятором, импульсный источник питания на 12В, 6 ЭПРА, плата усилителя для PH-электрода (основана на CA3140E), 2 80мм кулера и разъем для сетевого питания с простеньким входным фильтром.

Реализация связи с устройством

Основным каналом связи предусмотрен радиоканал Bluetooth (HC-05), USB-подключение – резервное. Устройство не имеет гальванической развязки между микроконтроллером и преобразователем уровней CP2102 (USART-USB). При подключении посредством USB необходимо убедиться, что источник электропитания, используемый для получения +5В, и питающее напряжение ПК включены в один узел электросети (розетку). В ином случае возможна некорректная работа устройства, выход из строя определенных элементов конструкции. Ниже приведена схема и печатная плата радиомодуля:

Программная реализация

Программное обеспечение состоит из 2 частей – низкого уровня (прошивка) и высокого уровня (программа для ПК). Для разработки низкоуровневой части использовался программный продукт WinAVR, версия компилятора GCC 4.3.3. Для организации управляющих подпрограмм был реализован диспетчера задач, основанный на автомате флагов. Было выделено несколько временных интервалов: 1 - 41ms, 2 - 167ms, 3 - 333ms, 4 - 1.34s, 5 - 2.67s, 6 - 10.6s. В первом временном интервале реализовано построчное отображение информации на ЖКИ. Во втором - опрос температурных датчиков (~ раз в 3 секунды), получение текущего времени, опрос АЦП и расчет значений электродов, с учетом калибровочных коэффициентов. В третьем временном интервале реализованы основные управляющие функции контроллера:

Обработка данных входящих пакетов;
- преобразование текущего времени в числовое значение (для удобства все временные значения в программе представлены в числовом виде HHMMSS);
- управление заданными каналами, в соответствии с выбранными режимами работы (раз в секунду);
- управление каналом PWM;
- обработка данных управляющих режимов (температурный режим, режим PH/CO2, режим вентиляции крышки, режим автодолива воды);
- установка ограничений временных интервалов (подсветка ЖКИ, работа кулеров и системы CO2);
- запись данных в EEPROM;
- анализ текущего состояния каждого из каналов, выбранных режимов с соответствующей индикацией;

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

Проект состоит из нескольких файлов: main.c, hd44780.h, i2c.h, USART.h, Functions.h, ds18b20.c, delay.h, crc8.c. Библиотеки для работы с шиной 1-Wire были позаимствованы с открытого проекта на одном из немецких сайтов и переработаны под собственные нужды (убраны неиспользуемые функции и добавлено указание используемого порта и вывода МК для соответствующего датчика). Все остальные либы написаны с чистого листа.

Для отладки низкоуровневого программного обеспечения использовалось компьютерное моделирование устройства, посредством программного пакета Proteus 7.7 SP2. Ниже приведена собранная схема устройства:

Для разработки программного обеспечения высокого уровня использовался программный продукт Microsoft Visual Studio 2007. Основные возможности ПО представлены 4-мя закладками: отображение информации, режимы/события, ежедневные таймеры, калибровка электродов. Данные обновляются раз в 3 секунды. Для передачи данных используется метод транзакций. ПО отправляет пакет данных устройству, которое в свою очередь, после получения, отправляет принятый пакет обратно на ПК. Если отправленный и принятый пакеты совпадают - транзакция прошла успешно. Если же данные различаются, то текущий пакет данных отправляется заново. При многократном не совпадении отправленного и принятого пакета данных отображается ошибка соединения с устройством. Для передачи данных использовался строковый тип, что позволяет безошибочно определить начало/конец пакета, его тип и сами данные. Ниже представлен интерфейс программного обеспечения для ПК:

Полное описание работы программного обеспечения AquaController 2014 находится в справочных материалах, доступных через меню Помощь/Справка. Детальное описание устройства находится в файле «Техническое описание».

Примерная стоимость устройства, учитывая доставку комплектующих, ~100$

Это первая реализация проекта аквариумного контроллера. За более чем полгода не выявлено ни единого сбоя в его работе. Некоторые конструктивные и программные недочеты все же имеются, но этого пока недостаточно, для разработки следующего прототипа.

С учетом эксплуатации текущего контроллера, перечень того, что может быть дополнительно воплощено в последующем устройстве:

Аппаратная реализация на ARM Cortex;
- связь по Ethernet/Wi-Fi с организацией HTTP-сервера;
- наличие внешней клавиатуры для аварийного отключения или активации управляемых каналов;
- интеграция усилителя для PH и Redox электродов на плату контроллера;
- наличие управляемых каналов для светодиодной подсветки;
- управление дополнительными агрегатами (автокормушкой, системой подачи удобрения и прочее);
- увеличена номинальная мощность нагрузки;
- замена DS1307 на DS3231;
- возможность установки в один из стандартных корпусов.

Но пока это всего лишь планы на будущее, так как данный контроллер полностью удовлетворяет требованиям моего текущего аквариума.

Ниже загружена на github необходимая документация, программное обеспечение и исходники программ.

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

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

Описание аквариумного контроллера

Аквариумный контроллер построен на микроконтроллере PIC16F677. Прошивка, скорее всего, должна подойти и для микроконтроллеров более высокого уровня из этой группы. Работа схемы была проверена и на микроконтроллере PIC16F690. Измерение температуры обеспечивает цифровой температурный датчик DS18B20 с разрешением 0,5 гр. Цельсия.

Отсчет времени организован с помощью микросхемы DS1302 – контроллера реального времени. В случае отключения электроэнергии, к 8 ножке DS1302 (вывод резервного питания) подключен конденсатор C8. Его емкости хватает более чем на 3 дня для того чтобы не произошел сброс времени.

Все управление осуществляется четырьмя кнопками: «СВЕТ» (S) «ОБОГРЕВ» (Т) «КОМПРЕССОР» (V) и «ФИЛЬТР» (F). Короткое нажатие будет включать/выключать соответствующий канал. Возможно переключение между ручным и автоматическим режимом управления. Это относится только к освещению и обогреву. Включение/ выключение компрессора и фильтра осуществляется только в ручном режиме. Обогрев в автоматическом режиме удерживает необходимую заданную температуру воды в аквариуме.

Управление освещением: первое нажатие включает свет, второе отключает, треть переводит управление освещением в автоматический режим. Для установки времени включения/выключения света, необходимо нажать кнопку (S) и удерживать ее более 4 секунд.

Сначала устанавливается время включения. Короткими нажатиями кнопки (S) происходит переход от одного разряда индикатора к другому, значение каждого можно менять кнопками V (+) и F (-). Далее, продолжительным нажатием кнопки (S) значение сохраняется и происходит переход в настройки времени выключения. Здесь порядок настройки такой же. Еще одним долгим нажатием происходит переход в исходное состояние.

Установка температуры практически такое же. Продолжительное нажатие кнопки (Т) позволяет перейти в режим установки необходимой температуры воды в аквариуме. Изменение величины с шагом 0,5 гр. Цельсия осуществляется кнопками V (+) и F (-). После установки продолжительное нажатие кнопки (Т) переводит контроллер в основной режим.

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

Индикация состояния каждого канала – графическая. Каждый канал обозначается своей буквой: «СВЕТ» (S) «ОБОГРЕВ» (Т) «КОМПРЕССОР» (V) и «ФИЛЬТР» (F). Если буква на экране заглавная, то это означает, что канал включен, если же прописная, то выключен.

Еще под каждым из выше перечисленных каналов прописывается либо буква А (автоматический режим — automatic) либо буква М (ручной режим – manual). Так же на индикатор выводится дата, время и фактическая температура воды в аквариуме.

Для удобства силовая часть контроллера сделана отдельно и подключена к основной плате TP-проводом с разъемом RJ-45. Трансформатор для блока питания подойдет любой с выходом на вторичной обмотке — 9 В и токе не менее 400 мА.

(скачено: 465)

http://www.tosi.cz/elektro/akvarium.html



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: