基于單片機(jī)的高精度壓力數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時隨地手機(jī)看文章
0 引言
在石油、化工、冶金、電力、紡織、輕工、水利等工業(yè)及科研領(lǐng)域中,都必須進(jìn)行相關(guān)的壓力檢測與分析。壓力傳感器測量誤差大小直接影響到測控系統(tǒng)的性能。擴(kuò)散硅壓阻式壓力傳感器是應(yīng)用最廣泛的壓力傳感器之一,它相當(dāng)于一個有四只電阻的橋路。半導(dǎo)體電阻有溫度系數(shù),會產(chǎn)生溫度誤差;傳感器的壓敏特性又有非線性誤差。因此,壓力傳感器在實(shí)際應(yīng)用中會有溫度和壓力誤差存在。利用壓力傳感器進(jìn)行高精度測量時,就要對壓力傳感器的誤差進(jìn)行補(bǔ)償。按照實(shí)現(xiàn)的條件可以將誤差的補(bǔ)償方法分為用硬件電路補(bǔ)償和在智能芯片或微機(jī)中以軟件方法實(shí)現(xiàn)補(bǔ)償。
本壓力數(shù)據(jù)采集系統(tǒng)在硬件上,采用AT89S52單片機(jī)控制X型精密硅壓式壓力傳感器MPX2100和高精度積分式A/D轉(zhuǎn)換器ICL7135等器件,對壓力信息進(jìn)行采集轉(zhuǎn)換;軟件上,在分析基于最佳擬合直線原理的壓力傳感器非線性補(bǔ)償模型的基礎(chǔ)上,對采集的壓力數(shù)據(jù)進(jìn)行非線性修正,實(shí)現(xiàn)壓力數(shù)據(jù)的高精度輸出。
1 硬件設(shè)計(jì)
1.1 系統(tǒng)結(jié)構(gòu)原理
基于單片機(jī)的壓力數(shù)據(jù)采集系統(tǒng)組成框圖如1所示。系統(tǒng)的壓力傳感器選用Motorola公司的高精度X型硅壓力傳感器MPX2100,轉(zhuǎn)換精度高、靈敏度高,具有極好的線性度,其輸出的模擬信號通過信號調(diào)理電路放大調(diào)理。調(diào)理后的模擬電量在AT89S52單片機(jī)的控制下,通過ICL7135進(jìn)行A/D轉(zhuǎn)換,可以保證系統(tǒng)具有高數(shù)據(jù)采集精度和很強(qiáng)的抗干擾能力,轉(zhuǎn)換后的數(shù)字量傳送給單片機(jī)進(jìn)行運(yùn)算及軟件補(bǔ)償?shù)忍幚?。最后將?shù)據(jù)顯示出來,同時可經(jīng)串行接口傳送到上位機(jī),實(shí)現(xiàn)良好的人機(jī)交換,鍵盤提供人機(jī)交互的手段。
1.2 壓力采集及信號變換
Motorola公司的X型硅壓力傳感器與擴(kuò)散硅壓阻式壓力傳感器的惠斯登電橋不同,其專利技術(shù)采用單個壓敏元件呈X型的電阻元件,因而稱為X型壓力傳感器。該X型電阻是利用離子注入工藝光刻在硅膜片上,并采用計(jì)算機(jī)控制的激光修正技術(shù),溫度補(bǔ)償技術(shù),使其精度很高,并具有極好的線性度和靈敏度。壓力信號經(jīng)高精度壓力傳感器MPX2100變?yōu)殡娦盘枺捎陔娦盘柋容^微弱,為防止傳輸過程的衰減影響系統(tǒng)精度,系統(tǒng)采用電流傳輸。采集信號經(jīng)過圖2電路調(diào)理后,變換成4~20mA的標(biāo)準(zhǔn)電流信號,通過CMOS型8選1多路開關(guān)CD4051選擇之后,輸出到A/D模塊ICL7135進(jìn)行高精度模數(shù)轉(zhuǎn)換。
在圖2所示電路中,IC1、IC2、IC3選用高精度運(yùn)算放大器OP07。第一級由運(yùn)放IC1、IC2構(gòu)成差動放大器,電位器RP1用來調(diào)節(jié)第一級輸出電壓的大?。浑妷旱诫娏鞯淖儞Q由IC3構(gòu)成增益為1的差動放大器完成,IC3連接三級管9013作為實(shí)際電流源來提供20mA電流輸出;為保證在使用很長傳輸線時仍達(dá)到良好的性能,所有相同阻值電阻之間應(yīng)匹配良好,且在電源與輸出端之間加上電容器C1、C2以防止振蕩。在無壓力時,只要調(diào)節(jié)RP2使在接受器上的電流為4mA;在滿度壓力時,調(diào)節(jié)RP1使在接受器上的電流恰好為20mA。從而保證硬件采集和傳輸過程的精度。
2 非線性誤差的補(bǔ)償
軟件補(bǔ)償是將微處理器與壓力傳感器結(jié)合起來,充分利用單片機(jī)豐富的軟件功能、結(jié)合一定的補(bǔ)償算法對傳感器的附加誤差進(jìn)行修正。常用的軟件補(bǔ)償算法有曲線擬合法和表格法。對于曲線擬合方法,常用的有最小二乘法和切比雪夫法。最小二乘擬合法又可分為最佳擬合直線法和多項(xiàng)式擬合曲線法。擬合的方法不同,擬合誤差就不同。一般來說,對于理論上輸入輸出為線性關(guān)系的傳感器,當(dāng)擬合的次數(shù)較低時, 采用最小二乘法的精度較高。考慮到一般測試儀器的實(shí)際測試精度要求以及計(jì)算機(jī)的數(shù)據(jù)運(yùn)算能力、存儲能力,我們采用低階的最小二乘法曲線擬合,對誤差加以修正。2.1最佳擬合直線補(bǔ)償原理x1 假設(shè)擬合直線的方程為y=kx+b,設(shè)被測物理量為,x2,…xn,相應(yīng)的測量結(jié)果為y1,y2,…,yn,則第i個測量數(shù)據(jù)與擬合直線上相應(yīng)值之間的殘差為:△i=yi-(kxi+b),最小二乘法擬合的原則是使為最小,即使從而求得:
根據(jù)校準(zhǔn)曲線上n個測量值,將式(1)和(2)編制計(jì)算程序,很快可得最小二乘方擬合直線的截距和斜率。
2.2 軟件實(shí)現(xiàn)
在軟件實(shí)現(xiàn)過程中,為更好的補(bǔ)償系統(tǒng)非線性誤差,我們在滿量程的壓力測量范圍內(nèi)等分若干工作區(qū)段,每段曲線用一段對應(yīng)的折線來代替,對每段折線可求出斜率k和截距b,得到線段的回歸方程:y=kix+bi式中,i為某段折線的序號,x為壓力傳感器采集的數(shù)據(jù)經(jīng)A/D轉(zhuǎn)換后的結(jié)果,y為修正輸出數(shù)值。
通過測量調(diào)試,得到系統(tǒng)測量參數(shù),預(yù)先將每段的特性數(shù)值存儲于單片機(jī)的程序存儲器中,在不同的工作區(qū)段,單片機(jī)自動地將對應(yīng)的每段的參數(shù)值調(diào)出進(jìn)行運(yùn)算修正處理。
修正計(jì)算子程序流程圖如下:
3 結(jié)果仿真
本文用Matlab對實(shí)驗(yàn)室的擴(kuò)散型壓力傳感器的測量數(shù)據(jù)做了仿真,如圖4所示。實(shí)驗(yàn)數(shù)據(jù)見下表。為了提高補(bǔ)償精度,最小二乘法擬合時將壓力數(shù)據(jù)范圍0~0.06Mpa平均分為3段,分段用最小二乘法的最佳擬合直線擬合。仿真結(jié)果說明這種補(bǔ)償方法可以更好的修正采集系統(tǒng)的誤差,有利與提高整個系統(tǒng)的精度。
4 結(jié)束語
本設(shè)計(jì)是一種通用的高精度壓力數(shù)據(jù)采集系統(tǒng),硬件采用Motorola公司專利技術(shù)的x型硅壓力傳感器采集數(shù)據(jù),經(jīng)過4~20mA電流電路調(diào)理,保證了硬件采集和傳輸過程的精度;軟件采用低階的最小二乘之最佳擬合直線方法擬合,對誤差加以修正,從而實(shí)現(xiàn)壓力數(shù)據(jù)的準(zhǔn)確采集。為提高軟件補(bǔ)償精度,采用量程范圍內(nèi)分段補(bǔ)償措施,仿真結(jié)果表明此方法精度更高。本設(shè)計(jì)主要解決了半導(dǎo)體壓力傳感器由于溫度漂移、零點(diǎn)漂移等引起的非線性誤差補(bǔ)償問題,提高了整個系統(tǒng)的測量精確度??蓮V泛地應(yīng)用于石油、化工、冶金、電力、紡織、輕工、水利等工業(yè)領(lǐng)域的壓力數(shù)據(jù)的采集、檢測和分析。