Меню

In z61 датчик импульсов руководство

Генератор импульсов in z61

Для использования в автоматизированных системах сбора информации счетчик газа может быть оснащен НЧ генератором импульсов IN-Z 6Х, состоящим из 2 язычковых контактов. Один из них срабатывает от магнитной вставки, встроенной в ролик младшего разряда отсчетного устройства. Второй контакт предназначен для сигнализации влияния на контакт внешним магнитным полем.

НЧ генератор импульсов выпускается в трех исполнениях:

IN-Z 61 – с разъединяющим кабелем

IN-Z 62 – с зажимами для подключения кабеля

IN-Z 63 – с выходным коннектором

Технические характеристики датчика-генератора импульсов IN-Z 61 (Z61):

  • Количество импульсов 100 имп./м3
  • Максимальное напряжение 24 В
  • Максимальная сила тока 50 мА
  • Минимальное количество замыканий 7х107 в мин.
  • Максимальная мощность 0,25 Вт
  • Минимальное время импульса 0,25 с
  • Максимальное сопротивление при замыкании 0,5 Ом

В процессе автоматизации домашнего хозяйства было обнаружено, что имеющийся в наличии счетчик расхода газа ВК-G4 обладает интересной особенностью: его в младший разряд встроен магнит, который может замыкать геркон, устанавливаемый снаружи самого устройства (т.е. для его подключения не требуется разрешения от газовой компании). Это даже указано в паспорте на сам счетчик. Правда там рекомендуется использовать «НЧ генератор импульсов IN-Z 61», но на самом деле это просто геркон с креплением на счетчик за невменяемую цену. Поэтому вместо IN-Z 61 было решено использовать самый дешевый датчик Холла с цифровым выходом (т.е. со встроенным триггером Шмитта).

Из имеющегося в наличии был взят датчик Холла типа SS441A. В соответствии с datasheet на SS44xA в третьей цифре кодируется его магнитная чуствительность, которая обуславливает физическое расположение датчика на газовом счетчике.
В качестве управляющей системы у меня используется одноплатный компьютер Banana PI, работающий под управлением ОС Linux (vanilla kernel 4.2+). Физическое подключение SS44xA очень простое:
вывод (-) подключаем к общему проводу;
вывод (+) подключаем к +5V (а не к +3.3V);
вывод (D) подключаем к порту GPIO и подтягиваем через резистор 4.7 кОм на +3.3V.
Но каково же было мое удивление, когда я не смог обнаружить kernel in-tree drivers, способных просто подсчитывать кол-во импульсов на заданном порту GPIO! Я понимаю, что Linux — это не ОС реального времени, но просто считать низкочастотные импульсы… Неужели только у меня возникла такая задача?
Внимательно посмотрев последние исходники ядра, было обнаружено два промежуточных решения:

  1. Использовать штатный драйвер UIO. Если такое устройство открыть как файл в прикладной программе и записать в него соответствующее значение, то последующая операция чтения из него будет приостановлена до появления прерывания, вызванного изменением уровня сигнала на соответствующем GPIO;
  2. Использовать штатный драйвер gpio_keys. При помощи него можно объявить GPIO в качестве «кнопки» (button) или «переключателя» (switch), и отлавливать в прикладной программе события, связанные с изменением их состояния.

Использование любого из этих решений потребует наличия прикладной программы-демона, которая должна быть активна для выполнения подсчета импульсов. Это не лучшее решение, так как в случае ее завершения по какой-либо причине мы можем пропустить некоторое количество импульсов, что для целей учета достаточно критично. Поэтому, для минимизации рисков, было принято решение написать собственный драйвер устройства, который бы работал непосредственно на уровне ядра.
Итак, встречайте: драйвер для подсчета импульсов на произвольной линии GPIO, конфигурируемый при помощи технологии Device Tree.

  • Используемое ядро Linux версии не ниже 4.x
  • Заголовочные файлы ядра, использованные при его сборке (обычно расположены в /usr/include/linux на целевой системе)
  • Средства для компиляции модулей на целевой системе либо средства для кросс-компиляции
  • Исходный или двоичный файл Device Tree для используемой аппаратной платформы
  • Компилятор Device Tree в двоичный формат (программа dtc)

Для своей работы я использую сборку от Armbian, причем на их же сайте можно взять и исходники ядра, на основе которых и была подготовлена сборка. Но, в принципе, нет никаких ограничений на целевую сборку быть не должно.
Сборку внешнего модуля я здесь не описываю (а надо? в принципе ресурсов с таким описанием достаточно много), поэтому считаем, что у вас уже есть готовые модули counters.ko gpio-pulse.ko, собранные под ваше ядро. Дальнейший процесс я описываю на примере Banana PI, но по аналогии его можно перенести и на любую другую платформу.

Читайте также:  Куда закрепить датчик детонации

Открываем табличку с описанием разъемов на плате. Нас интересует разъем CON3 (GPIO Headers). Выбираем любой понравившийся нам контакт, и определяем его функционал (например мне понравился контакт 12 на разъеме CON3, на который выведен порт сокета PH2). Сверяемся с Allwinner A20 datasheet (таблица GPIO multiplexing function) — выбранный порт должен поддерживать генерацию прерываний (в моем случае это EINT2 в столбце Multi 6). Дальше нам нужно определить номер pin с точки зрения GPIO, которому соответствует выбранный порт (PH2). Мне проще было определить это непосредственно на рабочем устройстве:

# grep ‘(PH2)’ /sys/kernel/debug/pinctrl/1c20800.pinctrl/pinmux-pins
pin 226 (PH2): (MUX UNCLAIMED) (GPIO UNCLAIMED)

заодно и убедился, что этот порт в данный момент ничем не используется (MUX и GPIO UNCLAIMED).

Теперь можно создавать Device Tree configuration. Примеры на некоторые устройства имеются в исходных текстах ядра Linux в папке arch/arm/boot/dts, для Banana PI файл называется sun7i-a20-bananapi.dts
В нем мы производим следующие изменения:

Параметр gpios в node расчитывается следующим образом:

  • Сначала идет ссылка на метку pio;
  • Далее идет номер банка, в котором содержится искомый порт GPIO. Для Allwinner A20 в каждом банке содержатся 32 порта, поэтому номер банка определяется как целая часть от деления GPIO pin на 32;
  • Далее идет номер pin внутри банка. Т.к. в каждом банке по 32 pin, то это значение вычисляется как остаток от деления GPIO pin на 32;
  • Последним параметром идет указание, какой уровень сигнала считать активным

Параметр interrupts в node расчитывается следующим образом:

  • Первым параметром указывается номер прерывания у контроллера GPIO (для EINT2 это будет 2)
  • Вторым параметром указываем IRQ_TYPE_EDGE_FALLING, разрешающей генерацию прерывания при переходе сигнала с высокого уровня в низкий (т.к. датчик у нас с открытым коллектором и подтянут к +VCC)

Выполняем компиляцию измененного файла Device Tree:

Полученным sun7i-a20-bananapi.dtb перезаписываем файл в /boot/dtb/sun7i-a20-bananapi.dtb
Модули ядра counters.ko gpio-pulse.ko записываем в любое место внутри /lib/modules/$(uname -r)/kernel/drivers и загружаем целевую систему. На загруженной целевой системе даем команду

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

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

(это мы имитировали сигнал программными средствами).

Теперь подключаем датчик Холла и убеждаемся в его работоспособности путем поднесения к нему какого-нибудь магнитика (например, от магнитной наклейки на холодильник).

Послесловие

Наконец-то у меня появилось время для размещения фоток. Итак:

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

Затем фиксируем сенсор изолентой

Для прочности вырезаем из пенопласта кусок под размер выемки в газовом счетчике и дополнительно фиксируем сенсор им

После чего фиксируем этот кусок и провод изолентой

Ну и вот что получилось в результате

За решение по крепежу просьба ногами не пинать, т.к. в доме пока еще идет ремонт и крепеж, фактически, является макетным.

Датчик импульсов для счетчиков газа

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

Для использования в автоматизированных системах сбора информации счетчик газа может быть оснащен НЧ генератором импульсов IN-Z 6Х, состоящим из 2 язычковых контактов. Один из них срабатывает от магнитной вставки, встроенной в ролик младшего разряда отсчетного устройства. Второй контакт предназначен для сигнализации влияния на контакт внешним магнитным полем.
Технические характеристики:

  • — Количество импульсов 100 имп./м3;
  • — Максимальное напряжение 24 В;
  • — Максимальная сила тока 50 мА;
  • — Минимальное количество замыканий 7х107 в мин;
  • — Максимальная мощность 0,25 Вт;
  • — Минимальное время импульса 0,25 с;
  • — Максимальное сопротивление при замыкании 0,5 Ом.
Читайте также:  Как подключить датчик слежения

Источник

Cчетчик газа в Home Assistant без паяльника

Не так давно мне пришел счёт за газ от которого стало не по себе, и я решил интегрировать обычный счетчик газа в свой умный дом на базе Raspberry Pi + Home Assistant, чтобы прогнозировать стоимость расходов и получать предупреждения сразу же как только расход начинает превышать ожидания.

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

Есть довольно интересная статья 2014 года об оптическом снятии показаний с любого счетчика с помощью смартфона, но в ней ни слова ни о Home Assistant вообще ни о его компоненте для оптического распознавания счетчиков в частности.

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

Читая эти и другие статьи (например статью 2018 года про Вотериус, или статью 2020 года Умная хрущёвка на максималках) я понял, что счетчики делятся не на два поколения (offline и online), а на три. Помимо 3-го поколения счетчиков, которое умеет отправлять показания счетчика куда надо, есть еще 2-е, которое само передавать данные по сети не умеет, но снабжено передатчиком импульсов (оптических или магнитных), позволяющим подключить к счетчику модуль, который эти импульсы считывает и передает дальше.

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

Однако перед тем как заказывать специализированный (герконовый) датчик импульсов IN-Z61 (1640р с доставкой, устанавливается в специально предусмотренную для него выемку в корпусе счётчика), плату esp8266 (788р с доставкой), паяльник, олово, канифоль, ждать пока все это приедет, а потом канифолиться с этим конструктором, я решил проверить гипотезу, нельзя ли решить задачу существенно проще и дешевле.

Удача улыбнулась мне, и вместо недели ожидания и нескольких тысяч расходов, я в тот же день интегрировал счетчик в Home Assistant обычным датчиком открытия двери Xiaomi (модель MCCGQ01LM), горсть которых когда-то приобрел на Авито по 600р за штуку.

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

Для того чтобы завести счетчик в Home Assistant первым делом я создал сам счетчик в configuration.yaml

и добавил в automations.yaml автоматизацию которая увеличивает его значение в

Затем добавил в configuration.yaml строку utility_meter: !include utility_meter.yaml , а в файл utility_meter.yaml следующие сущности, собирающие значения счетчика газа по интервалам (месяц, день, час)

и уже на основе этих сущностей создал сенсоры, которые превращают кубометры в рубли

Читайте также:  Датчик абс рено маскотте

Чтобы счетчик не убил SD карту на которой бегает Home Assistant в кратчайшие сроки, и интерфейс Home Assistant не вешался при открытии состояния датчика, отключил датчику историю, добавив в configuration.yaml

После перезагрузки Home Assistant остаётся только ввести в систему текущее показание счетчика

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

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

Источник

Датчик импульсов IN-Z61 для газового счетчика ELSTER BK

Назначение

Датчик импульсов IN-Z61 используется в автоматизированных системах сбора информации. Предназначен для установки на газовые счетчики ELSTER модификации BK. Подходит для счетчиков ELSTER BK с любым номинальным расходом от G1.6 до G40.

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

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

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

Датчик имеет 0.5 метровый 2х жильный кабель, который при необходимости можно удлинить до 50 метров. Можно использовать стандартный кабель типа витая пара или кспв. Для одного датчика достаточно однопарной витой пары. Используя, например, четырехпарную витую пару можно проложить трассу сразу для 4х датчиков или 2х счетчиков воды и 2х датчиков. Для удобства приобрести необходимый кабель можно в нашем интернет магазине в разделе АКСЕССУАРЫ.

Дистанционный съем показаний по Wi-Fi

Для дистанционного съема показаний с газовых счетчиков по Wi-Fi подключите его к контроллеру SAURES и зарегистрируйте личный кабинет. Один контроллер обслуживает до 8 счетчиков и датчиков.

  • Текстовые инструкции, схемы подключения оборудования, паспорта на странице Документация и утилиты
  • Видеоинструкции по настройке оборудования смотрите на этой странице
  • Ответы на самые частые вопросы о контроллерах, личном кабинете и совместимом оборудовании с удобным поиском в нашей Базе знаний
  • Обзоры продуктов и совместимого оборудования в прямом эфире и в записи на нашем канале YouTube

Варианты оплаты для физических лиц

  1. Онлайн-оплата банковской картой. После оформления заказа, нажмите Оплатить и введите данные карты. Доступна оплата с помощью Google Pay и Apple Pay.
  2. Оплатите заказ с помощью кошелька в ЮMoney.
  3. Используйте для оплаты онлайн-кабинет или мобильное приложение банка: Сбербанк, Альфа-банк, Тинькофф

Заказы передаются в доставку только после полной предоплаты. После успешной оплаты чек придёт вам на Email.

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

  1. Оплата по выставленному счету. После оформления заказа наши менеджеры проверят заказ и отправят счет на ваш Email.

Подробнее о способах доставки читайте здесь.

Узнайте сроки и стоимость доставки на странице оформления заказа или нажмите на ссылку Рассчитать доставку в любой карточке товара.

Ваш заказ доставит Сберлогистика, CDEK, Boxberry, PickPoint, DPD или IML. Выберите службу доставки при оформлении заказа.

Доступные способы доставки:

  1. Курьерская доставка. Курьер привезёт заказ по указанному адресу и лично вручит получателю.
  2. Постамат или пункт выдачи заказов. Когда заказ поступит на точку, на ваш телефон или e-mail придет код для получения.
  3. Самовывоз из нашего офиса: Москва, Малая Юшуньская 1к1 (метро Севастопольская)

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

Источник

Adblock
detector