Авторизация
Зарегистрироваться

Беспроводной датчик открытия и закрытия с расширенным функционалом

Приветствую всех читателей Mysku и особенно читателей раздела «DIY или Сделай сам»! А не придумать ли чего нибудь такого-растакого, я же ардуиншик, мне можно,… главное тему управления лифтовыми кабинами не трогать :). После недолгих размышлений почему то захотелось сделать датчик открытия и закрытия. Данный датчик как и остальные мои поделки которые я делаю в последнее время базируется на чипах компании Nordic Semiconductor. Датчик решил делать в двух версиях, одну на чипе nRF52840, а вторую на чипе nRF52811.


Для версии на чипе nRF52840 был использован модуль E73_2G4M08S1C компании EBYTE, для верcии на чипе nRF52811 модуль MC50SFA компании MINEW. Чесно говоря поиски доступных чипов nRF52811 это было то еще приключение. Но в итоге этого приключения в устройстве модуль на чипе nRF52811 от компании MINEW и плюшки в виде нескольких вариантов чипов напаиваемых на эти модули — nRF52810 и nRF52832.


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

Принципиальная схема:


Ардуино схема:)



Обдумывая чем бы было уместно разбавить основной функционал данного датчика открытия и закрытия, решил посмотреть а что же есть по этому поводу на рынке. Как оказалось практически ничего, датчик открытия и закрытия он и в Африке датчик открытия и закрытия. Наиболее «продвинутое» решение нашлось у компании REDMOND. В их BLE датчике (кстати тоже на чипе от компании Nordic) в дополнение к герконовому сенсору присутствует датчик температуры и емкосная кнопка реализованная на микросхеме TTP223. Но мне почему то это показалось не совсем удачным решением, чем полезны показания температуры около двери или окна(и что мешало ее мерять чипом) и в каких ситуация уместно использовать кнопку на датчике висящем на окне или двери(ну разве что входной :)). В итоге решил расширить охранные функции у моего датчика.


Основным критерием отбора было потребление дополнительных сенсоров, так как в данном датчике решено было использовать батарейку CR2032. Победителями среди кандидатов стали два датчика, акселерометр LIS2DW12 и датчик магнитного поля DRV5032FB.
LIS2DW12 на данный момент является наверное самым экономичным акселерометром. В режиме низкого потребления данный акселерометр потребляет 1 мкА. Так же просто отличные характеристики по потреблению показал датчик магнитного поля DRV5032FB. Его потребление составляет в районе 500нА.

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


Програмная часть проекта была сделана для работы датчика в сети Майсенсорс. По крайней мере пока это так. Майсенсорс в варианте работы на чипах компании Nordic(nRF24(+atmega 328, stm32f1), nRF51 и nRF52) на нижнем уровне использует проприетарный протокол компании Nordic — Enhanced ShockBurst (ESB), тем самым обеспечивается совместимость устройств на nRF24 и nRF51-52. Майсенсорс это открытый Ардуино проект вокруг которого уже образовалось довольно большое сообщество во многих странах мира. Присоединяйтесь и ваши волосы станут мягкими и шелковистыми. Но чем хороши решения на чипах nRF52 так это тем что использвать Майсенсорс(ESB) совсем не обязательно. Достаточно просто заменит ПО в основе которого работа на протоколе Zigbee или BLE, так как чипы мультипротокольные.… По поводу BLE, немного отвлекусь, посмотрите какое замечательное Arduino NANO 33 Ble можно сделать из модуля E73_2G4M08S1C, стоимость моей NANO 33 — $4.


Скетч к датчику делал в Ардуино ИДЕ из дополнительных библиотек была использована библиотека для акселерометра LIS2DW12, немного измененная мною в части дефолтных настроек регистров, в моем варианте она работает сразу с настройками самого низкого варианта энергопотребления(доступна на моем гите).
Немного опишу логику работы программы. В основном режиме работы датчик находится во сне с настроенными внешними прерываниями, всего 4 прерывания. Есть две конфигурации прерываний, конфиги перенастраивают прерывания в процессе работы программы в зависимости в каком состоянии находится герконовый датчик. Если дверь открыта то прерывания для датчика удара и датчика магитного поля отключаются. Как только дверь закрывется прерывания для двух данных сенсоров активируются. Так же столкнулся с тем что во время открытия возникали ситуации когда датчик удара срабатывал раньше герконового датчика, это происходило от вибраций во время открытия замка. Данная неприятность фиксировалась только при настроеной высокой чувствительности акселерометра.
Для устранения этой проблемы было введено ожидание в 2 секунды при срабатывании акселерометра, во время которого мониторится пин герконового датчика. Если во время ожидания происходит изменение уровня на пине герконового датчика, то дальнейшая обработка события по прерыванию от акселерометра останавливается и начинается обработка события от геркона.
Датчик имеет режим конфигурирования. При нажатии на сервисную кнопку датчик просыпается по прерыванию, радиомодуль включается в режим прослушивания и ждет входящих команд с контроллера УД. Если команда получена, датчик записывает в память новое значение и переключается в рабочий режим сразу уходя в сон. Для отправки следующей команды процедуру активирования режима конфигурирования необходимо повторить. Если находясь в режиме конфигурирования датчик в течении 30 секунд ничего не получает то также по истечению этого времени переключается в рабочий режим и уходит в сон. Помимо режима конфигурации с сервисной кнопки можно запустить презентацию сенсоров датчика и заводской сброс настроек(датчик забывает сеть в которую добавлен, регистрацию датчика после сброса настроек необходимо пройти заново).






Для программирования датчика в Ардуино ИДЕ необходимо добавить поддержку следующих плат:

sandeepmistry/arduino-nRF5
mysensors/ArduinoBoards
Библиотеки:
Mysensor
LIS2DW12

Программатор: st-link, j-link.

Скетч программы

Полный список файлов проекта доступен на гите

В качестве системы УД я уже давно использую Мажордомо. В данной статье буду описывать пример работы датчика в сети Майсенсорс через контроллер УД. В таком варианте данные с датчика отправляются через шлюз Майсенсорс в систему УД. В Мажордомо реализованна поддержка протокола Майсенсорс в отдельном модуле. Модуль для скачивания и установки доступен в маркете дополнений системы УД в разделе «оборудование».


На данный момент реализация для УД Мажордомо наиболее полная, поддерживается:
  • все типы данных майсенсорс,
  • работа с OTA,
  • работа сразу с несколькими сетями в одном модуле(мультгейтовость),
  • поддержка SmartSleep девайсов,
  • запрос данных у датчиков в сети при старте модуля,
  • запрос подтверждений доставки сообщений,
  • поддержка сервисных запросов, таких как сбор данных, heartbeat, презентация, перезагрузка,
  • работа с NodeManager


Есть конечно и недостатки, добавленная ранее поддержка serial шлюзов, в процессе естественного развития системы Мажордомо приказала долго жить и в данный момент не поддерживается. Мне этот тип гейтов даже не довелось потестировать в Мажордомо так как эта возможность стала недоступна раньше чем я узнал о Майсенсорс. Разработчик модуля обещал добавить снова эту возможность к сентябрю 2019 года, но осень 19-го прошла, а поддержки сериал шлюзов все еще нет :(.

Так же с Мажордомо можно использовать mqtt шлюзы Майсенсорс но уже не через модуль Майсенсорс, а через MQTT модуль.

В моем датчике сенсоры удара и магнитного поля передают только единицу при срабатывании и это оказалось небольшой проблемой. Модуль «Простые устройсва» не поддерживает такие типы датчиков, есть конечно — общий датчик, но его кастомизация настроек сильно ограничена. При добавлении датчика неудобная проблемка заключалась в том что когда приходила очередная единичка с датчика мне нужно было запускать обратный таймер, что бы через интервал времени указанном в таймере в свойство объекта записывался ноль. Но так как всё работает через метод — «статус апдейт», то записывая ноль модуль майсенсорс получая новое состояние отправлял сообщение в сеть с этими данными на мой девайс, а смысла в этом ноль. Самым простым решением мне показалось добавить новый метод в котором будет передаватся сосотояние из свойства1 в свойство2 и запускатся таймер для записи в свойство2 ноля. Объект созданный в простых устройствах будет работать с свойством2, а в модуле Майсенсорс с свойством1.


if($this->getProperty('value2') == '1'){
$this->setProperty('status','1');
}


Далее в метод статус апдейт нужного объекта необходимо добавить запуск таймера:
if (gg("MysensorsSmoke03.status") == "1") {
SetTimeOut('AlarmShock','sg("MysensorsSmoke03.status","0");',10);
}


Видео с работой датчика в системе Majordomo и приложении Majordroid. Рекомендую посмотреть там по возможности показал работу основного функционала, ну и конечно ваши лайки и подписка будет особо бесценна для моего маленького домашнего канала, ну а нажав на колокольчик вы не пропустите видео с моими новыми датчиками ;).


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



Поддержка чипов nRF5 в Майсенсорс реализована на базе билиотеки Sandeep Mistry — arduino-nRF5. Но в этой бибилтотеке отсутствует поддержка чипов nRF52840, nRF52810 и совсем новых чипов nRF52811. Пришлось сделать форк и добавить поддержку для этих чипов, был сделан перенос и адаптация из SDK Nordic. Отсутствовала поддержка софтдевайс так как особой необходимости используя Майсенсорс в этом нет, и небыло поддержки Порта1 для чипов nRF52840. Совсем недавно были объеденены мои изыскания на эту тему и изыскания еще одного участника сообщества Майсенсорс и в итоге получилась поддержка nRF52840 уже с портом1, доступных пинов стало просто море.

Корпус для датчика разрабатывался в программе СолидВоркс, его тоже осваивал самостоятельно по урокам на Ютуб примерно год назад. Корпус был напечатан на SLA принтере ANYCUBIC FOTON. Качество и точность печати меня очень устраивает. Единственный минус это довольно бедный выбор УФ смол с которыми такие бытовые принтеры могут работать. Размеры устройства в корпусе: Длинна 43мм, Ширина 26мм, Высота 12.5мм. Размеры корпуса с магнитом: Длинна 37мм, Ширина 11мм, Высота 12,5мм.





Потребление датчика во сне составило от 4мкА до 7мкА, в зависимости от выбранного чипа. Потребление в режиме передачи данных составило 8мА.
В датчике используется батарейка CR2032. Все замеры производились китайским «мультифайлером» :) в виду отсутствия профайлера из за его довольно немаленькой стоимости :(.

Себестоимость датчика составила:
только с герконом 535₽,
всеми сенсорами 780₽,
смолы уходит на корпус около 100₽

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

Если кто то готов оказать помощь в написании ПО под протокол ZIGBEE, с радостью посотрудничаю.

Всем добра!
Добавить в избранное +66 +132
свернуть развернуть
Комментарии (144)
RSS
+
avatar
  • berk
  • 29 февраля 2020, 16:10
+42
Если вас заинтересовал данный проект, заходите в группу телеграмм, там всегда будет оказана помощь в освоении уже не только протокола Майсенсорс, но и Zigbee и BLE на nRF5, оперативно проконсультируют по всем вопросам по программированию nRF52 в Ардуино ИДЕ и не только в ней.

Телеграмм чат где обитаю я и такие же как я — @MYSENSORS_RUS.

В статье не стал постить ссылки, так как у администрация сайта очень необычная позиция по этому поводу, ранее нигде не встречаемая, ссылку на мой гит c этим проектом размещу тут — github.com/smartboxchannel/EFEKTA-DOOR-WINDOW-SENSOR
(гербер для заказа плат, списк используемых компонетном, исходники ПО)

… решайте сами заминусовать этот пост или заплюсовать
+
avatar
  • freehab
  • 29 февраля 2020, 17:08
0
У меня есть вопрос, может быть Вы сможете помочь, имеется набор умного дома от Redmond(герконы, датчик движения и розетка гетвей), но их ПО очень кривое и нормально не работает(нет даже банальных сценариев), хочется использовать данные устройства отдельно от Redmond, можно ли их переделать? и подцепить к тому же можердомо или типа того.
+
avatar
  • berk
  • 29 февраля 2020, 17:41
0
я перепрошил пару устройств на редмонде, цоколь и розетку, так же один из участников нашего чата написал прошивку для цоколя и теперь он еще и димируемый. на очереди у меня еще три девайсины от редмонд, протечка, геркон, и датчик дыма. так же знаю что несколько участников из чата девайсы от редмонд которые на 433 переделывали под 2.4.
+
avatar
  • freehab
  • 29 февраля 2020, 19:44
+1
Может есть где мануал?
Нужен какой-то програматор?
+
avatar
  • peetbull
  • 29 февраля 2020, 20:32
+3
вступи в партию MYSENSORS_RUS., заплати взнос члена… и там спрашивай. тут тебе только это и могут посоветовать)
+
avatar
  • berk
  • 01 марта 2020, 15:47
0
а что за взнос?, растолкуйте плз. я просто с год в майсенсорс, пока вроде бы везло, никто не требовал.
+
avatar
0
Надо отдать часть мозга, взамен которой дают желание пропагандировать эту поделку на всех доступных ресурсах.
+
avatar
  • berk
  • 01 марта 2020, 17:09
+4
ну вам то чего беспокоится :D
+
avatar
  • berk
  • 29 февраля 2020, 20:46
0
поясните, мануал на что? установка поддержки плат, установка драйверов для програматоров, разблокировка чипов, прошивка…
програматор подойдет j-link или st-link.
Начать можно отсюда — mysensors.ru/forum/viewtopic.php?f=5&t=362
+
avatar
  • berk
  • 01 марта 2020, 08:50
0
готового проекта с прошивкой геркона или движения от редмондов пока вроде бы нет. по цоколю или розетке вы можете посмотреть как это делать в моих статьях тут или на форуме майсенсорс.
+
avatar
  • Dimon_
  • 29 февраля 2020, 16:28
+17
Майсенсорс это открытый Ардуино проект вокруг которого уже образовалось довольно большое сообщество во многих странах мира.
После этой фразы должен быть абзац, что волосы станут мягкими и шелковистыми, разгладятся морщины, а во рту восстановится кислотно-щелочной баланс.
Такой подбор слов про большое сообщество и про многие страны мира я слышал в двухтысячных, когда мне втирали таймшер.
+
avatar
  • vsv78vrn
  • 29 февраля 2020, 16:47
0
на самом деле Майсенсорс адекватная группа! Там только один я закодированный )))
+
avatar
  • berk
  • 29 февраля 2020, 17:06
-2
ммм, да вы правы, теперь текст читается веселее.
+
avatar
  • mike888
  • 29 февраля 2020, 17:49
+2
Не так давно обнаружил довольно удобные герконы, может кому пригодится m-kontakt.ru/produkt/datch_dlya_nemagn_konstr/io_102_5 Они есть и для металлических дверей, главное они внутрь двери ставятся и не видны.
Забавная конструкция у автора, функционал конечно широкий, но нужен ли он для индикации банального открывания двери, датчики удара тоже есть пассивные на базе герконов. Возможность применения этой конструкции намного шире. А как датчик для загородного дома она скорее малопригодна, влажность и температура нестабильные не способствуют надёжной работе электроники без применения мер по её герметизации, да наличие питания не лучший вариант
+
avatar
  • berk
  • 29 февраля 2020, 17:58
0
я такие тоже хочу попробовать, правда мне встретились польские, по 350 рублей, интересно сколько стоят по ссылке. По поводу конструкции моего датчика, мне показалось что она настролько стандартная насколько это вообще может быть. По поводу функционала тут соглашусь, но прелесть в том что вы сами решаете что устанавливать в датчик а что нет. По поводу малопригодности в загородном доме… тут скорее ваш личный опыт, у меня на даче вот прям сейчас +14, а я там уже месяц небыл.
+
avatar
  • mike888
  • 29 февраля 2020, 18:49
+1
У меня отопление ик только в подполе, для хранения овощей сделано, но в этом году не включалось, тепература выше нуля всю зиму была, если это зимой можно назвать. А вот влажность около 80% практически постоянно.
Я больше проводам доверяю, нет желания делать лишние излучатели в своём доме. Опять же всё задачами определяется. Но конструкция занятная и применений её найти можно много, не только на дверь вешать.
+
avatar
0
Эти белые — для деревянных дверей. Для стальных — черные корпуса, с большим диаметром. Лень искать точную модель.
+
avatar
  • mike888
  • 29 февраля 2020, 18:53
0
Я ссылку на производителя дал, для дверей с железом 0.5мм рекомендуются 102-6, а если толще металл то 102-39. Но реально работают и те что рекомендованы для деревяных дверей
+
avatar
0
«Реально работают» — не канает для сдачи обьекта под охрану ОВО.
102-6 у меня уже 10 лет работают в 1.5 мм(если склероз не изменяет) коробке.
+
avatar
  • mike888
  • 29 февраля 2020, 19:18
0
Никаких сдач под охрану не предвидится, дом в деревне и ближайших полицаев в 20км сократили год назад, так что все датчики охраные только для информирования меня, что надо брать народ, лопаты и ехать туда решать вопрос. ;)
+
avatar
0
Даже это не повод кроить 10 рублей на датчиках.
+
avatar
  • mike888
  • 29 февраля 2020, 19:55
0
Ну там не 10 рублей разницы, но не суть, никто не кроил, просто были куплены 102-5, дверь железная одна, а под руками не было сверла на 19.05мм, ёлка метрическая имеет чётный шаг, надо было брать датчики 102-39 под отверстие 20мм, но это уже потом выяснилось при чтении документации. Но были воткнуты имеющиеся 102-5, проверено что всё стабильно работает и этим пока завершилось. потом естественно поменяю, хотя вариант что кто-то полезет вскрывать железную дверь в деревяном доме, ближе к фантастическому.
+
avatar
  • nsn
  • 29 февраля 2020, 18:49
0
Как вам удалось? )) Ведь этим герконам сто лет в обед (именно таким, встраиваемым).
+
avatar
  • mike888
  • 29 февраля 2020, 19:00
0
Элементарно, как то в жизни не было нужды в установке герконов на дверь, а вот недавно возникла. Оказалось что много чего есть в разных вариантах :)
+
avatar
  • OlegSGV
  • 29 февраля 2020, 19:02
0
Отличная штука!
+
avatar
  • puma88ss
  • 29 февраля 2020, 17:50
+8
Вопрос: зачем что-то стационарное делать беспроводным, да ещё и с питанием от батареек? Зачем лишняя сложность и потенциальные проблемы с батарейками?
+
avatar
  • berk
  • 29 февраля 2020, 18:01
0
я думаю этот вопрос вы замучаетесь задавать.
+
avatar
-2
Вы предлагаете к датчику открытия двери тянуть питание от сети? Ещё и бесперебойным питанием его обеспечить?
+
avatar
  • parakhod
  • 29 февраля 2020, 19:20
-1
В примерно 100% случаев сантиметрах в 20 от любой двери находится выключатель. Если выключатель не «тупой», а хоть как-то интегрированный в «умный дом», то просто подключите на один его канал геркон, и всё.
Если же он всё ещё тупой, то имеет смысл вначале заняться светом, а уж потом датчиками открытия дверей (ну или одновременно нормально сделать).
+
avatar
  • puma88ss
  • 29 февраля 2020, 20:12
0
На дверь хватило бы и геркона с двухжилкой. Ну а по обычной витухе можно и питание с LAN портом от центрального блока подвести — если хочется поизвращаться. Ну а центральный блок в любом случае должен иметь резервное питание. Вы, похоже, даже дома сетку от роутера не раскидывали, раз такие вопросы задаёте.
+
avatar
  • parakhod
  • 29 февраля 2020, 20:45
-1
Простейший и надежнейший вариант — KNX. Два провода всего. Какой-нибудь шнайдеровский модуль на 2 или 4 контакта меньше чем эта штуковина с батарейкой.
Но не самый бюджетный вариант, конечно.
+
avatar
+2
Простейший, ага. Половину железок без инсталлятора не купить)
А те, что купить — стоят безумных денег, потому что такой рынок хитрый: инсталляторам они продаются в два раза дешевле, а клиентам выставляется базовая цена, чтобы они не ныли «а чо столько денег за установку».
+
avatar
-4
Как-то я без проблем покупаю по вполне нормальной и адекватной цене (есть пара хороших немецких магазинов и один хороший британский). И почему-то у меня не возникнет проблем что что-то не купить.
Ну а что там кто кому выставляет это мне не особо интересно — такие вещи прикольнее самому делать.
+
avatar
  • Aostspb
  • 02 марта 2020, 13:56
0
и потенциальные проблемы с батарейками
Не только с батарейками, но и с возможностью зашумления канала связи.
+
avatar
  • parakhod
  • 29 февраля 2020, 18:29
+11
Не очень понятен смысл DIY реализации ровно того же, что предлагается в сотне промышленных вариантов (да ещё и с прошивкой на полу-сях имени ардуины). Все ж эти готовые датчики делаются в формате этих страшненьких коробочек чтобы купил-и-прилепил. Даже корпус для встраивания в дверь и коробку (чтобы было незаметно) уже сильно бы поднял интересность самоделки.
Потом геркон. Ну понятно — в массовом производстве он дешёвый. Но можно бы было датчик Холла использовать, даже пропорциональный. Тогда можно было бы реализовать калибровку и реакцию на положение «незакрыто».
Ну и самое кагбе — если это для дома для семьи, то почему бы не сделать датчик банально проводным? Нет проблем с батарейками, нет проблем с отваливающимися устройствами — одни плюсы и никаких минусов.
+
avatar
  • berk
  • 29 февраля 2020, 18:41
-16
+
avatar
  • parakhod
  • 29 февраля 2020, 18:48
+10
Реакция, конечно, имхо слегка странная, но это исключительно ваше дело как реагировать на внешние раздражители.
+
avatar
  • non7top
  • 29 февраля 2020, 23:40
0
Ну у этого человека слегка странноватая манера общения, судя по предыдущим статьям. Хотя вещи он делает полезные и статьи у него хорошие, не говоря уже о том что все выкладывает в общий доступ.
+
avatar
  • berk
  • 01 марта 2020, 10:45
0
внимательный читатель заметит что манера моего общения она разная, всё зависит от того с кем я общаюсь. не вижу смысла утруждать себя манерностью когда понятно ее отсуствие с другой стороны. а проницательный читатель так же заметит мой ненавязивый тролинг на тему ардуино и ардуинщиков в статьях, цель которого показать этому проницательному читателю что из себя представляет часть аудитории считающие сябя правильными разработчиками во всех смыслах ))))
+
avatar
+1
Вам стоит расшифровывать свои тонкие намеки и шутки, а то вас по ошибке могут принять за непрофессионала и затравить. Хотя постойте…
+
avatar
0
Удивительно, как вы мгновенно раскусили самовлюбленного парохода :-)
+
avatar
0
Есть примеры холлов с потреблением до 1мкА?
+
avatar
  • parakhod
  • 29 февраля 2020, 22:24
0
Я давно не копал современную элементную базу в этом направлении. Безусловно тот же AD22151, который я использовал как-то для линейных датчиков, жрет гораздо больше — единицы миллиампер. Но во-первых он и не предназначен для использования в мобильных устройствах, а во вторых даже такой можно элементарно питать в импульсном режиме. Вам же не нужны непрерывные данные.
+
avatar
  • sdfpro
  • 29 февраля 2020, 23:24
+1
Если память не изменяет видел на 10мкА(посчитал что очень мало, а тут ещё меньшие токи на кону), надо поискать в закладках.
+
avatar
  • sdfpro
  • 29 февраля 2020, 23:36
+1
Во нашел его, 540нА якобы потребление ,DRV5032
+
avatar
  • berk
  • 01 марта 2020, 11:19
0
почему же якобы? так и есть)
+
avatar
0
Замеряли?
+
avatar
  • DSergio
  • 02 марта 2020, 12:22
0
… а еще их можно питать короткими импульсами с длинными паузами. Вам ведь надо знать просто «открыто» или «закрыто», для этого постоянное питание датчика Холла не требуется.
+
avatar
0
Есть датчики, которые по подаче питания калибруются. Тексасовские точно. И что получится, если их дергать по питанию, когда рядом магнит — не очень понятно
+
avatar
+1
использую zigbee xiaomi, которые ловл. на сейлах по $5
работают отлично с хабом smartthings, если кто не хочет говнокитай IoT использовать
+
avatar
  • WarFox
  • 02 марта 2020, 15:16
0
где сейлы ловить?
+
avatar
  • vkozloff
  • 29 февраля 2020, 19:36
+1
А чем так интересен nRF52811?
+
avatar
  • berk
  • 29 февраля 2020, 19:47
0
Просто хотелось решения с максимально низким потреблением, у этого чипа оно менее 2мкА, есть еще чип nRF52810, по сути они одинаковы, просто в 810 нет поддержки зигби, а + такую возможность иметь хотелось бы. Да и в статье я написал что модули на которых напаяны 811, так же бывают и с 810 и 832 чипами, так что ничего не мешает поставить в девайс модуль на 810 чипе, и частично я себе спаяю и таких.
+
avatar
  • teuchezh
  • 29 февраля 2020, 19:56
0
Задам вопрос не по теме, кому-нибудь отправили посылки за последние 14-20 дней? Заказал пару чехлов и пару стекол более 20 дней назад, ещё не отправили ничего. Они вроде как частично отправляют некоторые заказы.
И вообще делали ли заказы за последний месяц?
+
avatar
  • Brs
  • 29 февраля 2020, 20:01
0
Мелочь отправили с задержкой, недели, купленное недавно почти сразу отправили. А три дорогих покупки (400 800 900баксов) висят в неотправленых, одна аж с 20го января…
+
avatar
  • genek319
  • 29 февраля 2020, 20:05
0
12 посылок у меня висят уже 19 дней, но мне не к спеху, подожду!
+
avatar
  • ewavr
  • 29 февраля 2020, 20:41
0
Мелочь отправляют потихоньку, но не все.
+
avatar
  • non7top
  • 29 февраля 2020, 23:43
0
Отставить паникерство. У людей там эпидемия, на улицы не выпускают (да и не думаю что кто-то особо рвется), так что ждите. Ну а так — отправляют с переменным успехом.
+
avatar
0
как то дорого $8 за nRF52840/nRF52811. Щас набирает популярность TLSR8269 за $4. Уважаемый pvvx ковыряет SDK и уже сделал программатор через com порт.

потребление TLSR8269:
Disconnect 0.09 mA (800 ms sleep: 17 uA, 5 ms active: TX impulse 33 mA +8dB)
Deep-sleep 1.7 / 3 uA (KEY2 — WakeUp KEY2 / KEY1 — Timer 30 sec)
Connect (7.5ms..4sec — sleep 17 uA, 3..5 ms active: TX impulse 33 mA +8dB)
+
avatar
  • berk
  • 29 февраля 2020, 20:26
0
+
avatar
  • berk
  • 29 февраля 2020, 20:36
0
а где почитать про изыскания по теме tlsr8269 уважаемого pvvx? киньте плз ссылкой на что нибудь если есть
+
avatar
0
вот одна из тем. поиск там на форуме странный, тк что придется вам руками разгребать.
+
avatar
  • berk
  • 01 марта 2020, 07:57
0
спасибо, интересный чип
+
avatar
  • Ivan_113
  • 29 февраля 2020, 22:25
+5
По схеме: вы действительно предлагаете разряжать 1миллифарад через 2 Мегаома?
+
avatar
  • Dimon_
  • 29 февраля 2020, 22:37
0
Отличная реплика, спасибо. Это действительно смешно.
+
avatar
  • parakhod
  • 29 февраля 2020, 22:59
0
Кодировку smd резисторов на схеме использовать вообще весело.
Однако если не обращать внимания на номиналы (ну чтоб делитель работал и время интеграции не стремилось к возрасту вселенной), то схема право на существование имеет. Хотя гораздо проще было бы использовать внутренние пуллапы или пуллдауны МК (что-то у него должно быть) и простейший программный дебаунсер.
+
avatar
  • berk
  • 01 марта 2020, 08:02
-1
рядом с схемой же написано — ардуино схема ;),… конкретно в данном устройстве оптимальнее использовать железные решения, хотя безусловно можно было бы и на внутренних подтяжках и софтовым антидредезгом.
+
avatar
-1
Внутренний пуллап и есть более чем железное решение.
Ну и дебаунс задержкой реализовать при прочих равных вообще даже лучше — не тратите место и деньги на лишний конденсатор, не тратите драгоценные микроамперы на его перезарядку — а числогрызных возможностей любого контроллера хватит не только на это, но и на намайнить немножко биткоинов в свободное время. Ардуинистость решения здесь совершенно ни при чём.
+
avatar
  • berk
  • 01 марта 2020, 10:18
-2
Внутренние подтяжки про которые выше понимайте как то что включается с помощью ПО, фиговина запаянная на плате оно прям железное решение. по поводу конденсатора, потерь на перезарядку его емкости, подавление дребезга с програмнымт задержками… присмотритесь к решениям которых как вы писали выше уже сотни на рынке. вы удивитесь тому что ваши идеи не очень популярны у разработчиков.
комментарий скрыт

+
avatar
  • DSLTIP
  • 01 марта 2020, 11:18
0
Может быть предложите свой вариант схемы, для не слишком опытных, желающих создать что-то подобное.
+
avatar
0
Свои варианты я уже предложил (однако развивать их не собираюсь, ибо изобретение велосипедов не входит в круг моих интересов). Лично у меня для датчиков открытия окон и дверей используются обычные герконы, которые идут на binary inputs KNX модулей.
Ели кому-то хочется беспроводного, то можно купить любую китайскую поделку за несколько долларов, типа Сяоми, и жить с ей долго и счастливо.
+
avatar
  • Aostspb
  • 02 марта 2020, 14:01
0
Внутренний пуллап и есть более чем железное решение.
В системах охраны надо следить еще и за обрывом линии.
+
avatar
  • berk
  • 01 марта 2020, 16:16
0
а вы думаете он бы влез в мой девайс ;) тут же как 2+2=4, для тех кто увидел красную тряпку это уже не важно, им бы пописать и поумничать.… пока вроде -2 :D
+
avatar
  • DSLTIP
  • 01 марта 2020, 05:19
+2
Герконовый вход МК подтянут к земле через 2 МОм? А что так можно было?) Уж слишком большой номинал, насколько это допустимо?
+
avatar
  • berk
  • 01 марта 2020, 09:53
0
настолько насколько это необходимо для решения задачи.
+
avatar
  • DSLTIP
  • 01 марта 2020, 10:09
+1
Ясно, значит проблем не должно быть. Тоже сделал себе герконовый датчик двери на cc2530, беспокоил разряд батарейки через подтягивающий резистор, поэтому решил вообще его не ставить, а использовать переключающийся геркон.
+
avatar
+2
Можно вопрос?

А зачем на схеме кроме геркона куча рассыпухи перед подключением к ножке MCU?
Почему нельзя просто один контакт геркона на землю, а второй — к MCU?

При опросе, ножку на ввод, pull-up на данную ножку включить, опросить — если пришел 1, опросить 2-3 раза с интервалом 5-10ms — все еще 1 — ок, считать что есть открытие, pull-up на данную ножку выключить, ножку в Z состояние — все.

Тут и антидребезг и никаких утечек и никакой рассыпухи.
Да, решение полу-аппаратное — зато более универсальное, меньше жрущее и при этом еще и более компактное.
+
avatar
  • Dimon_
  • 01 марта 2020, 12:09
+2
Прочитайте одну-две ветки выше вашей реплики.
Товарища ткнули носом в то, что он не умеет писать и читать номиналы элементов, что он не видит разницы между микрофарадами и миллифарадами, что он не знает, чем омы отличаются от мегаомов.
Но в ответ на откровенные ошибки и ляпы он только огрызается, никак не внмая рациональным советам.
+
avatar
  • berk
  • 01 марта 2020, 12:14
0
опять вы ничего не поняли и влезли в то в чем не шарите, эх… а идейка выложить картинку с ардуино схемой сработала, это приятно))
+
avatar
  • Dimon_
  • 01 марта 2020, 12:42
+5
Да куда уж мне, сирому…
Мне никогда не понять великого и глубинного смысла подключения геркона к +питанию, чтобы потом сразу после него вкорячить резистор на 47 кОм и этим микротоком заряжать конденсатор в 1000 микрофарад.

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

Вам уже пять человек открытым текстом, даже без намёков, прямо написало: подтягивай герконом ногу МК к земле:


Всё равно пишете в ArduinoIDE.

Напишите сверху
#include <Bounce.h>

в теле скетча
Bounce(ReedSwitchPin,100 );

и в сетапе
pinMode(ReedSwitchPin, INPUT_PULLUP);

и не морочьте себе и другим голову.

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

Хотите на ногу внешнего прерывания — кто ж вам мешает. Будите по фронту. (вот этим вы особо гордитесь)
Но весь этот неадекват синими каракулями в вашем обзоре у вменяемых людей ничего кроме смеха не вызывает.
Но видно, что разумное осознание конструктивной критики со стороны — не ваша сильная сторона…
+
avatar
  • berk
  • 01 марта 2020, 13:41
+1
я даже представить боюсь сколько ваш этот виртуальный девайс будет потреблять во сне с пуапом. поймите же речь не о кнопке а о сенсоре у которго два постоянных состояния.
по поводу картинки… она как раз расчитана на таких вот «вменяемых людей» ;)

по поводу оскорблений,… мне кажется они исходят от вас, если в моих ответах вас что то задело, уж извините, вроде бы статаюсь отмерять пропорционально. незнал что оскорбляющие на самом деле такие ранимые создания.
+
avatar
+3
Вы что, прикалываетесь? Просыпаетесь для опроса, подключаете пуллап, ждёте, измеряете состояние, отключаете пуллап, засыпаете.
+
avatar
  • berk
  • 01 марта 2020, 16:58
-2
оу, -3. вэлкам в группу.… ну ок, давайте порассуждаем… значит просыпатся для опроса? как часто?
+
avatar
+1
Раз в 200мс хватит, это же не выключатель кнопочный.
+
avatar
  • berk
  • 01 марта 2020, 17:29
-2
отличный выбор интервала опроса! отзывчивость будет отличная. в таком случае какой элемент питания вы бы порекомендовали для герконового датчика с рачетным сроком экстплуатации от одного элемента питания скажем в один год?
+
avatar
0
Отзывчивость чего? Датчика открытия двери? Если охранка — то то можно и секунду. Если на него свет завязан, то можно до 100-50 снизить.
CR2032 или CR2040. На 2032 получится года два, если пара-тройка открытий в день.
+
avatar
  • berk
  • 01 марта 2020, 18:16
0
ну с отзывчивостью разобрались, вы же написали что опрос раз в 200мс. cr2032 это отличный выбор, у меня правда душа лежит больше к ср2450-2477. а что такое сr 2040?… если вы расчитываете на один два года работы от одной батарейки на чипах nrf52811(810) то хочу вас огорчить, вы где то ошибаетесь. пробуждение чипа раз в 200 мс сильно быстрее высадит вашу cr2032. если вы имели в виду какие то другие мк подходящие под задачи которые должен выполнять какой девайс то пожалуйста напишите что это за мк
+
avatar
0
На CC1310 делали. Ничего не мешает тоже самое сделать на nrf52, режимы сна у современных мк примерно одни и те же. Редкие пробуждения — гораздо лучше для такого применения, чем подтяжка: открытая дверь будет постоянно жрать ток.
+
avatar
  • berk
  • 01 марта 2020, 19:08
0
и каково было потребление, не знаю вводных того что вы делали, но предположим опрос раз в 200мс,… просто у тех ссшек режим — уан вейкап эвери секонд потребляет 1мкА.
а у меня схема геркона потребляет тоже.
… и жрать будет закрытая, хотя конечно бы хотелось что бы открытая)
+
avatar
  • Z2K
  • 01 марта 2020, 23:02
-1
Очень большие накладные расходы на выход из «глубокого сна». Не знаю как конкретно у nrf52 — но условно 1000 тактов, на выход из сна что б потом сделать несколько команд опросить пин.
+
avatar
0
И? Это все равно экономичнее постоянно жрущей подтяжки. А в данном случае дверь легко может остаться в состоянии «открытая».
+
avatar
  • berk
  • 02 марта 2020, 05:30
-1
в состоянии открыто схема геркона не потребляет, тк нет утечки, в состоянии закрыто девайс потребляет грубо 5мкА, в импульсном с замерами раз в 200мс будет потреблять грубо 10мкА в любом состоянии
+
avatar
0
импульсном с замерами раз в 200мс будет потреблять грубо 10мкА в любом состоянии
А с чего, интересно, вы такой вывод сделали?
+
avatar
  • rx3apf
  • 02 марта 2020, 20:47
0
Да с потолка, тут вообще без вариантов. Или нужны реальные цифры требуемых ресурсов на пробуждение. Пока только никак не обоснованные «страшилки». Относительно прожорливые и древние PIC16/AVR дополнительные расходы на опрос на фоне общего потребления RTC вообще не заметят, неужели nRF52 НАСТОЛЬКО хуже?
+
avatar
0
Нормально замкнутый геркон? Или всё-таки уходить на холл?
+
avatar
  • rx3apf
  • 02 марта 2020, 20:44
0
Что же это за ужас такой кромешный, что такие ресурсы для пробуждения надо? С nRF52 «свечку не держал», но учитывая цифры потребления его RTC, как-то совсем нелогично выглядят страшилки про безумные затраты на пробуждения. Нахрена бы он такой бы нужен, при претензиях на экономичность? Какой-нибудь STM8 на разумной частоте опроса геркона ну прибавил бы от силы 100 nA при общем потреблении в 1..1.5 uA. Если все так скверно, то и надо хостом ставить что-то не столь прожорливое.
+
avatar
0
«я даже представить боюсь сколько ваш этот виртуальный девайс будет потреблять во сне с пуапом.»

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

Если говорить о срабатывании на открытие, например, окна, то просто покупается нормально замкнутый геркон. Который при наличии магнитного поля открыт (закрытое окно) и замыкается при пропадании магнитного поля (открытое окно).

Делается подтяжка входа к плюсу одним внешним резистором, а второй конец геркона сидит на минусе. Вот и вся схема.
Для этого входа конфигурируется прерывание/событие на изменение состояния, которое разбудит спящее ядро. А до тех пор ядро спокойно спит. Вход ничего не потребляет. Вот и все.

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

Только при срабатывании геркона (наступления события) на затворе появится минус и через подтяжку потечет ток. Желаемое значение получается от выбранного резистора подтяжки.

Дребезг контактов, естественно, элементарно программно обрабатывается.

Ну это так мысли с ходу, как это делается в готовых датчиках не смотрел :).
+
avatar
  • berk
  • 02 марта 2020, 12:10
0
про NC герконы это было неожиданно. ммм, купить что ли десяток хотя бы.… не поделитесь ссылкой где приобрести?
+
avatar
0
Берите с тремя ногами, там переключатель, используйте две нужные ноги из трех.
Хотя есть и двуногие нормально замкнутые…
Я в своей конструкции поступил иначе.
Взял обычный геркон, и сместил магнит так, чтобы при закрытой и открытой двери геркон был разомкнут, но в процессе открывания — кратковременно замыкался. Да, нет понимания состояния двери, но мне по Т.З. нужно было фиксировать факты открытия(зарытия) двери, а не её состояние…
+
avatar
  • Aostspb
  • 02 марта 2020, 14:08
0
замыкается при пропадании магнитного поля (открытое окно).
А если обрезать линию — то цепь тоже никогда не замкнется. :) Какой рай для вскрывающих…
+
avatar
  • berk
  • 01 марта 2020, 12:13
+2
в датчике используется крепкий сон и прерывания, вероятно поэтому)) а опросами ножек на автономных девайсах пусть занимаются true разрабы.
+
avatar
0
в датчике используется крепкий сон и прерывания, вероятно поэтому
Окей — так уже гораздо понятней, т.е. просыпается от внешнего прерывания.

А если посчитать сколько тратит проц на просыпание опрос и засыпание раз скажем в 200-300мс, не будет-ли это меньше чем ток утечки от схемы у Вас? Ну или примерно равно — тогда опять-же полу-хардварное решение будет лучше.

P.S. Я не в курсе, почему Вы так выше остро реагируете — я не спорю и тем более не навязываю свое мнение — мне действительно интересно. Кроме того, мнений всегда может быть несколько :)
+
avatar
0
А вариант не сна, а снятия питания рассмотреть не хотите? tpl5110 + p-mosfet + ESP8266 у меня работают отлично. 400нА в ожидании получается vs 10-20мкА режима сна ESP.
Да, и TPL решит вопрос антидребезга :)
+
avatar
  • DSLTIP
  • 01 марта 2020, 13:51
+2
что значит «при опросе»? Датчик не может постоянно опрашивать, он спит.
+
avatar
  • berk
  • 01 марта 2020, 14:00
+1
ну тут видимо можно предположить что рекомендуется настроить работу мк в импульсном режиме, тоесть переодически просыпаемся делаем опрос ножки и в сон. видимо предпологается что так можно выиграть в энергоэфективности по отношению в варианту на прерывании. а там кто его знает, не у того спрашиваете…
+
avatar
  • DSLTIP
  • 01 марта 2020, 14:12
0
Ну периодически просыпаться, это доп. затраты энергии. Хотелось бы найти идеальный вариант по энергопотреблению. Как вариант(использую внутреннюю подтяжку), после возникновения прерывания, перенастраивать подтяжку либо к земле, либо к питанию, и менять само прерывание — либо на спад либо на подъем уровня сигнала. В зависимости от текущего состояния входа…
+
avatar
  • berk
  • 01 марта 2020, 14:20
+1
присмотритесь к моему варианту, мне кажется он должен вас устроить
+
avatar
0
Исходная идея в минимизации потребления понятна. Вы можете логику выбора именно этого решения по антидребезгу и выбору номиналов резистора с конденсатром? Вот правда мне интересно без подвоха.
+
avatar
  • berk
  • 01 марта 2020, 18:32
+1
мне кажется вариантов в решениях особо и нет для устройств такого типа. по поводу номиналов, они просто меня устроили, задержка при включении геркона(закрытие двери) меня устраивает, при отключении геркона(открытие) задержка меньше, уровень мне хотелось оставить близкий к 3V3 логике. С номиналами резисторов и конденсатора никто не запрещает «поигратся». Уменьшив емкость конденсатора можно получить меньшую задержку при включении геркона(закрытие двери), но при этом не стоит сильно увлекатся, тк уменьшив ее скажеи до 0,1 uf можно начать получать ложные срабатывания, тогда придется увеличивать номинал верхнего резистора, но если тут увлечься то начнет понижатся уровень на делителе, его для надежности думаю не стоит понижать ниже 2V. что бы оставатся в рамках приемлегого уровня вероятно придется уменьшать номинал нижнего резистора, что повлечет увеличение утечки. В целом это все компромисы на которые вы согласитесь в своем устройстве. на уровень того же дребезга влияет даже тип геркона.
+
avatar
0
Где-то видел, сохранил. Может и Вам подойдёт?

Но всё-же холл с гистерезисом будет предпочтительнее :)
+
avatar
  • tklim
  • 01 марта 2020, 16:56
+1
Ну если верить документации на на NRF52, то уровень логического 0 определяется как 0..0,3*Vdd, Что при питании 3В составит 0,9В.
С такими номиналами RС как в вашем «антидребезге» — на разряд конденсатора уйдет порядка 2с, что крайне сомнительно для «датчика охранной сигнализации»
+
avatar
  • berk
  • 01 марта 2020, 14:41
0
вы уверены что такое решение «менее жручее»?
+
avatar
  • Z2K
  • 01 марта 2020, 15:36
0
несомненно более «жрущеее» — «опросить 2-3 раза с интервалом 5-10ms» — даже с выключеным радиоканалом будет не менее порядка больше потреблять чем с пробуждением по прерыванию.
+
avatar
  • berk
  • 01 марта 2020, 16:29
0
не каждому грамотному писуну это дано понять, а про геркон и pullup это вообще мрак
+
avatar
0
чем с пробуждением по прерыванию
Зависит от тока утечки и интервала опроса и возможности включать только нужную часть периферии проца.
+
avatar
  • DSergio
  • 02 марта 2020, 12:48
0
Было дело, принесли похожую хреновину… Ковырял с осциллом. Так вот, там опрос холла, а не прерывания, как мне казалось, было-бы правильнее, для девайса работающего от несъемной батареи… Батарейка там типа такой и вроде 10 лет гарантируют. Но я не проверял :-)
Камень — МСП430; лора модуль SX1276…
+
avatar
  • berk
  • 02 марта 2020, 13:01
0
там да, тк останавливать счетчик на пару минут нет смысла. а вот дверь или окно вскрыть подмагнитив геркон можно и за минуту.
+
avatar
  • DSergio
  • 02 марта 2020, 14:03
0
вскрыть подмагнитив геркон можно и за минуту
Можно, да (для этого можно поставить 2 датчика: рабочий и контрольный).
Но холлы в счетчике стоят на измерении потока… ;-) В этом и прикол — скорость потока сильно не постоянная. При этом, водой можно вообще не пользоваться год и более если не живешь в квартире… Прерывание от холла — самое очевидное решение, ноо… Да, кстати, на определение попытки останова — геркон ;-)
+
avatar
0
Второй — контрольный — tamper alert :)
Ещё можно врезать второй легковскрываемый замок, который не использовать, но поставить на него датчик «vzlom in porgress»
+
avatar
0
Интересно, какой там холл стоял? Был включен постоянно? Или дергали питание?
+
avatar
  • DSergio
  • 03 марта 2020, 11:16
+1
Такой вот Холл Да, дергали питание, причем не только холла а еще и усилителя к нему. Ширину импульса — хот тресни, не вспомню…
+
avatar
  • alextvr
  • 02 марта 2020, 09:30
0
Berk, молодчина! Так держать. Интересная разработка, есть чему поучиться.
Очень понравилась лабуда "....7 инженерных курсов (на итальянском языке) на 30 CFP...".
Показать что-то свое не может — нет у него ничего!
Чувачок, видно, МАСКВИЧОК, очень они любят курсики разные, повышения, понижения… цырлих-манирлих.
+
avatar
0
Всегда встает вопрос стоимости самоделки, опыт понятно бесценен, но цена тоже интересует желающих повторить проект…
+
avatar
0
как говорил один великий человек, деньги — пыль, не всякое удовольствие можно измерить деньгами.
+
avatar
  • berk
  • 02 марта 2020, 12:23
0
а веть можно было прочесть статью до конца :(
+
avatar
0
отличная работа. с нетерпением жду продолжения, расширения, углубления… ))))

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.