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

主站蜘蛛池模板: 国产91色在线| 在线观看无码av免费不卡网站| 国产视频 第一页| a在线观看免费| 亚洲区一区| 99热国产这里只有精品无卡顿"| 欧美一区精品| 最近最新中文字幕在线第一页| 手机成人午夜在线视频| 欧美无专区| 国产精品30p| 欧美特黄一免在线观看| 成人免费一级片| 中国国产一级毛片| 欧美怡红院视频一区二区三区| 精品国产网| 亚洲综合专区| 99热在线只有精品| 91无码人妻精品一区| 99re精彩视频| 亚洲人成成无码网WWW| 国产午夜人做人免费视频中文| 亚洲日韩精品综合在线一区二区| 成人在线视频一区| 亚洲国产精品无码AV| 欧美69视频在线| 被公侵犯人妻少妇一区二区三区| 99精品在线视频观看| 亚洲永久视频| 亚洲国产成人综合精品2020| 久久国产精品无码hdav| 国内精品免费| 久久精品无码国产一区二区三区| 伦精品一区二区三区视频| 国产成人a毛片在线| 啊嗯不日本网站| 国产欧美精品一区二区| 欧美国产日韩另类| 国产91无毒不卡在线观看| 国产自视频| 国产精品不卡片视频免费观看| 91久久偷偷做嫩草影院精品| 伊人久久综在合线亚洲2019| 香蕉久久国产超碰青草| 免费人欧美成又黄又爽的视频| 亚洲国产成人自拍| 免费一级无码在线网站| 国产av色站网站| 在线不卡免费视频| 人妻精品全国免费视频| 人人91人人澡人人妻人人爽 | 91小视频版在线观看www| 好吊妞欧美视频免费| 色吊丝av中文字幕| 国产麻豆va精品视频| 亚洲资源站av无码网址| 男女性色大片免费网站| 在线看片中文字幕| 99精品福利视频| 91久草视频| 中文无码精品a∨在线观看| 九色免费视频| 成人国内精品久久久久影院| 精品日韩亚洲欧美高清a| 国产JIZzJIzz视频全部免费| 国产极品粉嫩小泬免费看| 一本二本三本不卡无码| 亚洲Av激情网五月天| 中文字幕伦视频| 内射人妻无码色AV天堂| 中文字幕在线播放不卡| 高清精品美女在线播放| AV老司机AV天堂| 亚洲欧洲日产国产无码AV| 久久激情影院| 波多野结衣第一页| a毛片基地免费大全| 久久久黄色片| 亚洲区欧美区| 一本色道久久88| 国内熟女少妇一线天| 怡红院美国分院一区二区|