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