Sibprompost.ru

Стройка и ремонт
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Умный Дом своими руками)

(Умный Дом своими руками)

Протокол для счетчика электроэнергии NIK

Протокол для счетчика электроэнергии NIK

Сообщение kpp » 17 мар 2015, 18:14

Re: Протокол для счетчика электроэнергии NIK

Сообщение creo » 28 ноя 2015, 20:48

Протокол передачи данных для НИК, НІК 2104-02.20 Р1Т с RS-485 интерфейсом

Сообщение Sattva » 04 мар 2016, 17:27

Господа, приобрел счетчик (НИК) НІК 2104-02.20 Р1Т с RS-485 интерфейсом.
Цель: развлечения с учетом энергии.

NIK 2104-0 2.2 0 Р1 Т
2104 — Счетчики электроэнергии электронные, счетчик однофазный
0 — 220 В; — Номинальное напряжение
2 — 5(60) А — Номинальная и максимальная сила тока
.
2 — Четырехпроводный электрический интерфейс RS-485 и интерфейс «оптический порт» — Наличие интерфейсов
0 — 0 Радиоканал отсутствует — Наличие радиоканала

Р1 — Р1 Релейный выход — Наличие реле
Т — Многотарифный счетчик

Весьма наивно полагать, будто кто-то подарит протокол работы этого счетчика.

Вот четкая тому причина:

Протокола на счетчики НІК 2104-02.20 Р1Т в свободном доступе нет и не предвидется.
Если для его получения нужно быть гостиницей с полусотней счетчиков,
НІК 2303 АРК1, 3х220/380 В, 5(10) А, кл.т. 1/1, с интерфейсом RS485,
и подписать соглашение о неразглашении.

Выход: купить счетчик НІК и как простой смертный сделать реверс-инжиниринг протокола.
Долго, сложно но весело и интересно.

Если получится, то через пару месяцев выложу видео и описание результатов.
А протокол при таком раскладе даже продавать нет интереса. Уж лучше продавать
какой-то небольшой конвертер из счетчика НИК 2104 через RS485 на Arduino, а далее
по WiFi или Ethernet отправлять данные на сервер. К этому плавно и приближаюсь.

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

Протокол передачи данных для НИК, НІК 2104-02.20 Р1Т с RS-485 интерфейсом

Сообщение Sattva » 04 мар 2016, 18:10

posted 21-10-2013 15:11
Здравствуйте.
Может ли Trace Mode считывать информацию с электросчетчиков NIK 2303 по «Универсальному механизму обмена с электросчетчиками»?

posted 21-10-2013 15:39
В настоящее время такой счетчик не включен в спецификацию «Универсального механизма обмена с электросчетчиками».
У нас нет официального описания протокола, поддерживаемого этим счетчиком.

Если в 2010 году компания tracemode заявляет о том, что «драйвер счетчиков NIK разрабатывается
и будет выпущен в течение ближайших месяцев «, а через 3 года сообщает, что
«У нас нет официального описания протокола, поддерживаемого этим счетчиком. «,
то значит дела плохи — не удалось им договориться с компанией производителем считчиков НІК 2303.
И мало кому удастся.

Очевидно, что технология сбора данных со счетчиков НИК, НІК 2104-02.20 Р1Т с RS-485 интерфейсом
или любым другим интерфейсом, является весомой частью дохода компании производителя и потому
не выдается в открытый доступ.

Смею предположить, что если протокол опубликовать, то очень скоро он будет модифицирован
и непригоден к использованию в новых моделях счетчиков НІК 2104-02.20 Р1Т с RS-485 интерфейсом,
с которым и планирую работать.

Протокол передачи данных для НИК, НІК 2104-02.20 Р1Т с RS-485 интерфейсом

Сообщение Sattva » 04 мар 2016, 21:19

Нашел Подовжувач Р-485, который втыкается в счетчик NIK:
И потом уже этим удлинителем данные передаются по радио-каналу.

Читайте так же:
Генераторы отмотки остановки электросчетчика

Призначення контактів з’єднувачів
X5:
GND – вхід зовнішнього живлення (-)
+5V — вхід зовнішнього живлення (+)

X6:
A – сигнал «А» інтерфейса RS-485
B – сигнал «B» інтерфейса RS-485

Так что теперь понятно что там за контакты в
счетчике NIK 2104-02.20 Р1Т.
Очень хорошо, что они выдают +5 V так как можно запитать
микроконтроллер с WiFi и отправлять данные на сервер в Интернет.

К слову в инструкции к счетчику написано почти то же самое:

Контакты испытательного выхода
Кажись, это мигающий светодиод!
09 —
10 +

RS-485
11 «A»
12 «B»
13 «-» это GND
14 «+» это + 5V

Контакты релейного выхода
15
16

К сожалению, описания RS-485 в паспорте счетчика нет, но по схеме
«Подовжувач Р-485» ситуация проясняется!

И этот бандитизм с описанием не случаен. Все, что касается связи счетчика
с устройствами учета — тайна за семью замками!

Re: Протокол передачи данных для НИК, НІК 2104-02.20 Р1Т с RS-485 интерфейсом

Сообщение xboct » 05 мар 2016, 03:00

Интриги, скандалы, расследовния.
идем на сайт NIk и ковыряемся в их документах. и НАХОДИМ документ http://www.nik.net.ua/uploads/Certifica . iation.pdf
из которого берем волшебные слова DLMS/COSEM
дальше дело за Гуглем.

Если продаван электричества МОЖЕТ параметризировать прибор учета — то про осутствие протокола обмена он просто НАГЛО ЛЖЕТ!

Re: Протокол для счетчика электроэнергии NIK

Сообщение Sattva » 05 мар 2016, 03:24

Кажется дошло.
Вы немного неверно меня поняли. Цитату приводил:
«У нас нет официального описания протокола, поддерживаемого этим счетчиком.»

Автор сих слов не продавец счетчиков или их производитель, а продавец системы учета
потребленной энергии на базе некоторых моделей счетчиков электроэнергии и не только.
Так вот, продавец софта по учету говорит, что производитель
ООО «НИК» или ООО «НИК-ЭЛЕКТРОНИКА» не выдает им протоколы.

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

Производитель вполне указывает протоколы в своем софте, но лишний раз ничего, что
касается считывания показаний не описывает. Даже толком не описал клемы
интерфейса связи RS-485.

Re: Протокол для счетчика электроэнергии NIK

Сообщение xboct » 05 мар 2016, 03:44

Sattva писал(а): Вы немного неверно меня поняли. Цитату приводил:
«У нас нет официального описания протокола, поддерживаемого этим счетчиком.»

Автор сих слов не продавец счетчиков или их производитель, а продавец системы учета
потребленной энергии на базе некоторых моделей счетчиков электроэнергии и не только.
Так вот, продавец софта по учету говорит, что производитель
ООО «НИК» или ООО «НИК-ЭЛЕКТРОНИКА» не выдает им протоколы.

Протокол передачи данных для НИК, НІК 2104-02.20 Р1Т с RS-485 интерфейсом

Сообщение Sattva » 05 мар 2016, 13:54

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

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

Читайте так же:
Подключение электрического счетчика моточасов

Re: Протокол для счетчика электроэнергии NIK

Сообщение xboct » 05 мар 2016, 14:39

Протокол передачи данных для НИК, НІК 2104-02.20 Р1Т с RS-485 интерфейсом

Сообщение Sattva » 05 мар 2016, 15:01

Спасибо за рекомендацию.

Насколько смог понять, IEC 62056-21 описывает работу оптического элемента.

Для RS-485 подходит больше МЭК 1142 (он же IEC 1142, позже IEC 62056- 31 :

По IEC 62056- 31 информации гораздо меньше.
Его описание приводит к книге за
$394.90
http://www.amazon.com/IEC-62056-31-Ed-1 . B000XYSBK4

IEC 62056-31 Ed. 1.0 b:1999, Electricity metering
— Data exchange for meter reading, tariff and load control — Part 31: Use of local area networks on twisted pair with carrier signalling

Дорого. Буду искать дальше.

Но скорее всего, будет проще взять COM-port monitor, отловить запросы.
И собрать на базе них свою реализацию протокола для Arduino.
Записывать в счетчик ничего не нужно. Минимум нужны текущие
— Напряжение,
— Сила тока,
— Потребляемая мощность.

Максимум чтение этих данных из базы за последние 24 часа.

Re: Протокол для счетчика электроэнергии NIK

Сообщение xboct » 05 мар 2016, 15:21

Протокол передачи данных для НИК, NIK 2104-02.20 Р1Т с RS-485 интерфейсом

Сообщение Sattva » 05 мар 2016, 16:05

Конечно, если current loop , то может это и окажется поддержкой.
Хотел приложить описание протокола iec 62056-21 2002
iec_62056-21-2002_change_des_donn_es.pdf
но файл 1,35 МБ слишком большой.

1. Ранее НИК продавал оптические головки, но
2. На 2016 год их в свободном доступе нет.
3. По слухам можно обойтись китайскими аналогами недорогими.

Я же буду пробовать для начала подключиться по USB-RS485 переходнику
с применением стандартного софта производителя: UNIK 3.469

Переходник ждет на почте. Так что к вечеру узнаем: запахнет жаренным
или же пришлю фото подключения.

Re: Протокол передачи данных для НИК, NIK 2104-02.20 Р1Т с RS-485 интерфейсом

Сообщение xboct » 05 мар 2016, 16:16

Re: Протокол для счетчика электроэнергии NIK

Сообщение creo » 07 мар 2016, 15:02

Протокол передачи данных для НИК, NIK 2104-02.20 Р1Т с RS-485 интерфейсом

Сообщение Sattva » 09 мар 2016, 15:00

Дата покупки НИК 2104-02.20 Р1Т
2 марта 2016 года .

Хотел взять с ZigBee, но мне сказали, что они просрочены на заводе.
Потому взял с RS-485.

Re: Протокол для счетчика электроэнергии NIK

Сообщение creo » 13 мар 2016, 11:59

В Днепре без наклейки «Для Днепропетровской области» вообще не хотят делать ни чего. Счетчики только NIK и ни какие другие (какие только письма не пиши). В общем плюнул я на это дело и заказал вот такую вещь:
http://ru.aliexpress.com/item/5-65-A-23 . 261.sHwYm9

В любом случае текущее потребление + показания +-1% получить смогу.

Re: Протокол для счетчика электроэнергии NIK

Сообщение Sattva » 15 мар 2016, 02:01

Спасибо за ссылку.
Очень интересное устройство! Давно такое искал.

Вот ссылка с описанием на английском:
EU Plug Energy Meter Watt Volt Voltage Electricity Monitor Analyzer Power
http://www.aliexpress.com/item/5-65-A-2 . 82678.html

Constant: 1600 imp/kWh
Pulse output: Passive pulse, pulse width is 80+5 ms

Читайте так же:
Как правильно снимать показания счетчиков электроэнергии день ночь

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

А вот для визуального считывания — штука вполне толковая.
Есть смысл взять для какой-то электролинии.

Оно посолиднее EnergyMeter на 3 500 Вт, втыкаемый в розетку:
http://www.ebay.com/itm/EU-Plug-Energy- . Swv0tVaIt1

Re: Протокол передачи данных для НИК, NIK 2104-02.20 Р1Т с RS-485 интерфейсом

Сообщение Sattva » 08 мар 2017, 06:10

Sattva писал(а): Я же буду пробовать для начала подключиться по USB-RS485 переходнику
с применением стандартного софта производителя: UNIK 3.469

Переходник ждет на почте. Так что к вечеру узнаем: запахнет жаренным
или же пришлю фото подключения.

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

Продавец прислал такой Переходник USB-RS-485
USB 2.0 to RS485 Serial Converter Adapter CH340G+MAX485
https://www.aliexpress.com/item-img/Fre . 07038.html

Напомню назначение контактов разъема RS-485 на счетчике НИК 2104-02.20 Р1Т
11 «A» D +
12 «B» D —
13 «-» GND
14 «+» +5V

Вот так это выглядит на счетчике:

После включения счетчика на контактах
13 «-» GND
14 «+» +5V
напряжения не оказалось.
Следовательно, запитать внешние устройство невозможно.

Подключение переходника USB-RS-485 к
11 «A» D +
12 «B» D —
тоже ни к чему не привело — софт к счетчику подключиться не смог.

Переспав, к утру набрался смелости и подал
+-5V от контактов USB-RS-485 адаптера на контакты
13 «-» и 14 «+» счетчика.

УРА!
Символ антенна замигал на дисплее счетчика и к нему удалось
подключиться программой UNIK 3.469 .
Увидел в этой программе все то, что видел у продавца, который применял для связи со счетчиком оптопорт.

Далее установил монитор COM-порта и попробовал записать пакеты обмена данными счетчика
и программы UNIK 3.469. Счетчик отвечал адекватно.

Выводы:
1. RS485 и оптопорт для программы UNIK 3.469 разницы не имеют.
2. Контакты 13 «-» и 14 «+» счетчика применяются для подачи на них напряжения +-5V.
3. Каким бы ни был протокол связи счетчика и программы UNIK 3.469, нужные данные можно
получить путем отправки в счетчик повторяющихся пакетов с логином/паролем и прочими параметрами.

Теперь можно пробовать отправлять и получать данные на НИК 2104-02.20 Р1Т из Ардуино по RS-485.

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

Домашняя автоматизация

Введение
Постановка задачи

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

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

Читайте так же:
Временной промежуток у трехфазных счетчиков
Принцип действия


На приведенном выше рисунке я попытался изобразить принцип действия спроектированного устройства. Веб-сервис, исполняющий роль пользовательского интерфейса, подключается к WiFi модулю, который по протоколу telnet предоставляет возможность управления собственными портами ввода-вывода, АЦП и интерфейсом UART. Собственные порты ввода-вывода и АЦП используются для управления силовым ключом бойлера, в то время как через UART происходит обращение к микроконтроллеру, для считывания показаний счетчиков и термометра. Для получения более правильной картины взаимодействия, рассмотрение отдельных модулей я начну снизу вверх.
Датчики.

Датчики

Так уж случилось, что к моменту начала разработки этой системы, возникло обязательство относить мои «холодные» водомеры на проверку в водоканал, что стало удобным поводом заменить их на более современные водомеры КВ-1.5i, производства ПАТ «Електротермометрія», которые оборудованы интерфейсом для снятия показаний. В данном случае интерфейсом оказался провод, который подключен к геркону внутри счетчика таким образом, что контакт замыкается через каждые 10л воды, прошедшей сквозь счетчик.
К сожалению, на электросчетчике НИК 2102-02 отсутствовали телеметрические выходы, поэтому было решено подсчитывать количество вспышек светодиодного индикатора, который согласно документации, выдавал 6400 вспышек на киловатт. Для этой цели, на ближайшем радиорынке, я приобрел жменю noname фототранзисторов, среди которых нашелся тот, который приемлемо реагировал на светодиодный индикатор.
В качестве термометра, я использовал знакомый любителям 1wire сетей, термометр DS18b20, который достаточно легко получилось подружить с микроконтроллером Attiny2313.
Дольше всего прочего я выбирал датчик тока. В итоге остановился на ACS712 30A, принцип работы которого основан на эффекте Холла. Датчик требовал внешний источник питания и на выходе выдавал величину напряжения пропорциональную силе тока относительно опорного напряжения равного Uпит/2.

Силовой ключ

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

Микроконтроллер

Будучи прикладным программистом я очень редко сталкивался с «железом» и никогда не сталкивался с МК, поэтому я выбрал Attiny2313, примеров использования которого в интернете было предостаточно. Кроме того, программатор USBasp для AVR микроконтроллеров оказался очень дешевым, всего около 9$. Прошивку написанную на С можно найти тут: github.com/AndriiArtemenko/UARTSensorsReader. Грубо говоря, МК занимается тем, что подсчитывает внешние прерывания инициируемые счетчиками и при отключении питания сохраняет значения в энергонезависимую память. Внешние команды МК получает через UART от WiFly-модуля и отвечает на них пересылая в ответ данные. Пока я запрограммировал всего 5 команд:

“a” — получить значение счетчика воды.
“b” — получить значение счетчика электроэнергии.
“c” — получить значение термометра.
“d” — обнулить значение счетчика воды.
“e” — обнулить значение счетчика электроэнергии.

Читайте так же:
Счетчик электроэнергии протокол modbus

Термометр ds18b20 опрашивается МК через обычный порт с помощью внешних библиотек 1wire и ds18x20_v2. Для поддержания работоспособности МК в отсутствия электроэнергии в цепи питания присутствует ионистор на один Фарад.
Основные трудности при работе с МК вызывал дребезг контактов водомера, который был подавлен программно с помощью таймера.

WiFi модуль

В качестве wifi-модуля я использовал RN-171 от Roving Networks, также известный как WiFly. По факту, это не просто wifi-модуль, а самодостаточное устройство с собственными портами ввода-вывода, АЦП, UART, WEB и FTP клиентами. Очень интересная вещь, ознакомится с которой рекомендую всем энтузиастам.
WiFly был настроен на подключение к домашней сети через wifi-роутер, telnet порт которого был проброшен на wifly модуль. Таким образом появилась возможность управлять модулем извне.
Один из портов ввода-вывода был настроен на управление силовым ключом, а одно из АЦП оцифровывает показания датчика тока. Порт UART напрямую соединен с МК.

Принципиальная схема

Как хорошо жить в 21 веке, когда нет необходимости держать дома огромный испытательный стенд и набор компонентов на все случаи жизни. Принципиальную схему я моделировал в Proteus 7 Professional, однако лишь ту часть, которая касалась работы микроконтроллера. Часть касающуюся WiFly модуля я просто дорисовал, по той причине, что в интернете не нашлось модели RN-171для Proteus. По тем же причинам, на схеме вместо фототранзистора изображена оптопара, вместо счетчиков — кнопки, а вместо стаблилзатора напряжения — просто еще один вывод питания. В остальном схема достаточно точная и соответствует “железному” прототипу. Источником питания для устройства послужил зарядный блок от мобильного телефона на 5В. Напрямую от него питается только датчик тока и транзистор усиливающий сигнал выходного порта, WiFly и МК являются 3.3В устройствами и для них был установлен стабилизатор. На сегодня система находится на стадии испытания, а по сему смонтирована на монтажной плате.


Веб-сервис

Создать Веб-сервис я решил с использованием Ruby on Rails 3, только по той причине, что мне очень хотелось попробовать поработать с этим хваленым зверем. Изначально, хостить проект я хотел на Cloud Foundry, но, не дождавшись аккаунта, скатился до Heroku. Исходный код Веб-приложения можно посмотреть тут: github.com/AndriiArtemenko/SmartFlat.
В приложении использовались гемы devise, delayed_job_active_record, liquid, simple-navigation, log4r и т.д.

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



Вместо заключения

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector