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