周開月,宋春華,韋興平
(西華大學 機械工程與自動化學院,成都 610000)
20世紀末以來,隨著電子、信息和半導體技術的發展,氣壓測量裝備進入了快速發展時期。其要求和難點都是準確度高,且變量非常小。世界氣象組織在1990年第十次大會上給出了氣象觀測對氣象儀器測量誤差要求的目標,其中對地面氣象觀測的誤差規定為±0.1 hPa。在2011年,國內軍用級地面氣壓儀的準確度普遍在±0.5~±1.2 hPa,遠不能滿足精度要求[1]。
在研制的基于ARM的氣壓測量系統中,集成了采集、計算、面向對象操作、顯示和主從機數據接收發送的功能,相對于傳統氣壓測量裝置的笨重、調試不便和需外置通訊裝置等缺點,不僅體積小、可利用觸摸屏隨時修正參數,還將所有功能集成在一塊電路板上,具有集成度高、精度高、環境適應力強和使用方便的特點,適合工程應用。
該氣壓測量系統主要由ADUC7026處理器、溫度/頻率傳感器、信號調理電路、觸摸屏顯示器和485通訊電路等部分構成,其系統結構框圖如圖1所示。

圖1 系統框圖Fig.1 Block diagram of system
CPU采用了ARM7系列的ADUC7026芯片,片內集成了12位、多通道高性能ADC的數據采集系統;其中包含2個32位的定時/計數器(不使用FD專用集成電路時的誤差為2 Hz左右),可以較為恰當地搭配傳感器的相關性能。片內集成的非易失性Flash/EE存儲器可以隨時保存實際調試中的參數設定。芯片的工作溫度范圍為-40℃~+125℃[2]。
通過片內基準電壓的設定和支持長乘法的特性,可以滿足系統對于高精度的要求。芯片使用開發環境,降低了開發成本,使該芯片廣泛應用于精密儀器中。
顯示器采用了分辨率為240×320的彩色觸摸屏,不僅提供了數據的可視化,還為測量過程中的參數調整提供了便利。顯示器使用ILI9325控制驅動,根據實際需要選擇8路并行數據接口與芯片的P3口直接相連,通過XPT2046芯片來讀取屏幕上的AD變化且讀取出坐標(x,y),從而在GUI上實現參數設定。
傳感器則采用了某振動筒式壓力傳感器,當被測介質(大氣或標準空氣)進入振動筒壓力傳感器后,在振動筒內產生諧波,其頻率信號經過放大器放大后輸入到FDC轉換電路。振動筒的諧振動頻率fp是壓力P和環境溫度T的函數,即:

ADUC7026的內置ADC為一款基于兩個電容DAC的12位逐次逼近型轉換器。根據輸入信號的配置不同,ADC可以在三種不同的模式下工作:①全差分模式,用于小信號和平衡信號;②單端模式,用于任意單端信號;③偽差分模式,用于任何單端信號輸入,可以較好的抑制共模信號。本系統使用偽差分模式。在這種模式下,ADC模擬輸入范圍為0 V~Vref。同時,片內提供了一個高精度、低漂移、工廠校準的2.5 V基準電壓源[2]。
首先傳感器將采集到的模擬電壓值和頻率信號分為兩路分別傳給電壓信號調理電路和頻率處理專用芯片。其中的電壓信號經過分壓、濾波、二次濾波和單路精密放大,在穩定電源的條件下可形成一個平穩、無毛刺的模擬信號,此時將信號送入CPU進行片內AD轉換,即可得到:

其中:A為經過處理的模擬電壓值;H為分壓系數;M為放大系數(此處為1),A?為最后得到的實際電壓值。
考慮到實際中溫度的變化不太可能出現急劇的變化(如表1所示,為不同溫度環境下傳感器的電壓輸出測試結果,此表說明電壓變化范圍大概在4.8~7.6 V之間),為了增大采集和轉換精度,可以適當降低其實時性,對轉換過的電壓值進行取本次10%和上一次90%的軟件濾波操作。這樣做的目的是:有效減少電路設計和電壓源的不穩定性對AD轉換精度造成的影響。

表1 不同溫度下測得的電壓值Tab.1 Voltage values at different temperatures
接下來再對電壓值進行一階系數修正:為達到實際使用要求,將環境溫度范圍設定在-20℃~60℃,利用穩壓電源可以將精確測得的實際電壓值y輸出給采集電路,待電壓穩定后在顯示器上讀取電壓的計算值x,利用式(3)即可計算出兩者之間的線性關系。

實驗數據如表2所示。

表2 電壓的線性修正Tab.2 Linear correction of voltage
線性度如圖2所示,其線性關系基本呈一條直線,由此可見一階系數修正已經可以滿足一般溫度變化的精度要求。以上運算在中斷程序中進行,大約耗時8 ms。

圖2 電壓的線性度Fig.2 Linearity of voltage
對于頻率量的測量一般分為測頻法和測周法。為了提高測量精度,本設計采用專用集成電路的軟硬件測周法。原理如式(4),采用增量的形式表示:
其中:Ni+1和Ni分別為第i+1、i次采集周期的高頻計數值;ni+1和ni分別為第i+1、i次采集周期的低頻計數值;t0為標準高頻脈沖周期值[3-4]。
測頻芯片兩次同時對高、低頻數進行采樣,并求出其增量,然后求出低頻的周期值。本系統將N和n對應的計數器設計成循環計數器,分別對標準的高頻時鐘脈沖和被測頻率的脈沖數進行連續循環計數,保證同時采到高低頻數,且第i次和第i+1次都是在低頻脈沖的完整周期內采樣。此過程在軟件中斷中完成,耗時大約10 ms。
F/D轉換電路把傳感器的頻率信號數字化,實現對壓力傳感器周期的測量,然后CPU讀取F/D、A/D模塊轉換出的數據,并按所采樣的F/D轉換數據,計算出壓力傳感器的諧振周期,根據A/D轉換模塊的采樣值計算出溫度電壓和修正壓力值,然后根據周期、溫度和修正壓力值可計算出壓力數據和氣壓高度。壓力和氣壓高度數據經數據處理后,通過ADUC7026的并行輸出口傳送到顯示器上,并通過485發送。
實際中,頻率的變動對計算出的氣壓結果有很大影響,2 Hz的波動就可引起氣壓上百Pa的起伏。同時,軟件對氣壓量每次的采集和計算大約耗時20 ms,即采集速率為50次/s,采集思路為

MODBUS可編程控制器之間可相互通訊,也可與不同網絡上的其他設備進行通訊。本設計采用RTU模式,相對于ASCII模式,速度更快,準確度更高。RTU幀的從機發送格式如表3所示,其中N表示需要發送的數據個數。

表3 RTU幀的格式Tab.3 Frame format of RTU
這里需要指出的是,為保證發送數據的準確性,實際中在向COMTX寄存器裝數時應該在以上字節總和的基礎上再加1,即發送15個字節,實際收到的有效字節為14個。
鑒于此測試系統的實際用途,將此系統設置為從機模式:即接收到主機的指令后才發送數據。在實驗中,將主機端數據的自動發送速度設置為200 ms一次,在接收到1288個字節(即56次數據)時,發送756個字節(即54次數據),丟包率僅為3.5%左右,滿足工程要求。
為了達到對接收數據的快速響應,在正常工作模式下采用查詢方式處理通訊模塊。同時,在沒有查詢到正確數據時,在中斷方式內進行電壓值和頻率值的采集和計算,設定中斷間隔為20 ms一次(計算電壓和頻率的時間大約有18 ms)。考慮到顯示器不需要實時對計算出的數據進行更新,可以通過軟件計數方式來對氣壓和高度進行不同時間間隔的更新。軟件框圖如圖3所示。

圖3 程序框圖Fig.3 Block diagram of program
根據式(1),則可得到:

再根據式(2)得出電壓后,根據式(6)即可得到高度H[5]:

式中:H為幾何高度;T0為海平面高度;T為溫度梯度;P為H處的大氣壓強;P0為海平面大氣壓強;R為宇宙氣體常數;m為空氣分子重量;g為重力加速度。
另外,在風電場氣壓監測系統中,其數據可以作為一維向量加入到基于支持向量機的風電場風速預測的運算中,為風電場的運行提供決策支持。
經過對數據標定分析后,采用分段線性計算對氣壓進行運算,得到其測量范圍為(50~130)kPa,精度為±0.03%FS,分辨率為0.01 hPa。無論是數據準確性和系統的響應快速性,都已經完全達到甚至超出國家氣象局對氣壓測量的要求[6]。
該測量系統已經成功研制出第一代產品并應用于地面壓力測試中,通過地面實驗,最終計算出的高度數據與實際壓力得出的高度之間的相對誤差僅為0.008%。同時,芯片的工業級標準也可以使其在惡劣環境下執行高精度氣象數據采集的任務。
[1] 姜明波.氣壓測量儀器的現狀及發展[C]//2011年底氣象水文海洋儀器學術交流會,2011.
[2] 孫來軍.ADUC7026原理與應用[M].北京:電子工業出版社,2009.
[3] 楊雷,李廣明,康麗,等.基于多周期測量方法的氣壓傳感器信號采集[J].儀器儀表學報,2007,28(4):687-691.
[4] 史利劍,王永生.一種簡易無人機載大氣數據計算機的設計[J].計算機技術與應用,2005,25(6):70-72.
[5] 禤家裕,裴海龍.一種小型無人機高度定位方法的研究與實現[J].自動化與儀表,2010,25(12):1-6.
[6] 國家氣象局.地面有線綜合遙測氣象儀觀測規范[M].北京:氣象出版社,2001.■