Меню

Датчик уровня влажности почвы

Как работает датчик влажности почвы, и его взаимодействие с Arduino

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

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

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

Как работает датчик влажности почвы, и его взаимодействие с Arduino

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

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

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

Рисунок 1 – Работа датчика влажности почвы

Это сопротивление обратно пропорционально влажности почвы:

  • большее количество воды в почве означает лучшую проводимость и приводит к снижению сопротивления;
  • меньшее количество воды в почве означает худшую проводимость и приводит к повышению сопротивления.

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

Обзор аппаратного обеспечения

Типовой датчик влажности почвы состоит из двух компонентов.

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

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

Рисунок 2 – Зонд датчика влажности почвы

Модуль

Датчик также содержит электронный модуль, который соединяет датчик с Arduino.

В соответствии с сопротивлением датчика модуль выдает выходное напряжение, которое доступно на выводе аналогового выхода (AO).

Этот же сигнал подается на высокоточный компаратор LM393 для его оцифровки, с выхода которого сигнал подается на вывод цифрового выхода (DO).

Рисунок 3 – Регулировка чувствительности датчика влажности почвы

Для регулировки чувствительности цифрового выхода (DO) модуль содержит встроенный потенциометр.

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

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

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

Рисунок 4 – Светодиодные индикаторы питания и состояния почвы

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

Распиновка датчика влажности почвы

Датчик влажности почвы очень прост в использовании и содержит только 4 вывода для связи с внешним миром.

Рисунок 5 – Распиновка датчика влажности почвы

Читайте также:  Уход за виноградом удобрение

AO (аналоговый выход) выдает аналоговый сигнал с напряжением в диапазоне между напряжением питания и 0 В и будет подключен к одному из аналоговых входов нашей платы Arduino.

Вывод DO (цифровой выход) выдает цифровой выходной сигнал со схемы встроенного компаратора. Вы можете подключить его к любому цифровому выводу на Arduino или напрямую к 5-вольтовому реле или подобному устройству.

Вывод VCC подает питание на датчик. Рекомендуется питать датчик напряжением от 3,3 до 5 В. Обратите внимание, что сигнал на аналоговом выходе будет зависеть от того, какое напряжение питания подается на датчик.

GND для подключения земли.

Измерение влажности почвы с помощью аналогового выхода

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

Подключение

Давайте подключим наш датчик влажности почвы к плате Arduino.

Сначала вам нужно подать питание на датчик. Для этого вы можете подключить вывод VCC на модуле к выводу 5V на Arduino.

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

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

Самый простой способ сделать это – подключить вывод VCC к цифровому выводу Arduino и устанавливать на нем высокий или низкий логический уровень, когда это необходимо.

Кроме того, итоговая мощность, потребляемая модулем (оба светодиода горят), составляет около 8 мА, поэтому можно запитать модуль от цифрового вывода на Arduino.

Итак, давайте подключим вывод VCC модуля к цифровому выводу 7 Arduino, а вывод GND модуля к выводу GND Arduino.

И, наконец, подключите вывод AO модуля к выводу A0 аналого-цифрового преобразователя Arduino.

Схема соединений показана на рисунке ниже.

Рисунок 6 – Подключение датчика влажности почвы к Arduino для считывания показаний на аналоговом выходе

Калибровка

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

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

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

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

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

850, когда почва сухая;

400, когда почва полностью насыщена влагой.

Рисунок 7 – Калибровка датчика влажности почвы

Читайте также:  Когда лучше удобрять почву торфом

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

Финальная сборка

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

  • 750 – достаточно сухая для полива.

Если все в порядке, вы должны увидеть вывод в мониторе последовательного порта, похожий на приведенный ниже.

Рисунок 8 – Вывод аналоговых показаний датчика влажности почвы

Измерение влажности почвы с помощью цифрового выхода

Для нашего второго эксперимента мы определим состояние почвы с помощью цифрового выхода.

Подключение

Мы будем использовать схему из предыдущего примера. На этот раз нам просто нужно удалить подключение к выводу аналого-цифрового преобразователя и подключить вывод DO модуля к цифровому выводу 8 Arduino.

Соберите схему, как показано ниже:

Рисунок 9 – Подключение датчика влажности почвы к Arduino для считывания показаний на цифровом выходе

Калибровка

Для калибровки цифрового выхода (DO) модуль имеет встроенный потенциометр.

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

Рисунок 10 – Состояния цифрового выхода датчика влажности почвы

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

Теперь ваш датчик откалиброван и готов к использованию.

Код Arduino

После того, как схема будет собрана, загрузите в Arduino следующий скетч.

Если все в порядке, вы должны увидеть вывод в мониторе последовательного порта, похожий на приведенный ниже.

Рисунок 11 – Вывод цифровых показаний датчика влажности почвы

Источник

DIY датчик влажности почвы с E-Ink экраном

Приветствую всех читателей Хабра! Сегодня хочу рассказать вам об одном из своих проектов, это датчиком влажности почвы с небольшим экраном на электронных чернилах, датчик работает от батарейки, умеет отправлять данные по воздуху в какую нибудь из систем Умного Дома. Данный проект это дальнейшее развитие другого моего DIY проекта датчика влажности почвы.
Хронология:

В этом проекте, как и в предшествующих ему для измерения влажности в почве используется 555-ый таймер. Так как в этом проекте не используется готовый китайский сенсор с АлиЭкспресс то для этого проекта я выбрал КМОП таймер LMC555CMX. Заявляется стабильная работа на низких напряжениях от 1.5в, сверх низкое потребление в районе 150мкА, частота 3 МГц (даташит). Таймер по ножкам совместим с NE555 и другими аналогами.

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

Читайте также:  Почвы юга нашей страны

  • модель: GDEW0102T4,
  • IC Driver: UC8175,
  • разрешение экрана: 128×80 пикселей (DPI 145),
  • напряжение питания: 2.3в — 3.6в,
  • потребление в режиме обновления изображения: 1.5мА,
  • потребление в режиме глубокого сна: 200нА,
  • время обновления экрана в стандартном режиме: 3сек,
  • время обновления экрана в режиме частичного обновления: 300мс.

Было разработано две версии плат под два радио модуля разных производителей. Радио модули были выбраны таким образом, что бы полностью перекрыть всю линейку nRF52. Модуль MINEW MS50SFA имеет три модификации на которые устанавливаются nRF52810, nRF52811 и nRF52832. И второй модуль это EBYTE E73-2G4M08S1 который имеет две модификации C и E (на само деле уже три, в третьей вместо керамической антенны используется внешняя) на которые устанавливаются nRF52840 и nRF52833.

Почему так много nRF? Просто мне хотелось минимизировать минусы при использовании датчиков в различных условиях. Например если сенсор находится недалеко от шлюза то будет достаточно мощности радиопередатчика в 4dBm, при этом получаем очень привлекательное потребление устройства когда оно находится в режиме сна(а это большая часть времени), примерно 2 мкА. Если шлюз находится на удалении, то можно будет использовать датчики на которых установлены радиомодули с nRF52833 или nRF52840, у которых максимальная мощность радиопередачи 8dBm. Ну и в мечтах есть планы на Тред и Зигби, а для этого нужно много места, которое есть только в nRF52833 и nRF52840.

Изготовление плат заказывалось в Китае, из-за габаритов основной платы с сенсором влажности стоимость заказа была выше, так как плата не вписывалась в 10х10см, а это максимальные размеры которые можно сделать за $2. Вторая плата для дисплея естественно вписалась в двухдолларовые условия.

Корпус устройства был отпечатан на FDM принтере PLA нитью, после печати корпус был отшлифован и отполирован.

Работа устройства

Устройство может быть сконфигурировано внешними командами отправляемыми через интерфейс контроллера Умного Дома. Внешними командами можно изменить интервал считывания сенсоров влажности почвы и температуры от 1 часа до 24 часов с шагом в один час. Можно изменить интервал считывания и отправки уровня заряда батарейки, от 1 часа до 3 суток с шагом в 1 час. Изменить порог оповещения о необходимости полива, в зависимости от модели вашего цветка 🙂 и типа почвы, шаг 1 %, по умолчанию установлен порог в 45%. Так же можно внешней командой сделать сброс устройства к первоначальным настройкам, происходит полное очищение памяти устройства, после устройство перезагружается и пытается зарегистрироваться в сети как новое устройство.

Устройство имеет кнопку «меню», через меню можно инвертировать изображение на экране(черное\белое), вызвать презентацию(передача параметров в УД) устройства и доступных у него сенсоров, включить вручную одноразово режим поиска сети(при потере сети, минуя стандартный автоматический поиск с интервалом в 1 час), вызов режима конфигурации устройства внешними командами, сброс устройства к первоначальным настройкам.

Источник

Adblock
detector