999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CC3200和MPU6050的迷你四軸飛行器控制原理

2016-03-10 01:58:52孫銘王锏張耀軍

孫銘,王锏,張耀軍

(西安電子科技大學(xué) 電子工程學(xué)院,西安710071)

?

CC3200和MPU6050的迷你四軸飛行器控制原理

孫銘,王锏,張耀軍

(西安電子科技大學(xué) 電子工程學(xué)院,西安710071)

摘要:多旋翼飛行器具有較好的發(fā)展前景,也是近年來的熱門研究方向。本文討論的四軸飛行器是一種四旋翼飛行器。首先介紹四軸飛行器的飛行控制原理;其次逐個闡述了基于CC3200單片機(jī)和MPU6050加速度計(jì)/陀螺儀的迷你四軸飛行器的各個關(guān)鍵模塊,從軟件和硬件的角度分別描述了各模塊的實(shí)現(xiàn)和整合;最后,分析了該四軸飛行器的試飛結(jié)果以及該飛行器的一些不足。

關(guān)鍵詞:四軸飛行器;WLAN;加速度計(jì);陀螺儀;CC3200;MPU6050

引言

本文主要介紹了一種迷你四軸飛行器的控制原理,不同于市面上的大多數(shù)四軸飛行器,本文所討論的四軸飛行器以WiFi網(wǎng)絡(luò)作為控制器與飛行器的通信媒介,這將使四軸飛行器的易用性得到提高。

1四軸飛行器原理簡介

四軸飛行器,又稱四旋翼飛行器、四旋翼直升機(jī),是一種多旋翼飛行器。四軸飛行器的4個螺旋槳都是電機(jī)直連的簡單機(jī)構(gòu),十字形的布局允許飛行器通過改變電機(jī)轉(zhuǎn)速獲得旋轉(zhuǎn)機(jī)身的力,從而調(diào)整自身姿態(tài)。四軸飛行器可以完成垂直運(yùn)動、俯仰運(yùn)動、滾轉(zhuǎn)運(yùn)動、平移運(yùn)動、偏航運(yùn)動等動作。

1.1垂直運(yùn)動

圖1 平衡姿態(tài)

四軸飛行器的每個電機(jī)驅(qū)動一只旋翼,如圖1所示,4只電機(jī)用圓形表示,機(jī)身框架由圖中的十字結(jié)構(gòu)表示。圖1中,因有兩對電機(jī)轉(zhuǎn)向相反,可以平衡其對機(jī)身的反扭矩,當(dāng)同時增加4個電機(jī)的輸出功率,旋翼轉(zhuǎn)速增加使得總的拉力增大,當(dāng)總拉力足以克服整機(jī)的重量時,四軸飛行器便離地垂直上升;反之,同時減小4個電機(jī)的輸出功率,四軸飛行器則垂直下降,直至平衡落地,實(shí)現(xiàn)了沿z軸的垂直運(yùn)動。當(dāng)外界擾動量為零時,旋翼產(chǎn)生的升力等于飛行器的自重時,飛行器便保持懸停狀態(tài)。保證4個旋翼轉(zhuǎn)速同步增加或減小是保持垂直運(yùn)動的關(guān)鍵。

1.2俯仰運(yùn)動、滾轉(zhuǎn)運(yùn)動

圖2 傾斜姿態(tài)

傾斜姿態(tài)如圖2所示,電機(jī)1、電機(jī)2的轉(zhuǎn)速上升,電機(jī)3、電機(jī)4的轉(zhuǎn)速下降。為了不因?yàn)樾磙D(zhuǎn)速的改變引起四軸飛行器整體扭矩及總拉力改變,旋翼1與旋翼3轉(zhuǎn)速改變量的大小應(yīng)相等,旋翼2與旋翼4轉(zhuǎn)速改變量的大小應(yīng)相等。由于旋翼1、旋翼2的升力上升,旋翼3、旋翼4的升力下降,產(chǎn)生的不平衡力矩使機(jī)身繞y軸旋轉(zhuǎn),發(fā)生俯仰運(yùn)動。同理,當(dāng)電機(jī)1、電機(jī)4的轉(zhuǎn)速下降,電機(jī)2、電機(jī)3的轉(zhuǎn)速上升時,機(jī)身便繞x軸向旋轉(zhuǎn),實(shí)現(xiàn)飛行器的滾轉(zhuǎn)運(yùn)動。

1.3平移運(yùn)動

四軸飛行器在作出俯仰、滾轉(zhuǎn)運(yùn)動時,由于機(jī)體傾斜,旋翼提供的升力將產(chǎn)生水平分量,使得機(jī)體可以作出前、后、左、右平移運(yùn)動。

1.4偏航運(yùn)動

偏航運(yùn)動如圖3所示。四軸飛行器偏航運(yùn)動可以借助旋翼產(chǎn)生的反扭矩來實(shí)現(xiàn)。旋翼轉(zhuǎn)動過程中由于空氣阻力作用會形成與轉(zhuǎn)動方向相反的反扭矩,為了克服反扭矩影響,可使4個旋翼中的2個正轉(zhuǎn)、2個反轉(zhuǎn),且對角線上的各個旋翼轉(zhuǎn)動方向相同。

圖3 偏航運(yùn)動

反扭矩的大小與旋翼轉(zhuǎn)速有關(guān),當(dāng)4個電機(jī)轉(zhuǎn)速相同時,4個旋翼產(chǎn)生的反扭矩則相互平衡,則四軸飛行器不發(fā)生轉(zhuǎn)動;當(dāng)4個電機(jī)轉(zhuǎn)速不完全相同時,不平衡的反扭矩會引起四軸飛行器轉(zhuǎn)動。在圖3中,當(dāng)電機(jī)1和電機(jī)3的轉(zhuǎn)速上升、電機(jī)2和電機(jī)4的轉(zhuǎn)速下降時,旋翼1和旋翼3對機(jī)身的反扭矩大于旋翼2和旋翼4對機(jī)身的反扭矩,機(jī)身便在富余反扭矩的作用下繞z軸轉(zhuǎn)動,實(shí)現(xiàn)飛行器的偏航運(yùn)動,轉(zhuǎn)向與電機(jī)1、電機(jī)3的轉(zhuǎn)向相反。因?yàn)殡姍C(jī)的總升力不變,飛機(jī)不會發(fā)生垂直運(yùn)動。

能夠作出以上幾種動作,使得四軸飛行器具備了較高的靈活性和較好的操控性。

2四軸飛行器硬件設(shè)計(jì)與實(shí)現(xiàn)

本文所討論的迷你四軸飛行器以自身的PCB板為機(jī)架,由CC3200無線微控制器負(fù)責(zé)飛控算法、電機(jī)控制和無線通信,由MPU6050加速度計(jì)/陀螺儀負(fù)責(zé)獲取姿態(tài)數(shù)據(jù),由4只720空心杯電機(jī)和螺旋槳提供升力,由MOS管驅(qū)動電機(jī),由鋰電池和LDO穩(wěn)壓器提供電源。

2.1迷你四軸飛行器總體設(shè)計(jì)

圖4 迷你四軸飛行器外觀

該飛行器PCB尺寸為10 cm×10 cm,層數(shù)為兩層。整體外觀如圖4所示。

為降低硬件開發(fā)復(fù)雜度,CC3200和MPU6050均使用成品模塊。為節(jié)約空間、降低負(fù)重,PCB上的阻容器件均采用0603封裝,其他器件采用小型貼片封裝。

2.2CC3200模塊

CC3200是TI公司推出的一款單芯片無線微控制器,為SimpleLink、WiFi和物聯(lián)網(wǎng)提供解決方案。CC3200由應(yīng)用微控制器、WiFi網(wǎng)絡(luò)處理器和電源管理子系統(tǒng)組成。

應(yīng)用微控制器采用ARM Cortex-M4內(nèi)核,運(yùn)行頻率為80 MHz,具有256 KB RAM,浮點(diǎn)運(yùn)算能力較強(qiáng),滿足飛控算法性能要求;有2個UART接口、1個I2C接口、4個通用定時器,通道支持16位脈寬調(diào)制 (PWM) 模式,4通道12位模/數(shù)轉(zhuǎn)換器 (ADC),多達(dá)27個獨(dú)立可編程、復(fù)用通用輸入/輸出(GPIO)引腳,硬件接口完全滿足四軸飛行器的功能需求。

WiFi網(wǎng)絡(luò)處理器子系統(tǒng)特有WiFi Internet-On-a-Chip專用ARM MCU,完全解除應(yīng)用微控制器的WiFi和互聯(lián)網(wǎng)協(xié)議處理負(fù)擔(dān)。ROM中固化有WiFi以及互聯(lián)網(wǎng)協(xié)議、802.11 b/g/n射頻、基帶、媒介訪問控制(MAC)、WiFi驅(qū)動器和請求方TCP/IP堆棧。

電源管理子系統(tǒng)集成DC-DC轉(zhuǎn)換器,支持2.1~3.6V寬范圍的電源電壓,并具備高級低功耗模式。

本文所使用的CC3200模塊已集成必要的外圍電路和時鐘,擴(kuò)展出GPIO和外設(shè)接口,僅需提供電源即可運(yùn)行。PCB中引出CC3200模塊的2路UART和1路JTAG進(jìn)行調(diào)試,1路I2C總線與MPU6050傳感器通信,4路PWM用于控制電機(jī),2路GPIO控制指示燈。

2.3MPU6050模塊

MPU6050為整合性6軸運(yùn)動處理組件,相較于多組件方案,避免了組合陀螺儀與加速器時之軸間差的問題,減少了大量的封裝空間。MPU6050的角速度全格感測范圍為±250°/sec、±500°/sec、±1 000°/sec與±2000°/sec (dps),可準(zhǔn)確追蹤快速與慢速動作,并且,用戶可程式控制的加速器全格感測范圍為±2g、±4g、±8g與±16g,產(chǎn)品傳輸可通過最高至400 kHz的I2C總線接口實(shí)現(xiàn)。MPU6050可在不同電壓下工作,VDD供電電壓為2.5 V±5%、3.0 V±5%或3.3V±5%。MPU6050的封裝尺寸為4×4×0.9 mm3(QFN)。MPU6050還包含內(nèi)建的溫度感測器、在運(yùn)作環(huán)境中僅有±1%變動的振蕩器。

MPU6050模塊已集成必要的外圍電路,擴(kuò)展出I2C接口,僅需提供電源并進(jìn)行配置即可使用。

2.4電機(jī)及其驅(qū)動電路

四軸飛行器采用轉(zhuǎn)速高達(dá)45 000 r/min的720空心杯電機(jī)提供動力。電機(jī)由SI2302場效應(yīng)管驅(qū)動,場效應(yīng)管由CC3200 PWM控制。

2.5電源設(shè)計(jì)

四軸飛行器的電源由鋰電池提供。鋰電池容量為500 mAh、放電系數(shù)為20C,最大放電電流為10 A,可支持飛行器飛行5 min。電池輸出分兩路,一路直接通過MOS管加在電機(jī)上為電機(jī)供電,另一路通過XC6206 LDO穩(wěn)壓到3.3 V,為CC3200和MPU6050供電。

2.6遙控器設(shè)計(jì)

四軸飛行器使用Android手機(jī)通過WiFi與CC3200建立連接并通信。手機(jī)端遙控APP將在3.2節(jié)介紹。

3四軸飛行器軟件設(shè)計(jì)與實(shí)現(xiàn)

3.1四軸飛行器端固件

四軸飛行器端固件主要實(shí)現(xiàn)如下功能:

① 初始化CC3200應(yīng)用控制器。

② 初始化并配置MPU6050傳感器。

③ 初始化網(wǎng)絡(luò)處理器并建立WLAN AP和TCP Server Socket,等待遙控連接。

④ 進(jìn)入主循環(huán),處理傳感器數(shù)據(jù),生成姿態(tài)數(shù)據(jù)并根據(jù)姿態(tài)和遙控指令計(jì)算出每個電機(jī)的PWM輸出值。

main()函數(shù)框架如下(略去部分代碼):

void main(){

BoardInit();//初始化CC3200

PinMuxConfig();//配置引腳

InitPWMModules();//初始化PWM

I2C_IF_Open(I2C_MASTER_MODE_FST);//初始化I2C

mpu_setup();//初始化和配置MPU6050

……

//初始化網(wǎng)絡(luò)子系統(tǒng),建立WLAN AP和TCP Server Socket

osi_TaskCreate( WlanAPMode,

(const signed char*)"wireless LAN in AP mode",

OSI_STACK_SIZE, NULL, 1, NULL );

//主循環(huán),處理傳感器數(shù)據(jù),生成姿態(tài)數(shù)據(jù)并實(shí)現(xiàn)飛控算法

osi_TaskCreate( GestureCtrl,

(const signed char*)"gesture ctrl",

OSI_STACK_SIZE, NULL, 1, NULL );

……

}

主要飛控算法函數(shù)Gesture_ctrl()框架如下(略去部分代碼):

void Gesture_ctrl(int accelerato, float offsetX, float offsetY){

MakeOut_xyz();

//根據(jù)傳感器返回的數(shù)據(jù)計(jì)算x、y、z三個軸向的傾角

UpdatePID(offsetX, offsetY);//計(jì)算調(diào)節(jié)量

//把幾個軸向的調(diào)節(jié)量加在相應(yīng)的電機(jī)上

moto1 = accelerato + pid_rol.out - pid_pit.out - pid_yaw.out;

moto2 = accelerato - pid_rol.out - pid_pit.out + pid_yaw.out;

moto3 = accelerato - pid_rol.out + pid_pit.out - pid_yaw.out;

moto4 = accelerato + pid_rol.out + pid_pit.out + pid_yaw.out;

//將運(yùn)算結(jié)果輸出給PWM控制器

UpdateDutyCycleMoto1(moto1);

UpdateDutyCycleMoto2(moto2);

UpdateDutyCycleMoto3(moto3);

UpdateDutyCycleMoto4(moto4);

}

其中,UpdatePID(offsetX, offsetY)根據(jù)傾角、遙控指令(offsetX, offsetY)和PID算法,求出x、y、z三個軸向上的調(diào)節(jié)量pid_rol.out、pid_pit.out和pid_yaw.out。offsetX、offsetY 為遙控器命令指定的目標(biāo)姿態(tài),PID算法將改變電機(jī)輸出,使機(jī)體姿態(tài)調(diào)整到目標(biāo)姿態(tài)。PID算法公式為:

其中,u為調(diào)節(jié)量;e為當(dāng)前姿態(tài)的姿態(tài)角較目標(biāo)姿態(tài)的偏差,即offsetX+x或offsetY+y(x、y為當(dāng)前姿態(tài)傾角);Kp為比例相系數(shù);Ki為積分項(xiàng)系數(shù),積分項(xiàng)為e的累加和;Kd為微分項(xiàng)系數(shù),角度的微分即角速度,所以微分項(xiàng)可由MPU6050的陀螺儀輸出直接得到。

網(wǎng)絡(luò)通信的簡要代碼如下(略去部分代碼):

intBsdTcpServer(unsignedshortusPort){

……

//填充TCPServerSocket地址

sLocalAddr.sin_family=SL_AF_INET;

sLocalAddr.sin_port=sl_Htons((unsignedshort)usPort);

sLocalAddr.sin_addr.s_addr= 0;

//創(chuàng)建TCPServerSocket

iSockID=sl_Socket(SL_AF_INET,SL_SOCK_STREAM, 0);

//綁定TCPsocket

sl_Bind(iSockID, (SlSockAddr_t*)&sLocalAddr,iAddrSize);

//監(jiān)聽TCP連接

sl_Listen(iSockID, 0);

//設(shè)置Socket操作為非阻塞模式

sl_SetSockOpt(iSockID,SL_SOL_SOCKET,SL_SO_NONBLOCKING,&lNonBlocking,sizeof(lNonBlocking));

iNewSockID=SL_EAGAIN;

while(iNewSockID< 0){

//接受TCP連接請求

iNewSockID=sl_Accept(iSockID, (structSlSockAddr_t*)&sAddr,(SlSocklen_t*)&iAddrSize);

}

returniNewSockID;

}

voidTcpLoopRecive(void*pvParameters){

……

while(1){

//接收TCP包

sl_Recv(iNewSockID,g_cBsdBuf, 16, 0);

//解析遙控指令

if(g_cBsdBuf[0] == 0xAA){

accelerato=g_cBsdBuf[1] + ((int)g_cBsdBuf[2] << 8);

memcpy(&offsetX,g_cBsdBuf+ 3, 4);

memcpy(&offsetY,g_cBsdBuf+ 7, 4);

}

}

}

3.2遙控器端APP設(shè)計(jì)

遙控器APP運(yùn)行在Android手機(jī)系統(tǒng)中,主要功能是建立與CC3200的TCP連接,為用戶提供操作界面,獲取用戶輸入,并通過TCPSeruerSocket將輸入傳給CC3200。用戶界面如圖5所示,該界面能夠獲取用戶的“方向”和“油門”輸入。

圖5 遙控APP界面

結(jié)語

參考文獻(xiàn)

[1] 滿紅,梁迎春,冀勇鋼,等.自動控制原理[M].北京:清華大學(xué)出版社,2011:152-153.

[2] Texas Instruments.CC3200 User Manual,2014.

[3] InvenSense .MPU-6000 and MPU-6050 Product Specification Revision 3.4,2013.

孫銘(研究生),主要研究方向?yàn)镻owerPC嵌入式系統(tǒng)、ARM核微控制器;王锏(研究生),主要研究方向?yàn)镻owerPC嵌入式系統(tǒng)、網(wǎng)絡(luò)通信;張耀軍(研究生),主要研究方向?yàn)楦咚俅鎯夹g(shù)。

Mini Four-axis Aircraft Based on CC3200 and MPU6050

Sun Ming,Wang Jian,Zhang Yaojun

(School of Electronic Engineering,Xidian University,Xi`an 710071,China)

Abstract:The multi-rotor aircraft has better prospect for development,so it is a hot research direction.This article discusses the four-axis aircraft is a four-rotor aircraft.This paper introduces the principle of four-axis flight control of the aircraft firstly,then the key modules of the mini quadrocopter based on CC3200 MCU and MPU6050 accelerometer/gyroscope are described,and the implementation and integration of each module from software and hardware point of view is described also.Finally,the test result of the four-axis aircraft and some deficiencies of the aircraft are discussed.

Key words:four-axis aircraft;WLAN;accelerometer;gyroscope;CC3200;MPU6050

收稿日期:(責(zé)任編輯:楊迪娜2015-08-03)

中圖分類號:TP23

文獻(xiàn)標(biāo)識碼:A

主站蜘蛛池模板: 国产午夜福利片在线观看 | 丝袜亚洲综合| 97影院午夜在线观看视频| www亚洲天堂| 国产91在线|日本| 亚洲天堂自拍| 精品一区二区三区视频免费观看| 国产精选小视频在线观看| 精品综合久久久久久97| 伊人久久久久久久| 久久这里只精品国产99热8| 亚洲专区一区二区在线观看| 国产福利小视频在线播放观看| 国产第八页| 久久黄色一级视频| 日韩精品无码免费一区二区三区| 91精品情国产情侣高潮对白蜜| 91精品综合| 欧美国产菊爆免费观看| 日韩 欧美 国产 精品 综合| 久久精品无码中文字幕| 亚洲最大综合网| 国产尤物视频在线| 免费观看欧美性一级| 亚洲视频二| 日韩欧美色综合| 中文字幕亚洲乱码熟女1区2区| 麻豆精品在线播放| 一级片一区| 9966国产精品视频| 91色在线观看| 91无码网站| 亚洲v日韩v欧美在线观看| 日本欧美中文字幕精品亚洲| 欧美另类视频一区二区三区| 日韩在线网址| 午夜视频日本| av色爱 天堂网| 91黄色在线观看| 久久综合色视频| 亚洲视频一区| 亚洲天堂久久新| 亚洲视频四区| 91午夜福利在线观看精品| 91久久夜色精品国产网站| 一区二区欧美日韩高清免费| 亚洲欧美综合另类图片小说区| 亚洲av日韩av制服丝袜| 热re99久久精品国99热| 久久国语对白| 性欧美在线| 亚洲天堂首页| 综合五月天网| 国产精品美女自慰喷水| 日韩一区精品视频一区二区| 国产精品亚洲va在线观看| 久久人妻xunleige无码| igao国产精品| 国产真实二区一区在线亚洲| 久久不卡国产精品无码| 免费观看国产小粉嫩喷水| 国产成人精品18| 91免费精品国偷自产在线在线| 国产精品亚洲专区一区| av一区二区无码在线| 日韩精品成人在线| 四虎影视库国产精品一区| 亚洲AV人人澡人人双人| 亚洲AⅤ波多系列中文字幕 | 精品久久香蕉国产线看观看gif| 午夜色综合| 欧美精品二区| 人妻丰满熟妇αv无码| 亚洲无码日韩一区| 在线欧美一区| 免费高清自慰一区二区三区| 激情爆乳一区二区| 色香蕉网站| 亚洲婷婷在线视频| 在线无码九区| 久久国产精品国产自线拍| 亚洲欧美极品|