<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

  引言 

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

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

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

  586-Engine的性能特點(diǎn)

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

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

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

 ?。?)配置512KB的SRAM,512KB的Flash,114字節內部RAM;

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

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

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

  飛行硬件設計

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

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

 ?。?)串口擴展

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

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

 ?。?)D/A轉換

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

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

 ?。?)A/D采集

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

 ?。?)I/O控制

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

 ?。?)電源模塊

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

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

  控制軟件設計

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

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

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

  飛控軟件設計

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

  各模塊的功能如下:

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

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

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

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

  半實(shí)物仿真實(shí)驗

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

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

  結論

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

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>