李 超,嚴家明,劉松林
(西北工業大學 電子信息學院,陜西 西安710129)
空速測量是無人機乃至有人機基本的測量參數之一,飛機空速分為真空速與指示空速,多年來無人機都是使用簡易的速度測量系統。本文通過對空速測量原理的深入研究,以嵌入式技術為核心,并采用擴散硅壓傳感器來獲取大氣壓力,設計了一種測量真空速的軟硬件結合的無人機真空速測量系統。
由于真空速與氣壓的關系過于復雜,本系統采用數據建模的方式來實現空速測量。數據建模有兩種方法:(1)擬合法:從整體上考慮近似函數同所給數據點誤差的大小;(2)插值法:差值函數嚴格地通過每一個數據點。采用擬合方法時,由于計算精度達不到0.1%的系統要求,因此本設計采用插值法。但是隨著差值節點的增加,插值多項式的次數也相應增加,而高次的多項式容易帶來劇烈的震蕩和數據不穩定,同時考慮到高次函數會占用大量的系統資源,降低運算速度,設計時插值函數的最高次定為一次。在本系統中,對真空速解算采用分段低次插值法。

式中,PH為飛機所在高度的大氣靜壓,Pob為基準面處的大氣靜壓,Tob為基準面處的大氣溫度,τb為溫度遞減率,R為氣體常數,K為絕熱系數,g為重力加速度,Pd為飛機所在高度的大氣動壓。
假設飛機處于標準大氣狀態下的海平面時,如取PO=PH=Pob、TO=Tob、τ=τb,則可得:

對于飛行高度不超過11 km、飛行馬赫數不>1的情況,假設空氣視作理想氣體,大氣溫度按線性規律隨高度遞減,取海平面為基準面,壓縮過程為絕熱壓縮過程,則解算真空速的公式為[1]:
由式(2)可見,Vi僅是動壓Pd的函數,并稱其為指示空速[2]。
同時,大氣壓力與高度的關系可表示為:

另外,真空速計算公式可以改寫為:

式(4)將真空速計算公式分為兩部分:(1)只包含動壓變量的指示空速Vi;(2)只包含氣壓高度H的函數式H′。由于Vi和H′均為單值函數,則可以分別對其做低次分段插值,得到的結果即為真空速。
當采用分段低次線性插值方法時,每個子區間上的插值公式為如下一次多項式[3]:


當采集到值后,可查找x和y所在相應區間,然后根據插值公式計算y值。
根據上述分析將真空速計算公式(4)分為只包含動壓的指示空速和只包含氣壓高度的函數,對兩部分做線性低次插值,通過查表法,就可以在只求指示空速的同時計算出真空速。其方法如下:
(1)首先進行分段低次插值。線性低次插值是在每個插值區間屬于一次多項式插值,其插值余項為:

為了簡化程序設計,本系統采用x軸等步長的線性插值。設插值步長h=xi+1-xi,則式(6)可改寫為:

同時,由指示空速函數式(2)可知,在動壓Pd=0.118 kPa處,有最大值,因此,M1==0.001 9。
本設計中將插值計算的相對誤差限定為0.05%,可得絕對誤差δ1=400×0.05%=0.2 km/h,由此可以求出步長h1:

取h1=29.03 Pa,則插值節點數為:

在本設計中取G1=263。
式(11)中,插值初點為0.118 kPa,插值末點為7.765 4 kPa,插值步長為29.03 Pa,插值點總個數為264。由此可解算出指示空速Vi的值。
(2)真空速解算公式的第二部分是函數式H′,由H′函數式可知,在靜壓PH=54.005 kPa處,有最大值,因此:


在本設計中取G2=10。
式(14)中,5.400 5 kPa為插值初點,101.325 kPa為插值末點,4 531.18 Pa為插值步長,11為插值點總個數。由此可解算出H′,Vi和H′解算結果的乘積就是真空速的值[4]。
本部分的相對誤差取0.005%,則:

由此可解算出步長h2≤4 531.18,取h2=4.531 kPa,則插值節點數為:
本測試系統由上位機及以ARM微處理器為核心的中央控制處理單元和信號調理電路組成,系統總體框圖如圖 1所示[5]。

絕壓傳感器和差壓傳感器感受到的靜壓和動壓,并分別將其轉換為相應的電壓信號。經過信號調理電路,對壓力傳感器的輸出信號進行濾波和放大,然后通過ARM上集成的A/D轉換器對信號采樣并將模擬量轉換為數字量,對離散信號采用相關算法計算空速值,最后將運算結果通過RS232通信模塊傳送給上位機。ARM選用STM32F103ZET6芯片,該芯片使用高性能的32 bit Cortex-M3系列的 RISC內核,工作頻率為 72 MHz,內置512 KB的閃存和64 KB的SRAM。器件包含4個通用16 bit定時器,3個12 bit的ADC,還包含標準和先進的通信接口(SPI、USB、USART 等)。
本系統采用MPX10DP型硅壓阻式差壓傳感器測量飛行速度產生的動壓Pd,采用ASDXO15A24R型絕壓傳感器來測量大氣靜壓。
針對本系統的動壓范圍,為了使傳感器在不同情況下輸出電壓滿足ARM內置ADC的輸入電壓范圍,信號調理電路增加了一級調零電路,將放大倍數分別分配給AD620和后級減法電路。由AD620和減法電路組成的放大調零電路如圖2所示。R200為放大倍數調節電阻,R201為調零電阻。

在本系統中,壓力和溫度數據通過ADC采樣。為確保采樣轉換的準確性,使用定時器來控制,通過改變重裝載值就可以實現不同的采樣頻率。選擇定時器1的觸發輸出事件啟動ADC轉換,ADC選擇連續轉換模式,在定時器預置的時間里完成52次采樣,舍棄最大值和最小值,通過求和平均計算出當前的ADC轉換值。另外,考慮到經ADC轉換后的數字量所存在的噪聲干擾,采用軟件方法進行濾波處理。本系統在算術平均值的基礎上采用了加權平均值濾波算法,以確保測量結果的準確性[7]。
運用ARM實現信號采集及濾波處理流程如圖3所示。

圖3 信號采集濾波流程圖
本設計中,上位機軟件在NI公司的虛擬儀器軟件開發平臺LabVIEW上開發。軟件設計采用了自頂向下的設計思想,上位機與下位機通過雙方發送中斷程序完成交互和握手,通信的內容包括上位機的控制指令與ARM運算處理后的測試數據。
上位機程序主要包括控制指令和數據顯示兩個模塊。控制指令包括對串口的配置等;數據顯示模塊將ARM運算處理后的空速數據顯示在上位機指定區域內。上位機軟件界面運行效果如圖4所示。
本設計下位機在Keil μVision4軟件開發環境中編譯并調試,采用C語言編寫。下位機根據接收到的上位機控制命令來執行相應操作,并且將測試結果傳送回上位機顯示。下位機程序流程圖如圖5所示。
測試開始后,初始化ARM各硬件模塊,等待接收上位機控制指令,當接收到上位機控制指令后,開始執行后續操作,其中主要操作包括:(1)當絕壓傳感器和差壓傳感器將靜壓PH與動壓Pd轉換為電流信號后,通過ARM內置ADC轉換,以保證待測信號經過外圍調零放大電路后,信號電壓不會超過ADC的工作電壓范圍。(2)設置ADC模擬看門狗的高閾值和低閾值并使能中斷程序,通過ADC模擬看門狗中斷程序調節電壓放大倍數。(3)將采樣數據進行相應的運算處理即可分別得到指示空速和真空速結果。(4)將結果通過RS-232串行接口發送給上位機[8]。

本系統在指示空速為100 km/h~400 km/h,高度為0 m、1 000 m、3 000 m和5 000 m范圍內,實時計算出當前高度與壓力下的真空速,其實驗結果如表1所示。由表1可以看出,真空速的測試相對誤差控制在2.5以內,滿足系統的設計要求。

本文設計了一種基于ARM的無人機空速測量系統,通過ARM上集成的模擬數字轉換電路對絕壓傳感器和差壓傳感器輸出的信號進行采樣。針對真空速測量公式的復雜性,通過公式分解,采用低次線性插值算法,實現了真空速實時測量,并通過LabVIEW軟件實現了上位機顯示。實驗結果表明,該系統測量有效解決了傳感器的溫漂問題,提高了測量精度、穩定性以及實時性。本系統優于傳統的測量裝置,適用于工程應用。
[1]朱定國.航空測試系統[M].北京:國防工業出版社,1990:296-307.
[2]袁智榮,姜曉愛.小型無人機真空速測量系統的設計[J].傳感器技術,2003,22(4):26-28.
[3]歐陽潔,聶玉峰,車剛明.數值分析[M].西安:西北工業大學出版社,2007.
[4]蔣健飛,胡良劍,唐儉.數值分析及其 MATLAB實驗[M].北京:科學出版社,2004:73.
[5]GAVRLETS V,SHTERENBERG A,MARTINOS I,et al.Avionics system for aggressive maneuvers[J].IEEE Aess Systems Magzine,2001,9(2):14-17.
[6]趙家貴,付小美,董平.新編傳感器電路設計手冊[M].北京:中國計量出版社,2002:26-28.
[7]孫傳友,孫曉斌,漢澤西,等.測控系統原理與設計[M].北京:北京航空航天大學出版社,2002.
[8]揭峰.基于單片機的無人機指示空速測量系統設計[D].西安:西北工業大學,2010.