基于單片機溫度誤差補償?shù)脑O(shè)計方案
1 引言
對高精度傳感器,溫度誤差已成為提高其性能的嚴(yán)重障礙,特別是在環(huán)境溫度變化較大的應(yīng)用場合更是如此。依靠傳感器本身附加一些簡單的硬件補償措施是很困難的,目前對于一傳感器測量系統(tǒng)已大量引入了單片機,實現(xiàn)自動檢測和控制。因此用單片機自身的特點,利用軟件來解決傳感器溫度誤差難題是一條有效途徑。
在一單片機傳感器測量系統(tǒng)中,要解決傳感器溫度誤差補償問題,首先要測出傳感器點的溫度,該溫度信號作為多路采樣開關(guān)采集信號的一路送入單片機。測溫元件通常是安裝在傳感器內(nèi)靠近敏感元件的地方,用來測量傳感器點的環(huán)境溫度,測溫元件的輸出經(jīng)放大及A/D轉(zhuǎn)換送到單片機,單片機通過并行接口接收溫度數(shù)據(jù),并暫存溫度數(shù)據(jù)。信號采樣結(jié)束,單片機運行溫度誤差補償程序,對傳感器信號的溫度誤差進(jìn)行補償。對多個傳感器,可用多個測溫元件,常用的測溫元件有半導(dǎo)體熱敏電阻、AD950測溫管、PN結(jié)二極管等。原理框圖如圖1。
2 建立溫度誤差的數(shù)學(xué)模型
溫度變化給傳感器實際測量帶來誤差,表現(xiàn)在傳感器的輸入輸出特性曲線上產(chǎn)生非線性變化。為解決這樣問題,必須使問題簡單化,找出它們間的關(guān)系,建立對應(yīng)的數(shù)學(xué)模型。傳感器特性曲線y=f(x),如圖2所示。
我們可以把該曲線按一定要求分成若干段,在此設(shè)分成n段,然后把相鄰兩段點之間的曲線用直線近似,這樣可以利用線性方法求出輸入值x所對應(yīng)的輸出值,這就是線性插值法。設(shè)輸入值在(xi, xi+1)之間,則其對應(yīng)的輸出值y可由下式求得:
從上式可知,只要n取得足夠大就可獲得良好的精度。
若傳感器的輸入和輸出之間的特性曲線的斜率變化很大,采用線性插值法,誤差就很大,這時可采用二次曲線插值法,即通過曲線上3個點A(x0、y0),B(x1、y1),C(x2、y2)做一拋物線,用此曲線代替原來的曲線,如圖3所示。曲線方程為一元二次方程,一般形式為:
y="K0"+K1x+K2x2
式中K0,K1,K2為待定系數(shù),可用曲線y=f(x)的3個點A,B,C的二元一次方程組求解,這就需要解聯(lián)立方程組,計算較復(fù)雜,列出的程序也較復(fù)雜,因此可以用另外一種型式:
由此可見,利用3個已知點A,B,C的數(shù)值求出系數(shù)m0,m1,m2后,存放在相應(yīng)的內(nèi)存單元,然后根據(jù)某點的x值代入式(1)即可求出被測值y。
以上是對傳感器建立溫度誤差的數(shù)學(xué)模型,用此模型可實現(xiàn)傳感器溫度補償。
3 實現(xiàn)溫度誤差補償的方法
首先給定K個溫度值(T0,T1,T2,…,TK-1),測出每個溫度點上傳感器靜態(tài)特性曲線在u 軸上的截距(u0,u1,…,uK),每個溫度點上傳感器特性曲線的數(shù)據(jù)要精確,必要時應(yīng)在恒溫箱內(nèi)進(jìn)行,這需要較大的工作量,如圖4所示。
評論