鉑電阻測溫電路的線性化設計方法
蔡輝 孫德保
摘要:介紹一種基于A/D轉換原理的鉑電阻測溫的非線性校正方法,分析了鉑電阻線性測溫的原理,并給出了A/D轉換器7135與單片機89C51接口電路及試驗數據。 關鍵詞:鉑電阻,測溫電路設計,模擬-數字轉換非線性校正,數據采集
Abstract: A correcting method of non-linear error for Pt resistance temperature measurement based on the principle of A/D conversion is presented. The design principle of Pt resistance linear temperature measurement is analyzed. Practical circuit for interfacing A/D converter 7135 with single chip computer 89c51 and test data are given Key words: Pt resistance, Temperature measuring circuit, Analog-digital conversion, Non-linear correction, Samples 一、引言 鉑電阻溫度傳感器,因其測量范圍大,復現性好,穩定性強等特點而被廣泛使用。 在精密測量系統中,鉑電阻測溫系統電路結構圖如圖1所示:鉑電阻信號通常通過橋式電路轉換為電壓信號,再經過放大及A/D轉換后送微處理器進行處理。為了能對鉑電阻測溫的非線性進行校正,作者利用雙積分A/D轉換原理,設計了一種高精度的鉑電阻測溫非線性校正方案。實踐證明,該方法不僅性能穩定,結構簡單,而且在0~200℃范圍內準確度可達到0.15%FS±4字。 二、非線性校正原理
以上是本文闡述的以變量變換的形式實現傳感器非線性校正的設計思想。這里t的量綱為時間,其測量過程是通過雙積分A/D轉換實現的。雙斜率積分轉換表達為:
式中:Uin—A/D轉換時模擬輸入電壓, T1—A/D轉換過程中正向積分時間, T2—A/D轉換過程中反向積分時間, Uref—A/D轉換時參考輸入電壓。 當Uref為定值時,Uin與T2具有線性關系,因此這種情況下可以認為A/D輸出結果為: T2 = T1Uin / Uref . 假定Uref(t)為時間t的函數:Uref(t)=M+Nt (2) 其中:M,N為待定常系數。 A/D轉換后的輸出結果若能完全補償鉑電阻溫度非線性,則有:Uin=aq+Bq2 (3) 故將式(2)和式(3)代入式(1), 假設:AT1=M,BT1=N/2, 則有:T2與q在數值上大小相等,即T2=q,可見實現了鉑電阻的溫度與數字量線性轉換。 可以看出,在A/D轉換過程中,模擬電壓輸入與數字量輸出之間不是線性關系,其函數關系剛好與Rq—q關系相反,當其特性實現了相互完全補償時,就能獲得線性q/T2轉換。顯然,利用雙積分A/D轉換實現非線性校正的關鍵是應能滿足式(3)所表征的函數關系。本方案采用RC回路極其簡單地達到了該目的。
鉑電阻測溫電路線性化設計的實現采用了4位半雙積分型A/D轉換器ICL7135。ICL7135每一個轉換周期分為三個階段:自動調零階段、被測電壓積分階段、對基準電壓Uref進行反積分階段。下面結合鉑電阻溫度測量分析ICL7135的工作過程:
式中,UW為 t = 0 時電容C兩端電壓值。
將上式在t = T1 處按馬克勞林公式展開, 若選取適當參數,使 , 則上式可簡化為: (6) (2)反向積分階段: 在此階段,基準電容C兩端電壓又被內部積分電路進行反向積分,在整個T2階段UC(t)可認為是線性的,T2結束時積分器輸出又回到零位,此時有:(7) 由式(4)、式(6)、式(7)整理可得: 將式(3)代入上式,得: 令等式兩邊常量對應相等,則有:q=T2。 在T2時間內, 對A/D轉換器進行時鐘計數,并以數字量形式輸出,從而定量地將被測溫度值反映出來,實現電路的數字化測量。
三、ICL7135與單片機89C52接口的新方法 以往使用7135是利用它具有多重動態掃描的BCD碼輸出來讀取A/D轉換結果,這樣既費時、又占用較多口線。在測控儀表中,盡量少占用微處理器I/O口線,以最少原器件、完成盡可能多的任務是十分重要的。這里介紹的ICL7135與單片機接口的簡易方法,是利用7135的“BUSY”端,只需占用單片機89C51的一個I/O口和內部的一個定時器,就可以在十幾微秒的中斷服務程序中把ICL7135的A/D轉換值送入單片機內。實踐證明,該方法具有實際應用價值。 在圖2中,若89C51的時鐘采用6MHz晶振,在不執行movx指令的情況下,ALE是穩定的1 MHz頻率,將ALE經過二分頻可得到500 kHz的頻率供給ICL7135時鐘輸入端。T0規定為定時方式1,滿足ICL7135的19999滿量程要求。ICL7135在A/D轉換階段, 狀態輸出引腳BUSY為高電平,指明A/D轉換器正處在信號積分和反積分階段,這個高電平一直持續到消除積分階段結束。在定時器方式寄存器TMOD中,置T0的門控位GATE為1,利用BUSY作為計數器門控信號,T0的計數將受BUSY控制。控制計數器只能在BUSY為高電平時計數,那么輸入信號:A/D轉換值=BUSY高電平期間內計數器計數值-10 001 圖2中用ICL 7135的BUSY端接89C52的外部中斷 POL為信號極性輸出端,接89C52的P1.7,高、低電平表示被測信號為正、負極性。 四、實驗結果及誤差分析 在以鉑電阻測溫電路的線性化設計的方案中,誤差來源一方面來自于基準電容放電過程的非線性引起的誤差:當RC取值滿足 時,此項誤差折合成溫度值可小于0.03℃。另一方面誤差來自于A/D轉換準確度。當選用4位半A/D轉換器ICL7135時,其準確度為±0.05%,折合最大溫度誤差為0.10℃,兩項誤差相對獨立,電路總體測溫誤差為±0.104℃。本電路經組裝后,進行了實際性能測試,實驗數據見表1。從測試結果看,樣機最大誤差為-0.18℃,與分析結論基本相近。 表1 (鉑電阻分度號為Pt100)