一、NTC 热敏电阻是什么
在嵌入式系统开发中,温度测量是一个常见需求。NTC(负温度系数)热敏电阻因其成本低、灵敏度高而被广泛应用。本文将详细介绍如何利用一个简单的分压电路,结合 STM32 的 ADC 和数学公式,实现高精度的温度测量。
NTC 是 Negative Temperature Coefficient 的缩写,意为'负温度系数'。其核心特性是电阻值随温度升高而呈指数型下降。这种特性使其对温度变化极为敏感,非常适合作为温度传感器。
- 工作原理:其半导体材料内部的载流子数量随温度升高而增加,导致电阻下降。
- 关键参数:
- R25:在 25°C(即 298.15K)时的零功率电阻值。这是最重要的标称值,例如常见的
10kΩ、100kΩ等。在下文计算中,我们的R0就是指这个值。 - B 值:材料常数,单位为开尔文(K)。它描述了 NTC 电阻 - 温度曲线的形状,代表了在
T1和T2两个温度之间的'斜率'。B值越大,在相同温度变化下,电阻变化率越高。常用值如3380K,3950K等。
- R25:在 25°C(即 298.15K)时的零功率电阻值。这是最重要的标称值,例如常见的
- 优点:成本低、灵敏度高、体积小。
- 缺点:非线性、需要校准和计算、测温范围相对较窄。
二、电路设计采用分压电路
为了测量 NTC 的电阻,我们通常不直接测量电阻,而是将其转换为电压进行测量。最经典、最经济的方案就是分压电路。

电路分析:
- 拓扑结构:NTC(R1)与一个精度较高的定值电阻R2(图中为 49.9kΩ)串联,接在 3.3V 电源与地之间。
- 测量点:中间节点
NTC_ADC的电压V_out即是我们的测量目标。这个点连接至 STM32 的 ADC 输入引脚。 - 工作原理:这是一个经典的分压器。
V_out的电压由 R1 和 R2 的阻值比例决定:V_out = 3.3V * (R2 / (R1 + R2))。由于 NTC 的阻值R1会随温度变化,V_out也会随之变化。温度升高 -> R1 减小 -> V_out 升高。 - 下拉电阻 R2 的选型:R2 的阻值选择至关重要,它决定了电路的灵敏度和测量范围。通常选择与 NTC 在目标测温范围中心点的阻值相近的阻值。本例中选择
49.9kΩ,是为了在较宽的温度范围内获得较好的电压变化线性度。如果主要测量室温附近,可以选择与R25(10kΩ)相近的阻值,如 10kΩ。 - 计算 NTC 电阻:通过 ADC 读取到
V_out后,我们可以反推出 NTC 在当前温度下的电阻值R_ntc:R_ntc = R2 * (Vcc / V_out - 1),其中Vcc = 3.3V,R2 = 49.9kΩ。
三、Steinhart-Hart 简化方程公式推导
NTC 的电阻 - 温度关系是非线性的,最精确的描述是 Steinhart-Hart 方程。但在一定温度范围(如 -40°C ~ 125°C)内,我们可以使用其简化版本,精度已足够。推导基于 NTC 的数据手册参数 和 值。






