呂丁豪,潘仁斌,陳正杰,丁盛梁,吳卓影,譚偉文,張慶芳
(蘇州經貿職業技術學院,江蘇蘇州,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 存儲顯示模塊
本文對無人機的控制系統進行改進,用多核控制系統替代單核控制系統,降低了系統對芯片性能的要求,增加了系統的計算能力,有效的提升了系統的實時性,同時,在多核的硬件基礎上,對程序結構進行改進,模塊化程序,降低了二次開發的難度。