跳转到内容

NTC 传感器

ntc 平台是一个辅助传感器,允许您将来自 NTC 热敏电阻的电阻读数 转换为温度读数。

首先,您需要从传感器获取电阻读数——您可以通过 resistance 和 adc 传感器设置这些。

此平台随后将电阻值转换为温度读数。 它还需要用于此转换的校准参数。有 两种获取这些值的方法:查看数据手册或手动计算。

如果您有热敏电阻的数据手册,可以查看其“B 常数”和 参考温度/电阻。例如 此产品 将具有以下校准配置。

# Example configuration entry
sensor:
- platform: ntc
# ...
calibration:
b_constant: 3950
reference_temperature: 25°C
reference_resistance: 10kOhm

如果您无法获取数据手册或想自己计算这些值, 您需要首先测量三个不同温度下的电阻值。 将 NTC 加热/冷却到三个不同温度(最好是温度相距较远) 并记录这些温度下的电阻读数。然后将这些值输入到 校准参数中:

# Example configuration entry
sensor:
- platform: ntc
# ...
calibration:
- 10.0kOhm -> 25°C
- 27.219kOhm -> 0°C
- 14.674kOhm -> 15°C
# Example configuration entry
sensor:
- platform: ntc
sensor: resistance_sensor
calibration:
b_constant: 3950
reference_temperature: 25°C
reference_resistance: 10kOhm
name: NTC Temperature
# Example source sensors:
- platform: resistance
id: resistance_sensor
sensor: source_sensor
configuration: DOWNSTREAM
resistor: 5.6kOhm
name: Resistance Sensor
- platform: adc
id: source_sensor
pin: A0
  • sensor(必选,ID): 读取电阻值 并转换为温度读数的传感器。

  • calibration(必选,float): 传感器的校准参数——参见上文 了解更多详情。

  • 来自 Sensor 的其他所有选项。

向 NTC 传感器提供恒压电源会导致其发热,从而产生不可靠的温度值。 因此,建议仅在 实际测量期间为 NTC 传感器(和分压器)供电。 更多信息参见 Adafruit。

为此,将分压器的 3.3V 侧替换为连接 到 GPIO 引脚。此 GPIO 引脚将 仅在测量期间切换为 HIGH(3.3V),从而防止传感器发热。 在下面的示例中,引脚 D0 是分压器的“上”侧:

sensor:
# Same as before:
- platform: ntc
sensor: resistance_sensor
# ...
- platform: adc
pin: A0
id: source_sensor
# Added:
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