Обсуждаем цифровые устройства...
Ответить

Универсальный аквариумный контроллер на Ардуино AquaControl

Вт окт 15, 2019 18:24:32

Универсальный аквариумный контроллер на Ардуино (AquaController on Arduino Nano)
Разработал Павел Комаристый, г. Калининград

Изображение

Основной функционал:
плавное включение-выключение освещения (рассвет-закат) 2 канала + люминесцентные лампы;
контроль температуры (включение выключение обогревателя);
подача жидких удобрений по времени (Микро, Макро, Железо);
контроль системы фильтрации (вкл-выкл по расписанию);
контроль подачи CO2 в аквариум (вкл-выкл по расписанию);
установка часов и календаря;
режим "Профилактики" с возможностью ручного включения-выключения исполнительных устройств (освещение, фильтр, обогрев, CO2);

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

Итак для сборки АкваКонтроллера нам понадобится:

1. Arduino Nano v 3.0 ATMEGA328P;

2. Модуль часов реального времени DS3231 I2C RTC;

3. LCD display 2004A I2C;

4. Блок реле 5V 4 канала;

5. Датчик температуры DS18B20 водонепроницаемый;

6. Три Дозирующий перистальтических насоса DC 12V;

7. Блок питания или драйвер 12V (для питания самой схемы и светодиодного освещения;

8. DC-DC преобразователь XL6009;

9. Ну и по мелочи: несколько мосфетов, транзасторов, тактильные кнопки 6*6*25 мм, китайская USB зарядка 5V, пищалка (buzzer 12085) и др.

Схема акваконтроллера представлена ниже:

Изображение

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

Изображение

Почти все собрано навесным монтажем с помощью соединительных проводов (продаются такие специально для ардуины). На печатной плате спаяна только силовая часть (мосфеты) и кнопки управления.

Итак, изготавливаем печатные платы:
Изображение Изображение

Припаиваем на платы электронные компоненты:
Изображение
Выше показана также распайка соединения дисплея с кнопками с основной частью акваконтроллера посредством разъемов USB.

Кнопки 6*6*8 мм, показанные на фото, впоследствии были заменены на более подходящие для корпуса, а именнно вот на такие (6*6*25) :
Изображение

Далее объединяем в корпус подходящего размера (125х83х32 мм) LCD дисплей и плату с кнопками управления:

Изображение

Собираем из подручных материалов (ДСП и оргстекло) основной ящик-корпус акваконтроллера:

Изображение

Оклеиваем корпус самоклейкой, и начинаем собирать основные блоки акваконтроллера в корпусе:

Изображение

Первоначально у меня розовые полноспектральные светодиоды запитывались от отдельного драйвера на 34 Вольта 700 мА (его видно на 1 фото выше (маленький такой, расположен над USB зарядкой черного цвета, которая предназначена для запитывания блока реле) ), но позже выяснилось что данный драйвер не поддерживает диммирование (светодиоды начинают мигать при диммировании). Поэтому было принято решение заменить данный драйвер на DC-DC преобразователь XL6009, выставленный на выдачу 34 Вольт, и более мощный драйвер 12 Вольт 6.3 А (72 Ватта)(данная модель драйвера диммируется без проблем), от которого и запитывается вся схема, включая силовую часть со светодиодами и светодиодными полосками.

Полноспектральные светодиоды использованы на 3 Вт х 10 штук. Каждый рассчитан на 3.4 Вольта 700 мА. Белые светодиодные COB полосы (6500K), на 12 Вольт, 10-12 Ватт каждая также запитываются от общего источника питания 12В. Вот как выглядят светодиоды и полосы:

Изображение

Питание к светодиодам освещения у меня подводится с помощью старого советского стереофонического аудиокабеля ( у него 4 отдельных жилы и экран (2 жилы для питания полноспектральных светодиодов, и 2 жилы запаралеленных друг с другом + экранная оплетка для питания белых светодиодных полос (у них повышенная нагрузка по току, поэтому так сделано) ) ). Соединяется кабель с помошью DIN разъема и гнезда 5-контактного (тоже аудио). Ниже показано это соединение + заводка удобрений и CO2 в аквариум:

Изображение

И вот как выглядит конечная паутина проводов и элементов. Не очень эстетично, но зато работает! :

Изображение

А вот так смотрятся смонтированные розетки (делал из того что было в наличии дома, поэтому розетки разные, где-то двойные, где-то одинарные) и перистальтические насосы:

Изображение

Лицевая часть корпуса акваконтроллера:

Изображение

Удобрения подаются из бутылочек с помощью трубок из под капельницы (Система), купленных в аптеке:

Изображение

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

Изображение

И общий вид на аквариум:

Изображение

А теперь давайте пройдемся по программной части акваконтроллера. Примерная блок-схема работы программы представлена ниже:

Изображение

Главное меню Акваконтроллера, его экраны с настройками представлены ниже:

Изображение

Думаю все понятно и без описания, что да как. Кроме этого еще есть несколько менюшек с настроками часов реального времени, режима "Профилактики" в котором можно вручную включать и выключать освещение (розовое, белое, и люминесцентные лампы), фильтр, обогреватель и подачу CO2. И тестовое окно для проверки работы перистальтических насосов :

Изображение

Вот скомпилированный скетч в IDE Arduino:

Изображение

Занимает 30718 байт памяти устройства (99%). Как видите все под завязку!

Ну и вот собственно сам скетч и архив проекта скачайте во вложении. AquaController_Archive.rar

В заключение можно посмотреть видеообзор (общее устройство, основные функции, пункты меню, демонстрация рассвета-заката) данного Акваконтроллера:
https://youtu.be/BTeF2GSRsYw
Вложения
AquaController_Archive.rar
И напоследок можно скачать архив проекта: AquaController_Archive.rar
ардуино аквариум контроллер
(879.71 KiB) Скачиваний: 444

Re: Универсальный аквариумный контроллер на Ардуино AquaCont

Чт окт 17, 2019 14:47:29

Как учебный макет начинающего адуринкопользователя еще вполне прилично смотрится.
Как работающий экземпляр - разве что попытка собрать платки периферии неплохо смотрится.
:roll:
Относительно той "паутины", обеспечивающей межблочный монтаж...
:facepalm:
Да и по тексту самой программки есть где поработать над содержимым.
Минус архива с прожкой - не добавлены файлы библиотек, используемых в основном проекте.
Может у Вас они и установлены, но не у всех потребителей оные могут иметься.
Искать по разносайтам в инете не лучшее удовольствие (тем более версии могут весьма отличаться).
8)
Вобщем как для начинающего - вполне пригодная самоделка.
А вот для повторения конструкции/мелкосерийки предлагать весьма рано.
:beer:

Вопросец...
Зачем выбиралась частота 62,5 КГц для осветительных светодиодов?
Из соображений реакции/восприятия рыбок/водорослей или из соображений восприятия наблюдателем?
:dont_know:
Обычно максимум 200Гц ставится (62,5-128Гц).
Тогда и проблемы с "длинными линиями" нагрузки у полевиков уйдут.
Сами же полевики предпочтительно группы logic level (IRLZ44 к примеру).
:roll:

Re: Универсальный аквариумный контроллер на Ардуино AquaCont

Вт июл 07, 2020 21:41:51

как изменить скетч под дисплей 1602,а то полный ноль в программирование.

Re: Универсальный аквариумный контроллер на Ардуино AquaCont

Ср июл 08, 2020 06:51:53

Что вы подразумеваете под "изменить" ? Воткните 1602, вполне возможно заработает, но с двумя строками. Как вы себе представляете сделать из 4х строчек 2 ?

Re: Универсальный аквариумный контроллер на Ардуино AquaCont

Ср июл 08, 2020 07:48:14

как изменить скетч под дисплей 1602,а то полный ноль в программирование.

Обратиться к автору проекта.
Заказать в разделе https://radiokot.ru/forum/viewforum.php?f=53, указав собственные "хотелки"...
:roll:

Re: Универсальный аквариумный контроллер на Ардуино AquaCont

Ср июл 08, 2020 12:31:50

Быстрее будет индикатор найти, да и дешеале наверное )

Re: Универсальный аквариумный контроллер на Ардуино AquaCont

Ср июл 08, 2020 15:35:43

При наличии подачи СО2 разве не нужно контролировать Ph ? (Просто как-то повторял на заказ подобную конструкцию для одного знакомого - там был контроль Ph) во вторых система автономного питания крайне желательна - лепездричество бывает на сутки отключают. Контроль уровня воды для автодолива.

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

Но так - неплохая конструкция - начало положено - впереди еще есть куда стремиться.
Ответить