参考资料
核心逻辑:温度变化 → 电阻变化 → 电压变化 → ADC 数字信号 → 算法转换为温度值
1、热敏电阻的类型与特性
热敏电阻分为两类:
- NTC(负温度系数):温度升高时电阻值降低(常用作温度传感器)。
- PTC(正温度系数):温度升高时电阻值升高(多用于过流保护)。
在测温场景中通常使用 NTC,其电阻 - 温度关系遵循非线性特性,可用 Steinhart-Hart 方程 或 B 值方程 描述。
2、硬件电路设计
1、分压电路(核心电路)
- 热敏电阻(Rt)与固定电阻(Rref)串联,组成分压电路,连接到微控制器的 ADC(模数转换)引脚
- 原理:温度变化 → Rt 阻值变化 → ADC 引脚电压变化(
Vout = Vcc * Rref / (Rt + Rref)
)。 - 固定电阻选择:Rref 通常取热敏电阻在测温范围中值附近的阻值(例如 Rt=10kΩ@25°C,选 Rref=10kΩ)
2、信号滤波
- 在 ADC 引脚并联滤波电容(例如 0.1μF),减少高频噪声干扰。
3、自热效应抑制
- 降低分压电路的工作电流(例如 Vcc=3.3V,Rref=10kΩ → 电流≈0.33mA),避免热敏电阻自身发热影响测温精度。
3、软件处理逻辑
1、ADC 采样与电压计算
- 微控制器读取 ADC 值(例如 12 位 ADC,数值范围 0~4095)
- 计算 ADC 引脚电压:
Vout = (ADC_value / ADC_max) * Vcc
2、 计算热敏电阻阻值
- 根据分压公式反推 Rt 阻值:
Rt = Rref * (Vcc / Vout - 1)
3、温度转换(关键步骤)
- 热敏电阻的阻值 - 温度关系是非线性的,常用以下两种方法转换:
- B 值方程(简化模型)
- Steinhart-Hart 方程(高精度)
4、查表法(优化计算速度)
- 预先建立阻值 - 温度对应表,通过插值法快速查表获取温度值,适用于资源有限的微控制器
4、校准与优化
- 两点校准:在已知温度点(如 0°C 和 100°C)测量实际 ADC 值,修正计算参数(B 值或 Steinhart-Hart 系数)
- 软件滤波:对 ADC 采样值进行滑动平均滤波或中值滤波,抑制噪声。
- 非线性补偿:通过分段线性化或查表法补偿热敏电阻的非线性特性。