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