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


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

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

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

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

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

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

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

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

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


Пара датчиков приехала за 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 Вольт, так как это снижает реальную чувствительность прибора из-за уменьшения соотношения сигнал/помеха.


Внимание!

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

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

Соединяем Arduino с датчиком влажности почвы FC-28, чтобы определить, когда ваша почва под растениями нуждается в воде.

В этой статье мы собираемся использовать датчик влажности почвы FC-28 с Ардуино. Этот датчик измеряет объемное содержание воды в почве и дает нам уровень влаги. Датчик дает нам на выходе аналоговые и цифровые данное. Мы собираемся подключить его в обоих режимах.

Как работает датчик почвы FC-28?

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

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

Датчик FC-28 можно соединить в аналоговом и цифровом режимах. Сначала мы подключим его в аналоговом режиме, а затем в цифровом.

Спецификация

Спецификации датчика влажности почвы FC-28:

  • входное напряжение: 3.3–5V
  • выходное напряжение: 0–4.2V
  • входной ток: 35mA
  • выходной сигнал: аналоговый и цифровой

Распиновка

Датчик влажности почвы FC-28 имеет четыре контакта:

  • VCC: питание
  • A0: аналоговый выход
  • D0: цифровой выход
  • GND: земля

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

Аналоговый режим

Для подключения датчика в аналоговом режиме нам потребуется использовать аналоговый выход датчика. Датчик влажности почвы FC-28 принимает аналоговые выходные значения от 0 до 1023.

Влажность измеряется в процентах, поэтому мы сопоставим эти значения от 0 до 100, а затем покажем их на последовательном мониторе (serial monitor). Вы можете установить различные значения влаги и повернуть водяную помпу "включено-выключено" согласно этим значениям.

Электрическая схема

Подключите датчик влажности почвы FC-28 к Ардуино следующим образом:

  • VCC FC-28 → 5V Arduino
  • GND FC-28 → GND Arduino
  • A0 FC-28 → A0 Arduino

Код для аналогового выхода

Для аналогового выхода мы пишем такой код:

Int sensor_pin = A0; int output_value ; void setup() { Serial.begin(9600); Serial.println("Reading From the Sensor ..."); delay(2000); } void loop() { output_value= analogRead(sensor_pin); output_value = map(output_value,550,0,0,100); Serial.print("Mositure: "); Serial.print(output_value); Serial.println("%"); delay(1000); }

Объяснение кода

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

Int sensor_pin = A0; int output_value ;

В функции setup, команда Serial.begin(9600) поможет в общении между Arduino и серийным монитором. После этого, мы напечатаем "Reading From the Sensor ...” (англ. - считываем с датчика) на обычном дисплее.

Void setup() { Serial.begin(9600); Serial.println("Reading From the Sensor ..."); delay(2000); }

В функции цикла, мы прочитаем значение от аналогового выхода датчика и сохраним значение в переменной output_value . Затем мы сопоставим выходные значения с 0-100, потому что влажность измеряется в процентах. Когда мы брали показания с сухого грунта, значение датчика было 550, а во влажном грунте значение датчика было 10. Мы сопоставили эти значения, чтобы получить значение влаги. После этого мы напечатали эти значения на последовательном мониторе.

Void loop() { output_value= analogRead(sensor_pin); output_value = map(output_value,550,10,0,100); Serial.print("Mositure: "); Serial.print(output_value); Serial.println("%"); delay(1000); }

Цифровой режим

Для подключения датчика влажности почвы FC-28 в цифровом режиме мы подключим цифровой выход датчика к цифровому контакту Arduino.

Модуль датчика содержит потенциометр, который использован для того чтобы установить пороговое значение. Пороговое значение после этого сравнивается со значением выхода датчика используя компаратор LM393, который помещен на модуле датчика FC-28. Компаратор LM393 сравнивает значение выхода датчика и пороговое значение, и после этого дает нам выходное значение через цифровой вывод.

Когда значение датчика больше чем пороговое значение, цифровой выход передаст нам 5В, и загорится светодиод датчика. В противном случае, когда значение датчика будет меньше чем это пороговое значение на цифровой вывод передастся 0В и светодиод не загорится.

Электрическая схема

Соединения для датчика влажности почвы FC-28 и Ардуино в цифровом режиме следующие:

  • VCC FC-28 → 5V Arduino
  • GND FC-28 → GND Arduino
  • D0 FC-28 → Пин 12 Arduino
  • Светодиод положительный → Вывод 13 Ардуино
  • Светодиод минус → GND Ардуино

Код для цифрового режима

Код для цифрового режима ниже:

Int led_pin =13; int sensor_pin =8; void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin) == HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); delay(1000); } }

Объяснение кода

Прежде всего, мы инициализировали 2 переменные для соединения вывода светодиода и цифрового вывода датчика.

Int led_pin = 13; int sensor_pin = 8;

В функции setup мы объявляем пин светодиода как пин выхода, потому что мы включим светодиод через него. Мы объявили пин датчика как входной пин, потому как Ардуино будет принимать значения от датчика через этот вывод.

Void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); }

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

Void loop() { if(digitalRead(sensor_pin) == HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); delay(1000); } }

На этом вводный урок по работе с датчиком FC-28 для Ардуино мы завершаем. Успешных вам проектов.

Датчик влажности почвы Arduino предназначен для определения влажности земли, в которую он погружен. Он позволяет узнать о недостаточном или избыточном поливе ваших домашних или садовых растений. Подключение данного модуля к контроллеру позволяет автоматизировать процесс полива ваших растений, огорода или плантации (своего рода "умный полив").

Модуль состоит из двух частей: контактного щупа YL-69 и датчика YL-38, в комплекте идут провода для подключения.. Между двумя электродами щупа YL-69 создаётся небольшое напряжение. Если почва сухая, сопротивление велико и ток будет меньше. Если земля влажная - сопротивление меньше, ток - чуть больше. По итоговому аналоговому сигналу можно судить о степени влажности. Щуп YL-69 соединен с датчиком YL-38 по двум проводам. Кроме контактов соединения с щупом, датчик YL-38 имеет четыре контакта для подключения к контроллеру.

  • Vcc – питание датчика;
  • GND – земля;
  • A0 - аналоговое значение;
  • D0 – цифровое значение уровня влажности.
Датчик YL-38 построен на основе компаратора LM393, который выдает напряжение на выход D0 по принципу: влажная почва – низкий логический уровень, сухая почва – высокий логический уровень. Уровень определяется пороговым значением, которое можно регулировать с помощью потенциометра. На вывод A0 подается аналоговое значение, которое можно передавать в контроллер для дальнейшей обработки, анализа и принятия решений. Датчик YL-38 имеет два светодиода, сигнализирующих о наличие поступающего на датчик питания и уровня цифрового сигналы на выходе D0. Наличие цифрового вывода D0 и светодиода уровня D0 позволяет использовать модуль автономно, без подключения к контроллеру.

Технические характеристики модуля

  • Напряжение питания: 3.3-5 В;
  • Ток потребления 35 мА;
  • Выход: цифровой и аналоговый;
  • Размер модуля: 16×30 мм;
  • Размер щупа: 20×60 мм;
  • Общий вес: 7.5 г.

Пример использования

Рассмотрим подключение датчика влажности почвы к Arduino. Создадим проект индикатора уровня влажности почвы для комнатного растения (ваш любимый цветок, который вы иногда забываете поливать). Для индикации уровня влажности почвы будем использовать 8 светодиодов. Для проекта нам понадобятся следующие детали:
  • Плата Arduino Uno
  • Датчик влажности почвы
  • 8 светодиодов
  • Макетная плата
  • Соединительные провода.
Соберем схему, показанную на рисунке ниже


Запустим Arduino IDE. Создадим новый скетч и внесем в него следующие строчки: // Датчик влажности почвы // http://сайт // контакт подключения аналогового выхода датчика int aPin=A0; // контакты подключения светодиодов индикации int ledPins={4,5,6,7,8,9,10,11}; // переменная для сохранения значения датчика int avalue=0; // переменная количества светящихся светодиодов int countled=8; // значение полного полива int minvalue=220; // значение критической сухости int maxvalue=600; void setup() { // инициализация последовательного порта Serial.begin(9600); // настройка выводов индикации светодиодов // в режим OUTPUT for(int i=0;i<8;i++) { pinMode(ledPins[i],OUTPUT); } } void loop() { // получение значения с аналогового вывода датчика avalue=analogRead(aPin); // вывод значения в монитор последовательного порта Arduino Serial.print("avalue=");Serial.println(avalue); // масштабируем значение на 8 светодиодов countled=map(avalue,maxvalue,minvalue,0,7); // индикация уровня влажности for(int i=0;i<8;i++) { if(i<=countled) digitalWrite(ledPins[i],HIGH); //зажигаем светодиод else digitalWrite(ledPins[i],LOW); // гасим светодиод } // пауза перед следующим получением значения 1000 мс delay(1000); } Аналоговый вывод датчика подключен к аналоговому входу Arduino, который представляет собой аналого-цифровой преобразователь (АЦП) с разрешением 10 бит, что позволяет на выходе получать значения от 0 до 1023. Значение переменных для полного полива (minvalue) и сильной сухости почвы (maxvalue) получим экспериментально. Большей сухости почвы соответствует большее значение аналогового сигнала. С помощью функции map масштабируем аналоговое значение датчика в значение нашего светодиодного индикатора. Чем больше влажность почвы, тем больше значение светодиодного индикатора (количество зажженных светодиодов). Подключив данный индикатор к цветку, мы издали можем видеть на индикаторе степень влажности и при определять необходимость полива.

Часто задаваемые вопросы FAQ

1. Не горит светодиод питания
  • Проверьте наличие и полярность подаваемого на датчик YL-38 питания (3,3 – 5 В).
2. При поливе почвы не загорается светодиод индикации влажности почвы
  • Настройте потенциометром порог срабатывания. Проверьте соединение датчика YL-38 с щупом YL-69.
3. При поливе почвы не изменяется значение выходного аналогового сигнала
  • Проверьте соединение датчика YL-38 с щупом YL-69.
  • Проверьте наличие щупа в земле.