РадиоКот :: Простая система полива комнатных растений на ATtiny13
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Автоматика >

Теги статьи: Добавить тег

Простая система полива комнатных растений на ATtiny13

Автор: SSMix
Опубликовано 15.10.2020
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2020!"

В статье описывается простая система полива для комнатных растений на широко распространённом микроконтроллере ATtiny13, позволяющая регулировать период и время полива.

Во время длительного отсутствия дома необходимо как-то организовать полив комнатных растений. Надёжнее всего это поручить автоматике с автономным питанием. На Aliexpress продаётся множество изделий для аквариумистов – трубочки, краны, разветвители, насосы:

Из всего этого добра можно соорудить простую систему полива, необходимо только собрать контроллер для насоса для подачи воды через определённые промежутки времени на фиксированное время, достаточное для увлажнения почвы в горшках растений.
В ходе данной разработки была поставлена задача сделать максимально простой, дешёвый и легко повторяемый контроллер полива.
В качестве микроконтроллера был выбран старый надёжный и недорогой ATtiny13A. Ввиду ограниченного числа выводов регулирование периода работы и времени включенного состояния насоса было решено сделать потенциометрами с соответствующими шкалами с делениями. Это намного проще и дешевле, чем использовать дополнительный дисплей с кнопками управления, да и встроенной памяти у ATtiny13 вряд ли хватит на дисплей.
Питание решено было сделать от Li-Ion аккумулятора от неисправного смартфона, зарядку его - через китайский модуль на TP4056. Модуль выбран с защитой на случай будущей замены аккумулятора на 18650 без встроенной защиты.

К разъёму microUSB модуля зарядки можно в случае длительного отсутствия подключить внешнюю солнечную батарею или Power-bank, чтобы не оставлять в доме включенные в сеть электроприборы в виде зарядки без присмотра.
Схема разработанного контроллера полива получилась следующая:

Управляющих элементов в контроллере всего четыре – кнопка подачи питания SA1, два потенциометра для регулировки времени работы насоса в диапазоне от 5 до 45 секунд (R3) и периода включения от 1 до 5 дней (R2), а также кнопка SB1 для тестового включения насоса на установленное время работы. Данный тестовый режим необходим для предварительного определения необходимой длительности работы насоса для достаточного увлажнения почвы при настройке системы полива.
Для определения положения движков потенциометров R2 и R3 использованы 2 канала АЦП микроконтроллера: ADC0 и ADC2. К каналу ADC1 подключен делитель напряжения на 4 для контроля напряжения аккумулятора. При разрядке последнего до напряжения ниже 3В насос не будет включаться для исключения глубокого разряда и повреждения аккумулятора. Для экономии ёмкости аккумулятора напряжение питания на потенциометры и делитель подаётся с линии PB3 кратковременно на момент замера раз в секунду.
Работает микроконтроллер от внутреннего RC-генератора на частоте 128кГц. В реальности по DataSheet при напряжении питания 4В эта частота составляет 110,5кГц, т.е. около 9мкс за 1 такт, поэтому настройки внутреннего таймера-счётчика для отсчёта временных интервалов сделаны именно под реальную частоту.
Измеренный ток потребления микроконтроллером оказался равным 92мкА. При ёмкости аккумулятора даже в 1000мАч расчётное время непрерывной работы без учёта потребления насосом составит около 14,5 лет. Поэтому переход в спящий режим в программе не был организован, тем более, что свободной памяти уже практически не осталось. Программа для контроллера создавалась в среде WinAVR-20100110 на Си. По сравнению с CodeVisionAVR WinAVR выдаёт более компактный размер кода.
Управление насосом реализовано при помощи ключа на полевом транзисторе VT1 IRLML6244. Светодиод HL1 индицирует подачу питания на насос. Фильтры по питанию L1-L3, C4-C8 предназначены для устранения помех микроконтроллеру от коллекторного двигателя насоса. Сам насос сначала был приобретён 5-вольтовый. Он оказался шестерёнчатый с густой смазкой внутри. При проверке его работы эта смазка и начала выходить наружу. Решив, что комнатным растениям смазочные материалы совсем ни к чему, шестерни были хорошенько промыты, но без смазки насос работать уже не стал!!! У него такой принцип – гнать воду самими шестернями, а когда смазки нет, КПД резко падает.
Поэтому был приобретён другой насос, мембранного типа. Правда доступные по цене мембранные насосы рассчитаны на напряжение питания 12 В, и от литиевого аккумулятора напрямую попавшийся экземпляр не заработал. Так что в разрыв цепи насоса пришлось добавить модуль повышающего преобразователя на ME2149F на 12В:


Изменением номинала резистора R2 путём допайки поверх штатного резистора дополнительного (на 240 кОм) выходное напряжение преобразователя было уменьшено до 6,5 В. Этого для работы мембранного насоса оказалось вполне достаточно. Сам модуль был изолирован прозрачной термоусадкой:

Выходная мощность модуля составляет 8 Вт. При выходном напряжении 6,5 В ток нагрузки составляет 8W/6,5V=1,23А. Потребляемый насосом ток при напряжении 6,5 В составляет около 0,35А, так что имеется запас по току в 3,5 раза. Можно использовать любой другой повышающий преобразователь, работающий от литиевого аккумулятора и рассчитанный на выходной ток ≥1А при выходном напряжении 6,5В.
Питание на плату контроллера подаётся от аккумулятора через плату зарядки, самовосстанавливающийся предохранитель FU1, выключатель SA1 и разъём X2. Выводной резистор номиналом 1кОм, подключаемый к плате при выключении SA1, обеспечивает разряд конденсаторов фильтра и быстрый сброс микроконтроллера для приведения схемы в исходное состояние.
Схема контроллера собрана на печатной плате из одностороннего фольгированного стеклотекстолита габаритами 30х35мм:

Подключение аккумулятора и насоса осуществляется посредством разъёмов X1, X2.

Перечень

C = 2200,0х10В
C1 = 1000p (0805)
C2 = 1000 (0805)
C3 = 1000p (0805)
C4 = 22,0х25 (Танталовый, корпус B)
C5 = 22,0х25 (Танталовый, корпус B)
C6 = 10,0х25 (Танталовый, корпус A)
C7 = 10,0х25 (Танталовый, корпус A)
C8 = 1uF (0805)

DD1 = ATtiny-13A (DIP-8)

FU1 = 3А 30V (MFR)

GB1 = 18650 (Батарея литиевая)

HL1 = 3 мм (Зеленый)

L1 = 470uH (1210)
L2 = 4,7uH
L3 = 4,7uH

R = 1к (0805)
R1 = 100к (0805)
R2 = 500к (CA6H)
R3 = 500к (CA6H)
R4 = 1к (0805)
R5 = 1к (0805)
R6 = 3M (0805)
R7 = 1M (0805)
R8 = 100к (0805)
R9 = 10к (1206)
R10 = 1к (0805)

SA1 = "ВКЛ."

SB1 = Кнопка тактовая

SZ1 = 12V 1,5W

VD = 1N4148
VD1 = SS24 (SMB)
VD2 = UF4007 (DO-41)

VT1 = IRLML6244 (SOT-23)

X = PWL-2S (Шаг 3,96мм)
X = USB micro-B
X = NSW-2S (Шаг 3,96мм)
X1 = PHU-2 (Шаг 3,96мм)
X2 = NSG-2 (Шаг 3,96мм)

Резистор R1 – выводной и установлен со стороны печатных проводников. Его номинал определяет яркость свечения светодиода HL1, индицирующего работу насоса.
Микроконтроллер установлен в панельку DIP-8. В микроконтроллере задействованы все выводы, включая линию сброса PB5 (Reset), сконфигурированную под канал АЦП. Поэтому программировать фьюзы следует только после прошивки flash-памяти. После этой операции обычный программатор этом микроконтроллер уже не увидит. В случае необходимости перепрошивки микроконтроллера можно воспользоваться конструкцией под названием «Atmega fusebit doctor» для сброса фьюзов к заводским настройкам.


Фьюзы МК (программировать в последнюю очередь!):
CKDIV8=1 (выключен внутренний делитель частоты на 8),
CKSEL[1:0] = 11 (Internal 128 kHz Oscillator / 110кГц по Data Sheet при 5В и 25°С)
SUT[1:0] = 10 (Slowly rising power)
BODLEVEL[10]=10 (Ureset<1,8В)
RSTDISBL=0 (External Reset disable) - вывод RESET используется как вход АЦП ADC0
("0"-галочки установлены).
Для удешевления конструкции устройство было собрано в корпусе распределительной коробки Р7 размерами 91х91х50мм.

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

Модуль зарядки установлен разъёмом наружу также на термоклей.
Насос прикреплён к боковой стенке корпуса при помощи кабельных стяжек и термоклея. В регулировочные отверстия потенциометров вставлены пластиковые покупные ручки. Под них изготовлены наклейки со шкалами.

Сборка системы полива заключается в подсоединении к выходу насоса трубки с распределительными краниками, исходя из количества ёмкостей с растениями, и закреплении выходов этих краников на горшках с землёй. На полу ниже уровня контроллера устанавливается ёмкость с водой для полива. В неё опускается конец трубочки, подсоединяемой ко входу насоса.
Настройка системы может потребовать некоторое время, так что лучше сделать это заблаговременно. Установив ручку регулятора времени полива на максимальную отметку в 45 сек, необходимо включить питание, запустить секундомер и одновременно нажать кнопку «Тест» на плате контроллера. Необходимо засечь по секундомеру время, достаточное для увлажнения почвы у растений, и выключить питание для прекращения полива. Это измеренное время и нужно выставить регулятором времени полива по шкале. Также можно отрегулировать краниками объёмы подаваемой воды в разные горшки, если их объёмы отличаются. После этого следует определиться, на какое количество дней хватит вылитого объема воды растениям, после чего установить такое же число вторым регулятором, и не забыть снова включить питание.
В программе предусмотрено, что после нажатия кнопки «Тест» сбрасывается и перезапускается таймер отсчёта дней. При необходимости в тексте программы можно откорректировать пределы регулировок потенциометрами, изменив константы в строках 22…25, и перекомпилировав проект. Прошивка занимает практически всю flash-память микроконтроллера ATtiny13 (99,2%), так что дальнейшее её усовершенствование для него затруднительно.
Потребляемый от аккумулятора ток при работе насоса составляет порядка 0,5…0,6А. При ежедневной работе насоса по 45 сек в день расходуется около (45/3600)*0,6=0,0075 А∙ч от ёмкости аккумулятора. Даже при его ёмкости в 1 А∙ч время полной работы должно составить 1/0,0075=133 дня.
Тем не менее, для подзарядки аккумулятора предусмотрено подключение солнечной батареи мощностью 1,5 Вт и номинальным напряжением 12В. Размеры солнечной батареи 85х115мм. Приобретена она на Aliexpress специально на 12В, чтобы можно было с неё получать 5В при слабом освещении.

Поскольку на плату зарядки аккумулятора подавать более 5 В не следует, солнечная батареи подключается к ней через понижающий преобразователь.

Это покупной модуль MH-MINI-360 - импульсный регулируемый понижающий DC-DC стабилизатор напряжения с высоким КПД (до 96%). Построен модуль на чипе MP2307. Mini-360 способен работать с подаваемым напряжением от 4.75 до 23 В. Благодаря высокой частоте переключения (340 КГц) позволяет получить большой ток в нагрузке (до 1.8А постоянно, до 3А кратковременно). Подстроечным резистором R1 модуля выходное напряжение устанавливается равным 5В. Также, для повышения эффективности работы, рекомендуется сделать небольшую доработку модуля, установив дополнительный диод 1N4148 между его выходом и 1 выводом микросхемы MP2307, как рекомендовано в datasheet.

Модуль изолирован термоусадкой. К выходу подпаян разъём microUSB для подключения к плате зарядки. Такой модуль с солнечной батареей обеспечивает на выходе 5В с током нагрузки до 0,3А. Его можно использовать и для других устройств, например для подзарядки охранной системы на базе мобильного телефона и т.п. Длина соединительных проводов выбирается из расчёта, чтобы саму солнечную батарею расположить отдельно на стекле окна, чтобы не нагревалось подзаряжаемое от него устройство.


Файлы:
Наклейка
Прошивка


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

26 3 4