跳转到内容

ADE7953 功率传感器

NOTE

此页面不完整,需要一些工作。如果您想做出贡献,请参阅我们的开发者网站。此页面缺少:

  • Shelly 2.5 的完整配置示例
  • 封面图片

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

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

NOTE

安全警告:一些设备如 Sonoff POWs/Shelly 等,其数字 GND 直接连接到市电电压,因此 GPIO 在正常操作期间会带电。我们的建议是标记这些电路板,以防止使用危险的数字引脚。

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

# I²C 配置条目示例
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 (可选, 整数): 手动指定传感器的 I²C 地址。默认为 0x38

  • irq_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 (可选, 映射): 设置输入 PGA 电压放大倍数。默认为 1x。可能的值为:

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

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

    • 1x
    • 2x
    • 4x
    • 8x
    • 16x
  • voltage_gain (可选, 整数): 设置电压放大倍数。默认为 0x400000

  • current_gain_a (可选, 整数): 设置 A 通道的电流放大倍数。默认为 0x400000

  • current_gain_b (可选, 整数): 设置 B 通道的电流放大倍数。默认为 0x400000

  • active_power_gain_a (可选, 整数): 设置 A 通道的有功功率放大倍数。默认为 0x400000

  • active_power_gain_b (可选, 整数): 设置 B 通道的有功功率放大倍数。默认为 0x400000

  • update_interval (可选, 时间): 检查传感器的间隔。默认为 60s

  • use_accumulated_energy_registers (可选, 布尔值): 使用 ADE7935 累积电能寄存器而不是瞬时功率寄存器。这些寄存器存储自上次读取以来累积的电能,应该能提供更准确的功率计算。默认为 false

# 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 (必需, 引脚模式): 片选引脚。

  • irq_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 (可选, 映射): 设置输入 PGA 电压放大倍数。默认为 1x。可能的值为:

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

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

    • 1x
    • 2x
    • 4x
    • 8x
    • 16x
  • voltage_gain (可选, 整数): 设置电压放大倍数。默认为 0x400000

  • current_gain_a (可选, 整数): 设置 A 通道的电流放大倍数。默认为 0x400000

  • current_gain_b (可选, 整数): 设置 B 通道的电流放大倍数。默认为 0x400000

  • active_power_gain_a (可选, 整数): 设置 A 通道的有功功率放大倍数。默认为 0x400000

  • active_power_gain_b (可选, 整数): 设置 B 通道的有功功率放大倍数。默认为 0x400000

  • update_interval (可选, 时间): 检查传感器的间隔。默认为 60s

  • use_accumulated_energy_registers (可选, 布尔值): 使用 ADE7935 累积电能寄存器而不是瞬时功率寄存器。这些寄存器存储自上次读取以来累积的电能,应该能提供更准确的功率计算。默认为 false

Shelly 2.5 设备包含此传感器用于功率监控。下面给出了 Shelly 2.5 的配置示例。

Shelly 2.5 有三个奇怪之处:

  • 首先,A 和 B 通道被调换了——芯片的 A 通道在外部标记为 B,反之亦然。这可能是为了使 PCB 更容易制造。

  • 其次,由于第一点,active_power 值是反转的。这可以通过使用乘法过滤器来修复,如下面的配置所示。

  • 最后,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 温度传感器
- 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