Создание датчиков на батарейках в умном доме
день 1565 Алекс на связи
Сначала я пытался сделать устройство которое работает сетей питается 5 Вольт но довольно быстро стало понятно Что гораздо удобнее использовать устройство на батарейках на рынке конечно было достаточно мало устройств которые можно купить либо не стоили очень дорого мне пришлось изучать на чем же можно сделать эти устройства альтернативно в основном я в итоге пришел к тому что использую микроконтроллер тени 85 есть специальная версия которая позволяет работать с низким потреблением в режиме сна это версия 20 и на этой версии потребления в режиме сна этого микроконтроллер составляет всего 4 микроампера так в режиме работы этого микроконтроллера около 4 миллиампер и это конечно Например если я использую батарейку ZR 2450 я ее выбрал потому что она побольше у неё больше номинальный ток который она может отдавать этот микроконтроллер даже допустим режиме ожидания может проработать 17 лет если его он будет работать в режиме непрерывном то он конечно проработает около 6 дней если сходить с того что батарейка 2450 имеет емкость 610 миллиампер час для того чтобы этот микроконтроллер постоянно засыпал то используй специальный режим Watch Dog это такой таймер который позволяет пробуждать микроконтроллер с какой-то периодичностью например на этом микроконтроллере есть возможность его настраивать на разных диапазоны от 100 миллисекунд до 8 секунд и получается так что микроконтроллер выполнен какое-то действие переводит себя в режим сна И дальше этот таймер он работает параллельно питается отдельно и соответственно он потребляет очень мало энергии собственно эти четыре микроампера и дальше при срабатывании этого условия вот этих 8 секунд он пробуждает микроконтроллер он достаточно быстро прогружается он принципе включается на том же месте на котором он остановился и дальше продолжается программа выполняться сохранение всех данных которые на нем были момент накоплены для того чтобы обеспечить работу этого датчика Достаточно долго этого микроконтроллера то конечно нужно чтобы он Как можно дольше спал И как можно меньше работал Это позволяет сделать таким образом что сам цикл работы должен быть очень короткий Конечно можно сделать Например если используются какие-то датчики спрашивать например раз в минуту это сделано таким образом что когда таймер пробуждается например каждые 8 секунд он проверяет суммарно прошло ли 60 секунд если они пришли то можно выполнить какое-то действие если не прошли то микроконтроллер снова сразу засыпает и практически не тратит время но некоторые датчики которые я использую они например датчики температуры они работают по протоколу и 2C этот протокол последовательного обмена и нужно некоторое время для того чтобы с этого датчика считать значение то есть управлять специальные наборы импульсов датчик обрабатывает и возвращает значение этому тоже достаточно быстро но может быть даже там до 50 миллисекунд продолжаться И существенно влияет на расход батарейки Или например если у меня используется датчик в качестве счетчика воды то само срабатывание геркона на счетчике может выполняться достаточно часто и если например микроконтроль будет просыпаться только раз 8 секунд он может пропустить это действие и соответственно не посчитать этот расход Поэтому если разные счетчики которые считают палитру есть который считает по 10 литров Но в основном Конечно все ставят которые считают по 10 литров за цикл импульса то есть включение выключение То есть получается что включение или выключение это 5 литров То есть если идет расход то конечно может оказаться Что за 8 секунд эти 5 литров потратились и микроконтроллер не увидел изменения статуса этого геркона приходится делать Так что микроконтроллер должен просыпаться чаще это может быть и несколько миллисекунд допустим 100 или 200 или 500 либо это может быть несколько секунд например одна или две или четыре это я подбирая опытным путем нужно понимать например Какой расход идет если например все краны одновременно будут включены то успевать в этот момент Засечь изменения статуса Но чем чаще пробуждается тем Конечно больше получается у него время работы суммарно и тем больше расход батареи я конечно пытаюсь придерживаться соотношение где-то 1000 в таком то же время Он позволяет проработать примерно 500 дней вообще я сделал такой способ измерения работы микроконтроллера чтобы понять сколько он находится в режиме активным Сколько в режиме сна это я просто например есть такой таймер millis на микроконтроллере команда которая позволяет посмотреть сколько времени контроля в принципе проработал активном режиме если он засыпает то этот таймер останавливается и понятно что нужно каким-то другим образом понимать как идет время когда микроконтроллер спит и в этом случае я знаю просто на какой таймер у меня настроена и соответственно если допустим на 8 секунд настроен то я к значению этого который сохраняет время сна прибавляю 8 секунд и таким образом понимая насколько всего находится в каком режиме Конечно если использовать батарейку например другую вообще этот микроконтроль позволяет достаточно большой диапазон работы с батарейками он может работать пяти с половиной Вольт максимально это до где-то 2 и 8 Вольта дальше работать нестабильной но она еще зависит от того какая частота на микроконтроллере используется Я использовал 8 мегагерц это практически заводская настройка и обычно я конечно питаю от трех вольтовых батареек но принципе можно и использовать 5 Вольт например Это пита вот какого-то usb-зарядника Или например это может быть три батарейки пальчиковых типа а то они вместе будут давать четыре с половиной Вольта Но это по номиналу конечно новые батарейки они дают больше и есть конечно вероятность что даже выйдет 5 с половиной Вольт также для некоторых датчиков я использую питание от легионной батарейки там базовое напряжение на 38 Вольта но когда она только что заряжена была то там обычно показывают 4 и 142 Вольта Это для микроконтроллер вполне нормально и он конечно такой батарейки может работать очень долго причем никакие большие токи например которые требуются для передачи информации на нем напряжение практически не влияет все на микроконтроллере есть возможность измерять Напряжение питания Там есть встроен такая функция если например она я измеряю при питании от батарейки То в этот момент конечно контроллер включен и напряжение обычно сильно занижено отличие от того если его измерять допустим режиме сна микроконтроллера или просто без нагрузки измерять напряжение на батарейки но допустим от питания от больших там пальчиковых мизинчиковых батареек или вот литийной батарейки то там такого приседания практически нет и на основании этой информации Конечно можно также передавать систему умного дома и отслеживать состояние батареек литийными батарейками конечно нужно быть аккуратней потому что они очень плохо относятся к переразряду но такой контроллер в принципе не способен фак посадить эту батарейку Если только не будет работать в режиме постоянно включена такому микроконтроллеру Это самый простой есть конечно еще один 13 у которого характеристики поменьше и памяти встроены и производительность поменьше но практически я не использовал Никогда потому что абсолютно нет смысла а тени 85 стоит не намного дороже порядка 100 рублей к нему датчики например датчик температуры стоит порядка 200 рублей Если это хороший если это простой самый датчик то он может около 50 рублей стоит эти датчики температуры и влажности идут одновременно что принципе достаточно удобно Вообще стоимость конечно такое устройство получается достаточно низкой то есть порядка 500 рублей Конечно можно найти фирменные устройства например Xiaomi или туре который тоже будет работать либо на на батарейках либо даже на cr2032 и примерно такое же время конечно у них достаточно красивый корпус уже и они в целом гораздо качественнее сделаны но плюс самодельного устройства это то что можно подключить например еще датчик освещенности и параллельно измерять освещенность датчик освещенности это простой фоторезистор за 2 рубля который можно купить и конечно функциональность датчика сильно расширяется
Автоматизация в умном доме должна быть полезной и создавать дополнительный комфорт, но иногда всё идет не так… Причины этого, и как всё настроить смотри на моём канале.
Discuss about post