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

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

2016-03-10 01:58:52孫銘王锏張耀軍
單片機與嵌入式系統應用 2016年2期

孫銘,王锏,張耀軍

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

?

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

孫銘,王锏,張耀軍

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

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

關鍵詞:四軸飛行器;WLAN;加速度計;陀螺儀;CC3200;MPU6050

引言

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

1四軸飛行器原理簡介

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

1.1垂直運動

圖1 平衡姿態

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

1.2俯仰運動、滾轉運動

圖2 傾斜姿態

傾斜姿態如圖2所示,電機1、電機2的轉速上升,電機3、電機4的轉速下降。為了不因為旋翼轉速的改變引起四軸飛行器整體扭矩及總拉力改變,旋翼1與旋翼3轉速改變量的大小應相等,旋翼2與旋翼4轉速改變量的大小應相等。由于旋翼1、旋翼2的升力上升,旋翼3、旋翼4的升力下降,產生的不平衡力矩使機身繞y軸旋轉,發生俯仰運動。同理,當電機1、電機4的轉速下降,電機2、電機3的轉速上升時,機身便繞x軸向旋轉,實現飛行器的滾轉運動。

1.3平移運動

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

1.4偏航運動

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

圖3 偏航運動

反扭矩的大小與旋翼轉速有關,當4個電機轉速相同時,4個旋翼產生的反扭矩則相互平衡,則四軸飛行器不發生轉動;當4個電機轉速不完全相同時,不平衡的反扭矩會引起四軸飛行器轉動。在圖3中,當電機1和電機3的轉速上升、電機2和電機4的轉速下降時,旋翼1和旋翼3對機身的反扭矩大于旋翼2和旋翼4對機身的反扭矩,機身便在富余反扭矩的作用下繞z軸轉動,實現飛行器的偏航運動,轉向與電機1、電機3的轉向相反。因為電機的總升力不變,飛機不會發生垂直運動。

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

2四軸飛行器硬件設計與實現

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

2.1迷你四軸飛行器總體設計

圖4 迷你四軸飛行器外觀

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

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

2.2CC3200模塊

CC3200是TI公司推出的一款單芯片無線微控制器,為SimpleLink、WiFi和物聯網提供解決方案。CC3200由應用微控制器、WiFi網絡處理器和電源管理子系統組成。

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

WiFi網絡處理器子系統特有WiFi Internet-On-a-Chip專用ARM MCU,完全解除應用微控制器的WiFi和互聯網協議處理負擔。ROM中固化有WiFi以及互聯網協議、802.11 b/g/n射頻、基帶、媒介訪問控制(MAC)、WiFi驅動器和請求方TCP/IP堆棧。

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

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

2.3MPU6050模塊

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

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

2.4電機及其驅動電路

四軸飛行器采用轉速高達45 000 r/min的720空心杯電機提供動力。電機由SI2302場效應管驅動,場效應管由CC3200 PWM控制。

2.5電源設計

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

2.6遙控器設計

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

3四軸飛行器軟件設計與實現

3.1四軸飛行器端固件

四軸飛行器端固件主要實現如下功能:

① 初始化CC3200應用控制器。

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

③ 初始化網絡處理器并建立WLAN AP和TCP Server Socket,等待遙控連接。

④ 進入主循環,處理傳感器數據,生成姿態數據并根據姿態和遙控指令計算出每個電機的PWM輸出值。

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

void main(){

BoardInit();//初始化CC3200

PinMuxConfig();//配置引腳

InitPWMModules();//初始化PWM

I2C_IF_Open(I2C_MASTER_MODE_FST);//初始化I2C

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

……

//初始化網絡子系統,建立WLAN AP和TCP Server Socket

osi_TaskCreate( WlanAPMode,

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

OSI_STACK_SIZE, NULL, 1, NULL );

//主循環,處理傳感器數據,生成姿態數據并實現飛控算法

osi_TaskCreate( GestureCtrl,

(const signed char*)"gesture ctrl",

OSI_STACK_SIZE, NULL, 1, NULL );

……

}

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

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

MakeOut_xyz();

//根據傳感器返回的數據計算x、y、z三個軸向的傾角

UpdatePID(offsetX, offsetY);//計算調節量

//把幾個軸向的調節量加在相應的電機上

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;

//將運算結果輸出給PWM控制器

UpdateDutyCycleMoto1(moto1);

UpdateDutyCycleMoto2(moto2);

UpdateDutyCycleMoto3(moto3);

UpdateDutyCycleMoto4(moto4);

}

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

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

網絡通信的簡要代碼如下(略去部分代碼):

intBsdTcpServer(unsignedshortusPort){

……

//填充TCPServerSocket地址

sLocalAddr.sin_family=SL_AF_INET;

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

sLocalAddr.sin_addr.s_addr= 0;

//創建TCPServerSocket

iSockID=sl_Socket(SL_AF_INET,SL_SOCK_STREAM, 0);

//綁定TCPsocket

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

//監聽TCP連接

sl_Listen(iSockID, 0);

//設置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設計

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

圖5 遙控APP界面

結語

參考文獻

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

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

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

孫銘(研究生),主要研究方向為PowerPC嵌入式系統、ARM核微控制器;王锏(研究生),主要研究方向為PowerPC嵌入式系統、網絡通信;張耀軍(研究生),主要研究方向為高速存儲技術。

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

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

中圖分類號:TP23

文獻標識碼:A

主站蜘蛛池模板: 日韩成人免费网站| 成人字幕网视频在线观看| 久久精品aⅴ无码中文字幕| 欧日韩在线不卡视频| 亚洲AⅤ波多系列中文字幕| 九色91在线视频| 亚洲午夜18| 91成人在线观看| 高清免费毛片| 一级片一区| 激情爆乳一区二区| 久久综合色视频| 亚洲最新在线| 91综合色区亚洲熟妇p| 在线看片免费人成视久网下载| 亚洲欧美日韩中文字幕在线| 成人国产精品网站在线看| 午夜精品福利影院| 日本a级免费| 色婷婷天天综合在线| 免费无码AV片在线观看中文| 国产精品无码一区二区桃花视频| 亚洲婷婷六月| 男女男免费视频网站国产| 国产成人一区免费观看| 欧美精品成人一区二区视频一| 热久久国产| 老司国产精品视频| 亚洲va在线∨a天堂va欧美va| 88av在线| 欧美在线观看不卡| 国产精品自拍露脸视频| 亚洲成网777777国产精品| 一级成人a毛片免费播放| 日韩成人高清无码| 免费高清自慰一区二区三区| 青青国产视频| 男人天堂亚洲天堂| 五月婷婷综合在线视频| 日韩一区二区在线电影| 中文字幕欧美成人免费| 欧美19综合中文字幕| 最新国产精品第1页| www.日韩三级| 免费看av在线网站网址| 97精品久久久大香线焦| 国产精品黄色片| 欧美日韩资源| 欧美精品导航| 国产超碰一区二区三区| 国产久操视频| 国产精品无码久久久久AV| 国产精品无码制服丝袜| 99久久精品免费看国产电影| 波多野结衣在线一区二区| 欧美日韩福利| 欧美日韩国产在线人| 日本一区二区三区精品视频| 天堂va亚洲va欧美va国产 | 国产一区二区三区精品欧美日韩| 久热中文字幕在线| 欧美区一区| 欧美日韩成人在线观看| 在线观看欧美精品二区| 啪啪啪亚洲无码| 亚洲天堂精品在线观看| 亚洲AⅤ永久无码精品毛片| 国产精品视频猛进猛出| 免费jjzz在在线播放国产| 色婷婷成人| 中文字幕 欧美日韩| 综合色区亚洲熟妇在线| 成人午夜免费视频| 国产三级视频网站| 国产女同自拍视频| 国产成人喷潮在线观看| 四虎成人精品| 中文字幕中文字字幕码一二区| 最新国产午夜精品视频成人| 欧美激情成人网| 国产女人在线观看| 国产一区自拍视频|