新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于586-Engine的無人機飛行控制器設(shè)計

基于586-Engine的無人機飛行控制器設(shè)計

作者:南京航空航天大學自動化學院 李昕 方挺 時間:2008-09-24 來源:中電網(wǎng) 收藏

  引言 

  在飛行控制系統(tǒng)中,飛行是其核心部件,它負責飛行控制系統(tǒng)信號的采集、控制律的解算、飛機的姿態(tài)和速度,以及與地面設(shè)備的通訊等工作。隨著越來越廣泛的應用,它所完成的任務(wù)也越來越復雜,對的機動性要求也越來越高,這就要求無人機的控制核心向高集成度和小型化方向發(fā)展。

本文引用地址:http://2s4d.com/article/88328.htm

  本文以586-Engine為核心,設(shè)計了某型無人機的飛行,詳細介紹了系統(tǒng)的硬件結(jié)構(gòu)和相應的軟件流程,并給出了仿真實驗結(jié)果。

  586-Engine的性能特點

  586-Engine是TERN公司的基于AMD Elan SC520處理器的微控制模塊,具有高可靠性、結(jié)構(gòu)緊湊以及低功耗等特點,它同時具有功能強大的調(diào)試軟件。586-Engine的主要參數(shù)指標如下:

 ?。?)CPU為32位AMD Elan SC520,主頻為133MHz;

 ?。?)具有高性能的浮點運算單元,支持正弦、正切、對數(shù)等復雜運算,非常適合需要復雜運算的應用。

  (3)配置512KB的SRAM,512KB的Flash,114字節(jié)內(nèi)部RAM;

 ?。?)支持15個外部中斷。共有7個定時器,包括一個可編程內(nèi)部定時器,提供3個16位內(nèi)部定時器和3個16位GP定時器,再加上一個軟件定時器。這些定時器支持外部事件的計時和計數(shù)。軟件定時器提供微秒級的硬件時間基準。

 ?。?)提供32路可編程I/O,2個UART。共有19路12位A/D輸入,包括11路ADC串行輸入和8路并行ADC,轉(zhuǎn)換頻率為300kHz;6路D/A輸出,包括2個串行輸出DAC和4個輸出并行12位DAC,轉(zhuǎn)換頻率為200kHz。

 ?。?)工作溫度為-40℃~80℃,尺寸為91.4mm×58.4mm×7.6mm。

  飛行硬件設(shè)計

  該型無人機是為海軍野戰(zhàn)部隊提供通訊中繼用途的中型輪式無人機,其飛行控制器是一個單獨裝箱的小型航空機載電子設(shè)備,由DC/DC直流電源變換板、計算機主機板、模擬量通道板、開關(guān)量通道板和舵機控制板組成,全部模板通過母板上的總線方式連接,以減小尺寸,提高集成度。飛行控制器硬件結(jié)構(gòu)如圖1所示,實物圖如圖2所示。

  下面詳細介紹飛行控制器的數(shù)據(jù)采集、信息傳輸、控制量輸出等問題。

 ?。?)串口擴展

  由圖1可知,該飛行控制器需要與GPS、磁航向計和無線電高度表等進行通訊,共需5個串口。而586-Engine主板只提供2個串口,分別供地面檢測和測控電臺使用,因此需要進行串口擴展。串口擴展電路如圖3所示。

  串口擴展電路中采用TL16C754四通道UART并-串轉(zhuǎn)換器件,將8位并行數(shù)據(jù)轉(zhuǎn)換成4路串行輸出,外加MAX202和MAX489電平轉(zhuǎn)換,擴展了2個RS232串口和2個RS422串口,可滿足飛行控制器的硬件需求。

 ?。?)D/A轉(zhuǎn)換

  此型無人機采用模擬舵機,共需6路D/A通道產(chǎn)生PWM信號來驅(qū)動舵機。586-Engine主板總共提供8路D/A,其中4路12位并行D/A(DA7625)分別控制升降舵機、左右副翼舵機和方向舵機,2路12位串行D/A(LTC1446)控制前輪舵機和油門舵機。由于DA7625的輸出電壓范圍為0~2.5V,LTC1446輸出電壓范圍為0~4.096V,而舵機工作電壓為-10~10V,因此需要對信號進行放大和電平平移。D/A電平平移電路如圖4所示。

  由圖可知,D/A電平轉(zhuǎn)換原理是在運放輸入端采用加法電路,將輸入信號與基準電平比例相加,得到適合采樣的電壓范圍。輸入電平與輸出電平的關(guān)系為。

 ?。?)A/D采集

  586-Engine主板上自帶的19路12位的A/D接口完全滿足飛控系統(tǒng)通道數(shù)和轉(zhuǎn)換精度的要求,這些A/D接口分別采集氣壓高度表的數(shù)據(jù),無人機機載電壓、發(fā)動機轉(zhuǎn)速和溫度、油門開度等。這些信號發(fā)往地面測控計算機,為操作人員對無人機工作狀態(tài)進行監(jiān)控提供了基礎(chǔ)。

  (4)I/O控制

  586-Engine主板上提供了32個16位可編程數(shù)字I/O口,用于采集發(fā)動機啟動信號、傘艙打開信號等,并輸出開關(guān)量信號控制其它設(shè)備,控制無人機起飛與回收過程。

 ?。?)電源模塊

  飛行控制器的電源模塊電路給飛行控制器提供干凈穩(wěn)定的供電電壓,用來保證飛行控制器正常工作。電源模塊電路的設(shè)計好壞直接影響飛行控制器運行的穩(wěn)定性和可靠性。該型無人機由于對尺寸有一定的要求,同時考慮到可靠性與成本,因此在設(shè)計時選用了成熟的標準模塊電源,外接少量器件即可工作。飛行控制器供電模塊電路如圖5所示。

  其中,采用24T05D12模塊電源作為供電電路的主芯片,提供的功率為30W,輸入電壓范圍為18V~36V,具有三路電源輸出:+5V和±12V,為機載傳感器和舵機進行供電。

  控制軟件設(shè)計

  飛控軟件開發(fā)環(huán)境

  586-Engine微處理器使用的開發(fā)環(huán)境Paradigm C/C++Professional是美國Devtools公司用于開發(fā)系統(tǒng)應用的集成開發(fā)環(huán)境,它支持嵌入式X86系統(tǒng),包括一個X86的集成開發(fā)環(huán)境。包含了編譯、匯編、鏈接、定位和調(diào)試功能,可以編輯嵌入式C/C++代碼,支持實模式、擴展模式和保護模式的嵌入式X86開發(fā)系統(tǒng)。

  飛控軟件開發(fā)過程是用戶在開發(fā)環(huán)境中編譯程序,通過串口將程序加載到飛行控制器,并且可以在PC機上進行調(diào)試,這是其突出優(yōu)點。此外TERN公司還提供了底層操作程序,為軟件開發(fā)提供了便利。

  飛控軟件設(shè)計

  機載飛行控制軟件總體分為三大模塊:初始化模塊、定時處理模塊和串行中斷處理模塊。

  各模塊的功能如下:

 ?。?)初始化模塊:主要完成系統(tǒng)的初始化,包括A/D卡初始化、DIO口初始化、串口初始化、傳感器初始化及參數(shù)的設(shè)置等。

  (2)定時處理模塊:主要完成與時間有關(guān)的周期性任務(wù),包括傳感器信號的采集、飛行模式管理、導航計算、飛行控制律計算和執(zhí)行機構(gòu)控制等。

 ?。?)串行中斷處理模塊:完成遙控指令的接收、磁航向計和無線電高度表數(shù)據(jù)的接收等。

  飛控軟件的主函數(shù)流程如圖6所示。

  半實物仿真實驗

  在半實物仿真試驗中,飛行控制計算機的控制信號通過D/A轉(zhuǎn)換后,經(jīng)過伺服控制驅(qū)動器放大來驅(qū)動無人機的執(zhí)行機構(gòu)即電動伺服舵機,然后仿真計算機通過A/D通道采集電動伺服舵機的位移信號,并且輸出控制指令(三軸姿態(tài)角)控制三軸飛行仿真轉(zhuǎn)臺,模擬出無人機的姿態(tài)角及姿態(tài)角速率等信號。機載傳感器將這些信號反饋給飛行控制器,從而構(gòu)成一個閉環(huán)系統(tǒng),完成各種飛行任務(wù)。仿真試驗可以檢驗飛行控制系統(tǒng)的安全性與可靠性,為無人機成功放飛奠定基礎(chǔ)。半物理仿真實驗結(jié)果如圖7所示。

  從圖中可以看出,無人機基本上可以沿給定航線飛行,切入直線航段或圓弧航段后,側(cè)偏距較小,在轉(zhuǎn)彎處有一定的超調(diào),總體來說控制效果較好,分析后認為該無人機壓航線飛行基本達到需求方的要求。

  結(jié)論

  586-Engine嵌入式芯片的使用,減小了飛行控制器的體積與重量,實現(xiàn)了飛行控制器小型化、高集成度的設(shè)計目標;自行設(shè)計的串口擴展電路、舵機控制板等降低了研制成本,滿足了項目需求方的要求??梢灶A見,586-Engine特有的功能以及較高的性價比將在無人機飛行控制領(lǐng)域得到廣泛的應用。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


關(guān)鍵詞: 控制器 無人機 嵌入式 芯片

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉