做了个三相电量采集器开源出来,可以方便监测家里用电情况

做了个三相电能采集器,可以测3相的电流、电压、功率、功率因数、用电量,数据上传到HomeAssistant,方便观察家里用电量和实时用电功率。

**使用3个pzem004t电参数传感器测量,通过串口与[ESP32](https://blog.zeruns.tech/tag/ESP32/)-C3通信,然后通过WiFi上传至HomeAssistant(需自行搭建,我用树莓派4搭建的),ESP32-C3是用ESPHome开发的固件。**

该模块只能测每相与零线之间的电压,不能测线电压(相与相之间的电压)。

电压测量范围是80-260V,电流量程100A,测量精度0.5%。

需要自己通过上位机软件将3个Pzem004T的地址分别设置为0x01、0x02、0x03。

**涉及强电,安装需小心,必须断电操作!**

HomeAssistant+ESPHome搭建使用教程自行百度。

电子/单片机技术交流群:[820537762](https://qm.qq.com/q/ZmTfBbFM4Y)

## 硬件图片

![](https://tc2.zeruns.tech/2024/02/27/IMG_20240109_224909.jpeg)

![](https://tc2.zeruns.tech/2024/02/27/IMG_20240209_001847.jpeg)

![](https://tc2.zeruns.tech/2024/02/27/IMG_20240209_181009.jpeg)

## 效果图

![](https://tc2.zeruns.tech/2024/02/27/2024-02-27_15-48-29.png)

![](https://tc2.zeruns.tech/2024/02/27/2024-02-27_15-30-44.png)

![](https://tc2.zeruns.tech/2024/02/27/image-20240227182504476.png)

![](https://tc2.zeruns.tech/2024/02/27/WPS0.png)

![](https://tc2.zeruns.tech/2024/02/27/2024-02-27_16-48-47.png)

## 原理图

![](https://tc2.zeruns.tech/2024/02/27/image-20240227165803618.png)

## PCB

![](https://tc2.zeruns.tech/2024/02/27/image-20240227170139051.png)

## 3D外壳

![](https://tc2.zeruns.tech/2024/02/27/image-20240227170048794.png)

## 资料下载

立创开源链接:[https://oshwhub.com/zeruns/san-xiang-dian-liang-dian-can-shu-shu-ju-cai-ji-san-xiang-dian-ya-dian-liu-gong-lv-gong-lv-yin-shu-yong-dian-liang](https://oshwhub.com/zeruns/san-xiang-dian-liang-dian-can-shu-shu-ju-cai-ji-san-xiang-dian-ya-dian-liu-gong-lv-gong-lv-yin-shu-yong-dian-liang)

123云盘(不限速):[https://url.zeruns.tech/PbpP8](https://www.123pan.com/s/2Y9Djv-tGcvH.html) 提取码:jjRr

百度网盘:[https://pan.baidu.com/s/1XCi1AY6M1G0weNuuVJu01w?pwd=qhrc](https://url.zeruns.tech/hqFsV) 提取码: qhrc

包含的文件有:外壳3D模型、三相电量采集器_Gerber制板文件、立创EDA工程文件、PZEM-004T模块手册、PZEM-004T模块上位机软件、ESPHome的配置文件。

## 用到的元件购买地址

  • - 合宙CORE-ESP32C3开发板:https://s.click.taobao.com/GsKSHxt
  • - PZEM-004T模块:[https://s.click.taobao.com/cnHOHxt](https://s.click.taobao.com/t?e=m%3D2%26s%3Do2RmT0HkgEhw4vFB6t2Z2ueEDrYVVa64g3vZOarmkFi53hKxp7mNFhiPRfK6WZZbuYWbqIeFRU30JlhLk0Jl4QTquP0kWxBLBDnvz6xo38xspWc9%2BCL4bTGF1ceZMhPo8mL8HhJ3EdVrH4ks4QyiY4z4rjZDGVMAJDv5R0Q9aLOpISaSw8JAaqLWMw3EOEsyJN2owMjhufwDudUsQ2T%2BdunlZPBxiMXCwnjVbMcZWl5%2FRYQjE36KBgJv651vJGmFk3c5HM8kpMjGDTy1GA5kVo%2BDKwFLEd9Q5dUsQ8NYvbh%2B2vzJRrQegy4%2BQXZ%2FxEc0IYULNg46oBA%3D&union_lens=lensId%3APUB%401709027501%40210520ed_0ce6_18de9fa255f_101f%40036ZyH2P4Clol43Jeec30GKS%40eyJmbG9vcklkIjo2MTQyOSwiic3BtQiiI6Il9wb3J0YWxfdjJfcGFnZXNfcHJvbW9fZ29vZHNfZGV0YWlsX2h0bSIsInNyY0Zsb29ySWQiiOiiI4MDY3NCJ9%3Bscm%3A1007.30148.329090.pub_search-item_70e487dd-4169-4061-bab2-2c32fad1dfef_)
  • - HLK-10M05电源模块:[https://s.click.taobao.com/quMNHxt](https://s.click.taobao.com/t?e=m%3D2%26s%3DdgAv%2FU%2B0Jvpw4vFB6t2Z2ueEDrYVVa64g3vZOarmkFi53hKxp7mNFhiPRfK6WZZbPvCh%2BAMbllz0JlhLk0Jl4QTquP0kWxBLBDnvz6xo38xspWc9%2BCL4bTGF1ceZMhPo8mL8HhJ3EdVrH4ks4QyiY4z4rjZDGVMAhscfsB2%2FyzZJq71CBMBeP%2F1SarTXhIOTsgIpc1WFZiJNubylQlnZt807FCyqLnQjr%2FIFy6BLaQXtIDT%2FPaQayIIokmpNksd4gPqhkjnepafUPBOmDY6Pj6M70AliNjwJcn7ARWQ6ocV0hb0k2TPv%2BG5KHOQOD12OHmQRHplSunscOSzLfn7zzMYl7w3%2FA2kb&union_lens=lensId%3APUB%401709028105%40210591aa_0d23_18dea035bce_96da%40022QQn6uqd2hxGIAezPn8GTK%40eyJmbG9vcklkIjo4MDY3NCwiic3BtQiiI6Il9wb3J0YWxfdjJfcGFnZXNfcHJvbW9fZ29vZHNfaW5kZXhfaHRtIiiwiic3JjRmxvb3JJZCI6IjgwNjc0In0ie%3Bscm%3A1007.30148.329090.pub_search-item_a1b262d1-3e1e-4fa0-81a3-26b43ce45a81_)
  • - 0805电阻电容本:[https://u.jd.com/fqAElBD](https://union-click.jd.com/jdc?e=618%7Cpc%7C&p=JF8BARAJK1olXgAFXVxfCEkeAF8IGlocWQUHUFtbCEMfAl9MRANLAjZbERscSkAJHTdNTwcKBlMdBgABFksWAmYMGF4RWAACXFZcFxJSXzI4eVlhKVlBDyM9ehMJYT8KXxxMCl9rJFJROEonA24JGloSWgAAXG5tCEwnQgEIG10WXQABVW5cOEsRAmcJGFIVWw8HUlptD0seM20IGFgQWgQLUUJUDEoUAGY4K2sWbQECXUpbegpFF2l6K2sVbQUyVF9dAU0VB2gKGFoJXQMLUldZFEsRAmcJGFIVWwECVl5tCkoWB2Y4K2tJWkd0A11dfTxrUyQMTllXNnICVAdbVU55ATJDaQtDWmFhIys0TQN8CjFMKw)
  • - AHT10:[https://s.click.taobao.com/WuhMHxt](https://s.click.taobao.com/t?e=m%3D2%26s%3DGQpWcNz9Ni1w4vFB6t2Z2ueEDrYVVa64g3vZOarmkFi53hKxp7mNFhiPRfK6WZZb2DsoxmeV0WP0JlhLk0Jl4QTquP0kWxBLBDnvz6xo38xspWc9%2BCL4bTGF1ceZMhPo8mL8HhJ3EdVrH4ks4QyiY4z4rjZDGVMAhscfsB2%2FyzZJq71CBMBeP%2F1SarTXhIOTsgIpc1WFZiJNubylQlnZt%2BEE3OYofzlowK0tYrk0vhekLGJhcLtUVLoumkvnFICmO%2Bzb7bgRH4b6pOgNrCURPaM70AliNjwJcn7ARWQ6ocV0hb0k2TPv%2BG5KHOQOD12Ohyx38KkRSJrKTnYPeddaQcYl7w3%2FA2kb&union_lens=lensId%3APUB%401709028227%402108667b_0d14_18dea053839_a7ca%40023hZZCrbePThfQPW7KUEtWv%40eyJmbG9vcklkIjo4MDY3NCwiic3BtQiiI6Il9wb3J0YWxfdjJfcGFnZXNfcHJvbW9fZ29vZHNfaW5kZXhfaHRtIiiwiic3JjRmxvb3JJZCI6IjgwNjc0In0ie%3Bscm%3A1007.30148.329090.pub_search-item_6bf48191-a5c5-489b-a3ad-ee9b25a9492b_)
  • 推荐在立创商城购买:[https://activity.szlcsc.com/invite/D03E5B9CEAAE70A4.html](https://activity.szlcsc.com/invite/D03E5B9CEAAE70A4.html)

    ## ESPHome配置文件

    ```yaml
    #include “esphome.h”
    #include “esphome/time/real_time_clock.h”
    #include “esphome/sntp/sntp_component.h”
    #include “esphome/core/time.h”

    定义项目的名称和友好名称

    esphome:
    name: powerbox
    friendly_name: PowerBox

    指定使用的开发板和开发框架

    platformio_options:
    board_build.flash_mode: dio
    board_build.mcu: esp32c3

    esp32:
    board: esp32-c3-devkitm-1
    framework:
    #type: esp-idf
    type: arduino

    启用日志记录

    logger:
    #hardware_uart: USB_SERIAL_JTAG
    #level: DEBUG # defaults to DEBUG, NONE ERROR WARN INFO DEBUG VERBOSE VERY_VERBOSE

    启用Home Assistant API,并设置加密密钥

    api:
    encryption:
    key: “wZG666DZ5zsg6666Po6204w666kA+8u666soeGlKtBU=” # 请替换为您的密钥

    启用OTA更新,并设置密码

    ota:
    password: “c368c9c66658f3433f6226667d4d2232” # 请替换为您的密钥

    network:
    enable_ipv6: true

    wifi:
    ssid: “blog.zeruns.tech” # WiFi网络名称
    password: “123456789” # WiFi密码
    reboot_timeout: 60s # 如果连接失败,设置重启超时时间为60秒

    启用AP热点模式作为WiFi连接的备用方案

    ap:
    ssid: “Powerbox Fallback Hotspot”
    password: “ZMpKTpHJ67EF”

    手动设置IP地址,以便在没有DHCP服务器的情况下使用

    manual_ip: #设置固定IP
    static_ip: 192.168.0.201
    gateway: 192.168.0.1
    subnet: 255.255.255.0
    dns1: 192.168.0.1

    captive_portal:

    启用Web服务器,允许通过HTTP进行设备控制

    web_server:
    port: 80

    启用I2C通信接口

    i2c:

    • id: bus_a
      sda: 4
      scl: 5
      scan: true

    启用UART通信接口

    uart:
    rx_pin: 1
    tx_pin: 0
    baud_rate: 9600

    启用Modbus协议支持

    modbus:

    配置传感器,包括温度、湿度、电流传感器等

    sensor:

    AHT10传感器配置

    • platform: aht10
      variant: AHT20
      i2c_id: bus_a
      temperature:
      name: “PowerBox-Temperature” # 温度传感器名称
      id: AHT20_T
      humidity:
      name: “PowerBox-Humidity” # 湿度传感器名称
      id: AHT20_H
      update_interval: 30s # 更新间隔为30秒

    • platform: pzemac
      id: pzemac_A
      address: 0x01
      current:
      name: “A-Current” # 电流传感器名称
      voltage:
      name: “A-Voltage” # 电压传感器名称
      energy:
      name: “A-Energy” # 能源传感器名称
      power:
      name: “A-Power” # 功率传感器名称
      id: A_POWER
      frequency:
      name: “A-Frequency” # 频率传感器名称
      power_factor:
      name: “A-PowerFactor” # 功率因数传感器名称
      update_interval: 9s # 更新间隔为9秒

    • platform: pzemac
      id: pzemac_B
      address: 0x02
      current:
      name: “B-Current” # 电流传感器名称
      voltage:
      name: “B-Voltage” # 电压传感器名称
      energy:
      name: “B-Energy” # 能源传感器名称
      power:
      name: “B-Power” # 功率传感器名称
      id: B_POWER
      frequency:
      name: “B-Frequency” # 频率传感器名称
      power_factor:
      name: “B-PowerFactor” # 功率因数传感器名称
      update_interval: 10s # 更新间隔为10秒

    • platform: pzemac
      id: pzemac_C
      address: 0x03
      current:
      name: “C-Current” # 电流传感器名称
      voltage:
      name: “C-Voltage” # 电压传感器名称
      energy:
      name: “C-Energy” # 能源传感器名称
      power:
      name: “C-Power” # 功率传感器名称
      id: C_POWER
      frequency:
      name: “C-Frequency” # 频率传感器名称
      power_factor:
      name: “C-PowerFactor” # 功率因数传感器名称
      update_interval: 11s # 更新间隔为11秒

    • platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
      name: “WiFi Signal dB”
      id: wifi_signal_db
      update_interval: 60s
      entity_category: “diagnostic”

    • platform: copy # Reports the WiFi signal strength in %
      source_id: wifi_signal_db
      name: “WiFi Signal Percent”
      filters:

      • lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
        unit_of_measurement: “Signal %”
        entity_category: “diagnostic”
        device_class: “”

    status_led:
    pin: GPIO8

    time:

    • platform: sntp
      id: current_time
      timezone: Asia/Shanghai
      servers:
      • ntp.aliyun.com
      • ntp.tencent.com
      • stdtime.gov.hk
        on_time:
      • seconds: 0
        minutes: 0
        hours: 0
        days_of_month: 1
        then:
        • pzemac.reset_energy: pzemac_A # 在每个月的第一天的0点0分0秒时重置A传感器的能量计数
        • pzemac.reset_energy: pzemac_B # 在每个月的第一天的0点0分0秒时重置B传感器的能量计数
        • pzemac.reset_energy: pzemac_C # 在每个月的第一天的0点0分0秒时重置C传感器的能量计数
          on_time_sync:
          then:
        • logger.log: “Synchronized system clock”

    ```

    ## 其他开源项目推荐

  • - STM32F030C8T6最小系统板和流水灯(原理图和PCB):https://blog.zeruns.tech/archives/715.html
  • - 画了个 MSP430F149的最小系统板 开源出来了:[https://blog.zeruns.tech/archives/713.html](https://blog.zeruns.tech/archives/713.html)
  • - 2007年电赛电源题:30到36V可调升压DCDC模块(UC3843):[https://oshwhub.com/zeruns/36v-sheng-ya-dcdc-mo-kuai-uc3842](https://oshwhub.com/zeruns/36v-sheng-ya-dcdc-mo-kuai-uc3842)
  • - STC12C5A60S2最小系统板/51单片机温度显示和温度控制风扇:[https://blog.zeruns.tech/archives/721.html](https://blog.zeruns.tech/archives/721.html)
  • - 移植好U8g2图形库的STM32F407标准库工程模板:[https://blog.zeruns.tech/archives/722.html](https://blog.zeruns.tech/archives/722.html)
  • - 沁恒CH32V307VCT6最小系统板开源:[https://blog.zeruns.tech/archives/726.html](https://blog.zeruns.tech/archives/726.html)
  • - LM25118自动升降压可调DCDC电源模块:[https://blog.zeruns.tech/archives/727.html](https://blog.zeruns.tech/archives/727.html)
  • - EG1164大功率同步整流升压模块开源,最高效率97%:[https://blog.zeruns.tech/archives/730.html](https://blog.zeruns.tech/archives/730.html)
  • - 基于合宙Air700E的4G环境监测节点(温湿度、气压等数据),通过MQTT上传阿里云物联网平台:[https://blog.zeruns.tech/archives/747.html](https://blog.zeruns.tech/archives/747.html)
  • ## 推荐文章

  • - 高性价比和便宜的VPS/云服务器推荐: https://blog.zeruns.tech/archives/383.html
  • - 我的世界服务器搭建教程:[https://blog.zeruns.tech/tag/mc/](https://blog.zeruns.tech/tag/mc/)
  • - 分享一下我家网络机柜,家庭网络设备推荐:[https://blog.zeruns.tech/archives/732.html](https://blog.zeruns.tech/archives/732.html)
  • - 香橙派 Orange Pi 3B(RK3566)开发板 开箱测评:[https://blog.zeruns.tech/archives/729.html](https://blog.zeruns.tech/archives/729.html)
  • - 给自己电脑升级了一下,换了显卡,盈通RTX3070:[https://blog.zeruns.tech/archives/746.html](https://blog.zeruns.tech/archives/746.html)
  • - 雨云GPU云服务器搭建SD(Stable Diffusion)的教程,搭建自己的AI绘画网站:[https://blog.zeruns.tech/archives/768.html](https://blog.zeruns.tech/archives/768.html)
  • 用不上,但感谢分享。顺便点个赞,这是对知识的尊重。

    [size=30][color=red]

    感谢分享!

    :huaji01:

    上这么高强度吗:ac04:

    动手能力这么强的么。 有点搞不了。