郭 楊, 翁新武
無人機在軍民兩用領域發揮著越來越重要的作用,進行民用無人機飛行控制器設計及檢測與控制技術研究具有理論、工程和經濟意義。文中主要任務是設計出無人機飛行控制器軟硬件系統,并研究相應的控制方法,使飛機能夠實現手動遙控飛行和自動駕駛飛行。
飛控系統的工作原理[1]如圖1所示。
飛機偏離原始狀態,敏感元件感受到偏離方向和大小,并輸出相應信號,經放大、計算處理,操縱執行機構(如舵機),使控制面(如方向舵面)相應偏轉[2]。由于整個系統是按負反饋原則連接的,其結果是使飛機趨向原始狀態。在傳統的飛行自動控制系統中,描述飛機運動的參數有3個姿態角、3個角速度、2個氣流角、2個線位移及1個線速度。在無人參與條件下,飛行自動控制系統可自動控制部分或全部上述參數。與其它自動控制一樣,飛行自動控制系統也由被控對象(飛機)和自動控制器組成。飛控系統的基本部分包括:測量元件、信號處理元件、放大元件和執行機構。

圖1 飛控系統原理圖
本設計中的無人機用于航空攝像,整個無人機的電子裝置分為地面和機載兩大部分:地面設備包括地面監控計算機系統、控制手柄和視頻接收模塊、視頻采集模塊;機載電子設備有飛行控制器、GPS儀、高度計、姿態儀、陀螺儀、電壓電流檢測模塊、字符疊加模塊、無線視頻發射模塊、攝像鏡頭、遙控接收機及電調和舵機。無人機的總體測控方案如圖2所示。

圖2 無人機的總體測控方案
地面部分。控制人員可以根據接收到的視頻信號及疊加在視頻上的飛機飛行參數,操縱遙控手柄實時控制飛機飛行,也可以向飛機發送自動駕駛飛行,讓飛機按照事先設定好的航線飛行。
機載部分。飛行控制器用來檢測當期飛行狀態、控制飛機飛行、保持飛機平穩、攝像鏡頭視角變化等,飛機可根據手動或自動駕駛命令來執行被動飛行或自動飛行,字符疊加模塊可將當前飛機的飛行參數疊加到視頻信號上,經無線視頻發射模塊發送回地面控制站。
機載無線電模塊用來接收GPS信息,并和地面的數據傳輸裝置構成無線電數據鏈路,實現圖像信息的回傳和遙控器控制信號的傳輸;地面監控站是無人機地面監視與控制的主要設備,接收從遙控器傳來的手動控制和自動駕駛指令,通過數據鏈路上行發送給飛機,同時,接收飛機回傳的遙測信息,實時顯示并存儲到歷史數據庫。
無人機的飛行控制計算機是無人機控制系統的核心[3],它主要用于完成以下數據處理任務:
1)與氣壓高度傳感器進行模擬串口(SPI)通信,讀取氣壓高度傳感器采集到的氣壓值,并將其經過運算轉換成飛行需要的海拔高度值和溫度值;
2)與GPS模塊進行串口通信,讀取GPS模塊接收到的方位信息,并將其經過轉換,解析出飛行需要的速度值、方向值、參考高度值、時間值、經緯度值、GPS衛星個數值等;
3)用單片機內部A/D功能,采樣三軸加速度傳感器輸出的模擬電壓信號,經軟件濾波、數學運算,轉換成飛機當前的飛機狀態值,并根據當前飛機狀態,用PID方式控制飛機飛行平穩;
4)用單片機的內部A/D功能,采樣角速度傳感器輸出的模擬電壓信號,經軟件濾波、數學運算,轉換成飛機當前繞某軸轉動的角速度,在經過PID運算后,便可消除外界對飛機的擾動;
5)用單片機內部A/D功能,采樣電流傳感器輸出的模擬電壓信號,經軟件濾波和數學運算后,轉換成飛機某時刻的平均電流值和飛機當前耗電量;
6)與字符疊加器進行模擬串口(SPI)通信,將需要發回地面接收站的信息疊加在視頻信號上,并設計自創字符、畫面樣式及顯示菜單。
由ATMEGA16L構成的單片機最小系統[4]如圖3所示。

圖3 單片機最小系統
2.2.1 氣壓高度傳感器接口電路設計
本設計采用壓力傳感器MS5534B實現高度傳感器的設計方案,如圖4所示。

圖4 MS5534B接口電路設計
MS5534B通過3線同步串口與單片機進行SPI通信。
2.2.2 GPS模塊接口電路設計
本設計采用HOLUX GM-210智能型衛星接收機作為GPS模塊,采用RS-232串行通信方式讀取GPS數據,如圖5所示。

圖5 GPS模塊與單片機接口電路
2.2.3 三軸加速度傳感器接口電路設計[5]
飛行姿態儀是飛機自動飛行時保持飛機平穩的前提,本設計采用低量程三軸向加速度傳感器MMA7260QT,接口電路如圖6所示。

圖6 MMA7260Q與單片機接口電路
2.2.4 角速度傳感器接口電路設計[6]
本設計采用角速度傳感器ENC-03,由于ENC-03傳感器輸出電壓的靈敏度只有0.67mV/(°),所以,ENC-03輸出的信號須經一前置放大電路放大后再輸入到單片機AD采樣通道,如圖7所示。

圖7 ENC-03的前置放大電路
2.2.5 電流傳感器接口電路設計
飛機飛行已用電量可通過電流傳感器測得,用電流傳感器測得單位時間內的平均電流,然后乘以單位時間系數便可得電量,電量單位可用mA/h表示。本設計采用CS754電流傳感器,如圖8所示。

圖8 ACS754接口電路
2.2.6 字符疊加器接口電路設計
飛機飛行的參數欲傳回到地面監控站,可通過將飛行參數疊加在視頻信號上,這樣就可以和視頻信號共用一個數據通道,能省去數字發射設備,減輕飛機負載。字符疊加器采用MAX7456單通道隨屏顯示(OSD)發生器,它可在動態視頻上疊加定制圖形。MAX7456接口電路如圖9所示。

圖9 MAX7456接口電路設計
2.2.7 系統電源設計
系統采用+5V和+3.3V兩種電壓標準。系統電源采用航模飛機專用鋰電池,3S鋰電池電壓為+12V,如圖10所示。

圖10 7805構成的+5V穩壓電路
經穩壓芯片7805輸出+5V,+5V電壓可以為單片機、GPS模塊、電流傳感器及字符疊加器供電;輸出的+5V電壓再經過穩壓芯片ASM1117_3.3V后便可得到系統需要的+3.3V電壓,+3.3V電壓可以為氣壓高度傳感器及三軸加速度傳感器供電,如圖11所示。

圖11 由ASM1117_3.3V構成的+3.3V穩壓電路
按照無人機飛行需要的參數條件,可將程序分成14個模塊,分別為GPS信息搜集模塊、飛行時間模塊、方向指示模塊、高度指示模塊、速度指示模塊、經緯度顯示模塊、回航方向指示模塊、姿態保持模塊、平穩飛行模塊、自動導航模塊、手動控制模塊、電量顯示模塊、字符疊加模塊、按鍵設置模塊。主程序在整個系統中起初始化各個模塊、協調各個模塊工作順序、分配任務的作用。主程序流程如圖12所示。

圖12 主程序流程
軟件系統不采用實時操作系統,而是按階層體系結構組織子程序模塊[7]。飛行控制器的運行有3種模式:飛控模式、檢測模式和調參模式。飛控模式是指正常的飛機飛行與控制模式,接收器接收到控制器發射指令后,實現飛機的手動飛行控制、自動駕駛、攝像鏡頭控制。檢測模式是指飛機在飛行時自動檢測傳感器傳回的飛行參數,為調參模式做好數據采集準備。調參模式是指飛行器根據檢測到的各種參數進行調整飛機飛行方式的模式。
系統一上電,系統硬件上電復位,程序從首地址開始執行。首先執行程序初始化,這包括單片機I/O端口設置、串口通信波特率設置、ADC工作模式設置、定時器工作方式設置,以及字符疊加器初始化設置等;接著檢測是否有按鍵按下,如果有則執行相應的按鍵子程序;然后就讀取傳感器測得的各種飛機飛行參數,這其中包括速度、高度、方向、經緯度、飛機姿態,以及電池的電壓、電流、耗電量等,并將這些飛機飛行的參數疊加到視頻畫面相應的位置;而陀螺儀則一直工作,它根據測得的飛機角速度來自動矯正飛機飛行;飛機的耗電量可由按鍵設定一用電量最大值,若電池耗電量大于設定值時,則產生報警提示信號;最后,飛機根據接收機的手動自動駕駛信號來判讀飛機當前是處于哪種狀態,若接收到手動駕駛信號,飛機則根據接收機上的信號控制飛機飛行,若接收到的是自動駕駛信號,飛機則根據各傳感器測得的飛機參數來自動控制飛機飛行,并根據預先設置的航線自動飛行[8]。其部分程序代碼如下:
void main(void)//主函數
{
INIT_ALL();//程序初始化
While(1)
{
KEY_SET();//按鍵掃描
if(time_OSD)
{//1s讀采集一次數據,并刷新一次OSD
su_d();//當前時速
gao_d();//當前高度
相比日本和韓國,同樣作為中國的鄰居,國人對印度這個國家卻始終顯得有些陌生,神秘,宗教是對它的印象,說到美食,遠不如對日韓美食那樣如數家珍。頓頓吃咖喱?吃飯直接用手?印度愛吃米飯還是面食?素食國度,不能吃肉?各種各樣的局限印象和疑問,使得游客無法好好審視一下印度的食物。
display_JWD();//經緯度顯示
juli_h();//離家距離
fang_x();//東西南北方向指示
time_count(time_m,time_s);//調用計時顯示子程序
real_time();//真實時間
xin_h();//信號強度指示
dian_l();//當期電流
hao_d();//耗電量指示
}
if(dianlian<=dianlian_low)goback();
//電量低于警戒值,則返回
else auto();//自動駕駛
}
}
[1] 袁少強,胡金輝.基于ATmega128單片機的無人機飛行控制系統的設計[J].測控技術,2007,26(2):44-45.
[2] 雷金奎.無人機駕駛靶機飛行控制器設計[J].測控技術,1999,18(1):37-38.
[3] 劉歌群.小型無人機飛行控制器的硬件設計[J].計算機測量與控制,2003,11(2):144-146.
[4] 何立民.單片機應用系統設計[M].北京:北京航空航天大學出版社,1990.
[5] 尹立鵬,陳娟,王虎.加速度計應用[J].長春工業大學學報:自然科學版,2010,31(1):23-27.
[6] 潘慕絢,張天宏,黃金泉.基于C8051F020單片機的某無人機飛控系統硬件平臺的設計與開發[J].測控技術,2003,22(1):30-33.
[7] 薛堯舜.無人機控制器軟件研制與控制算法研究[D]:[碩士學位論文].西安:西北工業大學,2003.
[8] 申安玉,申學仁,李云保.自動飛行控制系統[M].北京:國防工業出版社,2003.