INA2xx 系列数字功率监控器

ina2xx 传感器平台允许您在 ESPHome 中使用德州仪器(Texas Instruments)的电流和功率
传感器系列。需要在您的配置中设置合适的接口(I²C 总线 或 SPI 总线)才能使此传感器工作。
| 产品 | 协议 | 说明 |
|---|---|---|
| INA228 | I²C 8 | 5-V、20 位、超高精度功率/能量/电荷监控器 |
| INA229 | SPI 8 | 5-V、20 位、超高精度功率/能量/电荷监控器 |
| INA238 | I²C 8 | 5-V、16 位、高精度功率监控器 |
| INA239 | SPI 8 | 5-V、16 位、高精度功率监控器 |
| INA237 | I²C 8 | 5-V、16 位、精密功率监控器 |
所有设备均可测量在分流器上 ±163.84 mV 或 ±40.96 mV 的可选满量程差分输入,共模电压支持范围为 –0.3 V 至 +85 V。
INA228 和 INA229 是该系列中最全面的设备,具有以下附加功能:20 位 ADC 分辨率、 能量和电荷累积,以及利用温度测量来补偿 分流电阻温度偏差的能力。
通过 I²C
Section titled “通过 I²C”使用 ina2xx_i2c 组件通过 I²C 总线连接 INA228、INA237 或 INA238 设备。
# Example configuration entry for I²Csensor: - platform: ina2xx_i2c id: my_charge_sensor model: INA228 address: 0x40 shunt_resistance: 0.010 ohm max_current: 10 A adc_range: 0 update_interval: 60s current: "INA228 Current" bus_voltage: "INA228 Bus Voltage" charge: "INA228 Charge"-
model(必选,string): INA2xx 传感器的型号。可选值为
INA228、INA237、INA238。 -
address (可选,int): 手动指定传感器的 I²C 地址。默认为
0x40。 -
shunt_resistance(必选,float): 用于电流计算的分流电阻值。无默认值。
-
max_current(必选,float): 您预期的最大电流。组件将使用它来 校准传感器。无默认值。
-
adc_range (可选,
0或1): 选择分流电阻两端的差分输入范围。0表示 ±163.84 mV,1表示 ±40.96 mV 范围。默认为0。 -
adc_time (可选,Time): 执行单次 ADC 转换的微秒时间。 默认为
4120 us。有效值为50 us、84 us、150 us、280 us、540 us、1052 us、2074 us、4120 us。不针对所有 ADC 测量使用同一时间,可以分别配置分流电压、 总线电压和温度测量的转换时间。选项与
adc_time相同。 -
adc_averaging (可选,integer): 选择 ADC 采样平均次数。默认为
128。 有效值为1、4、16、64、128、256、512、1024。 -
temperature_coefficient (可选,
0到16383的整数 ): 用于温度补偿校正的 分流电阻温度系数(ppm/°C)。仅适用于 INA228 和 INA229 设备。值为零表示 不进行补偿。默认为0。 -
update_interval (可选,Time): 检查传感器的间隔。 默认为
60s。 -
reset_on_boot (可选,boolean): 是否在 组件初始化时重置设备配置(包括计数器)。默认为
true;设为false可在 ESPHome 重置时保留计数器。
通过 SPI
Section titled “通过 SPI”使用 ina2xx_spi 组件通过 SPI 总线连接 INA229 或 INA239 设备。
# Example configuration entry for SPIsensor: - platform: ina2xx_spi cs_pin: GPIOXX model: INA239 shunt_resistance: 0.001130 ohm max_current: 40 A adc_range: 0 temperature_coefficient: 50 current: "INA239 Current" power: "INA239 Power"-
model(必选,string): INA2xx 传感器的型号。可选值为
INA229、INA239。 -
cs_pin(必选,Pin Schema): 片选(CS)引脚。
-
shunt_resistance(必选,float): 用于电流计算的分流电阻值。无默认值。
-
max_current(必选,float): 您预期的最大电流。组件将使用它来 校准传感器。无默认值。
-
adc_range (可选,
0或1): 选择分流电阻两端的差分输入范围。0表示 ±163.84 mV,1表示 ±40.96 mV 范围。默认为0。 -
adc_time (可选,Time): 执行单次 ADC 转换的微秒时间。 默认为
4120 us。有效值为50 us、84 us、150 us、280 us、540 us、1052 us、2074 us、4120 us。不针对所有 ADC 测量使用同一时间,可以分别配置分流电压、 总线电压和温度测量的转换时间。选项与
adc_time相同。 -
adc_averaging (可选,integer): 选择 ADC 采样平均次数。默认为
128。 有效值为1、4、16、64、128、256、512、1024。 -
temperature_coefficient (可选,
0到16383的整数 ): 用于温度补偿校正的 分流电阻温度系数(ppm/°C)。仅适用于 INA228 和 INA229 设备。值为零表示 不进行补偿。默认为0。 -
update_interval (可选,Time): 检查传感器的间隔。 默认为
60s。 -
reset_on_boot (可选,boolean): 是否在 组件初始化时重置设备配置(包括计数器)。默认为
true;设为false可在 ESPHome 重置时保留计数器。
此组件提供九个传感器。您可以配置全部或其中任意子集。每个配置的传感器
会在每次 update_interval 时单独报告。每个配置的传感器均需设置 name 选项;
同时也支持来自 Sensor 的其他所有选项。传感器可使用简写表示法,如下所示:
current: "Current"。
- current (可选): 计算出的电流输出,A
- power (可选): 计算出的功率输出,始终为正,W
- shunt_voltage (可选): 分流器两端的差分电压,mV
- bus_voltage (可选): 总线电压输出,V
- temperature (可选): 内部芯片温度测量值,°C
- energy (可选): 计算出的能量输出,Wh(仅限 INA228/229)
- energy_joules (可选): 计算出的能量输出,焦耳(仅限 INA228/229)
- charge (可选): 计算出的电荷输出,Ah(仅限 INA228/229)
- charge_coulombs (可选): 计算出的电荷输出,库仑(仅限 INA228/229)
Lambda 调用
Section titled “Lambda 调用”此组件暴露了一个用于重置 INA228/INA229 能量和电荷累加器的函数。
reset_energy_counters()
// Within lambda, reset counters. id(my_charge_sensor).reset_energy_counters();要简化该函数的使用,可以使用以下示例添加一个重置计数器的按钮。
button: - platform: template name: "Reset counters" on_press: - lambda: "id(my_change_sensor).reset_energy_counters();"