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