CS5460A 功率传感器
cs5460a 传感器平台允许您在 ESPHome 中使用 CS5460A 交流电压、电流和功率计量
芯片(数据手册)。
该芯片通常与 4.096 MHz 晶体一起出售为分线板。但它需要几个
额外组件,特别是电流检测电路和电压检测电路。

WARNING
不要在带电 mains 连接附近工作,仅在合格的情况下修改现有电气安装。
设备通过 SPI 与 CS5460A 通信,因此您需要在
配置中包含一个 SPI 总线,并为 MOSI、MISO 和 CLK 线设置引脚编号。它们
分别连接到 CS5460A 上的 SDI、SDO 和 SCLK 引脚。CS5460A 的 CS
(片选)引脚可以由任何可用的 GPIO 驱动,或者如果 CS5460A 是连接到设备 SPI 总线的唯一设备,则可以连接到地线。RESET 引脚也可以由 GPIO 驱动或连接到 VCC。
# Example configuration entrysensor: - platform: cs5460a current: name: "Kitchen current (RMS)" filters: delta: 0.1 power: name: "Kitchen power" filters: delta: 5 voltage: name: "Mains voltage (RMS)" filters: delta: 5 samples: 1600 current_gain: 0.01 voltage_gain: 0.000573 pulse_energy: 1 Wh cs_pin: GPIOXX-
current (可选): 报告均方根电流值(单位为安培)的传感器子组件。 来自 Sensor 的所有选项。请参阅下方关于节流的通知。
-
voltage (可选): 报告均方根电压值(单位为伏特)的传感器子组件。 来自 Sensor 的所有选项。请参阅下方关于节流的通知。
-
power (可选): 报告功率读数(单位为瓦特)的传感器子组件。 来自 Sensor 的所有选项。请参阅下方关于节流的通知。
-
samples (可选): 每次读数中包含的样本数量——决定传感器的更新间隔和读数的精度。这是 CS5460A 数据手册中的 N 值,定义为计算周期内的转换周期数量。组件在每个计算周期结束时报告数据。使用标准的 4.096MHz 时钟频率,每次转换需要 0.25ms,因此将其设置为 2000 表示 0.5s 更新间隔,40000 表示 10s 更新间隔,其他时钟频率同理。建议间隔为 mains 交流周期的整数倍,因此对于 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
负值
由于报告的电流和电压值是均方根值,它们是绝对数
并且始终为正。然而功率测量是有符号的,取决于能量通过分流电阻或电流变压器传输的方向。
换句话说,如果传感器安装在两个电路之间(例如电网和
家庭),符号告知最后计算周期中哪一侧在产生能量,哪一侧在消耗能量。如果功率值与您期望的相反,
请设置负的 current_gain 值。
NOTE
节流传感器
如果 samples 设置为较低值,例如每个样本几秒钟或
更短,如果您有 Home Assistant 实例,请考虑过滤测量值以避免用太多数据填满日志。throttle 和
sliding_window_moving_average 过滤器是一些选项。此外,delta
过滤器对于所有数值传感器几乎都是个好主意,无论是否使用 Home Assistant。
cs5460a.restart 操作
Section titled “cs5460a.restart 操作”此操作可用于自动化中,以中断当前计算周期并启动新 周期。如果您使用单个 CS5460A 芯片和信号多路复用器测量多个电流/功率值,这很有用。例如,您可以通过使用一个电压变压器和 16 个电流变压器来测量房屋中最多 墙上插座的功率使用情况,每个插座连接到相应的墙上插座电缆。所有电流变压器的 一侧直接连接到您的 CS5460A 电流输入端子(加上数据手册推荐的所有过滤和保护 电路),而另一侧则分别连接到 CD74HC4067 模拟多路复用器的一个通道。多路复用器的单个信号引脚然后连接到 CS5460A 的第二个电流输入端子。每次 CS5460A 传感器发布新功率 值时,自动化可以切换多路复用器到下一个通道,但它需要中断 上一个周期结束时自动启动的计算周期,并启动一个新 周期,该周期仅使用来自新 CD74HC4067 多路复用器通道的电流样本。