MPXM2010的壓力測控系統(tǒng)及其精度改進發(fā)方法
壓力測控系統(tǒng)是嵌入式應用中常見的應用模塊之一,被廣泛地應用于現(xiàn)代工業(yè)的各種測控系統(tǒng)中。本文介紹基于Freescale公司生產的壓力傳感器MPxM2010、微控制器68HC908QT4等低成本器件設計的壓力測控系統(tǒng),并在硬件成本幾乎不增加的情況下,通過搭配簡單的模擬電路和軟件上的編程,增加系統(tǒng)測量精度。文中對精度改進前后的系統(tǒng)做了數(shù)值計算上的比較,從具體數(shù)值上說明系統(tǒng)精度有明顯的提高。文中介紹的方法還可應用于A/D轉換的其他應用環(huán)境,對降低系統(tǒng)成本大有裨益。
關鍵詞:68HC908QT4 MPxM2010硅壓阻傳感器 A/D轉換精度提高
引 言
Freescale公司生產的MPXM2010器件是一種硅壓阻式壓力傳感器。MPXM20lO精度很高,輸出電壓與輸人的壓力具有良好的線性關系。這種傳感器是一塊單片集成電路,集成有壓力應變儀及膜阻網絡,并帶有激光式微調模塊進行溫度補償和偏移佼正微控制器68HC908QT4則是一款低端的8位微控制器,有4路8位的A/D轉換通道和16位的PWM模塊,可以用于A/D和D/A轉換。
將兩種芯片結合到一起可組成一套實用的低成本壓力測控系統(tǒng)。美中不足的是它的精度低了一些,如果將A/D位數(shù)提高則會使成本大大增加。通過硬件搭配和軟件上的編程可以彌補這一缺點,即不增加硬件開銷而且可以提高產品性能?!?/p>
1 壓力傳感器模塊設計
Freescale公司生產的MPXM2010器件是一種硅壓阻式壓力傳感器,其內部原理如圖l所示。MPXM2010精度很高,輸出電壓與輸入的壓力具有良好的線性關系。這種傳感器是一塊單片集成電路,集成有壓力應變儀及膜阻網絡,并帶有激光式微調模塊進行溫度補償和偏移校正?!?/p>
MPXM2010特點如下:
◇壓力測量范圍為O~10 kPa,精度可達士O.01 kPa;
◇在O~85℃之間具有溫度補償功能;
◇輸出信號與壓力的線性關系良好;
◇傳感器接觸面可選擇是否帶引出管口;
◇有Tape&Reel的易用封裝形式,具體樣圖如圖2所示。
MPXM2010的輸出信號比較弱,需要另加1片MOC2A60,將小信號放大,直流變?yōu)榻涣?。這樣就可以直接控制電機切斷或是接通電源。在調試模塊時,將各部分分離開來便于調試。運放采用MC33179,再配接一些電阻,就可以把壓力傳感器的信號輸出,并且可以通過調節(jié)阻值來調節(jié)輸出信號的大小。圖3和圖4是壓力傳感器模塊設計的原理圖和PCB板圖。
2 壓力測控系統(tǒng)設計及其精度改進
2.1 直聯(lián)式壓力測控系統(tǒng)
通常情況下,使用68HC908QT4的A/D模塊即可完成設計,只要把壓力傳感器模塊的輸出端接至68HC908QT4的A/D模塊輸入端即可。圖5給出了壓力測控系統(tǒng)的框圖。
微控制器68HC908QT4特點如下:
◇4 KB Flash存儲器、128 B的RAM存儲器;
◇4路8位A/D轉換器、16位PWM模塊;
◇價格便宜,批量1000片以上每片的價格可降至1美元以下。
MPXM2010測量范圍為0~10 kPa,將其輸出電壓信號限制在0~5 V,則其精度為:
S=5 V/10 kPa=500 mV/kPa
68HC908QT4的A/D為8位,電壓限制5 V,則其精度為:
R=5 V/(20—1)bit≈19.61 mV/bit
整個系統(tǒng)的壓力精度為:
R/S=19.61/500 kPa/bit=0.039 22 kPa/bit
如果要提高精度,將A/D升為10位,則精度為:
R/S=O.03 922X(28—1)/(210—1)kPa/bit=0.009 776 kPa/bit
A/D升為12位后,精度為:
R/S=0.039 22×(28—1)/(212—1)kPa/bit=0.002 442 kPa/bit
這樣做確實可以提升精度,但要增加硬件的開銷。利用68HC908QT4的PWM模塊作為D/A轉換器,可以巧妙地提高A/D變換的精度。
2.2 改進后的壓力測控系統(tǒng)
誤差產生的原因就是在A/D處,將小數(shù)點后的部分舍去,比如176.51 bit會當作176 bit來處理。解決問題也應該從這里人手,把誤差縮小。
誤差的引出可以用D/A來解決,把A/D讀進來的數(shù)據再用D/A處理一次送出來,和原來的數(shù)據做一次減法就可以得到。誤差沒法直接再送回A/D,但可以將其放大后再送回,再使用68HC908QT4中的另一路A/D將放大后的誤差進行A/D變換,MCU得到結果后縮小相同的倍數(shù),與原A/D變換結果相加,便是更精確的結果。圖6中,整個系統(tǒng)可分為壓力傳感器模塊、模擬部分、單片機部分和輸出電路部分,精度提高的關鍵在模擬部分的設計.如圖7所示。假設放大器G的放大倍數(shù)為10。A/D的性能本身并沒有提升,精度仍為R=19.61 mV/bit,這個值也就是極限值。放大10倍后,原來的最大誤差19.6l mV/bit被擴大為196.1 mV/bit,A/D處理的是放大后的數(shù)據,其能力就被放大了10倍。數(shù)據處理時又會將其除以lO恢復,從整體上來看就好像精度R除以10了一樣,變?yōu)?.961 mV/bit。
例如:初始A/D變換的誤差為10 mV,經過放大后變?yōu)?00 mV,此時再經過A/D變換,第二次遺留的誤差為100 mV一19.61 mV/bit×5 bit=1.95 mV,再除以10后變?yōu)?.195 mV。誤差大大地減小了,其極限值就是原精度的十分之一。
G的放大倍數(shù)可以自己調整,但要符合所選微處理器的性能以及電路本身的精度,選的過高沒有實際意義。
圖7所示的電路中,Vm、D、Vc與圖6所示相同。其中D的計算值為:
D=(Vm—Vc)×(R14/R13)[l+(R17/R16)]
G的放大倍數(shù)為(R14/R13)[1+(R17/R16)]?!?/p>
結語
在產品設計研發(fā)過程中,成本是很重要的因素。巧妙地利用微控制器內的模塊,輔助以相應的簡單模擬電路,可以大大提高芯片的利用效率,并能提升系統(tǒng)性能。多利用手頭的東西進行改進再創(chuàng)造,往往能得到事半功倍的效果。