在無(wú)人機(jī)飛行控制系統(tǒng)中,飛行控制器是其核心部件,它負(fù)責(zé)飛行控制系統(tǒng)信號(hào)的采集,、控制律的解算、飛機(jī)的姿態(tài)和速度,,以及與地面設(shè)備的通訊等工作,。
隨著無(wú)人機(jī)越來(lái)越廣泛的應(yīng)用,它所完成的任務(wù)也越來(lái)越復(fù)雜,,對(duì)無(wú)人機(jī)的機(jī)動(dòng)性要求也越來(lái)越高,,這就要求無(wú)人機(jī)的控制核心向高集成度和小型化方向發(fā)展。
本文以586-Engine嵌入式芯片為核心,,設(shè)計(jì)了某型無(wú)人機(jī)的飛行控制器,,詳細(xì)介紹了系統(tǒng)的硬件結(jié)構(gòu)和相應(yīng)的軟件流程,并給出了仿真實(shí)驗(yàn)結(jié)果,。
586-Engine嵌入式芯片的性能特點(diǎn)
586-Engine是TERN公司的基于AMD Elan SC520處理器的微控制模塊,,具有高可靠性、結(jié)構(gòu)緊湊以及低功耗等特點(diǎn),,它同時(shí)具有功能強(qiáng)大的調(diào)試軟件,。586-Engine的主要參數(shù)指標(biāo)如下:
(1)CPU為32位AMD Elan SC520,主頻為133MHz,;
?。?)具有高性能的浮點(diǎn)運(yùn)算單元,支持正弦,、正切,、對(duì)數(shù)等復(fù)雜運(yùn)算,非常適合需要復(fù)雜運(yùn)算的應(yīng)用,。
?。?)配置512KB的SRAM,512KB的Flash,,114字節(jié)內(nèi)部RAM,;
(4)支持15個(gè)外部中斷,。共有7個(gè)定時(shí)器,,包括一個(gè)可編程內(nèi)部定時(shí)器,提供3個(gè)16位內(nèi)部定時(shí)器和3個(gè)16位GP定時(shí)器,,再加上一個(gè)軟件定時(shí)器。這些定時(shí)器支持外部事件的計(jì)時(shí)和計(jì)數(shù),。軟件定時(shí)器提供微秒級(jí)的硬件時(shí)間基準(zhǔn),。
(5)提供32路可編程I/O,,2個(gè)UART,。共有19路12位A/D輸入,包括11路ADC串行輸入和8路并行ADC,,轉(zhuǎn)換頻率為300kHz,;6路D/A輸出,包括2個(gè)串行輸出DAC和4個(gè)輸出并行12位DAC,,轉(zhuǎn)換頻率為200kHz,。
(6)工作溫度為-40℃~80℃,,尺寸為91.4mm×58.4mm×7.6mm,。
飛行控制器硬件設(shè)計(jì)
該型無(wú)人機(jī)是為海軍野戰(zhàn)部隊(duì)提供通訊中繼用途的中型輪式無(wú)人機(jī),其飛行控制器是一個(gè)單獨(dú)裝箱的小型航空機(jī)載電子設(shè)備,,由DC/DC直流電源變換板,、計(jì)算機(jī)主機(jī)板、模擬量通道板,、開(kāi)關(guān)量通道板和舵機(jī)控制板組成,,全部模板通過(guò)母板上的總線方式連接,以減小尺寸,提高集成度,。飛行控制器硬件結(jié)構(gòu)如圖1 所示,,實(shí)物圖如圖2所示。
下面詳細(xì)介紹飛行控制器的數(shù)據(jù)采集,、信息傳輸,、控制量輸出等問(wèn)題。
?。?)串口擴(kuò)展
由圖1可知,,該飛行控制器需要與GPS、磁航向計(jì)和無(wú)線電高度表等進(jìn)行通訊,,共需5個(gè)串口,。而586-Engine主板只提供2個(gè)串口,分別供地面檢測(cè)和測(cè)控電臺(tái)使用,,因此需要進(jìn)行串口擴(kuò)展,。串口擴(kuò)展電路如圖3所示。
串口擴(kuò)展電路中采用TL16C754四通道UART并-串轉(zhuǎn)換器件,,將8位并行數(shù)據(jù)轉(zhuǎn)換成4路串行輸出,,外加MAX202和MAX489電平轉(zhuǎn)換芯片,擴(kuò)展了2個(gè)RS232串口和2個(gè)RS422串口,,可滿足飛行控制器的硬件需求
?。?)D/A轉(zhuǎn)換
此型無(wú)人機(jī)采用模擬舵機(jī),共需6路D/A通道產(chǎn)生PWM信號(hào)來(lái)驅(qū)動(dòng)舵機(jī),。586-Engine主板總共提供8路D/A,,其中4路12位并行 D/A(DA7625)分別控制升降舵機(jī)、左右副翼舵機(jī)和方向舵機(jī),,2路12位串行D/A(LTC1446)控制前輪舵機(jī)和油門(mén)舵機(jī),。由于DA7625的輸出電壓范圍為0~2.5V,LTC1446輸出電壓范圍為0~4.096V,,而舵機(jī)工作電壓為-10~10V,,因此需要對(duì)信號(hào)進(jìn)行放大和電平平移。 D/A電平平移電路如圖4所示,。
由圖可知,,D/A電平轉(zhuǎn)換原理是在運(yùn)放輸入端采用加法電路,將輸入信號(hào)與基準(zhǔn)電平比例相加,,得到適合采樣的電壓范圍,。輸入電平與輸出電平的關(guān)系為。
?。?)A/D采集
586-Engine主板上自帶的19路12位的A/D接口完全滿足飛控系統(tǒng)通道數(shù)和轉(zhuǎn)換精度的要求,,這些A/D接口分別采集氣壓高度表的數(shù)據(jù),,無(wú)人機(jī)機(jī)載電壓、發(fā)動(dòng)機(jī)轉(zhuǎn)速和溫度,、油門(mén)開(kāi)度等,。這些信號(hào)發(fā)往地面測(cè)控計(jì)算機(jī),為操作人員對(duì)無(wú)人機(jī)工作狀態(tài)進(jìn)行監(jiān)控提供了基礎(chǔ),。
?。?)I/O控制
586-Engine主板上提供了32個(gè)16位可編程數(shù)字I/O口,用于采集發(fā)動(dòng)機(jī)啟動(dòng)信號(hào),、傘艙打開(kāi)信號(hào)等,,并輸出開(kāi)關(guān)量信號(hào)控制其它設(shè)備,控制無(wú)人機(jī)起飛與回收過(guò)程,。
?。?)電源模塊
飛行控制器的電源模塊電路給飛行控制器提供干凈穩(wěn)定的供電電壓,用來(lái)保證飛行控制器正常工作,。電源模塊電路的設(shè)計(jì)好壞直接影響飛行控制器運(yùn)行的穩(wěn)定性和可靠性,。該型無(wú)人機(jī)由于對(duì)尺寸有一定的要求,同時(shí)考慮到可靠性與成本,,因此在設(shè)計(jì)時(shí)選用了成熟的標(biāo)準(zhǔn)模塊電源,,外接少量器件即可工作。飛行控制器供電模塊電路如圖5所示,。
其中,,采用24T05D12模塊電源作為供電電路的主芯片,提供的功率為30W,,輸入電壓范圍為18V~36V,具有三路電源輸出:+5V和±12V,,為機(jī)載傳感器和舵機(jī)進(jìn)行供電,。
控制軟件設(shè)計(jì)
飛控軟件開(kāi)發(fā)環(huán)境
586-Engine微處理器使用的開(kāi)發(fā)環(huán)境Paradigm C/C++Professional是美國(guó)Devtools公司用于開(kāi)發(fā)嵌入式系統(tǒng)應(yīng)用的集成開(kāi)發(fā)環(huán)境,它支持嵌入式X86系統(tǒng),,包括一個(gè)X86的集成開(kāi)發(fā)環(huán)境,。包含了編譯、匯編,、鏈接,、定位和調(diào)試功能,可以編輯嵌入式C/C++代碼,,支持實(shí)模式,、擴(kuò)展模式和保護(hù)模式的嵌入式X86開(kāi)發(fā)系統(tǒng)。
飛控軟件開(kāi)發(fā)過(guò)程是用戶在開(kāi)發(fā)環(huán)境中編譯程序,,通過(guò)串口將程序加載到飛行控制器,,并且可以在PC機(jī)上進(jìn)行調(diào)試,這是其突出優(yōu)點(diǎn)。此外TERN公司還提供了底層操作程序,,為軟件開(kāi)發(fā)提供了便利,。
飛控軟件設(shè)計(jì)
機(jī)載飛行控制軟件總體分為三大模塊:初始化模塊、定時(shí)處理模塊和串行中斷處理模塊,。
各模塊的功能如下:
?。?)初始化模塊:主要完成系統(tǒng)的初始化,包括A/D卡初始化,、DIO口初始化,、串口初始化、傳感器初始化及參數(shù)的設(shè)置等,。
?。?)定時(shí)處理模塊:主要完成與時(shí)間有關(guān)的周期性任務(wù),包括傳感器信號(hào)的采集,、飛行模式管理,、導(dǎo)航計(jì)算、飛行控制律計(jì)算和執(zhí)行機(jī)構(gòu)控制等,。
?。?)串行中斷處理模塊:完成遙控指令的接收、磁航向計(jì)和無(wú)線電高度表數(shù)據(jù)的接收等,。
飛控軟件的主函數(shù)流程如圖6所示,。
半實(shí)物仿真實(shí)驗(yàn)
在半實(shí)物仿真試驗(yàn)中,飛行控制計(jì)算機(jī)的控制信號(hào)通過(guò)D/A轉(zhuǎn)換后,,經(jīng)過(guò)伺服控制驅(qū)動(dòng)器放大來(lái)驅(qū)動(dòng)無(wú)人機(jī)的執(zhí)行機(jī)構(gòu)即電動(dòng)伺服舵機(jī),,然后仿真計(jì)算機(jī)通過(guò)A/D通道采集電動(dòng)伺服舵機(jī)的位移信號(hào),并且輸出控制指令(三軸姿態(tài)角)控制三軸飛行仿真轉(zhuǎn)臺(tái),,模擬出無(wú)人機(jī)的姿態(tài)角及姿態(tài)角速率等信號(hào),。機(jī)載傳感器將這些信號(hào)反饋給飛行控制器,從而構(gòu)成一個(gè)閉環(huán)系統(tǒng),,完成各種飛行任務(wù),。仿真試驗(yàn)可以檢驗(yàn)飛行控制系統(tǒng)的安全性與可靠性,為無(wú)人機(jī)成功放飛奠定基礎(chǔ),。半物理仿真實(shí)驗(yàn)結(jié)果如圖7所示,。
從圖中可以看出,無(wú)人機(jī)基本上可以沿給定航線飛行,,切入直線航段或圓弧航段后,,側(cè)偏距較小,在轉(zhuǎn)彎處有一定的超調(diào),,總體來(lái)說(shuō)控制效果較好,,分析后認(rèn)為該無(wú)人機(jī)壓航線飛行基本達(dá)到需求方的要求,。
結(jié)論
586-Engine嵌入式芯片的使用,減小了飛行控制器的體積與重量,,實(shí)現(xiàn)了飛行控制器小型化,、高集成度的設(shè)計(jì)目標(biāo);自行設(shè)計(jì)的串口擴(kuò)展電路,、舵機(jī)控制板等降低了研制成本,,滿足了項(xiàng)目需求方的要求??梢灶A(yù)見(jiàn),,586-Engine特有的功能以及較高的性價(jià)比將在無(wú)人機(jī)飛行控制領(lǐng)域得到廣泛的應(yīng)用。