朱建亮,浦 煒
(常熟理工學院,江蘇 常熟 215500)
?
基于藍牙的四軸飛行器控制系統(tǒng)
朱建亮,浦 煒
(常熟理工學院,江蘇 常熟 215500)
四旋翼飛行器具有的結(jié)構(gòu)簡單,易于控制,操控靈活;能夠自由懸停,垂直起降及前后左右控制等優(yōu)勢使它具有非常廣泛的應用領(lǐng)域。本系統(tǒng)實現(xiàn)了使用安卓手機來遠程控制飛行器以及通過內(nèi)部控制算法實現(xiàn)飛行器對自身的平衡控制;采用STM32系列MCU作為飛行器控制器,利用MPU6050采集飛行器的飛行狀態(tài),使用藍牙用于飛行器與手機通信,通過控制算法實現(xiàn)對飛行器的飛行控制。系統(tǒng)具有操控靈活,結(jié)構(gòu)簡單的優(yōu)點。
PID;四軸飛行器;MPU6050
近年來無人機在以非??斓陌l(fā)展速度進入我們的生活中。最為普遍的就是航拍及遙控飛行器等,其中四旋翼飛行器得到更多的關(guān)注。與普通無人機相比,四旋翼飛行器是在平面上具有4個平均分布且呈十字對稱結(jié)構(gòu),擁有6個自由度,機動性能高,具有升降、懸停、前后飛行、左右飛行等特點[2,6]。四旋翼飛行器具有結(jié)構(gòu)簡單、成本低廉、易于維護和制造 ,起降簡單、操作靈活等優(yōu)點[1]。
1.1 系統(tǒng)實現(xiàn)的功能
本系統(tǒng)設計實現(xiàn)了基于Android移動端的遙控器的App設計,通過手機藍牙與飛行器的藍牙進行數(shù)據(jù)傳輸,進而控制四軸飛行器,同時飛行器具有自動控制能力,能夠?qū)ψ陨淼淖藨B(tài)進行解析,并調(diào)整自身狀態(tài)使其處于平衡狀態(tài)。
1.2 系統(tǒng)的設計架構(gòu)及各功能模塊
圖1 系統(tǒng)設計架構(gòu)
如圖1所示為系統(tǒng)設計的總架構(gòu):設計一個App,作為手機端的一個遠程遙控器,通過手機藍牙與四軸飛行器的藍牙之間建立通信,從而傳遞控制數(shù)據(jù)。同時飛行器的主控制選用STM32系列單片機,單片機通過藍牙模塊來接收手機發(fā)來的數(shù)據(jù)。同時還使用MPU6050三軸重力和三軸陀螺儀傳感器采集飛行器的動力及姿態(tài)數(shù)據(jù)。單片機整合數(shù)據(jù),并轉(zhuǎn)換成適當占空比的PWM信號,并用此信號控制四個螺旋漿的轉(zhuǎn)速,來控制飛行。
2.1 飛行原理
四旋翼飛行器的旋翼對稱地安裝在呈十字交叉的支架頂端,位置相鄰的旋翼旋轉(zhuǎn)方向相反,同一對角線上的旋翼旋轉(zhuǎn)方向相同,以此確保了飛行系統(tǒng)的扭矩平衡[1],從而使飛行器不會有劇烈的自旋現(xiàn)象。
四旋翼飛行器的上下垂直運動是通過4個旋翼同時增速(減速)轉(zhuǎn)速來實現(xiàn)的[3]。在飛行器的控制過程中,飛行器的姿態(tài)檢測是一個不可或缺的部分,飛行器的姿態(tài)可以用俯仰角,橫滾角和航向角來準確表示,如圖2所示,Yaw表示飛行器航向角,即機體坐標系繞自身Z軸旋轉(zhuǎn)過的角度;Pitch為飛行器俯仰角,即機體繞自身X軸旋轉(zhuǎn)過的角度;Roll為飛行器橫滾角,即機體繞自身Y軸旋轉(zhuǎn)過的角度。Yaw,Pitch,Roll三個角能夠描述飛行器的任意姿態(tài)[5]。
圖2 四軸原理結(jié)構(gòu)圖
2.2 硬件搭建
在硬件設計中,需要對飛行器的骨架結(jié)構(gòu),重量;電機的性能;點調(diào)的輸出,電池的輸出能力,繼續(xù)航能力;主控芯片的處理能力,傳感器及藍牙模塊的選擇做出綜合的考量。如圖3所示,主控端采集來自藍牙和MPU6050的數(shù)據(jù),使用PWM輸出來驅(qū)動無刷電調(diào),進而控制無刷電機轉(zhuǎn)速來控制飛行器。表1中列出設計中所需要的材料及其對應的參數(shù)。
圖3 飛行器硬件架構(gòu)圖
材料描述及參數(shù)數(shù)量十字型四軸骨架四軸450機架4軸4旋翼1電調(diào)新西達電調(diào)XXD30A無刷電調(diào)4無刷電機航模電機XXD新西達KV1000無刷馬達4旋翼正反漿1045螺旋槳2MPU6050三軸加速度三軸陀螺儀1藍牙模塊A09HC-05串口透傳模塊1STM32主控STM32f103ZET6主控板1電源11.1V4200MAH30C3S鋰電池1
軟件設計分為上位機的App控制端,主要用于人機交互;下位機軟件設計,主要完成飛行器控制算法的實現(xiàn)。
3.1 上位機軟件設計
在上位機的設計中使用QT來完成界面設計,并將其移植到Android手機上使用。在上層的設計中主要實現(xiàn)一個用戶界面,讓用戶能夠簡單地建立與飛行器的鏈接。其次就是藍牙數(shù)據(jù)通信通道的建立,首先是手機掃描周圍的藍牙設備,掃描到匹配的設備之后,建立藍牙連接,建立連接完成之后去發(fā)現(xiàn)藍牙所提供的服務及屬性,在屬性中找到數(shù)據(jù)通道的特征ID號,用此ID建立數(shù)據(jù)傳輸通道,自此藍牙的數(shù)據(jù)通道建立完成。App將用戶的操作轉(zhuǎn)換成對應的協(xié)議數(shù)據(jù)通過數(shù)據(jù)通道下發(fā)給下位機即完成上位機的功能。
3.2 下位機軟件設計
下位機通過藍牙采集上位機的數(shù)據(jù)并對數(shù)據(jù)進行解析,使用MPU6050對飛行器的姿態(tài)進行解析。最終主控制器通過PID的控制算法,對四路PWM進行調(diào)整輸出;來控制飛行器的狀態(tài)。其中最重要的是MPU6050的數(shù)據(jù)采集及數(shù)據(jù)轉(zhuǎn)換,和PID控制算法的實現(xiàn)。
3.2.1 MPU6050的設計實現(xiàn)
MPU6050的初始化過程如下,初始化完成之后即可采集三軸加速度和三軸陀螺儀的數(shù)據(jù)。
1) 初始化IIC接口。
2) 復位MPU6050。由電源管理寄存器1(0X6B)控制。
3) 設置角速度傳感器和加速度傳感器的滿量程范圍。由陀螺儀配置寄存器(0X1B)和加速度傳感器配置寄存器(0X1C)設置。
4) 設置陀螺儀采樣率 ,由采樣率分頻寄存器(0X19)控制。
5) 設置系統(tǒng)時鐘。由電源管理寄存器1(0X6B)控制。
6) 使能角速度傳感器(陀螺儀)和加速度傳感器。由電源管理寄存器2(0X6C)控制。
采集到的數(shù)據(jù)我們不能直接使用,我們需要得到的是姿態(tài)數(shù)據(jù),即歐拉角:航向角(yaw)、橫滾角(roll)和俯仰角(pitch)。這就需要對采集的陀螺儀數(shù)據(jù)進行姿態(tài)的融合結(jié)算。InvenSence提供了MPU6050的嵌入式運動驅(qū)動庫,結(jié)合MPU6050的DMP,將原始數(shù)據(jù)轉(zhuǎn)換為四元數(shù)輸出,再利用四元數(shù)計算出歐拉角[4,5]。
3.2.2 PID控制算法的實現(xiàn)
四旋翼飛行器的控制主要包括姿態(tài)控制和位置控制,由于位置的改變是由于姿態(tài)的變化而引起的,因此控制四旋翼飛行器的姿態(tài)是最為重要的。為了實現(xiàn)對四旋翼飛行器的姿態(tài)控制,通常情況下人們采用的是比較成熟的PID控制器。PID控制:調(diào)節(jié)器的輸出是輸入的比例、積分、微分的函數(shù)。根據(jù)系統(tǒng)輸入的偏差,按照PID的函數(shù)關(guān)系進行運算,其結(jié)果用以控制輸出。它具有原理簡單、算法成熟、控制參數(shù)相互獨立、穩(wěn)定性好等優(yōu)點[7]。PID控制原理如圖4。
圖4 PID控制原理圖
在模擬系統(tǒng)中,PID算法的表達式:
式中:P(t)為調(diào)節(jié)器輸出;e(t)為調(diào)節(jié)器的偏差信號;Kp為比例系數(shù);Ti為積分系數(shù);Td為微分系數(shù)。
為了方便的使用C語言來實現(xiàn)PID的功能,我們需要將連續(xù)的系統(tǒng)離散化。離散化的PID表達式如下:
也可表示為:
u(k)=Kp(err(k)+Ki∑err(j)+
Kd(err(k)-err(k-1))).
Kp、Ki、Kd三個參數(shù)需要在具體設計的系統(tǒng)中,根據(jù)測試結(jié)果的反饋,整定出系統(tǒng)最匹配的值。
通過硬件及軟件的設計和系統(tǒng)的調(diào)試,實現(xiàn)系統(tǒng)的基本功能;使用手機App連接上飛行器;可以實現(xiàn)控制飛行前后左右上下的六個自由度的平穩(wěn)飛行。同時藍牙掉線保護等安全措施也都完備。
[1] 楊慶華,宋召青,時磊.四旋翼飛行器建模、控制與仿真[J].海軍航空工程學院學報,2009,24(5):499-502.
[2] 李堯.四旋翼飛行器控制系統(tǒng)設計[D].大連:大連理工大學,2013.
[3] 葉樹球,詹林.基于PID的四旋翼飛行器姿態(tài)控制系統(tǒng)[J].計算機與現(xiàn)代化,2015,5.
[4] 胡國飛,方興,彭群生.凸組合球面參數(shù)化[J].計算機輔助設計與圖形學學報,2004,16(5):632-637.
[5] 劉秀平,胡建平,蘇志勛,等.均勻準保角球面參數(shù)化[J].計算機輔助設計與圖形學學報,2008,20(5):618-624.
[6] 聶博文.微小型四旋翼飛行器的研究現(xiàn)狀與關(guān)鍵技術(shù)[J].電光與控制,2007,14(6):113-117.
[7] 侯永鋒,陸連山,高尚德,等.基于PD算法的四旋翼飛行器控制系統(tǒng)研究[J].機械科學與技術(shù),2012,31(3):359-362.
Four Axis Aircraft Control System Based on Bluetooth
Zhu Jianliang,Pu Wei
(ChangshuInstituteofTechnology,ChangshuJiangsu215500,China)
The quadrotor is widely used in application field with its advantages of simple structure,easy to control,flexible control,freely hovering,vertical take-off and landing and so on.This system makes the realization to use Android mobile phone to remote control aircraft and through the internal control algorithm to achieve the aircraft on its own balance control.The STM32 Series MCU is used as an aircraft controller which uses mpu6050 to collect the flight status of the aircraft,uses Bluetooth for aircraft and mobile communication,and through the control algorithm to achieve the flight control of the aircraft.
PID; quadrotor; MPU6050
2016-05-24
朱建亮(1992-),男,河南潢川人,常熟理工學院電子科學與技術(shù)專業(yè)本科生。
1674-4578(2016)05-0010-03
V249.1;TN925
A