劉 歡, 魏榕山
(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350116)
壓力傳感器是現(xiàn)實(shí)生活中最常用的一種傳感器,其廣泛應(yīng)用于各種工業(yè)控制、汽車電子、醫(yī)療設(shè)備等多種領(lǐng)域。但由于傳感器半導(dǎo)體材料的物理特性,其受溫度影響較大,會(huì)出現(xiàn)明顯的零點(diǎn)和靈敏度的漂移[1],尤其是在高溫區(qū)間出現(xiàn)溫漂現(xiàn)象更明顯,所以,必須要對壓力傳感器進(jìn)行溫度補(bǔ)償,盡可能降低甚至消除溫漂對其的影響。
目前常用的補(bǔ)償方法主要是硬件電路補(bǔ)償和軟件算法補(bǔ)償兩種,硬件電路補(bǔ)償方法主要有在橋臂上串并聯(lián)合適的恒定電阻器的方法,橋外串并聯(lián)熱敏電阻器的方法以及雙電橋補(bǔ)償技術(shù)等。但用硬件電路進(jìn)行校正大都存在電路復(fù)雜、調(diào)試?yán)щy、精度低、通用性差、成本高等缺點(diǎn),不利于工程實(shí)際應(yīng)用[2~4]。軟件算法補(bǔ)償主要是通過實(shí)驗(yàn)的方法來確定壓力傳感器的靜態(tài)特性,將微處理器和壓力傳感器結(jié)合起來,充分利用豐富的軟件功能、結(jié)合一定的補(bǔ)償算法對傳感器溫度的附加誤差進(jìn)行修正[5]。軟件算法補(bǔ)償[6~9]因其具有高精度和低成本而更多用于實(shí)際工程。
根據(jù)壓力傳感器通常在高溫段會(huì)受到影響較大的特性,本文提出一種基于多項(xiàng)式曲線擬合和牛頓差值以及三次樣條插值的補(bǔ)償算法模型。在高溫段使用補(bǔ)償效果更好的最小二乘法曲線擬合結(jié)合三次樣條插值算法,在低常溫段則使用計(jì)算相對簡單的曲線擬合結(jié)合牛頓插值算法。
Newton法是靠不停迭代來逼近函數(shù)方程的解,實(shí)際上是通過曲線一系列切線與x軸的交點(diǎn)的橫坐標(biāo)來逼近曲線與x軸交點(diǎn)的橫坐標(biāo)。
設(shè)函數(shù)f(x)在[a,b]上有定義,對于n+1個(gè)節(jié)點(diǎn)(xj,yj),j=0,1,…,n其中xj∈[a,b]互不相同,滿足f(xj)=yj,j=0,1,…,n,對任意x∈[a,b]由一階差商的定義
(1)
則
f(x)=f(x0)+f[x,x0](x-x0)
(2)
類似地通過求各階的差商,遞推得到
f(x)=f(x0)+f[x0,x1](x-x0)+…+f(x0,x1,x2,…,
xn)(x-x0)(x-x1)…(x-xn-1)+…
=Pn(x)+Rn(x)
(3)
Pn(x)=f(x0)+f(x0,x1)(x-x0)+…+f(x0,x1,x2,…,
xn)(x-x0)(x-x1)…(x-xn-1)
(4)
式中Pn(x)為次數(shù)不高于n的x的多項(xiàng)式,可以驗(yàn)證Pn(xi)=f(xi)(i=0,1,…,n)。Pn(x)為過n+1個(gè)節(jié)點(diǎn)的f(x)的n階牛頓插值多項(xiàng)式。Rn(x)為插值多項(xiàng)式的余項(xiàng)。
設(shè)區(qū)間[a,b]上給定一組節(jié)點(diǎn)X:a=x0 假定S″(xj)=Mj(j=0,1,…,n),由于S(x)在區(qū)間[xj,xj+1]上是三次多項(xiàng)式,所以,S″(x)在[xj,xj+1]上是線性函數(shù),表示為 (5) 對S″(x)積分2次并利用S(xj)=yj,S(xj+1)=yj+1得 (6) 求出Mj(j=0,1,…,n)即可得到所求的三次樣條插值函數(shù)S(x)。 利用條件(3)可知,S(x)在節(jié)點(diǎn)xj(j=1,2,…,n-1)處應(yīng)該滿足連續(xù)性條件,S(xj-0)=S(xj+0),S″(xj-0)=S′(xj+0),S″(xj-0)=S″(xj+0),再加上相應(yīng)的邊界條件可得到關(guān)于Mj(j=0,1,…,n)的三對角方程組,利用追趕法可求得唯一解。 軟件補(bǔ)償是將微處理器和壓力傳感器結(jié)合,通過收集壓力傳感器的相關(guān)數(shù)據(jù)導(dǎo)入處理器,利用微處理器的處理能力,通過存儲(chǔ)于處理器中的補(bǔ)償算法對數(shù)據(jù)進(jìn)行校準(zhǔn)處理,將校準(zhǔn)后的結(jié)果輸出。不管采用何種軟件補(bǔ)償方法,其硬件系統(tǒng)的架構(gòu)是相似的,不同的地方在于算法[13]。 硬件系統(tǒng)架構(gòu)采用自主流片的MC8051核作為中央微處理器,考慮由于ROMIP價(jià)格過于昂貴,故采用外接64 kB片外ROM,校準(zhǔn)算法直接通過編程器燒入ROM,整體架構(gòu)如圖2所示。通過在ROM中設(shè)定溫度閾值,根據(jù)壓力傳感器的當(dāng)前溫度選擇相應(yīng)的補(bǔ)償算法模型。 圖1 硬件系統(tǒng)結(jié)構(gòu) 實(shí)驗(yàn)選定一種最大量程為10 kPa的壓力傳感器,在溫度分別為0,15,30,40,50,60 ℃,壓力值0,4,8 kPa下進(jìn)行標(biāo)定,得到6×3組標(biāo)定點(diǎn)?;跇?biāo)定的數(shù)據(jù)點(diǎn)選擇合適的算法要求出溫度T,壓力p以及壓力傳感器的實(shí)際輸出電壓u三者之間的函數(shù)關(guān)系為 p=f(u,T) (7) 在不同節(jié)點(diǎn)i處根據(jù)對應(yīng)溫度T和實(shí)際電壓輸出u計(jì)算得到的p*稱為被測校準(zhǔn)值,其和i處實(shí)際壓力值p之間的誤差Δp=p*-p,在整個(gè)測量范圍內(nèi)的最大誤差為Δpmax,則相對于傳感器滿量程pFS的綜合誤差[14]為 (8) 首先固定溫度T不變,對壓力p和輸出電壓u進(jìn)行多項(xiàng)式擬合,得到pn=fn(u)。選定0,15,30 ℃為低常溫區(qū)間,將測得的實(shí)際電壓分別帶入第一步的線性p-U函數(shù),從而得到不同標(biāo)定溫度相對應(yīng)的輸出壓力p值。對此區(qū)間溫度T和p運(yùn)用二階牛頓插值算法 p=f(T0)+f(T0,T1)(T-T0)+ f(T0-T1,T2)(T-T0)(T-T1) (9) 同理,對于高溫區(qū)間30,40,50,60 ℃,對溫度T和壓力p分別運(yùn)用三次樣條插值算法,因?yàn)橐阎猵(T)滿足三次樣條插值的上述三個(gè)條件,且兩個(gè)兩端自然邊界p″(T0)=0,p″(Tn)=0,根據(jù)公式可以求得Mj(j=0,1,…,n)的值,從而得到關(guān)于溫度T的p(T)。壓力p也是根據(jù)第一步曲線擬合函數(shù),由傳感器實(shí)際輸出電壓u得到,所以綜合最小二乘法曲線擬合函數(shù)和三次樣條插值函數(shù)即可得到關(guān)于T,u,p三者之間的關(guān)系。 根據(jù)多項(xiàng)式擬合最小二乘法原理,可以得到不同溫度T下的pn=fn(u),曲線擬合函數(shù)通過在MATLAB中編程實(shí)現(xiàn)。根據(jù)標(biāo)定的數(shù)據(jù)點(diǎn)在圖2的分布可以看出壓力和傳感器輸出電壓呈線性關(guān)系。 圖2 不同溫度下傳感器輸出特性 由標(biāo)定的數(shù)據(jù)根據(jù)上述牛頓差值和三次樣條差值原理可求得各項(xiàng)系數(shù),最終得到p,T,u三者之間的函數(shù)關(guān)系表達(dá)式,即建立了補(bǔ)償算法模型。 對建立的溫度補(bǔ)償算法模型進(jìn)行驗(yàn)證,低常溫段選定3個(gè)溫度點(diǎn)5,10,20 ℃進(jìn)行測試,高溫段選定35,45,55 ℃進(jìn)行測試。收集輸出電壓代入補(bǔ)償算法模型做溫度補(bǔ)償,得到補(bǔ)償結(jié)果。最終兩溫段校準(zhǔn)結(jié)果如表1所示。 表1 兩溫段補(bǔ)償校準(zhǔn)結(jié)果 對比標(biāo)準(zhǔn)壓強(qiáng)和經(jīng)過補(bǔ)償算法校準(zhǔn)后的壓強(qiáng)可以發(fā)現(xiàn),低常溫段測試結(jié)果的最大誤差為0.048 5 kPa,相對于傳感器滿量程的綜合誤差為 高溫段的測試結(jié)果最大誤差為0.009 5 kPa,相對于傳感器滿量程的綜合誤差為 根據(jù)一種實(shí)際壓力傳感器,基于最小二乘法擬合和牛頓差值以及三次樣條插值算法,設(shè)計(jì)了一種有效消除溫漂的校準(zhǔn)算法,尤其適用于經(jīng)常需要在相差較大的溫度下工作的壓力傳感器校準(zhǔn),校準(zhǔn)誤差在0.119 %以內(nèi),且充分考慮了成本,硬件計(jì)算能力以及運(yùn)行速度等問題,具有一定的實(shí)際工程應(yīng)用價(jià)值。2 溫度補(bǔ)償算法模型及數(shù)據(jù)分析
3 結(jié) 論