楊靈芝,嚴(yán)家明,李 超
(西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710129)
真空速是指飛機(jī)相對(duì)空氣運(yùn)動(dòng)時(shí)所具有的真實(shí)速度,它是飛機(jī)安全飛行的重要參數(shù)。準(zhǔn)確的真空速數(shù)據(jù)信息對(duì)于提高飛行的安全性、準(zhǔn)確性和經(jīng)濟(jì)性起著相當(dāng)大的作用。飛機(jī)相對(duì)于空氣運(yùn)動(dòng)時(shí),可根據(jù)運(yùn)動(dòng)的相對(duì)性將飛機(jī)看作不動(dòng),而空氣是以大小相等,方向相反的流速流過飛機(jī)。真空速無(wú)法直接測(cè)出,只能根據(jù)大氣靜壓和動(dòng)壓間接計(jì)算出來[1]。本文介紹了一種基于C8051F352單片機(jī)的無(wú)人機(jī)真空速測(cè)量系統(tǒng)的設(shè)計(jì),該系統(tǒng)測(cè)量結(jié)果的相對(duì)誤差小于4%,能夠滿足無(wú)人機(jī)飛行控制系統(tǒng)的精度要求。
無(wú)人機(jī)的真空速通常跟大氣靜壓和動(dòng)壓有關(guān)[2],對(duì)于飛行高度不超過11 000 m,飛行馬赫數(shù)不大于1的情況,真空速可由公式(1)計(jì)算:
式中,PH為對(duì)應(yīng)高度的大氣壓力(大氣靜壓),PD為大氣動(dòng)壓,是大氣總壓與靜壓之差。式中各常數(shù)分別為:Pob=101 325 Pa,是標(biāo)準(zhǔn)海平面上的大氣靜壓;Tob=288 K,是標(biāo)準(zhǔn)海平面處大氣溫度;τb=0.0065 K/m是溫度遞減率;R=29.2746 m/K,是大氣常數(shù);k=1.4是空氣絕熱指數(shù);g=9.806 65是重力加速度。
從式(1)可看出,只要測(cè)量出大氣靜壓和動(dòng)壓,便可根據(jù)計(jì)算公式,計(jì)算出真空速。
根據(jù)數(shù)字式大氣數(shù)據(jù)測(cè)量系統(tǒng)的組成和工作原理[3],筆者設(shè)計(jì)了以單片機(jī)為核心的真空速測(cè)量系統(tǒng),其整體結(jié)構(gòu)如圖1所示。絕壓傳感器和動(dòng)壓傳感器感受到靜壓和動(dòng)壓,并分別將其轉(zhuǎn)換為相應(yīng)的電壓信號(hào)。由于傳感器的輸出信號(hào)較為微弱,因此,必須通過放大電路和調(diào)零電路以及濾波電路對(duì)其進(jìn)行處理,產(chǎn)生符合要求的信號(hào),然后傳送到AD轉(zhuǎn)換輸入端。單片機(jī)自帶的A/D轉(zhuǎn)換器將靜壓和動(dòng)壓的模擬電壓信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),并送入單片機(jī)CPU進(jìn)行處理,CPU根據(jù)真空速計(jì)算公式計(jì)算出相應(yīng)真空速值。計(jì)算結(jié)果通過串口發(fā)送至機(jī)載飛控計(jì)算機(jī),在顯示界面顯示出來。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 Structure diagram of the hardware system
筆者設(shè)計(jì)的真空速測(cè)量系統(tǒng)要求工作在0~5 000 m高度范圍內(nèi),根據(jù)壓高公式[2](2),可計(jì)算出靜壓范圍在54 005~101 325 Pa之間。差壓傳感器的量程取決于飛行器真空速的量程。文中所測(cè)量的真空速范圍為50~400 km,則根據(jù)公式(1)可計(jì)算出動(dòng)壓范圍在71~7 769 Pa之間。
根據(jù)靜壓和動(dòng)壓范圍,本文的絕壓傳感器和差壓傳感器分別選用HONEYWELL公司的ASDX015A24R型傳感器和140PC02D型傳感器。ASDX015A24R的量程為 0~15 psi(103.419 kPa),精度在 2%以內(nèi);140PC02D 的量程為 0~2 psi(13.7892 kPa),精度為0.25%。測(cè)壓器件選用GCY-1M型高精度綜合測(cè)試儀??筛鶕?jù)公式(3)計(jì)算出由傳感器所引起的誤差為3.23%。
本系統(tǒng)所選單片機(jī)C8051F352有2個(gè)16位AD轉(zhuǎn)換(ADC0和ADC1),靜壓和動(dòng)壓傳感器輸出信號(hào)經(jīng)放大調(diào)零后,可分別送入單片機(jī)AD轉(zhuǎn)換輸入端轉(zhuǎn)換為數(shù)字信號(hào)。
本設(shè)計(jì)的使用C8051F352單片機(jī)[6]采用32管腳的LQFP封裝,是由美國(guó)Cygnal公司推出的具有高速度、高性能、高集成等特點(diǎn),并能與8051兼容的單片機(jī),除了具有標(biāo)準(zhǔn)8052的數(shù)字外設(shè)部件以外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件。
本系統(tǒng)設(shè)計(jì)中使用了C8051F352微控器中的AIN0和AIN1兩個(gè)模擬通道,分別用于靜壓和動(dòng)壓的模擬/數(shù)字轉(zhuǎn)換。單片機(jī)的AD將輸入的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),然后送入CPU進(jìn)行數(shù)據(jù)處理。
解算后的真空速要通過串口發(fā)送至上位機(jī),在顯示界面顯示。真空速由單片機(jī)串口經(jīng)RS-232接口發(fā)送至上位機(jī),并使用MAX232芯片實(shí)現(xiàn)單片機(jī)電平轉(zhuǎn)換從而能與上位機(jī)進(jìn)行正常通信。單片機(jī)CPU采用異步串行輸出UART0,工作在方式1,中斷方式,定時(shí)器1設(shè)置為自動(dòng)重裝載方式產(chǎn)生115 200的波特率。
上位機(jī)通訊程序主要使用Visual C++編程,該顯示界面用于顯示大氣靜壓、動(dòng)壓和真空速值。程序界面如圖2所示。
在上位機(jī)程序編寫時(shí),需要使用MSComm控件[7],通過設(shè)置控件的各個(gè)屬性來完成串口的參數(shù)設(shè)置以及數(shù)據(jù)的接收。真空速顯示界面所使用的MSComm控件屬性主要有以下幾個(gè):CommPort屬性 (用于設(shè)置串口號(hào)),PortOpen屬性(用于打開或關(guān)閉串口),SetSettings屬性(用于設(shè)置或返回串口波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位參數(shù)),InBufferCount屬性(設(shè)置或返回接收緩沖區(qū)中等待計(jì)算機(jī)接收的字符數(shù)),Input屬性(從接收緩沖區(qū)中讀取數(shù)據(jù)并清空接收緩沖區(qū))。
圖2 真空速顯示界面Fig.2 Interface display of real-air speed
分段低次插值是函數(shù)插值方法的一種,將比較復(fù)雜的函數(shù)f(x)的插值區(qū)間[a,b]分成一系列子區(qū)間,在每一個(gè)子區(qū)間[xi,xi+1]上,用一個(gè)簡(jiǎn)單的函數(shù)來近似原函數(shù)。當(dāng)每個(gè)子區(qū)間采用的近似函數(shù)為一次函數(shù)時(shí),就成為常用的線性插值法[8]。
子區(qū)間的線性插值公式為:
h即為插值步長(zhǎng)。在計(jì)算函數(shù)值時(shí),系統(tǒng)采集到x值,然后找到值所在的插值區(qū)間[xi,xi+h]及相應(yīng)函數(shù)值[yi,yi+h],便可根據(jù)插值公式計(jì)算出y值。
由公式(1)看出真空速計(jì)算公式比較復(fù)雜,如果直接用單片機(jī)進(jìn)行計(jì)算,則會(huì)占用大量?jī)?nèi)存資源,從而降低計(jì)算速度。因此,在系統(tǒng)允許誤差范圍內(nèi),對(duì)原函數(shù)采用插值,將復(fù)雜函數(shù)用一個(gè)簡(jiǎn)單的函數(shù)來近似。由于真空速計(jì)算式有兩個(gè)變量,無(wú)法直接采用分段線性插值來解算,考慮到實(shí)際運(yùn)算的方便,使用公式(6)來計(jì)算真空速值[9]。
為簡(jiǎn)化程序設(shè)計(jì),本系統(tǒng)采用等步長(zhǎng)線性插值,即令h=xi+1-xi。則上式可修改為:
則公式(6)中的真空速分為兩部分:一部分是只包含動(dòng)壓PD變量的指示空速Vi,另一部分是只含有靜壓PH變量的氣壓高度H的函數(shù)式H′,通過計(jì)算可得1≤H′≤1.289 9。
指示空速Vi和氣壓高度H的計(jì)算公式分別如公式(7)和公式(8)所示。
根據(jù)公式(4),對(duì)真空速公式的兩部分分別進(jìn)行處理。
首先對(duì)的Vi進(jìn)行分段線性插值。插值節(jié)點(diǎn)個(gè)數(shù)可由線性插值余項(xiàng)來確定[10]:
本設(shè)計(jì)中將插值計(jì)算的相對(duì)誤差設(shè)為0.5%[11],則
只要通過上述插值算法分別計(jì)算出動(dòng)壓相應(yīng)值和靜壓相應(yīng)值,然后相乘即得到實(shí)際真空速值。
表1 真空速測(cè)量結(jié)果Tab.1 Test result of real-air speed
表1是高度分別在0 m,1 000 m,3 000 m和5 000 m實(shí)時(shí)計(jì)算出的真空速實(shí)際值。從表中看出,實(shí)際真空速最大誤差均不超過4%,能夠滿足設(shè)計(jì)要求。
文中設(shè)計(jì)的基于單片機(jī)[12]的無(wú)人機(jī)真空速測(cè)試系統(tǒng),電路簡(jiǎn)單,體積小,重量輕,性能穩(wěn)定,能夠?qū)崟r(shí)、準(zhǔn)確地測(cè)量出真空速值,適用于小型無(wú)人飛行系統(tǒng)。
[1]楊世均.航空測(cè)試系統(tǒng)[M].北京:國(guó)防工業(yè)出版社,1984.
[2]袁智榮,姜曉愛.小型無(wú)人機(jī)真空速測(cè)量系統(tǒng)的設(shè)計(jì)[J].傳感器技術(shù),2003,22(4):26-28.
YUAN Zhi-rong,JIANG Xiao-ai.Design of real-air speed measuring system in minitype unmanned verticraft[J].Journal of Transducer Technology,2003,22(4):26-28.
[3]孫傳友,孫曉斌,漢澤西,等.測(cè)控系統(tǒng)原理與設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2002.
[4]140PC系列差壓、表壓、絕壓、負(fù)壓/放大,補(bǔ)償[EB/OL].(2011-12)http://www.honeywell-sensor.com.cn/prodinfo/di_silicon_pressure/datasheet/140pc.pdf.
[5]ASDX Series 0 to 1psi through 0 to 100psi Pressure Transducers.[EB/OL].http://www.digikey.com/sg/zhs/ph/Honeywell/asdx.html?WT.z_Tab_Cat=Featured%2520Products.
[6]潘琢金,譯.C8051F352小混合信號(hào)ISP FLASH微控制器數(shù)據(jù)手冊(cè)[M].北京:北京航空航天大學(xué)出,2004.
[7]李長(zhǎng)林,陳浩杰.Visual C++串口通信技術(shù)與實(shí)例典型[M].北京:清華大學(xué)出版社,2006.
[8]張馳平,施云慧.計(jì)算方法[M].北京:科學(xué)出版社,2002.
[9]劉歌群.無(wú)人機(jī)飛行控制器設(shè)計(jì)及檢測(cè)與控制技術(shù)研究[D].西安:西北工業(yè)大學(xué)出版社,2006.
[10]歐陽(yáng)潔,聶玉峰,車剛明.數(shù)值分析[M].西安:西北工業(yè)大學(xué),2007.
[11]揭峰.基于單片機(jī)的無(wú)人機(jī)指示空速測(cè)量系統(tǒng)設(shè)計(jì)[D].西安:西北工業(yè)大學(xué),2010.
[12]張明超,高軍偉,官晟,等.基于單片機(jī)和上位機(jī)的溫濕光照在線監(jiān)測(cè)系統(tǒng)[J].工業(yè)儀表與自動(dòng)化裝置,2011(5):33-35.
ZHANG Ming-chao,GAO Jun-wei,GUAN Sheng,et al.An on-line monitoring system based on SCM and upper computer[J].Industrial Instrumentation&Automation,2011(5):33-35.