

摘要:介紹了以超低功耗單片機MSP430為核心的高精度壓力傳感器的硬件電路設計,針對壓力傳感器的溫度漂移問題分析了用于溫度補償的BP網絡算法,通過單片機對MPM280壓力傳感器的溫度和壓力信號采集,構造四層BP神經網絡進行離線訓練,將訓練好的網絡模型利用C語言完成編程,研究了單片機軟件實現方式。
關鍵詞:MSP430單片機BP網絡壓力變送器
一、引言
擴散硅壓力傳感器在輸入壓力不變的情況下當溫度發生變化時也會引起傳感器輸出的變化,形成了傳感器交叉靈敏度的問題,影響輸出精度。BP網絡法是解決溫度補償很好的方法,用MSP430采集傳感器的壓力輸出和所處環境的溫度值作為BP網絡訓練輸入樣本進行離線訓練,最大程度修改權值與閾值,將其結構利用C語言編程,達到BP網絡數據融合的目的。
二、系統硬件設計
1.芯片選型
美國TI公司生產的MSP430單片機為高整合,高精度的單芯片系統,其利用精簡指令集,是16位高速處理單片機,系統工作相對穩定,綜合功能和成本都比較合適。
2.硬件電路設計
硬件電路設計的系統總體框圖如圖1所示,氣壓或液壓作用在前端壓力傳感器上,壓力傳感器將壓力和溫度的電壓信號輸入到放大器,通過放大器信號放大輸入到單片機的A/D轉換通道,單片機將壓力和溫度的電壓信號轉換成數字量進行處理后通過LED顯示出來,并通過RS485通訊接口將數據傳送給上位機,電源模塊給單片機和外部設備分別提供3.3V和5V電壓,整個電路實施方式如下所述:
(1)壓力傳感器:擴散硅壓力傳感器選擇麥克公司的MPM280壓力傳感器,該傳感器能夠在-40℃到80℃范圍內使用,在此設計中測壓范圍為0~1MPa,MPM280其檢測電路形式為惠斯登電橋,它能適用于各種不同壓力測量產品的組裝與生產,MPM280采用1.5mA直流形式供電。
(2)信號放大電路:此處放大器芯片選擇INA121, INA121是一種低功耗,高精度的差壓放大器,它能夠在單電源和雙電源兩種模式下工作。 壓力傳感器的測量壓力轉化后的電壓信號輸入INA121的3腳和2腳,放大器的放大倍數根據外接電阻調節,放大后的信號通過6腳和5腳輸入到單片機的A/D轉換通道,實現放大功能。
(3)A/D轉換部分:利用MSP430F247TPM單片機自帶的ADC12模塊直接實現A/D轉換,減小了設計的傳感器的體積,MSP430F247TPM自身帶兩路轉換接口,通過ADC12模塊控制寄存器實現溫度和壓力兩路模擬信號A/D轉換。ADC12硬件通過設置會自動的將轉換結果存放到相應的寄存器中。
三、系統軟件設計
系統的軟件實現核心是神經網絡訓練得到的權值與閾值的連接關系,權值與閾值是以數組運算及對每層神經元輸出進行tansig激勵函數為主體,而神經網絡的權值與閾值是通過訓練樣本在MATLAB神經網絡工具箱中的訓練得到的。
1.BP網絡算法
BP網絡是目前應用最廣泛的神經網絡模型,它分為輸入層、隱含層和輸出層三層,層與層之間多采用全互連方式,同一層單元之間不存在相互連接。BP神經網絡是由信息的正向傳播和誤差的反向傳播組成,正向傳播的輸入模式從輸入層經隱層逐層處理并傳向輸出層,如果輸出層沒有得到期望的結果,則將誤差信號沿原來的通路返回并修改各層的權值轉為反相傳播,直到誤差最小,最終達到期望的目標值。
2.BP網絡的建立及訓練
打開MATLAB進入命令窗口界面,輸入nntool進入神經網絡工具箱主界面,建立一個4層的BP網絡,第一層為輸入層,為2個神經元,表溫度和壓力A/D采樣值歸一化后的數值輸入;第一隱含層為5個神經元,第二隱含層為4個神經元;輸出層為1個神經元,表示處理后壓力輸出,各層的激勵函數均為tansig函數。將歸一化之后訓練樣本輸入值和目標值導入到神經網絡工具箱,其中訓練樣本選擇-40℃,-30℃,-20℃,-10℃,0℃,20℃,30℃,40℃,60℃,70℃,80℃共11個溫度點的溫度和壓力采樣值,檢測樣本選擇10℃,50℃兩個溫度下的溫度和壓力采樣值當環境溫度在-40℃到80℃范圍內神經網絡數據融合值誤差為0.088%,可知利用神經網絡數據融合精度很高。
3.系統軟件實現方式
圖7系統設計流程圖通過神經網絡訓練之后,得到滿足控制要求訓練的權值以及閾值,將其連接關系用程序編程,移植到單片機中,完成信號處理需要。在整個系統中單片機完成的工作主要有:上電初始化,其中包括看門狗關閉,晶振初始化,LED與通訊模塊的初始化等;進行溫度和壓力的A/D轉換,其中包括采樣頻率的設定,參考電壓的選擇,對ADC12模塊設定,對數據進行平均值濾波等;對溫度和壓力的A/D采樣值進行歸一化,歸一化的溫度和壓力最大值和最小值和神經網絡訓練是選擇的最大最小值相同;將反歸一化處理的信號經過LED顯示以及通過RS485通訊接口發送出去。其程序設計流程圖如圖7所示:
四、結論
利用MSP430單片機減少了系統功耗,其豐富外設減少了傳感器的體積,利用單片機對傳感器輸出的溫度和壓力A/D采樣值進行離線訓練減少了信號誤差,利用BP網絡算法提高了傳感器的精度,傳感器的精度為0.1%。
參考文獻:
[1]嚴家明,毛瑞娟,謝永宜.兩種數據融合算法對擴散硅壓力傳感器的溫度補償.計算機測量與控制.2008.16(9):1363-1365.
[2]沈建華,楊艷琴.MSP430系列單片機16位超低功耗單片機原理與實踐.北京:北京航空航天大學出版社 2008.1-100.
[3]張耀鋒,孫以材.基于BP神經網絡溫度補償的壓力傳感器無線數據采集系統,傳感器世界2008(1):36-39.