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