Я там ЗАДОЛБАЛСЯ объяснять ТС, что нужно выкладывать код и именно тот, который работал, и логи работы тоже. Вот правда, ЗАДОЛБАЛСЯ! И Вам объяснять тоже самое уже не буду. Читайте сами. Дойдёт - сделаете как надо, не дойдёт - не моя проблема.
пишу с телефона поэтому библу смотреть не удобно. Я правильно понял, что каждый запрос тормозит луп на секунду? частота опроса (получения данных от pzem) мне не критична, но вот loop так тормозить не вариант.
Я правильно понял, что каждый запрос тормозит луп на секунду? частота опроса (получения данных от pzem) мне не критична, но вот loop так тормозить не вариант.
Неправильно. Запросы должны осуществляться не чаще раза в секунду. Сам счётчик отвечает быстро.
Китайцы выпустили новую версию платы (v3.0), обещают что не надо будет ждать по одной секунде между запросами. И считать можно будет все данные за один запрос. Но и протокол поменялся, так что либа работать не будет. А ещё улучшили изоляцию шины данных от измерительной части. Теперь экран на нижней стороне платы, который соединён с сетью, не заходит на разъём данных. И под оптронами сделали разрез, чтобы исключить пробой по поверхности платы.
Мне уже приехала новая плата. Надеюсь, на этой неделе найдётся время протестить.
В итоге моргает светодиодом "Rx", в мониторе порта "Current address:248". Даже если модуль отключить физически. Если пины в инициализации поменять местами, начинает моргать "Tx", то есть накосячить в двух проводах я не смог.
Старый отдавал. В новом, как я понял, просто свой протокол на модбас заменили. Наврядли стали все перепаивать. Зацепись через USB-TTL на ПК и через утилиты всякие его пощупай.
Что-то сомнения у меня. Если он весь питается от низковольтной части (схему так и не нашёл), то зачем опторазвязка по Rx и Tx. Сейчас силу подключу, посмотрю. Если нет, останется щупать через переходник или перебирать библиотеки.
А... Я думал, что ты ему просто трансформатор не подключил. Так-то да - 5В с МК питают одну оптопару (в направлении "Туда"), а напруга с самого PZEM питает вторую оптопару (по направлению "Оттуда"). На старом так же было.
Оно и без трансформатора, если только линию подключить, уже показывает частоту и напряжение. Просто... Как обычно, когда вотпрямщазнадо, то в доме ни метра провода, ни вилки в хламовнике, ни розетки свободной.
Да нет еще впечатлений. Нужно собрать всё в рабочий макет, отволочь на работу, запустить и посмотреть неделю.
Тут ведь затея такая, что я ещё сам не осознал. На объекте четыре транспортёра с трёхфазными движками. Нужно "слушать", как они садят сеть, и сваливать всё на Zabbix.
По Zabbuino: Огромное тебе спасибо за проделанную работу и отдельное за порт на esp8266! Я ведь на Arduino с Ethernet так и не смог запустить. Результаты на esp ты сам видел.
Надо или не надо допиливать -- тут я просить не могу, но старых v1.0 я не нашёл (The old version has been sold out in most of the online store and no produce anymore.), хотя искал именно чтобы так прикрутить. Обойдусь траппером, до внятной реализации у меня конь ещё не валялся.
PZEM на трехфазных движках мы проходили - так себе идея. Срез по фазам несинхронизирован. Да ещё и хардварные проблемы были какие-то... вроде там PZEM-ы врали или даже горели.
Всё сам разобрался. Спасибо за ответы. Осталось только проблема, что PZEM что то врет в подсчете потребленной энергией. Ошибается со счетчиком чуть ли не в 2 раза. Странно, взял его что бы контролировать счетчик, а тут такая засада.
А по данным какой параметр врёт? При распечатке - напряжение ток. Мощность их произведение. Энергия интеграл мощности. Ошибка либо в исходных данных, либо в расчёте.
Ток можно прикинуть по включению какого-нибудь мощного прибора, типа утюга. Посмотреть ток до включения и после. Разность должна быть точно равна току утюга. Ток утюга можно измерить тестером.
Если метрики снимаются неодновременно, то разброд и шатание гарантированно.
И почему? Он же всё сам вычисляет, я только считываю показания. Это всё равно как каждые 5 минут подходить к электросчетчику и записывать данные.
nik182 пишет:
Ток можно прикинуть по включению какого-нибудь мощного прибора, типа утюга. Посмотреть ток до включения и после. Разность должна быть точно равна току утюга. Ток утюга можно измерить тестером.
Можно, но толку то, если PZEM врет, что мне его калибровать? А если погрешность нелинейная? Меня интересует, встречалось такое или нет?
sadman41 не предлагает так делать, а предполагает, что такое может случиться.
Возможно, не случится, если считать все параметры одним запросом. Но если считывать напряжение, ток и мощность отдельными запросами, то вполне есть шанс попасть на разные замеры.
PZEM сам определяет и вычисляет все параметры и хранит их в памяти. Это не просто датчик, это готовый электросчетчик. Я просто периодически снимаю показания. Ничего с ними я не могу сделать. При разных замерах естественно будут разные показания, как на обычном электросчетчике.
Приехал PZEM. По утюгу точность напряжения лучше 0.1 % по току завышает на 0.5%, но на холостом ходу показывает 0.36А, а это как раз почти 0.5 % от 8А утюга. Вот и думай, это норма +0.36 или как?
Так для пзема с трансом такого большого номинала, может, это вообще не баг, а технологическая особенность. В ACS712 тоже чем больше лимит, тем больше дрифт.
Я лично на сотые и десятые вообще не обращал внимания - это ж не высокоточные измерительный прибор, а так - бытовой градусник.
Покрутил токовый трансформатор в пространстве, переставил на другой провод... в общем добился что на холостом ходу показывает ток 0. Теперь ток тоже соответствует тестеру лучше чем 0.1% и измеряет ток телефонной зарядки.
Для работы с ESP32 пришлось уменьшить нагрузочные резисторы на выходе с 1к до 510 Ом оба на Rx Tx. В интернетах пишут только про Rx.
Помогите разобраться с показаниями этого PZEM. Года два использовал версию 2 для измерения потребляемой энергии. В итоге, пришел к выводу, что показания потребляемой энергии PZEM соответствуют тем, которые показывает домовой счетчик с точностью <1%. Для бытовых целей мне этого достаточно. Сейчас на вход в дом поставил PZEM v3 (библиотека 1.1.2 от Jakub Mandula), а он уже выдает кучу циферок и я в них вгляделся. И понял, что нихрена не понимаю. Например, вот типичные показатели трех PZEM004T V3 (каждый на своей фазе):
(я в курсе, что "моментальные" показания не совсем моментальны, но погрешность в несколько процентов меня устраивает)
U=227.187 / 227.044 / 229.100
I=2.049 / 1.067 / 0.041
Частота=49.132 / 49.133 / 49.132
P=470.01 / 334.244 / 30.2
PowerFactor=0.132 / 0.032 / 0.184
Это частный дом. Никакого серьезного индукционного оборудования у меня нет. В момент снятия показаний индукционная плите не работала.
1. "Одновременно" смотрел потребляемую мощность по домовому счетчику от Облэнерго. Он показывает сумму в 832Вт, что примерно соответствует моим показаниям, учитывая не одномоментность
2. Судя по PowerFactor у меня идет плавка стали или аллюминия - вся мощность реактивная
3. Пытаюсь понять, как высчитывается мощность. Берем первую фазу (пока без PowerFactor) 227.187*2.049=465.5. Итого, если принять во внимание п.1 и то, что мощность, которую он показывает истинная, то получаем PowerFactor=470.01/465.5=1.009. Ну... Можно дуопустить, что в обычном доме, с хорошей линией снабжения, значения cosF должно быть близко к единице, а остальное - погрешности вычислений. Но вот со второй фазой уже не складывается совсем 227,044*1.067=242.25 и этот cosF уже должен быть 1.56? что есть бред.
Провел чистый эксперимент. Повесил PZEM на линию, где стоит один циркуляционный насос, на котором написано 145Вт 0.66А. Pzem мне выдал
U=234.187
I=0.118
P=148
Мощность - считаем, правильная. Напряжение - тестер показал такое же. Ток - бред! Должен быть в 5 раз выше. Как при этом можно посчитать мощность правильно?
Итого, у меня получаются два вопрос:
1. Если мощность меряет правильно, напряжение правильное, то, значит показания тока, которые он выдает на выход и те, которые он использует - разные. Что это? Я смотрел показатели в динамике. Напряжение скачет +- 5 В, мощность от 145 до 150. А ток меняется только на 0.01А
2. Что именно показывает PZEM под видом PowerFactor? Это явно не cosFi
Что-то мне такое помнится, что на трехфазном движке какой-то показатель в минус уходил, если подключение было некорректное. Деталей не помню, но непонятки такие были.
Сейчас у меня все трансформаторы повешены на фазовый провод. Неужели надо на нулевой? Тогда будут проблемы повесить это на трехфазный потребитель - у них ноль общий.
Коллеги, а подскажите плиз -
использовал опрос примерно как выше в теме - каждые 15 секунд запрашивал один параметр, и все было хорошо.
Но прошло обновление либы, теперь она поддерживает hardwareserial (что для меня актуально), но теперь появилась задержка в секунду при опросе....
https://github.com/olehs/PZEM004T
менее, чем в 950 мсек - плата стабильно выдает ошибку (-1).
При выставлении #define PZEM_DEFAULT_READ_TIMEOUT 1000
менее, чем в 950 мсек - плата стабильно выдает ошибку (-1).
Подскажите, куда смотреть?
Спасибо заранее!
Подскажите, куда смотреть?
В начало этой темы. Примерно первые постов 15.
Я там ЗАДОЛБАЛСЯ объяснять ТС, что нужно выкладывать код и именно тот, который работал, и логи работы тоже. Вот правда, ЗАДОЛБАЛСЯ! И Вам объяснять тоже самое уже не буду. Читайте сами. Дойдёт - сделаете как надо, не дойдёт - не моя проблема.
Очень интересно... Как Вы связали у себя в голове HardwareSerial и опрос раз в 950ms? Поделитесь логикой.
Коллеги, посыпаю голову пеплом - косяк у меня в коде:
перенося код из "дева" в "прод" оставил несколько лишних опросов...
Спасибо всем.... )
пишу с телефона поэтому библу смотреть не удобно. Я правильно понял, что каждый запрос тормозит луп на секунду? частота опроса (получения данных от pzem) мне не критична, но вот loop так тормозить не вариант.
Я правильно понял, что каждый запрос тормозит луп на секунду? частота опроса (получения данных от pzem) мне не критична, но вот loop так тормозить не вариант.
Неправильно. Запросы должны осуществляться не чаще раза в секунду. Сам счётчик отвечает быстро.
понял , тормозит когда опрашиваешь чаще одного параметра в секунду.
только что проверил так тормозит луп (стандартный пример библы)
а вот так норм. опрашиваем поочереди параметры через 1,5 сек
Китайцы выпустили новую версию платы (v3.0), обещают что не надо будет ждать по одной секунде между запросами. И считать можно будет все данные за один запрос. Но и протокол поменялся, так что либа работать не будет. А ещё улучшили изоляцию шины данных от измерительной части. Теперь экран на нижней стороне платы, который соединён с сетью, не заходит на разъём данных. И под оптронами сделали разрез, чтобы исключить пробой по поверхности платы.
Мне уже приехала новая плата. Надеюсь, на этой неделе найдётся время протестить.
Подкиньте ссылку на девайс.
Нашел описание. Производитель туда ModBus влепил вместо своего протокола.
Я здесь брал: https://ru.aliexpress.com/item/32907139707.html
Подскажите пожалуйста...
Модуль pzerm-004t v3.0 без подключения силовой части должен что-то отдавать или нет?
Подключение к WeMos D1 mini:
D0 - Rx, D4 - Tx, питание общее 5v с преобразователя. Скетч из примеров:
В итоге моргает светодиодом "Rx", в мониторе порта "Current address:248". Даже если модуль отключить физически. Если пины в инициализации поменять местами, начинает моргать "Tx", то есть накосячить в двух проводах я не смог.
Старый отдавал. В новом, как я понял, просто свой протокол на модбас заменили. Наврядли стали все перепаивать. Зацепись через USB-TTL на ПК и через утилиты всякие его пощупай.
Старых в продаже не нашёл. Библиотека, вроде для v3.0 ():
Что-то сомнения у меня. Если он весь питается от низковольтной части (схему так и не нашёл), то зачем опторазвязка по Rx и Tx. Сейчас силу подключу, посмотрю. Если нет, останется щупать через переходник или перебирать библиотеки.
В общем, без подключения силовой части оно (PZEM-004T-100A_v3.0) не работает.
А... Я думал, что ты ему просто трансформатор не подключил. Так-то да - 5В с МК питают одну оптопару (в направлении "Туда"), а напруга с самого PZEM питает вторую оптопару (по направлению "Оттуда"). На старом так же было.
Оно и без трансформатора, если только линию подключить, уже показывает частоту и напряжение. Просто... Как обычно, когда вотпрямщазнадо, то в доме ни метра провода, ни вилки в хламовнике, ни розетки свободной.
Как впечатления от нового пзема? Я так и не имплементировал его в свой прожект - никто не заинтересовался серьезно.
Да нет еще впечатлений. Нужно собрать всё в рабочий макет, отволочь на работу, запустить и посмотреть неделю.
Тут ведь затея такая, что я ещё сам не осознал. На объекте четыре транспортёра с трёхфазными движками. Нужно "слушать", как они садят сеть, и сваливать всё на Zabbix.
По Zabbuino: Огромное тебе спасибо за проделанную работу и отдельное за порт на esp8266! Я ведь на Arduino с Ethernet так и не смог запустить. Результаты на esp ты сам видел.
Надо или не надо допиливать -- тут я просить не могу, но старых v1.0 я не нашёл (The old version has been sold out in most of the online store and no produce anymore.), хотя искал именно чтобы так прикрутить. Обойдусь траппером, до внятной реализации у меня конь ещё не валялся.
PZEM на трехфазных движках мы проходили - так себе идея. Срез по фазам несинхронизирован. Да ещё и хардварные проблемы были какие-то... вроде там PZEM-ы врали или даже горели.
Подскажите пожалуйста...
Модуль pzerm-004t v3.0. Использую библиотеку
* PZEM-004Tv30.h Author: Jakub Mandula https://github.com/mandulaj
В ней описан метод pzem.resetEnergy()- сброс счетчика энергии, однако, что то он у меня не работает.
Может, что то делаю не так?
Сделайте сброс по кнопке, а не по странному условию.
На третьей версии нет кнопки. Сброс только программно. А условие сброса 1 числа в 0 часов в 0 минут в 0 секунд.
Сброс по кнопке на Arduino, а не на счетчике.
Я pzem.resetEnergy() передаю и по условию и по кнопке. По кнопке PZEM её выполняет, а по условию нет. Что в нем не правильно?
Я бы взял сторонний инструмент и с ПК послал команду. Если и так не от работает, то нечего и от библиотечки требовать.
Всё сам разобрался. Спасибо за ответы. Осталось только проблема, что PZEM что то врет в подсчете потребленной энергией. Ошибается со счетчиком чуть ли не в 2 раза. Странно, взял его что бы контролировать счетчик, а тут такая засада.
А по данным какой параметр врёт? При распечатке - напряжение ток. Мощность их произведение. Энергия интеграл мощности. Ошибка либо в исходных данных, либо в расчёте.
PZEM врет в подсчете потребленной энергией.
Напряжение вроде в норме, а ток и потребляемую мощность, как проверишь. Опрашиваю его раз 5 минут и отправляю на народный мониторинг.
Если метрики снимаются неодновременно, то разброд и шатание гарантированно.
Ток можно прикинуть по включению какого-нибудь мощного прибора, типа утюга. Посмотреть ток до включения и после. Разность должна быть точно равна току утюга. Ток утюга можно измерить тестером.
И почему? Он же всё сам вычисляет, я только считываю показания. Это всё равно как каждые 5 минут подходить к электросчетчику и записывать данные.
Ток можно прикинуть по включению какого-нибудь мощного прибора, типа утюга. Посмотреть ток до включения и после. Разность должна быть точно равна току утюга. Ток утюга можно измерить тестером.
Можно, но толку то, если PZEM врет, что мне его калибровать? А если погрешность нелинейная? Меня интересует, встречалось такое или нет?
Меня интересует, встречалось такое или нет?
странная логика... направление решения проблемы вас не интересуют. хотите только знать один вы такой несчастный или вас много?
Если много - это вас примирит с неверными данными? :)
Если известен источник ошибки, то можно думать что делать. Может быть и без калибровки можно обойтись. Может трансформатор тока дурит?
может эти трансформаторы идут с разными коэффициентами. На нем что то написано? Скорее всего в скетче надо этот коэф поправить.
Спасибо за идею. Буду разбираться.
В даташите точность измерения 0,5%
Характеристики производителя (оптимистичные)
Автор библиотеки пытался сделать калибровку, но ему это не удалось.
https://github.com/mandulaj/PZEM-004T-v30/issues/12
И почему? Он же всё сам вычисляет, я только считываю показания. Это всё равно как каждые 5 минут подходить к электросчетчику и записывать данные.
Ну, вычисляет. А читать можете напругу с одного замера, ток со второго, мощность с третьего.
А в чем смысл,и что это меняет?
sadman41 не предлагает так делать, а предполагает, что такое может случиться.
Возможно, не случится, если считать все параметры одним запросом. Но если считывать напряжение, ток и мощность отдельными запросами, то вполне есть шанс попасть на разные замеры.
PZEM сам определяет и вычисляет все параметры и хранит их в памяти. Это не просто датчик, это готовый электросчетчик. Я просто периодически снимаю показания. Ничего с ними я не могу сделать. При разных замерах естественно будут разные показания, как на обычном электросчетчике.
Приехал PZEM. По утюгу точность напряжения лучше 0.1 % по току завышает на 0.5%, но на холостом ходу показывает 0.36А, а это как раз почти 0.5 % от 8А утюга. Вот и думай, это норма +0.36 или как?
А трансформатор на сколь ампер?
Разрезной на 100
Так для пзема с трансом такого большого номинала, может, это вообще не баг, а технологическая особенность. В ACS712 тоже чем больше лимит, тем больше дрифт.
Я лично на сотые и десятые вообще не обращал внимания - это ж не высокоточные измерительный прибор, а так - бытовой градусник.
Покрутил токовый трансформатор в пространстве, переставил на другой провод... в общем добился что на холостом ходу показывает ток 0. Теперь ток тоже соответствует тестеру лучше чем 0.1% и измеряет ток телефонной зарядки.
Для работы с ESP32 пришлось уменьшить нагрузочные резисторы на выходе с 1к до 510 Ом оба на Rx Tx. В интернетах пишут только про Rx.
Помогите разобраться с показаниями этого PZEM. Года два использовал версию 2 для измерения потребляемой энергии. В итоге, пришел к выводу, что показания потребляемой энергии PZEM соответствуют тем, которые показывает домовой счетчик с точностью <1%. Для бытовых целей мне этого достаточно. Сейчас на вход в дом поставил PZEM v3 (библиотека 1.1.2 от Jakub Mandula), а он уже выдает кучу циферок и я в них вгляделся. И понял, что нихрена не понимаю. Например, вот типичные показатели трех PZEM004T V3 (каждый на своей фазе):
(я в курсе, что "моментальные" показания не совсем моментальны, но погрешность в несколько процентов меня устраивает)
А на другой провод трансформатор повесьте...
Что-то мне такое помнится, что на трехфазном движке какой-то показатель в минус уходил, если подключение было некорректное. Деталей не помню, но непонятки такие были.
Сейчас у меня все трансформаторы повешены на фазовый провод. Неужели надо на нулевой? Тогда будут проблемы повесить это на трехфазный потребитель - у них ноль общий.