摘要:介紹了采用三次樣條曲線插值方法對(duì)稱(chēng)重儀表的非線性誤差進(jìn)行修正的方法,該修正方法對(duì)于線性誤差較大的傳感器有很好的補(bǔ)償效果,在某些測(cè)量精度較高的場(chǎng)合采用三次樣條曲線插值可以獲得比流行的多段折線線性補(bǔ)償方法更高的精度。通過(guò)對(duì)一款5位半儀表采用三種誤差處理方法比較,驗(yàn)證了三次樣條曲線插值誤差補(bǔ)償方法對(duì)傳感器誤差的補(bǔ)償效果。該方法對(duì)于其他的數(shù)據(jù)采集系統(tǒng)精度提升有一定的借鑒意義。
一般而言,稱(chēng)重儀表首先接受力敏傳感器的輸出信號(hào),然后對(duì)該輸出信號(hào)作放大、濾波等處理后進(jìn)行AD轉(zhuǎn)換,然后AD轉(zhuǎn)換值送CPU(MCU)處理,儀表根據(jù)CPU處理結(jié)果執(zhí)行相應(yīng)的功能。對(duì)于力敏傳感器,包括絕大多數(shù)類(lèi)型的傳感器在使用過(guò)程中一般作為線性傳感器來(lái)使用,而傳感器從輸入輸出關(guān)系來(lái)說(shuō)實(shí)際上都是非線性的,而將非線性的傳感器作為線性來(lái)處理自然帶來(lái)一定的非線性誤差,而對(duì)于一款儀表而言,當(dāng)設(shè)計(jì)的硬件電路較為合理時(shí),儀表的系統(tǒng)誤差主要取決于傳感器的誤差。這種將非線性的傳感器按照線性處理的方法帶來(lái)的結(jié)果便是:在數(shù)據(jù)采集系統(tǒng)中采集到的數(shù)據(jù)和實(shí)際的被測(cè)量之間存在著不一致的現(xiàn)象,不一致現(xiàn)象越嚴(yán)重則數(shù)據(jù)采集系統(tǒng)的誤差就越大,這對(duì)于數(shù)據(jù)采集系統(tǒng)尤其是高精度的數(shù)據(jù)采集系統(tǒng)是要竭力避免的。
1 傳感器輸入輸出模型
通常情況下,傳感器在使用時(shí)將輸入輸出關(guān)系近似認(rèn)為是線性關(guān)系,這樣做的優(yōu)點(diǎn)為:
1)可大大簡(jiǎn)化傳感器的理論分析和設(shè)計(jì)計(jì)算;
2)為標(biāo)定和數(shù)據(jù)處理帶來(lái)很大方便,只要知道傳感器的輸入輸出特性曲線上的兩點(diǎn)(如零點(diǎn)和滿(mǎn)程)就可以確定其他點(diǎn)的輸入輸出對(duì)應(yīng)關(guān)系;
3)避免了非線性補(bǔ)償環(huán)節(jié),減少了數(shù)據(jù)采集系統(tǒng)的軟硬件復(fù)雜度。
但是,傳感器輸入輸出的實(shí)際模型為:
式中:a0——傳感器的零點(diǎn)輸出;a1——傳感器的線性靈敏度;a2…an——傳感器的非線性系數(shù);y——傳感器的輸出。
由式(1)可知,由于傳感器的輸入輸出關(guān)系遵循非線性關(guān)系,當(dāng)不論采用何種線性擬合的方式,從原理上來(lái)說(shuō)任何擬合直線都不能真實(shí)地反映傳感器的實(shí)際輸入輸出關(guān)系,在某些場(chǎng)合下,尤其是高精度的數(shù)據(jù)采集系統(tǒng),采用的傳感器線性度不高時(shí),采用直線擬合帶來(lái)的誤差難以忽略。當(dāng)數(shù)據(jù)采集精度要求高時(shí),尋求盡可能反映傳感器的輸入輸出關(guān)系曲線即對(duì)傳感器進(jìn)行誤差補(bǔ)償就非常重要。根據(jù)傳感器在實(shí)際標(biāo)定時(shí)采用的方法(將滿(mǎn)量程等分為若干點(diǎn)進(jìn)行標(biāo)定),采用樣條曲線插值是一種較為行之有效的方法。
2 稱(chēng)重儀表的基本系統(tǒng)結(jié)構(gòu)
儀表的硬件系統(tǒng)結(jié)構(gòu)基本上如圖1所示。首先由信號(hào)調(diào)理模塊對(duì)傳感器的輸出信號(hào)進(jìn)行放大、濾波等處理后送AD轉(zhuǎn)換器進(jìn)行AD轉(zhuǎn)換,CPU對(duì)AD轉(zhuǎn)換的結(jié)果進(jìn)行相應(yīng)的處理后根據(jù)處理的結(jié)果來(lái)控制相應(yīng)的模塊。通常情況下,在對(duì)傳感器的信號(hào)進(jìn)行處理時(shí),如前文所述,傳感器的輸入輸出關(guān)系基本上按照線性來(lái)處理,而傳感器的輸入輸出關(guān)系實(shí)際上是非線性關(guān)系,如何盡可能降低非線性因素對(duì)系統(tǒng)精度的影響,對(duì)于高精度的數(shù)據(jù)采集系統(tǒng)而言,簡(jiǎn)單的線性處理是不夠的。一般的稱(chēng)重儀表內(nèi)部的硬件結(jié)構(gòu)示意圖如圖1所示。
3 樣條曲線插位方法
3.1 三次樣條插值函數(shù)
當(dāng)插值節(jié)點(diǎn)很多時(shí),使用高次多項(xiàng)式插值并不能得到好的結(jié)果,因而一般采用分段插值法,即將插值區(qū)間分成若干個(gè)小區(qū)間,然后在每個(gè)小區(qū)間上使用次數(shù)較低的多項(xiàng)式進(jìn)行插值。一般的分段插值法有一個(gè)嚴(yán)重的缺點(diǎn),就是會(huì)導(dǎo)致插值函數(shù)在子區(qū)間的端點(diǎn)處不光滑,而樣條曲線插值就不存在這個(gè)問(wèn)題。三次樣條插值由分段三次曲線連接而成,在連接點(diǎn)處有二階連續(xù)導(dǎo)數(shù),從而可以保證在連接點(diǎn)處光滑連接。
設(shè)函數(shù)f(x)在區(qū)間[a,b]上給定n+1個(gè)插值節(jié)點(diǎn):a=x0
1)S(x)在每個(gè)小區(qū)間[xj,xj+1]上是三次多項(xiàng)式j(luò)=0,1…,n-1;
2)S(x)在每個(gè)小區(qū)間[a,b]上具有連續(xù)二階導(dǎo)數(shù);
3)S(xj)=f(xj),j=0,1…n(2)則S(x)為函數(shù)f(x)的三次樣條插值函數(shù)。
3.2 三次樣條插值函數(shù)求法
記S"(xj)=Mj,S(xj)=yi,hj=xj+1-xj,由三次樣條插值函數(shù)定義知,三次樣條函數(shù)的二階導(dǎo)數(shù)S"(xj)在每個(gè)小區(qū)間[xj,xj+1]是一次線性函數(shù),如果已知在小區(qū)間兩個(gè)端點(diǎn)的值,則S"(x)的在小區(qū)間[xj,xj+1]表達(dá)式可表示為:
<img src="http://files.chinaaet.com/images/2012/02/24/6bb64ee5-1c2b-4e70-a09b-40fff882a1cf.jpg" _cke_saved_src="http://files.chinaaet.com/images/2012/02/24/6bb64ee5-1c2b-4e70-a09b-40fff882a1cf.jpg" alt="S" (x)的在小區(qū)間[xj,xj+1]表達(dá)式"=""></p><p> </p><p>其中的f[xj,xj+1]是關(guān)于節(jié)點(diǎn)xj,xj+1的一階差商。對(duì)于各個(gè)區(qū)間內(nèi)的三次樣條插值函數(shù)可以通過(guò)采用追趕法對(duì)三彎矩方程組求得樣條函數(shù)的系數(shù)Mj,然后將系數(shù)Mj代入公式(4)求得,具體介紹可參看參考文獻(xiàn)。</p><p></p><p>4 稱(chēng)重儀表的三次樣條插值誤差補(bǔ)償</p><p></p><p>4.1 基于三次樣條插值的誤差補(bǔ)償方法</p><p></p><p>對(duì)儀表進(jìn)行三次樣條插值誤差補(bǔ)償?shù)姆椒ê筒襟E為:</p><p></p><p>1)首先將傳感器的滿(mǎn)量程劃分為若干段(一般為等間距劃分),確定插值節(jié)點(diǎn);</p><p></p><p>2)給傳感器在各個(gè)插值節(jié)點(diǎn)處施加標(biāo)準(zhǔn)載荷,記錄此時(shí)的ADC轉(zhuǎn)換值和實(shí)際顯示值,根據(jù)理想的顯示值和實(shí)際顯示值求得一偏移量和ADC轉(zhuǎn)換值求代數(shù)和,將此值作為該插值節(jié)點(diǎn)的輸入值xj;</p><p></p><p>3)將各個(gè)插值節(jié)點(diǎn)處的儀表應(yīng)該顯示的值(理想顯示值)作為輸出值yj;</p><p></p><p>4)根據(jù)各節(jié)點(diǎn)處的xj和yj求得各個(gè)區(qū)間上的三次樣條插值函數(shù)Sj(x);判斷ADC的實(shí)時(shí)轉(zhuǎn)換值x所處的具體區(qū)間,按照該區(qū)間的三次樣條插值函數(shù)計(jì)算儀表的實(shí)際顯示值即實(shí)時(shí)載荷值;</p><p></p><p>4. 2 實(shí)驗(yàn)數(shù)據(jù)處理和分析</p><p></p><p>采用一款已經(jīng)研制完成的五位半精度的儀表對(duì)傳感器的信號(hào)進(jìn)行分析和驗(yàn)證。</p><p></p><p>本款儀表采用高精度的24位AD轉(zhuǎn)換器AD7190對(duì)傳感器信號(hào)進(jìn)行數(shù)模轉(zhuǎn)換,MCU采用TI公司的MSP430F149。</p><p></p><p>AD7190是ADI公司最新推出的具有業(yè)內(nèi)最高精度之一的∑—△型AD轉(zhuǎn)換器,其非線性誤差最低僅為0.000 5%,峰值轉(zhuǎn)換速率可達(dá)到4.8 kHz,且具有極低的溫漂和轉(zhuǎn)換噪聲等性能。當(dāng)內(nèi)部PGA為1時(shí)可以達(dá)到高達(dá)22.5bit的無(wú)噪聲輸出,實(shí)際設(shè)計(jì)時(shí),選取19位有效位(已經(jīng)超出5位半顯示精度要求)。同時(shí)AD7190內(nèi)部自帶有零點(diǎn)校準(zhǔn)功能和增益校準(zhǔn)功能,通過(guò)軟件編程可方便地根據(jù)實(shí)際情況對(duì)內(nèi)部的零點(diǎn)校準(zhǔn)寄存器和增益校準(zhǔn)寄存器進(jìn)行操作。</p><p></p><p>傳感器輸出的差動(dòng)信號(hào)首先經(jīng)過(guò)高精密雙運(yùn)放OP2177實(shí)現(xiàn)倍數(shù)為64倍的差動(dòng)放大,AD7190的內(nèi)部PGA設(shè)為2,這樣可以實(shí)現(xiàn)對(duì)傳感器輸出信號(hào)實(shí)現(xiàn)具有極低噪聲的128倍放大,選取19位有效位時(shí)可以實(shí)現(xiàn)不跳碼的AD轉(zhuǎn)換字輸出,而這是實(shí)現(xiàn)高精度誤差補(bǔ)償非常關(guān)鍵的要素。儀表內(nèi)部具有軟件集成的三次樣條插值非線性補(bǔ)償模塊。實(shí)際使用時(shí),只要打開(kāi)該補(bǔ)償模塊,給傳感器分別施加若干個(gè)標(biāo)準(zhǔn)重量,再通過(guò)相應(yīng)的儀表操作便可以實(shí)現(xiàn)對(duì)傳感器的非線性誤差修正。</p><p></p><p>MSP430F149是TI公司生產(chǎn)的高性能的基于RISC體系結(jié)構(gòu)的混合信號(hào)16位單片機(jī),具有較強(qiáng)的數(shù)據(jù)處理運(yùn)算能力,32 kB的FLASH和2 kB的SRAM保證了足夠的代碼空間和數(shù)據(jù)存儲(chǔ)空間。</p><p></p><p>儀表內(nèi)部信號(hào)調(diào)理模塊結(jié)構(gòu)示意圖如圖2。</p><p></p><p></p><p><img src="http://files.chinaaet.com/images/2012/02/24/21842371-7f56-4eca-9639-895228b558fe.jpg" _cke_saved_src="http://files.chinaaet.com/images/2012/02/24/21842371-7f56-4eca-9639-895228b558fe.jpg" alt="儀表內(nèi)部信號(hào)調(diào)理模塊結(jié)構(gòu)示意圖"></p><p></p><p> <br> </p><p></p><p>稱(chēng)重儀表三次樣條插值非線性補(bǔ)償?shù)木唧w的工作原理和工作過(guò)程見(jiàn)前文所述。</p><p></p><p>為方便和簡(jiǎn)化數(shù)據(jù)處理和分析過(guò)程,選取一量程為9公斤的力敏傳感器,在給傳感器施加載荷前先進(jìn)行儀表的零點(diǎn)校準(zhǔn)和系統(tǒng)校準(zhǔn)(即對(duì)AD7190進(jìn)行偏移和增益校準(zhǔn)),使得空載時(shí)為0,滿(mǎn)程時(shí)為90 000。依次對(duì)傳感器施加1公斤的標(biāo)準(zhǔn)砝碼(即將傳感器的滿(mǎn)量程等分為9個(gè)區(qū)間),將實(shí)時(shí)的ADC轉(zhuǎn)換器的轉(zhuǎn)換值直接讀出,得到的一組數(shù)據(jù)如表1。</p><p></p><p></p><p><img src="http://files.chinaaet.com/images/2012/02/24/0f84f519-8d83-45e5-a5e7-0d7094fe40f8.jpg" _cke_saved_src="http://files.chinaaet.com/images/2012/02/24/0f84f519-8d83-45e5-a5e7-0d7094fe40f8.jpg" alt="ADC轉(zhuǎn)換器的轉(zhuǎn)換值"></p><p></p><p>對(duì)表1的數(shù)據(jù)分別采用不補(bǔ)償、分段線性補(bǔ)償(通常的儀表內(nèi)部的折線功能)、三次樣條插值補(bǔ)償方法進(jìn)行處理,然后對(duì)傳感器施加載荷,由于對(duì)儀表采用三次樣條插值和分段線性插值補(bǔ)償后,在插值節(jié)點(diǎn)處的誤差為零,所以選取載荷為各個(gè)分段區(qū)間的中間值,得到的數(shù)據(jù)如表2所示。</p><p></p><p></p><p><img src="http://files.chinaaet.com/images/2012/02/24/d2924475-b512-4d7f-9935-781120fee2a3.jpg" _cke_saved_src="http://files.chinaaet.com/images/2012/02/24/d2924475-b512-4d7f-9935-781120fee2a3.jpg" alt="各個(gè)分段區(qū)間的中間值"></p><p></p><p>其中的分段線性補(bǔ)償是目前儀表較為流行的一種誤差補(bǔ)償方法,其思想和三次樣條插值誤差補(bǔ)償?shù)乃枷牖疽粯樱瑑烧叩牟顒e是分段線性補(bǔ)償在各個(gè)分段區(qū)間內(nèi)進(jìn)行線性計(jì)算,而三次樣條插值誤差補(bǔ)償在各個(gè)分段區(qū)間內(nèi)進(jìn)行非線性計(jì)算。分段線性補(bǔ)償處理方法相對(duì)簡(jiǎn)單,對(duì)傳感器的非線性誤差有一定的補(bǔ)償作用,但對(duì)于高精度的數(shù)據(jù)采集系統(tǒng)該方法有時(shí)難以達(dá)到精度要求。</p><p></p><p>三種處理方法誤差曲線分布如圖3所示。</p><p></p><p></p><p><img src="http://files.chinaaet.com/images/2012/02/24/3fa42332-e06e-4d22-929b-c07548f9775d.jpg" _cke_saved_src="http://files.chinaaet.com/images/2012/02/24/3fa42332-e06e-4d22-929b-c07548f9775d.jpg" alt="三種處理方法誤差曲線分布"></p><p></p><p>由表2和圖3可得:</p><p></p><p>1)未補(bǔ)償時(shí),該儀表的滿(mǎn)量程非線性誤差為:119/90000=0.13%FS;其絕對(duì)誤差在2 Kg處達(dá)到最大值119,在1 Kg處的相對(duì)誤差達(dá)剄最大值0.8%;</p><p></p><p>2)采用分段線性補(bǔ)償時(shí),該儀表的滿(mǎn)量程非線性誤差為:40/90000=0.044%FS;其絕對(duì)誤差在2.5 Kg處達(dá)到最大值40,0.5 Kg處的相對(duì)誤差達(dá)到最大值0.18%;</p><p></p><p>3)采用三次樣條插值補(bǔ)償時(shí),該儀表的滿(mǎn)量程非線性誤差為:13/90000=0.014%;其中絕對(duì)誤差在7.5 Kg處達(dá)到最大值13,在0.5 Kg處達(dá)到相對(duì)誤差最大值0.08%;</p><p></p><p>5 結(jié)論</p><p></p><p>通過(guò)三次祥條插值函數(shù)對(duì)儀表進(jìn)行補(bǔ)償可以得到較高的精度,滿(mǎn)量程非線性誤差、滿(mǎn)量程內(nèi)最大相對(duì)誤差和最大誤差都得到很好的改善,即使是傳感器在低端呈現(xiàn)凹形特征和高端呈現(xiàn)凸形特征較為嚴(yán)重的情況下依然可以得到較高的精度,相比于分段線性補(bǔ)償,其補(bǔ)償?shù)木纫泊鬄樘岣?。?dāng)插值點(diǎn)較少時(shí),三次樣條插值誤差補(bǔ)償?shù)木纫确侄尉€性插值的誤差要小得多。采用三次樣條插值函效對(duì)儀表或其他的數(shù)據(jù)采集系統(tǒng)的誤差進(jìn)行補(bǔ)償,除了可似很大程度上減少傳感器非線性對(duì)精度的影響,還可以降低信號(hào)調(diào)理電路和AD轉(zhuǎn)換器對(duì)系統(tǒng)精度的影響。</p><p></p><p>同時(shí)應(yīng)注意到,對(duì)于有較高精度要求的數(shù)據(jù)采集系統(tǒng),為獲得較好的三次樣條插值誤差補(bǔ)償效果,高精度的信號(hào)調(diào)理電路、AD轉(zhuǎn)換器的穩(wěn)定性是至關(guān)重要的。</p><p></p><p>另外適當(dāng)選取插值節(jié)點(diǎn)數(shù)也非常關(guān)鍵,節(jié)點(diǎn)數(shù)選擇過(guò)少,達(dá)不到較好的補(bǔ)償效果,節(jié)點(diǎn)數(shù)過(guò)多不但造成計(jì)算量加大,還有可能造成在某些分段區(qū)間誤差過(guò)大,從而達(dá)不到很好的補(bǔ)償效果。一般的插值節(jié)點(diǎn)數(shù)選擇在10~25個(gè)左右為宜。</p><p> <br> </p><p></p>