溫度采樣處理過程如圖10所示。首先,將溫度傳感器電壓信號經過橋式放大電路轉化成符合STM32ADC的采樣電壓,然后在軟件上使用過采樣技術[16]提高信號采集靈敏度。SMT32內部集成了一個分辨率為12位的模數(shù)轉換器,溫度變化0.1°C時不能及時作出響應。本文設計的分辨率為16位,在每個采樣周期內需要收集大量樣本,之后除以16,即累加和轉儲,h得到的結果是16位有效數(shù)據(jù)。接下來采用滑動平均濾波[17]方法去除信號中的噪聲,滑動平均濾波方法[17]
是針對本次采樣結果與過去若干個采樣值求取平均值而獲得有效結果的一種算法,可減少采樣次數(shù),提升實時性,而且對于明顯的脈沖干擾有非常好的濾除效果。軟件設計一個存儲近期溫度值的數(shù)組,數(shù)組大小為20,將新采集的數(shù)據(jù)放到數(shù)組末尾后,去掉最小和最大值,求取平均值,得到的結果就是有效采樣值。之后利用區(qū)間線性擬合算法[18]計算出溫度值,在測溫范圍內等間距地選擇6個標定的ADC值,在實際操作中,根據(jù)每次經過單片機的模數(shù)轉換值求出選定標定值的最小范圍。最后,在最小區(qū)間利用線性插補處理方法計算實際溫度值。