時間:2009-01-04 13:33:50來源:ronggang
圖3 信號放大電路[/align]
3 智能壓力傳感器軟件設計
智能壓力傳感器的軟件是由監控程序,中斷程序,測量程序和信號處理程序組成。在主程序的管理下,系統可以自檢RAM和A/D轉換芯片等功能是否正常。如有故障,可以顯示哪一元件出錯,并顯示出錯的詳細位置,以便操作人員及時處理;如正常,則對系統初始化,包括堆棧指針的設置、定時器/計數器的初始化、中斷初始化、有關工作單元初始化等。
1、監控程序設計。監控程序是智能傳感器軟件中的主線,它調用各模塊,并將它們聯系起來,形成一個有機的整體,實現對儀器的全部管理功能。在本設計中,由于使用的CPU沒有ROM和E2PROM,所以節省了軟件設計。我們只對RAM和A/D進行自檢,又由于本文所使用的CPU在接電使用時,A/D自動進行自檢,所以不用設計其自檢程序。
2、測量控制程序。測量控制程序完成測量以及測量過程的控制任務,如多通道切換、采樣、A/D轉換等。這些功能可以由若干個程序模塊實現,供監控程序或中斷程序調用。測量程序所要實現的功能是采集溫度、靜壓和差壓信號,對差壓進行線性校正,然后實現溫度、靜壓信號對差壓信號的補償,實現補償后,顯示其差壓測量值。
3、數據通信軟件設計。我們采用LED對數據進行實時顯示,由于LED只能顯示數據,而不能對其進行分析,實現系統和PC機之間的通信,可利用PC機對測量結果進行顯示、數據處理和打印。這部分軟件包括單片機的通信軟件設計和PC機的通信軟件設計,PC機的通信軟件設計由C++Builder來完成。
PC機通信軟件的設計。本文編制串行通信分成四個步驟:1) 打開串行口并進行初始化,初始化的任務是以一定方式打開端口,并設置通信的波特率、數據位個數、停止位個數、奇偶校驗方式、差錯檢測、超時參數、響應事件等;2) 數據的發送,將要發送的數據寫入端口,并進行錯誤處理;3) 數據的接收,當端口發生接受到事件字符并放入輸入緩沖區事件后,讀取端口數據;4) 關閉端口,釋放系統資源。
智能傳感器的通信軟件設計。本文采用的是半雙工形式來傳送數據。單片機串行通信有四種工作方式,我們采用的是工作方式1,它的特點是波特率可變,無奇偶校驗位,波特率的設置與定時器1的計數器溢出率有關。本文采用的是定時器T1四種工作方式中的工作方式2,在工作方式2中,TL0作為8位計數器,TH0用來保存初值,每當TL0計滿溢出時,TH0中的初值可自動再裝入TH0中,如此重復。波特率的公式為:
波特率=2[sup]SMOD[/sup]×晶振頻率/[32×12×(256-X)]
本文采用的波特率為9600,晶振為11.0592, SMOD設為0, TH1為253。單片機通信子程序結構框圖如圖4所示。
[align=center]
圖4 單片機通信子程序結構框圖[/align]
4 誤差與溫度補償技術設計
任何一種測量過程都不可避免地存在著誤差,按誤差出現的規律可將其分為隨機誤差和系統誤差,隨機誤差可以采用濾波方法來加以克服,而系統誤差不能依靠統計平均的方法來消除,而只能針對某一具體情況在測量技術上采用一定的措施,本文針對盡可能降低智能傳感器這兩種誤差及提高采集數據的精確性,我們配合硬件結構進行了相應的軟件設計。
1、隨機誤差。
由于隨機干擾使被測信號中混入了無用成分,可以采用濾波器濾掉信號中的無用成分,提高信號質量。常用的數字濾波算法有限幅濾波、中位值濾波、算術平均濾波、遞推平均濾波、一階慣性濾波和復合濾波等。由于復合濾波即可以去掉脈沖干擾,又可以對采樣值進行平滑處理,它兼有中位值濾波和算術平均濾波的優點,所以本文采用復合濾波的算法。復合濾波的算法原理如下:首先將N次采樣值按大小排隊,然后去掉最大值和最小值,再對剩下的N-2個采樣值求算術平均值。
2、系統誤差。
(1) 自動零位校準。為了消除由于環境因素變化,使傳感器的輸出或放大器的增益等發生變化所造成的儀器零點漂移,而引起系統誤差,我們采用自動零位校準的方法。本文使用的CPU具有8個輸入通道,故在溫度、靜壓和差壓輸入通道之外再使一個通道接地,這樣每次采集數據時,可直接用軟件技術把接地通道得到的數值扣除。
(2) 非線性校正。為了實現輸入-輸出特性是一條直線,也就是說在測量范圍內靈敏度是一個常數,本文采用曲線擬合法,設定一個泰勒展開的n次多項式來逼近傳感器測量非線性曲線。
(3) 溫度補償。本文主要采用信息融合處理方法中的多維回歸分析法。其基本思想是:用多維回歸方程來建立被測目標參量與傳感器輸出量之間的對應關系。與經典傳感器一維實驗標定/校準不同的是要進行多維標定/校準實驗,然后,按最小二乘法原理由實驗標定/校準數據計算出均方誤差最小條件下的回歸方程中的系數。這樣,測量時當測得了傳感器的輸出值時,就可由己知系數的多維回歸方程來計算出相應的輸入被測目標參數。非線性校正和溫度補償都需要幾次調用浮點數加法和浮點數乘法運算的子程序來求得結果。
本文作者創新點
本文采用ADμC812單片機設計硬件電路,這種芯片內不僅集成了可重新編程非易失性閃速/電擦除程序存儲器的高性能8位MCU,還包含了高性能的自校準8通道ADC及2通道12位DAC,使硬件電路設計簡單,體積小,攜帶方便并減小誤差。采用與PC機通信,完成數據轉換、數據處理和數據打印等功能,便于實現系統集中監控。在抗干擾方面,本文硬件采用低通濾波器和軟件采用復合濾波法來克服隨機誤差,提高了系統在不同場合下工作的穩定性。
參考文獻:
[1] 田立強,孫以材,趙彥曉.兩種多傳感器信息融合方法的比較[J].傳感器世界.2002.VOL1,12: 9-13
[2] 汪慧英,馬學童,王磊.基于ActiveX控件實現Windows9x環境下異步串行通信[J].計算機輔助工程.2002. VOL12, 4: 65-69
[3] 劉青松,錢蘇翔,嚴拱標. 基于多傳感器的信息數據融合技術在電力系統中的應用[J]. 微計算機信息, 2006, 11-1: 191-193
標簽:
傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(www.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-12-15
2025-12-12
2025-12-12
2025-12-10
2025-11-20
2025-11-10