Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители

в 1:30, , рубрики: diy или сделай сам, e-ink, ePaper, nrf52810, nRF52811, nrf52832, беспроводной датчик температуры, Беспроводные технологии, датчик температуры и влажности, Разработка под Arduino, умный дом

Приветствую всех читателей Habr! Хочу поделиться с вами своим новым опенсорс проектом. Из названия статьи понятно что речь пойдет о датчике температуры и влажности с дисплеем на электронных чернилах. Уже достаточно давно я попробовал сделать проект датчика температуры с такими дисплеями в виде ардуино модуля. С тех пор тема e-ink дисплеев меня заинтересовала.

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

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 1

Датчик работает на чипах nRF52, для данного проекта был выбран модуль от компании MINEW. Модуль небольшого размера, имеет 18 выводов, 13 из которых gpio, два варианта антенн, печатная и керамическая, так же на модуль устанавливается несколько вариантов чипов, nRF52810 и nRF52832, а после непродолжительного общения с менеджментом компании мне без вопросов поставили на эти модули чипы nRF52811. Так я кстати получил свои первые 811-ые и к тому же по цене в полтора раза ниже чем мог бы купить у поставщиков в России просто чипы, но это уже другая история. На модуле разведен вариант схема DC-DC и часовым кварцем. Размеры модуля 12мм х 15мм. Присутствует металлический экран.

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 2

Из линейки e-ink дисплеев выбор естественно пал на достаточно новую модель м размером экрана 1.02 дюйма. Стоимость одного дюйма электронных чернил составила 500 рублей, что мне показалось приемлемо. Небольшие трудности с разработкой платы под этот дисплей вызвал его разъем, 30 пиновый FPC c шагом в 0.5мм. Ширина FPC разъема намного больше ширины самого дисплея, что вызвало неудобство при проектировании. Но зато было проще с обвязкой дисплея, она проще чем на других моделях (datasheet GDEW0102T4).

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 3

Из разнообразных цифровых сенсоров температуры и влажности я решил остановиться на сенсоре sht20, их и в достаточном количестве было у меня, простой достаточно, хорошая цена, удобный размер. Так же одним из плюсов можно назвать то что вместо sht20 при желании легко установить sht21, si7020, si7021, htu20d, htu21d и hdc1080, но последний вариант не самый очень ;).

Под датчик проектировалось 2 платы, одна под экран и его обвязку, вторая под радио модуль, сенсор температуры и влажности и батарейку. Ключевыми параметрами размеров плат были размеры экрана и батарейки. На плате с экраном были заложены отверстия под винты (1.4 х 3) для крепления платы к корпусу, на второй плате были сделаны вырезы для удобной установки винтов. Так как это DIY устройство я мог себе позволить поставить «вкусную» батарейку CR2450. Ну а если мне покажется когда-то что устройство толстовато, то я всегда смогу напаять держатель под батарейку CR2430. В итоге получилось две платы размерами 36мм на 26мм.

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 4

Корпус проектировался в СолидВоркс, модели плат были экспортированы из DipTrace в формате DXF, которые уже в СолидВоркс были преобразованы в 3D модели. Корпус состоит из двух частей и кнопки, Крепления половинок корпуса друг к другу сделано так же винтами(1.4 х 4) с одной стороны и выступающим «зацепом» с другой стороны. Сделаны два отверстия для циркуляции воздуха для сенсора температуры и влажности.

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 5

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

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 6

Примерно так происходила разработка железа, постарался описать все этапы и некоторые нюансы, если она вам показалась трудоемкой, то это не так, трудоемким на самом деле было ПО. Как и прежде я свои проекты делаю под MySensors, хотя признаюсь что уже не с тем энтузиазмом что прежде. В какие-то моменты стал упираться, каких то вещей не хватает, какие-то просто невозможны. Альтернативой на данный момент для себя я вижу Open Thread, по крайней мере он кажется достаточно привлекательным.

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

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 7

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 8

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 9

В итоге все свои требования к функционалу реализовать получилось. Устройство может работать с контроллером УД, так же устройство может работать напрямую с каким либо устройством в сети МySensor. Привязка устройств для прямого обмена может происходить как посредством конфигурации устройств через контроллер УД, внешними командами, так и без участия контроллера УД с помощью простого нажатия кнопки для активации режима привязки(binding). Датчик температуры и другое устройство к которому привязан датчик могут нормально поддерживать обмен даже без работающего шлюза MySensors или работающего контроллера УД, что безусловно повышает отказоустойчивость. Отдельная проблема была с драйверами eink дисплея, вероятно потому что дисплей достаточно новый, на сайте производителя и сайте WaveShare(предлагающий eink экраны Good Display под своим брендом) реализации библиотек достаточно сырые. Пришлось что-то переделать, что-то дописать. В датчике реализовано поддержка нескольких языков, инверсия цвета по внешней команде в режиме конфигурирования устройства, несколько вариантов шрифтов так же меняемые по внешней команде в режиме конфигурации устройства. Датчик выводит на экран показания температуры и влажности, заряд батареи и уровень сигнала. Интервал замеров температуры и влажности, интервал замера уровня батарейки можно задать так же внешней командой. Для температуры и влажности в минутах, для уровня заряда батарейки в часах. Передает датчик в УД следующие данные: температура, влажность, уровень заряда в %, напряжение, уровень сигнала, причину перезагрузки.

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 10

Посмотреть как это выглядит можно в небольшом видеоролике

таймстампы интересных моментов:
3.10 — Конфигурирование (смена шрифта, инверсия цвета)
5.10 — Замер потребления, работа WTD

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

В спящем режиме датчик потребляет 2мкА, сброс WTD каждые 5 секунд, потребление в момент сброса 4-5мкА. В режиме работы с экраном и сенсором температуры и влажности 2-3мА, в режиме передачи 5-8мА, такой диапазон в 3 мА связан с тем что датчик сам регулирует мощность передачи на основе данных по уровню сигнала.

Под спойлером фотографии датчика

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 11

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 12

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 13

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 14

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 15

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители - 16

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

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

А тем кто ищет достаточно взрослые решения для домашней автоматизации приглашаю в телеграм чат Open Thread.

Мой GitHub этого проекта, схема, гербер файлы, 3D модели корпуса, bom, ПО

Всем как всегда Добра!

Автор: Berkseo

Источник

  1. diatryba:

    Поздравляю, это очень интересный проект.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js