Pull to refresh

Comments 58

так как ESP8266 в активном режиме потребляет много энергии (даже с отключенным радиомодулем)

"An ESP8266 in deep sleep mode can consume as little as 8 to 20µA." что и указано в конце статьи. Так зачем ещё attiny?

Attiny судя по коду выступает этаким маложрущим счетчиком, у которого ESP забирает данные по i2c. Возможно есп будить ради подсчета было дорого.

Мой коммент саркастически-риторический. Я имел в виду, что это большой оверхед по железу (возможно, как результат ардуино-подхода).

По паспорту данных счётчиков воды у них 1 импульс на 10 литров. Это если исключить эпизодическое использование душа, то импульс будет приходить раз в минуты/десятки минут. Не думаю, что пробуждение esp из deep-sleep режима раз в 10 минут сожрёт больше, чем сожжёт attyny+её линейный стабилизатор за это же время (или за целую ночь).

Ну и настоящим "маложрущим счётчиком" может быть обычный 14-битный CD4020 чтение с которого без всяких i2c происходит напрямую и которого хватит без сброса на 163 кубометра. (это если хочется совсем отвязать подсчёт импульсов по пробуждению esp)

Если у EPS в deep sleep есть работающий low power таймер, то можно импульсы на него завести, а ESP будить по RTC например раз в сутки и обрабатывать/отправлять что накопилось

Раньше на всяких nxp PCA85063 такое делали...

ATtiny отвечает за функцию подсчёта импульсов счётчика, пока esp8266 "спит".

В современных ЕСП есть дополнительный маломощный проц(ESP32 ULP).

Если у вас получиться заставить esp8266 в режиме deep sleep ещё и подсчитывать импульсы со счётчиков, тогда да, не используйте дополнительный микроконтроллер ;)

Очень много написано про токи потребления, энергоэффективность и т.п., стоило уж сосчитать и привести конечную циферку - сколько проживёт-то на одной зарядке? И продолжая тему питания. Контроля и индикации заряда аккумулятора нет или я что-то пропустил? Зачем схема зарядки на устройстве? Его что, надо будет от трубы открутить, нести куда-то на зарядку, заряжать, нести прикручивать обратно? Или удлинитель к нему кидать? Не проще аккумулятор менять?

Интересно, почему было не использовать готовые решения? У меня дома 2 группы стояков ХВС/ГВС, два устройства подсчёта на 2 АА-батарейках, и уже не первый год они отправляют показания на почту.. И да, в них тоже есть ESP и Attiny.

Когда рассматривал ровно такую же задачу пришел к нескольким вариантам:

  1. ESP32 современных версий в deep sleep c пробуждением от UP/DOWN на пинах (т.е. если нет изменений на пинах устройство спит себе тихо пробуждаясь дополнительно по таймеру раз в несколько часов)

  2. Решения типа PCF8593 со своими ограничениями (типа только 2 возможных i2c адресов, необходимости отдельно подавлять дребезг контактов), тут я пришел к выводу что проще делать ровно так как и сделал автор -- поставить на входах attiny

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

Почти получилось решение по первому варианту, но работает крайне нестабильно, часто перезагружается сразу по выходу из дипслипа, может из онного не выйти и т.п. Может это и какие-то простые проблемы(= мои кривые руки), но с моим нулевым опытом в этой теме для меня выглядит препятствием.
ESP видел первый раз в жизни, для себя задачу "посмотреть как эти SoC применимы в реальной жизни для задач с низким энергопотреблением" я решил.
Без дипслипа всё естественно работает, было +- просто, но настолько энергонеэфективно просто не интересно.

На esp32 это предлагается делать не выходя из deep sleep посредством работающего ULP ядра https://github.com/espressif/esp-idf/tree/master/examples/system/ulp/ulp_fsm/ulp

У меня уже полтора года трудится самоделка с тем же функционалом. Основа - Wemos Lolin32 v1.0.0 на базе контроллера ESP32, сразу на плате есть зарядник для аккумулятора, стабилизаторы низкопотребляющие - супер модуль! Просыпается по таймеру раз в минуту или по прерыванию от счетчика и передает показания по блютуз в home assistant. За полтора года заряжал два раза и сейчас есть еще 50% заряда, и это с аккумулятором от старого ноута с остаточной емкостью около 1200мАч. Единственная проблема, которую поймал - прерывание повторно многократно будит еспешку если водосчетчик остановился в замкнутом состоянии геркона и программно настроить пробуждение так и не получилось. Пришлось допаивать развязку на RC цепочке для формирования короткого пробуждащего импульса.

Сейчас читаю Вашу ссылку чтобы переписать счет на ULP.

Интересно, но ведь все ради фана? Тот же Ватериус отлично работает, стоит не сильно дорого, плюс еще и отправляет автоматически показания в УК.

И по схемотехнике на ватериус похоже. Тоже тинька для счёта импульсов и ESP8266 для коммуникации.

Немного не по теме статьи, просто хотел бы поделиться, вдруг вам понравится. Я светодиоды применяю в smd виде. А для вывода на корпус использую световод диаметром 4мм. Из корпуса ничего не торчит, проще моделировать и паять, приятно светится. Просто как альтернатива запаянному выводному светодиоду.

Да, можно smd светодиоды ставить, но мне хотелось поставить именно 4 мм светодиод, он придает какой-то "ламповый" стиль.

Вы чего же это, ироды, делаете чтобы у вас tiny2313 столько ела ?! Зачем вы ее в цикле крутите на 1 МГц ? Заведите клок I2C на INT0, а вход от датчика на INT1. Они оба пробуждают тиньку от глубокого сна с остановленным тактированием. После отработки прерывания от датчика, оно должно ложиться спать сразу. А при активации клока на I2C - засыпайте сразу после STOP-condition. При этих условиях, саморазряд лития будет больше, чем потребление тиньки за тот же период. И на надо LDO - тинька прекрасно работает напрямую от аккумулятора, и если вы ее правильно положите спать, то есть она почти ничего не будет (у нее нет DRAM, а SRAM без переключения ничего считай и не потребляет - только токи утечки).

UFO just landed and posted this here

У меня батарейки AA/ААА меньше чем за год вздуваются и вытекать начинают, что у вас за батарейки волшебные?

UFO just landed and posted this here

Я рад за Ваш опыт. Мне где такие взять? Да ещё и из 2017 года?

UFO just landed and posted this here

Нет никакой гарантии, что я такое же куплю, а оно не потечёт через полгода.

UFO just landed and posted this here

Спасибо! Надо будет попробовать.

Кстати, может кто знает, не появилось ли функционального аналога Dallas/Maxim DS2423 от какого-нибудь другого производителя?

Видел такой эмулятор. Он же и на радио-коте. На основе attiny13 сделан, как я понял. Но параметры весьма впечатляющие. Скорее всего сейчас есть ещё менее потребляющие мк, на которых такое можно сделать.

Как-то все усложнено и не особо эффективно.
Если хочется совсем низкого потребления - то вместо LDO - что-то вроде TPS62742 или TPS62842 и P-мосфет на управление ESP.
В качестве малопотребляющего МК вполне подойдет стандартная atmega328p: Power-save Mode: 0.75µA (Including 32kHz RTC). Т.е. туда устанавливается кварц на 32768, просыпается по прерыванию от датчиков или RTC. Дальше уже включать ESP раз в несколько минут если счетчик тикает и раз в 12-24 часа по таймеру, чтоб доложить что устройство работает.
Итого потребление в ждущем режиме - 2-3мкА максимум.
А вообще, тут просится BLE или Zigbee. И одна батрейка CR123A лет на 5-10..

CR123A лет на 5-10 - на Нобеля тянет... слабо?

https://apac.itron.com/o/commerce-media/accounts/-1/attachments/3808651
Battery lifetime Up to 14 years*
Там по идее 2хCR123. Плюс там нет контактов, датчик индуктивный, так что больше потребляет, чем геркон.

UFO just landed and posted this here

Молодежь переползает потихоньку с Радиокота сюда...

Это-ж офигеть, имея достаточно крутой проц в ЕСП, и не зная как сделать, ставить еще один , на котором знаю... потом выдумывать еще интерфейс между ними...

UFO just landed and posted this here

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

Это не только для него хорошо - я вот тоже много полезного узнал про подходы к энергосбережению.

Т.е. вместо того, чтобы поверить старые счётчики, вы их просто выкинули и купили новые?

Старые умеют выдавать данные наружу по проводам?

UFO just landed and posted this here

А ещё к ним магнит сбоку прилаживали, и они вообще ничего не считали.

UFO just landed and posted this here

Не умеют. Можно поставить оптические датчики, но "овчинка" выделки не стоит.

Вот именно. Была уже тема про установку камер и распознавание показаний счётчиков. Овчинка, может, и стоит, но не у всех есть достаточно места, чтобы установить камеры. А ещё ко всему этому питание подвести нужно.

Речи не идет об установке камеры для распознавания.

Оптический инфракрасный сенсор на "вертушку" счетчика.

Всё это находится в полной темноте под крышкой. Освещение к такому сенсору не требуется? И что это за конструкция - бывает что-то готовое? Можете дать ссылку на описание такого сенсора?

Что с этим датчиком делать? Встраивать внутрь счетчика?

К стеклу прислонять, напротив крыльчатки. Но там есть свои нюансы... с глянцем на крыльчатке, её цветом (несмотря на ИК) и т.д.

The TCRT5000 and TCRT5000L are reflective sensors which include an infrared emitter and phototransistor in a leaded package which blocks visible light.

К стеклу прислонять

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

Экономически выгоднее выбросить старые и обновить учёт для возможности интеграции в систему умного дома.

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

Если есть ZigBee ... То решение подсчёта импульсов давно уже есть

Разумеется, решений куча и маленькая тележка. Цель статьи не заявить о каком-то уникальном решении, а мотивировать людей заниматься DIY. Например, мой умный дом на 99% состоит из своих умный устройств, потому что просто купить устройство это скучно и не интересно.

Sign up to leave a comment.