Помимо коридора, у меня есть еще одно волшебное место, где домочадцы постоянно забывают выключить, то освещение, то, что еще менее приятно, вентиляцию… Понятно, что последняя включается и выключается по порогам, но, а если ее вручную включили? Вот и шарашит без умолку, пока кто-то не заметит или влажность не поскачет туда сюда…
Если в коридоре худо-бедно свет можно выключать просто по таймеру1), то в совмещенном санузле так уже не получится, ну вообще ни как!
В итоге выбор очевиден! – поставить датчик движения. Какой? Да любой! – в моем случае под рукой оказался микроволновый HW-MS03 от HaiWang, заказанный несколько лет назад и до сих пор неоприходованный. Почему именно этот? Да ни почему! Просто на вид понравился, взял да заказал на пробу2).
Ладно, хватит воды, теперь серьезно.
Всем оказался этот датчик движения хорош, кроме настроек, т.к. для изменения времени блокировки и чувствительности, которую тут везде называют дистанцией, нужно заморачиваться с заменой резисторов, да еще и SMD!
Но вишенкой на всем этом становится то, что нет никакой внятной инструкции по подбору номинала, даже на официальном сайте! Техническая спецификация на микросхему BISS0001 от Silvan Chip Electronics Tech.Co.,Ltd, на которой и построен сенсор, тоже не блещет ответами – ни оригинальная, ни какая-то другая, более подробная.
В общем, немного погуглив, пошел путем проб и ошибок…
По умолчанию оно составляет около 2-х секунд при использовании резистора 472R номиналом 4k7, т.е. 4.7 килоом, который обозначен как «R2» и подключен к 3-й ноге микросхемы одной стороной, а другой к 4-й.
При увеличении сопротивления, время, в котором выход остается высокий при отсутствии детекции движения, увеличивается.
Вот некоторые замеренные мной значения.
Номинал резистора | Время в секундах |
---|---|
4k7 | 2 |
150k | 34 |
250k | 57 |
470k | 107 |
Т.е. можно использовать потенциометр 504 на 500кОм и регулировка будет в пределах от 0 до 2-х минут примерно или 105-й на 1мОм и диапазон будет еще шире. На последнем я и остановился.
За регулировку чувствительности отвечает резистор 01E номиналом в 1мОм, обозначенный как «R9» и подключенный к 12-й ноге одной стороной, а другой к 13-й. Производитель заявляет, что такой номинал обеспечивает 10-иметровую дистанцию…
С измерением чувствительности дела обстоят несколько сложнее, т.к. у меня нет прибора для проведения инструментальных замеров. Приходится бегать по комнате и махать руками.
Вкратце, получилось, что номиналы от 4k7 до 47k не работают вообще, 56k – движение большого объекта сенсор видит где-то с полуметра, а 100k – начиная где-то с одного метра.
Дальше мне бегать надоело, взял так же 105-й реостат, выкрутил его на 50%, и на этом успокоился.
Если с резисторами неожиданностей не возникло, то с питанием от платы Sonoff RFR2 пришлось заморочиться…
Вот тут китайцы красавчики! – они оставили на плате достаточно крупные тестовые площадки «T1», «T2» и «T3», «T4», которые соединены, соответственно, с выводами «R2» и «R9», и куда очень удобно оказалось припаять отводы на потенциометры, предварительно убрав с платы штатные резисторы!
В моем случае плату решено было подключить к тому, что было ближе всего к месту установки – этим оказалось реле Sonoff RFR2, использующееся для управления освещением в ванной.
Изначально все шло хорошо и гладко, т.к. схема подключения простейшая и примитивнейшая:
HW-MS03 | RFR2 |
---|---|
+VIN | +5v |
OUT | TX |
GND | GND |
Т.к. на плате RFR2 нет отдельного пятивольтового вывода, для питания оказалось проще всего подпаяться к «та́бу» микросхемы ME6211A3).
Далее все это красиво упаковал в корпус, забросил за нашивной гипсокартонный потолок и пошел писать поток Node-RED для управления всем этим.
Неведомая ебанная хуйня началась через несколько дней, когда я решил, что датчик расположен не совсем удачно, т.к. в сценарии использования этого помещения, называемой «позой мыслителя», свет, у некоторых из членов семейства, все же выключался, и полез его перекладывать.
Переложил. Успешно. Ложных срабатываний практически не стало…
Но вот незадача – и работать оно перестало тоже! Т.е. движение прекращается, таймер задержки выключения заканчивается, а свет не гаснет… Точнее, как выяснилось позже, все же гаснет, но моментально включается обратно, что далеко не всегда визуально видно!
После долгих экспериментов, выяснилось, что при переключении реле, одновременно срабатывает датчик движения и… включает обратно реле! А еще после не менее долгих, окончательно стало понятно, что это аппаратная, а не, как я предполагал, программная, проблема…
Но о ней я и подумать не мог, т.к. до этого все работало, а перестало, когда я просто переместил датчик движения из одного угла ванной в другой. И только совсем потом до меня дошло, что помимо физического перемещения датчика, я выкрутил «дистанцию» на максимум! Вот и ответ, почему раньше несколько дней подряд работало, а потом перестало.
Дальнейшие эксперименты, с привлечением мультиметра, осциллографа, плохого настроения и отборного русского мата, привели меня сперва к такому решению, которое иногда работало, потом к такому, которое работало уже намного чаще, потом к еще одному, фото которого не сохранилось4), которое вообще отлично работало, но потребляло 20 раз больше энергии, чем без него, и, соответственно, грелось по сучьи, и, наконец-то, финальному:
Увы, это решение не идеальное, т.к. в моей локации даже оно не дает 100% защиты от ложных срабатываний! Поэтому было решено заменить микроволновый датчик движения на два инфракрасных, работающих в паре.
Оказывается, микросхема AMS1117-5.0, с минимальной обвязкой из даташита, может работать, как отличный фильтр по питанию, при том совершенно не греясь! Правда надо учитывать, что при подаче на нее 5.2 вольта, на выходе получается примерно 4.8… но, т.к. HW-MS03 работает в диапазоне напряжений от 3.7 до 24 вольт, вполне себе достаточно.
Вместо такого костыля можно использовать отдельный блок питания, который питает только датчик5), соединив земли с RFR2, но так все же компактнее…
Тут все просто:
Backlog Template {"NAME":"Sonoff RFR2","GPIO":[32,160,0,0,0,0,0,0,224,576,0,0,0,0],"FLAG":0,"BASE":2}; Module 0
Backlog SetOption114 1; SwitchMode 1; SwitchTopic 0
Backlog Rule2 ON Switch1#State=1 DO Publish %topic%/stat/MOTION %value% ENDON ON Switch1#State=0 DO Publish %topic%/stat/MOTION %value% ENDON; Rule2 1
Ну а дальше, можно добавить поток Node-RED, для управления всем этим, или добавить этот датчик движения в конфигурацию Homebridge.
Обсуждение
Пробовали его на отдельный блок питания посадить?