NTC 传感器
ntc 平台是一个辅助传感器,允许您将 NTC 热敏电阻的电阻读数转换为温度读数。
首先,您需要从传感器获取电阻读数 - 您可以使用 resistance 和 adc 传感器进行设置。
然后此平台将电阻值转换为温度读数。它还需要校准参数来进行此转换。有两种方法可以获得这些值:查看数据手册或手动计算。
如果您有热敏电阻的数据手册,可以查看其”B 常数”和参考温度/电阻。例如 此产品 将具有以下校准配置。
# 示例配置条目sensor: - platform: ntc # ... calibration: b_constant: 3950 reference_temperature: 25°C reference_resistance: 10kOhm如果您无法获取数据手册或想自己计算这些值,您必须首先在不同温度下测量三个电阻值。 将 NTC 加热/冷却到三个不同的温度(最好温度相距较远),并记下这些温度下的电阻读数。然后在校准参数中输入这些值:
# 示例配置条目sensor: - platform: ntc # ... calibration: - 10.0kOhm -> 25°C - 27.219kOhm -> 0°C - 14.674kOhm -> 15°C# 示例配置条目sensor: - platform: ntc sensor: resistance_sensor calibration: b_constant: 3950 reference_temperature: 25°C reference_resistance: 10kOhm name: NTC 温度
# 示例源传感器: - platform: resistance id: resistance_sensor sensor: source_sensor configuration: DOWNSTREAM resistor: 5.6kOhm name: 电阻传感器 - platform: adc id: source_sensor pin: A0向 NTC 传感器持续供电会导致其发热,从而产生不可靠的温度值。 因此建议仅在实际测量期间向 NTC 传感器(和分压器)供电。更多信息请参阅 Adafruit。
为此,将分压器的 3.3V 端替换为连接到 GPIO 引脚。此 GPIO 引脚仅在测量期间切换为高电平 (3.3V),从而防止传感器发热。
在下面的示例中,引脚 D0 是分压器的”顶部”端:
sensor: # 与之前相同: - platform: ntc sensor: resistance_sensor # ...
- platform: adc pin: A0 id: source_sensor # 添加: update_interval: never
switch: - platform: gpio pin: D0 id: ntc_vcc
interval: - interval: 60s then: - switch.turn_on: ntc_vcc - component.update: source_sensor - switch.turn_off: ntc_vcc