|
基于MSP430單片機的高精度壓力變送器引言: 傳感器的輸出不僅受到壓力的影響,還會受到其他外部非目標參數(shù)的影響,從而形成傳感器交叉靈敏度問題,影響輸出精度。為了解決這一問題,主要進行溫度補償,包括線性插值法、最小二乘法、神經(jīng)網(wǎng)絡(luò)算法等。BP網(wǎng)絡(luò)方法在神經(jīng)網(wǎng)絡(luò)中是一種很好的方法,通過建立BP網(wǎng)絡(luò),利用其逼近任意精度的任意非線性函數(shù)的能力來進行數(shù)據(jù)擬合。MSP430是一款超低功耗、外設(shè)豐富的微控制器。利用MSP430采集傳感器的壓力輸出和環(huán)境的溫度值作為BP網(wǎng)絡(luò)訓(xùn)練的輸入樣本進行離線訓(xùn)練,最大限度地修改權(quán)值和閾值,利用訓(xùn)練好的權(quán)值數(shù)組和閾值數(shù)組控制變送器的輸出,并用C語言對其結(jié)構(gòu)進行編程。達到BP網(wǎng)絡(luò)數(shù)據(jù)融合的目的。 1系統(tǒng)硬件設(shè)計 1.1芯片選擇 MSP430單片機是一種集成度高、精度高的單片機系統(tǒng)。它采用精簡的指令集,是一個16位高速處理MCU。系統(tǒng)運行相對穩(wěn)定,處理能力強。它具有豐富的外設(shè)模塊,如A/D模塊、D/A模塊等,在使用時減少了外設(shè)空間體積。采用MSP430系列單片機具有超低功耗、強大的數(shù)據(jù)處理能力,考慮到陣列經(jīng)過BP網(wǎng)絡(luò)訓(xùn)練后需要進行大量的浮點運算,而且其芯片的開關(guān)能力非常豐富,因此選用MSP430系列MSP430F247TPM微控制器。 1.2硬件電路設(shè)計 硬件電路設(shè)計總體框圖如圖1所示。壓力或液壓作用于前端壓力傳感器。壓力傳感器將壓力和溫度的電壓信號輸入到放大器,放大器信號經(jīng)過放大后輸入到單片機的A/D轉(zhuǎn)換通道。單片機將壓力和溫度的電壓信號轉(zhuǎn)換成數(shù)字量進行處理,通過LED顯示,并通過RS485通信接口將數(shù)據(jù)傳輸給上位機。電源模塊提供3。3v和5v電壓下,整個電路實現(xiàn)如下所述: (1)壓力傳感器選用MPM280壓力傳感器,MPM280檢測電路形式為惠斯通電橋,采用1.5mA直流電源。 (2)電源模塊設(shè)計。MSP430需要3.3V電壓供電,其他外設(shè)需要5V電壓供電,對輸入電源進行電壓互感器處理,這里用專用芯片LM317、TPS76950、TPS76933。電壓通過LM317轉(zhuǎn)換為+ 1v的功率輸出,LM317分別為TPS7693和TPS76950芯片供電,TPS769 33和TPS76950將10V電壓轉(zhuǎn)換為3.3V和5V電壓輸出到MCU和MCU外設(shè)。 (3)信號放大電路。這里的放大器核心選用的是IN A 121, IN A 121是一款低功耗、高精度的差壓放大器,它可以工作在單電源和雙電源兩種模式下。將壓力傳感器測得的壓力力轉(zhuǎn)換后輸入電壓信號到INA 12 1的引腳3和引腳2,放大器的放大倍數(shù)可根據(jù)外部電阻調(diào)節(jié)。放大后的電壓信號通過引腳6 ina121送入單片機的A/D轉(zhuǎn)換通道,實現(xiàn)放大功能。 (4) A/D轉(zhuǎn)換部分。采用MSP430F247單片機的ADC12模塊直接實現(xiàn)A/D轉(zhuǎn)換,MSP430F247T PM本身具有2通道轉(zhuǎn)換接口,通過ADC12模塊的控制寄存器實現(xiàn)溫度和壓力2通道模擬信號的A/D轉(zhuǎn)換。ADC12內(nèi)置參考電源,ADC12模擬多路復(fù)用器可以對溫度和壓力信號進行時序轉(zhuǎn)換,并具有采樣和保持功能,ADC12硬件通過設(shè)置將結(jié)果自動轉(zhuǎn)換到相應(yīng)的寄存器。 (5) RS-485通訊電路及顯示電路。RS-485通訊電路模塊選用專用芯片MAX485, LED顯示屏選用驅(qū)動芯片SH J74A HC373。 2 系統(tǒng)軟件設(shè)計 2.1 BP網(wǎng)絡(luò)算法 BP網(wǎng)絡(luò)是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型,它分為輸入層、隱含層和輸出層3層, 層與層之間多采用全互連方式, 同一 層單元之間不存在相互連接。 BP網(wǎng)絡(luò)是由信息的正向傳播和誤差的反向傳播組成, 正向傳播的輸入模式從輸入層經(jīng)隱層逐層處理并傳向輸出層,如果輸出層沒有得到期望的結(jié)果,則將誤差信號沿原來的通路返回并修改各層的權(quán)值轉(zhuǎn)為反相傳播,直到誤差最小,最終達到期望的目標值。 2.2 試驗樣本的采集及數(shù)據(jù)處理 試驗樣本的采集需要 的器材 有: M PM 280 壓力傳感器、壓力傳感器信號控 制 電路板 、標 準壓力 計 、壓力傳 感器 高低 溫測試溫箱 、測試 電腦 、M SP430 下載線。 將壓力傳 感器 連接好置于壓力傳感器測試溫箱 內(nèi), 將壓力傳感器 反映溫度 和壓力信號的 4 根導(dǎo)線連接到壓力傳感器信 號控 制電路板上, 電路板上通訊接口與主機相連 , MSP430 下 載線一 端與單 片機 JTA G 相連 ,另一端與主機相連 在神經(jīng)網(wǎng)絡(luò) 的試驗樣本及檢 測樣本 的采集 中 ,單 片機完成的工作是上 電初始化 、溫度和 壓力 的 A /D 轉(zhuǎn)換 ,將轉(zhuǎn) 換之后 的數(shù)據(jù)通過 R S 一485 通訊發(fā)送到 主機上 顯示出來 , 記錄溫度 和壓力的 A /D 采樣值 ,其 中 A /D 采 樣值 選擇 的參考 電壓 為單 片機內(nèi)部設(shè)定 電壓 1. 5 V ,所測得 的數(shù)據(jù) 如表 1 所示 。 通過表 1 可以看出: 原壓力傳感器的零點 A/D 采樣值 由-40℃ 的223漂移 到 80 ℃的185 ,滿點 由 一40 ℃ 的 3 961 漂移到 80 ℃ 的 3 016 ,并且 在加 相 同的壓力 下 , 不同 溫度點 的 A/D采樣值也是不 同的, 可以看出有很大 的溫度 漂移, 所 以要進行溫度補償。 為了檢驗訓(xùn)練后 BP 網(wǎng)絡(luò) 的控制性 能 ,需要對 BP 網(wǎng)絡(luò)進行樣本檢測 , 這時需要對經(jīng)過神經(jīng) 網(wǎng)絡(luò)工 具箱仿真 之后 的數(shù) 據(jù)進行反歸一化處理 , 反歸一化的 目的是將神經(jīng) 網(wǎng)絡(luò)輸 出的 0.05 ~0.95 之間的數(shù)映射到期望的區(qū)間值。 反歸一化公式為 式 中 :P 為為神經(jīng) 網(wǎng)絡(luò)仿 真輸 出值 ;P , P 為歸一 化時 的訓(xùn)練樣本中壓力標 定值 中最大與最小值; P 為最終數(shù)據(jù)融合值 。 2.3 BP 網(wǎng)絡(luò)的建立及訓(xùn)練 打開MATLA B的命令窗口界面,在神經(jīng)網(wǎng)絡(luò)工具箱主界面輸入nntool,建立一個4層BP網(wǎng)絡(luò)。第一層是輸入層,由2個神經(jīng)元組成,是溫度、壓力A/D采樣值歸一化后的數(shù)值輸入。第一隱藏層有5個神經(jīng)元,第二隱藏層有4個神經(jīng)元。輸出層為一個神經(jīng)元,表示處理后的壓力輸出,每層的激勵函數(shù)為tansig函數(shù)。將歸一化訓(xùn)練樣本的輸入值和目標值導(dǎo)入神經(jīng)網(wǎng)絡(luò)工具箱,訓(xùn)練樣本選擇為40℃、30℃、20℃、10℃、0℃、20 qC、30℃、20℃、60℃。在80℃下采樣10個溫度點的溫度和壓力,選擇10℃的溫度和壓力A/D樣本作為檢測樣本,并在MAIAB神經(jīng)網(wǎng)絡(luò)工具箱的訓(xùn)練選項卡上設(shè)置訓(xùn)練參數(shù),點擊 TR AIN 按鈕進行訓(xùn)練, 如果訓(xùn)練次數(shù)達到最大仍沒有使誤差最小,繼續(xù)訓(xùn)練, 當(dāng)達到訓(xùn)練誤差不再減小時停止訓(xùn)練 ,此時的誤差為 3.225 ×10 一,訓(xùn)練次數(shù)達到2 899次, 為了驗證神經(jīng)網(wǎng)絡(luò)對傳感器溫度補償?shù)挠行砸约皽蚀_程度,把采集到的數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)進行檢測, 把輸出值進行反歸一化處理后得到融合值,其中訓(xùn)練樣本和檢測樣本的神經(jīng)網(wǎng)絡(luò)融合值如表 2 所 示。 表 1 溫度和壓 力 A /D 采樣值 由表2可以看到 , 當(dāng)環(huán)境溫度在-40 ~ 80℃ 變化范圍內(nèi)BP網(wǎng)絡(luò)數(shù)據(jù)融合值誤差為0.08%,可知利用BP網(wǎng)絡(luò)進行溫度補償數(shù)據(jù)融合精度很高,在MATLAB神經(jīng)網(wǎng)絡(luò)工具箱中查看BP網(wǎng)絡(luò)的權(quán)值與閾值,得到其連接關(guān)系,通過編程實現(xiàn)其壓力傳感器的數(shù)據(jù)控制算法。查看神經(jīng)網(wǎng)絡(luò)工具箱的權(quán)值與閾值。將訓(xùn)練得到的各數(shù)組及溫度和壓力A/D采樣值中最大最小值利用 c 語言編程完成算法控制。 表 2 liP 網(wǎng)絡(luò)數(shù) 據(jù)融合值 2.4 系統(tǒng)軟件實現(xiàn)方式 3、結(jié)束語 神經(jīng)網(wǎng)絡(luò)是 一個大規(guī)模非線性 系統(tǒng) ,具有 自適應(yīng) 和 自學(xué) 習(xí)的能力 ,通過其 自身 的數(shù)據(jù)融合 消除 了壓力 傳感器 的交叉靈 敏度 ,進行 了溫度補償 , 提高了壓力傳感 器 的精 度。 實驗證 明: 經(jīng)過神經(jīng)網(wǎng)絡(luò) 離線 訓(xùn)練得到數(shù)據(jù)擬合模 型 ,處 理實時信 號能夠 進行很好 的零 點補償 特性以及 良好的抑制時漂 特性 , 利用超低 功耗單片機 M SP430 的豐富外設(shè)減 小 了壓 力傳 感器 的體積 ,利 用M SP430 單片機采集 到的壓力和 溫度 的 A/D 值進 行離線 訓(xùn)練 ,提高了壓力傳感器 的精度 。 該 設(shè)計 已做 出樣 品 , 滿足 0. 1% 的精度要求 。 參考文獻 : [1] 嚴家明,毛瑞娟 ,謝永宜. 兩種數(shù)據(jù)融合算法對擴 散硅壓力傳感 器的溫度補償. 計算機測量與控制 ,2008 ,16 (9 ) :1363 —1365 [2] 沈建華 .楊艷琴. M SP430 系列單片機 16 位超低功耗單片機原理與實踐.北 京 :北京航 空航天大學(xué) 出版社 ,2008 :1 —100 . [3] 劉君華. 智能傳感器系統(tǒng). 西安 :西安 電子科技大學(xué) 出版社 ,2004 :1 —5O . [4] 叢爽. 面 向 M A TLA B 工具箱 的神經(jīng) 網(wǎng)絡(luò)理論與應(yīng)用. 合肥 :中國科技大學(xué)出版社 ,2003 :55 —85 . [5] 何平 ,潘 國峰 ,孫以材 ,等. 壓力傳感器溫度漂 移補償 的 R BF 網(wǎng)絡(luò)模型. 儀器儀表學(xué)報 ,2008 ,29 (3 ) :572 —576 . [6] 張耀鋒 ,孫以材. 基于 BP 神經(jīng)網(wǎng)絡(luò)溫度補償 的壓力傳感器無線數(shù)據(jù)采集系統(tǒng). 傳感器世界,2008 (1) :36 —39 . [7] 王福 昌,張寶雷 ,張 同慶. 神經(jīng) 網(wǎng)絡(luò)工具 nntool 及 其應(yīng)用. 計 算機與現(xiàn)代化 ,2003 (9 ) :84 —85. [8] 高峰 ,董海鷹 ,胡彥奎. 基于 B P 神 經(jīng)網(wǎng)絡(luò)的傳感 器交叉敏感 性抑制. 傳感器技術(shù) ,2005 ,24 (2 ) :22 —26 .作者簡介 :張建軍 ,(198 3一 ) ,碩士研究生 ,主要研究方 向為工業(yè) 自動化及智能控 制。 E -m ail:jianjunarm y@ 163. cor n
班寧產(chǎn)品匯總 |