Подключение монитора электропотребления PZEM-004 к WiFi контролеру NodeMcu Lua ESP8266

  • Цена: US$ 14.77+US$ 8.28

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

Я не буду описывать упаковку и характеристики данных товаров. подобные обзоры уже существуют на Муске. Я попытаюсь рассказать как можно соединить эти приборы и считывать информацию с PZEM-004 на ESP8266.

Данный экземпляр PZEM-004 имеет интерфейс Uart, который я и буду использовать. Первое препятствие на моем пути, стало то, что сигнальное напряжение на UART PZEM-004 5v а на ESP8266 3,3v. Можно конечно использовать модуль согласования напряжения. Но в данном случае я поступил проще и дешевле. Для того что бы UART интерфейс PZEM-004 работал на напряжении 3.3v достаточно впаять одно дополнительное сопротивление на плату PZEM-004.
Делается это так:
откручиваем 4 винта на задней крышке и снимаем лицевую панель


Дальше вытаскиваем плату из корпуса


И вот таким образом припаиваем сопротивление 1ком.


Теперь рабочее напряжение на сигнальных контактах PZEM-004 будет 3.3v.

Следующие препятствие состоит в том что штатные выходы UART ESP8266 который я использую подключены к интерфейсу USB и не могут быть использованы для других целей. Да и штатный USB штука полезная и может пригодиться для логирования и управления контролером через компьютер. Но выход есть.В ESP8266 UART можно переключать на альтернативные контакты.
GPIO13 и GPIO15. Но тут нас ожидает очередная засада.Дело в том что GPIO15 при включении питания контроллера должен находиться в низком уровне и на плате контроллера есть сопротивление которое подтягивает его к земле. Но при подключении этого контакта к RX контакту PZEM-004, он через светодиод оптрона оказывается подключенным к плюсу питания. Это приводит к тому, что если в момент включения питания на контроллере подключен UART интерфейс к PZEM-004, контроллер не запускается и переходит в режим прошивки.
Что бы этого избежать необходимо добавить ключ на транзисторе по схеме с общим коллектором.
На этом электрические заморочки закончены, и можно приступать к программированию.

Так выглядит готовый модуль.


С подключенным дисплеем.


Как-то так, это все работает.


Некоторая разница в показаниях видна из за того, что существует период опроса 2 сек и соответственно задержка в выводе показаний.


Минимальное напряжение при котором PZEM-004 еще работает

В данной конструкции можно использовать более дешевую модификацию без дисплея
PZEM-004t

В этом случае дополнительный резистор для согласования напряжения UART впаивается сюда:


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

Соединяем все детали вместе таким образом:

Подключаем PZEM-004


Подключаем датчик температуры ds18b20


Через модуль согласования уровней подключаем дисплей.
В моем случае LCD 2004


Тут берем скрипты на lua и закачиваем в контролер

В этом обзоре я описывал как прошивать контроллер и закачивать скрипты

Если мовый модуль PZEM-004 не будет отвечать, необходимо подать на него команду «установки адреса»

Это можно сделать так;

В скрипте POWER.lua найти такой кусок кода:

uart.write(0, 0xB0,0xC0,0xA8,0x01,0x01,0x00,0x1A); -- ??????????
--uart.write(0, 0xB4,0xC0,0xA8,0x01,0x01,0x00,0x1E);


И поправить так:
--uart.write(0, 0xB0,0xC0,0xA8,0x01,0x01,0x00,0x1A); -- ??????????
uart.write(0, 0xB4,0xC0,0xA8,0x01,0x01,0x00,0x1E);


Загрузить исправленный скрипт и запустить контроллер и PZEM-004.
После этого исправить текст скрипта обратно как было и снова его загрузить в контроллер.
После этого все должно заработать.

Всем удачи, хорошего настроения и радости от сделанного своими руками.

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.
+
avatar
+7
Годно, поскольку читать было интересно. Да и тема в общем раскрыта.
Хотя для новичков, скорей всего, не помешало бы разжевать некоторые пункты.
+
avatar
  • 100rm
  • 07 августа 2016, 15:27
+1
Согласен, хотелось бы больше подробностей, а не только способ подключения! В идеале показать работу на готовом устройстве в работе.
+
avatar
  • barkon
  • 07 августа 2016, 18:26
0
Хорошо. Придется подождать. Сделаю, напишу.
+
avatar
  • Mplus
  • 06 августа 2016, 08:38
0
А чего то подобного, но на 3 фазы нет?
+
avatar
  • barkon
  • 06 августа 2016, 12:04
+1
Если Вы готовы профинансировать постройку такого прибора, я Вам его сделаю.
+
avatar
  • Mplus
  • 06 августа 2016, 12:30
0
Я про PZEM-004t, но на 3 фазы. Остальное я и сам сделаю
+
avatar
  • barkon
  • 06 августа 2016, 12:59
+1
А если взять 3 PZEM-004t соединить звездой по напряжению.
Поставить логический коммутатор и опрашивать их по очереди.
+
avatar
  • kalobyte
  • 06 августа 2016, 12:45
0
есть 3х фазные счетчики с выходом рс485
+
avatar
  • Z2K
  • 06 августа 2016, 08:57
0
устройство которое будет контролировать некий агрегат для нагрева жидкости
Вы любитель пива собственного приготовления?
+
avatar
  • barkon
  • 06 августа 2016, 09:56
0
Гляди выше:) Ректификационную колонну
+
avatar
  • Z2K
  • 06 августа 2016, 17:22
0
Предполагал, но не стал писать. :) И какая высота?
+
avatar
  • barkon
  • 06 августа 2016, 21:33
0
Царга 1.5 метра:) из 35 медной трубы.
+
avatar
  • Z2K
  • 09 августа 2016, 04:47
0
Сенк.
+
avatar
  • DarkTwin
  • 06 августа 2016, 09:47
0
Господа, а такое же но уже в сборе и желательно на DIN-рейку? Хотя последнее не обязательно.
У меня часто проседает напряжение — срабатывает реле контроля напряжения — включается ИБП — пищит зараза.
Хочу логировать просадки и скачки — найти причину и устранить ее.
+
avatar
  • barkon
  • 06 августа 2016, 10:22
0
Про готовое не знаю. Мне нравиться ручками, самому делать то что необходимо.
+
avatar
  • DarkTwin
  • 06 августа 2016, 18:21
0
Ручками и я люблю, но мне надо то что поставить в щит на коммерческом объекте.
+
avatar
  • barkon
  • 06 августа 2016, 21:32
0
Не вопрос. Корпус под рейку купить не проблема. Основные грабли я описал. Остальное ручками. Я тоже делаю штуки для серьезных ко мерческих проектов. Глаза боятся, руки делают.
+
avatar
  • Um-ka
  • 07 августа 2016, 22:10
0
Я сделал
+
avatar
  • gulin176
  • 06 августа 2016, 09:51
0
Правильно ли я понимаю что прибор ничего не знает о напряжении, а только о токе. Тогда его нельзя считать точным методом
+
avatar
  • barkon
  • 06 августа 2016, 09:54
0
Прибор меряет напряжение, ток, активную мощность и израсходованную мощность.
+
avatar
  • Z2K
  • 06 августа 2016, 17:24
0
израсходованную мощность
— потребленную электроэнергию.
+
avatar
  • barkon
  • 06 августа 2016, 21:27
0
Да.
+
avatar
  • Naevus
  • 06 августа 2016, 10:01
+2
модуль согласования уровней пожалели для uart-а, но для дисплея — использовали только половину модуля :)
На самом деле — дисплей прекрасно управляется уровнями 3,3 (питание естественно, на модуль нужно подавать 5). Модуль согласования там лишний.
+
avatar
  • barkon
  • 06 августа 2016, 10:15
0
Спасибо за пояснение. Надо будет проверить.
+
avatar
  • Naevus
  • 07 августа 2016, 19:29
0
Тут логика такая: Практически все современные цифровые устройства (5-вольтовые) принимают за логическую 1 напряжение выше 3 вольт (соответственно ниже — ноль). Значит, для того, чтобы управлять такими (современными) устройствами — достаточно контроллера с 3,3 логикой.
Но вот если сигнал идет в обе стороны, или — сигнал входящий для контроллера — тогда, 5В логики с внешнего устройства могут оказаться неприемлемыми для контроллера. Вот тут то и нужен модуль согласования (хотя для чисто входящих сигналов можно и резисторным делителем обойтись).
+
avatar
  • kalobyte
  • 06 августа 2016, 12:48
0
китайцы сами дали товар на обзор или ты писал им?
+
avatar
  • barkon
  • 06 августа 2016, 12:57
0
Магазин предложил написать обзор на их товар по моему выбору.
+
avatar
  • serg_mur
  • 06 августа 2016, 15:04
+1
Как ардуинщик ардуинщику — плюс!
+
avatar
  • barkon
  • 06 августа 2016, 21:26
0
Спасибо
+
avatar
0
Какого номинала резистор впаивается?
+
avatar
  • barkon
  • 06 августа 2016, 21:25
+1
1 ком
+
avatar
0
Может кому-то пригодятся идеи по креплению плат и т.д.
zftlab.org/pages/2016050700.html
zftlab.org/pages/2015101400.html
esp8266.flymon.net/?macs=18FE34DE1372,18FE34DE1529,5CCF7F0A74B0&graphs=acvolt,temp,pres,rssi&period=24h#!/
+
avatar
  • Kirillm
  • 08 августа 2016, 00:32
0
Только сегодня заметил что на графиках у нас перепутани надписи AC Power Wt и AC Power/Hours Wt/h.
Надобно исправить
+
avatar
  • GoeZ
  • 08 августа 2016, 10:34
0
Вроде не плохо, но: не понятно для какого напряжения предназначено (укажите спецификацию)? На какую максимальную мощность рассчитано? Если вам сильно лень, то пожалуйста добавьте ссылки на подобные обзоры. Я понимаю, что хочется поделиться своим «рукожопством» (в хорошем смысле), но для кого этот прибор неизвестен будет полезно.
+
avatar
  • Kirillm
  • 08 августа 2016, 14:43
0
Внизу есть ссылки см Похожие публикации
+
avatar
  • barkon
  • 08 августа 2016, 22:56
0
Извини за минус промахнулся. Как можно исправить?
+
avatar
  • Kirillm
  • 09 августа 2016, 00:06
0
Разве плюс чтото меняет тут, видимость)