首頁 >> 新聞中心 >>行業(yè)科技 >> 基于MSP430單片機的高精度壓力變送器
详细内容

基于MSP430單片機的高精度壓力變送器

引言:

傳感器的輸出不僅受到壓力的影響,還會受到其他外部非目標(biāo)參數(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è)計
       系統(tǒng)軟件實現(xiàn)核心是 BP 網(wǎng)絡(luò)訓(xùn)練得到的權(quán)值與閾值的連接關(guān)系,權(quán)值與閾值是以數(shù)組運算及對每層神經(jīng)元輸出進行tansig激勵函數(shù)為主體,而神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值是 通過訓(xùn)練樣本在MATLAB神經(jīng)網(wǎng)絡(luò)工具箱中的訓(xùn)練得到的。這里訓(xùn)練樣本的采集是把壓力信號和溫度信號的輸出電壓值放大處理后輸入到單片機,經(jīng)過單片機A/D 轉(zhuǎn)換之后得到數(shù)字量, 直接應(yīng)用數(shù)字量進行離線訓(xùn)練,得到神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值,直接利用A/D值訓(xùn)練的優(yōu)點是減少了電壓A /D 轉(zhuǎn)換的電壓損失,提高了輸出精度。 利用檢測樣本來檢測訓(xùn)練后的神經(jīng)網(wǎng)絡(luò), 當(dāng)滿足要求后將訓(xùn)練得到的權(quán)值與閾值的連接關(guān)系用C語言表達移植到單片機 中處理信號 ,完成控制算法的要求。

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)為反相傳播,直到誤差最小,最終達到期望的目標(biāo)值。

2.2 試驗樣本的采集及數(shù)據(jù)處理

       試驗樣本的采集需要 的器材 有: M PM 280 壓力傳感器、壓力傳感器信號控 制 電路板 、標(biāo) 準壓力 計 、壓力傳 感器 高低 溫測試溫箱 、測試 電腦 、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采樣值也是不 同的, 可以看出有很大 的溫度 漂移, 所 以要進行溫度補償。

c3c1d159-692c-480a-8041-2c08db530250.png

為了檢驗訓(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ū)間值。 反歸一化公式為

ea0c7e88-794c-4d4d-87f1-aca7354d2dfc.png

式 中 :P 為為神經(jīng) 網(wǎng)絡(luò)仿 真輸 出值 ;P , P 為歸一 化時 的訓(xùn)練樣本中壓力標(biāo) 定值 中最大與最小值; 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)練樣本的輸入值和目標(biāo)值導(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 所 示。

9a031b7f-1807-4337-a6e1-a0ae6e7168f6.png

表 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 語言編程完成算法控制。

001773fe-ba0d-478e-8bc9-ff6cb50f8baf.png


表 2 liP 網(wǎng)絡(luò)數(shù) 據(jù)融合值

2.4 系統(tǒng)軟件實現(xiàn)方式
        通過 BP 網(wǎng)絡(luò)訓(xùn)練之后 , 得 到滿足控 制要求訓(xùn) 練 的權(quán) 值 以及閾值, 將其連接關(guān)系用程序編程,移植到單片機中,完成信號處理需要。 在整個系統(tǒng) 中單片機完成的工作 主要 有 :上 電初 始化, 包括看門狗關(guān)閉、晶振初始化、LED 與通訊模塊的初始化等;進行溫度和壓力的 A/D 轉(zhuǎn)換, 包括采樣頻率的設(shè)定、參考電壓的選擇、對 AD C 12 模塊設(shè)定、對數(shù)據(jù)進行平均值濾波等;對溫度和壓力的_Ai D 采樣值進行歸一化,歸一化的溫度和壓力最大值和最小值和 BP 網(wǎng)絡(luò)訓(xùn)練是選擇的最大最小值相同;把溫度和壓力信號組成二維數(shù)組輸入到神經(jīng)網(wǎng)絡(luò)訓(xùn)練的權(quán)值連接中實現(xiàn)信號處理 ,對 輸 出值進行 反 歸一化 ;將 反歸一 化處 理 的信號經(jīng)過 LED 顯 示以及通 過 R S 一485 通訊 接 口發(fā)送 出去。 其程序設(shè)計 流程 圖如圖 4 所示 。

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)品匯總   



seo seo