呂丁豪,潘仁斌,陳正杰,丁盛梁,吳卓影,譚偉文,張慶芳
(蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院,江蘇蘇州,215009)
無(wú)人駕駛飛機(jī)簡(jiǎn)稱“無(wú)人機(jī)”,在航拍、植保、測(cè)繪等領(lǐng)域都有應(yīng)用。無(wú)人機(jī)控制系統(tǒng)是無(wú)人機(jī)的核心部分,是當(dāng)前的研究和學(xué)習(xí)的熱點(diǎn)。目前常見的無(wú)人機(jī)控制系統(tǒng)多采用單核控制系統(tǒng),因?yàn)樾枰獙?duì)多個(gè)傳感數(shù)據(jù)進(jìn)行采集和分析處理,同時(shí)實(shí)時(shí)性要求較高,一般采用的控制芯片價(jià)格較貴,芯片相應(yīng)的程序結(jié)構(gòu)也相對(duì)復(fù)雜,不易于二次開發(fā)。本文對(duì)現(xiàn)有無(wú)人機(jī)控制系統(tǒng)的功能分析,把功能分為基于傳感器的數(shù)據(jù)采集部分、數(shù)據(jù)分析處理和電機(jī)控制部分、飛行數(shù)據(jù)存儲(chǔ)和顯示三部分,分別采用三個(gè)芯片進(jìn)行處理,不僅很好將程序進(jìn)行模塊化,有效的降低對(duì)芯片性能的要求。
系統(tǒng)的硬件原理框圖如圖1所示。該系統(tǒng)以主控制單元、數(shù)據(jù)采集單元、數(shù)據(jù)記錄和顯示單元為核心,由傳感器模塊、電機(jī)驅(qū)動(dòng)模塊、接收機(jī)、人機(jī)交互模塊等構(gòu)成。
圖1 系統(tǒng)結(jié)構(gòu)框圖
主控制模塊由主控制單元、電機(jī)驅(qū)動(dòng)模塊、接收機(jī)模塊組成,如圖2所示,主控制單元采用STM32F411CEU6芯片,它是意法半導(dǎo)體F4系列的MCU,擁有較高的主頻和豐富的外設(shè)資源。電機(jī)驅(qū)動(dòng)模塊采用大力四合一電調(diào),該電調(diào)每路支持40A的電流輸出。接收機(jī)模塊采用與MC6C遙控器相配套的MC7RB接收機(jī)。
圖2 主控制單元電路
數(shù)據(jù)采集模塊由數(shù)據(jù)采集單元、傳感器模塊組成,如圖3所示,數(shù)據(jù)采集單元采用STM32F301K8U6芯片,它是意法半導(dǎo)體F3系列的一款MCU,擁有高速的IIC通信外設(shè),并比F1系列多了一個(gè)硬件浮點(diǎn)運(yùn)算單元。本系統(tǒng)采用的傳感器芯片是MPU9250和FBM320,其中MPU9250集成了陀螺儀、加速度計(jì)和磁羅盤等傳感器,F(xiàn)BM320是氣壓計(jì)傳感器。
圖3 數(shù)據(jù)采集單元電路
存儲(chǔ)顯示模塊由數(shù)據(jù)記錄和顯示單元、人機(jī)交互模塊組成,如圖4所示,數(shù)據(jù)記錄和顯示單元采用STM32 F103CBU6芯片,它是意法半導(dǎo)體F1系列的一款MCU,其價(jià)格便宜,市場(chǎng)占有率高,其性能足夠滿足人機(jī)交互性能要求。
圖4 數(shù)據(jù)記錄和顯示單元電路
系統(tǒng)程序軟件由主控制模塊程序、數(shù)據(jù)采集模塊程序和存儲(chǔ)顯示模塊程序組成。
如圖5所示為主控制模塊程序的流程圖,此模塊負(fù)責(zé)接收決策信號(hào)、轉(zhuǎn)發(fā)數(shù)據(jù)和控制電機(jī)。系統(tǒng)上電啟動(dòng)后先初始化串口外設(shè),接著接收數(shù)據(jù)采集模塊發(fā)送的數(shù)據(jù),數(shù)據(jù)接收成功后,系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行分析,進(jìn)行電機(jī)控制。
圖5 主控制模塊程序的流程圖
如圖6所示為數(shù)據(jù)采集模塊流程圖,此模塊負(fù)責(zé)讀取傳感器的數(shù)據(jù)并記錄傳感器的狀態(tài)。系統(tǒng)上電后執(zhí)行導(dǎo)航程序,將數(shù)據(jù)傳遞給主控制單元。系統(tǒng)啟動(dòng)后需初始化與主控制單元通訊的USART外設(shè)、與傳感器通訊的IIC外設(shè)、傳感器。
圖6 數(shù)據(jù)采集模塊流程圖
如圖7所示為存儲(chǔ)顯示模塊流程圖,此模塊主要負(fù)責(zé)數(shù)據(jù)顯示和存儲(chǔ),系統(tǒng)對(duì)接收的數(shù)據(jù)進(jìn)行重組,同時(shí)進(jìn)行按鍵掃描、屏幕顯示和SD卡數(shù)據(jù)寫入。
圖7 存儲(chǔ)顯示模塊
本文對(duì)無(wú)人機(jī)的控制系統(tǒng)進(jìn)行改進(jìn),用多核控制系統(tǒng)替代單核控制系統(tǒng),降低了系統(tǒng)對(duì)芯片性能的要求,增加了系統(tǒng)的計(jì)算能力,有效的提升了系統(tǒng)的實(shí)時(shí)性,同時(shí),在多核的硬件基礎(chǔ)上,對(duì)程序結(jié)構(gòu)進(jìn)行改進(jìn),模塊化程序,降低了二次開發(fā)的難度。