Измеритель мощности с WiFi, цветным дисплеем и логгером на базе PZEM-004T

601Не так давно я обозревал модуль Sonoff POW, который позволяет измерять потребление электроэнергии и выдавать данные по WiFi.
Сильно не понравилось отсутствие хоть какого то индикатора, низкий функционал, а так же отсутствие гальванической развязки от сети 220, что может приводить к плачевным результатам.
В конце концов приобрел готовую плату PZEM-004T с целью сборки измерителя мощности самостоятельно.

 

Требования к измерителю мощности:

  • Гальваническая развязка при измерении тока сети 220В
  • Информативный дисплей
  • Беспроводной подключение к компьютеру
  • Возможность сохранения измерения с последующим просмотром или копированием на компьютер.
  • Точность не менее 5%

Выбор мой пал на модуль PZEM-004T в виде отдельной платы.

Характеристики модуля

  • Измерение текущего напряжение сети переменного тока 80-260В
  • Измерение тока 0 — 100А
  • Измерение активной мощности 0 — 22КВт
  • Измерение потребленной электроэнергии
  • Точность измерения 1%
  • Рабочая частота 45-65Гц
  • Последовательный интерфейс UART со скоростью 9600
  • Напряжение питания 5В
  • Возможность подключения LCD или LED дисплеев

Размер платы 31×74мм, диаметр катушки трансформатора тока 33ммhtb1rdmupvxxxxbfxfxxq6xxfxxxw

100

В комплекте идет сам модуль и трансформатор тока

101

Сердце модуля — микросхема SD3004 от китайской компании SDIC Microelectronics Co., Ltd предназначенная для измерения электроэнергии.

102

Кроме того на плате видна микросхема EEPROM Atmel 24C02C на 256 байт с миллионом циклов записи и две оптопары PC817, обеспечивающих гальваническую развязку последовательного интерфейса.

103

Так же на плате есть не распаянный разъем для подключения LED или LCD (судя по описанию микросхемы SD3004)

105

В интернете я нашел описание модуля PZEM-004T в котором есть схема подключения и протокола обмена с компьютером.

htb1vlkrpvxxxxcpxfxxq6xxfxxxr

Протокол обмена по UART довольно примитивный, кроме того можно найти готовые ардуиновские библиотеки, работающие как с аппаратным, так и по программным последовательным интерфейсом.

Для теста модуля использовал Arduino Mega 2560 имеющего три аппаратных последовательных шины.

Цепляю RX и TX к 18 и 19 выводам, соответствующим интерфейсу Serial1, чтобы в Serial0 выводить отладочную информацию.

202

Трансформатор тока надеваю на провод, идущий к розетке

201

Подключаю розетку к сети

203

Загрузил скетч примера к библиотеке

На экране видны показатели напряжения, тока, мощности и потребленной электроэнергии

294

Показания совпадают с моим прибором VC97 до 3-го знака. Модуль без проблем мерит зарядники с телефоном мощностью около 5Вт.

Прибор, кроме самого PZEM-004, будет состоять из
Модуля ESP826612F
Цветного TFT дисплея 240×320 на контроллере ILI9341
Миниатюрного блока питания на 5В
Ну и небольшого количества навесных деталек, корпуса и материалов, которые обычно есть в наличии у уважающего себя радиолюбителя. Общий бюджет вышел в пределах $20 (цены могли немного измениться с момента покупки)
Схема прибора

cxema

Изготавливаем это все в железе

302 309 404

Прошивка

Для работы дисплея выбирал между библиотекой UTFT и Adafruit GFX. Выбрал вторую из за больших возможностей и скорости работы.
Из библиотеки PZEM-004 выкинул поддержку SoftwareSerial, так как из за нее не хотела собираться под ESP8266
Прошивку с правлеными библиотеками выложил на GITHUB

Возможности прошивки:

  • Измерение напряжения 80-260В, тока 0-100А, мощности 0-22кВт и потребленной электроэнергии
  • Выдача мгновенных показателей на экран (обновление 1 сек)
  • Выдача мгновенных показателей в WEB-интерфейс
  • Построение графика мощности (150 значений по 2 сек)
  • Сохранение всех показателей в журнал (файл) во внутренней памяти EEPROM с настраиваемой дискретностью
  • Просмотр, скачивание и удаление журналов
  • Синхронизация времени по NTP и привязка значения в журнале к времени
  • Сохранение в файл внеочередного значения показателей с маркировкой по нажатию кнопки
  • Приостановка и возобновление записи в журнал через WEB-интерфейс или по длительному нажатию кнопки
  • Настройка параметров сети через WEB-интерфейс и сохранение конфигурации в EEPROM ESP8266
  • Обновление прошивки через WEB-интерфейс

Работающий прибор выглядит так

602

600

Веб интерфейс

web-1

Страничка настроек

web-3

Файл с данными

web-2

Время записано в формате UNIX STAMP и без проблем преобразуется в EXCEL
по формуле =CELL/(60*60*24)+«1/1/1970»

%d0%bf%d1%80%d0%be%d1%84%d0%b8%d0%bb%d1%8c

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

Подведем итог

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

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

На этом хочу откланяться

c1

Вы можете оставить отзыв или трекбек со своего сайта.

8 комментариев на «Измеритель мощности с WiFi, цветным дисплеем и логгером на базе PZEM-004T»

  1. Виктор:

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

    • Alexey Alexey:

      По первой теме вполне можно подключить к свободным выводам ESP три датчика через SoftSeral интерфейс

      Второе без проблем решается с протоколом HTTP или MQTT, но нужен сервер

  2. Виктор:

    Алексей, а когда появится следующая версия. про которую вы писали?
    И для меня, начинающего, как вы прошивали ESP826612F?

  3. Виктор:

    А в страничке настроек для чего Cjntroller auth и Password?

    • Alexey Alexey:

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

  4. Андрей:

    Добрый день, а пароль какой ? при авторизации

Ваш отзыв