Датчики влажности - как устроены и работают. Самодельный, стабильный датчик влажности почвы для автоматической поливальной установки Датчик влажности почвы принцип работы

Датчики влажности - как устроены и работают. Самодельный, стабильный датчик влажности почвы для автоматической поливальной установки Датчик влажности почвы принцип работы

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


Пара датчиков приехала за 20 дней в индивидуальных антистатических пакетиках:




Характеристики на сайте продавца:):
Бренд:ZHIPU
Тип: Датчик вибрации
Материал: Смесь
Выход: Коммутирующий датчик

Распаковываем:


Провод имеет длину в районе 1-го метра:


Помимо самого датчика в комплект входит управляющая платка:




Длина сенсоров датчика порядка 4 см:


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




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


Многие знают, что через непродолжительное время его съедает внешняя среда. Эффект влияния коррозии можно немного снизить подавая питание непосредственно перед измерением и отключая, при отсутствии измерений. Но это мало что меняет, вот так выглядел мой через пару месяцев использования:




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

Отложим плату из комплекта в сторону, и займемся самим датчиком. Датчик резистивного типа, меняет свое сопротивление в зависимости от влажности среды. Логично, что без влажной среды сопротивление датчика огромное:


Опустим датчик в стакан с водой и видим, что его сопротивление составит порядка 160 кОм:


Если вынуть, то все вернется в исходное состояние:


Перейдем к испытаниям на земле. В сухой почве видим следующее:


Добавим немного воды:


Еще (примерно литр):


Почти полностью вылил полтора литра:


Долил еще литр и подождал 5 минут:

Плата имеет 4 вывода:
1 + питания
2 земля
3 цифровой выход
4 аналоговый выход
После прозвонки выяснилось, что аналоговый выход и земля напрямую соединены с датчиком, так что, если планируете использовать этот датчик подключая к аналоговому входу, плата не имеет большого смысла. Если нет желания использовать контроллер, то можно использовать цифровой выход, порог срабатывания настраивается потенциометром на плате. Рекомендуемая продавцом схема подключения при использовании цифрового выхода:


При использовании цифрового входа:


Соберем небольшой макет:


Arduino Nano я использовал тут как источник питания, не загружая программу. Цифровой выход подключил к светодиоду. Забавно что светодиоды на плате красный и зеленый горят при любом положении потенциометра и влажности среды датчика, единственное при срабатывании порога, зеленый светит чуть слабже:


Выставив порог получаем, что при достижении заданной влажности на цифровом выходе 0, при недостатки влажности напряжение питания:




Ну раз уж у нас в руках контроллер, то напишем программу для проверки работы аналогового выхода. Аналоговый выход датчика подключим к выводу А1, а светодиод к выводу D9 Arduino Nano.
const int analogInPin = A1; // сенсор const int analogOutPin = 9; // Вывод на светодиод int sensorValue = 0; // считанное значение с сенсора int outputValue = 0; // значение выдаваемое на ШИМ вывод со светодиодом void setup() { Serial.begin(9600); } void loop() { // считываем значение сенсора sensorValue = analogRead(analogInPin); // переводим диапазон возможных значений сесора (400-1023 - установлено экспериметально) // в диапазон ШИМ вывода 0-255 outputValue = map(sensorValue, 400, 1023, 0, 255); // включаем светодиод на заданную яркость analogWrite(analogOutPin, outputValue); // выводим наши цифры Serial.print("sensor = "); Serial.print(sensorValue); Serial.print("\t output = "); Serial.println(outputValue); // задержка delay(2); }
Весь код я прокомментировал, яркость светодиода обратно-пропорциональна влажности детектируемой сенсором. Если необходимо чем-то управлять, то достаточно сравнить полученное значение с определенным экспериментально порогом и, например, включить реле. Единственное, рекомендую обработать несколько значений и использовать среднее для сравнения с порогом, так возможны случайные всплески или спады.
Погружаем датчик и видим:


Вывод контроллера:

Если вынуть то вывод контроллера изменится:

Видео работы данной тестовой сборки:

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

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

Планирую купить +74 Добавить в избранное Обзор понравился +55 +99
Самодельный, стабильный датчик влажности почвы для автоматической поливальной установки

Эта статья возникла в связи с постройкой автоматической поливальной машины для ухода за комнатными растениями. Думаю, что и сама поливальная машина может представлять интерес для самодельщика, но сейчас речь пойдёт о датчике влажности почвы. https://сайт/


Самые интересные ролики на Youtube


Пролог.

Конечно, прежде чем изобретать велосипед, я пробежался по Интернету.

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


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

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


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


Вначале я и вовсе отказался от измерения сопротивления почвы и даже начал сооружать индукционный датчик, так как нашёл в сети промышленный датчик влажности, про который было написано, что он индукционный. Я собирался сравнивать частоту опорного генератора с частотой другого генератора, катушка которого одета на горшок с растением. Но, когда начал макетировать устройство, вдруг вспомнил, как однажды попал под «шаговое напряжение». Это и натолкнуло меня на очередной эксперимент.

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

Собрал простейшую схему и сразу проверил на разных почвах. Результат обнадёжил. Никаких подозрительных поползновений в сторону увеличения или уменьшения сопротивления не обнаружилось даже в течение нескольких суток. Впоследствии, данное предположение удалось подтвердить на действующей поливальной машине, работа которой была основана на подобном принципе.

Электрическая схема порогового датчика влажности почвы.

В результате изысканий появилась эта схема на одной единственной микросхеме. Подойдёт любая из перечисленных микросхем: К176ЛЕ5, К561ЛЕ5 или CD4001A. У нас эти микросхемы продают всего по 6 центов.


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

На элементах DD1.1 и DD1.2 собран задающий генератор, вырабатывающий импульсы с интервалом около 10 секунд. https://сайт/

Конденсаторы C2 и C4 разделительные. Они не пропускают в измерительную цепь постоянный ток, которые генерирует почва.

Резистором R3 устанавливается порог срабатывания, а резистор R8 обеспечивает гистерезис усилителя. Подстроечным резистором R5 устанавливается начальное смещение на входе DD1.3.


Конденсатор C3 – помехозащищающий, а резистор R4 определяет максимальное входное сопротивление измерительной цепи. Оба эти элемента снижают чувствительность датчика, но их отсутствие может привести к ложным срабатываниям.

Не стоит также выбирать напряжение питания микросхемы ниже 12 Вольт, так как это снижает реальную чувствительность прибора из-за уменьшения соотношения сигнал/помеха.


Внимание!

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

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

Нередко в продаже можно встретить такие приспособления, которые устанавливаются на цветочный горшок и следят за уровнем влажности почвы, включая при необходимости насос и поливая растение. Благодаря такому устройству можно будет спокойно уезжать в отпуск на недельку, не боясь, что любимый фикус завянет. Однако цена на такие приспособления неоправданно высока, ведь их устройство предельно простое. Так зачем покупать, если можно сделать самому?

Схема

Предлагаю к сборке схему простого и проверенного датчика влажности почвы, схема которого изображена ниже:

В почку горшка опускаются два металлических прутка, сделать которые можно, например, разогнув скрепку. Их нужно воткнуть в землю на расстоянии примерно 2-3 сантиметра друг от друга. Когда почва сухая, она плохо проводит электрический ток, сопротивление между прутками очень велико. Когда почва влажная – её электропроводность значительно повышается и сопротивление между прутками уменьшается, именно это явление лежит в основе работы схемы.
Резистор 10 кОм и участок почвы между прутками образуют делитель напряжения, выход которого соединён с инвертирующим входом операционного усилителя. Т.е. напряжение на нём зависит лишь от того, насколько увлажнена почва. Если поместить датчик во влажную почву, то напряжение на входе ОУ будет равно примерно 2-3 вольтам. По мере высыхания земли это напряжение будет увеличиваться и достигнет значения 9-10 вольт при совершенно сухой земле (конкретные значения напряжения зависят от типа почвы). Напряжение на неинвертирующем входе ОУ задаётся вручную переменным резистором (10 кОм на схеме, его номинал можно менять в пределах 10-100 кОм) в пределах от 0 до 12-ти вольт. С помощью этого переменного резистора задаётся порог срабатывания датчика. Операционный усилитель в этой схеме работает в качестве компаратора, т.е. он сравнивает напряжения на инвертирующем и неинвертирующем входах. Как только напряжение с инвертирующего входа превысит напряжение с неинвертирующего, на выходе ОУ появится минус питания, загорится светодиод и откроется транзистор. Транзистор, в свою очередь, активирует реле, управляющее водяным насосом или электрическим клапаном. Вода начнёт поступать в горшок, земля вновь станет влажной, её электропроводность увеличиться, и схема отключит подачу воды.
Печатная плата, предлагающаяся к статье, рассчитана на использования сдвоенного операционного усилителя, например, TL072, RC4558, NE5532 или других аналогов, одна его половинка при этом не используется. Транзистор в схеме используется малой или средней мощности и структуры PNP, можно применить, например, КТ814. Его задача – включение и выключение реле, также вместо реле можно применить ключ на полевом транзисторе, как это сделал я. Напряжение питания схемы – 12 вольт.
Скачайте плату:

(cкачиваний: 371)

Сборка датчика влажности почвы

Может случиться такое, что при высыхании почвы реле включается не чётко, а сначала начинает быстро щёлкать, и только после этого устанавливается в открытом состоянии. Это говорит о том, что провода от платы до горшка с растением улавливают сетевые наводки, пагубно влияющие на работу схемы. В таком случае, не помешает заменить провода на экранированные и поставить электролитический конденсатор ёмкостью 4.7 – 10 мкФ параллельно участку почвы, вдобавок к ёмкости 100 нФ, указанной на схеме.
Работа схемы мне очень понравилась, рекомендую к повторению. Фото собранного мной устройства:

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

Если вы сейчас читаете эту статью, то вас, наверное, очень утомляет процесс полива цветов. Ведь цветы - существа нежные, чуть их перельёшь, недовольны, забудешь полить на денёк, так всё, они вот-вот увянут. А сколько цветов в мире погибло лишь от того, что их хозяева уехали в отпуск на недельку, оставив зелёных бедолаг чахнуть в сухом горшке! Страшно представить.

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

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

Схема датчика

Как известно, электропроводимость сухой и влажной почвы отличается довольно значительно, именно этот факт лежит в основе работы датчика. Резистор номиналом 10 кОм и участок почвы между прутками образуют делитель напряжения, их средняя точка подключается напрямую на вход ОУ. На другой вход ОУ напряжение подаётся со средней точки переменного резистора, т.е. его можно настраивать от нуля до напряжения питания. С его помощью выставляется порог переключения компаратора, в роли которого и работает ОУ. Как только напряжение на одном его входе превысит напряжение на другом - на выходе окажется логическая «1», загорится светодиод, транзистор откроется и включит реле. Транзистор можно применить любой, структуры PNP, подходящий по току и напряжению, например, КТ3107 или КТ814. Операционный усилитель TL072 или любой аналогичный, например, RC4558. Параллельно обмотке реле следует поставить маломощный диод, например, 1n4148. Напряжение питания схемы - 12 вольт.

Из-за длинных проводов от горшка до самой платы может возникнуть такая ситуация, что реле переключается не чётко, а начинает щёлкать с частотой переменного тока в сети, и только спустя какое-то время устанавливается в открытом положении. Для устранения этого нехорошего явления следует поставить электролитический конденсатор ёмкостью 10-100 мкФ параллельно датчику. Архив с платой . Удачной сборки! Автор - Дмитрий С.

Обсудить статью СХЕМА ДАТЧИКА ВЛАЖНОСТИ ПОЧВЫ

Наконец я воплощаю эту задумку. Я собираюсь сделать датчик влажности почвы на базе Arduino, с ЖК-дисплеем 16х2, часами реального времени (показывают время даже при отключенном питании), датчиком температуры и SD-картой (дата-логгером).

Он может быть полезен в биотехнологических/ биологических/ ботанических проектах или проектах по сохранению растительности.

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

Сделать зонды более долговечными можно путем пускания тока на короткий промежуток времени (дважды за 30 миллисекунд в моем случае) и оставлять их отключенными на определенное время (например, 1 800 000 миллисекунд = (30x60x1000) = 30 минут). Чтобы задать это значение, нужно изменить задержку в самом конце файла «project.ino».

Раз у нас имеется датчик, проводящий измерения каждые Х миллисекунд, нам нужно установить предельные значения. Значения будут меняться от пиковых 1000 до средних 400, чем ниже значение, тем ниже сопротивление. Так как зонды измеряют сопротивление между двумя штырями, нужно взять значение 400, или близкое к нему, за 100%-ную влажность. А большее значение сопротивления, 1000 или выше, за уровень влажности 0%. Значит, нам нужно установить соответствие значений 1000 – 400 как 0 – 100%.

Ниже мы рассмотрим, как это сделать своими руками.

Шаг 1: Собираем все необходимые материалы


Вам понадобятся:

  • Arduino Uno (например)
  • часы реального времени DS3231 с батарейкой
  • MicroSD + SD адаптер или SD-карта
  • SD-модуль
  • ЖК-дисплей 16х2
  • датчик уровня влажности почвы YL-69
  • провода
  • потенциометр, я использовал на 47 кОм, но лишь потому, что не нашел на 10 или 20 кОм в своей коллекции
  • макетная плата

Все эти компоненты вполне доступны и совсем недороги.

Шаг 2: Соединяем компоненты



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

ЖК-дисплей

На схеме и на картинке показано корректное подключение дисплея (с названиями выводов).

Схема подключения:

  1. VSS Ground, рельса GND на макетной плате
  2. VDD рельса +5V на макетной плате
  3. V0 средний штырек потенциометра (регулируемый вывод)
  4. RS пин 10 на плате Arduino
  5. RW земля, рельса GND на макетной плате
  6. E пин 9 на плате Arduino
  7. D0 оставляем не соединенным
  8. D1 оставляем не соединенным
  9. D2 оставляем не соединенным
  10. D3 оставляем не соединенным
  11. D4 пин 7 на плате Arduino
  12. D5 пин 6 на плате Arduino
  13. D6 пин 5на плате Arduino
  14. D7 пин 3на плате Arduino
  15. A рельса +5V на макетной плате
  16. K земля, рельса GND на макетной плате

Модуль SD-карты

Схема подключения:

  1. GND GND на макетной плате
  2. +5V рельса +5V на макетной плате
  3. CS пин 4 на плате Arduino
  4. MOSI пин 11 на плате Arduino
  5. SCK пин 13на плате Arduino
  6. MISO пин 12 на плате Arduino

Датчик YL-69

Мы будем подключать только три вывода:

  1. VCC пин 2 на плате Arduino
  2. GND рельса GND земли на макетной плате
  3. A0 аналоговый вывод A0

Вывод D0 мы использовать не будем, это цифровой вывод, в нашем проекте он не нужен.

Часы реального времени DS 3231 с батарейкой

Батарейка нужна, чтобы часы продолжали работу, когда отключены от сети. Мы будем использовать следующие выводы:

  1. SCL SCL на плате Arduino
  2. SDA SCA на плате Arduino
  3. VCC рельса +5V на макетной плате
  4. GND рельса GND на макетной плате

Потенциометр

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

Шаг 3: Устанавливаем время

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

Если установочного файла нет, вы можете загрузить его из интернета.
Далее загрузите скетч «исправить/правка» и измените следующие значения:
«ДатаВремя» (2011, 11, 10, 15, 18, 0, 5)
в следующем порядке:
год, месяц, число, час, минуты, секунды и день недели (от 0 до 6)
установите текущие значения.
Установка времени завершена.

Шаг 4: Код

После того, как все соединения сделаны, нужен код.
Поэтому я сделал отдельный файл со скетчем и просто огромным количеством подробных комментариев в каждой секции действий. Так как в часах реального времени DS3231 есть функция измерения температуры, я решил использовать и ее.
Вам нужно установить еще одну библиотеку, «DS3231.rar».

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

Важная часть кода – строки, которые обозначаются тремя буквами в правом нижнем углу дисплея:

  • «I» от «initialized», значит, что SD-карта присутствует
  • «E» от «Error», значит, что SD-карта отсутствует
  • «F» от «False», «Ложь», значит, что файл недоступен, хотя карта присутствует

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

Файлы

Шаг 5: Выбор источника питания

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

Вы можете использовать:

  • стандартный блок питания
  • 9В аккумулятор с проводным подключением/с проводами для подключения

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

Можно использовать маленькую хитрость – погасить дисплей, если он в данный момент не нужен. Для этого используйте/посмотрите/прочитайте сокращенный код, чтобы понять, как погасить дисплей. Я этого не делал, так как решил, что мне это не нужно. Возможно, такая опция нужна в портативной версии измерителя, я же собрал стационарный.

Шаг 6: Выбор SD-карты

Оказалось, что не все SD-карты работают с моим SD-модулем.

Исходя из своего жизненного опыта, я могу с уверенностью ответить на два вопроса:

  1. А они все подходят для измерителя? – нет, не все. Некоторые просто не взаимодействуют с определенным модулем. Оказалось, что все карты, не взаимодействующие с моим модулем, стандарта SDHC. Стандартные и микро-SD карты работают нормально, другие не работают совсем или работают только для чтения (данные не записываются) и настройки даты и времени слетают при каждом отсоединении карты от модуля.
  2. Есть разница в использовании SD-карты или микро SD-карты с адаптером? – нет, работают одинаково.

На этом я завершаю свое руководство по этому проекту.

Шаг 7: Продолжаем!

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

Шаг 8: Экспериментальная печатная плата (не завершено, может не работать)



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