Русский
Русский
English
Статистика
Реклама

Si7021

Мультисенсорный беспроводной микро DIY датчик

08.10.2020 12:16:26 | Автор: admin
DIY, как говорит Википедия, это уже давно субкультура. В этой статье хочу рассказать о своем diy проекте небольшого беспроводного мультисенсорного датчика, и это будет моим небольшом вкладом в данную субкультуру.

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



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




Для датчика был выбран SoC nRF52 в корпусе QFN48. В этом корпусе в серии nRF52 у Nordic есть три варианта: nRF52810, nRF52811(новое), nRF52832. Параметры чипов: 64 MHz Cortex-M4, 2.4 GHz transceiver, 512/256 KB Flash, 64/32 KB RAM у nRF52832 и 192 KB Flash, 24 KB RAM у nRF52810, nRF52811, чипы мультипротокольные, поддерживают Bluetooth Low Energy, Bluetooth mesh, ESB, ANT, а nRF52811 помимо перечисленного еще и Zigbee и Thread, а так же Bluetooth Direction Finding.


Сам датчик решил делать мультисенсорным, что бы его можно было использовать под разные задачи. Разводку чипа по этой причине нужно было сделать как можно компактнее, с учетом того что минимальные размеры компонентов не должны быть меньше 0603, что бы устройство можно было бы спаять вручную. После того как чип был разведен на плате занялся подбором сенсоров. Основное на что ориентировался при подборе это размеры корпуса сенсора и возможность пайки сенсора в домашних условиях с минимальным набором оборудования (паяльник и фен).


Для датчика были выбраны следующие сенсоры: SHT20,SHt21, Si7020, Si7021, HTU21D (сенсор температуры и влажности), все эти сенсоры имеют один корпус и одинаковые выводы ножек, HDC2080(сенсор температуры и влажности) так же имеет аналогичный корпус, как и ранее перечисленные, но имеет дополнительный выход прерывания, более энергоэффективный, BME280(сенсор температуры, влажности и давления), LMT01(сенсор температуры), TMP117(высокоточный сенсор температуры), высокая энергоэффективность, выход прерывания, установка верхних и нижних пределов температур, LIS2DW12(акселерометр) высокая энергоэффективность, один из лучших в своем сегменте или LIS2DH12.



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


Помимо сенсоров на датчике размешены 2 светодиода, один из них rgb размещенный на нижней стороне датчика. Две smd кнопки, одна подключенная к reset, вторая пользовательская для реализации каких то сценариев работы датчика. Корпус датчика состоит из трех частей, основной корпус, внутренняя вставка с отверстием удерживающим батарейку и крепящаяся к основному корпусу четырьмя винтами, и нижней крышкой, которая защелкивается в отверстия на внутренней вставке. Так же выведены 4 аналоговый пина, 2 цифровых и так же еще два пина которые могут быть NFC антеной или цифровыми пинами, порт SWD.

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


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





Сейчас у меня дома работают 4 таких устройства, два из них это датчики температуры и влажности с сенсорами Si7021(один на nRF52832, второй на nRF52811), один это датчик удара реализованный на акселерометре LIS2DW12(nRF52810) и датчик контроля температуры на сенсоре LMT01(nRF52810).

Беспроводной датчик работает на батарейке cr2032, потребление во сне составляет 1.8мкА для nRF52810, nRF52811 и 3.7мкА для nRF52832. Потребление в режиме передачи данных 8мА.



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

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


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

Спасибо за внимание, всем добра!



Подробнее..

Беспроводной DIY датчик тепрературы и влажности с e-paper дисплеем

26.09.2020 22:13:23 | Автор: admin
Всем привет! Сегодня хочу рассказать читателям о своем DIY проекте датчика температуры и влажности с e-ink дисплеем. Это будет некая обзорная статья об этапах создания устройства, будет много картинок. Идея этого проекта родилась около двух лет назад, примерно тогда я увлекся беспроводными автономными устройствами. Целью проекта было создание небольшого девайса для знакомства и изучения дисплеев на электронных чернилах. Было решено на плату добавить датчик температуры, что бы можно было выводить какие то полезные данные на экран, ну и передавать данные далее в систему умного дома.




Первая версия устройства была сделана на микроконтроллере atmega328 и радио-модуле nRF24L01. Очень быстро стало понятно что для работы с e-ink дисплеем не хватает памяти, а энергопотребление устройства довольно большое.


Тест первой версии устройства

Используется датчик температуры и влажности SHT20. Питание от трех батареек CR2430 (6V) через step down converter.

Следующая версия устройства, была разработана на nRF52832. Для этой версии был выбран радио-модуль от компании Holyiot YJ-16048. Характеристики радио-чипа: ARM Cortex-M4F с ОЗУ 512кб 64кб. Встроенный приемопередатчик 2,4 ГГц, поддержка BLE, ANT, ESB (совместимо с nRF24L01). Подробнее об этой версии рассказано тут.

В этом варианте, проблем с хранением в памяти микроконтроллера большого количества данных не было. Наличие в nRF52 режима DC-DC, для работы радио в режиме с оптимизацией питания (экономия до 40%), позволило сократить максимальное пиковое потребление до 7-8мА. Вторая версия датчика, как и первая планировалась как модуль для разработки, поэтому вопрос выбора корпуса не ставился.


Тест работы прототипа второй версии.

Так же используется датчик температуры и влажности SHT20. Питание от двух батареек CR2450 через step down конвертер TPS62745DSSR с малым энергопотреблением.

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

Естественно проект захотелось довести до состояния законченного устройства. Поэтому первым этапом, стал корпус. Для возможности установки в корпус был переработан дизайн платы. Модель корпуса была разработана в программе SolidWorks. Первые корпуса я печатал на бытовом SLA принтере Anycubic Foton. Плюсами была высокая точность печати и простота пост-обработки корпуса (полировка). Из минусов (на тот момент) печати корпуса полимерной смолой была хрупкость. Не то чтобы напечатанная модель разваливалась в руках, но если собранное устройство (с батарейками) уронить, то скорее всего корпус треснет (что и случилось однажды).

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





Тест работы прототипа третьей версии

В этой версии был расширен список сенсоров. Помимо SHT20, ПО может работать и с датчиками si7021, HTU21D, а так же с BME280 (отдельная версия платы).

Начиная с этой версии, устройство может работать от одной батарейки. Работа через step down конвертер или напрямую от батареек, устанавливается перемычками. Так же, с помощью перемычек, устанавливается последовательность подключения двух батареек: последовательное или параллельное. Плюс к этому, расширен список радио-модулей и разработаны версии плат под радио-модули EBYTE и MINEW.

Для работы в более экономичном режиме, была добавлена поддержка чипов nRF52810 и nRF52811, что позволило сократить потребление в спящем режиме до 1,7 2мкА.

Чтобы придать корпусу больше прочности, было решено разработать модель корпуса под печать на FDM принтере. Сама модель была упрощена, а из дизайна удалены грани.

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

В настоящий момент, разработаны 3 варианта корпуса, под разные батарейки. От самого тонкого, для батареек СК2430 до максимально прочного, под две батарейки CR2477. Все варианты моделей корпусов доступны на GitHub этого проекта.




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

В настоящий момент, можно настраивать:

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










Тест работы обновленной третьей версии.

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

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

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






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

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

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

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

Всем, как всегда добра!
Подробнее..

Беспроводной DIY датчик температуры и влажности с e-paper дисплеем

27.09.2020 00:06:12 | Автор: admin
Всем привет! Сегодня хочу рассказать читателям о своем DIY проекте датчика температуры и влажности с e-ink дисплеем. Это будет некая обзорная статья об этапах создания устройства, будет много картинок. Идея этого проекта родилась около двух лет назад, примерно тогда я увлекся беспроводными автономными устройствами. Целью проекта было создание небольшого девайса для знакомства и изучения дисплеев на электронных чернилах. Было решено на плату добавить датчик температуры, что бы можно было выводить какие то полезные данные на экран, ну и передавать данные далее в систему умного дома.




Первая версия устройства была сделана на микроконтроллере atmega328 и радио-модуле nRF24L01. Очень быстро стало понятно что для работы с e-ink дисплеем не хватает памяти, а энергопотребление устройства довольно большое.


Тест первой версии устройства

Используется датчик температуры и влажности SHT20. Питание от трех батареек CR2430 (6V) через step down converter.

Следующая версия устройства, была разработана на nRF52832. Для этой версии был выбран радио-модуль от компании Holyiot YJ-16048. Характеристики радио-чипа: ARM Cortex-M4F с ОЗУ 512кб 64кб. Встроенный приемопередатчик 2,4 ГГц, поддержка BLE, ANT, ESB (совместимо с nRF24L01). Подробнее об этой версии рассказано тут.

В этом варианте, проблем с хранением в памяти микроконтроллера большого количества данных не было. Наличие в nRF52 режима DC-DC, для работы радио в режиме с оптимизацией питания (экономия до 40%), позволило сократить максимальное пиковое потребление до 7-8мА. Вторая версия датчика, как и первая планировалась как модуль для разработки, поэтому вопрос выбора корпуса не ставился.


Тест работы прототипа второй версии.

Так же используется датчик температуры и влажности SHT20. Питание от двух батареек CR2450 через step down конвертер TPS62745DSSR с малым энергопотреблением.

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

Естественно проект захотелось довести до состояния законченного устройства. Поэтому первым этапом, стал корпус. Для возможности установки в корпус был переработан дизайн платы. Модель корпуса была разработана в программе SolidWorks. Первые корпуса я печатал на бытовом SLA принтере Anycubic Foton. Плюсами была высокая точность печати и простота пост-обработки корпуса (полировка). Из минусов (на тот момент) печати корпуса полимерной смолой была хрупкость. Не то чтобы напечатанная модель разваливалась в руках, но если собранное устройство (с батарейками) уронить, то скорее всего корпус треснет (что и случилось однажды).

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





Тест работы прототипа третьей версии

В этой версии был расширен список сенсоров. Помимо SHT20, ПО может работать и с датчиками si7021, HTU21D, а так же с BME280 (отдельная версия платы).

Начиная с этой версии, устройство может работать от одной батарейки. Работа через step down конвертер или напрямую от батареек, устанавливается перемычками. Так же, с помощью перемычек, устанавливается последовательность подключения двух батареек: последовательное или параллельное. Плюс к этому, расширен список радио-модулей и разработаны версии плат под радио-модули EBYTE и MINEW.

Для работы в более экономичном режиме, была добавлена поддержка чипов nRF52810 и nRF52811, что позволило сократить потребление в спящем режиме до 1,7 2мкА.

Чтобы придать корпусу больше прочности, было решено разработать модель корпуса под печать на FDM принтере. Сама модель была упрощена, а из дизайна удалены грани.

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

В настоящий момент, разработаны 3 варианта корпуса, под разные батарейки. От самого тонкого, для батареек СК2430 до максимально прочного, под две батарейки CR2477. Все варианты моделей корпусов доступны на GitHub этого проекта.




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

В настоящий момент, можно настраивать:

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










Тест работы обновленной третьей версии.

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

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

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






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

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

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

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

Всем, как всегда добра!
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru