**做了个三相电能采集器,可以测3相的电流、电压、功率、功率因数、用电量,数据上传到[HomeAssistant](https://blog.zeruns.tech/tag/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)
## 硬件图片
![](//image.lceda.cn/pullimage/Gkmf5g5Agqrf86HYorfQNqdpuBM7Tf0QO4WXozF3.jpeg)
![](//image.lceda.cn/pullimage/HiAem42dqLVZ7kBLNLRWXJEmeBpg0Ynzg9ybomF0.jpeg)
![](//image.lceda.cn/pullimage/UF5HO3qmJf8stEWN0778aPfZkO1X40P84tWNzdy8.jpeg)
## 效果图
![](//image.lceda.cn/pullimage/o0rGGQLTsAHelUVbYTFM5MQZ4hDrQPnYDT6fDvaJ.png)
![](//image.lceda.cn/pullimage/QKKWIyfIt7OQ8ef5RYcOLokkRlby60vgdoJSd8aW.png)
![](//image.lceda.cn/pullimage/iK3qkJYvnAfFEp3eHBw46ZTTDibvqUGH4q61AlQA.png)
![](//image.lceda.cn/pullimage/98FDXDrqBHvQl35aU68nYTeUu5qGaFqVlJRVfl2J.png)
![](//image.lceda.cn/pullimage/saX4IBbKJ2zHA6HMxtoZxjwx7YaYAzEmUrglQhA4.png)
## 原理图
![](//image.lceda.cn/pullimage/EZ2PkGSaN7HyQ2KG2UOW6g0ZAXFpo01EtqSkXgvg.png)
## PCB
![](//image.lceda.cn/pullimage/81EmkB2B5Pcqq1mmizfHSZfyNEUYqJaTvVqmVfGL.png)
## 3D外壳
![](//image.lceda.cn/pullimage/2VLhnHeAiV2dWfPbAJxELdkas6hgpOd2LgEouGKh.png)
## 资料下载
123云盘(不限速):[https://www.123pan.com/s/2Y9Djv-tGcvH.html](https://www.123pan.com/s/2Y9Djv-tGcvH.html) 提取码:jjRr
百度网盘:[https://pan.baidu.com/s/1XCi1AY6M1G0weNuuVJu01w?pwd=qhrc](https://pan.baidu.com/s/1XCi1AY6M1G0weNuuVJu01w?pwd=qhrc) 提取码: qhrc
包含的文件有:外壳3D模型、三相电量采集器Gerber制板文件、立创EDA工程文件、PZEM-004T模块手册、PZEM-004T模块上位机软件、ESPHome的配置文件。
## 用到的元件购买地址
- 合宙CORE-ESP32C3开发板:[https://s.click.taobao.com/GsKSHxt](https://s.click.taobao.com/t?e=m%3D2%26s%3DlSrlz0wgLgNw4vFB6t2Z2ueEDrYVVa64YUrQeSeIhnK53hKxp7mNFhiPRfK6WZZbXZgSJp0rWgP0JlhLk0Jl4QTquP0kWxBLBDnvz6xo38xspWc9%2BCL4bTGF1ceZMhPo8mL8HhJ3EdVrH4ks4QyiY4z4rjZDGVMA7PT7P4MIjv0iDnQnCfxRCKLWMw3EOEsyJN2owMjhufwDudUsQ2T%2Bdq%2BCKDdsFgGS1hU4eZBO0A8DRyAaZhw0neWk8lUyLKp2xbXIYRSVD%2BIil61uZvBzGo%2BDKwFLEd9Q5dUsQ8NYvbjTjcr6JX1zJvTCcQTYD918IYULNg46oBA%3D&union_lens=lensId%3APUB%401709027263%40212c5506_0d49_18de9f68382_76f6%4002jOMnmCOE1gzzVaFFXYCBW%40eyJmbG9vcklkIjo4MDY3NCwiic3BtQiiI6Il9wb3J0YWxfdjJfcGFnZXNfcHJvbW9fZ29vZHNfaW5kZXhfaHRtIiiwiic3JjRmxvb3JJZCI6IjgwNjc0In0ie%3Bscm%3A1007.30148.329090.pub_search-item_fef160cc-f71b-4bb9-8271-60418f1d92f4_)
- 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](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)
9
18
收藏到专辑