ZHANG Jiahong,YANG Min,GU Fang,LI Min,GE Yixian,ZHANG Yuexiang,SHEN Lei,BAO Zhiwei(1.Jiangsu Collaborative Innovation Center on Atmospheric Environment and Equipment Technology,Nanjing University of Information Science and Technology,Nanjing 210044,China;2.Jiangsu Key Laboratory of Meteorological Observation and Signal Processing,Nanjing University of Information Science and Technology,Nanjing 210044,China;.School of Electronic and Information Engineering,Nanjing University of Information Science and Technology,Nanjing 210044,China;4.School of Physics and Optoelectronic Engineering,Nanjing University of Information Science and Technology,Nanjing 210044,China)
?
Development of a High-Precision Silicon Piezoresistive Pressure Transmitter Based on Array Measurement and Data Fusion*
ZHANG Jiahong1,2,3*,YANG Min1,2,3,GU Fang4*,LI Min2,3,GE Yixian1,2,3,ZHANG Yuexiang3,SHEN Lei3,BAO Zhiwei3
(1.Jiangsu Collaborative Innovation Center on Atmospheric Environment and Equipment Technology,Nanjing University of Information Science and Technology,Nanjing 210044,China;2.Jiangsu Key Laboratory of Meteorological Observation and Signal Processing,Nanjing University of Information Science and Technology,Nanjing 210044,China;3.School of Electronic and Information Engineering,Nanjing University of Information Science and Technology,Nanjing 210044,China;4.School of Physics and Optoelectronic Engineering,Nanjing University of Information Science and Technology,Nanjing 210044,China)
The atmospheric pressure is a critical parameter for evaluating atmospheric environmental change.In or?der to improve the accuracy of conventional silicon-based piezoresistive pressure measurement system,a high-preci?sion digital pressure transmitter has been developed through MEMS pressure sensor array and data fusion with the back propagation(BP)neural network based on particle swarm optimization(PSO)algorithm.The corresponding de?signs of hardware and software have been elucidated,and then the transplantation and display optimization of μC/ OS-II with μC/GUI on the STM32 platform have been achieved.Combining with experimental data,the application performance of PSO-BP neural network algorithm in silicon piezoresistive pressure sensors has been finally investi?gated and analyzed in terms of performance parameters,such as nonlinear error,hysteresis error,repeatability error and the overall accuracy.The results show that the overall accuracy of the low-cost piezoresistive pressure transmit?ter proposed by this paper can reach nearly±0.095%FS in the range of-20℃~60℃,which can basically meet the requirements of meteorological applications.
pressure transmitter;high precision;array measurement;particle swarm optimization algorithm(PSO);back propagation(BP)neural network;μC/OS-II and μC/GUI
大氣壓力是評價大氣環境變化的關鍵性參數,其測量精度直接影響氣象預報的準確性,因此氣象測量中多采用高精度電容式或諧振式MEMS氣壓傳感器,但這些高端產品多為進口,價格高昂。相比較而言,傳統硅壓阻式MEMS壓力傳感器具有成本低廉可大批量生產的優勢。盡管如此,嚴重的溫漂效應導致其在不同環境溫度下的輸出曲線不同,加上遲滯和重復性誤差,因而在較寬溫度范圍內此類傳感器的總精度通常很難滿足氣象行業高端應用的要求[1,2]。為提升硅壓阻式氣壓傳感器的測量精度以便廣泛應用于氣象測量領域,如何有效地抑制其對溫度的交叉敏感性是亟待解決的關鍵問題[3]。
目前國內外抑制壓阻式傳感器溫漂的方法主要包括硬件補償法和軟件補償法[4-5]。硬件補償方法主要采用硬件補償電路來消除溫度影響,但難以做到完全補償;軟件補償方法主要將傳感器與主控微處理器相結合,利用諸如多元回歸法、最小二階乘法、人工神經網絡以及支持向量機等算法對測量參數進行數據融合與修正[6-9]。BP神經網絡占用資源少、計算簡單、擬合精度較高,因而成為了壓阻式傳感器溫度補償的首選[3-5,7]。而近些年來,針對BP神經網絡算法計算效率低、收斂速度慢、容易陷入局部最小值的問題,各類改進的BP神經網絡已被用來提升壓阻式壓力傳感器的測量精度[10-13]。然而相關實驗主要采用Matlab仿真進行,不涉及傳感器硬件優化設計,實現高精度壓阻式氣壓變送器研制的報道較少[14]。
針對壓力和溫度相互交叉的問題,為實現高精度氣壓測量,本文硬件上采用陣列式(由4個MEMS氣壓傳感器組成陣列)測量方式削弱隨機誤差和提高系統穩定性,軟件上利用粒子群算法對BP網絡的權值和閥值進行全局尋優,克服了其收斂速度慢和易陷入局部極值的缺陷,并通過嵌入式操作系統μC/OS-II在下位機STM32上移植PSO-BP神經網絡數據融合算法,實現了氣壓傳感器溫漂與遲滯誤差的實時補償和修正。為便于用戶使用,本文還結合μC/GUI制作了智能氣壓變送器的人機交互界面。
本文設計的高精度陣列式硅壓阻數字氣壓變送器的整個硬件系統如圖1所示,它由氣壓傳感器陣列、正反交流測量切換電路模塊、四線制鉑電阻測溫模塊、模數轉換器AD7794、STM32微控制器、模數電路隔離處理模塊、通信接口電路及其它外圍電路模塊所構成。

圖1 陣列式硅壓阻數字氣壓變送器的硬件系統方框圖
1.1MEMS氣壓傳感器及其陣列式測量
MEMS氣壓傳感器采用美國通用電氣公司生產的壓阻式壓力傳感器NPC-1210-15A-3S,其量程范圍為0~103.4 kPa。在25℃參考溫度下整體測量精度為±0.1%FS。在0~60℃溫度范圍內硬件補償后的測量誤差最大為±0.5%FS。如圖2所示,為提高測量精度和穩定性,本文采用4個壓力傳感器構成陣列[13-14],實現數據多點平均測量,然后提供給PSO-BP神經網絡進行數據融合。陣列式平均測量方法可有效減小氣壓傳感器本身蠕變而產生的隨機誤差或重復性誤差的影響[15],有助于改善氣壓測量系統精度。

圖2 陣列式氣壓變送器的硬件實物
1.2主控制器STM32及其外圍電路
如圖2所示,硬件電路以STM32F407微處理器為主控芯片,負責傳感器數據處理和算法網絡實現。系統采用多通道的AD7794轉換壓力傳感器陣列的電壓信號(對應未補償的氣壓值)和鉑電阻PT100溫度傳感器的電壓信號(對應用于實時補償的溫度值),并通過帶有已訓練好的PSO-BP神經網絡的微處理器計算出算法補償后的氣壓值。為方便顯示結果,系統可將實時輸出的氣壓值以圖表形式在TFT液晶屏上展示,也可通過串口通信送至PC上位機保存以便進行更詳細的后續處理。
高精度氣壓變送器的軟件設計是基于Keil5 MDK和MATLAB軟件,程序采用模塊化設計思路。對應于硬件設計,最終程序分3個主要模塊進行設計,分別為:系統初始化及設備初始化、A/D多通道采集程序、PSO-BP神經網絡算法,下面著重闡述PSO-BP數據融合算法。
2.1PSO-BP神經網絡原理
PSO-BP神經網絡算法的基本思想是把PSO算法的全局搜索能力與BP神經網絡的局部快速搜索能力有機結合,以免網絡陷入局部極小從而提高網絡訓練速度和效率[11-12,16-18]。本文用于數據融合的PSO-BP算法定義PSO中的粒子位置對應著BP神經網絡中一組待優化的權閾值,如圖3所示,通過尋找最優粒子位置,根據最優適應度值或迭代次數獲取優化的權閾值,再利用PSO優化的權閾值實現BP網絡訓練,最后利用該網絡對陣列測量的氣壓數據進行溫漂補償與遲滯誤差補償,更詳細的描述參見文獻[11,17-18]。BP神經網絡訓練目標是使它的預測輸出值與樣本期望輸出值的誤差絕對值之和達到最小,本文中其適應度函數取為:

其中L為學習樣本數,p(k)為網絡的實際輸出,d(k)為樣本輸出。

圖3 PSO-BP神經網絡的流程圖
2.2訓練數據預處理
如圖4所示,將未補償的氣壓測量硬件系統放置于恒溫箱,然后將溫度范圍控制在-20℃~60℃,每隔10℃取1個測量點,共9個溫度點。值得注意的是,本文軟硬件溫度補償范圍拓展到了零度以下。在每個溫度點下,氣壓測量范圍是0~1 100 hPa,通過調節Fluke PPC-4標準壓力發生器(±0.01%精度)每隔100 hPa取1個壓力點,共12個標準氣壓值。分別記錄不同溫度T(℃)與不同氣壓P(hPa)下壓力傳感器陣列輸出的平均電壓值Up(mV),最終獲得PSO-BP神經網絡的訓練樣本(標定數據),見表1。

圖4 氣壓變送器標定及測試設備

表1 PSO-BP神經網絡的訓練樣本數據
2.3PSO-BP神經網絡模型在MATLAB中的建立以及訓練
將表1中的溫度和氣壓傳感器陣列輸出的平均電壓作為網絡輸入,標準氣壓值作為期望輸出,對數據進行歸一化處理后建立單隱層BP神經網絡模型。根據氣壓溫度補償的需求,確定2個輸入節點,5個隱層節點和1個輸出節點。設最大迭代次數1 500,目標誤差1×10-6,訓練函數選擇為trainlm,學習函數采用learngdm,學習速率0.01;根據PSO算法原理,粒子的初始位置和速度在允許范圍內隨機產生,種群規模設置為40,慣性權重設為1,學習因子為2.5。利用PSO算法尋優結束后相應的隱層神經元和輸出層神經元的權值與閾值矩陣分別為:W1=[0.5609-0.5605-0.54000.2037-0.6102 -0.3668 0.54100.30310.96392.991],W2=[0.00671.27840.75691.15580.06218],B1=[-0.41222.0836-2.1011-0.06981.3690],B2=[-0.3886]。
將上述PSO算法優化的權值閾值賦給BP神經網絡作為初始值進行訓練,然后對訓練結果進行測試,所得結果如圖5所示。

圖5 PSO-BP仿真結果
圖5(a)給出了PSO-BP神經網絡預測輸出(圓點)與期望輸出(星號)的關系曲線,圓點與星號高度重合,說明PSO-BP神經網絡能顯著削弱溫度影響,以最小誤差預測出傳感器陣列的真實氣壓值。從圖5(b)可知,PSO算法經過50次迭代后適應度已達到最低,換言之,已收斂到最優權閾值。如圖5(c)所示,PSO-BP算法經過41次迭代后目標誤差達到4.634 2×10-6,而要達到類似的目標誤差,計算表明BP算法需迭代122次,可見PSO-BP算法顯著提高了運行效率。圖5(d)則對比了PSO-BP神經網絡與傳統BP神經網絡溫度補償的誤差,可看出PSO-BP神經網絡的補償精度明顯高于BP網絡。
為了驗證陣列式氣壓測量系統的溫度漂移補償以及誤差修正是否精確有效,本文利用恒溫箱設置了三個不同于訓練(標定)溫度的測試點:常溫25℃、-15℃以及45℃。同時通過調節Fluke PPC-4標準壓力發生器精確產生0~1 100 hPa范圍的輸入氣壓,實際測試中每隔100 hPa選取1個氣壓測量點,共12個標準氣壓值。為了研究遲滯誤差與重復性誤差的修正情況,分升壓和降壓兩個過程進行數據采集與處理,記錄下升壓然后再降壓過程中氣壓傳感器陣列輸出電壓的平均值。根據國家航天工業部標準壓力傳感器靜態精度計算方法的要求,校準的循環次數不應少于3次,因此本文升壓過程(正行程)和降壓過程(反行程)各記錄5次。最終測得的5次循環(升壓和降壓)不同溫度和壓力下未補償的氣壓輸入與輸出特性如圖6(a)和6(c)所示,不難發現不管是升壓還是降壓過程中溫度對氣壓傳感器陣列輸出電壓的平均值均產生了較為明顯的影響。圖6(b)和6(d)則給出了通過PSO-BP神經網絡算法補償的氣壓值,可發現不同溫度下的氣壓測量值高度地重合,這表明經過算法補償后溫度漂移的影響被極大地削弱。

圖6 用于誤差測量分析的不同溫度下的氣壓輸入輸出特性曲線
3.1線性度測量與分析
傳感器線性度(非線性誤差)是指在全量程范圍內實際特性曲線與擬合直線之間的最大偏差值ΔLmax與滿量程輸出FYS之比[19],用γL表示,即

利用圖6中的數據計算出不同溫度下5次循環的校驗平均值,再運用最小二乘法擬合直線找出最大偏差值后通過式(2)可計算得到補償前整體的非線性誤差為9.512×10-4,而通過PSO-BP算法補償后氣壓變送器的非線性誤差為6.351×10-4,可見該誤差明顯減小。
3.2遲滯誤差測量與分析
傳感器在全量程范圍內最大的遲滯差值ΔHmax與滿量程輸出值FYS之比稱為遲滯誤差[19],用γH表示,即

由圖6(a)和6(c)不難發現遲滯誤差具有明顯的溫漂效應,而由PSO-BP神經網絡算法優化補償后的氣壓輸入輸出特性可看出遲滯誤差的溫漂特性已被很好抑制。結合圖6中的測試數據,找出最大遲滯差值后通過式(3)計算得到補償前的整體遲滯誤差和PSO-BP神經網絡補償后的遲滯誤差分別為6.364×10-4和4.545×10-4,通過計算發現算法補償后的氣壓變送器輸入與輸出的遲滯誤差減小了28.6%。
3.3重復性誤差測量與分析
傳感器在正反行程范圍中最大重復差值ΔRmax與滿量程輸出值FYS之比稱為重復性誤差,用γR表示,即

與上文討論的情況類似,溫度對氣壓輸入輸出特性有較大影響,盡管如此,同一溫度下5次重復測量的結果幾乎覆蓋在一起,這表明通過氣壓傳感器陣列平均測量可在一定程度上減小重復性誤差。圖6(b)與6(d)則給出了通過PSO-BP算法補償后的升壓和降壓過程中氣壓的輸入輸出曲線,不難發現所有的曲線都幾乎重合,溫度的影響被消除。根據最大不重復誤差,通過式(4)可計算得到補償前整體重復性誤差為7.134×10-4,而PSO-BP網絡補償后氣壓變送器的重復性誤差為5.413×10-4,由此可見PSO-BP數據融合算法進一步減小了氣壓測量系統的重復性誤差。
3.4整體誤差分析
本文選用μC/OS-II作為高精度陣列式氣壓變送器的嵌入式實時操作系統,克服了過去單任務順序機制,增強了測量系統安全與穩定性[4,20]。在STM32平臺上移植μC/OS-II系統主要修改了OS_CPU_C.C,OS_CPU_A.ASM,OS_CPU.H這3個文件[4]。基于μC/OS-II的氣壓變送器的工作流程如圖7所示,硬件和變量初始化后,按照優先權創建了用戶主任務、AD7794采集任務、算法修正任務、LCD顯示任務、RS485通信任務和RS232通信任務。其中優先級別最高的算法修正任務是指在μC/OS-II中以任務的方式運行PSO-BP神經網絡從而實現氣壓值的實時數據補償。這需要事先將上文訓練好的PSO-BP神經網絡的權值(W1與W2)與閾值(B1與B2)以適當的數組方式存入STM32F407存儲器中,并將MATLAB版本的PSO-BP算法程序寫成C語言形式燒寫至STM32F407中。μC/GUI是一款適合于μCOS-II操作系統的圖形用戶接口軟件[21]。本文在SMT32平臺上移植了μC/GUI,采用3.2寸TFT-LCD觸摸彩屏將采集到的溫度和氣壓數據進行顯示,并提供實時的PSO-BP神經網絡補償后的氣壓變化曲線,可使用觸摸控制系統運轉與數據的存儲。本文最終實現的嵌入式氣壓變送器的μC/GUI人機交互界面如圖8所示,它給出了恒定氣壓和氣壓變化時的曲線。

圖7 基于μC/OS-II的氣壓變送器程序工作流程圖

圖8 基于μCOS-II和μCGUI的氣壓變送器人機交互界面顯示系統
本文首先選用MEMS壓阻式壓力傳感器組成陣列作為氣壓檢測模塊,以抵消傳感器本身隨機誤差和不確定因素的不利影響。同時對硬件系統設計進行了優化,采用了適用于多傳感器測量的多通道與低噪聲的模數轉換器,四線制測溫電路選擇鉑電阻作為溫度敏感元件確保了補償溫度準確有效。其次,為達到高精度和高穩定性的檢測目的,構建了PSO-BP神經網絡算法對測量數據進行數據融合補償處理。最后,基于μC/OS-II操作平臺將PSO-BP神經網絡嵌入到Cortex-M4內核的微處理器作為氣壓變送器系統的執行模塊,并實現了與外界通信及人機交互界面等功能。通過實際測試對比發現,本文研制的基于陣列測量與數據融合的高精度硅壓阻式氣壓變送器的溫漂效應被極大地削弱,其非線性誤差、遲滯誤差以及重復性誤差顯著減小,在標定的溫度區間內總精度達到±0.095%FS,具有較強的實際應用價值。
[1]郭冰,王沖.壓力傳感器的現狀與發展[J].中國儀器儀表,2009(5):72-75.
[2]盧軼.探空儀氣壓傳感器溫度補償的新方法[J].氣象水文海洋儀器,2010(3):15-17.
[3]高峰,董海鷹,胡彥奎.基于BP神經網絡的傳感器交叉敏感性抑制[J].傳感器技術,2005,24(2):22-26.
[4]崔靜雅,呂惠民,程賽.基于BP網絡的智能壓力傳感器系統研究與設計[J].傳感技術學報,2011,24(10):1426-1430.
[5]Futane N P,Chowdhury S R,Chowdhury C R,et al.ANN Based CMOS ASIC Design for Improved Temperature-Drift Compensa?tion of Piezoresistive Micro-Machined High Resolution Pressure Sensor[J].Microelectronics Reliability,2010,50:282-291.
[6]王曉蕾,羅麗,陳曉穎.一種高分子濕敏電容傳感器溫度特性的軟件補償方法[J].計量技術,2014(11):15-17.
[7]Pramanik C,Islam T,Saha H.Temperature Compensation of Piezoresistive Micro-machined Porous Silicon Pressure Sensor by ANN[J].Microelectronics Reliability,2006,46:343-351.
[8]梁偉鋒,汪曉東,梁萍兒.基于最小二乘支持向量機的壓力傳感器溫度補償[J].儀器儀表學報,2007,28(12):2235-2238.
[9]強生杰,孔令剛.壓力傳感器的支持向量機非線性回歸建模[J].傳感器與微系統,2012,31(4):50-52.
[10]Du Z M,Jin X Q,Yang Y Y.Fault Diagnosis for Temperature,Flow Rate and Pressure Sensors in VAV Systems Using Wavelet Neural Network[J].Applied Energy,2009,86(9):1624-1631.
[11]孫艷梅,苗鳳娟,陶佰睿.基于PSO的BP神經網絡在壓力傳感器溫度補償中的應用[J].傳感技術學報,2014,27(3):342-346.
[12]李強,周柯心.基于PSO-BP算法的壓力傳感器溫度補償研究[J].電子學報,2015,43(2):412-416.
[13]張加宏,付洋,葛益嫻,等.GA-BP神經網絡在氣壓計相對高度計中的應用研究[J].傳感技術學報,2014,27(7):1002-1008.
[14]Zhang J H,Wu Y S,Liu Q Q,et al.Research on High-Precision,Low Cost Piezoresistive MEMS-Array Pressure Transmitters Based on Genetic Wavelet Neural Networks for Meteorological Measurements[J].Micromachines,2015(6):554-573.
[15]宋海賓,楊平,徐立波.MEMS傳感器隨機誤差分析及分析處理[J].傳感技術學報,2013,26(12):1719-1723.
[16]Wang H S,Wang Y N,Wang Y C.Cost Estimation of Plastic Injec?tion Molding Parts Through Integration of PSO and BP Neural Net?work[J].Expert Systems with Applications,2013,40(8):418-428.
[17]行鴻彥,鄒水平,徐偉,等.基于PSO-BP神經網絡的溫度傳感器溫度補償[J].傳感技術學報,2015,28(6):864-869.
[18]龔雪飛,劉萍,簡家文.基于PSO算法集成神經網絡的多元有害氣體檢測系統[J].傳感技術學報,2015,28(6):938-942.
[19]Islam T,Ghosh S,Saha H.ANN-Based Signal Conditioning and its Hardware Implementation of a Nanostrucured Porous Silicon Relative Humidity Sensor[J].Sensors and Actuators B,2006,120:130-141.
[20]邱寶梅,王建文.嵌入式機載攝影穩定平臺的設計[J].儀器儀表學報,2009,30(9):1981-1984.
[21]徐寶國,宋愛國.基于μCOS和μCGUI的嵌入式數字示波器[J].測控技術,2007,26(7):7-8,28.

張加宏(1979-),男,博士,南京信息工程大學電子與信息工程學院副教授,碩士研究生導師,主要從事微納電子機械系統與氣象傳感器探測技術等相關研究工作,zjhnuist@163.com;

楊敏(1990-),男,南京信息工程大學電子與信息工程學院碩士研究生,主要從事微納電子機械系統方面的研究,ymnuist@163.com;

顧芳(1981-),女,博士,南京信息工程大學物理與光電工程學院副教授,碩士研究生導師,本文通訊作者,主要從事大氣顆粒物的激光檢測技術和光電功能材料性能表征研究,gfnuist@163.com。
EEACC:7230;722010.3969/j.issn.1004-1699.2016.06.007
基于陣列測量與數據融合的高精度硅壓阻式氣壓變送器的研制*
張加宏1,2,3*,楊敏1,2,3,顧芳4*,李敏2,3,葛益嫻1,2,3,張月香3,沈雷3,包志偉3
(1.南京信息工程大學,江蘇省大氣環境與裝備技術協同創新中心,南京210044;2.南京信息工程大學,江蘇省氣象探測與信息處理重點實驗室,南京210044;3.南京信息工程大學,電子與信息工程學院,南京210044;4.南京信息工程大學,物理與光電工程學院,南京210044)
氣壓是評價大氣環境變化的關鍵性參數。為提高傳統硅壓阻式氣壓測量系統的精度,研究并實現了一種基于MEMS氣壓傳感器陣列式測量和粒子群優化(PSO)反向傳播(BP)神經網絡數據融合處理的高精度數字氣壓變送器,給出了相應的硬件結構和軟件設計,并通過STM32平臺對μC/OS-II與μC/GUI進行了整合移植和顯示優化。結合實驗測量數據,從非線性誤差、遲滯誤差、重復性誤差及其整體精度等方面對PSO-BP神經網絡算法在硅壓阻式氣壓測量系統中應用的性能進行了研究與分析。研究結果表明,在-20℃~60℃的溫度范圍內,本文研制的低成本嵌入式硅壓阻氣壓變送器的整體測量精度約為± 0.095%FS,基本滿足大氣探測應用的要求。
2015-09-30修改日期:2016-02-21
氣壓變送器;高精度;陣列測量;粒子群優化算法;反向傳播神經網絡;μC/OS-II與μC/GUI
TP212;TP391
A
1004-1699(2016)06-0826-08
項目來源:國家自然科學基金項目(61306138,61307113,61307061);江蘇省自然科學基金項目(BK2012460);東南大學MEMS教育部重點實驗室開放研究基金課題項目(2013-3);江蘇省高等學校大學生實踐創新訓練計劃項目(201510300034);江蘇省信息與通信工程優勢學科建設項目