Контроллер для аквариума своими руками

Добавил пользователь Morpheus
Обновлено: 18.09.2024

простой и бюджетный вариант автоматизации домашнего аквариумного хозяйства на "ардуине" или ей подобных, решил предложить свой вариант, больше года "погонял" и исправил много разных ошибок, нормально работает на китайском клоне, памяти достаточно 32кБ.
чем управляем:
- светильник 4 канала (на выходе ШИМ 5В, 255 уровней, шаг 0,3%) вариант прямой и инверсный - для разных типов драйверов, рассвет и закат фиксированный по 1 часу, задаем для каждого канала: время восхода, длительность свечения, интенсивность свечения.
- контролируем температуру воды в аквариуме и управляем вентиляцией (12В реле/инверсия) или нагревателем (220В реле);
- по часам включаем клапан СО2 (12В реле/инверсия)
- по часам включаем аэратор (220В реле)
- по часам включаем дозаторы (2шт) (12В реле/инверсия)
- по часам управление кормушкой (12В реле/инверсия)
- отключение проточного фильтра при кормлении (220В реле)
- включение дополнительного света к белому каналу (220В реле)
- включение кулера охлаждения светильника (12В реле/инверсия)
что нужно:
- контроллер с USB
- часы реального времени RTC DS1307
- bluetoth HC-05 (HC-06)
- реле 5В (коммутируем 12В/до 3А) инверсное 6шт.
- реле 5В (коммутируем 220В/до 1А) 3шт.
датчик температуры ds18b20 1-2 шт.
приложение для настройкизагрузчик для контроллера

особенности сборки:
- после настройки не забываем записать все данные в энергонезависимой памяти, для случая отключения света.
- можно использовать обычный люменесцентный светильник
- прописывать датчики температуры не нужно
- до подключения блютон записать в часы время
- учитывать бросок тока для нагрузок с питанием 220В

позже опишу расширение для измерения pH и KH.

Вложения схема включения назначение выводов TRAV_1.25.zip *.hex файл прошивки контроллера (24.32 КБ) 1474 скачивания --> готовый вариант

Аква контроллер ARDUINO.
(Обратите внимание на доработанный вариант от форумчан. Ссылка внизу!)
( ПродолжениеПростой акваконтроллер ARDUINO v.2 (LED море))

(ГОТОВЫЕ КОНТРОЛЛЕРЫ НЕ ПРОДАЮ)

Решил ознакомиться я с ARDUINO, за одно порадовать своих рыбасей.
Сделать им(себе) доп удобства за минимальную цену и с минимальным напрягом по времени.
На eBay заказал.
Контроллер
Arduino PRO Mini ATMEGA328P 5V 16M (16MHZ) + CP2102 модуль + кабель = полный комплект для программирования - US $3.18

В качестве блока питания зарядка от iPhon там же за 1 бакс.

Еще немного мелочи типа симисторов и опторазвязки для силовой части.

Органы управления
1 кнопка отмена
2 кнопка вверх
3 кнопка вниз
4 кнопка ОК

Нагрузки
D10 куллер (С регулировкой оборотов)
D11 ЛЕД (Восход/закат)
А0 1W (термометр)
D12 Фильтр
D13 Нагреватель
D1 СО2
D0 Компрессор
А1 Свет1
А2 Свет2
А3 УДО Микро
А4 УДО Макро
А5 УДО Железо
А6 Управление БП
Себестоимость контроллера чуть больше 10 баксов.

На картинке силовая часть в виде готового релейного модуля (такие есть и на 8 каналов - цена около 8 баксов), я использовал свою плату силовой части - схема и печатка во вложении(плату изготавливал по ЛУТ технологии).
Все проверено - работает.

Все комплектующие покупались на ибей и цены ориентировочные доставке везде БЕСПЛАТНАЯ.

Уже давно хочется заменить контроллер в аквариуме на более современный, тем более уже технологии шагнули вперед.
скоро будет новый аквариум и вот там и будет всё новое. (аквариум стоит уже три года и ждет запуска)
детальки все уже приехали с Китая, можно собирать. (запчасти уже устарели, но приехали новые в т ч с Белоруссии от AqvaGomel)
нужно определится с функциями самого контроллера, что бы был он универсален, и работал по принципу какое оборудование есть в наличии то и подключаем. Рассмотрим ниже
2018 год. Набросал списочек, что должен делать контроллер, может что то забыл поправите если что, буду признателен. 2021 г. Пройдемся по списку

Аква Контроллер

Развернуть для просмотра

1. Время-дата Реализовано
2. Температура Реализовано= 4 независимых датчика температуры
2.1 воды в аквариуме
2.2 грунта
2.3 светодиодов
3. климат контроль
3.1 нагреватель вкл/выкл реализовано автомат
3.2 помпа охлаждения светодиодов вкл/выкл уже не требуется
3.3 вентилятор вкл/выкл два независимых канала на вентиляторы
4. фильтр воды 1 реализовано
5. фильтр воды 2 реализовано
6. ультрафиолетовая лампа реализовано
7. СО2 реализовано
8. Воздух реализовано
9. Свет реализовано
9.1 1 канал с ШИМ регулятором 18 вт (1 вт *18 шт.) полный спектр для растений
9.2 2 канал с ШИМ регулятором 9 вт (1 вт *9 шт.) DIP Red красный
9.3 3 канал с ШИМ регулятором 9 вт (1 вт *9 шт.) синий
9.4 4 канал с ШИМ регулятором 9 вт (1 вт *9 шт.) красный
9.5 5 канал с ШИМ регулятором 9 вт (1 вт *9 шт.) белый
9.6 6 канал вкл/выкл 27 вт (3 вт *9 шт.) Красный
9.7 7 канал вкл/выкл 27 вт (3 вт *9 шт.) Синий
9.8 8 канал вкл/выкл 27 вт (3 вт *9 шт.) Белый
9.9 9 канал вкл/выкл 27 вт (3 вт *9 шт.) натуральный
9.10 10 канал вкл/выкл 9 вт (1 вт *9 шт.) белый 30000 к
10. кормушка реализовано
11. УДО 1 реализовано
12. УДО 2 реализовано
13. Долив воды реализовано
14. Уровень РН, при наличии датчика реализовано

буду рисовать меню скоро выложу. уже написано

Есть сенсорный экран

Есть Мобильный клиент

Девайс уже трудится в аквариуме AqvaGomel, свой экземпляр уже запустил, и он ждет запуск аквариума.


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

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

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

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

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

печатная плата

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

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

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

Arduino – микроконтроллер, использующийся в качестве конструктора и платформы для самостоятельной разработки электроники. Устройство подходит как новичкам, так и профессионалом в техническом строении. Ардуино заслужило популярность среди разработчиков благодаря удобному и легкому языку, на котором пишут программный код для МК.

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


1. Определение задач для микроконтроллера Arduino при автоматизации аквариума

Первое, о чем должен позаботиться пользователь, – формулировка задач для работы аквариума. По-другому, за что должен отвечать программный код на Arduino для аквариума. Список задач представлен в списке ниже:

2. Необходимая периферия и способы ее подключения к Arduino

Для собрания аппаратной части потребуются следующие компоненты:

  • микроконтроллер Arduino Uno (можно и с Мегой);
  • пьезо сигналка;
  • светодиодная лента RGB для подачи света, при погружении в емкость ее следует поместить в силиконовый шланг, чтобы вода не проникала внутрь;
  • белая светодиодная лента;
  • датчик, отслеживающий температурный режим и влажность, наиболее оптимальный вариант – DHT11;
  • небольшой LCD экран;
  • часы, отображающие реальное время, оптимальный вариант – DS1307;
  • 2 штуки реле, один управляет работой компрессора, другой регулирует аэрацию, причем оба работают только при 220;
  • ик-приемник;
  • транзисторы в количестве 5 штук, 3 штуки для rgb-ленты, 1 для помпы и последний для работы белой ленты.

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

Одна из возможных схем:


На просторах интернета найдена была еще одна возможная схема для сборки стеклянного друга:


3. Программирование на Arduino для автоматизации аквариума

При программировании Ардуино для аквариума стоит быть внимательным. Перед подключением любого компонента необходимо ознакомиться с прилагаемой инструкцией. Обычно в памятке и на официальном сайте производителя указывается информация насчет равномерного напряжения. Если пренебречь условиями напряжения, можно испортить оборудование – произойдет замыкание. Обычно такая ситуация наблюдается при неаккуратном подключении датчика температуры и часов.

3.1 Меню и ЖК-Дисплей

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

Например, для вывода "Hello World" нам нужен такой код:

Для нашего урока базовый класс может выглядеть так:

Ну и как пример с одним из пунктов меню (позаимствовано на просторах интернета):

Все датчики и светодиодные ленты к платформе Ардуино подключаются с помощью контактов, у которых действительно есть возможность поддержания широтно-импульсной модуляции. Нельзя подключать сразу 3 контакта при максимальном напряжении, так как лента может перегореть: не сразу, но в течение 50 минут светодиоды прекращают мерцать. Такая ситуация возникает, когда резисторы выходят из строя.

Недостаток вышеизложенной конструкции состоит в том, что каждый цвет на ленте имеет разную яркость. Если включить максимум напряжение на светодиоде красного оттенка, получится условная яркость красной ленты, равная 255 единицам.

А если одновременно подключить синий и красный фонарик на максимальном напряжении, показатель яркости установится на 510 единицах. В итоге получится фиолетовый цвет, что неприемлемо.

3.2 Код для работы цветной ленты

Отрегулируем яркость белой ленты с помощью кода:

На этом пока всё. Желаем вам дальнейших успехов с проектами на разных микроконтроллерах.

Читайте также: