Меню

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

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 час), вызов режима конфигурации устройства внешними командами, сброс устройства к первоначальным настройкам.

Читайте также:  Как получить хороший урожай огурец

Источник

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

Приветствую читателей Habr! Хочу поделиться с вами своим очередным проектом, сегодня речь пойдёт о небольшом датчике измерения влажности почвы на чипе СС2530. Проект основывается на разработке с открытым исходным кодом DIYRUZ Flower, разработчик @anonymass. Измерение влажности почвы у датчика осуществляется ёмкостным методом, работает от батарейки CR2450 или CR2477, есть защита от переполюсовки батарейки, датчик предназначен для работы в сетях Zigbee.

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

Почти сразу как я обзавёлся небольшим количеством фабричных и DIY устройств и запустив у себя Zigbee сеть мне захотелось сделать что-то под себя. Родившаяся идея сделать датчик влажности почвы органично вписалась в мои планы, так как я как раз заканчивал тесты другого своего проекта аналогичного датчика на nRF52 c e-ink экраном. Компактные размеры и внешний вид это всё что закладывалось из требований в будущий проект, а заготовка под эти требования у меня, получается, уже была.

Потратив пару часов на переработку проекта на nRF52 железная часть проекта на CC2530 была готова:

Опираясь на опыт (хоть и скромный, так как я не агроном) в повседневном использовании таких датчиков на подоконниках и с учётом параметров потребления у чипов CC2530 в датчике был заложен минимальный функционал, исключительно измерение уровня влажности почвы. Плата датчика получился в размерах 137мм х 20мм, для удобства сборки электронные компоненты располагаются на одной стороне платы, за исключением держателя батарейки, который напаивается на обратную сторону платы. Датчик имеет светодиод, пару кнопок, порт программирования, простую защиту от переполюсовки батарейки на транзисторе. Время сборки датчика при ручной пайке составляет 10-15 минут, схема датчика состоит всего из 10 элементов, включая радиомодуль.

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

С разработкой модели корпуса особых проблем не было, так как за основу также был взят корпус от проекта датчика влажности почвы на nRF52 c e-ink. Пара штрихов в редакторе и корпус стал немного тоньше и без выреза под экран, ещё парой штрихов корпус был дополнен окном для индикации расположенного на плате светодиода. Сделал сразу два варианта задней крышки под батарейку CR2450 и CR2477. Печать всех трёх деталей корпуса занимает чуть больше часа. На этом лёгкая часть с корпусом заканчивается, далее начинается грустная история, шлифовка, сверловка, заливка жидким УФ полимером индикаторного отверстия под светодиод, полировка. На всё это времени было потрачено около полутора двух часов. Наверное, как самый хороший и правильный вариант изготовления корпуса стоит рассматривать просто печать корпуса на хорошо настроенном принтере, уверен результат будет не хуже.

Основа программной части проекта это популярный проект DIYRUZ Flower. Я определённо не программист, мой багаж — это опыт пары лет программирования в Arduino, который в принципе позволил мне прочитать код проекта и разобраться в нём. Трудным моментом, пожалуй, можно отметить настройку среды для разработки. Но описание проблем с которыми столкнулся, опущу, в этой статье просто приведу пару ссылок на мануалы и статьи, на которые я опирался (ссылка 1, ссылка 2, ссылка 3) и также поблагодарю неравнодушных к чужим проблемам участников чата ZIGDEV, помогавших советами. Изменения, которые я внёс в код оригинального проекта: увеличение интервала чтения сенсора влажности почвы до 1 часа, хранение предыдущих значений влажности почвы для сравнения с новыми значениями и отправки данных в сеть только при изменении значений на 1%. Добавлено чтение внутреннего температурного сенсора CC2530, сравнение, и отправка данных при изменении температуры на 1°С. Конечно, точность температуры с внутреннего температурного сенсора имеет большую погрешность, но в целом даёт понимание об изменении температуры воздуха. Точнее, этот параметр можно откалибровать в конверторе zigbee2mqtt, правда, особой (и не особой) нужды я в этом не увидел.

Читайте также:  Парники для дачи для огурцов

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

Проблема с которой я столкнулся при тестировании

Об этом решил упомянуть, уверен это кому-то поможет быстрее найти решение, столкнувшись с чем-то похожим. Вопрос, возникший при тестировании датчиков, вызывал непонимание в каком направлении копать, рождал разнообразные теории магического характера :). Суть проблемы была в том, что датчики при слабом сигнале (linkquality ▍ На своём GITHUB для желающих повторить я выложил гербер файлы проекта для заказа плат, список компонентов, схему, модели корпуса, исходники проекта, скомпилированные файлы программы для прошивки радиомодулей.

Устройство уже добавлено в список поддерживаемых на гитхабе проекта zigbee2mqtt, автор проекта очень оперативно реагирует на pull requests.

Немного о грустном в этом направлении, я использую Мажордомо в качестве системы умного дома у себя, для этой системы написан замечательный модуль z2m, к сожалению, мой pull request висит там не рассмотренным уже месяц, так что пока на своём гитхаб я написал инструкцию о том, где необходимо внести изменения чтобы вывод информации о датчике в мажордомо заиграл красками :).

Такая же печальная история с другим проектом — SLS шлюз. Я планировал на даче развернуть сеть Zigbee управляемую через шлюз SLS, протестировать его, погонять свои датчики, поделится своими впечатлениями. Но мне так и не удалось получить обещанную прошивку с поддержкой моего датчика, наверное, забыли, а внешние конверторы в этом проекте не поддерживаются :(.

Если вы как и я, хотите понять, что такое Zigbee, попытаться сделать свои первые DIY Zigbee устройства, то приглашаю вас в чат для разработчиков zigbee девайсов/прошивок ZIGDEV

Если вам интересно всё, что связано с DIY, вы являетесь DIY разработчиком или хотите только начать, вы заинтересованы в использовании DIY девайсов и хотите узнавать первыми о моих проектах, то приглашаю всех в телеграм чат — DIYDEV.

Так же приглашаю читателей обсудить это и любые другие устройства в самый главный Телеграм-чат по Zigbee.

Источник

Датчик влажности почвы (резистивный): инструкция по использованию и примеры

Используйте резистивный сенсор влажности почвы для создания систем автоматического полива растений. Датчик подойдёт для ухода за комнатными цветками и флоре на огороде. Не дайте своим растениям засохнуть!

Принцип работы

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

Читайте также:  Расскажи какие бывают почвы 4 класс

Максимальное напряжение на выходе S не превышает 75% от напряжения питания модуля V , т.е. сигнальный диапазон датчика равен:

На показания датчика также влияют следующие факторы:

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

Пример работы для Arduino и XOD

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

Схема устройства

Подключите датчик влажности почвы к аналоговому пину A0 платформы Arduino. Для коммуникации понадобятся соединительные провода «мама-папа».

Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Arduino Uno методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.

Код для Arduino IDE

Прошейте платформу Arduino скетчем приведённым ниже.

После загрузки скетча, в Serial-порт будут выводиться текущие показания сенсора в 10-битном диапазоне.

Патч для XOD

После загрузки прошивки, в отладочной ноде watch будут выводиться текущие показания сенсора в диапазоне от 0 до 0,75:

Пример для Espruino

В качестве мозга для считывания показаний с датчика рассмотрим платформы из серии Espruino, например Iskra JS.

Схема устройства

Подключите датчик влажности почвы к аналоговому пину A0 платформы Iskra JS. Для коммуникации понадобятся соединительные провода «мама-папа».

Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Iskra JS методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.

Исходный код

Прошейте платформу Iskra JS скриптом приведённым ниже.

После загрузки скрипта, в консоль будут выводиться текущие показания сенсора в диапазоне от 0 до 75%.

Пример для Raspberry Pi

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

Схема устройства

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

Подключите датчик влажности почвы к Raspberry Pi через плату расширения Troyka Cap к 3 пину. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.

Программная настройка

Исходный код

Запустите скрипт на малине приведённым ниже.

После загрузки скрипта, в консоль малины будут выводиться текущие показания сенсора в диапазоне от 0 до 75%.

Элементы платы

Измерительные электроды

Датчик построен на основе транзисторного усилителя тока. Для измерения влажности почвы на датчике расположены два электрода, которые для проведения измерений необходимо воткнуть в почву. Электроды подключены в цепь между коллектором (точка SP) и базой (точка SN) встроенного транзистора на плате MMBT2222ALT1G.

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

Troyka-контакты

Датчик подключается к управляющей электронике через три провода.

Источник

Adblock
detector