Оборудование, Сделай сам

Дозатор удобрений для аквариума своими руками

Идея изготовить дозатор удобрений для аквариумных растений самостоятельно с использованием микроконтроллера Arduino появилась в связи с необходимостью помочь дочери в 10 классе школы сделать проект в рамках проектной деятельности. Представленные на рынке дозаторы удобрений для аквариума имеют от 1 до 4 помп и позволяют подавать в автоматическом режиме необходимые для растений питательные вещества. В представленном самодельном дозаторе удобрений используется 4 помпы для одновременной подачи 4х растворов. Какие именно растворы могут использоваться, во многом зависит от характера самого аквариума, наличия в нем быстрорастущих растений, питательной подложки, интенсивности подачи СО2, эффективности используемого освещения и т.д., поэтому предложенные автором настройки дозатора не являются универсальными и могут быть изменены под конкретные задачи любого аквариумиста.

В представленном примере программы дозатора удобрений на экран выводится подача калия (К), железа (Fe), микроудобрений (Mic), и глутарового альдегида (Alg), который является при небольшой дозировке профилактическим средством против водорослей и при расщеплении обеспечивает растения углеродом. В самом скетче программы можно изменить меню дозатора, если аквариумист желает вносить удобрения по другой схеме, например, К, N, P, Mic. Поскольку в моем аквариуме население довольно большое, а растения простые, то необходимости дополнительного внесения азота и фосфора нет.

Внешний вид дозатора

Меню настроек прибора довольно простое. После включения дозатора на экран каждые 3 секунды попеременно выводится название прибора и текущее время, а также установленные значения дозировки помп в мл.

После включения все дозировки равны 0.

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

Вращением ручки энкодера выбираем нужную помпу, нажимаем кнопку и входим в меню установки дозы.

В представленной версии программы дозу можно установить от 0 до 25 мл с шагом 0.25 мл. По опыту использования дозатора в течение 3х месяцев можно сказать, что для 240 литрового аквариума устанавливать большие объемы дозировки нет никакой практической необходимости. Точно также при желании можно изменить шаг дозировки, например, до 0.1 мл, но практической необходимости в этом нет. При небольшом шаге дозировки возрастает погрешность. Установленные в устройстве помпы позволяют прокачать 1 мл раствора за 14 с. Шаг дозировки определяется в коде переменной К, значение которой равно 3500 мс.

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

На экране каждые 3 секунды будут появляться надписи с названием удобрений и установленными для каждой помпы дозировками. При этом в первой строке отображаются значения доз для 1 и 2 помпы, во второй строке для 3 и 4 помп соответственно.

После настройки дозировки и подключения прибора к емкостям, необходимо прокачать помпы. Сделать это можно в режиме «Калибровка», который включается при повороте ручки энкодера на 2-4 деления по часовой стрелке.

В этом режиме включаются все 4 помпы и начинается прокачка жидкостей. Поскольку в приборе используются маломощные капельные перистальтические насосы, то прокачка занимает около 3 минут. Как только жидкость из выходных трубок начала капать, поворачиваем ручку энкодера в обратную сторону и помпы останавливаются. Прибор готов к автоматической подаче удобрений. Время подачи удобрений задается в программе константой T и установлено на 8 часов утра. Изменив константу, можно изменить время подачи удобрений. Если есть необходимость подавать удобрения несколько раз в день, то необходимо внести соответствующие изменения в программу.

В дозаторе предусмотрен также «Ручной режим», который включается во время демонстрации главного меню экрана поворотом ручки энкодера на 5-10 делений по часовой стрелке.

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

В автоматическом режиме дозатор подает удобрения в 8 часов утра, что определяется в программе в 78 строке кода (в сравнении показаний часов реального времени H с 8). По желанию можно изменить время срабатывания на любое другое.

Что нужно для сборки дозатора аквариумных удобрений

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

  1. Перистальтический насос – 4 шт. Я взял недорогие перистальтические насосы, которые работают от напряжения 5 В, что позволило использовать универсальный блок питания – зарядку для телефона на 5 В 2 А.
    Насосы могут использоваться любые. На фото приведены самые недорогие, стоимость которых, при покупке 4 шт сразу 800-1000 р. за комплект.

2. Драйвер двигателей MX1508 – 2 шт. (46 р. за шт).

3. Микроконтроллер Arduino nano – 1 шт. (Поскольку прошивка небольшая, достаточно atmega168). (180 р.). Можно использовать на atmega328, он будет стоить немного дороже, но позволяет расширить настройки меню программы.

4. LCD дисплей 1602 с I2C интерфейсом подключения. (198 р.)

5. Часы реального времени DS3231. (145 р.)

6. Энкодер. (45 р.)

7. Макетная плата с металлизированными отверстиями. (66 р. за 2 шт.)

Корпус был напечатан на 3D-принтере, но всю схемотехнику можно разместить в любом удобном корпусе. При написании кода программы для дозатора самым сложным было найти простой алгоритм программирования меню настроек, поэтому были использованы идеи автора You-tube канала «Эксперименты и распаковки» и предложенные им библиотеки. Для русификации меню используется библиотека от AlexGyver.

Общая схема может быть представлена следующим образом. Несмотря на то, что здесь множество соединений, никакой сложности эта схема не представляет. Питание прибора осуществляется от любого блока питания с напряжением 5 В 2 А. Энкодер подключается к пинам 8 и 9 arduino, кнопка энкодера к 10 контакту. Драйвера двигателей подключаются к 2, 3, 11, 12 пинам arduino. Использование конкретных пинов не принципиально, библиотеки к ним не привязаны. Главное указать изменения в коде программы (комментарии в коде программы есть).

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

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

На схеме пины подключения энкодера и моторов другие, но это не должно смущать, поскольку схема дана просто для наглядности. Дисплей 1602 и часы DS3231 подключены по шине I2C. Вывод SDA подключается к пину А4 arduino, вывод SCL к пину А5. Ну и разумеется, что все контакты +5 В и GND также должны быть подключены.

PS От имени админов сайта благодарим Дмитрия Кирьянова за предоставленную статью.