Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Система автополива для комнатных растений на Arduino

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

    Всем привет!

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

    Система состоит из следующих компонентов:

    Блок управления – сердце системы. Здесь находится Аккумуляторы, Arduino, модуль времени DS3231, дисплей, преобразователи напряжения и органы управления.


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


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

    Все технические элементы системы можно спрятать за шторы и горшки, чтобы сильно не бросались в глаза


    Обзор системы:


    Основные параметры системы:

    1. Автономная работа от аккумуляторов около 5 месяцев
    2. Система поддерживает управление 3-мя помпами. К каждой помпе можно подключить гребенку с 2-4 кранами и дополнительно регулировать потоки воды. Итого получаем возможность подключить до 12 растений
    3. Время снимается с отдельного независимого модуля часов DS3231. Помпа срабатывает при наступлении часа, указанного в настройке (например 8:00) .
    4. На дисплей выводится информация
    5. Настройки полива указываются в коде программы, их можно поменять, перепрошив Arduino

    Пояснения по отображаемой на дисплее информации:
    Первая строка – шапка таблицы. Каждая строка показывает информацию по соответствующей помпе. Первый столбец – показывает период работы (ПР) . Например при значении «5» - помпа будет срабатывать каждые 5 дней. Второй столбец – час работы (ЧР) – час в начале которого включится помпа. Третий столбец – время работы (ВР) – продолжительность работы помпы в секундах. Четвертый столбец – дней осталось (ДО) – показывает сколько осталось дней до ближайшего срабатывания. Дата и время также выводятся на дисплей.



    Система не имеет обратной связи, поэтому настройки нужно подбирать опытным путем. Лучше всего группировать растения близкие по требованиям к поливу (какие-то хорошо переносят засуху, другие наоборот любят обильный полив) и размерам горшков.
    Настройки задаются примерно следующим образом: каждые 5 дней включать помпу в 8:00 на 30 секунд.
    Ниже будет указано, в какой части кода эти настройки находятся.

    В коде программы можно отключить 2-ю и 3-ю помпы. В этом случае на экран будет выводиться информация только по включенным помпам.

    Автономность обеспечивается благодаря:
    • Питанию от аккумуляторов формата 18650
    • Ардуино и уходит в глубокий сон (Powerdown) и просыпается по Watсhdog
    • У стабилизатора напряжения Arduino откушена левая нога
    • Дисплей во время работы находится в выключенном состоянии. Для активации дисплея нужно удерживать кнопку выхода из сна около 10 секунд.
    • С модулей выпаяны все индикаторные светодиоды

    Система потребляет около 3мА, 1 помпа потребляет около 350 мА в режиме работы.

    Основные Детали:

    • Пищевой контейнер для корпуса
    • Китайский клон Arduino nano
    •  DS3231 Модуль реального времени
    • Аккумуляторы формата 18650
    • Повышающий модуль до 5В (ток около 1 А)
    • Понижающий модуль до 3,3В для питания дисплея
    • Дисплей Nokia 5110
    • TP4056 модуль для зарядки (+защита) аккумулятора
    • Индикатор зарядки аккумулятора
    • Различная «рассыпуха»: полевые транзисторы, резисторы, конденсаторы (электролитические и керамические)
    •  Выключатели и кнопки

    Монтажная «схема» устройства:



    Пояснения по схеме:

    1. 4 аккумулятора формата 18650 соединены параллельно. Общая емкость – около 13000 мА/ч.
    2. Аккумулятор подключен к зарядно - защитному модулю TP4056. Зарядка осуществляется через разъем micro USB от телефонной зарядки. Зарядка нужна с током не менее 1А. Примерное время полной зарядки – 13 -14 часов. Индикаторные светодиоды можно выпаять и вывести на корпус.
    3. Далее через выключатель подключен повышающий преобразователь до 5В. Он будет питать большую часть компонентов схемы, включая помпы. С падением уровня заряда аккумуляторов напряжение снизится с 4,2В до 2,7В, что для работы схемы не достаточно. Модуль обеспечит стабильное напряжение. На выход модуля ставится фильтр из электролитического и керамического конденсаторов. Электролитический конденсатор выполняет сглаживающую, стабилизирующую роль. Керамический конденсатор служит для борьбы с высокочастотными помехами. Если у модуля «пищит» дроссель во время работы, для устранения этого явления можно поставить ещё дополнительный электролитический конденсатор на вход модуля. Электролитические конденсаторы емкостью 1000 мкФ на 6,3В. Керамические конденсаторы подойдут от 1-2 мкФ. В схеме использованы на 10 мкФ, потому, что у меня было много лишних.
    4. Для питания дисплея нужно напряжение 3,3В, поэтому добавляется понижающий преобразователь с аналогичными фильтрами из конденсаторов.
    5. Модуль часов DS3231, нужен для более точного отсчета времени. Светодиод Power (1) отпаян у модуля DS3231. Сделано это для целей энергосбережения. Если вы используете обычные батарейки (не аккумуляторные), то нужно отпаять резистор (2). Модуль рассчитан на аккумуляторные батарейке в том числе заряжает их. Если батарея обычная, зарядный ток быстро приведет ее в негодность.
    Система автополива для комнатных растений на Arduino

    6. Основной мозг системы – платформа Arduino nano. Для целей энергосбережения нужно отпаять все светодиоды (или хотя бы только Power), а также откусить левую ногу стабилизатора напряжения.

    7. Управление помпы осуществляется через полевые транзисторы. Подойдут любые, которые открываются 5В напряжением и способны коммутировать ток от 1А. Сначала я использовал готовые. Я спаял батарею из полевых транзисторов + резисторы (100 Ом для защиты Arduino, 10к Ом для подтягивания затвора транзистора к земле, чтобы мосфет закрывался)+ также припаял разъемы KF 301-2P для фиксации проводов

    Позже сделал более компактную батарею на SMD мосфетах AO3400

    Где- то через пол года вышло из строя 2 полевых транзистора . Причина была в том, что, в режиме торможения коллекторный двигатель работает как генератор. Для защиты полевого транзистора нужно использовать защитный диод. Я использовал 1N4007.


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

    Процесс сборки:

    Сначала тесты на макетной плате и написание прошивки


    Далее соединил всё при помощи навесного монтажа

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

    В корпусе просверлил отверстия, покрасил всё черным матовым грунтом и закрепил компоненты на термоклей


    Дополнительные моменты по сборке:
    • Емкость с водой, должна обязательно располагаться ниже горшков, иначе есть риск, что после отключения помп вода продолжит литься.
    • Расстояние от дна емкости до конца трубки не должно превышать 70см. На большую высоту помпе будет сложнее поднять воду.
    • На мини помпу с Али отлично подходят прозрачные шланги 6х1,5 мм
    • Важно чтобы отверстие помпы для забора воды не упиралась в стенку емкости с водой, иначе нормального напора не будет.
    • Для крепления шланга на помпу нельзя использовать железные детали (хомуты, проволоку и т.д.) Всё ржавеет очень быстро.
    • У помпы короткие провода. Их скорее всего придется наращивать. Для герметизации проводов лучше всего использовать термоклей, а сверху термоусадку.

    Логика работы программы:

    • Arduino выходит из сна
    • Показания модуля DS3231 (дата и время) присваиваются переменным
    • При изменении даты меняется значение счетчика прошедших дней
    • Если период работы (настройка) совпадает с числом прошедших дней, проверяется час
    • При совпадении часа (настройка) и часа из модуля времени включаем помпу на время указанное в настройках
    • Arduino уходит в сон
    • Если удерживать кнопку выхода из сна подается питание на дисплей и Arduino пробуждается

    Настройки полива указываются вот в этой части кода:


    Прикладываю скетч и библиотеки

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

    Простой дальномер на Arduino

    Система автополива для комнатных растений pumperino

    8.9
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8.9
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8.8
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 8.86 из 10 (голосов: 12 / История оценок)

    Добавить комментарий

    9 комментариев
    EandV #29851 Автор
    Полностью согласен
    Иван_Похмельев #29847
    Цитата: EandV
    А вот в комнате у меня водопроводного крана нет, тянуть шланг через всю квартиру из туалета не хочется.
    Да и опасно: мало ли какой сбой в автоматике случится, можно и квартиру снизу залить.
    Иван_Похмельев #29846
    Теперь понятно про индикатор, нарисовали бы просто прямоугольник с пояснением - было бы ясно, что не светодиод, который так включать нельзя.
    EandV #29842 Автор
    Ну тут у Вас вообще всё серьезно. Однозначно грамотный выбор.
    В моем же случае, важно, чтобы просто никто из растений не умер. С этим моя самоделка пока вроде бы справляется.
    EandV #29841 Автор
    Соглашусь с Вам, что для теплиц нужно несколько иное решение. Правильно/не правильно это зависит от конкретной ситуации. В моем случае в одной из комнат нужно поливать 9 растений в горшках на подоконнике, когда я в командировке/отпуске или просто забыл про них. Если я в каждый горшок сделаю по датчику влажности, то на подоконнике у меня будет паутина, если сделаю датчик только в часть горшков, то смысл в использовании обратной связи теряется. Датчики влажности хорошо использовать для открытого грунта (чтобы после дождя ещё раз не поливать), либо для одного крупного растения в большом горшке или грядки, которые будут отдельной системой поливаться. Клапаны однозначно лучше для сада/огорода/теплицы. А вот в комнате у меня водопроводного крана нет, тянуть шланг через всю квартиру из туалета не хочется.
    EandV #29839 Автор
    Благодарю за отзыв!
    Это первая из моих систем автополива. Сейчас сделал ещё одну (основные отличия: есть кнопки для изменения настроек без перепрошивки и всё собрано на печатной плате, а не навесным монтажом). В планах система с датчиком влажности почвы, но такое решение тоже не везде годится.

    Помпу брал вот здесь: https://ru.aliexpress.com/item/32813225037.html?spm=a2g0s.9042311.0.0.274233edOrtSYd
    В принципе можно вбить в поиске "micro pump", выдаст кучу вариантов. Годятся любые помпы с питанием от 5В.

    Поясните, пожалуйста, по поводу ошибки с индикатором уровня заряда аккумулятора. Картинка со светодиодом весьма условная, на самом деле это индикатор с али (в программе, где рисовал схему не нашел картинки индикатора), который показывает "палочки" уровня заряда (по сути цифровой вольтметр)
    Выглядит вот так: https://ru.aliexpress.com/item/32850741087.html?spm=a2g0s.9042311.0.0.274233ed90SPcD
    Подключается параллельно выходу с TP4056, чтобы всё время не светился, включается через кнопку.
    Nruter #29836
    Тоже в этом году заморочился с капельным поливом. Применил контроллер Siemens Logo. Управление поливом на 3 линии. Каждая линия управляется либо вручную (при необходимости, либо от недельного таймера. (Кто сталкивался с таким контроллером, тот знает.) Насос один на все линии - обычная помпа за 300 руб. с алиэкспресса. Подъем воды до 3 метров. Раздача с гребенки через электроклапаны (тоже с али). Автоматическое поддержание уровня воды в емкости. Контроль температуры и автоматическое вентилирование.
    В общем, в теплицу захожу теперь только за урожаем.
    Гость Владимир #29835
    И меня интересует тема, но я в Ардуино ноль. Правильней осуществлять полив не по времени , а от влажности почвы. Лично мне нужно такое устройство для полива в теплицах. Я предполагаю использование не с помпами, а с э/клапанами.
    Иван_Похмельев #29833
    Отличное применение Ардуино для реальной цели!
    Возможно дальнейшее развитие проекта (контроль влажности земли, контроль уровня воды в канистре).
    Есть парочка мелких замечаний: хорошо бы дать ссылку на помпы (по электронным компонентам всё более-менее понятно и без ссылок) и надо на рисунке, изображающем схему, исправить подключение светодиода "Индикатор уровня заряда аккумулятора".

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии