大熱的四軸飛行器設計,提供軟硬件參考方案
一、項目概述
1.1 項目摘要
四軸飛行器具有不穩定,非線性特性,姿態控制為四軸飛行器控制系統的核心。機械部分搭建四個具有對稱結構的螺旋槳葉和驅動電機。電氣部分則采用STM32為控制核心的慣性參考模塊作為姿態控制板,通過四軸飛行器的飛行原理,建立數學模型,設計四軸飛行器的姿態控制系統。陀螺儀,加速度,地磁計分別采集運動軌跡數據,姿態修正,進行航向控制,采用PI算法進行姿態角的閉環控制。另外運用一塊STM32作為自主飛行控制板,兩塊主控芯片通過無線串口進行數據傳送,當姿態控制板受到來自飛行控制板的控制信號時,姿態控制板通過數字控制總線控制四個電調,電調再把控制信號轉化為電機轉速控制電機運行,達到飛行效果。
1.2 項目背景/選題動機
四軸飛行器有著其他類型航模無可比擬的優勢,懸停穩定,不需要占用很大的面積空間;機械結構簡單,維護方便,飛行損耗成本低;可擴展性好,在四軸飛行器上能搭載攝像頭,或者其他傳感器,應用前景廣泛,可用于軍事,救援等特殊使命。而四軸飛行器的控制核心是姿態控制,而iNEMO模塊則為四軸飛行器搭建了基礎的控制硬件平臺。
二、需求分析
2.1 功能要求
(1) 傳感器要求能夠檢測四軸飛行器的航向,姿態信息。
(2) 主控器能快速獲得各個傳感器的數據,并進行數據處理。
(3) 各個電機要能進行實時調速,實現穩定飛行。
(4) 飛行控制板與姿態控制板進行一定距離實時通訊,并能控制飛行器的快速調速以實現飛行控制。
(5) 通過無線通訊獲取地磁模塊地磁與加速度原始數據,通過飛行控制板進行處理并顯示航向。
(6) 通過對電源模塊的電壓AD采樣,獲取電池電量信息并在飛行控制板上顯示
2.2 性能標準
(1) 水平原地連續旋轉
懸停在空中1米左右,偏航測試,四軸就開始原地連續旋轉起來。這個飛行主要用于測試飛控姿態預測算法的能力。好的飛行控制算法應該是盡量保持飛行器機身水平,不會漂移太多。
(2) 單邊掛重物實驗
懸停在空中,瞬間給飛行器四軸中一個軸臂上掛一個重物,對這樣沖擊力,觀察飛行器能不能快速做出反應,時間越短越好
(3) 加速上升或者下降
在飛行器處于懸停狀態,加速上升或者加速下降,觀察機身是否激烈抖動,抖動小或不抖動抗風能力強
三、方案設計
3.1 系統功能實現原理
四軸飛行器飛行原理:
當四個旋翼的轉速相等且產生的升力之和等于飛行器自身的重力時,飛行器處于懸停狀態;在懸停的基礎上,飛行器的任意一組旋翼轉速等量的增加或減少,而另一組飛行速度不變,將產生偏航的效果;同時等量增加或減少飛行器4個旋翼速度時,將使飛行器上升或下降;當其中飛行器的其中一個旋翼速度增加或減少,處于對角線上的旋翼速度減小或增加,飛行器將會向一個方向傾斜,產生俯仰運動或滾俯運動。如圖1所示。
圖1
四軸飛行器的飛行控制系統包括主控制模塊,各個傳感器模塊,飛行控制板,通訊模塊,電機調速模塊,電池模塊。主控制模塊與傳感器模塊合成一個模塊,使用的是意法半導體公司的iNEMO模塊慣性測量模塊,該模塊之間通過采用I2C通訊模式進行數據傳輸,并將控制信號發送給電調;飛行控制板與主控制器采用無線串口進行數據收發和命令控制;電源模塊為各個傳感器和控制芯片提供電源,并為電調和電機提供動力。四軸飛行器的系統總體設計框圖如圖2所示。
圖2
3.2 硬件資源配置
主控制器
系統主控制器采用意法半導體公司32位微處理器STM30f103系列為主控制器,它是專門為控制系統,工業控制系統和無線網絡等對功耗和成本敏感的嵌入式應用領域而設計的。STM32系列32位閃存微控制器基于為嵌入式應用開發的具有突破性的ARM Cortex –TM內核,高速指令處理能力,支持浮點數運算,有強大的數據處理能力;擁有USB,USART,SPI,I2C等多個外設接口,12位精度的ADC,采集更精確的數據,減小數據誤差;STM32開發完整的固件庫,完善的開發工具為用戶大大縮短開發周期,節約開發成本;
慣性參考單元
STEVAL-MKI062V2開發套件,這款iNEMO模塊集成了5個意法半導體傳感器:雙軸滾轉-俯仰陀螺儀(LPR430AL),單軸偏航陀螺儀(LY330ALH),6軸地磁測量模塊(LSM303DLH),壓力傳感器(LPS001DL)和溫度傳感器(STLM75)。
無線射頻模塊
用于收發數據命令采用CC1101無線通信模塊,串口通訊方式,低功耗工作,傳輸距離可達到200m,提供3種用戶可選波特率,可傳輸字節為30的數據幀,且有大數據的緩沖區。
電源模塊
電源模塊為主控制器,各個傳感器和電機供電,鋰電池供電,由ASM1117轉換為5V為慣性測量模塊和電調供電。
顯示部分
顯示部分為無線發送回來數據進行處理顯示和對發送控制命令的顯示,具有輔助調節作用,該部分采用2.4寸TFT顯示。
圖3
3.3系統軟件架構
姿態檢測算法
將陀螺儀和加速度計的初始測量值減去常值誤差,獲得角速度和加速度,并對加速度進行積分。然后對角加速度積分和加速度積分數值融合處理。融合目的包括兩個方面:一個對角速度的飄移進行估算,加入到角度值里面。另一個對陀螺儀的常值數值進行修正。
控制算法
算法的核心是對角速度做PI計算,P的作用是使四軸飛行器能夠產生對于外界干擾的抵抗力矩,I的作用是讓四軸飛行器產生一個與角度成正比的抵抗力。對角速度做I預算實際得到的是角度值,如果四軸有一個傾斜角度,那么四軸飛行器就會自己進行調整,直到傾角為零。它所產生的抵抗力與角度成正比,但是如果只有I的話,四軸飛行器會馬上進行震蕩,PI必須結合起來使用。
控制系統框架圖
3.4 系統軟件流程
四軸飛行器姿態控制程序運行流程圖如圖5所示,系統上電以后進行系統初始化,包括時鐘配置,端口初始化,液晶界面初始化。由控制器發出控制指令,如果四軸飛行器上姿態調整板能接受并產生應答信號,則進行傳感器校準,系統電量檢測,電量充足則等待無線指令,當接收到無線指令后,由姿態控制板就行姿態檢測,數據采集進行算法處理,并通過IIC把控制命令傳遞給電調進行電機轉速控制,以進行飛行控制。在整個過程中采用ADC采集電源模塊輸出電壓,以進行電量檢測,如果電量不足,則飛行器落停或者不起飛。
程序運行流程圖
評論