張權(quán)權(quán)+ 王立成+ 李浩
【摘 要】利用慣性傳感器MPU6050和STM32微控制器設(shè)計(jì)一種微型四旋翼飛行控制器,采用雙閉環(huán)PID控制飛行器的姿態(tài),系統(tǒng)穩(wěn)定,抗干擾能力強(qiáng)。
【關(guān)鍵詞】四旋翼飛行器;慣性傳感器;PID控制
0 引言
微型四旋翼飛行器不僅具有體積小、結(jié)構(gòu)簡(jiǎn)單、成本低廉等優(yōu)點(diǎn),而且能夠在狹小的空間內(nèi)垂直起降、定點(diǎn)懸停,能夠適應(yīng)各種復(fù)雜環(huán)境,具有廣闊的應(yīng)用前景。
但是,四旋翼飛行器是一個(gè)典型的非線性、強(qiáng)耦合、多變量的欠驅(qū)動(dòng)系統(tǒng)[1],并且在飛行過(guò)程中容易受到外界的干擾因素影響,使得飛控系統(tǒng)的設(shè)計(jì)變得尤為困難。因此,本文采用STM32處理器為核心控制器,結(jié)合MPU6050陀螺儀加速度計(jì)、2.4G無(wú)線通信模塊,設(shè)計(jì)雙閉環(huán)PID控制算法,實(shí)現(xiàn)微型四旋翼飛行器的穩(wěn)定飛行。
1 系統(tǒng)總體設(shè)計(jì)
四旋翼飛行器總體結(jié)構(gòu)如圖1所示,由主控器模塊、電池組供電模塊、無(wú)線通信模塊、動(dòng)力輸出模塊和傳感器模塊構(gòu)成。操控者通過(guò)遙控器向飛行器發(fā)送飛行指令,飛行器的主控芯片STM32F103C8T6接收到飛行指令后,通過(guò)IIC總線采集陀螺儀、加速度計(jì)芯片MPU6050以及GPS芯片 的實(shí)時(shí)信息,經(jīng)過(guò)濾波算法后進(jìn)行飛行姿態(tài)算解,使用閉環(huán)PI算法計(jì)算四個(gè)電機(jī)的PWM占空比,最終通過(guò)控制四個(gè)電機(jī)的轉(zhuǎn)速實(shí)現(xiàn)飛行器姿態(tài)的控制。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 系統(tǒng)主控制器
飛行器選用意法半導(dǎo)體(ST)公司的STM32F103C8T6作為主控芯片,該芯片采用Cortex-M3內(nèi)核,主頻最高72MHz,內(nèi)置64KB程序存儲(chǔ)器,20KB數(shù)據(jù)存儲(chǔ)器,3個(gè)通用定時(shí)器,1個(gè)高級(jí)定時(shí)器,2個(gè)12位10通道ADC,32個(gè)通用IO口,支持SPI、IIC、UART、USB、CAN等總線接口。滿足飛控系統(tǒng)的各項(xiàng)要求。
2.2 陀螺儀與加速度計(jì)傳感器模塊
陀螺儀與加速度計(jì)傳感器采用MPU6050,該芯片集成了3軸陀螺儀和3軸加速度計(jì)。陀螺儀可測(cè)范圍為±250dps,±500dps,±1000dps,±2000dps;加速度計(jì)可測(cè)范圍為±2g,±4g,±8g,±16g。使用IIC總線和主控芯片進(jìn)行通信。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 飛控算法設(shè)計(jì)
整個(gè)飛控算法包括飛行姿態(tài)算解、姿態(tài)控制。
姿態(tài)算解就是根據(jù)MPU6050的陀螺儀和加速度計(jì)分別獲得獲得三軸轉(zhuǎn)動(dòng)的角速度和三軸方向上的加速度,求解四旋翼飛行器的方位和姿態(tài)。MPU6050內(nèi)部集成了數(shù)字運(yùn)動(dòng)處理(DMP)單元,利用卡爾曼濾波對(duì)六軸數(shù)據(jù)進(jìn)行數(shù)據(jù)融合產(chǎn)生四元數(shù)。主控芯片通過(guò)IIC總線直接從MPU6050的數(shù)據(jù)緩存中讀出四元數(shù),利用公式(1)把四元數(shù)轉(zhuǎn)化為歐拉角[2-3],從而獲得飛行器的當(dāng)前姿態(tài)。
3.2 雙閉環(huán)PID控制
四旋翼飛行器在飛行過(guò)程中不可避免的會(huì)受到外部的干擾,因此,采用雙閉環(huán)串級(jí)控制算法實(shí)現(xiàn)飛行器飛行姿態(tài)的調(diào)整和控制,提高系統(tǒng)的抗干擾能力,控制框圖如圖2所示。內(nèi)環(huán)對(duì)飛行器的角速度進(jìn)行PID控制,外環(huán)對(duì)飛行器的姿態(tài)角進(jìn)行PID控制。
4 實(shí)物圖片
微型四旋翼飛行器的實(shí)物如圖3所示。
5 結(jié)論
微型四旋翼飛行器在硬件上采用高性能的STM32F103C8T6和MPU6050芯片,結(jié)構(gòu)簡(jiǎn)單可靠。在軟件上使用MPU6050芯片的DMP功能直接讀取飛行器的姿態(tài)結(jié)合雙閉環(huán)PID控制飛行器姿態(tài),獲得更穩(wěn)定的飛行姿態(tài)控制。
【參考文獻(xiàn)】
[1]齊書(shū)浩.微型四旋翼飛行器總體設(shè)計(jì)及其運(yùn)動(dòng)控制[D].上海:上海交通大學(xué),2013.
[2]陳哲.捷聯(lián)慣導(dǎo)系統(tǒng)原理[M].北京宇航出版社,1986.
[3]賈瑞才.基于四元數(shù)EKF的低成本MEMS姿態(tài)估計(jì)算法[J].傳感技術(shù)學(xué)報(bào),2014(1):90-95.
[責(zé)任編輯:朱麗娜]