基于熱敏電阻的高電阻的特性,應用單片機進行頻率法的溫度測量,具有電路設(shè)計簡單,測量精度高的特點。單片機的使用,使測量過程中的非線性化校正,變得更加方便、實用。
關(guān)鍵詞: 熱敏電阻;溫度測量;精度;單片機
0.引言
在現(xiàn)代農(nóng)業(yè)中,許多情況下需要溫度測量,用來測量溫度的傳感器種類很多,熱敏電阻器就是其中之一。熱敏電阻靈敏度高、穩(wěn)定性好、體積小、電阻值大等特點,已廣泛于溫度測量和控制領(lǐng)域。在所有被動式溫度傳感器中,熱敏電阻的靈敏度(即溫度每變化一度時電阻的變化)最高,在溫室大棚內(nèi),溫度測量精度一般在±0.5—1oC左右,在這種情況下,,熱敏電阻的引線長度在100—200米,對測量造成的誤差可以忽略不計,使測量系統(tǒng)的電路簡單、使用方便。
1.熱敏電阻的測量電路
在多點溫度測量系統(tǒng)中,熱敏電阻采用溫度-頻率法測量框圖,如圖1所示。
圖1溫度—頻率測量原理
圖1中,IC1是555時基集成電路,是一個典型的無穩(wěn)態(tài)多諧振蕩器,IC2是AT89C52單片機。R3是555電路輸出的電平上拉電阻,使輸出的高電平穩(wěn)定在5V,C2為抗干擾濾波電容,Rt為熱敏電阻,f是頻率信號輸出。
其中 f=1.442695041/(C1*(R1+2*Rt ))
從上式可以看出,當C1、R1為固定值時,555時基電路的輸出頻率f僅僅與Rt有關(guān),而熱敏電阻的阻值Rt與測量的溫度有關(guān)。因此,需要測量的溫度由Rt熱敏電阻轉(zhuǎn)換成電阻值,通過555時基電路轉(zhuǎn)換成頻率信號,單片機通過P3。5(T1口)對頻率進行測量,就可以計算出測量的溫度值。
多路控制開關(guān)的組成與工作原理如圖2所示。
圖2 多路開關(guān)控制原理
在圖2中,IC2 為單片機,IC3、IC4為74LS138集成電路組成,J01--J16為繼電器。單片機的P1.0 – P1.2作為二個74LS138的地址,P1.3、P1.4作為二個74LS138的片選信號,單片機改變P1.0、P1.1、P1.2、P1.3、P1.4的值,就可以控制繼電器,使熱敏電阻依次接入,進行溫度信號的測量。采用繼電器控制,減少了熱敏電阻接入路的接觸電阻,可以提高測量的精度。顯示設(shè)備為5位LED數(shù)碼管,2位用于顯示溫度信號的通道號,3位用于顯示溫度值,其中,2位整數(shù),1位小數(shù)。
2.單片機的應用
單片機為AT89C52,片內(nèi)有256B RAM和8KB的Flash ROM,可以反復多次改寫程序,十分方便。單片機的定時器/計數(shù)器T1工作在方式1,作為16位的外部脈沖計數(shù)器,記錄555電路輸入的脈沖數(shù)。單片機的定時器/計數(shù)器T0也工作在方式1,作為16位定時器用,記錄單片機CPU的時鐘脈沖。在編寫程序時,使T0的定時時間為0.1秒,通過T1在0.1秒內(nèi)測量到的脈沖數(shù),就可以計算出頻率值,從而知道被測量的溫度值。參考程序如下:(CPU振蕩頻率為12MHz)
MOV TMOD,#15H ;設(shè)置 T0為16位計數(shù)方式,T1為16位定時方式
MOV TH0,#00H ;T0計數(shù)器清零
MOV TL0,#00H ;
MOV 30H,#14AH ;循環(huán)20次,使定時時間為0.1秒
SETB TR0 ;啟動T0計數(shù)器開始計數(shù)
Y1: MOV TH1,#3CH ;T1定時器設(shè)置初值
MOV TL1,#ACH ;
SETB TR1 ;啟動T1定時器開始計時
Y2: JBC TF1,Y3 ;判別T1定時器計時50mS到否,到則轉(zhuǎn)Y3
AJMP Y2 ;50mS未到,則繼續(xù)
Y3: DJNZ 30H,Y1 ;判別定時0.1秒到否,未到則繼續(xù)
CLR TR0 ;定時0.1秒到,清T0、T1溢出標志
CLR TR1 ;
MOV 7BH,TH0 ;將測量的頻率值存放在7AH、7BH內(nèi)存中
MOV 7AH,TL0
在單片機進行頻率采樣的時候,首先通過多路控制開關(guān)輸出某溫度測量信號的地址值,然后進行溫度的測量。
3.測量信號的處理
3.1熱敏電阻的線性化處理
熱敏電阻的電阻值與溫度存在嚴重的非線性關(guān)系,當頻率信號進入單片機CPU后,就可以應用軟件的方法,例如最小二乘法,實現(xiàn)對熱敏電阻的非線性校正。實踐證明,使用這種方法,在-20~80℃的范圍內(nèi),其測量誤差可小于0.2℃。
3.2數(shù)據(jù)的濾波處理
在單片機測量到溫度信號以后,還需要對檢測信號的濾波處理,減少測量過程中的干擾,最簡單的方法是算術(shù)平均法。對N個采樣值,尋找一個Y值作為本次檢測的有效值,使Y值與各采樣值之間的偏差的平方和為最小,在具體應用中,N值不宜太大,溫度測量取N=5-10為好,既保持一定的靈敏度,又有恰當?shù)钠交。計算方法為?
Y=(X1+X2+….+XN)/N,式中X1、、、、X2、、….XN為N次檢測量
實踐證明用這種方法能正確測量溫度值。在獲得正確的測量值后,還需要將它轉(zhuǎn)換成相應的實際溫度值。
4.提高測量精度的幾個措施
4.1 頻率信號的穩(wěn)定性
在圖1中,R1、C1的熱穩(wěn)定性直接影響555時基集成電路的輸出頻率,要選擇溫度系數(shù)小的金屬膜精密電阻,C1采用CBB22的電容。R1、C1、555時基集成電路要經(jīng)過高、低溫老化穩(wěn)定后使用。每一路用精密電阻箱模擬熱敏電阻的溫度變化,測量實際的電阻-頻率的數(shù)據(jù)輸入單片機,作為測量、計算的依據(jù)。
4.2 多路信號的輸入
為了克服由于555時基集成電路性能的離散性造成輸出頻率的誤差,多路熱敏電阻使用同一個R1、C1、555時基集成電路。各個熱敏電阻通過單片機控制繼電器來選擇信號的輸入。
4.3熱敏電阻形狀的影響
熱敏電阻的體積非常小,因此可以制造成各種形狀,有柱狀、珠狀、針狀、平面等,以適合不同的測量要求。應該選擇合適形狀的熱敏電阻,使測量值能夠準確地反映被測量的溫度值。對那些需要快速測量的場合,應該盡量選擇體積小反應快的傳感器,否則也會造成測量上的誤差。
4.4傳感器一致性的影響
傳感器的一致性差,會引起很大的測量誤差。熱敏電阻在作為精密的溫度傳感器使用,應該選擇產(chǎn)品的互換性在0.1%以上,它的互換精度能夠達到0.025℃。
4.5溫度的標定
在一定溫度下熱敏電阻的阻值是已知的,因此可以用電阻箱(例如旋轉(zhuǎn)式電阻箱ZX31)來模擬溫度的變化,使555電路的輸出頻率值符合要求。由于單片機的程序在計算方法和定時時間上會產(chǎn)生一些誤差,用最小二乘法求得的模擬公式也會產(chǎn)生誤差,這些都會直接影響測量的精度。所以在驗證測量電路準確無誤的情況下,再檢查驗證單片機能否計算出準確的溫度值,如果有誤差,必須仔細檢查程序,修改相關(guān)的語句,直到準確為止。
在完成上述工作的基礎(chǔ)上,用精密恒溫槽,在-20-+80℃的范圍內(nèi),設(shè)置5、6個溫度點,檢查熱敏電阻在這些溫度點的電阻值是否符合要求,然后把熱敏電阻的引線接到電路里,把熱敏電阻放在精密恒溫槽內(nèi),觀察在各個溫度點上單片機的顯示值是否符合要求。如果符合要求,標定工作結(jié)束。
5.結(jié)束語
在多點溫度測量系統(tǒng)的設(shè)計中,充分發(fā)揮了單片機的計算與線性化的作用,應用555時基電路的電阻-頻率特性,以十分簡單的電路得到高精度的溫度測量效果。
本文作者的創(chuàng)新點:本測量系統(tǒng)的設(shè)計巧妙地將熱敏電阻的溫度-電阻變化應用于555時基電路,使單片機的A/D轉(zhuǎn)換采用頻率采樣法,簡化了電路,又提高了測量的精度。由于熱敏電阻的靈敏度高,電阻值大,熱敏電阻可以直接使用普通導線,測量距離達200米左右,這是其他傳感器難以實現(xiàn)的;由于只用一個555時基電路,使集成電路的離散性影響降到最低,并且大大降低了硬件的成本。