李淮江,王冰冰
(淮北師范大學(xué) 物理與電子信息學(xué)院,安徽 淮北 235000)
精密測(cè)量技術(shù)作為推動(dòng)國(guó)民經(jīng)濟(jì)發(fā)展的重要基礎(chǔ)技術(shù)之一,已成為先進(jìn)制造業(yè)中極其重要的組成部分?,F(xiàn)階段,固定環(huán)境溫度下的壓力測(cè)量問(wèn)題已經(jīng)能夠得到很好的測(cè)量結(jié)果,各種類型的測(cè)量設(shè)備和測(cè)量的方法也日趨完善[1-2]。隨著國(guó)民經(jīng)濟(jì)的發(fā)展,諸如氣象測(cè)試、武器裝備、地質(zhì)勘探、航空航天等領(lǐng)域?qū)鞲衅髟诖蠓鶞囟茸兓秶鷥?nèi)的測(cè)量精度以及測(cè)試穩(wěn)定性提出了越來(lái)越高的要求,測(cè)量設(shè)備使用傳統(tǒng)的方法往往不能達(dá)到所需的準(zhǔn)確性和穩(wěn)定性,在這樣的背景下,諸多學(xué)者以提高現(xiàn)有傳感器的測(cè)量精度和穩(wěn)定性為目的,提出了許多創(chuàng)新性的補(bǔ)償方法。一個(gè)完善的溫度補(bǔ)償系統(tǒng)對(duì)于壓阻式壓力傳感器溫補(bǔ)償?shù)难芯烤哂惺种匾睦碚撘饬x和實(shí)用價(jià)值。
軟件補(bǔ)償技術(shù)實(shí)現(xiàn)相對(duì)簡(jiǎn)單,補(bǔ)償效果明顯,是提高壓力傳感器精度的重要途徑[3]。所以,在現(xiàn)代流行的壓力傳感器溫度補(bǔ)償中大都采用軟件補(bǔ)償。目前的軟件補(bǔ)償方法主要采用分段線性插值法、神經(jīng)網(wǎng)絡(luò)方法和三次樣條曲線插值的方法。也有不少學(xué)者通過(guò)結(jié)合多種溫度補(bǔ)償算法來(lái)達(dá)到高精度溫度補(bǔ)償?shù)哪康?,例如傳統(tǒng)回歸算法和遺傳算法的結(jié)合,在傳感器的溫度補(bǔ)償實(shí)驗(yàn)中取得了良好的效果[4]。其中,神經(jīng)網(wǎng)絡(luò)算法存在網(wǎng)絡(luò)結(jié)構(gòu)選擇不一、訓(xùn)練時(shí)間過(guò)長(zhǎng)等問(wèn)題,而綜合算法需要長(zhǎng)期的實(shí)踐經(jīng)驗(yàn)為基礎(chǔ),兩者都沒(méi)有得到廣泛的推廣應(yīng)用。目前比較流行的溫度補(bǔ)償方法有分段線性插值法和三次樣條曲線插值法。
分段線性插值法的基本思想是將傳感器的輸入信號(hào)區(qū)間分割成若干個(gè)小區(qū)間,然后根據(jù)各個(gè)小區(qū)間內(nèi)的標(biāo)定數(shù)據(jù),將傳感器的輸出信號(hào)擬合為以輸入信號(hào)為自變量的直線,以這條直線段代表傳感器的實(shí)際靜態(tài)特性曲線[5]。具體擬合直線如圖1所示。
分段線性插值法很少被應(yīng)用到高精度的傳感器溫度補(bǔ)償當(dāng)中,因?yàn)閷?shí)際的傳感器輸出信號(hào)是一條光滑的曲線,而分段線性插值的思想是利用直線代替曲線,在現(xiàn)有的擬合直線算法當(dāng)中,無(wú)論如何都會(huì)造成兩者之間的誤差。雖然理論上來(lái)說(shuō)只要分段足夠多,擬合直線就能無(wú)限接近實(shí)際的傳感器靜態(tài)特性曲線,但計(jì)算量也將隨之增大;并且由于是分段直線擬合,在各插值節(jié)點(diǎn)處相鄰線段不能保證良好的光滑性,并不能夠準(zhǔn)確的表達(dá)傳感器靜態(tài)特性,所以在高精度測(cè)量中很少使用。
圖1 分段線性插值法擬合曲線
三次樣條曲線插值的方法是目前使用較為廣泛的一種方法,它是由一段段連續(xù)的三次多項(xiàng)式連接而成,在連接點(diǎn)處一階、二階可導(dǎo),且導(dǎo)數(shù)連續(xù),具有良好的光滑性,能夠準(zhǔn)確反應(yīng)傳感器的真實(shí)特性[6]。
假設(shè)一個(gè)在區(qū)間[a,b]上二次連續(xù)可微的函數(shù)f(x),在區(qū)間[a,b]上選定n+1個(gè)插值節(jié)點(diǎn)并且:a=x1<x2<…<xn+1=b。設(shè)函數(shù)
若S(x)同時(shí)滿足下列條件:
(1)S(x)在每個(gè)小區(qū)間上最高次冪都是不大于3,i+1,2,…,n+1;
(2)S(x)在每個(gè)小區(qū)間上都具有二階導(dǎo)數(shù)且導(dǎo)數(shù)連續(xù);
則稱S(x)是函數(shù)f(x)的3次樣條插值函數(shù)。
設(shè)mi=S"(xj),hi=xi+1-xi,由于S(x)的二階導(dǎo)數(shù)在每一個(gè)子區(qū)間上都是連續(xù)的,于是在區(qū)間[xi,xi+1]上
對(duì)(3)式連續(xù)積分兩次:
式中 Ai,Bi為積分常數(shù),由(1)、(5)得
將(6)式代入(4)式得
由于 S′i(x)連續(xù),在相鄰區(qū)間[xi-1,xi]和[xi,xi+1]上的公共點(diǎn) xi處有相同值,即
由(9)式得
結(jié)合邊界條件:
得到 n-2 個(gè)方程組,求解得到 m1,m2,...,mn的值,對(duì)mi連續(xù)兩次積分求得三次樣條插值函數(shù)在各小區(qū)間對(duì)應(yīng)的子函數(shù)S(xi)[7-8]。
圖2為三次樣條曲線插值法擬合的曲線,通過(guò)對(duì)比圖1所示的分段線性插值擬合的傳感器特性曲線,從兩條擬合曲線的比較可以看出:三次樣條插值曲線更能夠符合實(shí)際傳感器傳遞特性。
圖2 三次樣條曲線插值法擬合曲線
實(shí)驗(yàn)選用BS10系列絕壓傳感器為研究對(duì)象,18B20溫度傳感器檢測(cè)系統(tǒng)環(huán)境溫度,采用高精度的16位AD轉(zhuǎn)換器AD7705對(duì)傳感器輸出信號(hào)進(jìn)行采集和轉(zhuǎn)換,配合控制單元STC89C58構(gòu)成數(shù)據(jù)采集系統(tǒng)對(duì)傳感器的輸出信號(hào)進(jìn)行分析和驗(yàn)證。數(shù)據(jù)采集系統(tǒng)實(shí)物圖如圖3所示。
溫度補(bǔ)償實(shí)驗(yàn)開(kāi)始前需要對(duì)傳感器進(jìn)行全溫度范圍內(nèi)的靜態(tài)特性標(biāo)定,溫度標(biāo)定范圍:-20℃~+60℃。在每個(gè)標(biāo)定的溫度點(diǎn)施加標(biāo)準(zhǔn)壓力,壓力標(biāo)定范圍:1014.0~3014.0hPa,測(cè)得補(bǔ)償前傳感器輸出數(shù)據(jù)如表1所示,得到99個(gè)標(biāo)定數(shù)值[9]。
由標(biāo)定數(shù)據(jù)可以看到,在同一標(biāo)定壓力下,傳感器輸出數(shù)據(jù)隨著溫度的升高而減小,說(shuō)明傳感器發(fā)生了溫度漂移,為了保證其應(yīng)用范圍,必須進(jìn)行溫度補(bǔ)償。
圖3 采集系統(tǒng)實(shí)物圖
下面舉例說(shuō)明三次樣條曲線插值的具體補(bǔ)償步驟。例如,環(huán)境溫度為8℃,傳感器輸入壓力為1514.0 hPa,以傳感器輸出數(shù)值來(lái)說(shuō)明二維插值過(guò)程。輸入壓力為1514.0 hPa時(shí),對(duì)應(yīng)固定溫度下各條特性曲線的第三個(gè)區(qū)間[1414.0,1614.0]。所以,先求出不同溫度時(shí)的各條特性曲線的第三小區(qū)間[1414.0,1614.0]的三次樣條系數(shù)。而后,將1514.0 hPa代入這些小區(qū)間的三次樣條系數(shù)求出在不同溫度時(shí)此壓力下所對(duì)應(yīng)的傳感器輸出數(shù)值,如表2所示。
最后,對(duì)所得不同溫度下P=1514.0 hPa時(shí)傳感器的輸出數(shù)值和各溫度點(diǎn)進(jìn)行三次樣條插值,得到各溫度區(qū)間下P=1514.0hPa時(shí)的傳感器輸出數(shù)值的函數(shù)關(guān)系式,各溫度區(qū)間的三次樣條多項(xiàng)式系數(shù)如表3所示。
表1 補(bǔ)償前傳感器靜態(tài)輸出數(shù)據(jù)
表2 各溫度點(diǎn)在第三小區(qū)間的三次樣條系數(shù)及對(duì)應(yīng)結(jié)果
表3 計(jì)算結(jié)果對(duì)溫度三次樣條插值后各區(qū)間系數(shù)
將t=8℃代入?yún)^(qū)間 [0,10]所對(duì)應(yīng)的三次樣條插值函數(shù)即可求出此時(shí)的傳感器輸出數(shù)值。 -0.00075×(8-0)3+0.00823×(8-0)2-4.517×(8-0)+1712.2=1676.2。 這樣就建立了標(biāo)定溫度、標(biāo)定壓力和傳感器輸出數(shù)值的一一對(duì)應(yīng)關(guān)系,如果未補(bǔ)償時(shí)傳感器的輸出數(shù)據(jù)是1676.2 hPa,則經(jīng)過(guò)補(bǔ)償后傳感器的輸出數(shù)據(jù)應(yīng)該為此時(shí)的標(biāo)準(zhǔn)壓力1514.0 hPa。
分段線性插值法的補(bǔ)償方法與三次樣條曲線插值的補(bǔ)償方法基本相同,只是將三次樣條的曲線擬合為只有一次項(xiàng)的直線,由于這種方法是利用直線段來(lái)代表傳感器的實(shí)際特性曲線,所以在實(shí)際的操作過(guò)程中難免造成較大誤差[5]。
進(jìn)行溫度補(bǔ)償后的傳感器在各插值節(jié)點(diǎn)處的誤差理論上來(lái)說(shuō)會(huì)是零,為了正確的檢測(cè)溫度補(bǔ)償后傳感器的性能指標(biāo),選取各插值節(jié)點(diǎn)的中點(diǎn)作為檢測(cè)傳感器性能的檢測(cè)點(diǎn)[10],是利用分段線性插值法和三次樣條曲線插值法兩種補(bǔ)償方法后的傳感器輸出數(shù)據(jù)在各檢測(cè)點(diǎn)的誤差分布見(jiàn)圖4。
圖4 兩種溫度補(bǔ)償后的傳感器誤差分布
分段線性插值法進(jìn)行傳感器溫度補(bǔ)償后的,其最大誤差分布在5℃、2914.0 hPa處,最大誤差1.9hPa,對(duì)應(yīng)傳感器精度0.095%;三次樣條插值法對(duì)傳感器進(jìn)行溫度補(bǔ)償后,最大誤差分布在-15℃、2714.0 hPa處,最大誤差0.9 hPa,對(duì)應(yīng)傳感器精度0.045%。
介紹了基于三次樣條曲線插值算法的傳感器溫度補(bǔ)償方法,并且結(jié)合了全溫度范圍內(nèi)的傳感器標(biāo)定數(shù)據(jù)詳細(xì)的闡明了三次樣條曲線插值法的具體操作步驟,實(shí)現(xiàn)了傳感器在全溫度范圍內(nèi)的高精度補(bǔ)償,這在國(guó)內(nèi)已有的文章中并不多見(jiàn)。同時(shí)對(duì)比了分段線性插值法溫度補(bǔ)償后的傳感器誤差分布情況,證實(shí)了三次樣條曲線插值算法的有效性。該方法對(duì)于其他的數(shù)據(jù)采集系統(tǒng)精度的提升有一定的借鑒意義。
[1]胡帆,陳正一.PTB220 系列數(shù)字式氣壓表的原理與應(yīng)用[J].氣象水文海洋儀器,2008,2:64-67.
[2]張偉星,王曉蕾,陳曉穎,等.電子探空儀氣壓傳感器特性[J].解放軍理工大學(xué)學(xué)報(bào):自然科學(xué)版,2001,12(6):696-701.
[3]楊雪,劉詩(shī)斌.壓力傳感器溫度補(bǔ)償各種算法的比較分析[J].電子設(shè)計(jì)工程,2013,21(10):90-92.
[4]陳曉穎,宋愛(ài)國(guó),李建清,等.遺傳算法在硅壓阻氣壓傳感器溫度補(bǔ)償中的應(yīng)用[J].測(cè)控技術(shù),2010,29(S):305-308.
[5]趙航,張大力.高溫環(huán)境下壓力傳感器的溫度補(bǔ)償方法研究[J].儀器儀表裝置,2012,27(8):18-21.
[6]李新.三次樣條插值在稱重儀表誤差補(bǔ)償中的應(yīng)用[J].電子設(shè)計(jì)工程, 2011(11):48-51.
[7]林成森.數(shù)值計(jì)算方法[M].北京:科學(xué)出版社,1998:152-167.
[8]WANG XIAOJIA, YANG SHANLIN.Dynamic GM (1,1) Model based on cubic spline for electricity consumption prediction in smart grid[J].China Communications, 2010(10):83-88.
[9]何偉銘,蔣超偉,井原透.高精度傳感器標(biāo)定曲線的預(yù)測(cè)擬合[J].傳感技術(shù)學(xué)報(bào),2013,26(11):1519-1524.
[10]高磊,馬英輝,劉祎,等.高精度硅壓阻式氣壓計(jì)設(shè)計(jì)[J].工礦自動(dòng)化,2013,39(12):21-25.