Система полива.
- Войдите на сайт для отправки комментариев
День добрый форумчане.
Попинайте мой первый проект (с точки зрения защиты цепей от помех и прочее...). Хочется по максимуму устранить замечания до воплащения в железе ...
В схемотехнике дилетант (программер по образованию).
Модульная система полива. Один модуль - управление двумя каналами полива (всего продполагается 3 модуля по 2 канала).
Состав:
1) Ардуино Нано.
2) Электромеханический клапан (2 штуки) 12В, управление по CR02 (уже приобретены)
3) Датчики влажности (по 2 штуки на канал)
4) Датчик температуры (скорее всего цифровой) 1 штука на канал
5) Датчик потока воды (1 штука на канал)
6) Модуль сопряжения по шине RS485 (будет отдельный модуль управления по расписанию и кнопочное управление)
Уже нашел у себя ошибку, Токоограничивающие резисторы на светодиодах R3-R4-R5, надо заменить на 600-750Ом.
Жаль что Электроклапаны заказал до того как начал разбираться с возможностями управления. Проще было бы управлять нулем на них, чем +12В. Вместо UDN2981 использовать ULN2003.
Попробую на выходных собрать все это дело на макетной плате.
Приложенная картинка не открывается.
Сам делаю аналогичную конструкцию, правда я делаю систему полива для комнатных растений.
Для чего RS485? Я планировал управление по i2c.
Какие датчики влажности планируете использовать? Я изначально планировал подлключать датчики к аналоговым входам Ардуино. Тогда можно на 1 ардуино повесить до 6 датчиков + 6 клапанов. Но у меня длина провода до датчка будет около 2м. Вероятно придется использовать цифровые датчики.
Так как источник воды - проточный питьевой фильтр, то клапаны выбрал такие -
http://s.aliexpress.com/aeeMRjIR
Схему выложил на
RS485 - как основной интерфейс объединения модулей. (он будет не один, а как один из модулей "умного дома")
Этот модуль как заготовка на управление 2 каналами полива, всего по плану 5 каналов. Будет дополнительный модуль диспетчеризации, и еще один ручного управления.
Датчики - два металлических штыря, удаленность от модуля до 20 метров, планирую подать 12в и снимать с них показания. Предварительно откалибровать с помощью подстроечного резистора. Думаю что надо дополнять схему защитой от случайного повышенного напряжения ... пока изучаю эту тему. Подача напряжения только на время снятия показаний (раз в 5-10 минут). Так же думаю оставить возможность подключения и цифровых датчиков.
С клапанами смотри те, что могут управляться нулем а не напряжением, проще и дешевле схема управления.
А цифровые датчики измерения влажности почвы подбирали?
С такими проще, так как полив не продолжительный по времени. В моем случае капельный полив теплицы грядок ... может занимать часы. Поэтому не решился на электромагнитные клапаны. Остановил свой выбор на электромеханическом.
RS485 позволяет организовать упрваление одной ардуиной несколькими другими? Сам сейчас в роцессе выбора, важный вопрос для меня )))
Берите лучше нержавейку, железные штыри быстро окислятся. Еще мне рекомендовали угольные или титановые штыри, но для Вашего проекта это, наверное, не применимо.
12 вольт на них подавать для снижения помех? Читал, что при длине провода более 50 см аналоговые датчики плохо работают.
Цифровые датчики заказал такие - https://ru.aliexpress.com/item/Smart-Electronics-Soil-Moisture-Hygrometer-Detection-Humidity-Sensor-Module-For-arduino-Development-Board-DIY-Robot-Smart/32560865225.html?spm=2114.13010608.0.0.ESPlHw
Сами контакты заказыл отдельно, с позолоченными контактами. Посмотрим, сколько там зоолота и надолго ли его хватит )))
В моем случае удобнее и надежнее нормально закрытые дачтики. Или я неправильно Вас понял?
Понравилась Ваша идея управлять клапанами при помощи транзисторов! Я для этого реле хотел задействовать )))
У меня клапаны 5 вольтовые. Не подскажите, какие транзисторы можно использовать (с запасом по мощности). Обвязки дополнительной они же не потребуют? Схема подключения будет такой же, как и реле?
Ваша схема у меня открывается только в очень низком разрешении, не могу разглядеть детали.
Что за плата с большим количеством выводов правее и ниже ардуино?
RS485 позволяет организовать упрваление одной ардуиной несколькими другими? Сам сейчас в роцессе выбора, важный вопрос для меня )))
Берите лучше нержавейку, железные штыри быстро окислятся. Еще мне рекомендовали угольные или титановые штыри, но для Вашего проекта это, наверное, не применимо.
12 вольт на них подавать для снижения помех? Читал, что при длине провода более 50 см аналоговые датчики плохо работают.
Цифровые датчики заказал такие - https://ru.aliexpress.com/item/Smart-Electronics-Soil-Moisture-Hygrometer-Detection-Humidity-Sensor-Module-For-arduino-Development-Board-DIY-Robot-Smart/32560865225.html?spm=2114.13010608.0.0.ESPlHw
Сами контакты заказыл отдельно, с позолоченными контактами. Посмотрим, сколько там зоолота и надолго ли его хватит )))
В моем случае удобнее и надежнее нормально закрытые дачтики. Или я неправильно Вас понял?
RS-485 один из возможных интерфейсов обмена информации между модулями. По моему один из самых помехозащищенных. А дальше уже дело в протоколе обмена информацией между модулями.
Датчики влажности такие же как и вы привели )) стоят копейки (на сезон хватит да и ладно), по сути я хотел оставить от них только штыри и снимать с них подение напряжения. Если будут проблемы с помехами тогда придется использовать и цифровую часть, к сожалению там только срабатывание по нижней (настраиваемой) границе влажности, а когда достигается высокий уровень сигнала нет. Вообщем будем пробовать.
Да, нормально закрытые - это ваш случай + плюс надежность в случае отключения электричества (перекроются сами). Управлять лучше нулем через микруху UNL2003 (7 канало по 500мА на канал, НО там надо смотреть общую нагрузку ... есть ограничение), выходу МК сразу на входу UNL на нее питание а с нее соединяем землю (или ноль) клапана, +12В на клапан подаем постоянно. Плюс все равно надо мне кажется защиту от всплесков ... вот тут уже не спец (((
Картинку сжало, выложил на внешнем облаке.
https://cloud.mail.ru/public/14Zj/rd5MGSxpV
Внизу микросхема драйвер для управления +12В, а не нулем.
У меня клапаны 5 вольтовые. Не подскажите, какие транзисторы можно использовать (с запасом по мощности). Обвязки дополнительной они же не потребуют? Схема подключения будет такой же, как и реле?
Недавно наткнулся на картинку на этом форуме http://arduino.ru/forum/apparatnye-voprosy/tranzistor-ili-rele-nuzhen-sovet, самый последний пост - по подключению нагрузок.
По поводу RS-485 я не знал, что он использует общюю шину и может объединять группу устройств. Был уверен, что это интерфейс общения только между двумя устройствами на большом расстоянии. Теперь тоже буду думать в этом направлении ))) Под него можно будет задействовать пины на Ардуино TX и RX.
С другой стороны, если датчики будут цифровыми, то цифровые пины у меня в дефиците. В этом случае протокол i2c предпочтительней, так как он задействует аналоговые пины Ардуино.
Детально не знаком ни с одним из протоколов, так что все равно с каким разбираться ) Только выбрать бы правильно...
Когда вы писали про штыри, я решил, что Вы хотите сделать их самостоятельно. Где-то такое видел. Там действительно штыри были, сантиметров по 50 длиной.
Что бы цифровой датчик давал информацию детально, он должен быть с АЦП? Вроде бы таких не встречал... Но было бы крайне желательно...
Нашел готовые модули на UNL2003 - https://ru.aliexpress.com/item/New-product-ULN2003-Stepper-Motor-Driver-Board-Test-Module-For-Arduino-AVR-SMD/32574140193.html?spm=2114.03010208.3.50.mZwuAW&ws_ab_test=searchweb0_0,searchweb201602_6_10065_10068_433_434_10136_10137_10138_10060_10062_10141_10056_10140_10055_10054_128_10059_10099_10103_10102_10101_10096_10052_10053_10050_10107_10051_10106_10084_10117_10083_10119_10080_10082_10081_10110_10111_10112_10113_10114_10078_10079_10073_10070_10122_10123_10120_10126_10127_10124_10125-10053_10113_10120,searchweb201603_4,afswitch_1_afChannel,ppcSwitch_5,single_sort_0_total_tranpro_desc&btsid=2e2dca49-ccc4-4473-92d1-b779434de17e&algo_expid=749c4bd0-5366-48b6-8929-b99c61b31a33-5&algo_pvid=749c4bd0-5366-48b6-8929-b99c61b31a33
обвязка там какая-то минимальная есть. Просто микросхемой не обойтись похоже.
С клапанами, я ошибся. Они на 12В. Такие оказались дешевле, чем на 5В. Сколько они потребляют во время работы - не знаю, на Али нет такой информации. Но думаю меньше 500мА.
А какой ограничение на общую нагрузку? Можно запускать полив только по очереди, не допуская одновременной работы 2-х каналов.
Защиту от всплесков должен блок питания обеспечивать, наверное?
Ссылка на тему в этом форуме не работает.
По поводу RS-485 я не знал, что он использует общюю шину и может объединять группу устройств. Был уверен, что это интерфейс общения только между двумя устройствами на большом расстоянии. Теперь тоже буду думать в этом направлении ))) Под него можно будет задействовать пины на Ардуино TX и RX.
RS-485 - Насколько я понял он потребует 4 пина для работы ))
обвязка там какая-то минимальная есть. Просто микросхемой не обойтись похоже.
Далеко не факт ))
Ссылка на тему в этом форуме не работает.
Попробую так
http://arduino.ru/forum/apparatnye-voprosy/tranzistor-ili-rele-nuzhen-sovet
RS-485 - 2 пина + GND + VCC, разве нет?
Расширетель портов это кртуо! )))) Но как с ним работать (программировать)? Как определить номер нового порта, что бы считывать с него сигнал или наоборот подавать на него сигнал?
Я так понял их можно масштабировать?
Всплески напряжения от 220 ожидаете? В каких пределах?
RS-485 - 2 пина + GND + VCC, разве нет?
Напрямую к МК не подключить, требуется интефейс
https://ru.aliexpress.com/item/5PCS-MAX485-RS-485-Module-TTL-to-RS-485-module-Raspberry-pi/32579369267.html?spm=2114.13010608.0.0.IsAWuN
Я так понял их можно масштабировать?
Всплески напряжения от 220 ожидаете? В каких пределах?
220 нет, так как все это будет питать стабилизированный источник питания с акумом. Но при работе таких нагрузок как индуктивность или электромотор (таже индуктивность) от них могут идти обратные всплески по линиям питания (( Насколько я понял надо ставить диоды для защиты цепи питания от обратного напряжения. И токоограничивающие резисторы для защиты по току.
Сам я пока нубяра в технических вопросах ))) Это мой первый проект. Так что могу ошибаться в этих вопросах ))
Ну и надо вешать конденсаторы для сглаживания помех ... вот только куда и какие??? Аааа подскажите профи ...
Добавл в схему защиту входов от датчиков влажности ... нет уверенности в правильности схемы и расчета регистра
https://cloud.mail.ru/public/Dfg3/GUhoWLgPj
Небольшой урок по 485 протоколу
https://lesson.iarduino.ru/page/urok-26-2-soedinyaem-dve-arduino-po-standartu-rs485/
Разработать протокол обмена и его реализовать та еще задачка, но это изобретать велосипед, стоит поискать готовые решения, думаю такие найдутся.
У вас не осталась ссылки на эту хорошую статью по прерываниям? )))
Применимость каким модулем Вы имеете ввиду? И применимость чего? Можно ли подружить цифровой датчик и расширитель портов?
Почему при управлнии нулем можно пропустить больший ток?
По поводу защиты от всплеска питания я еще больший нуб ) Но в даташите по вашей микросхеме видел, что защита уже стоит. Ее недостаточно?
Защита входов от датчиков влажности почвы? Я так понял, защита от прихода минуса вместо плюса? Но как он может от земли придти?
У вас не осталась ссылки на эту хорошую статью по прерываниям? )))
Дома ссылка где то должна сохранится, на работе лень уже искать.
Применимость каким модулем Вы имеете ввиду? И применимость чего? Можно ли подружить цифровой датчик и расширитель портов?
Почему при управлнии нулем можно пропустить больший ток?
По ссылке на ветку с этого форму (там где картинка подключение нагрузок) - подключение нагрузки через MOSFET транзистор, вот он пропускает большой ток, но только на землю, то есть открывает для нагрузки землю, а не подает напряжение на нагрузку. Как то так ))
Защита входов от датчиков влажности почвы? Я так понял, защита от прихода минуса вместо плюса? Но как он может от земли придти?
Здесь имеется ввиду защита от высокого напряжения (лопатой ткнули по датчику влажности - КЗ, на вход МК пошли не +5В которые я отрегулировал вначале а все 10 - вход МК считай что сгорел (( Смотрю в сторону схем с стабилитроном, но там мне непонятна ситуация когда на входе напряжение ниже напряжения стабилизации - как себя ведет стабилитрон? Какое напряжение будет на выходе - то же что и на входе? Вообщем прикуплю деталек завтра, попробую поэкспрементировать в выходе если время будет ...
Таки нашел статью http://we.easyelectronics.ru/part/i2c-rasshiritel-portov-pcf8574.html
Если датчик цифровой, то для защиты можно поставить оптрон.
За ссылки спаибо огромное! )))
Стабилитрон до напряжения срабатвания обладает большим сопротивлением. Токи через него минимальные, на напряжение он влиять не должен.
Интерсено, а витая пара и RJ-45 выдержат, если на них питание датчиков и клапанов повесить? )
Было бы очень удобно ))) Не придумал пока другого коннектора.
Интерсено, а витая пара и RJ-45 выдержат, если на них питание датчиков и клапанов повесить? )
Было бы очень удобно ))) Не придумал пока другого коннектора.
Смотри стандарт PoE питание через ethernet. Какой ток нагрузки оговорен.
Увы! При передаче по паре проводников, до 0.4А.
Для датчиков хватит тока и на 1 проводе, а вот питание клапанов придется вести другим проводом.
Ну что же. Можно сделать так:
1 RJ45 - 6 датчиков, VCC, GND.
2 RJ45 - управляющий сигнал на 6 клапанов и питание датчиков. VCC и GND общие с датчиками.
3 питание клапанов по 2 м проводам.
Увы! При передаче по паре проводников, до 0.4А.
Для датчиков хватит тока и на 1 проводе, а вот питание клапанов придется вести другим проводом.
Ну что же. Можно сделать так:
1 RJ45 - 6 датчиков, VCC, GND.
2 RJ45 - управляющий сигнал на 6 клапанов и питание датчиков. VCC и GND общие с датчиками.
3 питание клапанов по 2 м проводам.
еще статейка интересная по нагрузкам http://cxem.net/arduino/arduino11.php
Для датчиков - вместо штатных штырей берем нержавеющие шампуры. Направление тока менять как понял не будете, для достоверности показаний, раз дней в десять вынуть-воткнуть.
Если имеете 12В, то реально использовать МОSFEТы - N-канальный коммутирует 0 (очень просто), P-канальный + (нужна обвязка).
Стабилитрон включается с ограничивающим резистором (лучше до Вашего потенциометра), номинал резистора выбирается из расчета - не превысить максимально допустимый ток стабилитрона, но и не быть необоснованно завышенным. Присутствие начинает сказываться вблизи напряжения стабилизации и выше. На 5,1 вольта будет самое то. Для защиты входов существуют еще TVS диоды (сам пока не юзал).
Спасибо за участие ))).
Для датчиков - вместо штатных штырей берем нержавеющие шампуры. Направление тока менять как понял не будете, для достоверности показаний, раз дней в десять вынуть-воткнуть.
Ок. Примем к сведению, будем эксперементировать ))
Стабилитрон включается с ограничивающим резистором (лучше до Вашего потенциометра),
Не соглашусь, потенциометр - делитель напряжения, за счет него я две функции выполняю 1) подстраиваю датчик до эталонного значения (скажем 4в при 100влажности) и уменьшаю напряжение в рамках допустимых для контроллера. Стабилизатор - как дополнительная защита от КЗ на датчике или резкого уменьшения сопративления по каким либо причинам.
Если включить стаб до потенциометра - я им просто обрежу рабочий диапазон датчика.
номинал резистора выбирается из расчета - не превысить максимально допустимый ток стабилитрона, но и не быть необоснованно завышенным. Присутствие начинает сказываться вблизи напряжения стабилизации и выше. На 5,1 вольта будет самое то. Для защиты входов существуют еще TVS диоды (сам пока не юзал).
Берем стабилитрон ZMM55 C4V7 на 4,7В на 0,5Вт Макс ток 85мА (http://www.orion43.ru/pdf/1762.pdf). По схеме максимальный ток ограничен резистором 400 Ом = 12/400 = 30мА, принимаем его за ток стабилизации?
Rстаб = (12-4,7)/0,03 = 243 Ом. Мощность = (12-4,7)*0,03 = 0,219 Вт, берем резистор из линейки 0,25Вт.
Правильный расчет?
Итоговая схема такая
Стабик начинает работать от минимального тока стабилизации, обычно >=1мА. При потенциометре в 100К, Вы его никак не получите. Тогда наверно проще цепочку диодов, чтобы напряжение открытия было немного выше рабочего.
Стабик начинает работать от минимального тока стабилизации, обычно >=1мА. При потенциометре в 100К, Вы его никак не получите. Тогда наверно проще цепочку диодов, чтобы напряжение открытия было немного выше рабочего.
Номинал потенциометра можно уменьшить, главное чтобы он выполнял свои функции, 100кОм - често взято с потолка, на тестах я его использовал как переменный резистор для калибровки, а если использовать как делитель напряжения - то номинал можно уменьшить. Можно вообще поставить 100 Ом
А я тут подумал, а вобще ЗАЧЕМ тут стабилитрон? Делителя напряжения будет достаточно. Даже если коротнуть датчик на входе будет просто 12В, токоограничивающий резистор на питании защитить от КЗ. Максимально рабочее напряжение датчика меньше 12 В, где то порядка 9-10В. Отследить и просигнализировать о ЧП тоже смогу. Все убираю из схемы стабилитрон.
Вопрос по номиналу потенциометра, мощность 0,5Вт, Номинал получается можно брать и 100 Ом?
Хотя схему лучше переделать, для безопасности, на обычне резисторы плюс в одно плечо подстроечный резистор.
В принципе, подобрать делитель, чтобы при попадании 12В на пин приходило не более 5В. Суммарный номинал делителя надо смотреть по датчику, слишком малый приведет к занижению показаний. Т.к. его позиционируют под ардуино, возможно 100К и нормально.
еще статейка интересная по нагрузкам http://cxem.net/arduino/arduino11.php
Спасибо!
После прочтения этих и других статей, решил отказаться от первоначальной идеи делать все в 2-х корпусах - в одном ардуино и экран, во втором клапаны и управление их питанием. В случае протечки ардуино было на удалении от его источника.
Теперь будет все рядом, провода минимальной длины. Экрна вообще уберу. Будет управление с ESP-07, подключенной по RS-485. Так же ЕСП подключу к Blink (или аналог).
Даже если не будет протечки, возможен конденсат на клапанах. Размещать все в одном корпусе с ардуино нежелательно. Поэтому 2 корпуса (или один с перегородкой) поставлю на общее основание.
А сколько интересно максимально допустимое напряжение на аналоговом входе ардуино? и какой ток ...
https://www.arduino.cc/en/Main/ArduinoBoardNano
7-12 Вольт - напряжение питания контроллера ))
А какое допустимое напряжение на цифровом или аналоговом входах?
Я так понял, что здесь 7-12 относится ко входам:
На контроллере два входа питания
1) или через +5В стабилизированное
2) или через вход Vin от 7 до 12 вольт - контроллер сам стабилизирует питание
Если этот параметр описывал вход - то диапазон напряжений будет от 0 до 12 Вольт ))
еще статейка по защите входов http://chipenable.ru/index.php/how-connection/item/97-zaschita-mikroshem-ot-esd-i-perenapryazheniy.html
ааа мозК начинает плавится от недостатка знаний ))
На контроллере два входа питания
1) или через +5В стабилизированное
2) или через вход Vin от 7 до 12 вольт - контроллер сам стабилизирует питание
Если этот параметр описывал вход - то диапазон напряжений будет от 0 до 12 Вольт ))
Да, наверное Вы правы...
Тогда, если рассуждать логически, на входы можно подавать максимум 5В стабилизированного напряжения.
Ну и максимум 40мА
Вы с цифровыми датчиками ничего больше не нашли? Не нравится мне вариант когда датчик дает только 1 или 0. Но боюсь, что с аналоговыми датчиками могут быть проблемы...
Было бы удобно, как с датчиком температуры DS18B20. Вход цифровой + есть библиотека.
Напряжение на аналоговых и цифровых входах для Вас <= Vпит МК, не путать с поданным на стабилизатор (7-12В).
Выходной ток <=40мА на один пин или <=200мА на корпус. Входной ток зависит от входного сопротивления и составляет мкА.
Открою страшный секрет, практически все датчики аналоговые, искючение составляет выключатель, он по сути цифровой.))))
В выходные провел тест по стабилизации напряжения на входе микроконтролера, с подключением схемы за делителем напряжения (защита от дурака при неправильном подключении датчиков). Использовал стабилитрон BZV55CV47 судя по указанным характеристкам макс ток стабилизации 8,5 мА. Балластный резистор был 250 Ом (но это неправильный расчет, насколько я понял правильный будет R = (12-4.7)/0.0085 =860 Ом). Стабилизация работает )). Правда эта стабилизации нелинейно искажет входные показания в заданном диапазоне измерений, но думаю для поставленной задачи это не особо критично.
Так же по результатам опыта заменил делитель напряжения с 100 кОм на 1 кОм.
Немного потестировал амперметр-вольтметр с алиэкспресса https://ru.aliexpress.com/item/DC-0-100V-10A-Digital-Voltmeter-Ammeter-Dual-Display-Voltage-Detector-Current-Meter-Panel-Amp-Volt/32783104742.html?spm=2114.13010608.0.0.MyBPxq . Амперметр просто убил, до 0,5А он вообще ничего не хочет показывать ((
Что то мне подсказывает, что стабилитрон подключен неправильно. Если все процитированное вами верно, то это стаб. на напряжение 47В!!! Для 4,7В обозначение 4V7 на конце. 47 вольтовый стабилитрон в вашей схеме не должен реагировать вообще никак, а значит вы его врубили в режиме диода (анод к плюсу) и получили доплнительный нелинейный резистор в нижнем плече.
Что то мне подсказывает, что стабилитрон подключен неправильно. Если все процитированное вами верно, то это стаб. на напряжение 47В!!! Для 4,7В обозначение 4V7 на конце. 47 вольтовый стабилитрон в вашей схеме не должен реагировать вообще никак, а значит вы его врубили в режиме диода (анод к плюсу) и получили доплнительный нелинейный резистор в нижнем плече.
Упс, щас проверю маркировку 4.7V 0.5W (BZX55-C4V7) DO-35 = BZX79-C4V7, такс значит неправильно нашел характеристку, пошел искать снова (((
Максимальный ток стабилизации 85мА, (12-4.7)/0.085 =86 Ом резистор надо значит
Вы не забывайте про резистор образуемый верхним плечем потенциометра.
Вы не забывайте про резистор образуемый верхним плечем потенциометра.
хмм, если использовать 1кОм потенциометр ... верхнее плечо там будет в любом случае больше 200-300 Ом, получается дополнительный резистор не нужен.
P.S. Огромное спасибо за оказываемые консультации )).
Вы с цифровыми датчиками ничего больше не нашли? Не нравится мне вариант когда датчик дает только 1 или 0. Но боюсь, что с аналоговыми датчиками могут быть проблемы...
Было бы удобно, как с датчиком температуры DS18B20. Вход цифровой + есть библиотека.
не искал, как вариант ... собирать такой самому на каком нибудь Atiny13. )), у него на борту есть АЦП, к нему датчик (два штыря), и протокол обмена по типу DS18B20.