Датчик для счетчика воды в умном доме
Сегодня завершил мониторинг работы датчика расхода воды. У меня он подключен к счётчику горячей и холодной воды в туалете. Это простые счетчики, которые имеют дополнительный провод, которому можно подключать счетчики импульсов. Этот провод работает очень просто он либо размыкает соединение, либо замыкает соединение, в зависимости от количества литров потраченных. Весь цикл замыкания размыкания проходит за 10 литров, но например замыкание может пройти через три литра, а размыкание через 7 литров. Сам датчик очень просто устроен это микроконтроллер attiny 85, в принципе больше к нему ничего не нужно для подсчета импульсов. Можно подключить проводами напрямую к выходу микроконтроллера и считывать значение, сколько замкнулся и разомкнулся контакт, но для защиты конечно, для надежности нужно добавить несколько элементов это резисторы которые обеспечат защиту микроконтроллера в случае если на ножки микроконтроллера будет подано неправильно напряжение.
Сам микроконтроллер работает из батарейки, батарейку я использую CR 2450, передачуи микроконтроллер осуществляет радиопередатчиком на частоте 433 мегагерца.
Я уже рассказывал, что у меня есть самодельный шлюз на базе esp8266, который подключается к wi-fi, к сети и умному дому, также используется протокол MQTT на этом микроконтроллере, к этому шлюзу подключен приемник и передатчик на частоте 433 мегагерца. Дополнительно есть еще ИК приемник для управления с пульта.
Датчик контроля расхода воды, он отправляет периодически сигнал, у меня сейчас сделано так, что отправляет каждые 5 литров и соответственно отправляется и сам факт потребления 5 литров воды и также и накопительное значение. Даже если по какой-то причине не проходит сигнал передачи с микроконтроллера, поскольку он стоит достаточно далеко от шлюза и дополнительно так как он питается от батарейки, которая не рассчитана на такие большие импульсные токи, которое возникают при передаче, то при повторной посылке следующего пакета все равно уровень подсчитанного расхода воды обновиться, он уже будет правильный, и у меня не возникнет проблем с конечным значением расхода воды.
Если бы я подсчитывал импульсы на стороне умного дома, то конечно могла бы возникнуть проблема, что значения будут пропускаться, факт потребления воды не будет передаваться своевременно, и в умном доме счетчик начнет отставать.
Я уже очень давно использую счетчик расхода воды, раньше когда я начинал, я использовал микроконтроллер Arduino Nano, он также передавал по частоте 433 мегагерца, но питался от электричества. У меня выведена розетка около этих труб, около счетчиков, но при пропадании электричества значение каждый раз обнулялось и расчет начинался заново, что не очень удобно. Как вариант можно конечно сохранять было в памяти постоянной микроконтроллера эти значения, но сама память она недостаточна надежна в этом плане, она сделана с ограниченным количеством записи. Есть варианты как сделать циклический буфер записи, чтобы как-то продлить, но в целом это все равно временное решение и оно не очень удобно. Конечно сами сбои по питанию возникают не часто и принципе ничего не стоит перенастроить, а также можно сохранять не каждый литр, точнее не каждый импульс, или не каждые 5 или 10 литров, можно сохранять, допустим, когда будет потреблен целый куб, потому что все-таки информация нужна целых кубах, а не в литрах и не тысячных куба.
Также я пробовал делать этот счетчик на базе wi-fi, использовал esp8266, но на самом деле никакого смысла в этом нет, потому что в принципе на частоте 433 мегагерца довольно удобно передавать, канал достаточно свободный, хотя все время рассказывают, что есть очень много сигнализаций, брелков от шлагбаумов, еще какие-то устройства, которые забивают эфир, но на самом деле это не так. Давным давно уже это не используют и сейчас в принципе использование этой чистоты не вызывает никаких сложностей. Причем сам формат передачи он достаточно дальнобойный и в принципе небольшими пакетами можно вполне корректно передавать. Есть несколько способов контроля качества передачи, я отслеживаю и в принципе я понимаю, например если у меня счетчик передает значение и например у меня потратилось 100 литров значит должно быть 20 пакетов передачи, я могу понять, посчитать сколько в умном доме было сделано записей и реально практически все 20 пакетов всегда доходят. Поэтому использование wi-fi это избыточно и на самом деле никакого плюса не дает, единственное что при использовании wi-fi микроконтроллера можно при перезагрузке подгрузить данные с сервера. Но это на самом деле, как я уже говорил, возникает редко.
Все-таки я рассматриваю как вариант это использование батарейного способа питания, в интернете есть варианты этих счетчиков, которые также работают от батареек они используют либо zigbee либо wi-fi, конечно в этом случае zigbee наверное более интересное решение, но у wi-fi есть способы, некоторые устройства могут отправлять значение сразу на облако, и можно пользоваться через облако и просматривать значения показателей счетчиков удаленно.
При использовании формата передачи zigbee конечно это нужно будет сохранять в системе умного дома и уже средствами системы умного дома пытаться смотреть какие там значения текущие накопились. Также эти счетчики конечно не подключаются к фирменным шлюзам zigbee, поэтому нужно будет использовать стик, ну и сама настройка этих zigbee устройств она достаточно сложная.
На текущий момент у меня этот счетчик работает уже больше 100 дней, расход батарейки достаточно экономичный и по моему расчету проработает от этой маленькой батарейки примерно 500 дней, но буду смотреть буду отслеживать и возможно какие-то другие решения буду применять.
Дополнительно можно конечно поиграться с количеством отправок самих значений, например отправлять не каждые 5 литров, а реже например раз в месяц, но это ничего не дает потому что потребление микроконтроллера в спящем режиме это наверное самый основной расход энергии, он очень минимален и при таких условиях 500 дней это вполне для него достижимо.
Автоматизация в умном доме должна быть полезной и создавать дополнительный комфорт, но иногда всё идет не так… Причины этого, и как всё настроить смотри на моём канале.
Discuss about post