田昌 鄧文濤 趙娟
摘? ?要:近年來,隨著輕型復(fù)合材料廣泛應(yīng)用以及多旋翼無人機結(jié)構(gòu)的出現(xiàn),無人機已經(jīng)不僅應(yīng)用在軍事領(lǐng)域,其他領(lǐng)域的應(yīng)用也越來越廣泛。本文主要對多旋翼無人機結(jié)構(gòu)進行研究,設(shè)計一種以STM32F103C8T6為核心,MPU6050三軸陀螺儀作姿態(tài)傳感器輸出姿態(tài)值,以HM-12、HM-13系列藍牙模塊與手機通信的四旋翼無人機。該無人機結(jié)構(gòu)合理、操作靈活、性能良好、使用方便,適合現(xiàn)代生活多方需求。
關(guān)鍵詞:嵌入式? STM32F103C8T6? 控制系統(tǒng)
中圖分類號:V249.1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2019)10(c)-0061-02
隨著科技的進步,無人機的發(fā)展十分迅猛,其已在諸多領(lǐng)域有著重要的作用。四旋翼無人機更是其中的一個典型。相比起其他傳統(tǒng)無人機,其操作靈活,地形限制少,攜帶方便,價格低廉的優(yōu)勢無疑更貼近我們的生活,如無人機航拍,監(jiān)控,勘測地形等。因此,四旋翼無人機在未來的發(fā)展中無疑是極具前景的。
1? 硬件結(jié)構(gòu)與原理
四旋翼無人機主要由四軸飛行器和手機控制APP兩部分組成,其中四軸飛行器則是由四軸核心板,四軸螺旋槳,藍牙無線模塊,電池四部分組成,手機APP則是通過安卓語言開發(fā)的簡易程序來與四軸飛行器上的藍牙模塊連接,達到可以控制飛行器的目的。
四旋翼無人機根據(jù)四旋翼對稱的結(jié)構(gòu),其有兩種飛行姿態(tài),一種是根據(jù)四旋翼十字對稱的結(jié)構(gòu),將處于同一水平線的一對機架梁作為x軸另一對梁作為y軸的“+”型飛行姿態(tài),如圖1所示。另一種是將相應(yīng)兩個梁的對稱軸線作為x軸,另一條對稱軸線作為y軸的“X”型飛行姿態(tài),如圖1所示。
四旋翼飛行器是一種欠驅(qū)動系統(tǒng),其只有四個輸入力,但卻同時輸出六個狀態(tài)。實現(xiàn)其飛行的主要便就是調(diào)節(jié)PWM占空比來調(diào)節(jié)電機轉(zhuǎn)速,使旋翼旋轉(zhuǎn),產(chǎn)生上升或下降的力。同時調(diào)節(jié)四個電機的轉(zhuǎn)速,便可以實現(xiàn)無人機的垂直運動,在通過調(diào)節(jié)不同的電機的轉(zhuǎn)速,還可以實現(xiàn)俯仰,滾動,偏航等多種運動,其操作簡單,靈活多變的特性能極大的方便我們的生活。
2? 系統(tǒng)框架設(shè)計
四旋翼無人機大致可分為六個部分,STM32F103C8T6單片機為核心,主要負責整個系統(tǒng)的協(xié)調(diào)工作;慣性測量模塊使用MPU6050來測量四旋翼的姿態(tài);無線通信模塊使用HM-12藍牙模塊來與手機進行通信;電機驅(qū)動模塊則使用直流電機負責調(diào)控旋翼;電源管理模塊負責穩(wěn)壓和充放電。手機APP模塊則是與藍牙模塊連,實現(xiàn)用手機操作無人機的效果。其整體框架如圖2所示。
3? 系統(tǒng)軟件設(shè)計
基于STM32的四旋翼無人機軟件設(shè)計主要包括姿態(tài)解算和PID控制兩個部分。姿態(tài)解算屬于四旋翼制作的核心部分,如果姿態(tài)解算能夠?qū)崟r的反應(yīng)出無人機的狀態(tài),那么對于控制來講就相對來說比較容易了。而姿態(tài)結(jié)算所要做的事情就是地理坐標系與載體坐標系這兩個坐標系之間的正確轉(zhuǎn)化。姿態(tài)解算的核心在于旋轉(zhuǎn),一般旋轉(zhuǎn)有矩陣表示、歐拉角表示、軸角表示和四元數(shù)表示4種,在組合旋轉(zhuǎn)方面,四元數(shù)表示最佳,故本文采用四元數(shù)保存組合姿態(tài)、輔以矩陣來變換向量的方案。在姿態(tài)解算中使用四元數(shù)來保存飛行器的姿態(tài),包括旋轉(zhuǎn)和方位。在獲得四元數(shù)之后,會將其轉(zhuǎn)化為歐拉角,然后輸入到姿態(tài)控制算法中。總體設(shè)計則是通過MPU6050采集到的AD值(即陀螺儀和加速度值),將三個維度的AD值轉(zhuǎn)化為四元數(shù),再通過四元數(shù)轉(zhuǎn)化為歐拉角pitch、roll、yaw即得到當前飛機的姿態(tài)。其中這個四元數(shù)是軟解,由STM32F103C8T6主控芯片讀取到AD值,用軟件從AD值算得。
該系統(tǒng)對四旋翼的控制采用PID控制,利用期望姿態(tài)(pitch=0,roll=0,yaw=0)與當前姿態(tài)的誤差,通過PID的控制作用輸出四路不同的PWM驅(qū)動電機讓飛機調(diào)整自己的姿態(tài)滿足當前姿態(tài)與期望姿態(tài)的誤差為0的目標。其中,角度作為外環(huán),角速度作為內(nèi)環(huán),進行姿態(tài)雙環(huán)PID控制。角度環(huán)的輸出值作為角速度環(huán)的輸入建立自穩(wěn)系統(tǒng)。其原理流程如圖3所示。
4? 結(jié)語
本系統(tǒng)以STM32F103C8T6為核心,通過MPU6050輸出模塊的姿態(tài)值,在使用PID控制來調(diào)節(jié)PWM的電機速率,通過無線藍牙模塊與手機藍牙相連,直接使用手機APP即可控制無人機。
參考文獻
[1] 徐信,陳聰.基于STM32的無人機飛行器設(shè)計[J].信息通信,2018(12):128-130.
[2] 楊才廣,姚志興,譚永鎮(zhèn),等.基于STM32的無人機飛行控制系統(tǒng)[J].電子世界,2019(1):130-131.
[3] 王博.基于STM32的微型無人機飛行控制器研究[D].長春工業(yè)大學(xué),2018.
[4] 董明飛,侯恭,康立鵬,等.四旋翼無人機的組成及各部分功能[J].科技創(chuàng)新與應(yīng)用,2018(21):85-86.