• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Предложение Измеритель мощности

ale48666

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

NeoroN

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

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

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

CodeNameHawk

Moderator
Команда форума
Выполнил все рекомендации, Esp(Tx)-Pzem(Rx) соедены через R=100Ом соответственно
Pztm(Tx)-Esp(Rx) также соедены через R=100Ом, результат во вложениях.
Вот вам еще рекомендаций :
Разберитесь с названиями ног есп. (это относится к PZEM004T pzem(10,11); // (RX,TX) connect to TX,RX of PZEM)
Если уже решили показать схему, то надо все показать на ней.(куда подключен монитор Serial)
Если есть пример у человека, который написал библиотеку, почему его не использовать?
(У него конкретно написано, что, куда подключить)
An example on how to use ESP8266 hardware serial with PZEM004T

Note: ESP8266 UART0 pins GPIO1 (TX) and GPIO3 (RX) are usually connected
to an onboard USB2serial converter, it can affect PZEM communication.
It's better not to share USB2serial pins for PZEM communication

Default UART0 pins could be swapped to gpio13(rx),gpio15(tx)
Note: gpio15 pin must be pulled lOW on esp start, otherwise it won't boot from eeprom.
PZEM004T always pulls it's RX pin HIGH via optocoupler's led, so make sure to workaround it anyhow while esp boots up
 

ale48666

New member
Вот Вам машинный перевод Вашей цитаты:
"Пример использования серийного оборудования ESP8266 с PZEM004T
Примечание: ESP8266 Штырьки UART0 GPIO1 (TX) и GPIO3 (RX) обычно подключены
к встроенному конвертеру USB2serial, он может влиять на связь PZEM.
Лучше не делиться USB2serial контактами для связи PZEM
Выводы UART0 по умолчанию можно поменять на gpio13 (rx), gpio15 (tx)
Примечание. Булавку gpio15 нужно вытащить влево при старте esp, иначе она не загрузится с eeprom.
PZEM004T всегда вытаскивает RX-штырь HIGH через светодиод оптопары, поэтому обязательно обходите его, пока esp загружается"
Я многое не понял еще когда увидел его в первый раз у автора и с тех пор не поумнел, не льзя-ли изложить то-же самое своими словами по русски.
Монитор я не предполагал использовать, а сохранять инф. в формате ( CSV) для дальнейшего анализа в Excel.
 

CodeNameHawk

Moderator
Команда форума
Вот Вам машинный перевод Вашей цитаты:
А мне он зачем?

Этими не хитроумными словами он пытается объяснить, что аппаратный UART0 у него занят конвертером USB2serial, поэтому он подключает PZEM к другим ногам
gpio13(rx),gpio15(tx).
Общеизвестно, чтобы есп нормально загрузилась, необходимо, при подаче питания на есп, держать gpio15 в состоянии лог. нуля.
Это он предлагает сделать внешним резистором.(оцените ваш перевод pulled lOW on esp start и вытащить влево при старте esp)
В программе я вижу
hwserial.swap(); // (optionally) swap hw_serial pins to gpio13(rx),15(tx)
это приведет к тому, что UART0 поменяется местами с UART1.
Reference — ESP8266 Arduino Core 2.4.0 documentation

У вас на рисунке видно, что получаете информацию с СОМ9, а на схеме к есп ничего не подключено, кроме PZEM004T,
как это у вас получается?

В вашем примере надо поправить
Разберитесь с названиями ног есп. (это относится к PZEM004T pzem(10,11); // (RX,TX) connect to TX,RX of PZEM)
По ссылке выше видно, что Тх0 это D1 он же GPIO1, а Rx0 это D3 и GPIO3 и остальные Dn соответствует GPIOn.
В скетче D1 обозначается 1 и.т.д.
 

ale48666

New member
А мне он зачем?

Этими не хитроумными словами он пытается объяснить, что аппаратный UART0 у него занят конвертером USB2serial, поэтому он подключает PZEM к другим ногам
gpio13(rx),gpio15(tx).
Общеизвестно, чтобы есп нормально загрузилась, необходимо, при подаче питания на есп, держать gpio15 в состоянии лог. нуля.
Это он предлагает сделать внешним резистором.(оцените ваш перевод pulled lOW on esp start и вытащить влево при старте esp)
В программе я вижу
hwserial.swap(); // (optionally) swap hw_serial pins to gpio13(rx),15(tx)
это приведет к тому, что UART0 поменяется местами с UART1.
Reference — ESP8266 Arduino Core 2.4.0 documentation

У вас на рисунке видно, что получаете информацию с СОМ9, а на схеме к есп ничего не подключено, кроме PZEM004T,
как это у вас получается?

В вашем примере надо поправить

По ссылке выше видно, что Тх0 это D1 он же GPIO1, а Rx0 это D3 и GPIO3 и остальные Dn соответствует GPIOn.
В скетче D1 обозначается 1 и.т.д.
Мне не нужны советы как чего сделать, мне нужно работающее устройство за оговоренные деньги.
 
Сверху Снизу