温度采样处理过程如图10所示。首先,将温度传感器电压信号经过桥式放大电路转化成符合STM32ADC的采样电压,然后在软件上使用过采样技术[16]提高信号采集灵敏度。SMT32内部集成了一个分辨率为12位的模数转换器,温度变化0.1°C时不能及时作出响应。本文设计的分辨率为16位,在每个采样周期内需要收集大量样本,之后除以16,即累加和转储,h得到的结果是16位有效数据。接下来采用滑动平均滤波[17]方法去除信号中的噪声,滑动平均滤波方法[17]
是针对本次采样结果与过去若干个采样值求取平均值而获得有效结果的一种算法,可减少采样次数,提升实时性,而且对于明显的脉冲干扰有非常好的滤除效果。软件设计一个存储近期温度值的数组,数组大小为20,将新采集的数据放到数组末尾后,去掉最小和最大值,求取平均值,得到的结果就是有效采样值。之后利用区间线性拟合算法[18]计算出温度值,在测温范围内等间距地选择6个标定的ADC值,在实际操作中,根据每次经过单片机的模数转换值求出选定标定值的最小范围。最后,在最小区间利用线性插补处理方法计算实际温度值。