ADE7953 功率传感器
ade7953 传感器平台允许您在 ESPHome 中使用 ADE7953 单相能量计量 IC
(数据手册)。
这些常见于 Shelly 设备中。
此传感器可以测量电压,并具有两个通道用于读取电流和有功功率(A 和 B)。
NOTE
安全隐患:某些设备(如 Sonoff POWs/Shelly 等)将数字 GND 直接连接到 mains 电压,因此在正常运行期间 GPIO 会带电。我们的建议是标记这些板子,以防止使用危险的数字引脚。
需要在您的配置中设置 I²C 总线 或 SPI 总线 才能使此传感器正常工作。
通过 I²C
Section titled “通过 I²C”# Example configuration entry for i2csensor: - platform: ade7953_i2c irq_pin: GPIOXX voltage: name: ADE7953 Voltage frequency: name: ADE7953 Frequency current_a: name: ADE7953 Current A current_b: name: ADE7953 Current B power_factor_a: name: "ADE7953 Power Factor A" power_factor_b: name: "ADE7953 Power Factor B" apparent_power_a: name: "ADE7953 Apparent Power A" apparent_power_b: name: "ADE7953 Apparent Power B" active_power_a: name: ADE7953 Active Power A active_power_b: name: ADE7953 Active Power B reactive_power_a: name: "ADE7953 Reactive Power A" reactive_power_b: name: "ADE7953 Reactive Power B"-
address (可选, int): 手动指定传感器的 I²C 地址。默认为
0x38。 -
irq_pin (可选, Pin): 连接到 ADE7935 IRQ 线的引脚(如已连接)
-
voltage (可选): 使用传感器的电压值,单位为伏特。支持 Sensor 的所有选项。
-
frequency (可选): 使用传感器的频率值,单位为赫兹。支持 Sensor 的所有选项。
-
current_a (可选): 使用 A 通道的电流值,单位为安培。支持 Sensor 的所有选项。
-
current_b (可选): 使用 B 通道的电流值,单位为安培。支持 Sensor 的所有选项。
-
power_factor_a (可选): 使用 A 通道的功率因数,以百分比表示。支持 Sensor 的所有选项。
-
power_factor_b (可选): 使用 B 通道的功率因数,以百分比表示。支持 Sensor 的所有选项。
-
apparent_power_a (可选): 使用 A 通道的视在功率值,单位为伏安。支持 Sensor 的所有选项。
-
apparent_power_b (可选): 使用 B 通道的视在功率值,单位为伏安。支持 Sensor 的所有选项。
-
active_power_a (可选): 使用 A 通道的功率值,单位为瓦特。支持 Sensor 的所有选项。
-
active_power_b (可选): 使用 B 通道的功率值,单位为瓦特。支持 Sensor 的所有选项。
-
reactive_power_a (可选): 使用 A 通道的无功功率值,单位为伏安。支持 Sensor 的所有选项。
-
reactive_power_b (可选): 使用 B 通道的无功功率值,单位为伏安。支持 Sensor 的所有选项。
-
voltage_pga_gain (可选, mapping): 设置输入 PGA 电压放大倍数。默认为
1x。可选值为:1x2x4x8x16x22x
-
current_pga_gain_a (可选, mapping): 设置 A 通道的输入 PGA 电流放大倍数。默认为
1x。可选值为:1x2x4x8x16x22x
-
current_pga_gain_b (可选, mapping): 设置 B 通道的输入 PGA 电流放大倍数。默认为
1x。可选值为:1x2x4x8x16x
-
voltage_gain (可选, int): 设置电压放大倍数。默认为
0x400000。 -
current_gain_a (可选, int): 设置 A 通道的电流放大倍数。默认为
0x400000。 -
current_gain_b (可选, int): 设置 B 通道的电流放大倍数。默认为
0x400000。 -
active_power_gain_a (可选, int): 设置 A 通道的有功功率放大倍数。默认为
0x400000。 -
active_power_gain_b (可选, int): 设置 B 通道的有功功率放大倍数。默认为
0x400000。 -
update_interval (可选, Time): 检查传感器的时间间隔。默认为
60s。 -
use_accumulated_energy_registers (可选, boolean): 使用 ADE7935 累积能量寄存器代替瞬态功率寄存器。这些寄存器存储自上次读取以来的累积能量,应能提供更好的功率计算精度。默认为
false。
通过 SPI
Section titled “通过 SPI”# Example configuration entry for SPIsensor: - platform: ade7953_spi cs_pin: GPIOXX irq_pin: GPIOXX voltage: name: "Voltage" frequency: name: ADE7953 Frequency current_a: name: "Current A" current_b: name: "Current B" power_factor_a: name: "Power Factor A" power_factor_b: name: "ADE7953 Power Factor B" apparent_power_a: name: "Apparent Power A" apparent_power_b: name: "Apparent Power B" active_power_a: name: "Power A" active_power_b: name: "Power B" reactive_power_a: name: "Reactive Power A" reactive_power_b: name: "Reactive Power B"-
cs_pin (必选, Pin Schema): 片选引脚。
-
irq_pin (可选, Pin): 连接到 ADE7935 IRQ 线的引脚(如已连接)
-
voltage (可选): 使用传感器的电压值,单位为伏特。支持 Sensor 的所有选项。
-
frequency (可选): 使用传感器的频率值,单位为赫兹。支持 Sensor 的所有选项。
-
current_a (可选): 使用 A 通道的电流值,单位为安培。支持 Sensor 的所有选项。
-
current_b (可选): 使用 B 通道的电流值,单位为安培。支持 Sensor 的所有选项。
-
power_factor_a (可选): 使用 A 通道的功率因数,以百分比表示。支持 Sensor 的所有选项。
-
power_factor_b (可选): 使用 B 通道的功率因数,以百分比表示。支持 Sensor 的所有选项。
-
apparent_power_a (可选): 使用 A 通道的视在功率值,单位为伏安。支持 Sensor 的所有选项。
-
apparent_power_b (可选): 使用 B 通道的视在功率值,单位为伏安。支持 Sensor 的所有选项。
-
active_power_a (可选): 使用 A 通道的功率值,单位为瓦特。支持 Sensor 的所有选项。
-
active_power_b (可选): 使用 B 通道的功率值,单位为瓦特。支持 Sensor 的所有选项。
-
reactive_power_a (可选): 使用 A 通道的无功功率值,单位为伏安。支持 Sensor 的所有选项。
-
reactive_power_b (可选): 使用 B 通道的无功功率值,单位为伏安。支持 Sensor 的所有选项。
-
voltage_pga_gain (可选, mapping): 设置输入 PGA 电压放大倍数。默认为
1x。可选值为:1x2x4x8x16x22x
-
current_pga_gain_a (可选, mapping): 设置 A 通道的输入 PGA 电流放大倍数。默认为
1x。可选值为:1x2x4x8x16x22x
-
current_pga_gain_b (可选, mapping): 设置 B 通道的输入 PGA 电流放大倍数。默认为
1x。可选值为:1x2x4x8x16x
-
voltage_gain (可选, int): 设置电压放大倍数。默认为
0x400000。 -
current_gain_a (可选, int): 设置 A 通道的电流放大倍数。默认为
0x400000。 -
current_gain_b (可选, int): 设置 B 通道的电流放大倍数。默认为
0x400000。 -
active_power_gain_a (可选, int): 设置 A 通道的有功功率放大倍数。默认为
0x400000。 -
active_power_gain_b (可选, int): 设置 B 通道的有功功率放大倍数。默认为
0x400000。 -
update_interval (可选, Time): 检查传感器的时间间隔。默认为
60s。 -
use_accumulated_energy_registers (可选, boolean): 使用 ADE7935 累积能量寄存器代替瞬态功率寄存器。这些寄存器存储自上次读取以来的累积能量,应能提供更好的功率计算精度。默认为
false。
配合 Shelly 2.5 使用
Section titled “配合 Shelly 2.5 使用”Shelly 2.5 设备包含此传感器用于功率监控。下面给出了 Shelly 2.5 的 示例配置。
Shelly 2.5 有三个特殊之处:
-
首先,A 和 B 通道是反的——芯片的 A 通道在外部标记为 B, 反之亦然。这可能是为了让 PCB 更容易制造。
-
其次,由于第一点,有功功率值是反的。这通过 使用乘法过滤器来修正,如下面的配置所示。
-
最后,ADE7953 IRQ 线连接到 GPIO16。irq_pin 必须设置为 GPIO16,以防止设备过热(>70ºC 空闲状态)。
此外,该设备有一个 NTC 温度传感器。
i2c: sda: GPIO12 scl: GPIO14
sensor: - platform: ade7953_i2c irq_pin: GPIO16 voltage: name: Shelly Voltage current_a: name: Shelly Current B current_b: name: Shelly Current A active_power_a: name: Shelly Active Power B filters: - multiply: -1 active_power_b: name: Shelly Active Power A filters: - multiply: -1 update_interval: 60s
# NTC Temperature - platform: ntc sensor: temp_resistance_reading name: "Shelly Temperature" calibration: b_constant: 3350 reference_resistance: 10kOhm reference_temperature: 298.15K - platform: resistance id: temp_resistance_reading sensor: temp_analog_reading configuration: DOWNSTREAM resistor: 32kOhm - platform: adc id: temp_analog_reading pin: A0