跳转到内容

ADE7953 功率传感器

NOTE

此页面不完整,需要进一步完善。如果您想贡献,请参阅我们的 开发者站点。此页面缺少:

  • Shelly 2.5 的完整配置示例
  • 主页图片

ade7953 传感器平台允许您在 ESPHome 中使用 ADE7953 单相能量计量 IC (数据手册)。 这些常见于 Shelly 设备中。

此传感器可以测量电压,并具有两个通道用于读取电流和有功功率(A 和 B)。

NOTE

安全隐患:某些设备(如 Sonoff POWs/Shelly 等)将数字 GND 直接连接到 mains 电压,因此在正常运行期间 GPIO 会带电。我们的建议是标记这些板子,以防止使用危险的数字引脚。

需要在您的配置中设置 I²C 总线 或 SPI 总线 才能使此传感器正常工作。

# Example configuration entry for i2c
sensor:
- 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。可选值为:

    • 1x
    • 2x
    • 4x
    • 8x
    • 16x
    • 22x
  • current_pga_gain_a (可选, mapping): 设置 A 通道的输入 PGA 电流放大倍数。默认为 1x。可选值为:

    • 1x
    • 2x
    • 4x
    • 8x
    • 16x
    • 22x
  • current_pga_gain_b (可选, mapping): 设置 B 通道的输入 PGA 电流放大倍数。默认为 1x。可选值为:

    • 1x
    • 2x
    • 4x
    • 8x
    • 16x
  • 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。

# Example configuration entry for SPI
sensor:
- 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。可选值为:

    • 1x
    • 2x
    • 4x
    • 8x
    • 16x
    • 22x
  • current_pga_gain_a (可选, mapping): 设置 A 通道的输入 PGA 电流放大倍数。默认为 1x。可选值为:

    • 1x
    • 2x
    • 4x
    • 8x
    • 16x
    • 22x
  • current_pga_gain_b (可选, mapping): 设置 B 通道的输入 PGA 电流放大倍数。默认为 1x。可选值为:

    • 1x
    • 2x
    • 4x
    • 8x
    • 16x
  • 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 设备包含此传感器用于功率监控。下面给出了 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