基于熱敏電阻的多點溫度測量系統(tǒng)
0.引言
在現(xiàn)代農業(yè)中,許多情況下需要溫度測量,用來測量溫度的傳感器種類很多,熱敏電阻器就是其中之一。熱敏電阻靈敏度高、穩(wěn)定性好、體積小、電阻值大等特點,已廣泛于溫度測量和控制領域。在所有被動式溫度傳感器中,熱敏電阻的靈敏度(即溫度每變化一度時電阻的變化)最高,在溫室大棚內,溫度測量精度一般在±0.5—1ºC左右,在這種情況下,,熱敏電阻的引線長度在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有關,而熱敏電阻的阻值Rt與測量的溫度有關。因此,需要測量的溫度由Rt熱敏電阻轉換成電阻值,通過555時基電路轉換成頻率信號,單片機通過P3。5(T1口)對頻率進行測量,就可以計算出測量的溫度值。
多路控制開關的組成與工作原理如圖2所示。
圖2 多路開關控制原理
在圖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的值,就可以控制繼電器,使熱敏電阻依次接入,進行溫度信號的測量。采用繼電器控制,減少了熱敏電阻接入路的接觸電阻,可以提高測量的精度。顯示設備為5位LED數碼管,2位用于顯示溫度信號的通道號,3位用于顯示溫度值,其中,2位整數,1位小數。
2.單片機的應用
單片機為AT89C52,片內有256B RAM和8KB的Flash ROM,可以反復多次改寫程序,十分方便。單片機的定時器/計數器T1工作在方式1,作為16位的外部脈沖計數器,記錄555電路輸入的脈沖數。單片機的定時器/計數器T0也工作在方式1,作為16位定時器用,記錄單片機CPU的時鐘脈沖。在編寫程序時,使T0的定時時間為0.1秒,通過T1在0.1秒內測量到的脈沖數,就可以計算出頻率值,從而知道被測量的溫度值。參考程序如下:(CPU振蕩頻率為12MHz)
MOV TMOD,#15H ;設置 T0為16位計數方式,T1為16位定時方式
MOV TH0,#00H ;T0計數器清零
MOV TL0,#00H ;
MOV 30H,#14AH ;循環(huán)20次,使定時時間為0.1秒
SETB TR0 ;啟動T0計數器開始計數
Y1: MOV TH1,#3CH ;T1定時器設置初值
MOV TL1,#ACH ;
SETB TR1 ;啟動T1定時器開始計時
Y2: JBC TF1,Y3 ;判別T1定時器計時50mS到否,到則轉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內存中
MOV 7AH,TL0
在單片機進行頻率采樣的時候,首先通過多路控制開關輸出某溫度測量信號的地址值,然后進行溫度的測量。
3.測量信號的處理
3.1熱敏電阻的線性化處理
熱敏電阻的電阻值與溫度存在嚴重的非線性關系,當頻率信號進入單片機CPU后,就可以應用軟件的方法,例如最小二乘法,實現(xiàn)對熱敏電阻的非線性校正。實踐證明,使用這種方法,在-20~80℃的范圍內,其測量誤差可小于0.2℃。
3.2數據的濾波處理
在單片機測量到溫度信號以后,還需要對檢測信號的濾波處理,減少測量過程中的干擾,最簡單的方法是算術平均法。對N個采樣值,尋找一個Y值作為本次檢測的有效值,使Y值與各采樣值之間的偏差的平方和為最小,在具體應用中,N值不宜太大,溫度測量取N=5-10為好,既保持一定的靈敏度,又有恰當的平滑度。計算方法為:
Y=(X1+X2+….+XN)/N,式中X1、、、、X2、、….XN為N次檢測量
實踐證明用這種方法能正確測量溫度值。在獲得正確的測量值后,還需要將它轉換成相應的實際溫度值。
4.提高測量精度的幾個措施
4.1 頻率信號的穩(wěn)定性
在圖1中,R1、C1的熱穩(wěn)定性直接影響555時基集成電路的輸出頻率,要選擇溫度系數小的金屬膜精密電阻,C1采用CBB22的電容。R1、C1、555時基集成電路要經過高、低溫老化穩(wěn)定后使用。每一路用精密電阻箱模擬熱敏電阻的溫度變化,測量實際的電阻-頻率的數據輸入單片機,作為測量、計算的依據。
4.2 多路信號的輸入
為了克服由于555時基集成電路性能的離散性造成輸出頻率的誤差,多路熱敏電阻使用同一個R1、C1、555時基集成電路。各個熱敏電阻通過單片機控制繼電器來選擇信號的輸入。
4.3熱敏電阻形狀的影響
熱敏電阻的體積非常小,因此可以制造成各種形狀,有柱狀、珠狀、針狀、平面等,以適合不同的測量要求。應該選擇合適形狀的熱敏電阻,使測量值能夠準確地反映被測量的溫度值。對那些需要快速測量的場合,應該盡量選擇體積小反應快的傳感器,否則也會造成測量上的誤差。
4.4傳感器一致性的影響
傳感器的一致性差,會引起很大的測量誤差。熱敏電阻在作為精密的溫度傳感器使用,應該選擇產品的互換性在0.1%以上,它的互換精度能夠達到0.025℃。
4.5溫度的標定
在一定溫度下熱敏電阻的阻值是已知的,因此可以用電阻箱(例如旋轉式電阻箱ZX31)來模擬溫度的變化,使555電路的輸出頻率值符合要求。由于單片機的程序在計算方法和定時時間上會產生一些誤差,用最小二乘法求得的模擬公式也會產生誤差,這些都會直接影響測量的精度。所以在驗證測量電路準確無誤的情況下,再檢查驗證單片機能否計算出準確的溫度值,如果有誤差,必須仔細檢查程序,修改相關的語句,直到準確為止。
在完成上述工作的基礎上,用精密恒溫槽,在-20-+80℃的范圍內,設置5、6個溫度點,檢查熱敏電阻在這些溫度點的電阻值是否符合要求,然后把熱敏電阻的引線接到電路里,把熱敏電阻放在精密恒溫槽內,觀察在各個溫度點上單片機的顯示值是否符合要求。如果符合要求,標定工作結束。
5.結束語
在多點溫度測量系統(tǒng)的設計中,充分發(fā)揮了單片機的計算與線性化的作用,應用555時基電路的電阻-頻率特性,以十分簡單的電路得到高精度的溫度測量效果。
本文作者的創(chuàng)新點:本測量系統(tǒng)的設計巧妙地將熱敏電阻的溫度-電阻變化應用于555時基電路,使單片機的A/D轉換采用頻率采樣法,簡化了電路,又提高了測量的精度。由于熱敏電阻的靈敏度高,電阻值大,熱敏電阻可以直接使用普通導線,測量距離達200米左右,這是其他傳感器難以實現(xiàn)的;由于只用一個555時基電路,使集成電路的離散性影響降到最低,并且大大降低了硬件的成本。
參考文獻
[1] 趙笑宇、李寶華等 便攜式氨氣檢測儀[J] 微計算機信息 2007年第6-1:143-144
[2] 王建軍 采用AT89C52的振弦血壓測量儀設計[J] 微計算機信息 2007年第6-1期:199-201
[3] 陳永甫 555集成電路應用800例[M] 電子工業(yè)出版社 1992年2月
[4] 張洪潤、張亞凡 傳感器技術與應用教程[M] 清華大學出版社 2005年4月