基于單片機的無人機真空速測量系統(tǒng)設計
摘要:為了測量無人機真空速,設計了基于單片機的無人機真空速測量系統(tǒng)。根據(jù)真空速和動壓靜壓的關系式,采用分段線性插值的算法,測試了0-5 000m高度的實際真空速值,得到的結果相對誤差均不大于4%,能夠滿足系統(tǒng)精度要求。測試結果表明:該系統(tǒng)具有良好的穩(wěn)定性,能實時準確地測量出真空速值。
關鍵詞:單片機;真空速;動壓;靜壓;線性插值
真空速是指飛機相對空氣運動時所具有的真實速度,它是飛機安全飛行的重要參數(shù)。準確的真空速數(shù)據(jù)信息對于提高飛行的安全性、準確性和經(jīng)濟性起著相當大的作用。飛機相對于空氣運動時,可根據(jù)運動的相對性將飛機看作不動,而空氣是以大小相等,方向相反的流速流過飛機。真空速無法直接測出,只能根據(jù)大氣靜壓和動壓間接計算出來。本文介紹了一種基于C8051F352單片機的無人機真空速測量系統(tǒng)的設計,該系統(tǒng)測量結果的相對誤差小于4%,能夠滿足無人機飛行控制系統(tǒng)的精度要求。
1 測量原理
無人機的真空速通常跟大氣靜壓和動壓有關,對于飛行高度不超過11 000 m,飛行馬赫數(shù)不大于1的情況,真空速可由公式(1)計算:
式中,PH為對應高度的大氣壓力(大氣靜壓),PD為大氣動壓,是大氣總壓與靜壓之差。式中各常數(shù)分別為:Pob=101 325 Pa,是標準海平面上的大氣靜壓;Tob=288 K,是標準海平面處大氣溫度;τb=0.0065 K/m是溫度遞減率;R=29.2746 m/K,是大氣常數(shù);k=1.4是空氣絕熱指數(shù);g=9.806 65是重力加速度。
從式(1)可看出,只要測量出大氣靜壓和動壓,便可根據(jù)計算公式,計算出真空速。
2 系統(tǒng)整體結構
根據(jù)數(shù)字式大氣數(shù)據(jù)測量系統(tǒng)的組成和工作原理,筆者設計了以單片機為核心的真空速測量系統(tǒng),其整體結構如圖1所示。絕壓傳感器和動壓傳感器感受到靜壓和動壓,并分別將其轉換為相應的電壓信號。由于傳感器的輸出信號較為微弱,因此,必須通過放大電路和調零電路以及濾波電路對其進行處理,產(chǎn)生符合要求的信號,然后傳送到AD轉換輸入端。單片機自帶的A/D轉換器將靜壓和動壓的模擬電壓信號轉換為數(shù)字信號,并送入單片機CPU進行處理,CPU根據(jù)真空速計算公式計算出相應真空速值。計算結果通過串口發(fā)送至機載飛控計算機,在顯示界面顯示出來。
3 系統(tǒng)硬件電路設計
3.1 壓力數(shù)據(jù)采集模塊
筆者設計的真空速測量系統(tǒng)要求工作在0~5 000 m高度范圍內,根據(jù)壓高公式(2),可計算出靜壓范圍在54 005~101 325 Pa之間。差壓傳感器的量程取決于飛行器真空速的量程。文中所測量的真空速范圍為50~400 km,則根據(jù)公式(1)可計算出動壓范圍在71~7 769 Pa之間。
根據(jù)靜壓和動壓范圍,本文的絕壓傳感器和差壓傳感器分別選用HONEYWELL公司的ASDX015A24R型傳感器和140PC02D型傳感器。ASDX015A 24R的量程為0~15 psi(103.419 kPa),精度在2%以內;140PC02D的量程為0~2 psi(13.7892 kPa),精度為0.25%。測壓器件選用GCY-1M型高精度綜合測試儀??筛鶕?jù)公式(3)計算出由傳感器所引起的誤差為3.23%。
本系統(tǒng)所選單片機C8051F352有2個16位AD轉換(ADC0和ADC1),靜壓和動壓傳感器輸出信號經(jīng)放大調零后,可分別送入單片機AD轉換輸入端轉換為數(shù)字信號。
3.2 單片機處理電路
本設計的使用C8051F352單片機采用32管腳的LQFP封裝,是由美國Cygnal公司推出的具有高速度、高性能、高集成等特點,并能與8051兼容的單片機,除了具有標準8052的數(shù)字外設部件以外,片內還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設及功能部件。
本系統(tǒng)設計中使用了C8051F352微控器中的AIN0和AIN1兩個模擬通道,分別用于靜壓和動壓的模擬/數(shù)字轉換。單片機的AD將輸入的模擬信號轉換為數(shù)字信號,然后送入CPU進行數(shù)據(jù)處理。
3.3 串口通信
解算后的真空速要通過串口發(fā)送至上位機,在顯示界面顯示。真空速由單片機串口經(jīng)RS-232接口發(fā)送至上位機,并使用MAX232芯片實現(xiàn)單片機電平轉換從而能與上位機進行正常通信。單片機CPU采用異步串行輸出UART0,工作在方式1,中斷方式,定時器1設置為自動重裝載方式產(chǎn)生115 200的波特率。
3.4 顯示界面
上位機通訊程序主要使用Visual C++編程,該顯示界面用于顯示大氣靜壓、動壓和真空速值。程序界面如圖2所示。
在上位機程序編寫時,需要使用MSComm控件,通過設置控件的各個屬性來完成串口的參數(shù)設置以及數(shù)據(jù)的接收。真空速顯示界面所使用的MSComm控件屬性主要有以下幾個:CommPort屬性(用于設置串口號),PortOpen屬性(用于打開或關閉串口),SetSettings屬性(用于設置或返回串口波特率、奇偶校驗、數(shù)據(jù)位、停止位參數(shù)),InBufferCount屬性(設置或返回接收緩沖區(qū)中等待計算機接收的字符數(shù)),Input屬性(從接收緩沖區(qū)中讀取數(shù)據(jù)并清空接收緩沖區(qū))。
4 真空速解算方法設計
4.1 線性插值原理
分段低次插值是函數(shù)插值方法的一種,將比較復雜的函數(shù)f(x)的插值區(qū)間[a,b]分成一系列子區(qū)間,在每一個子區(qū)間[xi,xi+1]上,用一個簡單的函數(shù)來近似原函數(shù)。當每個子區(qū)間采用的近似函數(shù)為一次函數(shù)時,就成為常用的線性插值法。
子區(qū)間的線性插值公式為:
h即為插值步長。在計算函數(shù)值時,系統(tǒng)采集到x值,然后找到值所在的插值區(qū)間[xi,xi+h]及相應函數(shù)值[yi,yi+h],便可根據(jù)插值公式計算出y值。
4.2 插值節(jié)點計算
由公式(1)看出真空速計算公式比較復雜,如果直接用單片機進行計算,則會占用大量內存資源,從而降低計算速度。因此,在系統(tǒng)允許誤差范圍內,對原函數(shù)采用插值,將復雜函數(shù)用一個簡單的函數(shù)來近似。由于真空速計算式有兩個變量,無法直接采用分段線性插值來解算,考慮到實際運算的方便,使用公式(6)來計算真空速值。
則公式(6)中的真空速分為兩部分:一部分是只包含動壓PD變量的指示空速Vi,另一部分是只含有靜壓PH變量的氣壓高度H的函數(shù)式H’,通過計算可得1≤H’≤1.289 9。
指示空速Vi和氣壓高度日的計算公式分別如公式(7)和公式(8)所示。
根據(jù)公式(4),對真空速公式的兩部分分別進行處理。
首先對的Vi進行分段線性插值。插值節(jié)點個數(shù)可由線性插值余項來確定:
本設計中將插值計算的相對誤差設為0.5%,則δ=400x0.000 5=0.2 km,,根據(jù)公式(9)可得,插值步長為。令h=29,插值節(jié)點。因為為整數(shù),所以令,n=266。
真空速公式的第二部分是氣壓高度H的函數(shù)式H’,在此不對H進行插值,而直接對H’進行插值。本設計中將插值計算的相對誤差設為0.01%,則δ=1.2899×0.01%=0.012 899≈0.0013。M=max|(H’)”(Ph)|=.513×10-10,根據(jù)公式(9)可得,插值步長為。則插值節(jié)點n≥。為整數(shù),所以令n=8。
只要通過上述插值算法分別計算出動壓相應值和靜壓相應值,然后相乘即得到實際真空速值。
5 測試結果
表1是高度分別在0 m,1 000 m,3 000 m和5 000 m實時計算出的真空速實際值。從表中看出,實際真空速最大誤差均不超過4%,能夠滿足設計要求。
6 結束語
文中設計的基于單片機的無人機真空速測試系統(tǒng),電路簡單,體積小,重量輕,性能穩(wěn)定,能夠實時、準確地測量出真空速值,適用于小型無人飛行系統(tǒng)。





