siemens x
I/O 設(shè)備

智能儀表非線性自動校正方法研究

2025China.cn   2009年10月26日
摘要:針對智能儀表不便于進(jìn)行復(fù)雜計算、內(nèi)存有限和實時性要求高等特點,在比較了幾種常用的非線性校正方法的基礎(chǔ)上,通過對智能儀表的非線性特性曲線的一般性分析,運用分段直線逼近曲線的方法,給出了一種通用的智能儀表非線性自動校正算法。同時討論了該算法的原理、修正方法及

0 引言
      智能儀表的模擬輸入通道一般由傳感器、前置放大電路、有源濾波器、采樣保持電路(S/H)、A/D轉(zhuǎn)換器和微機(jī)系統(tǒng)等電路組成[1]。由于電子元器件性能參數(shù)的離散性、穩(wěn)定性和溫度敏感性等問題,目前還得不到根本的解決。因此,從傳感器到A/D 轉(zhuǎn)換之間的任何一個環(huán)節(jié)都存在非線性的問題,使得A/D轉(zhuǎn)換值n與被測量x不成線性關(guān)系,即n≠ax+b(a、b為常數(shù))[2]。如果不解決這種非線性問題,將會嚴(yán)重影響智能儀表的測量精度。常用的非線性校正方法有校正函數(shù)法、查表法和模型校正法[s]。
    ① 校正函數(shù)法要求傳感器的輸入/輸出特性能用數(shù)學(xué)解析式表示,且輸入通道的其它環(huán)節(jié)可認(rèn)為是線性的。事實上,很多傳感器的輸入/輸出特性很難用解析式表示,并且如果解析式計算太復(fù)雜,還會嚴(yán)重影響測量速度。因此,校正函數(shù)法的應(yīng)用受到較大的局限[4]。
    ② 查表法必須針對每一個傳感器進(jìn)行校正,而且需要把大量的校正數(shù)據(jù)制成表格存入儀表內(nèi)存。而一般的智能儀表的內(nèi)存非常有限;當(dāng)因故更換傳感器時,需要重新校正、修訂內(nèi)存中的表格數(shù)據(jù),應(yīng)用起來也非常不方便[5]。
    ③ 模型校正法的基本原理是設(shè)法找到一個近似函數(shù)g1(x)或多個分段近似函數(shù)g1(x)、g2(x)、g3(x)、g4(x)等來代替原函數(shù)f(x)。模型校正法的關(guān)鍵是如何求出既能滿足精度要求,又能滿足計算簡單的校正模型。通常校正模型計算太復(fù)雜會影響測量速度,所以采用模型校正法進(jìn)行非線性校正時,往往采用離線處理的方式[6]。
    智能儀表的特點是:采用的微控制器通常不便于進(jìn)行復(fù)雜的計算,內(nèi)存也非常有限,而且很多情況下實時性要求高,不允許離線校正。因此,尋找到一種簡便、有效、通用的非線性自動校正方法,具有非常重要的意義。
1  非線性自動校正算法
       采用分段直線方程的非線性校正原理如圖l所示。設(shè)儀表的被測量用X表示,儀表中對應(yīng)的燈D轉(zhuǎn)換值用N表示,則曲線OM表示儀表的非線性特性曲線?,F(xiàn)將曲線分成若干段,如果分段點的位置和分段數(shù)選取合適,則每一段曲線可近似看成是一直線段。這樣,曲線OM就可看成是由若干直線段組成。如圖中虛線段AB、BC可分別近似表示曲線AB和曲線BC。
               


    圖1中:曲線OM分段后各段端點對應(yīng)的被測信號分別為X0, X1,X2,…,Xi-1,  Xi, Xi+1,…,Xm;儀表中對應(yīng)的A/D轉(zhuǎn)換值分別為N0, N1, N2,…,Ni, Ni+1, … ,Nm。其中,x0為被測量的最小值,Xm為被測量的最大值。顯然線段AB的斜率為:
              
    曲線段AB上的點(n,f(n)),可用直線段AB上的點P(n,x)近似表示,而點P滿足:
           
    式(2)、式(3)就是得到的分段直線校正方程。其中式(2)可稱為點斜式校正方程,因為校正方程由線段上的端點(從Ni-1,Xi-1)和斜率ki決定;式(3)可稱為兩點式校正方程,因為校正方程由線段上的兩端點(Ni-1, Xi-1)和(Ni,Xi)決定。
       在校準(zhǔn)時,若采用點斜式校正方程,則依次把校正方程參數(shù)(Ni-1,Xi-1)和ki(其中i=1,2,3,…,m)存入儀表的內(nèi)存;若采用兩點式校正方程,則依次把校正方程參數(shù)(Ni,Xi)(其中i=0,1,2,3,…,m)存入儀表的內(nèi)存。在實際測量時只要先用程序判斷儀表當(dāng)前的A/D轉(zhuǎn)換值N位于哪一個直線段,再從儀表內(nèi)存中取出相應(yīng)直線段的校正方程參數(shù),則可由校正方程求出相應(yīng)的測量值X。
        從校正方程可以看出,測量值只與校正點的測量數(shù)據(jù)有關(guān),而與包括傳感器在內(nèi)的模擬輸入通道的各環(huán)節(jié)的非線性并無直接關(guān)系。因此,只要儀表的重復(fù)性或穩(wěn)定性較好,即在不同時刻測量同一被測量X時,得到的A/D轉(zhuǎn)換值N始終或基本保持不變,不論非線性是由于傳感器還是因為模擬輸入通道的其它環(huán)節(jié)引起的,都可以達(dá)到非線性校正的目的,從而保證儀表的測量精度。理論上講,分的段數(shù)越多,儀表的測量精度就越高,但相應(yīng)地,占用儀表的內(nèi)存也越多,測量速度也會有少許影響,校準(zhǔn)時也會稍微復(fù)雜。
    需要指出的是,各種智能儀表存在較大的差異,實際應(yīng)用中要視具體情況對非線性校正方程進(jìn)行必要的修正。
2  在稱重儀表中的應(yīng)用
        在電子衡器中,廣泛采用的稱重傳感器是壓力或拉力傳感器。不論傳感器的量程多大,其滿度輸出一般為2mV左右,因此,對于同一種類型(靜態(tài)或動態(tài))的電子衡器而言,往往可以采用通用的稱重儀表。
        電子衡器尤其是商用電子衡器,不僅對稱重精度有很高的要求,而且對實時性也有較高的要求。因此,稱重儀表的非線性校正必須采用在線方式。
2.1 非線性自動校正方程的修正
       在稱重儀表中,最小測量值x0=0kg,對應(yīng)的零點值N0≠0,而且會隨著環(huán)境溫度的變化而變化,實際測量時,各校正點Xi對應(yīng)的A/D轉(zhuǎn)換值Ni(i=1,2,3,…)也會因零點的變化而相應(yīng)發(fā)生變化。也就是說,環(huán)境溫度變化后,實際測量時,當(dāng)被測量為 Xi時,儀表內(nèi)部獲取的A/D轉(zhuǎn)換值不再是校正時的Ni,從而使得按上述校正方程式(2)或式(3)求取的測量校正值是錯誤的或不準(zhǔn)確的。
       實驗證明,稱重儀表的零點值N0受環(huán)境溫度的影響較大,而其非線性特性曲線受環(huán)境溫度的影響較小[7]。如圖1中所示,N0發(fā)生變化后,可以近似認(rèn)為非線性特性曲線OM只是適當(dāng)左移或右移。也就是說,盡管N0是變化的,而Ni-N0(i=1,2,3,… )可以認(rèn)為是不變的。
       一般來說,每天的不同時刻都會存在一定的溫差,但每天的溫度變化都非常緩慢,稱重儀表的零點在使用過程中的變化也非常緩慢。根據(jù)這個特點,我們完全可以用軟件的方法實現(xiàn)零點跟蹤,即在某個較短的時間段(如0.5s)內(nèi),若采樣到的A/D值n與之前的零點N0之差的絕對值不超過某個較小的數(shù)值,則令N0=n。
       鑒于儀表的零點值N0受環(huán)境溫度的影響較大,非線性校正方程要作相應(yīng)的修正:不管是校正時還是實際測量時,均把得到的A/D轉(zhuǎn)換值減去零點值N0。此時,點斜式校正方程修正為:
        
2.2 校正方程參數(shù)的存儲結(jié)構(gòu)
       對于點斜式校正方程式(4)而言,要存入儀表內(nèi)存的校正方程參數(shù)為:Mi-1、Xi-1和ki(i=l,2,3,…m;M0=X0=0),可用一個三維數(shù)組形式的表格存放。
        對于兩點式校正方程式(5)而言,要存入儀表內(nèi)存的校正方程參數(shù)為:Mi、Xi(i=0,1,2,3,…,m;M0=x0=0),可用一個二維數(shù)組形式的表格存放。
       考慮到M0=x0=0,故M0和X0不必保存,但應(yīng)在表首位置存儲校正點數(shù)j。兩個校正方程的校正參數(shù)在儀表內(nèi)存中的存儲結(jié)構(gòu)分別如圖2所示,其中Tab.l和Tab.2分別表示內(nèi)存參數(shù)表首地址。
    


2.3 非線性自動校正
       從兩個校正方程可以看出,點斜式只要做一次乘法運算,而兩點式要做一次乘法運算和一次除法運算??紤]到:計算斜率ki時,為了保證測量精度,小數(shù)點后需要保留足夠的位數(shù),視具體情況而定;而智能儀表中采用的微控制器通常不方便做小數(shù)乘法運算,而且位數(shù)越多、運算越耗時;另外,當(dāng)分段數(shù)大于3時,點斜式比兩點式所需內(nèi)存空間要多。因此,對于在線實時校正的智能儀表來說,采用兩點式校正方程往往更合適一些。這里選用式(5)作為校正方程。為了描述時區(qū)分校正方程中的變量和儀表內(nèi)存中存儲的校正參數(shù),對校正方程做如下變量代換,令a=Xi-1,b=Xi,C=Mi-1,d=Mi,則校正方程式(5)變?yōu)椋?BR>             
    稱重計量時的非線性校正要解決以下三個問題。
    ①如何找出N位于哪一個直線段,考慮到校正點數(shù)不會太多,可采用簡單的順序查找法。
    ②在沒有進(jìn)行校正前,儀表如何顯示實測重量。
    按全量程線性處理,即把量程的最大值Xm作為唯一校正點,但校正點數(shù)j記為0,表示未進(jìn)行過校正。因此,儀表內(nèi)存參數(shù)表初始化時,j處保存0、M1處保存Nm-N0、X1處保存Xm和Xm是可以預(yù)知的,而N0也可以估算出來或通過實測獲得。
    ③當(dāng)實際稱量物體的重量超過最大校準(zhǔn)點重量時,儀表如何顯示實測重量。
    按最大校準(zhǔn)點求得的校正參數(shù)進(jìn)行校正。因此,稱重儀表(電子衡器)稱重計量和校準(zhǔn)時的非線性自動校正程序流程分別如圖3和圖4所示。
             


              


    稱重儀表(電子衡器)的校準(zhǔn)過程如下:
    ①在稱重儀表預(yù)熱后,按<校準(zhǔn)>功能鍵(為安全起見,可要求輸入一串驗證碼),進(jìn)入校準(zhǔn)狀態(tài),此時儀表按原校準(zhǔn)參數(shù)顯示重量值;
    ②稱量重量為Z的標(biāo)準(zhǔn)砝碼;
    ③從儀表鍵盤輸入標(biāo)準(zhǔn)砝碼重量值Z,完成一個點的校準(zhǔn),此后儀表按新校準(zhǔn)參數(shù)顯示重量值;
    ④增加砝碼重量,重復(fù)第②-③步,直到按<完成校準(zhǔn)>功能鍵(為安全起見,可要求輸入一串驗證碼)結(jié)束校準(zhǔn)。
    該流程限定了每次校準(zhǔn)時只能從小到大依次進(jìn)行,并且只要校準(zhǔn)了一個點,上一次的校正參數(shù)將不復(fù)存在。考慮到大量程電子衡器校準(zhǔn)工作量非常大,而校準(zhǔn)點數(shù)較多,校準(zhǔn)過程中難免有輸人差錯,為了避免在校準(zhǔn)的后期因差錯而要推倒重來,可以將該算法稍加改進(jìn),允許取消當(dāng)前的校準(zhǔn)點參數(shù),以便對該點重新校準(zhǔn)。一般來說,可以選擇衡器規(guī)定的檢定點作為校準(zhǔn)點。
3  結(jié)束語
        采用分段直線方程的非線性自動校正算法本質(zhì)上屬于模型校正法,但該算法并不是單純從解決傳感器等某個環(huán)節(jié)的非線性問題著手,而是著眼于解決智能儀表中整個模擬輸入通道的非線性校正問題。其主要特點是實現(xiàn)了智能儀表非線性的在線自動校正,校正模型簡單、校正參數(shù)容易獲取、通用性好,在智能儀表中具有廣泛的應(yīng)用價值。
        在稱重儀表中的實際應(yīng)用表明,該算法簡單、實用、方便實現(xiàn)、使用效果良好。

作者:文其知, 戴永

(轉(zhuǎn)載)

標(biāo)簽:智能儀表 非線性 校正 我要反饋 
2024世界人工智能大會專題
即刻點擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會
專題報道