Беспроводной DIY монитор влажности почвы

Приветствую всех читателей Mysku :)! Сегодня хочу поделится с вами моим новым проектом — беспроводным датчиком влажности почвы, который построен на основе всем известного модуля влажности почвы с алиэкспрес. Новый датчик это логическое продолжение первого моего DIY проекта на эту тему. Но в новой реализации это уже не ардуино модуль, а законченный девайс с своим собственным корпусом. Итак, каша из топора, часть вторая! :)


Китайский модуль измерения влажности почвы построен на таймере 555. Метод измерения — емкостной. Для моего проекта нужна была версия модуля с установленным стабилизатором напряжения XC6206P332 на 3.3В, который в дальнейшем придется удалить с платы модуля. Дело в том что в таких версиях используемся модификация таймера TLC555 с нижним порогом по питанию в 2В. В версиях без стабилизатора используются таймеры NE555 c нижним порогом по питанию в 5В. Но в любом случае что проще купить для повторения этого проекта дело повторяющего.


В первом варианте выпаиваем стабилизатор напряжения, во втором меняем таймер например на такой — LMC555 (даташит) работающий даже от 1.5В. Для беспроводного модуля к китайскому датчику влажности почвы я выбрал радиомодуль от EBYTE E73C на котором установлен чип nRF52840. Аргументом стала цена модуля и имеющееся количество данных модулей у меня в запасах.


Беспроводной модуль получился очень простой, RGB светодиод, пара кнопок, полевой транзистор, батарейка. Собрать такой девайс сможет даже самый неопытный начинающий паяльщик. На датчике влажности помимо удаления стабилизатора напряжения так же необходимо выпаять разъем и впаять на его место штырьевую вилку 3P, шаг 2.54 мм.

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


Корпус был напечатан на моем бытовом SLA принтере ANYCUBIC. Время печати деталей порядка пары часов. Послебующая пост обработка заняла около получаса. Стоимость израсходованной полимерной смолы ~100р.


Потребление в режиме сна — 4.7мкА, в режиме передачи 8мА. Интервал замеров изменяемый, шаг 1 минута. Время измерения 50мс (5 замеров в тестовой программе), потребление во время измерения ~ 1 мА. Так же производятся измерение температуры чипа, измерение уровня заряда батарейки. Передача данных на контролер УД посредством сети Mysensors, передача данных на контролер УД посредством сети Zigbee.

Код тестовых программ находится на моем Github

Пример работы в сети Mysensors и УД Мажордомо




Пример работы в сети ZigBee и УД Мажордомо




Код настройки конвертора в модуле zigbee2mqtt для датчика влажности (пока неуверен что это верное решение).
{
        zigbeeModel: ['nrf52840.ru_PWS'],
        model: 'nrf52840.ru_PWS',
        vendor: 'nrf52840.ru',
        description: 'Plant watering sensor',
        supports: 'humidity',
		fromZigbee: [fz.humidity2, fz.battery_PWS],
        toZigbee: [],
		meta: {configureKey: 1},
        configure: async (device, coordinatorEndpoint) => {
            const endpoint = device.getEndpoint(10);
			await bind(endpoint, coordinatorEndpoint, ['msRelativeHumidity', 'genPowerCfg']);
            await configureReporting.humidity(endpoint);
			await configureReporting.batteryVoltage(endpoint);
        },
    },




Тестовую прошивку написал один из участников нашего DIY сообщества — Lenz, вот его GIthub.

Стоимость компонентов которые пришлось добавить к китайскому влагомеру составила порядка 400-500 рублей. На мой взгляд вполне неплохо.

Видео работы датчика



Фото датчика













Дальнейшие планы на этот проект. Хочется заменить МК на что то более простое, например на nRF52810 или nRF52811, но всё будет упиратся в цену, скорее всего придется отказаться от радиомодулей и сделать просто на чипе. Возможно подумаю добавить зуммер, вполне вероятно стабилизатор питания, так как сейчас необходимо учитывать напряжение питания при замере. Довести до стабильного состояния Zigbee версию, сделать BLE версию, сделать мобильное приложение-показометр. Вообщем точно будет что-то еще.

Github этого проекта.

Если вас заинтересовал данный проект, предлагаю зайти в группу телеграмм, там всегда будет оказана помощь в освоении протокола Майсенсорс, Zigbee, BLE на nRF5, помогут освоить программирование nRF52 в Ардуино ИДЕ и не только в ней.
Добавить в избранное +30 +53
+
avatar
+5
Про cut я буду первый? ))
+
avatar
+1
все там будем :)
я тоже про Кат не знал
+
avatar
  • koalexx
  • 13 марта 2020, 12:05
+1
12 постов у человека, похоже черновик «выпал»
+
avatar
0
Ошибся ?) не туда, но пост интересный))
+
avatar
+15
Приветствую всех читателей Хабра!
А читателей Mysku почему не приветствуете? :)
+
avatar
0
Ждём и на хабре значит)
+
avatar
+2
наверное, многие из читателей Майску также и читатели Хабра :)
+
avatar
  • Harwest
  • 13 марта 2020, 14:09
0
Многие, но на Хабре не вижу этого поста.
+
avatar
0
Привет, читатель муськи!
+
avatar
0
Кстати, кто ботал правила сайтов, в какой последовательности надо публиковать? Муська -> Хабр или Хабр -> Муська? Там у них вроде свои особенности лицензий.
+
avatar
  • 64eu64
  • 13 марта 2020, 12:13
+4
Это все замечательно, работа произведена большая.
А для чего непременно нужно знать влажность почвы, да еще дистанционно?
Причем мониторить ее непрерывно.
Уж простите недалекого в этой области за вопрос.
+
avatar
  • Zolg
  • 13 марта 2020, 12:17
+1
чтобы дистанционно, да еще и автоматически, включать полив
+
avatar
  • Gnomeg
  • 13 марта 2020, 12:33
+2
а почему бы просто к поливу не прикрутить датчик влажности? =))
+
avatar
0
Не кашерно.
+
avatar
  • Zolg
  • 13 марта 2020, 14:39
0
Например потому что «поддерживать влажность на постоянном уровне (±)» — не самая правильная методика полива. А более сложную логику проще централизованно реализовывать.
И должен же кто-то в телеграмм присылать «долей воды в бочку полива»
+
avatar
  • Gnomeg
  • 13 марта 2020, 16:35
0
ну можно ж выставить предельные значения и пущай оно само поливает. а к бочке датчик уровня с алармом ;) Просто первоначальный коммент был о том, что смысла часто измерять влажность и передавать нет смысла, если топить за автономку
+
avatar
  • Harwest
  • 14 марта 2020, 10:28
0
смысла часто измерять влажность и передавать нет смысла, если топить за автономку
Тем более раз в минуту.
Ибо во время полива и десяток минут после него (до равномерного промокания почвы/субстрата) показания будут бессмысленны.
+
avatar
  • AFCrio
  • 13 марта 2020, 15:00
0
Чтобы знать когда надо полить. Если выращиваешь более одной культуры — схемы и требования к поливу различные.
+
avatar
0
Или если несколько сортов одной культуры. Кстати, от режима полива зачастую зависит качество и забористость результата.
+
avatar
0
Насколько я помню, текстолит всё таки имеет гигроскопичность. Что в этом случае может приводить к некорректным показаниям. Но с другой стороны и я не могу предложить вариант эталонных измерений(
+
avatar
  • Zolg
  • 13 марта 2020, 12:21
0
да и фиг с ним, что имеет: влажность текстолита зависит от влажности почвы, так что вопрос сугубо калибровки и лага в показаниях при резком изменении влажности
+
avatar
  • g00gle
  • 13 марта 2020, 12:25
0
стеклотекстолит имеет малую гигроскопичность.
+
avatar
0
Насколько я помню, там текстолит не касается почвы. Всё покрыто лаком. А если и лак напитает воду — всё равно, гигроскопичный текстолит или нет, дорожки медные замкнёт раньше.
+
avatar
+5
В датчике такой формы просто обязан завестись маленький Дракула.
+
avatar
  • Gto
  • 13 марта 2020, 15:02
0
dell
+
avatar
+2
Спасибо вам, очень хороший проект!
Как полезное развитие, вижу возможность добавить подключение нескольких датчиков влажности к одному контроллеру. Обычно несколько горшков стоят на 1 подоконнике, потому пихать в каждый горшок устройство за ~500 руб расточительно, лучше запихнуть только датчик влажности, он дешевле))
+
avatar
+2
Скоро ли эволюция статей закончится на ссылке на магазин где это можно купить?
В этом обзоре уже похоже на список участвий в проекте.
Он писал код, вот ссылка на мой проект, вот ссылка на видео, вот ссылка на группу. наш проект хорош, присоединяйтесь
+
avatar
  • Dimon_
  • 13 марта 2020, 16:47
0
Скоро ли эволюция статей закончится на ссылке на магазин где это можно купить
Ссылка на гитхаб же приведена в конце обзора.
Там и продажа и цены.
+
avatar
  • Dimon_
  • 13 марта 2020, 16:46
+4
Всё это хорошо, пока показывается на стадии «как только изготовлено.» И фотки сделаны на стадии «на столе».
Мой опыт (частью которого я тут даже делился) говорит, что надо смотреть на этот датчик и на его показания после пары-тройки лет реальной эксплуатации.

Вы ведь не рассказали про алгоритм измерения влажности. Что физически происходит при замерах этой схемой на электродах.
А практика подсказывает: всё это зазеленеет, корродирует и покрывается окислами. И показания будут ± погода на Марсе, потому что и ёмкость и сопротивление начнут неиллюзорно «плыть». Проходили.
Выглядит красиво для продажи.
В реальном поле на гектарах — не только дорого и неэффективно, но ещё и не надо.
+
avatar
  • AndyBig
  • 13 марта 2020, 19:39
+2
А практика подсказывает: всё это зазеленеет, корродирует и покрывается окислами.
Зависит от качества паяльной маски и лака, которыми покрыт датчик. А если сделать по уму — спрятать электроды во внутренних слоях, то работать будет много лет :)
Но сам этот датчик, конечно, правильную влажность может показать только случайно :)
+
avatar
  • KiV
  • 13 марта 2020, 23:50
0
Не будет работать «много лет» никогда.
Даже с электродами во внутреннем слое и прочими «покрытиями лаком».

Почему?
— стоит прочитать про MSL для электронных компонентов
— поинтересоваться, почему микросхемы в корпусах BGA (у которых кристалл разварен на стеклотекстолите) нельзя долгое время держать вне герметичной упаковки перед пайкой в печке.

Ответ очень простой — практически все материалы для плат поглощают влагу из воздуха. В частности все армированные материалы имеют капилляры по волокнам армирующего компонента. В данном случае стеклоткани. Уже через несколько месяцев работы физические свойства такого датчика изменятся настолько, что он может показывать и 200% влажности.

Единственный вариант — поместить датчик в полностью влагонепроницаемую оболочку, причём ещё и устойчивую к механическим повреждениям. Но тогда его чувствительность упадёт настолько, что «таймер 555» там приктически ничего не увидит.
+
avatar
  • AndyBig
  • 14 марта 2020, 00:04
0
— стоит прочитать про MSL для электронных компонентов
— поинтересоваться, почему микросхемы в корпусах BGA (у которых кристалл разварен на стеклотекстолите) нельзя долгое время держать вне герметичной упаковки перед пайкой в печке.
А при чем тут это? Хранение и сушка компонентов перед пайкой — вообще из другой оперы.
В частности все армированные материалы имеют капилляры по волокнам армирующего компонента. В данном случае стеклоткани. Уже через несколько месяцев работы физические свойства такого датчика изменятся настолько, что он может показывать и 200% влажности.
Это с влагопоглощением стеклотекстолита в районе 0.5%? Ну-ну…
Другой вопрос, что этот датчик просто от окружающей температуры может гулять на десятки процентов. Плюс я не знаю на какой частоте он работает, может быть на паре мегагерц, тогда он еще и на кислотность и соленость почвы будет хорошо реагировать. Но вот текстолит тут совершенно ни при чем. Особенно мимо Ваш прогноз «всё это зазеленеет, корродирует и покрывается окислами».
+
avatar
  • Harwest
  • 14 марта 2020, 10:31
0
кислотность и соленость почвы будет хорошо реагировать
Он и реагирует.
Потому их и калибруют индивидуально, как минимум по трем точкам.
+
avatar
  • KiV
  • 14 марта 2020, 10:33
0
Хранение и сушка компонентов перед пайкой — вообще из другой оперы.
Из той оперы, что стеклотекстолит (в BGA) поглощает воду и уже через непродолжительное время требует сушки. Здесь аналогично — через неделю показания уже уплывают.
Это с влагопоглощением стеклотекстолита в районе 0.5%? Ну-ну…
А теперь берём количество воды в почве (если это не болото конечно), расстояние от электрода до внутренней «поглощённой» воды и расстояния от электрода до воды в почве. Потом вычисляем влияние каждой на параметры сенсора. Я всё это вычислял когда-то — порядки одинаковые и влияние поглощённой влаги до +100% к показаниям может дать.
еще и на кислотность и соленость почвы будет хорошо реагировать
А это да. Тут разброс может быть ещё до сотни процентов от изменения, причём в любую сторону.
Особенно мимо Ваш прогноз «всё это зазеленеет, корродирует и покрывается окислами».
Это не я отвечал. Как раз у меня статистика другая — из тысячи похожих датчиков слабо корродирует максимум один-три. Правда несколько другие условия и обмеряется совсем не почва. Но вот проблемы влагопоглощения стояли в полный рост.
+
avatar
  • Zolg
  • 17 марта 2020, 14:33
0
через неделю показания уже уплывают.
при нахождении во влажной почве показания от повышения влажности текстолита уплывут гораздо, гораздо раньше. думаю, что единицы минут. Но т.к. влажность текстолита зависит от влажности почвы, то это исключительно вопрос калибровки
+
avatar
  • AFCrio
  • 13 марта 2020, 21:11
+1
Электроды изолированные, не корродируют пока маска целая.
+
avatar
  • SanekK
  • 14 марта 2020, 17:02
0
Качество напечатанного корпуса впечатляет.
+
avatar
  • boxt
  • 17 марта 2020, 14:07
0
у датчика главный показатель — точность измерения!
неделю колдовал с таким же но без проводным,
Методика
1. прокалить почву- влажность 0% — вес запомнили(с датчиком)
2. пролить почву до протекания снизу горшочка — влажность 100% — вес запомнили(с датчиком)
3. в сухую почву наливаем водички увеличивая влажность например на 10%( раз в час) до влажности 100%
4. измеряем датчиком контролируя влажность по весу.
5. даем высохнуть(хотя бы до 20%) — контролируя влажность повесу.
6. строим графики в обе стороны
7. у меня была погрешность более 100% при высыхании почвы, а у ВАС?