魏洋+梁偉

摘 要: 利用軟硬件協同設計思想,本文設計了基于DE1-SOC的四軸飛行器系統。DE1-SOC是 Altera公司的一款高性能嵌入式微處理器,集成了 ARM Cortex-A9和 FPGA 的雙核資源。在進行四軸飛行器系統設計時,對硬件平臺和功能任務進行合理的規劃,充分發揮DE1-SOC軟硬件協同設計的優勢。一方面利用 ARM 核執行靈活度較高的運算任務,包括飛行器飛控程序,飛行器的姿態解算和電機控制信號輸出等 ;另一方面利用 FPGA 核實現基本邏輯和高速接口,包括遙控器信號解碼、傳感器數據接口以及電機控制等。為四軸飛行器的研發提出一種新思路。
關鍵詞:FPGA 四軸飛行器
中圖分類號:TP249 文獻標識碼:A 文章編號:1003-9082(2017)02-0285-01
一、飛行器系統硬件平臺設計
整個四旋翼飛行器的飛控系統由集成控制中心 ARM 和邏輯中心 FPGA 的DE1-SOC組成。ARM、FPGA、存儲器以及其他各種通信接口均連接在片內的總線上,其中 ARM是飛控系統浮點數計算與資源管理的處理系統(Processing system,PS),完成傳感器數據濾波、四元數解算、姿態數據輸出、PID 控制等任務 ;FPGA 是飛控系統外部數據接口的可編程邏輯(Programmable Logic,PL),將完成特定功能任務的模塊進行 IP 核定制,并掛接在 AXI 總線上,完成傳感器數據讀取、遙控信號解碼以及電調信號輸出等任務,為系統的實時性控制提供有力保障。飛控平臺有豐富的外設資源,IIC 模塊用于姿態傳感器的數據接口 ;核心模塊由運算處理能力更強的ARM部分實現,包括飛控主程序模塊與無線數據傳輸模塊等;PL 與 PS 之間的信息傳遞通過高速總線實現。遙控器信號經解碼后送到 PL 中,飛控系統根據解析出的遙控器指令對飛行姿態進行調整。六軸傳感器 MPU6050與 PL 相連,IIC模塊實現對傳感器數據的讀取,然后通過總線將數據送到ARM的飛控系統中進行姿態解算等。飛控系統根據對傳感器數據處理的結果以及 PID 控制器調節作用,產生4路 PWM 占空比信息,通過總線分別傳給各 PWM 波產生模塊,最終產生4路 PWM 控制4路電機的轉速,以調整飛行器的飛行姿態。
二、飛控系統軟件程序設計
飛控系統的核心算法程序運行在 ARM 內核中,主要完成飛行器的姿態解算,以及控制命令與 PID 控制器對運動進行控制.飛控系統上電后進行初始化,初始化完成后等待定時器中斷,定時器中斷周期是2ms。定時器中斷到來后,首先進行加速度計和陀螺儀的零偏校準,然后等待遙控器指令 ;判斷遙控器是否發出飛行指令,若發出起飛指令,則飛控主程序解鎖,進入飛控主程序中 ;否則返回,等待下一次中斷。飛控主程序解鎖后,首先進行傳感器數據的讀取,對傳感器數據進行卡爾曼濾波、修正等 ;修正后的 MPU6050傳感器數據,利用四元數法進行俯仰角(pitch)和橫滾角(roll)的解算,利用基于磁力計傾斜補償的偏航角算法進行偏航角(yaw)的解算;解算出的三個姿態角與設定的值進行作差比較,在下一次中斷時,通過 PID 控制算法調整輸出油門的大小,即輸出四組新的 PWM波參數,結束當前控制周期,跳出中斷,等待下一次中斷。輸出的 PWM 波信號控制 PWM 波模塊產生相應的 PWM 波,驅動電機控制旋翼的轉速,進而實現對飛行姿態的調整。