Меню

Датчик влажности почвы esp32 wifi

Измеритель влажности почвы, влажности воздуха и температуры воздуха на ESP32

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

Распаковки не будет. Сам не смотрю и другим показывать не буду. Кто не видел эти желтые пакеты из Китая? Внутри в антистатическом запаянном пакете лежал товар. Как ни странно при доставке, ни чего не сломали, и это радует. Доехало быстро, за 10 дней, в принципе для почты Гонконга это скорее правило, чем исключение. Вот трек RU159252885HK.

Для меня сей приборчик, во первых, реализация того что и так хотел сделать, во вторых он еще и на ESP32 сделан, что тоже приятно и есть чего пощупать. До этого, примерно год назад купил измеритель влажности и минерализации почвы, освещенности и температуры от Xiaomi, тут был обзор mysku.ru/blog/china-stores/43295.html, оказалось у моего старого Samsung-а Bluetooth не той системы, а может быть и нет. Потому что, спустя какое-то время я купил-таки себе новый телефон и той самой фирмы, но чуда не произошло, прибор один раз даже нашелся через синий зуб, а потом перестал. Я поднял правую руку, опустил ее и подумал, — И фиг с ним.

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

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

А есть способ измеряющий количество воды через диэлектрическую проницаемость. Т.е. в почву помещается конденсатор, у которого диэлектриком является она (почва), и его емкость линейно зависит от диэлектрической проницаемости диэлектрика (почвы). И скажем, если заглянуть в справочники, то выяснится, что проницаемость воды сильно отличается от основных материалов, из которых состоит почва. А это органика, характерная проницаемость 2-3. Неорганика, характерная проницаемость 4-16. А у воды диэлектрическая проницаемость 81. Это означает, что она может вносить значительно более существенный вклад. И соответственно, по идее, точность измерения этим способом количества воды в почве без дополнительной настройки будет выше, чем предыдущим.

Теперь собственно сам прибор.


Состоит из единой платы, на которой размещено:
Мозг в виде ESP32. Это модуль который содержит и мозги, и память программ и имеет ножки ввода/вывода как цифровые, так и аналоговые, три uart порта и главное это беспроводные коммуникации wi-fi и bluetooth.
Микросхема CP2104 конвертор uart – usb.
Микросхема tp5410 контроллер зарядки и одновременно step-up преобразователь, что бы напряжение литиевого аккумулятора поднять до требуемых 5В питания.
Микросхема tl555c – таймер, на котором сделан генератор измерителя влажности почвы.
Микросхема DHT11 – измеритель влажности и температуры воздуха.
Измерительный конденсатор, выполненный на печатной плате.
Две кнопки Boot для программирования и EN как ни странно это сброс.
Отсек для батареи 18650
Разъем USB
И все GPIO наружу 😉

Читайте также:  Тензорезисторный датчик двт 150

Еще фото


Первым делом подаем питание через usb разъем. Берем телефон и ищем что-то по wi-fi в надежде найти новую точку доступа и вот вам большой китайский фиг. Но понимания, что мы в начале квеста еще нет, еще крутится мысль, — Мы ее сейчас побырому, решим.
Начал я с просмотра всех (или почти все) товаров с этим изделием, вернее комментариев к товарам. И в одном отзыве увидел комментарий, что девайс не прошит, а скетча в сети нет.
Далее я пошел сразу двумя путями. Написал продавцу, — Как так, где скетч? И пока тот должен был ответить, побрел по просторам сети в поисках ответов. Как искал, писать не буду. Что нашел?
Дорогу к полурабочему скетчу указал продавец. Как подключить к среде программирования arduino ESP32, нашел в сети. Для того что бы среда Arduino начала понимать ESP32 нужно просто положить распакованный архив в каталог. Для windows.

X:\Users\Xuser\Documents\Arduino\hardware\espressif
X – буква диска где хранятся «Мои документы», у меня они на D, по умолчанию они на диске C.
Xuser – имя вашего пользователя в системе.
Архив тут github.com/espressif/arduino-esp32
Кроме того у меня не хватало библиотеки SimpleDHT11, которая используется в программе.
Это брать тут github.com/winlinvip/SimpleDHT
Ну и ссылка по наводке продавца на исходник программы.
github.com/LilyGO/higrowopen
И она не заработала.

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

Поверка, что значения имени и пароля не пусты.

Получение данных из DHT11

Читаем АЦП для с той ноги.

Смотрим, что то заработало.

Это FF по своей инициативе красиво показывает, на самом деле все вот так, как ниже на смортфоне )))

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

Генератор на 555 таймере. Частота 500 кГц, делитель на конденсаторе C5 (печатный) и резисторе R1. Далее детектор на диоде и к АЦП. Номиналы емкостей не знаю, резисторов написал.

На воздухе прибор намеряет около 3000 АЦП-шных попугаев. Циферка в строчке water. Её значение меняется от 3000 до 3070 от настроения.

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

Читайте также:  Где находится датчик спидометра тойота хайс

И начинаем мерить.
Песок.


Торф.


Земля.


Вода.

Разница существенная, это радует.

Далее, ради интереса взвесим стаканчик с водой и землей.

149 и 111 грамм, при примерно одинаковом объеме.

А теперь будем добавлять воду в землю, тщательно перемешивать. Насыпал в полиэтиленовый пакет и перемешал и высыпал обратно.
Количество воды на 111 грамм земли. Показания АЦП и посчитанная влажность.
8 грамм воды. -2803 6,7%
16 грамм воды. -2690 12,6%
24 грамм воды. -2630 17,8%
50 грамм воды. -1740 31%

Итоги?
Мне штуковина понравилась.
Не смотря на отсутствие рабочего софта. Зато какой простор для творчества. )))
Зато теперь я хочу эту штуку подключить, например к narodmon.ru.
Добавить фоторезистор, и измерять еще и освещение. Люксметр есть, откалибровать смогу.

И даже не смотря на то что кнопка EN отвалилась (!) хотя я ее нажимал от силы раз 5, мне этот квест пришелся по душе.

ЗЫ сейчас проверим ))) Набрал снега и воткнул в него. Показывает 2980-3000. Твердая вода совсем ни как жидкая. На этом все. )))

Источник

Беспроводной модуль для ёмкостного датчика влажности почвы на nRF52832

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

Получив и успешно проверив датчик(с помощью Ардуино Нано) стал думать куда бы его пристроить в уже работающей системе на основе Майсенсорс(что это такое поясню позже). Так как датчик супер дешевый, то очень хотелось бы найти так же дешевое и незатейливое решение.

Схема датчика построена на микросхеме таймере TLC555. В схему добавлен стабилизатор напряжения XC6206P332 (даташит) на 3.3в, соответственно схему можно запитывать от источника максимум в 6в. При подаче напряжения питания ниже 3.3в, стабилизатор отдает на выходе тоже, что и получает на входе.

Уже как месяца два у меня лежали без дела два модуля nRF52832 от компании EBYTE — E73-2G4M04S1B. Очень дешевые модули, в вопросе цены оставляют далеко позади все другие модули nRF52.

Но у них есть 2 существенных для меня минуса. Первый и менее важный это размеры модуля. Они довольно большие. Второй минус, более важный это отсутствие в схеме двух маленьких элементов из-за чего модуль теряет половину своей привлекательности. Отсутствующие элементы это две индуктивности подключаемые к ножкам DCC и DEC4. Плохо это тем что не позволяет использовать модули в режиме пониженного энергопотребления, 7-8мА VS 15-16мА. Почему их не стали ставить я не могу понять, вариант «из-за экономии» не вписывается, так как на схеме можно было сэкономить и на других элементах. В общем добавляем в хотелки установку индуктивностей и наличие режима DC-DC.

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

Читайте также:  Vag 06h 906 433 датчик коленчатого вала

Следующее о чем нужно было подумать это порт программирования, под SWD и Serial сделал просто контактные площадки. Конечно так же добавил микро разъем, который использую и в других устройствах 2x3P | 6pin | 1.27mm | SMT | Pin Header Female, но это теперь чисто опциональная штука.

Так же нужно добавить тактовую кнопку и как минимум один светодиод, что бы было по проще понимать работает оно или нет :).

Следующее что надо было решить это как соединять ноду радио модуль и емкостный датчик. Розетку которая установлена на датчике и провода идущие в комплекте использовать совсем не хотелось. Шаг отверстий в разъёме на плате куда напаивается розетка, составляет 2.54мм, так же на плате выведен дополнительный дублирующий ряд. Было принято решение использовать обычную «гребенку» с шагом 2.54, а использование сразу обоих рядов придаст дополнительную жесткость соединения.

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

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

После травления, лужения, вырезания, сверления и пайки пришло время тестов. Вообще ничего особого от датчика на модуле от EBYTE не ждал, тем более с каким то внешним влагомером с Али. Но по итогу был даже удивлен некоторыми результатами. Потребление в режиме передачи данных составило не более 9мА(на половину разряженной батарейке), потребление в режиме измерений составило не более 5 мА. Потребление в режиме сна составило 2.1-2.2мкА.

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

A это сообщество разработчиков програмного обеспечения с открытым исходным кодом. Данный протокол разработан сообществом для создания радио и проводных сетей. Первоначально проект разрабатывался для платформы Arduino.

Поддерживаемые аппаратные платформы: Linux / Raspberry Pi / Orange Pi | ATMega 328P | ESP8266 | ESP32 | nRF5x | Atmel SAMD, используемое в Arduino Zero (Cortex M0) | Teensy3(MK66FX1M0VMD18) | STM32F1.

Поддерживаемые радиопередатчики: NRF24L01 | RFM69 | RFM95 (LoRa) | nRF5x

Поддерживаемый проводной тип связи: RS485

Поддерживаемые типы связи между гейтом и контролером: MQTT | Serial USB | WiFi | Ethernet | GSM

ПО естественно тестовое, что я бы непременно добавил(и добавлю), это учет коэффициента разряда батарейки, хоть я и использую в ПО настройку опорного напряжения как внешнее батарейное vdd/4, но все равно присутствует небольшой шум при измерениях с разным уровнем напряжения. Так же пока не ясно стоит ли или нет вводить температурный коэффициент в расчеты. Неясно потому что пока нет статистики. Но, а в целом на выходе очень симпатиШные результаты:). Стоимость всего что пришлось добавить к китайскому датчику влажности составила что-то в районе 400 рублей. Вполне неплохо.

Источник

Adblock
detector