基于LM3S101 處理器的溫度測量模塊設(shè)計
2 數(shù)據(jù)處理及軟件設(shè)計:
2.1 熱敏電阻測溫曲線的線性化處理:
熱敏電阻的測溫曲線反映了熱敏電阻阻值與被測溫度值之間的關(guān)系,由Steinhart-Hart 方程確定:
式中,RT是熱敏電阻在T1溫度下的電阻值;R 是熱敏電阻在常溫T2(T2=25 ℃)下的標(biāo)稱電阻值;B 值是熱敏電阻的材料常數(shù);T1和T2為開爾文溫度。
由Steinhart-Hart 公式可知熱敏電阻的阻值溫度特性曲線是一條非線性的指數(shù)曲線,直接使用該方程運(yùn)算量大并且編程麻煩,需要進(jìn)行線性化處理。由于該方程非線性程度較大,同時阻值到溫度值的轉(zhuǎn)換也是影響測溫精度的主要原因之一,為使線性化處理不至于帶來較大的誤差,線性化過程進(jìn)行了以下特殊處理:
1)如果用一條直線代替該指數(shù)測溫曲線,則不管采用什么樣的線性化處理方法,誤差都比較大。為解決這一問題,在整個測溫范圍之內(nèi)對該曲線進(jìn)行了分段的線性化處理,使誤差能夠控制在合理的范圍內(nèi);2)分段線性化時,對測溫曲線的分段采用非等間隔分段,在曲線非線性程度較小的區(qū)域內(nèi)采用5 ℃分段間隔,在曲線非線性較為嚴(yán)重的區(qū)域內(nèi),采用較小的1 ℃分段間隔,以減小處理誤差;3)在每一段測溫曲線的線性化處理中,采用最小二乘法確定直線方程,以減小直線擬合的均方誤差。
實(shí)測結(jié)果證明,采用上述的線性化處理方法,可以有效提高處理精度,大大減小線性化處理的誤差,保證測溫的精度要求,同時運(yùn)算速度也能得到保證。
2.2 測溫數(shù)據(jù)的濾波處理:
測溫模塊工作過程中不可避免會受到噪聲干擾。為減少測溫過程中噪聲干擾信號,特別是突發(fā)噪聲的影響,提高測溫模塊的工作穩(wěn)定性,需要結(jié)合濾波算法對測溫數(shù)據(jù)進(jìn)行濾波處理。這里采用簡單的加窗平滑低通濾波的方法,即連續(xù)測量N 個值,取平均后作為測量的有效值,即:
在具體的應(yīng)用中,N 越大對數(shù)據(jù)的平滑越好, 但N 過大會降低測溫的速度和靈敏度。經(jīng)實(shí)際試驗(yàn),選擇N=5~10 之間較為合適, 可在計算速度和平滑濾波效果之間取得較好平衡,實(shí)際應(yīng)用中,可根據(jù)具體的測溫要求進(jìn)行合理設(shè)置。
2.3 測溫模塊的軟件設(shè)計:
以上述的數(shù)據(jù)處理思路為基礎(chǔ),結(jié)合串口通信編程及必要的初始化處理工作,即可進(jìn)行測溫模塊的軟件設(shè)計。完成一次溫度測量及測溫結(jié)果傳輸?shù)闹髁鞒倘鐖D3 所示。
整個模塊的軟件設(shè)計編程基于Crossworks1.7 開發(fā)環(huán)境進(jìn)行,將整個程序的核心部分劃分為4 個函數(shù)進(jìn)行設(shè)計,即:
1)主函數(shù),完成系統(tǒng)參數(shù)配置、端口初始化及濾波處理等功能;2)測溫函數(shù),完成熱敏電阻的阻值獲取,并將其轉(zhuǎn)換為實(shí)際的溫度值;3)測溫結(jié)果傳輸函數(shù),完成測溫結(jié)果通過串口的發(fā)送傳輸功能;4)串口接收函數(shù),通過串口接收控制指令,完成測溫間隔時間、串口通信速率、平滑濾波加窗寬度、及測溫結(jié)果顯示格式等工作參數(shù)的設(shè)置。
評論