0 引言
本文引用地址:http://www.eepw.com.cn/article/201809/388629.htm矽壓阻式壓力傳感器利用半導體材料的壓阻效應來進行壓力測量,以其體積小、靈敏度高、工藝成熟等優點,在各行業中得到了廣泛應用。實際工程應用中由於矽材料受溫度的影響,導致零點漂移和靈敏度漂移,因此溫度補償問題是提高傳感器性能的一個關鍵環節。目前壓力傳感器主要有兩種溫度補償方法:硬體補償和軟體補償。硬體補償方法存在調試困難、精度低、成本高、通用性差等缺點,不利於工程實際應用;利用數位訊號處理技術的軟體補償能夠克服以上缺點,也逐漸成為研究熱點。
目前軟體補償的方法主要有:查表法、二元插值法、BP神經網絡法、小波神經網絡方法、曲線曲面擬合方法等。查表法需要佔用很大內存空間,而神經網絡方法存在網絡不穩定、訓練時間較長的缺點不利於工程應用。在研究各類軟體補償方法的基礎上對壓力傳感器採用建立高階溫度補償模型進行溫度誤差補償,並且在Matlab GUI軟體平臺下實現高階溫度補償係數的計算,通過實驗對該方法進行驗證。
1 高階溫度補償模型的建立
1.1 高階溫度補償建模
壓力傳感器輸出非線性誤差主要是由零點溫度漂移和靈敏度溫度漂移產生,零點溫度漂移是由於電阻摻雜不同而導致電阻的溫度係數不同,靈敏度溫度漂移主要由於壓阻係數易隨溫度的升高而減少。針對溫度對傳感器輸出影響,採用對零點溫度漂移和靈敏度漂移建立高階補償模型進行統一補償,補償後壓力值 Press(T )表示為溫度傳感器電壓輸出VT 和壓力傳感器電壓輸出VP 的函數:
將 Press(T ) 補償轉換成曲面擬合問題,採用高階多項式擬合方法構造曲面方程:
式中係數矩陣中元素CI,J 是式(2)中VP VT 項對應係數。
對壓力傳感器進行全溫段實驗,得出壓力傳感器靜態輸出特性,應用上述模型計算擬合係數。
1.2 高階溫度補償過程
在實際工程應用中,傳感器輸出電路可採用以DSP為核心運算電路進行動態溫度補償的方法來實現實時數字溫度補償,具體電路如圖1 所示:整個電路由A/D轉換電路、DSP 運算電路、串並轉換電路、並串轉換電路、E2RPOM等5部分組成。
對壓力傳感器進行全溫段實驗,計算出擬合係數存放在數字補償電路的E2PROM 中。壓力傳感器輸出電壓值VP 和溫度傳感器輸出電壓值VT 通過A/D轉換輸出串行信號經過串並轉換電路送到DSP運算電路中,DSP運算電路根據式(2)進行計算。最後補償後結果通過並,串轉換電路輸出,從而實現壓力傳感器實時數字溫度補償。
1.3 高階溫度補償係數計算過程
由於不同壓力傳感器動態特性不同,採用高階補償模型計算出擬合係數也有差異。為了保證動態溫度補償在硬體上方便實現,減少硬體運算量,必須先求出擬合係數並進行適當調整,使擬合係數以統一格式存放。
以擬合係數範圍在小數點前6 位小數後3 位為例,即{-999 999.999,999 999.999}範圍,步驟如下:
(1)構造高階多項式,根據靜態實驗數據用高階溫度補償模型進行擬合,計算出擬合係數矩陣C.
(2)判斷擬合係數矩陣C 係數是否在範圍內:如果所有係數值在範圍內,擬合過程結束;當係數值不在範圍內,記錄擬合係數下標值。取絕對值最大的一項CI,J (max) ,CI,J (max) 取絕對值與999 999.999相除取整得到調整係數N.
(3)重新構造高階多項式,針對步驟(1)中計算出係數值不在範圍內對應位置項的係數置0得缺項多項式,重新根據靜態實驗數據進行擬合,求係數矩陣C1.根據N 對係數矩陣進行調整,調整後係數矩陣C =[C + C1N]/(N + 1)。
(4)對調整後係數矩陣C 重複步驟(2)進行判斷,直至所有係數矩陣中係數值都在範圍內,則調整結束,保存係數矩陣。
擬合係數通過上述方法可以以統一的數據格式進行存放,方便在DSP 硬體平臺上實現動態數字溫度補償,在一定程度上可以減少硬體運算量。係數調整過程還需要根據具體情況設定係數範圍,在能夠保證傳感器輸出線性性的情況下,係數範圍越小在硬體上越容易實現。
2 軟體設計與實現
由上述分析可知,數字補償電路對傳感器進行動態溫度補償時,必須先求出高階溫度補償擬合係數。採用Matlab 2012a作為軟體平臺,利用Matlab圖形用戶界面(GUI)編程實現壓力傳感器高階溫度補償係數計算。
GUI 是Matlab 為用戶提供的Windows 圖形界面設計方法,使用戶能夠在利用其強大數值計算功能的同時設計出友好的圖形界面。
整個程序框圖如圖2 所示:包括數據讀取模塊、標準擬合模塊、係數調整模塊和數據存儲模塊。數據讀取模塊功能是讀取傳感器全溫段實驗數據進行預處理,標準擬合模塊根據高階溫度補償模型和靜態實驗數據計算係數矩陣,係數調整模塊是對高階溫度模型係數進行係數調整,數據存儲模塊把係數值以一定格式保存方便寫入數字補償電路的E2PROM.