無人機(jī)飛控系統(tǒng)組成及系統(tǒng)軟件設(shè)計
飛控系統(tǒng)是無人機(jī)的核心控制裝置,相當(dāng)于無人機(jī)的大腦,是否裝有飛控系統(tǒng)也是無人機(jī)區(qū)別于普通航空模型的重要標(biāo)志。
本文引用地址:http://butianyuan.cn/article/201710/366397.htm在經(jīng)歷了早期的遙控飛行后,目前其導(dǎo)航控制方式已經(jīng)發(fā)展為自主飛行和智能飛行。導(dǎo)航方式的改變對飛行控制計算機(jī)的精度提出了更高的要求;隨著小型無人機(jī)執(zhí)行任務(wù)復(fù)雜程度的增加,對飛控計算機(jī)運(yùn)算速度的要求也更高;而小型化的要求對飛控計算機(jī)的功耗和體積也提出了很高的要求。高精度不僅要求計算機(jī)的控制精度高,而且要求能夠運(yùn)行復(fù)雜的控制算法,小型化則要求無人機(jī)的體積小,機(jī)動性好,進(jìn)而要求控制計算機(jī)的體積越小越好。
在眾多處理器芯片中,最適合小型飛控計算機(jī)CPU的芯片當(dāng)屬TI公司的TMS320LF2407,其運(yùn)算速度以及眾多的外圍接口電路很適合用來完成對小型無人機(jī)的實(shí)時控制功能。
它采用哈佛結(jié)構(gòu)、多級流水線操作,對數(shù)據(jù)和指令同時進(jìn)行讀取,片內(nèi)自帶資源包括16路10位A/D轉(zhuǎn)換器且?guī)ё詣优判蚬δ?,保證最多16路有轉(zhuǎn)換在同一轉(zhuǎn)換期間進(jìn)行,而不會增加CPU的開銷;40路可單獨(dú)編程或復(fù)用的通用輸入/輸出通道;5個外部中斷;集成的串行通信接口(SCI),可使其具備與系統(tǒng)內(nèi)其他控制器進(jìn)行異步(RS 485)通信的能力;16位同步串行外圍接口(SPI)能方便地用來與其他的外圍設(shè)備通信;還提供看門狗定時器模塊(WDT)和CAN通信模塊。
飛控系統(tǒng)組成模塊
飛控系統(tǒng)實(shí)時采集各傳感器測量的飛行狀態(tài)數(shù)據(jù)、接收無線電測控終端傳輸?shù)挠傻孛鏈y控站上行信道送來的控制命令及數(shù)據(jù),經(jīng)計算處理,輸出控制指令給執(zhí)行機(jī)構(gòu),實(shí)現(xiàn)對無人機(jī)中各種飛行模態(tài)的控制和對任務(wù)設(shè)備的管理與控制;同時將無人機(jī)的狀態(tài)數(shù)據(jù)及發(fā)動機(jī)、機(jī)載電源系統(tǒng)、任務(wù)設(shè)備的工作狀態(tài)參數(shù)實(shí)時傳送給機(jī)載無線電數(shù)據(jù)終端,經(jīng)無線電下行信道發(fā)送回地面測控站。
按照功能劃分,該飛控系統(tǒng)的硬件包括:主控制模塊、信號調(diào)理及接口模塊、數(shù)據(jù)采集模塊以及舵機(jī)驅(qū)動模塊等。
模塊功能
各個功能模塊組合在一起,構(gòu)成飛行控制系統(tǒng)的核心,而主控制模塊是飛控系統(tǒng)核心,它與信號調(diào)理模塊、接口模塊和舵機(jī)驅(qū)動模塊相組合,在只需要修改軟件和簡單改動外圍電路的基礎(chǔ)上可以滿足一系列小型無人機(jī)的飛行控制和飛行管理功能要求,從而實(shí)現(xiàn)一次開發(fā),多型號使用,降低系統(tǒng)開發(fā)成本的目的。系統(tǒng)主要完成如下功能:
?。?)完成多路模擬信號的高精度采集,包括陀螺信號、航向信號、舵偏角信號、發(fā)動機(jī)轉(zhuǎn)速、缸溫信號、動靜壓傳感器信號、電源電壓信號等。
由于CPU自帶A/D的精度和通道數(shù)有限,所以使用了另外的數(shù)據(jù)采集電路,其片選和控制信號是通過EPLD中譯碼電路產(chǎn)生的。
(2)輸出開關(guān)量信號、模擬信號和PWM脈沖信號等能適應(yīng)不同執(zhí)行機(jī)構(gòu)(如方向舵機(jī)、副翼舵機(jī)、升降舵機(jī)、氣道和風(fēng)門舵機(jī)等)的控制要求。
?。?)利用多個通信信道,分別實(shí)現(xiàn)與機(jī)載數(shù)據(jù)終端、GPS信號、數(shù)字量傳感器以及相關(guān)任務(wù)設(shè)備的通信。由于CPU自身的SCI通道配置的串口不能滿足系統(tǒng)要求,設(shè)計中使用多串口擴(kuò)展芯片28C94來擴(kuò)展8個串口。
系統(tǒng)軟件設(shè)計
該系統(tǒng)的軟件設(shè)計分為2部分,即邏輯電路芯片EPLD譯碼電路的程序設(shè)計和飛控系統(tǒng)的應(yīng)用程序設(shè)計。
邏輯電路程序設(shè)計
EPLD用來構(gòu)成數(shù)字邏輯控制電路,完成譯碼和隔離以及為A/D,D/A,28C94提供片選信號和讀/寫控制信號的功能。
該軟件的設(shè)計采用原理圖輸入和VERILOG HDL語言編程的混合設(shè)計方式,遵循設(shè)計輸入→設(shè)計實(shí)現(xiàn)→設(shè)計校驗(yàn)→器件編程的流程。系統(tǒng)使用了兩片ispLSI1048芯片,分別用來實(shí)現(xiàn)對A/D,D/A的控制和對串口擴(kuò)展芯片28C94的控制,參數(shù)來源于翼趣無人機(jī)網(wǎng)。
系統(tǒng)應(yīng)用程序設(shè)計
由于C語言不但能夠編寫應(yīng)用程序、系統(tǒng)程序,還能像匯編語言一樣直接對計算機(jī)硬件進(jìn)行控制,編寫的程序可移植性強(qiáng)。由于以DSP為核心設(shè)計的系統(tǒng)中涉及到大量對外設(shè)端口的操作,以及考慮后續(xù)程序移植的工作,所以飛控系統(tǒng)的應(yīng)用程序選用BC 3.1來設(shè)計,分別實(shí)現(xiàn)飛行控制和飛行管理功能。
軟件按照功能劃分為4個模塊:時間管理模塊、數(shù)據(jù)采集與處理模塊、通信模塊、控制律解算模塊。
通過時間管理模塊在毫秒級時間內(nèi)對無人機(jī)進(jìn)行實(shí)時控制;數(shù)據(jù)采集模塊采集無人機(jī)的飛行狀態(tài)、姿態(tài)參數(shù)以及飛行參數(shù)、飛行狀態(tài)及飛行參數(shù)進(jìn)行遙測編碼并通過串行接口傳送至機(jī)載數(shù)據(jù)終端,通過無線數(shù)據(jù)信道發(fā)送到地面控制站進(jìn)行飛行監(jiān)控;姿態(tài)參數(shù)通過軟件內(nèi)部接口送控制律解算模塊進(jìn)行解算,并將結(jié)果通過D/A通道送機(jī)載伺服系統(tǒng),控制舵機(jī)運(yùn)行,達(dá)到調(diào)整、飛機(jī)飛行姿態(tài)的目的;通信模塊完成飛控計算機(jī)與其他機(jī)載外設(shè)之間的數(shù)據(jù)交換功能。
利用高速DSP控制芯片在控制律計算和數(shù)據(jù)處理方面的優(yōu)勢及其豐富的外部資源,配合大規(guī)??删幊踢壿嬈骷﨏PLD以及串行接口擴(kuò)展芯片28C94設(shè)計小型機(jī)載飛控計算機(jī),以其為核心設(shè)計的小型無人機(jī)飛控系統(tǒng)具有功能全,體積小,重量輕,功耗低的特點(diǎn),很好地滿足了小型無人機(jī)對飛控計算機(jī)高精度、小型化、低成本的要求。該設(shè)計已成功應(yīng)用于某驗(yàn)證無人機(jī)系統(tǒng)。
評論