24.04.2024

Счетчиков воды схема подключения – критерии выбора прибора и правила установки, пошаговая инструкция и тонкости работы, ввод в эксплуатацию

Содержание

Схема подключения счетчика воды в квартире

Виды счетчиков и схемы подключения

С целью экономии средств на оплату коммунальных услуг, да и в соответствии с законом многие поспешили установить водоучетные приборы на территории своей жилплощади. При этом многие воспользовались услугами работников ЖЭКа или специализированных компаний. А большая половина потребителей холодной и горячей воды приготовились установить приборы сами. Поэтому схема установки счетчика воды так интересна нашим читателям.

Важно: если возникают сомнения по поводу правомерности самостоятельного монтажа водомера, то стоит знать, что в законе чётко прописано о том, что приобретение и подключение счетчика на воду производится за счёт потребителя и его силами. То есть, конкретного регламентированного запрета на самостоятельное проведение работ нет. А, как известно, что не запрещено, то разрешено.

Типы счетчиков для квартиры

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

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

Для подключения водоучётного прибора в квартире лучше приобрести самый простой крыльчатый механизм. Такое устройство проверено в эксплуатации годами, проходит обязательную сертификацию и требует проверки раз в шесть лет (для холодной воды) и раз в четыре года (для горячей воды).

Важно: на каждую систему водоснабжения нужно приобретать «свой» счетчик, заключенный в корпус определенного цвета или имеющий пояс определенного колера. Так, для холодной воды — синий цвет, для горячей — красный соответственно.

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

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

Технические рекомендации

Установку и подключение счетчика на воду нужно проводить в соответствии с правилами, регламентируемыми водоканалом. То есть, место под монтаж учётного прибора в санкомнате должно выбираться продуманно, а не по принципу «монтирую, где удобно».

  • Так, в правилах прописано, что подключение учетного прибора должно проводиться максимально близко к патрубку входящей в квартиру трубы. При этом конкретное место в правилах не указывается. Но монтаж и подключение водяного учетного прибора должны производиться в таком месте трубопровода, в котором несанкционированный врез будет технически невозможен. То есть у инспектора не должно возникнуть сомнений насчет вашей порядочности, как потребителя.
  • Немного сложнее дело обстоит с подключением водомера в частном доме. Здесь водосчетчик должен устанавливаться исключительно не далее чем 20 см от начала входящей трубы к дому от центрального водопровода.
  • Случается, что в квартире, в которой будет проводиться установка водомера, имеется пожарный водоотвод. В этом случае необходимо пригласить сотрудников пожарной службы, чтобы они установили специальную задвижку на обводной трубе. Впоследствии и задвижка будет пломбироваться вместе с счетчиком. Но часто пожарники не спешат по вызову, поэтому можно установить такую задвижку и самостоятельно.
  • Если в квартире имеется двухтрубная система горячего водоснабжения, то обладателям такой коммуникации для подключения счетчика придётся докупить еще и перепускной клапан. Если его не установить, то вода по трубе будет циркулировать постоянно, а это значит, что счетчик будет постоянно мотать, даже если вода не расходуется.

Важно: на монтаж подобного элемента разрешение у пожарной службы брать не нужно.

  • Также стоит помнить, что при установке счетчика на воду в квартире температура в помещении должна составлять не менее +5 градусов по Цельсию.

Схема монтажа счетчика

Для того чтобы установить водяной учетный прибор на ХВС и ГВС в квартире, придется для начала понять принцип работы всей считающей системы. А составляющими коммуникации будут являться:

  • Запорный кран . Такой элемент устанавливается перед счетчиком и позволяет перекрыть подачу воды на квартиру в случае необходимости проведения ремонтных работ. Лучше всего приобретать простой рычажный кран или кран-бабочку. Но всегда стоит помнить, что этот тип крана нельзя держать в полузакрытом или полуоткрытом состоянии. От такого обращения кран быстро выйдет из строя. Если есть цель подавать воду в квартиру в экономном режиме, то лучше установить вентильный запорный кран.
  • Фильтр грубой очистки (косой) . Этот элемент дополнительно защищает водяной счетчик от попадания в него мелкого мусора, возможно, песка или ржавчины. В патрубке фильтра собираются эти включения. Устанавливать фильтрующий элемент нужно исключительно патрубком вниз. Это облегчит сбор мелкого мусора в отсеке.
  • Счетчик на воду . Монтируется следом за фильтром циферблатом вверх. Причём и на горизонтальных, и на вертикальных трубах водопровода циферблат должен быть хорошо виден.
  • Обратный клапан . Препятствует обратному току воды и его соответственному протеканию через учетный прибор. Если не установить такой элемент, то вода после закрытия водопроводного крана в ванне или раковине будет сливаться назад по трубе, вынуждая тем самым счетчик наматывать лишние литры и кубы расходуемой воды.

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

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

Подключаем счетчик своими руками

Перед тем как смонтировать учётный прибор, сначала нужно собрать все элементы в единую конструкцию. Это позволит измерить длину всей конструкции с тем, чтобы вырезать кусок трубопровода нужной длины.

Итак, в первую очередь необходимо разложить на полу все элементы будущей системы. Причём здесь важно отследить направление всех стрелочек на каждом из элементов. Порядок расположения элементов таков:

  • Запорный кран;
  • Фильтр очистки;
  • Счетчик на воду;
  • Обратный клапан.

Их нужно располагать по ходу тока воды в вашей системе водопровода, то есть горизонтально слева направо или справа налево, или вертикально сверху вниз или снизу вверх. Они все должны быть направлены в сторону тока воды в вашей системе.

Важно: если этим пренебречь, то счетчик будет неправильно производить подсчёты.

Для соединения всех резьбовых участков конструкции нужно подготовить паклю, накидные гайки с прокладками и специальную сантехническую пасту. Стоит помнить, что герметик в этом случае не подходит. Он имеет свойство грубеть и трескаться под нагрузками, что в свою очередь приведёт к нарушению герметизации всей системы.

  • Сначала соединяем запорный кран с фильтром. Необходимо накрутить его на паклю и сантехпасту так, чтобы патрубок для мусора смотрел вниз. При этом не стоит сильно зажимать резьбу, иначе она лопнет под нагрузкой.
  • Теперь нужно взять подготовленную накидную гайку и вместе с прокладкой смонтировать её на патрубок фильтра.
  • Далее к накидной гайке прикручиваем счетчик таким образом, чтобы циферблат смотрел вверх.
  • После этого со второй накидной гайкой нужно соединить обратный клапан, также используя паклю и сантехническую пасту.
  • Осталось подключить второй патрубок счетчика к накидной гайке с обратным клапаном. Не забываем о прокладке.

Важно: для холодной воды подойдут резиновые прокладки, а вот для ГВС нужно покупать специальные прокладки из паронита.

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

Важно: перед началом работ согласуйте с ЖЭКом отключение воды по стояку на определенный период. Иначе вы просто зальете соседей.

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

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

Опломбирование учетного прибора

После самостоятельного подключения водяного счетчика нужно как можно скорее заявить об этом представителям ЖЭКа или ДЭЗа и пригласить их на опломбировку. Только опломбированный водомер с наличием у вас акта о вводе его в эксплуатацию является пригодным для снятия показаний и предоставления их в водоканал.

При этом стоит знать, что если представитель организации не явился в течение 15 дней по вашему заявлению, стоит подать еще одно. Если и в этом случае в течение 15 дней сотрудник не пришёл, счетчик можно считать введенным в эксплуатацию с момента подачи первого заявления. Но для этого на руках должна быть копия заявления с проставленным на нём входящим регистрационным номером.

Как установить счетчик на воду в квартире

Установка водосчетчика на воду затрудняет и ставит в тупик людей неопытных в вопросах коммунального хозяйства. По данным Городского центра учета и экономии ресурсов 30% граждан России до сих пор не решились установить счетчики воды и упускают возможность значительно уменьшить стоимость на горячую и холодную воду. Когда одни россияне игнорируют необходимость установки водомеров в квартире намеренно, другие боятся самой процедуры и сомневаются, смогут ли разобраться в эксплуатации датчиков. ГЦУиЭР считает эту проблему надуманной и готов оказать гражданам помощь в этом вопросе.

На сегодняшний день существует только два варианта, как поставить счетчики на воду в квартире:

  • обратиться к специалистам;
  • провести монтаж и наладку прибора своими руками.

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

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

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

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

Владельцам необходимо знать, что расходомеры должны проходить регулярную проверку. По истечению 6 лет с момента производства, собственник жилья должен обеспокоиться о состоянии измерителя и пройти процедуру проверки.

Схема установки счетчиков воды

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

  1. Владелец квартиры выбирает компанию и заполняет заявку.
  2. В обозначенный срок мастер связывается с клиентом и выезжает на объект, имея при себе все необходимое оборудование. Заказчик ничего не приобретает сам – подключение происходит «под ключ».
  3. После установки водоизмерительного датчика мастер выдает собственнику полный пакет документов: договор и акт выполненных работ, акт ввода водосчетчика в эксплуатацию, сертификат и паспорт на аппаратуру.
  4. Владелец обращается в расчетный орган Санкт-Петербурга для регистрации водосчетчика.

Требования к установке счетчиков воды в квартире регламентируются государственными стандартами (ГОСТ P 50193.3-92 и ГОСТ Р 50601-93), а также положениями статьи 9 Федерального Закона №102. Документы определяют критерии выбора водоизмерительного оборудования, общий порядок его фиксации и ввода в эксплуатацию, правила расположения расходомера.

До установки водоизмерительной аппаратуры следует обратить внимание на состояние трубопровода и сантехнической системы квартиры. Ржавчина, неудовлетворительный внешний вид металла и подтеки могут отложить подключение водомера. В этом случае не стоит медлить и обратиться к специалистам ГЦУиЭР, которые за короткое время проведут мероприятия по устранению проблем и помогут установить счетчик.

Установка счетчиков на воду: 6 главных правил

Водный счетчик считается обязательным элементом в домах и квартирах. Отличают установку общедомовых и индивидуальных вариантов. Устанавливает и пломбирует счетчик специальная компания, которая имеет на это лицензию. Но при желании все работы можно выполнить своими силами.

Правила установки водосчетчиков в квартире: нормативные документы

Когда счетчик на воду в квартире смонтирован, составляют акт сдачи-приемки установленного прибора. Документ прописывает заводские номера водяных счетчиков, дата монтажа, данные о компании установщике, дирекции единого заказчика и водопотреблении. В акте ставятся подписи обоих сторон.

Нормативные документы на счетчик:

  1. Технический паспорт прибора учета воды, где указан первичное значение расхода. Кроме этого там же прописана дата установки и ввод в использование.
  2. Свидетельство поверки прибора. В нем указана дата следующих испытаний счетчика. Как правило, проверка проводится каждый 4-6 лет.

Поверка предполагает разборку прибора и доставку в специализированное учреждение. Выполнить испытание может устанавливающая компания. Она будет следить за работоспособностью и полностью обслуживать прибор.

При обращении к специалистам все оформление бумажной работы выполняется ими. Не нужно переживать о правильности установки и составлении документацию. Профессионалы выполнят все быстро и правильно.

С монтажной компанией составляется договор. За ним установщик обязательно отвечает за качество работы водомеров. Найти подходящую компанию можно, ознакомившись со списком в дирекции единого заказчика.

Удобное в использовании и несложное в установке устройство — гигиенический душ. Если внимательно прочитать инструкцию и следовать нашим советам, то его сможет установить даже новичок: https://homeli.ru/komnaty/vannaya-i-tualet/gigienicheskij-dush

Кто и когда пломбирует счетчики на воду

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

Когда необходимо опломбировать счетчик:

  • После первой установке;
  • Когда требуется замена;
  • При повреждении пломбы;
  • При аварийных ситуациях на линии водоснабжения.

Опломбирования может проводить любая компания, которая имеет лицензию на данную процедуру. Фирма установщик обычно опечатывает счетчик бесплатно, согласно договору. Но если потребуется поменять пломбу, то придется внести определенную плату.

Для насыщения воды кислородом кв кране предусмотрен аэратор. Обязательно ли его присутствие и какие бывают виды вы узнаете, прочитав материал: https://homeli.ru/komnaty/vannaya-i-tualet/aerator-dlya-smesitelya

Составляющие элементы счетчиков ХВС и ГВС

Чтобы установить счетчики холодной или горячей воды, следует правильно подобрать элементы конструкции. Сам счетчик может уже быть в наличии, но комплектующие детали придется покупать отдельно. Важная часть конструкции – запорный кран.

Виды запорных кранов:

  • Шаровой вариант бабочка;
  • Шаровая разновидность с рычагом;
  • Вентильный тип.

Первые варианты отличаются наибольшей прочностью и длительным сроком эксплуатации. Главное, чтобы был качественный сам, а на самом изделии не наблюдалось сколов и трещин. Оптимальный материал – латунь. Пластиковые краны не используются, так как не особо крепкие.

Запорный кран используется исключительно в закрытом или открытом положении. Нельзя оставлять прибор в полуоткрытом состоянии.

Фильтр в системе ХВС или ГВС нужен для очистки воды. Есть прямые и косые фильтры. Для водосчетчиков применяют только косые варианты. Важно правильно смонтировать элемент, чтобы сетка смотрела вниз.

Схема установки водяного счетчика в квартире

Соединение деталей зависит от условий места установки. Имеет значение разводка труб: горизонтальная или вертикальная. Также учитывают наличие свободного места после установки.

Стандартная схема монтажа водомеров:

  • Запорный кран;
  • Сетчатый фильтр;
  • Счетчик;
  • Обратный клапан.

Именно в такой последовательности необходимо собрать счетчик с вертикальной или горизонтальной разводкой на участках с подачей жидкости сверху вниз. На вертикальных местах с подачей воды снизу вверх установка обратного клапана проходит до счетчика. Дело в том, что СНИП предполагает опускание крыльчатки в воду. При несоблюдении данного правила, когда отключаю воду, жидкость будет перетекать в магистраль и кран останется сухим.

Важной деталью любого крана является кран-букса. О том, как её заменить, читайте на сайте: https://homeli.ru/komnaty/vannaya-i-tualet/kran-buksa

Основные правила установки счетчиков воды

После принятия решения необходимо обратиться в компанию, которая устанавливает счетчики. В некоторых регионах запрещено выполнять установку своими руками. В случае самостоятельного монтажа пишется заявление. ЖКХ на это должен предоставить технические условия.

Техусловия прописывают процедуру сборки, схему водосчетчиков, метрические характеристики.

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

Правила установки водомерных счетчиков:

  1. Монтаж счетчиков лучше проводить близко к вводу трубопровода поступающей магистрали. Лучше всего на горизонтальном участке. Не должно возникать подозрений на незаконный водозабор.
  2. Перед счетчиком следует установить фильтр грубой очистки и обратный клапан. Это защита прибора от грязи и жульничества.
  3. Ставить прибор нужно в помещении, где температура составляет не меньше 5 градусов.
  4. В частных строениях водомер стоит монтировать у наружной стены дома, не дальше, чем 20 см от выхода трубы. Участок установки должен быть хорошо освещенным.
  5. При наличии колодца с отводом трубы от центральной магистрали, источник оборудуется крышкой с запорами и проходит процедуру пломбирования. Срывать пломбу можно только в критических случаях.
  6. Счетчики обязательно нужно пломбировать. Зарегистрировать прибор сможет только управляющая компания.

Все рекомендации к установке определяет управляющая фирма. Заранее потребуется ознакомиться со стоимостью приборов. Не стоит экономить, а доверить все работы профессионалам.

Как поставить счетчики на воду: предварительная сборка

Для правильной врезки счетчика следует знать, как выглядит собранная система. Это поможет определить протяжность системы на горячую или холодную воду. Процедура прокладки включает предварительную сборку конструкции.

Для начала выполняется постановка всех элементов схемы на полу. Важно, чтобы стрелки указывали на водопроводный ход воды. Кладут запорный кран, фильтр, счетчик и обратный клапан за направления движения воды.

Проект выполнения предварительной сборки:

  • Запорный кран направлен рычагом вверх;
  • Конец фильтра направлен вместе с сеткой вниз;
  • Табло водомера в свободном доступе и направлено вверх.

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

Вместо мастики нельзя применять силиконовый герметик. Данное вещество высыхает и лопается.

Дальше на второй конец фильтра наматывается пакля и обмазывается мастикой. Дальше монтируется американка и прокладка. Затем счетчик накручивается на резьбу. Вторая гайка соединяется с обратным клапаном. Дальше конструкция соединяется со вторым патрубком. На этом работы окончены.

Последовательность установки счетчиков воды своими руками

Перед тем, как поставить счетчик, потребуется подключить к нему сетчатый фильтр. Так прибор защищен от крупных загрязнений. А они могут стать причиной серьезных поломок.

Также устанавливается обратный клапан. Это защитный механизм от отматывания показаний. Без данного прибора невозможно оформить счетчик в частном доме или квартире.

Для удобного снятия прибора монтируется накидная гайка американка. Герметизация соединений с обратным клапаном и фильтром осуществляется с помощью ленты ФУМ, а также пакли.

При монтаже лучше использовать полипропиленовые или металлопластиковые трубы. Данные материалы легко режутся и соединяются. Для этого используется компактный паяльник.

Порядок выполнения работ:

  1. Выполняется разрез трубы и подключения к отсекающему крану водопровода блока водомера. Важно обеспечить герметичность соединений.
  2. Дальше замеряется и определяется ответная резьба.
  3. Лишняя часть патрубка отрезается, и на конце выполняют резьбу. Соединить детали можно с помощью пресс фитингов. Полипропилен скрепляется паяльником.
  4. От счетчика отключают обратный клапан и американку и навинчивают на выполненную резьбу.
  5. Далее следует подключить американку и клапан обратно.
  6. Потом открывают кран, который отсоединяет водоканал квартиры от стояка. Следует проверить надежность соединений.
  7. Когда протечек не обнаружено, то работы выполнены правильно.
  8. Далее потребуется обращаться в водоканал, где предоставят инспектора, который поставит пломбу.

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

Установка водяного счетчика своими руками (видео)

Сборка счетчика включает детальный регламент, который описывает каждый последовательный этап. Кому доверить установку решают сами жильцы. При этом прибор обязательно подлежит опломбировки, а все детали должны соответствовать строительным нормам и правилам. Регистрация счетчика проводится устанавливающей компанией.

Установка счетчиков воды в квартире: требования водоканала

Известно, что установка счетчиков воды своими руками позволяет полностью контролировать расходы по потребляемой воде, а также производить оплату лишь за использованные ресурсы. Как правило, положительный эффект виден уже через пару месяцев — оплата за воду снижается в два, а то даже и в три раза. Но как самостоятельно выполнить такую процедуру, что конкретно из себя представляет установка счетчика?

Требования водоканала касательно к установки счетчиков

Следует отметить, что существуют определенные требования водоканала к установлению счетчика:

  • необходимо, чтобы была защита счетчика от его повреждения находящимся в водопроводе мелким или крупным мусором;
  • должен был произведен монтаж обратного клапана. Он используется для того, чтобы пресечь все попытки владельца отмотать счетчик назад;
  • проведение опломбировки специалистом. После того, как счетчик установлен, необходимо подать свою заявку в водоканал по месту проживания, после чего придет специалист и проведет опломбировку.

Выбор счетчика

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

Электронные счетчики – тоже неплохой вариант, но электроника может выйти из строя, а замена такого счетчика заново приведет за собой кучу бюрократических формальностей.

Следует учитывать, что счетчики для горячей и холодной воды отличаются друг от друга: они отмечены поясами красного и соответственно синего цвета.

Не стоит рисковать и покупать неподходящий для воды счетчик: например, поставить на горячую воду «холодный» будет и вовсе бессмысленной затеей – специалист его просто не введет в эксплуатацию.

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

Комплектующие, необходимые для установки счетчиков:

  1. Запорный кран. Необходимо обратить внимание, чтобы такой кран был качественным, в ином случае он может прорваться и привести к потопу. Если у вас в наличии такой старый кран, лучше не рисковать и заменить его на новый.
  2. Фильтр очищающий. Бывает двух разновидностей: прямой или косой. Второй вариант периодически нуждается в чистке.
  3. Собственно водный счетчик.
  4. Обратный клапан. Необходим для того, чтобы в случае прекращения подачи воды счетчик «не отматывал» обратно.

Запорные краны

Такой запорный кран должен иметь одну особенность: в наличии должно быть ушко с отверстием на самом исходящем патрубке. Если такой запорный кран – комплектный, проверьте, не силуминовый ли он. Дело все в том, что такие краны сильно подвержены действию межкристаллитной коррозии, и может так случиться, что вскоре придется спасать помещение от потопа. Не плохим вариантом является обычный металлопластиковый кран.

Место в доме для счетчика

Желательно, чтобы водомер находился как можно ближе к вводу самого трубопровода в комнате. При вводе такого счетчика в эксплуатацию специалист из водоканала посмотрит, можно ли как-то еще врезаться в саму трубу до счетчика. На практике, вопросов не возникает, если водомер установлен в туалете около унитаза, даже в том случае, когда запорный кран находится за полметра назад. Если в помещении трубы идут по полу, то установка счетчика тоже будет одобрена, ведь в случае чего скрыть следы работы на трубах будет практически невозможно.


Строже обстоит дело при проверки частного дома. Здесь обязательно должно быть соблюдено правило: установка должна происходить на расстоянии не более чем 20 см от выхода такой подводящей трубы. Если на территории дома находится колодец – необходимо, чтобы он был капитальный и с запираемой крышкой, иначе она тоже будет опломбирована.

Технические особенности при установке:

  1. Если в помещении, где будет произведена установка счетчика, находится пожарный водоотвод, необходимо установить задвижку на обводной трубе. Когда придет специалист из водоканала — он опломбирует и ее.
  2. Редко, но бывает так, что система ГВС работает по двухтрубной системе. Для такой квартиры при установке счетчика именно для горячей воды потребуется купить перепускной клапан для циркулярной трубы. В ином случае счетчик будет постоянно и слишком много мотать.
  3. Температурный режим воздуха в помещении, где будет произведена установка счетчика, не должен быть ниже + 5 градусов по Цельсию. Такой вопрос с температурой может возникнуть, если установка будет производиться в неотапливаемом и холодном подвале частного дома. При этом вопрос необходимо решить с водоканалом, возможно, проще и дешевле будет утеплить трубу в подвале, а счетчик поставить в самом туалете.

Процесс установки

Прежде чем приступить к процессу под названием установка счетчика своими руками, необходимо ознакомиться с инструкцией всех ее составляющих. Необходимо проверить в техпаспорте счетчика, какое именно расстояние прямой трубы должно находиться до него и после.
Процесс установки состоит из нескольких этапов:

  1. Для того, чтобы не запутаться, изначально лучше выложить все изделия в линию: обратный клапан, затем счетчик, фильтр, а после – запорный кран. На всех деталях есть стрелочки, их необходимо расположить так, чтобы они указывали в одну сторону.
  2. Затем соедините все детали в «сухом» виде для того, чтобы просчитать витки. Для этого нужно взять фильтр и закрутить его на кран, считая при этом витки. Обычно их бывает не больше пяти. Обратите особое внимание, на каком именно из витков отстойник будет находится внизу. Затем все снова раскрутите, возьмите уплотнитель и тщательно намотайте его на фильтр самого запорного крана. Наматывать его необходимо так, чтобы полностью все канавки были закрыты. После этого сверху уже можно будет нанести сантехническую пасту и аккуратно закрутить запорный кран.
  3. В том случае, если водомер используется именно для горячей воды – лучше приобрести паронитовые прокладки, если он нужен для контроля холодной воды – следует взять резиновые. Очень часто в одном комплекте со счетчиком идут кольца-уплотнители и американки. Такие кольца не подойдут, лучше купить новые, а вот американки (специальные патрубки, используются для соединения труб) подойдут. Такой патрубок необходимо прикрутить к фильтру, снова используя при этом уплотнитель (подойдет также обычная льняная пакля), а затем уже счетчик. Второй парубок следует соединить с обратным клапаном.
  4. Полученную конструкцию следует прикрепить к водомеру. В итоге должно получиться так, чтобы отстойник фильтра, циферблат счетчика и выключатель запорного крана «смотрели» вверх, а крыльчатка – вниз.
  5. После того, как все детали будут соединены, можно уже врезать их в сам трубопровод. При этом, не забудьте заранее перекрыть воду, если ваш дом многоквартирный – самостоятельно делать такую процедуру нельзя, следует вызвать мастера из водоканала.
    Измерьте, какой именно длины получилась конструкция. Такое же расстояние следует отмерить и на трубе до самого стыка. Подставив тазик на пол (могут политься остатки воды), отрезайте отмерянный участок.
  6. В том случае, если трубопровод – металлический, закрепить конструкцию к подводящей трубе можно будет с помощью резьбы. Очень важно при этом правильно отмерить расстояние, ведь такой трубопровод не будет гнуться. Можно заменить весь участок полипропиленовыми трубами, при этом металлический трубопровод соединить с пластиком можно будет при помощи специальных фитингов для соединения.
  7. После завершения такой процедуры, как установка счетчика своими руками, необходимо проверить работоспособность системы. Следует включить воду и медленно открутить шаровой кран. Нужно проверить следующие моменты: нет ли где-нибудь течи, правильно ли работает сам счетчик и не дает ли он сбоев. После этого уже можно вызвать представителя водоканала для опломбирования. В итоге вам выдается техпаспорт и документ, подтверждающий опломбирование данного счетчика. После этого вы уже будете платить за воду лишь в соответствии с показаниями водомера.

Подключаем счетчик воды к умному дому / Habr

Когда-то системы домашней автоматизации, или как их часто называют “умный дом”, были жутко дорогими и их могли позволить себе лишь богачи. Сегодня на рынке можно найти достаточно бюджетные комплекты с датчиками, кнопками/выключателями и исполнительными устройствами для управлением освещением, розетками, вентиляцией, водоснабжением и другими потребителями. И даже самый криворукий DIY-шник может приобщиться к прекрасному и за недорого собирать устройства для умного дома.

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

Недавно я себе поставил счетчики воды с импульсным выходом. Через каждый литр пробежавший через счетчик срабатывает геркон и замыкает контакт. Осталось дело за малым — прицепиться к проводам и попробовать из этого получить пользу. Например, анализировать потребление воды по часам и дням недели. Ну а если стояков для воды в квартире несколько, то удобнее видеть все текущие показатели на одном экране, чем лазить по труднодоступным нишам с фонариком.

Под катом мой вариант устройства на базе ESP8266, которое считает импульсы со счетчиков воды и по MQTT отправляет показания на сервер умного дома. Программировать будем на micropython с использованием библиотеки uasyncio. При создании прошивки я наткнулся на несколько интересных сложностей, о которых также расскажу в этой статье. Поехали!

Схема


Сердцем всей схемы является модуль на микроконтроллере ESP8266. Изначально планировался ESP-12, но мой оказался бракованный. Пришлось довольствоваться модулем ESP-07, который был в наличии. Благо они одинаковые и по выводам, и по функционалу, разница только в антенне — у ESP-12 она встроенная, а у ESP-07 — внешняя. Впрочем, даже без антенны WiFi сигнал в моей ванной ловится нормально.

Обвязка модуля стандартная:

  • кнопка ресет с подтяжкой и конденсатором (хотя и то и другое уже есть внутри модуля)
  • Сигнал enable (CH_PD) подтянут к питанию
  • GPIO15 подтянут к земле. Это нужно только на старте, но мне все равно нечего на эту ногу цеплять больше не нужно

Для перевода модуля в режим прошивки нужно замкнуть GPIO2 на землю, а чтобы было удобнее я предусмотрел кнопку Boot. В нормальном состоянии этот пин подтягивается к питанию.

Состояние линии GPIO2 проверяется только вначале работы — при подаче питания или сразу после ресета. Так модуль либо загружается как обычно, либо переходит в режим прошивки. После загрузки этот вывод можно использовать как обычный GPIO. Ну а раз там уже есть кнопка, то можно повесить на нее какую нибудь полезную функцию.

Для программирования и отладки я буду использовать UART, который вывел на гребенку. Когда нужно — я просто подключаю туда USB-UART переходник. Нужно только не забывать, что питается модуль от 3.3В. Если забыть переключить переходник на это напряжение и подать 5В, то модуль скорее всего сгорит.

С электричеством в ванной у меня проблем нет — розетка расположена примерно в метре от счетчиков, так что запитывать буду от 220В. В качестве источника питания у меня будет трудится небольшой блочок HLK-PM03 от Tenstar Robot. Лично у меня туго с аналоговой и силовой электроникой, а тут готовый блок питания в маленьком корпусе.

Для сигнализации режимов работы я предусмотрел светодиод, подключенный к GPIO2. Впрочем распаивать я его не стал, т.к. в модуле ESP-07 уже есть светодиод, причем подключенный к тому же GPIO2. Но на плате пускай будет — вдруг я захочу вывести этот светодиод на корпус.

Переходим к самому интересному. У счетчиков воды нет никакой логики, у них нельзя спросить текущие показания. Единственное что нам доступно это импульсы — замыкание контактов геркона каждый литр. Выводы герконов у меня заведены в GPIO12/GPIO13. Подтягивающий резистор я буду включать программно внутри модуля.

Изначально я забыл предусмотреть резисторы R8 и R9 и в моем варианте платы их нет. Но раз я уже выкладываю схему на всеобщее обозрение, то стОит исправить эту оплошность. Резисторы нужны, чтобы не спалить порт в случае если прошивка глюканет и выставит единицу на пине, а геркон закоротит эту линию на землю (с резистором потечет максимум 3.3В/1000Ом = 3.3мА).

Пора подумать что делать если пропадет электричество. Первый вариант — на старте запрашивать у сервера начальные значения счетчиков. Но это потребовало бы существенного усложнения протокола обмена. Более того, работоспособность устройства в таком случае зависит от состояния сервера. Если бы после отключения света сервер не завелся (или завелся позже), то счетчик воды не смог бы запросить начальные значения и работал бы неверно.

Поэтому я решил реализовать сохранение значений счетчиков в микросхеме памяти, подключенной по I2C. Особых требований по размеру флеш памяти у меня нет — нужно сохранять всего 2 числа (количество литров по счетчикам горячей и холодной воды). Даже самый маленький модуль подойдет. А вот на количество циклов записи нужно обратить внимание. У большинства модулей это 100 тыс циклов, у некоторых до миллиона.

Казалось бы миллион это много. Но я за 4 года проживания в своей квартире потребил чуть более 500 кубов воды, это 500 тыс литров! И 500 тыс записей во флеш. И это только холодная вода. Можно, конечно, перепаивать микросхему каждые пару лет, но оказалось есть микросхемы FRAM. С точки зрения программирования это тот же самый I2C EEPROM, только с ооооочень большим количеством циклов перезаписи (сотни миллионов). Вот только пока все никак не доеду до магазина с такими микросхемами, поэтому пока постоит обычная 24LC512.

Печатная плата


Изначально я планировал делать плату в домашних условиях. Потому плата проектировалась как односторонняя. Но продолбавшись битый час с c лазерным утюгом и паяльной маской (без нее как-то не comme il faut), я все же решил заказать платы у китайцев.

Уже практически перед заказом платы я сообразил, что помимо микросхемы флеш памяти на шину I2C можно подцепить что нибудь еще полезное, например дисплей. Что именно на него выводить — пока еще вопрос, но развести на плате нужно. Ну а раз я собрался платы заказывать на фабрике, то ограничивать себя односторонней платой уже не было смысла, поэтому линии на I2C — единственные на задней стороне платы.

С односторонней разводкой также связан был один большой косяк. Т.к. плата рисовалась односторонняя, то дорожки и SMD компоненты планировалось размещать с одной стороны, а выводные компоненты, разъемы и блок питания с другой. Когда через месяц я получил платы, то забыл про изначальный план и распаял все компоненты на лицевой стороне. И только когда дело дошло до припаивания блока питания выяснилось, что плюс и минус разведены наоборот. Пришлось колхозить перемычками. На картинке выше я уже поменял разводку, но земля перекидывается из одной части платы в другую через выводы кнопки Boot (хотя можно было бы и на втором слое дорожку провести).

Получилось вот так

Корпус


Следущий шаг — корпус. При наличии 3D принтера это не проблема. Особо не заморачивался — просто нарисовал коробку нужного размера и сделал вырезы в нужных местах. Крышка крепится к корпусу на маленьких саморезах.

Я уже упоминал, что кнопка Boot может быть использована как кнопка общего назначения — вот ее и выведем на переднюю панель. Для этого я нарисовал специальный “колодец” где живет кнопка.

Внутри корпуса также располагаются пеньки, на которые устанавливается плата и фиксируется единственным винтом М3 (на плате больше места не оказалось)

Дисплей подбирал уже когда напечатал первый примерочный вариант корпуса. Стандартный двухстрочник в этот корпус не влазил, зато в сусеках обнаружился OLED дисплей SSD1306 128×32. Маловат, но мне на него не каждый день глазеть — покатит.

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

Устройство в сборе. Дисплейный модуль приклеен на сопли термоклей

Конечный результат можно увидеть на КДПВ

Прошивка


Перейдем к программной части. Для вот таких небольших поделок мне очень нравится использовать язык Python (micropython)- код получается очень компактный и понятный. Благо тут нет необходимости спускаться на уровень регистров с целью выжимать микросекунды — все можно сделать из питона.

Вроде бы все просто, да не очень — в устройстве намечается несколько независимых функций:

  • Пользователь тыкает в кнопку и смотрит на дисплей
  • Литры тикают и обновляют значения во флеш памяти
  • Модуль следит за сигналом WiFi и переконнекчивается если нужно
  • Ну а без моргающей лампочки вообще нельзя

Нельзя допустить что одна функция не работала, если другая по какой-то причине тупит. Я уже наелся кактусов в других проектах и теперь так и вижу глюки в стиле “пропустили очередной литр, потому, что в этот момент обновлялся дисплей” или “пользователь ничего не может сделать пока модуль коннектится к WiFi”. Конечно, некоторые вещи можно делать через прерывания, но можно упереться в ограничение по длительности, вложенности вызовов или неатомарного изменения переменных. Ну и код который занимается всем и сразу быстро превращается в кашу.

В проекте посерьезнее я использовал классическую вытесняющую многозадачность и FreeRTOS, но в данном случае гораздо более подходящей оказалась модель сопрограмм (coroutines) и библиотеки uasync . Причем питоновская реализация корутин просто бомбовая — для программиста все сделано просто и удобно. Просто пиши себе логику, только скажи в каких местах между потоками переключаться можно.

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

#####################################
# Counter class - implements a single water counter on specified pin
#####################################
class Counter():
    debounce_ms = const(25)
    
    def __init__(self, pin_num, value_storage):
        self._value_storage = value_storage
        
        self._value = self._value_storage.read()
        self._value_changed = False

        self._pin = Pin(pin_num, Pin.IN, Pin.PULL_UP)

        loop = asyncio.get_event_loop()
        loop.create_task(self._switchcheck())  # Thread runs forever

Каждый счетчик обрабатывается экземпляром класса Counter. Первым делом из EEPROM (value_storage) вычитывается начальное значение счетчика — так реализуется восстановление после пропадания питания.

Пин инициализируется со встроенной подтяжкой к питания: если геркон замкнут — на линии ноль, если разомкнут линия подтягивается к питанию и контроллер читает единицу.

Также тут запускается отдельная задача, которая будет производить опрос пина. Каждый счетчик будет запускать свою задачу. Вот ее код

    """ Poll pin and advance value when another litre passed """
    async def _switchcheck(self):
        last_checked_pin_state = self._pin.value()  # Get initial state

        # Poll for a pin change
        while True:
            state = self._pin.value()
            if state != last_checked_pin_state:
                # State has changed: act on it now.
                last_checked_pin_state = state
                if state == 0:
                    self._another_litre_passed()

            # Ignore further state changes until switch has settled
            await asyncio.sleep_ms(Counter.debounce_ms)

Задержка в 25мс нужна для фильтрации дребезга контактов, а заодно она регулирует как часто просыпается задача (пока эта задача спит — работают другие задачи). Каждые 25мс функция просыпается, проверяет пин и если контакты геркона замкнулись, то значит через счетчик прошел очередной литр и это нужно обработать.
    def _another_litre_passed(self):
        self._value += 1
        self._value_changed = True

        self._value_storage.write(self._value)

Обработка очередного литра тривиальна — просто увеличивается счетчик. Ну и новое значение неплохо было бы на флешку записать.

Для удобства использования предусмотрены “доступаторы”

    def value(self):
        self._value_changed = False
        return self._value

    def set_value(self, value):
        self._value = value
        self._value_changed = False

Ну а теперь воспользуемся прелестями питона и библиотеки uasync и сделаем объект счетчика waitable (как это на русский перевести-то? Тот, которой можно ожидать?)
    def __await__(self):
        while not self._value_changed:
            yield from asyncio.sleep(0)

        return self.value()

    __iter__ = __await__  

Это такая удобная функция, которая ждет пока значение счетчика не обновится — функция время от времени просыпается и проверяет флажок _value_changed. Прикол этой функции в том, что вызывающий код может уснуть на вызове этой функции и спать до получения нового значения.А как же прерывания?Да, в этом месте вы меня можете потроллить, мол сам же сказал про прерывания, а на деле устроил тупой опрос пина. На самом деле прерывания это первое, что я попробовал. В ESP8266 можно организовать прерывание по фронту, и даже написать обработчик этого прерывания на питоне. В этом прерывании можно обновлять значение переменной. Наверное, этого бы хватило будь счетчик ведомым устройством — таким, которое ждет, пока у него не спросят это значение.

К сожалению (или к счастью?) мое устройство активное, оно должно само слать сообщения по протоколу MQTT и записывать данные в EEPROM. И тут уже вступают ограничения — в прерываниях нельзя выделять память и использовать большой стек, а значит об отправке сообщений по сети можно забыть. Есть плюшки типа micropython.schedule(), которые позволяют запустить какую нибудь функцию “как только так и сразу”, но возникает вопрос “а толку-то?”. Вдруг мы прямо сейчас отправляем какое нибудь сообщение, а тут вклинивается прерывание и портит значения переменных. Или, например, с сервера приехало новое значение счетчика пока мы еще старое недозаписали. В общем, нужно городить синхронизацию или выкручиваться как-то по другому.

А еще время от времени вылетает RuntimeError: schedule stack full и кто его знает почему?

С явным опросом и uasync оно в данном случае как-то красивее и надежнее получается


Работу с EEPROM я вынес в небольшой класс
class EEPROM():
    i2c_addr = const(80)

    def __init__(self, i2c):
        self.i2c = i2c
        self.i2c_buf = bytearray(4) # Avoid creation/destruction of the buffer on each call


    def read(self, eeprom_addr):
        self.i2c.readfrom_mem_into(self.i2c_addr, eeprom_addr, self.i2c_buf, addrsize=16)
        return ustruct.unpack_from("<I", self.i2c_buf)[0]    
        
    
    def write(self, eeprom_addr, value):
        ustruct.pack_into("<I", self.i2c_buf, 0, value)
        self.i2c.writeto_mem(self.i2c_addr, eeprom_addr, self.i2c_buf, addrsize=16)

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

Чтобы каждый раз не передавать объект I2C и адрес ячейки памяти я все это завернул в маленький и удобный классик

class EEPROMValue():
    def __init__(self, i2c, eeprom_addr):
        self._eeprom = EEPROM(i2c)
        self._eeprom_addr = eeprom_addr
        

    def read(self):
        return self._eeprom.read(self._eeprom_addr)


    def write(self, value):
        self._eeprom.write(self._eeprom_addr, value)

Сам объект I2C создается с такими параметрами
i2c = I2C(freq=400000, scl=Pin(5), sda=Pin(4))

Подходим к самому интересному — реализации общения с сервером по MQTT. Ну сам протокол реализовывать не нужно — на просторах интернета нашлась готовая асинхронная реализация. Вот ее и будем использовать.

Все самое интересное собрано в классе CounterMQTTClient, который базируется на библиотечном MQTTClient. Начнем с периферии

#####################################
# Class handles both counters and sends their status to MQTT
#####################################
class CounterMQTTClient(MQTTClient):

    blue_led = Pin(2, Pin.OUT, value = 1)
    button = Pin(0, Pin.IN)

    hot_counter = Counter(12, EEPROMValue(i2c, EEPROM_ADDR_HOT_VALUE))
    cold_counter = Counter(13, EEPROMValue(i2c, EEPROM_ADDR_COLD_VALUE))

Тут создаются и настраиваются пины лампочки и кнопки, а также объекты счетчиков холодной и горячей воды.

С инициализацией не все так тривиально

    def __init__(self):
        self.internet_outage = True
        self.internet_outages = 0
        self.internet_outage_start = ticks_ms()

        with open("config.txt") as config_file:
            config['ssid'] = config_file.readline().rstrip()
            config['wifi_pw'] = config_file.readline().rstrip()
            config['server'] = config_file.readline().rstrip()
            config['client_id'] = config_file.readline().rstrip()
            self._mqtt_cold_water_theme = config_file.readline().rstrip()
            self._mqtt_hot_water_theme = config_file.readline().rstrip()
            self._mqtt_debug_water_theme = config_file.readline().rstrip()

        config['subs_cb'] = self.mqtt_msg_handler
        config['wifi_coro'] = self.wifi_connection_handler
        config['connect_coro'] = self.mqtt_connection_handler
        config['clean'] = False
        config['clean_init'] = False
        super().__init__(config)

        loop = asyncio.get_event_loop()
        loop.create_task(self._heartbeat())
        loop.create_task(self._counter_coro(self.cold_counter, self._mqtt_cold_water_theme))
        loop.create_task(self._counter_coro(self.hot_counter, self._mqtt_hot_water_theme))
        loop.create_task(self._display_coro())

Для задания параметров работы библиотеки mqtt_as используется большой словарь разных настроек — config. Большая часть настроек по умолчанию нам подходит, но много настроек нужно задать явно. Чтобы не прописывать настройки прямо в коде я их храню в текстовом файле config.txt. Это позволяет менять код независимо от настроек, а также наклепать несколько одинаковых устройств с разными параметрами.

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

    async def _counter_coro(self, counter, topic):
        # Publish initial value
        value = counter.value()
        await self.publish(topic, str(value))

        # Publish each new value
        while True:
            value = await counter
            await self.publish_msg(topic, str(value))

Корутина в цикле ждет нового значения счетчика и как только оно появилось — отправляет сообщение по протоколу MQTT. Первый кусочек кода отправляет начальное значение даже если водичка через счетчик не течет.

Базовый класс MQTTClient сам себя обслуживает, сам инициирует соединение по WiFi и переподключается когда соединение пропадает. При изменениях в состоянии соединения WiFi библиотека нас информирует вызовом wifi_connection_handler

    async def wifi_connection_handler(self, state):
        self.internet_outage = not state
        if state:
            self.dprint('WiFi is up.')
            duration = ticks_diff(ticks_ms(), self.internet_outage_start) // 1000
            await self.publish_debug_msg('ReconnectedAfter', duration)
        else:
            self.internet_outages += 1
            self.internet_outage_start = ticks_ms()
            self.dprint('WiFi is down.')
            
        await asyncio.sleep(0)

Функция честно слизана из примеров. В данном случае она считает количество отключений (internet_outages) и их длительность. При восстановлении соединения на сервер отправляется время простоя.

Кстати говоря, последний sleep нужен только для того, чтобы функция стала асинхронной — в библиотеке она вызывается через await, а так могут вызываться только функции в теле которых есть другой await.

Помимо связи с WiFi нужно еще установить соединение с MQTT брокером (сервером). Этим тоже занимается библиотека, а нам выпадает возможность сделать что нибудь полезное, когда соединение установлено

    async def mqtt_connection_handler(self, client):
        await client.subscribe(self._mqtt_cold_water_theme)
        await client.subscribe(self._mqtt_hot_water_theme)

Тут мы подписываемся на несколько сообщений — сервер теперь имеет возможность задать текущие значения счетчиков отправив соответствующее сообщение.
    def mqtt_msg_handler(self, topic, msg):
        topicstr = str(topic, 'utf8')
        self.dprint("Received MQTT message topic={}, msg={}".format(topicstr, msg))

        if topicstr == self._mqtt_cold_water_theme:
            self.cold_counter.set_value(int(msg))

        if topicstr == self._mqtt_hot_water_theme:
            self.hot_counter.set_value(int(msg))

Эта функция обрабатывает пришедшие сообщения, и в зависимости от темы (названия сообщения) обновляются значения одного из счетчиков

Парочка вспомогательных функций

    # Publish a message if WiFi and broker is up, else discard
    async def publish_msg(self, topic, msg):
        self.dprint("Publishing message on topic {}: {}".format(topic, msg))
        if not self.internet_outage:
            await self.publish(topic, msg)
        else:
            self.dprint("Message was not published - no internet connection")

Эта функция занимается отправкой сообщения в случае если соединение установлено. Если соединения нет — сообщение игнорируется.

А это просто удобная функция, которая формирует и отправляет отладочные сообщения.

    async def publish_debug_msg(self, subtopic, msg):
        await self.publish_msg("{}/{}".format(self._mqtt_debug_water_theme, subtopic), str(msg))

Так много текста, а мы еще не моргали светодиодом. Вот
    # Blink flash LED if WiFi down
    async def _heartbeat(self):
        while True:
            if self.internet_outage:
                self.blue_led(not self.blue_led()) # Fast blinking if no connection
                await asyncio.sleep_ms(200) 
            else:
                self.blue_led(0) # Rare blinking when connected
                await asyncio.sleep_ms(50)
                self.blue_led(1)
                await asyncio.sleep_ms(5000)

Я предусмотрел 2 режима моргания. Если пропало соединение (или оно только устанавливается), то устройство будет моргать быстро. Если соединение установлено — устройство моргает раз в 5 секунд. При необходимости тут можно реализовать и другие режимы моргания.

Но светодиод это так, баловство. Мы же еще на дисплей замахнулись.

    async def _display_coro(self):
        display = SSD1306_I2C(128,32, i2c)
    
        while True:
            display.poweron()
            display.fill(0)
            display.text("COLD: {:.3f}".format(self.cold_counter.value() / 1000), 16, 4)
            display.text("HOT:  {:.3f}".format(self.hot_counter.value() / 1000), 16, 20)
            display.show()
            await asyncio.sleep(3)
            display.poweroff()

            while self.button():
                await asyncio.sleep_ms(20)

Вот это то, о чем я говорил — как просто и удобно с корутинами. Эта маленькая функция описывает ВСЁ взаимодействие с пользователем. Корутина просто ждет нажатия кнопки и включает дисплей на 3 секунды. На дисплее отображаются текущие показания счетчиков.

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

   async def main(self):
        while True:
            try:
                await self._connect_to_WiFi()
                await self._run_main_loop()
                    
            except Exception as e:
                self.dprint('Global communication failure: ', e)
                await asyncio.sleep(20)

    async def _connect_to_WiFi(self):
        self.dprint('Connecting to WiFi and MQTT')
        sta_if = network.WLAN(network.STA_IF)
        sta_if.connect(config['ssid'], config['wifi_pw'])
        
        conn = False
        while not conn:
            await self.connect()
            conn = True

        self.dprint('Connected!')
        self.internet_outage = False

    async def _run_main_loop(self):
        # Loop forever
        mins = 0
        while True:
            gc.collect()  # For RAM stats.
            mem_free = gc.mem_free()
            mem_alloc = gc.mem_alloc()

            try:
                await self.publish_debug_msg("Uptime", mins)
                await self.publish_debug_msg("Repubs", self.REPUB_COUNT)
                await self.publish_debug_msg("Outages", self.internet_outages)
                await self.publish_debug_msg("MemFree", mem_free)
                await self.publish_debug_msg("MemAlloc", mem_alloc)
            except Exception as e:
                self.dprint("Exception occurred: ", e)
            mins += 1

            await asyncio.sleep(60)

Ну еще парочка настроек и констант для полноты описания
#####################################
# Constants and configuration
#####################################


config['keepalive'] = 60
config['clean'] = False
config['will'] = ('/ESP/Wemos/Water/LastWill', 'Goodbye cruel world!', False, 0)

MQTTClient.DEBUG = True

EEPROM_ADDR_HOT_VALUE = const(0)
EEPROM_ADDR_COLD_VALUE = const(4)

Запускается это все так
client = CounterMQTTClient()
loop = asyncio.get_event_loop()
loop.run_until_complete(client.main())

Что-то с памятью моей стало


Итак, весь код есть. Файлики я заливал с помощью утилиты ampy — она позволяет заливать их на внутреннюю (ту, которая в самом ESP-07) флешку и потом доступаться из программы как к обычным файлам. Туда же я залил используемые мною библиотеки mqtt_as, uasyncio, ssd1306 и collections (используется внутри mqtt_as).

Запускаем и… Получаем MemoryError. Причем чем больше я пытался понять где именно утекает память, чем больше я расставлял дебаг принтов, тем раньше возникала эта ошибка. Короткий гуглеж привел меня к пониманию, что в микроконтроллере в принципе всего 30кб памяти в которые 65 кб кода (вместе с библиотеками) ну никак не помещаются.

Но выход есть. Оказывается micropython не исполняет код напрямую из .py файла — этот файл сначала компилируется. Причем компилируется он прямо на микроконтроллере, превращается в байткод, который потом хранится в памяти. Ну и для работы компилятора тоже нужен определенный объем оперативки.

Трюк заключается в том, чтобы избавить микроконтроллер от ресурсоемкой компиляции. Можно скомпилировать файлы на большом компьютере, а в микроконтроллер залить уже готовый байткод. Для этого нужно скачать прошивку micropython и собрать утилиту mpy-cross.

Я не стал писать Makefile, а вручную прошелся и скомпилировал все нужные файлики (включая библиотеки) примерно так

mpy-cross water_counter.py

Осталось только залить файлики с расширением .mpy, не забыв предварительно удалить соответствующие .py с файловой системы устройства.

Все разработку я вел в программе (IDE?) ESPlorer. Она позволяет заливать скрипты в микроконтроллер и тут же их выполнять. В моем случае вся логика и создание всех объектов находятся находится в файле water_counter.py (.mpy). Но чтобы все это запускалось автоматически на старте должен быть еще файл с именем main.py. Причем это должен быть именно .py, а не пред-компилированный .mpy. Вот его тривиальное содержимое

import water_counter

Запускаем — все работает. Но свободной памяти угрожающе мало — порядка 1кб. У меня еще есть планы по расширению функциональности устройства, и этого килобайта мне явно будет маловато. Но оказалось и на этот случай есть выход.

Дело вот в чем. Даже при том, что файлы скомпилированы в байткод и находятся на внутренней файловой системе, на деле они все равно загружаются в оперативную память и выполняются оттуда. Но оказывается micropython умеет выполнять байткод прямо из флеш памяти, но для этого нужно встроить его непосредственно в прошивку. Это не сложно, хотя на моем нетбуке это заняло прилично времени (только там у меня оказался линукс).

Алгоритм такой:

  • Скачать и установить ESP Open SDK. Эта штука собирает компилятор и библиотеки для программ под ESP8266. Собирается по инструкции на главной страничке проекта (я выбирал установку STANDALONE=yes)
  • Скачать сорцы micropython
  • Нужные библиотеки закинуть в ports/esp8266/modules внутри дерева micropython
  • Собираем прошивку согласно инструкции в файле ports/esp8266/README.md
  • Заливаем прошивку в микроконтроллер (я это делаю на винде программами ESP8266Flasher или питоновским esptool’ом)

Все, теперь ‘import ssd1306’ будет поднимать код напрямую из прошивки и оперативная память под это расходоваться не будет. Таким трюком я залил в прошивку только код библиотек, тогда как основной код программы у меня выполняется с файловой системы. Это позволяет легко модифицировать программу не перекомпилируя прошивку. На данный момент у меня свободно около 8.5кб ОЗУ. Это позволит реализовать еще довольно много разного полезного функционала в будущем. Ну а если памяти будет совсем не хватать, то можно и основную программу затолкать в прошивку.

И что с этим теперь делать?


Ок, железка спаяна, прошивка написана, коробка напечатана, устройство прилеплено на стену и радостно моргает лампочкой. Но пока это все черный ящик (в прямом и переносном смысле) и толку от него еще маловато. Пора что нибудь сделать с MQTT сообщениями, которые шлются на сервер.

Мой “умный дом” крутится на системе Majordomo. Модуль MQTT то ли есть из коробки, то ли легко устанавливается из маркета дополнений — уже не помню откуда он у меня взялся. MQTT штука не самодостаточная — нужен т.н. брокер — сервер, который принимает, сортирует и перенаправляет клиентам MQTT сообщения. Я использую mosquitto, который (как и majordomo) крутится все на том же нетбуке.

После того, как устройство хоть раз отправит сообщение значение тут же появится в списке.

Эти значения теперь можно связать с объектами системы, их можно использовать в сценариях автоматизации и подвергать различному анализу — все это out of scope этой статьи. Кому интересна система majordomo могу порекомендовать канал Электроника В Объективе — товарищ тоже строит умный дом и доходчиво рассказывает про настройку системы.

Покажу лишь пару графиков. Это простой график значений за сутки


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

Из этого графика я узнал, что сходить в туалет это 6-7л воды, принять душ — 20-30л, помыть посуду около 20л, а чтобы принять ванную нужно 160л. За день моя семья потребляет где-то около 500-600л.

Для особо любознательных можно заглянуть в записи по каждому отдельному значению

Отсюда я узнал что при открытом кране вода течет со скоростью примерно 1л за 5с.

Но в таком виде статистику, наверное, не очень удобно смотреть. В majordomo есть еще возможности смотреть графики потребления по дням, неделям и месяцам. Вот, например, график потребления в столбиках

Пока у меня данных только за неделю. Через месяц этот график будет более показательным — каждому дню будет соответствовать отдельный столбик. Немного картину портят корректировки значений, которые я ввожу вручную (самый большой столбик). И пока не ясно, то ли я неправильно задал самые первые значения почти на куб меньше, то ли это баг в прошивке и не все литры пошли в зачет. Нужно больше времени.

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

Заключение


Сегодня моя квартира стала чуточку умнее. С таким небольшим устройством мне будет удобнее следить за потреблением воды в доме. Если раньше я возмущался “опять много воды за месяц потребили”, то теперь я смогу найти источник этого потребления.

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

Функциональность устройства я тоже планирую расширять. Я уже присматриваюсь к моторизованным вентилям. Сейчас для переключения бойлер-городская вода мне нужно поворачивать 3 крана в труднодоступной нише. Было бы гораздо удобнее делать это одной кнопкой с соответствующей индикацией. Ну и, само собой, защиту от протечек реализовать стОит.

В статье я рассказал свой вариант устройства на базе ESP8266. На мой взгляд у меня получился весьма интересный вариант прошивки на micropython с использованием корутин — просто и симпатично. Я постарался описать множество нюансов и косяков, с которыми столкнулся походу. Возможно я слишком детально все описывал, лично мне как читателю проще промотать лишнее, чем потом додумывать то, что было недосказано.

Как всегда я открыт для конструктивной критики.

Исходный код
Схема и плата
Модель корпуса

Установка счетчиков воды

Установка водомера, он же — счетчик воды

Установка водомера начинается от запорного крана, причем к установке есть определенные техусловия водохозяйств.  Это установка запорного вентиля (шаровой кран), фильтра механической очистки и клапана обратного хода. Также ваш водомер (счетчик) должен быть сертифицирован для использования в вашей стране и иметь оттиск Госстандарта на пломбе. Водомер должен быть выпущен не ранее, чем за шесть месяцев до его установки, иначе его проверочный период (как правило 3 года) начнется раньше.
Итак, по порядку:

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

На нашей схеме на стояке стоит тройник, из которого есть выход, выполненный наружной резьбой.  Берем  шаровой кран с наружной и внутренней резьбой и накручиваем на тройник, при этом считаем полные обороты. Обычно на резьбовых соединениях полные обороты варьируются от трех до пяти, это важно!

Затем берем паклю (именно паклю, потому что фум лента критична к обратному ходу) и по ходу резьбы наматываем на наружную резьбу. Стараемся намотать пакли немного, но что бы она хорошо заполнила канавы в резьбе, потом смазываем ее либо герметикам на силиконовой основе, либо другой сантехнической пастой, смазкой. Накручиваем кран, не забывая про полные обороты, которые он может сделать, встав в нужное положение.

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

2 – На наружную резьбу крана накручиваем фильтр механической очистки, используя те же приемы, что и в пункте первом. Обратите внимание на стрелку, она должна быть по ходу воды.

3 – Монтируем крепление счетчика воды, затем сам водомер (снова стрелка по направлению), снова крепление. Незабываем ставить прокладки в счетчик (обычно паронитовые).

4 – Крепим клапан обратного хода и снова внимание на стрелку.

Ну, вот и все, но еще я вам советую установить фильтр тонкой механической очистки со сменными картриджами, они варьируются от 1 до 20 микрон !

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

Схема подключения водомера и фильтра oчистки ( картридж от 1 до20 микрон)

masstter.com

Увеличить рис.

Наглядная схема подключения водомера (счетчика воды)

masstter.com

Увеличить рис.

Видео пояснение по установке водомера

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

Помните, что при установке нового (или другого) счетчика воды, он должен иметь паспорт с номером,  совпадающим  на приборе. Этот номер будет фигурировать в вашем договоре с водохозяйством.

Установил себе, установи соседу! Это к тому, сколько стоит установить водомер и фильтр.

Прайс: «Сантехнические работы» (в вашем регионе могут быть другие цены).

Монтаж фильтров грубой механической очисткиусл.т1 $
Монтаж фильтров тонкой механической очисткиусл.т20 $
Монтаж системы учёта водыусл.т30 $

Читайте также: Фильтр механической очистки воды

Евгений Новиков

Эксперт проекта Masstter.com

Статья помогла вам?

Дайте нам об этом знать — поставьте оценку

Загрузка…

схема подключения и принципы работы

Содержание статьи:

Современные счетчики, устанавливаемые в квартирах, сокращают счета за коммунальные услуги. Водосчетчик для воды с импульсным выходом позволяет с высокой точностью определять объемы расхода холодной и горячей воды. Стоит отметить, что их установка целесообразна в помещениях с большим потреблением водного ресурса.

Особенности счетчиков воды с импульсным выходом

Счетчик воды с импульсным выходом

Импульсный водомер – это устройство, которое становится все более распространенным в жилом секторе, устанавливается для точной фиксации объемов потребляемого водного ресурса в реальном времени.

Водяной счетчик с импульсным выходом и стандартное оборудование практически не отличаются друг от друга. Основная их задача – классическая схема расчета потребляемых объемов воды за счет запуска крыльчатки под воздействием потока воды. Параллельно с этим импульсное устройство не только ведет подсчет, но и передает значения на удаленный носитель информации.

Основными достоинствами устройства принято считать:

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

Невзирая на большое количество преимуществ, к сожалению, имеются и недостатки. Следует отметить следующее:

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

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

Принцип работы оборудования

Принцип работы устройств

Стандартная конструкция традиционного водосчетчика базируется на счетном механизме, который и ведет подсчет объема потребляемого водного ресурса. Импульсные конструкции производят подсчет объема воды и передают информацию в определенные информационные узлы.

Алгоритм работы устройства:

  1. В трубопроводе находится крыльчатка, которая под воздействием выходного потока активизируется.
  2. Далее, подключается муфта, задача которой – учитывать объемы и преобразовывать в цифры на экране.
  3. В ней при полном обороте магнит взаимодействует с датчиком, а после показатель указывается на экране.
  4. Сведения не только отображаются на циферблате, но и передаются на сам счетчик, который и считает расход воды (холодной или горячей) за определенный промежуток времени.

Стоит отметить, что 1 импульс в счетчике приравнивается к 10, 100 или 1000 литров воды. Эти показатели в полной мере зависят от диаметра водопровода.

Применение импульсного прибора не вызывает трудностей и не требует к себе каких-то навыков. Устройство, включая датчик, выполняют свою «работу» в автоматическом режиме. Кроме этого, он не потребляет электроэнергию.

Снятие показаний

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

Однако стоит отметить, что часто встречаются случаи, когда конструкция по непонятным причинам не передает сведения, что приводит к «конфликтам» с коммунальными службами.

Поэтому специалисты рекомендуют все-таки снимать ежемесячно показания с экрана и передавать их контроллеру (действия аналогичны снятию показаний с обычных водомеров).

Популярные модели

Модель “Apator Powogaz JS-1,5 NK XB”

Ассортимент водосчетчиков с импульсным выходом велик, поэтому возникают трудности при выборе. Предварительно надо ознакомиться с основными критериями, проконсультироваться с консультантом в магазине и лишь после покупать. К востребованным моделям счетчиков относят:

  • Apator Powogaz JS-1,5 NK XB – одноструйный счетчик, корпус изготовлен из качественной латуни. Высокая ремонтопригодность и качество сборки. Незначительные потери напора. Стоит отметить, что измерительная камера отделена от счетного механизма. Устройство сертифицировано для эксплуатации в промышленных масштабах, а также частных домах, квартирах.
  • VALTEC – одноструйный счетчик, предназначенный для подсчета расходов горячей воды. Корпус изготовлен из латуни. Пригоден для вторичного ремонта, имеет высокое качество сборки. Свойственны незначительные потери напора. Счетный механизм находится вдали от измерительной камеры. Предназначен для использования в промышленных масштабах, а также квартирных и частных домах.
  • АКВА-С – счетчики для холодной и горячей воды, отечественного производства. Корпус изготовлен из латуни. Высокая степень ремонтопригодности, а также хорошее качество сборки. Измерительная камера отдалена от счетного механизма. Пригоден для использования в промышленных масштабах и квартирных/частных домах.
  • Немецкая компания ZENNER изготовляет водосчетчики, предназначенные для горячей и холодной воды. Материал корпуса – латунь. При эксплуатации наблюдаются незначительные потери напора, высокие показатели ремонтопригодности. Сертифицирован для использования в квартирных/частных домах и промышленных масштабах.
  • Счетчик для воды с импульсным выходом итальянской компании B-METERS srl –устройство, предназначенное для подсчета расходов холодной воды. Корпус изготовлен из латуни. Пользователями отмечается высокая ремонтопригодность и качество сборки. Измерительная камера расположена вдали от счетного механизма. Предназначен для использования на промышленных объектах, а также многоквартирных, частных домах.

Это лишь краткий перечень устройств, который устанавливают у себя дома. Все они высокого качества, которое подтверждено многими квартиросъемщиками. При выборе лучше ориентироваться на производителей, себя хорошо зарекомендовала польская, итальянская и немецкая конструкция.

Как подобрать подходящую конструкцию

Несколько подобных приборов способны работать суммарно, передавая сведения на один общий сумматор. При этом у каждого есть возможность вести подсчет как общего расхода водного ресурса, так и затрат на определенных объектах.

Но при покупке счетчика воды с импульсным выходом надо обращать внимание на следующие критерии:

  • давление подачи воды в трубопроводе, а также возможный перепад давления в системе;
  • предварительный подсчет использования водного ресурса по объему;
  • диаметр трубопровода.

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

Способы монтажа и подключения

Подключение водомера производится сотрудником коммунального предприятия.

Это обусловлено тем, что при налаживании автоматического удаленного доступа с импульсного устройства нужно подключать к нему сетевой кабель или модем-транслятор. Без их участия не удастся осуществить передачу данных сигнала по каналам LPWaN или GCM.

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *