CS5460A 功率传感器
cs5460a 传感器平台允许您在 ESPHome 中使用 CS5460A 交流电压、电流和功率计量芯片(数据手册)。该芯片通常在带有 4.096 MHz 晶振的分线板上出售。但它需要一些额外的组件,特别是电流检测电路和电压检测电路。
WARNING
请勿在带电的主电源连接附近工作,只有在您具备资格的情况下才修改现有的电气安装。
您的设备通过 SPI 与 CS5460A 通信,因此您需要在配置中设置一个 SPI 总线,并为 MOSI、MISO 和 CLK 线设置引脚号。这些分别连接到 CS5460A 上的 SDI、SDO 和 SCLK 引脚。CS5460A 的 CS(片选)引脚可以由您可用的任何 GPIO 驱动,或者如果 CS5460A 是连接到您设备 SPI 总线的唯一设备,则可以接地。RESET 引脚也可以由 GPIO 驱动或接 VCC。
# 示例配置条目sensor: - platform: cs5460a current: name: "厨房电流 (RMS)" filters: delta: 0.1 power: name: "厨房功率" filters: delta: 5 voltage: name: "市电电压 (RMS)" filters: delta: 5 samples: 1600 current_gain: 0.01 voltage_gain: 0.000573 pulse_energy: 1 Wh cs_pin: GPIOXX-
current (可选): 报告 RMS 电流值(单位:安培)的传感器子组件。 来自 Sensor 的所有选项。请参阅下面关于节流的说明。
-
voltage (可选): 报告 RMS 电压值(单位:伏特)的传感器子组件。 来自 Sensor 的所有选项。请参阅下面关于节流的说明。
-
power (可选): 报告功率读数(单位:瓦特)的传感器子组件。 来自 Sensor 的所有选项。请参阅下面关于节流的说明。
-
samples (可选): 每次读数的采样数——决定传感器的更新间隔和读数的准确性。这是 CS5460A 数据手册中的数字 N,定义为 计算周期 内的 转换周期 数。组件在每个 计算周期 结束时报告数据。使用标准的 4.096MHz 时钟频率,每次 转换 需要 0.25ms,因此将其设置为 2000 表示 0.5s 的更新间隔,40000 表示 10s 的更新间隔,依此类推,其他时钟频率也类似。建议间隔为市电交流周期的整数倍,因此对于 50 Hz 交流频率的国家,间隔应为 20ms 的倍数,对于 60 Hz 国家应为 16.66 ms 的倍数。默认为
4000(在 4.096MHz 时为 1 秒)。允许值为 1 到 16777215。 -
pga_gain (可选): 如果设置为
10X(默认),电流输入端的差分电压必须在 -250mV 和 +250mV 之间。如果设置为50X,则必须在 -100mV 到 +100mV 之间。 -
current_gain (可选): 将此设置为电流输入端的差分电压(单位:伏特)与要计算的实际线路电流(单位:安培)之比。当使用分流电阻作为电流检测元件时,这简单地等于电阻值,因为差分电压是线路电流乘以电阻值。当使用电流互感器时,该值将是负载电阻值除以变压器绕组的匝数。对于 2000 匝电流互感器钳和 2 欧姆负载电阻,计算结果为 0.001(如果未指定 current_gain,则为默认值)。
-
voltage_gain (可选): 将此设置为 CS5460A 电压输入引脚的电压与线路电压之比。当使用简单的分压器时,这是分压器的比率。当使用电压互感器时,这是次级匝数与初级匝数之比。当使用电流互感器(如 ZMPT101B)时,这等于
(次级匝数 * 负载电阻值) / (初级匝数 * 限流电阻值),对于变压器和分压器的组合也类似。默认为0.001。必须是正数。 -
phase_offset (可选): 这可用于考虑电压检测电路和电流检测电路之间的相位偏移,以提高功率测量精度。允许 -64 到 63 之间的整数值,应偏移 0.5 并乘以约 8.2 个 CS5460A 时钟间隔以获得结果时间偏移。在典型的 4.096 MHz 时钟下,这对应 -128 μs 到 128 μs 的范围,或在 50Hz 时为 -2.3° 到 2.3° 的相位偏移,在 60Hz 时为 -2.8° 到 2.8° 的相位偏移。默认为
0(即 4.1 MCLK 周期的时间偏移)。找到正确值的一个简单方法是插入一个阻性负载(如白炽灯泡),然后找到使传感器报告功率最高的phase_offset值。 -
pulse_energy (可选): 设置 CS5460A EOUT 引脚上每个脉冲的能量(单位:瓦时),可用于驱动外部计数器/电表或 LED。允许的范围取决于增益参数,默认为
10 Wh。 -
current_hpf (可选): 启用和禁用 CS5460A 电流处理路径上的高通滤波器。默认为
true(启用)。 -
voltage_hpf (可选): 启用和禁用 CS5460A 电压处理路径上的高通滤波器。默认为
true(启用)。
NOTE
负值
由于报告的电流和电压值是 RMS 值,它们是绝对数值,始终为正。但是,功率测量是有符号的,取决于能量通过分流电阻或电流互感器传输的方向。换句话说,如果传感器安装在两个电路之间(例如电网和家庭),符号会告知在最后一个 计算周期 中哪一方在产生能量,哪一方在消耗能量。如果功率值与您期望的相反,请设置负的 current_gain 值。
NOTE
节流传感器
如果 samples 设置为低值,例如每个采样几秒或更短,并且您有 Home Assistant 实例,请考虑对测量值进行 过滤,以避免日志中填满过多数据。throttle 和 sliding_window_moving_average 过滤器是一些选项。此外,无论是否有 Home Assistant,delta 过滤器对于所有数值传感器几乎总是一个好主意。
cs5460a.restart 操作
Section titled “cs5460a.restart 操作”此操作可在自动化中使用,用于中断当前的 计算周期 并开始一个新的周期。如果您使用单个 CS5460A 芯片和信号多路复用器测量多个电流/功率值,这将非常有用。例如,您可以使用一个电压互感器和 16 个电流互感器来测量房屋中最多墙上插座的功耗,每个电流互感器安装在通往相应墙上插座的电缆上。所有电流互感器的一侧直接连接到您的 CS5460A 电流输入端子(以及数据手册中推荐的任何滤波和保护电路),而另一侧各连接到 CD74HC4067 模拟多路复用器的一个通道。多路复用器的单个信号引脚随后连接到 CS5460A 的第二个电流输入端子。每次 CS5460A 传感器发布新的功率值时,自动化可以将多路复用器切换到下一个通道,但它需要中断前一个周期结束后自动开始的 计算周期,并开始一个只使用来自新 CD74HC4067 多路复用器通道的电流样本的新周期。