基于LM3S101處理器的溫度測(cè)量模塊設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了提高溫度測(cè)量的精度,簡(jiǎn)化硬件電路設(shè)計(jì),提出了以32位ARM處理器LM3S101為核心,以熱敏電阻為溫度傳感器的溫度測(cè)量模 塊設(shè)計(jì)方案。該測(cè)溫模塊通過(guò)采用RC充放電方式實(shí)現(xiàn)熱敏電阻阻值的獲取,避免使用A/D轉(zhuǎn)換器,簡(jiǎn)化了硬件電路;數(shù)據(jù)處理通過(guò)對(duì)熱敏電阻測(cè)溫曲線的分段線 性化及加窗平滑濾波的方式實(shí)現(xiàn),減小了處理誤差,提高了測(cè)溫?cái)?shù)據(jù)處理的精度和可靠性。所設(shè)計(jì)的測(cè)溫模塊經(jīng)實(shí)驗(yàn)測(cè)試,測(cè)溫精度能夠達(dá)到0.2℃,工作穩(wěn)定, 可應(yīng)用于各種需要溫度測(cè)量場(chǎng)合。
關(guān)鍵詞:溫度測(cè)量;LM3S101;熱敏電阻;RC充放電;分段線性化
溫度信息是各類(lèi)監(jiān)控系統(tǒng)中主要的被控參數(shù)之一,溫度采集與控制在各類(lèi)測(cè)控系統(tǒng)中應(yīng)用廣泛。隨著處理器技術(shù)的發(fā)展,在溫度測(cè)量領(lǐng)域,ARM處理器以其高性 能、低成本得到了廣泛應(yīng)用。以Luminary公司生產(chǎn)的32位ARM處理器LM3S101為核心,以熱敏電阻為溫度傳感器,并通過(guò)引入RC充放電電路以 及對(duì)熱敏電阻測(cè)溫曲線的分段線性化處理,實(shí)現(xiàn)了一種成本低、測(cè)溫精度高的溫度測(cè)量模塊設(shè)計(jì)方案。經(jīng)實(shí)際測(cè)量實(shí)驗(yàn),這種設(shè)計(jì)方案在整個(gè)測(cè)溫范圍內(nèi)能夠達(dá)到較 高測(cè)溫精度,且模塊通用性強(qiáng)、成本低且應(yīng)用廣泛。
1 測(cè)溫模塊硬件原理
1.1 溫度信息的獲取
實(shí)現(xiàn)溫度的檢測(cè)需要使用溫度傳感器。溫度傳感器種類(lèi)很多,熱敏電阻器是其中應(yīng)用較多的一種,具有靈敏度高、穩(wěn)定性好、熱慣性小、體積小、阻值大及價(jià)格便宜 等特點(diǎn),廣泛應(yīng)用于溫度測(cè)控領(lǐng)域。熱敏電阻應(yīng)用于溫度檢測(cè),最核心的一個(gè)工作就是要比較精確地獲取熱敏電阻的阻值變化。常見(jiàn)的處理方式是通過(guò)外加電源,把 熱敏電阻的阻值變化轉(zhuǎn)換為電壓或電流變化,再通過(guò)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換后將數(shù)字量傳送給處理器進(jìn)行處理。這種方式硬件電路設(shè)計(jì)及數(shù)據(jù)處理相對(duì)麻煩,成本較 高,并且所獲取的熱敏電阻阻值精度受電源穩(wěn)定性和A/D轉(zhuǎn)換器的位數(shù)限制,一般比較低,對(duì)測(cè)溫精度造成較大影響。同時(shí),由于熱敏電阻的非線性,為提高測(cè)溫 精度通常還需要附加較復(fù)雜的補(bǔ)償電路。在設(shè)計(jì)中,為解決這一問(wèn)題,將RC充放電采樣方式引入到熱敏電阻的阻值測(cè)量中,將阻值轉(zhuǎn)換為電容的充放電時(shí)間進(jìn)行檢 測(cè),原理如圖1所示。
圖l中,P1.0、P1.1和P1.2均是處理器的通用I/O口,RF為精密參考電阻,RT為檢測(cè)溫度的熱敏電阻,RS為0.1 kΩ普通電阻:C為O.1 μF普通電容。
實(shí)現(xiàn)熱敏電阻阻值獲取的步驟及原理如下:1)先將端口P1.O、P1.1、P1.2都設(shè)為低電平輸出,使電容C完全放電。2)將P1.1、P1.2設(shè)置為 輸入狀態(tài),P1.0設(shè)為高電平輸出,通過(guò)電阻RF對(duì)C充電,處理器內(nèi)部計(jì)時(shí)器清零并開(kāi)始計(jì)時(shí),檢測(cè)P1.2口狀態(tài),當(dāng)P1.2口檢測(cè)為高電平時(shí),即電容C 兩端的電壓達(dá)到處理器I/O口高電平輸入的門(mén)嵌電壓時(shí),計(jì)時(shí)器停止計(jì)數(shù),記錄下從開(kāi)始充電到P1.2口檢測(cè)到高電平的時(shí)間T1。3)將P1.0、 P1.1、P1.2再次設(shè)為低電平輸出,使C完全放電。4)再將P1.0、P1.2設(shè)置為輸入狀態(tài),P1.1設(shè)為高電平輸出,通過(guò)熱敏電阻RT對(duì)C充電, 再進(jìn)行步驟2)相同的過(guò)程,記錄下時(shí)間T2。
熱敏電阻的阻值由T1和T2確定。RC充放電電路中,電容C兩端的電壓確定為:
由式(3)計(jì)算出熱敏電阻阻值后,通過(guò)熱敏電阻測(cè)溫曲線,即可把阻值轉(zhuǎn)換為對(duì)應(yīng)的溫度值,實(shí)現(xiàn)溫度信息的獲取。
1.2 處理器的選型
處理器是整個(gè)測(cè)溫模塊的控制及數(shù)據(jù)處理的核心。特別是在本設(shè)計(jì)中,由于熱敏電阻的阻值需要直接由處理器進(jìn)行檢測(cè),其性能會(huì)對(duì)測(cè)溫效果、精度、數(shù)據(jù)處理速度 等產(chǎn)生較大影響。綜合處理器速度、性能與價(jià)格的考慮,選用ARM處理器LM3S101。LM3S101是基于ARMCortexTM-M3內(nèi)核的控制器, 該器件是32位處理器,采用哈佛架構(gòu)、Thumb-2指令集,主要特點(diǎn)如下:1)具有32位RISC性能;2)具有2個(gè)內(nèi)部存儲(chǔ)器,內(nèi)部集成了8 KB單周期的Flash ROM,2 KB單周期的SRAM;3)具有2個(gè)32位的通用定時(shí)器,其中每個(gè)都可配置為1個(gè)32位定時(shí)器或2個(gè)16位定時(shí)器,同時(shí)還有遵循ARM FiRM規(guī)范的看門(mén)狗定時(shí)器;4)具有同步串行接口SSI,和UART串行接口,具有很強(qiáng)的信號(hào)傳輸功能;5)2~18個(gè)GPIO端口,可編程靈活配 置;6)時(shí)鐘頻率達(dá)到20 MHz。
除此之外,該款處理器由于采用CortexTM-M3內(nèi)核,支持單周期乘法運(yùn)算,這在測(cè)溫?cái)?shù)據(jù)處理時(shí)會(huì)有較高的數(shù)據(jù)處理速度與效率。同時(shí),該處理器成本低。
1.3 影響測(cè)溫精度的主要因素
由于采用RC充放電的方式獲取熱敏電阻阻值,因此整個(gè)測(cè)溫模塊所需外圍元件很少,熱敏電阻阻值獲取的精度是影響模塊測(cè)溫精度的主要因素之一。由熱敏電阻阻 值獲取原理可以看出,影響測(cè)溫精度的主要因素有:1)參考電阻RF的精度;2)熱敏電阻RT的精度;3)處理器內(nèi)部定時(shí)器的位數(shù)與精度。處理器工作頻率越 高,定時(shí)器位數(shù)越大,則處理精度越好。
阻值獲取的精度是與處理器的輸出電壓值、門(mén)限電壓值、電容C的精度、電阻RD的精度無(wú)關(guān)的,因此只要合理選擇處理器和高精度的RF與RT,就可以使熱敏電阻阻值的測(cè)量有較小的誤差。為保證測(cè)溫精度,熱敏電阻RT選用標(biāo)稱值為10 kΩ(或100 kΩ),B值為3 950,1%精度熱敏電阻,參考電阻RF選用10 kΩ(或100 kΩ),l%精度的金屬膜電阻。
1.4 模塊硬件電路設(shè)計(jì)
以ARM處理器LM3S101為核心,結(jié)合上述熱敏電阻阻值獲取原理,給出該測(cè)溫模塊核心部分電路原理圖,如圖2所示。
由圖2可看出,按上述的電容充放電熱敏阻值檢測(cè)原理進(jìn)行硬件設(shè)計(jì),核心部分電路較為簡(jiǎn)潔,避免了傳統(tǒng)方式中A/D器件的應(yīng)用,達(dá)到了簡(jiǎn)化硬件電路設(shè)計(jì),降 低硬件成本的目的。同時(shí),這種設(shè)計(jì)又不過(guò)多占用處理器的I/O端口,對(duì)處理器資源的占用也較少。由于這種方式在阻值獲取時(shí)需處理器具有較高的計(jì)數(shù)精度,而 在阻值到溫度值轉(zhuǎn)換時(shí)需處理器具有較強(qiáng)的運(yùn)算能力,因此選用LM3S101進(jìn)行核心處理,其
20 MHz的時(shí)鐘頻率及ARMCortex-M內(nèi)核集成的硬件乘法單元對(duì)此有很好的保證。電路圖中,其他部分簡(jiǎn)要說(shuō)明:SP6201是集復(fù)位功能于一體的低壓差線性穩(wěn)壓(LDO)器,將5 V電源轉(zhuǎn)換為處理器LM3S101所需的3.3 V,同時(shí)產(chǎn)生處理器工作所需的復(fù)位信號(hào)。電阻RF、RT、RS和電容C6構(gòu)成RC充放電電路,用以實(shí)現(xiàn)熱敏電阻阻值的檢測(cè),與處理器通過(guò)PA2、PA3、PA4 3個(gè)GPIO接口相連。LM3S101的10和ll引腳使用其UART功能,連接至電平轉(zhuǎn)換電路,以實(shí)現(xiàn)模塊通過(guò)串口的通信及溫度數(shù)據(jù)發(fā)送功能。
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為開(kāi)爾文溫度。
由Steinhart-Hart公式可知熱敏電阻的阻值溫度特性曲線是一條非線性的指數(shù)曲線,直接使用該方程運(yùn)算量大并且編程麻煩,需要進(jìn)行線性化處理。 由于該方程非線性程度較大,同時(shí)阻值到溫度值的轉(zhuǎn)換也是影響測(cè)溫精度的主要原因之一,為使線性化處理不至于帶來(lái)較大的誤差,線性化過(guò)程進(jìn)行了以下特殊處 理:
1)如果用一條直線代替該指數(shù)測(cè)溫曲線,則不管采用什么樣的線性化處理方法,誤差都比較大。為解決這一問(wèn)題,在整個(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è)溫模塊工作過(guò)程中不可避免會(huì)受到噪聲干擾。為減少測(cè)溫過(guò)程中噪聲干擾信號(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過(guò)大會(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ì)編程基于Cmssworksl.7開(kāi)發(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é)果通過(guò)串口的發(fā)送傳輸功 能;4)串口接收函數(shù),通過(guò)串口接收控制指令,完成測(cè)溫間隔時(shí)間、串口通信速率、平滑濾波加窗寬度、及測(cè)溫結(jié)果顯示格式等工作參數(shù)的設(shè)置。
3 測(cè)溫效果分析
所設(shè)計(jì)的測(cè)溫模塊結(jié)合精密恒溫槽進(jìn)行了實(shí)際測(cè)溫效果的實(shí)驗(yàn)測(cè)試。利用精密恒溫槽在-10~+80℃的測(cè)溫范圍內(nèi),設(shè)置3個(gè)溫度檢測(cè)點(diǎn),把熱敏電阻放在精密恒溫槽內(nèi),利用該模塊進(jìn)行溫度的測(cè)量。各個(gè)溫度點(diǎn)的溫度測(cè)量值通過(guò)串口調(diào)試工具進(jìn)行觀測(cè),實(shí)驗(yàn)測(cè)試數(shù)據(jù)如表l所示。
表l所示的測(cè)量數(shù)據(jù)表明,所設(shè)計(jì)的測(cè)溫模塊測(cè)溫穩(wěn)定,在整個(gè)測(cè)量溫度范圍內(nèi)測(cè)溫精度基本上能夠達(dá)到O.2℃,優(yōu)于傳統(tǒng)熱敏電阻測(cè)溫采用單片機(jī)結(jié)合A/D器件的方式,同時(shí)也證明了測(cè)溫曲線分段線性化處理的有效性。
4 結(jié)論
本文提出了一種簡(jiǎn)單實(shí)用、性價(jià)比高、測(cè)溫效果好的熱敏電阻溫度測(cè)量模塊的設(shè)計(jì),所設(shè)計(jì)的測(cè)溫模塊由于對(duì)熱敏電阻阻值的獲取引入RC充放電方式,簡(jiǎn)化了硬件 設(shè)計(jì)和模塊成本;而選用32位ARM處理器LM3S101以及數(shù)據(jù)處理所采用的分段線性化處理方式則有效保證了測(cè)溫精度與數(shù)據(jù)處理的速度。通過(guò)測(cè)溫實(shí)驗(yàn)及 在具體溫度測(cè)控系統(tǒng)中的使用,該測(cè)溫模塊在-lO~80℃范圍內(nèi)有良好的測(cè)溫效果。在具體的模塊設(shè)計(jì)與應(yīng)用過(guò)程中,還有其他一些因素會(huì)對(duì)測(cè)溫的精度產(chǎn)生影 響,若要進(jìn)一步提高該方案的測(cè)溫精度,可在以下幾個(gè)方面做進(jìn)一步的改進(jìn)處理:1)電源的穩(wěn)定性,由于采用RC充放電方式獲取熱敏電阻的阻值,系統(tǒng)電源的穩(wěn) 定性對(duì)充放電時(shí)間有較顯著的影響,實(shí)際設(shè)計(jì)與應(yīng)用中,采用低噪聲、高穩(wěn)定的電源有利于測(cè)量精度的提高。2)熱敏電阻形狀,熱敏電阻的體積非常小,可以制造 成各種形狀,應(yīng)根據(jù)具體使用場(chǎng)合的不同,選擇合適形狀的熱敏電阻,使測(cè)量值能準(zhǔn)確反映測(cè)量溫度。3)傳感器的一致性,傳感器的一致性差,會(huì)引起很大的測(cè)量 誤差,熱敏電阻在作為精密的溫度傳感器使用時(shí),應(yīng)選擇產(chǎn)品的互換性在0.1%以上。4)計(jì)算精度,測(cè)溫?cái)?shù)據(jù)的處理運(yùn)算較為復(fù)雜,在進(jìn)行處理程序編寫(xiě)時(shí),應(yīng) 注意保持較高的計(jì)算精度,防止計(jì)算過(guò)程帶來(lái)較大的誤差。