四旋翼飞行器遥控发射接收系统设计.docx
《四旋翼飞行器遥控发射接收系统设计.docx》由会员分享,可在线阅读,更多相关《四旋翼飞行器遥控发射接收系统设计.docx(55页珍藏版)》请在冰豆网上搜索。
四旋翼飞行器遥控发射接收系统设计
本科毕业设计(论文)
(2012届)
题目:
四旋翼飞行器遥控发射接收系统设计
分院:
信息工程分院
专业:
电气工程及其自动化
班级:
12电气本1
姓名:
赵浩锋
学号:
12303653144
指导老师:
孙跃
完成时间:
2016年3月
温州大学城市学院
学位论文原创性声明
本人郑重声明:
所提交的学位论文是本人在导师的指导下,独立进行研究工作所取得的研究成果。
除文中已经加以标注引用的内容外,本论文不包含其他个人或集体已经发表或撰写过的研究成果,也不含为获得温州大学城市学院或其它教育机构的学位证书而使用过的材料。
对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。
本人承担本声明的法律责任。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权温州大学城市学院可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于
1、保密□,在______年解密后适用本授权书。
2、不保密□。
(请在以上相应方框内打“√”)
作者签名:
日期:
年月日
导师签名:
日期:
年月日
摘要:
四旋翼飞行器以其结构新颖、机动性强、性能卓越等特点,使其在军事、民用及科技领域都有很强的研究和应用价值。
由于它用四个螺旋桨进行飞行,因此它的飞行姿态保持能力比单旋翼飞行器更强,升降所需要的空间也较小,且其在障碍物较多的情况下仍具有很强的操纵性。
根据这些特点四旋翼飞行器比单旋翼飞行器更适合在室内、街道、森林等复杂环境下的进行拍摄和救灾工作。
本文以STM32处理器为核心;无线数据通讯模块采用的是NRF21L01模块实现。
经过试验,飞行器能够准确接收到来自地面的控制指令并完成相应的飞行任务,实现垂直起降、悬停等飞行姿态。
关键词:
四旋翼飞行器;无线通信;微控制器
Abstract:
Four-rotoraircraftforitsnovelstructure,highmobility,highperformancefeatures,makingthemilitary,civilianandscientificandtechnologicalfieldshaveastrongresearchandapplication.Becauseitusesfourpropellersflight,flightattitudesothattheabilitytomaintaingreaterthansingle-rotor,thespacerequiredfortheliftissmall,anditstillhasastrongmaneuverabilityincasemoreobstacle.Accordingtothesecharacteristicsfour-rotoraircraftmoresuitablethansingle-rotoraircraftshootingandreliefworkintheinterior,streets,forestsandothercomplexenvironments.
Inthispaper,coreprocessorisusedSTM32;wirelessdatacommunicationmoduleisusedNRF21L01modules.
Aftertesting,theaircraftcanaccuratelycontrolcommandsreceivedfromthegroundandcompletethemission,achieveverticaltakeoffandlanding,hoveringandotherflyingattitude.
KeyWords:
Four-rotoraircraft;Wirelesscommunication;Microcontroller
一、绪论
本章主要介绍了关于四旋翼飞行器研究的背景和意义,和国内外高校以及研究机构对四旋翼飞行器研究的现状。
本章主要由课题研究的目的和意义,国内外四旋翼飞行器的研究和论文的主要研究内容等几个部分组成。
(一)课题研究的目的和意义
随着微电子、微导航、微机电技术的广泛运用,无人机技术很快就在全世界范围内掀起了研究热潮,并得到了快速且长足的发展。
相对于其他无人机而言,四旋翼飞行器的结构较为简单,成本也相对较低,方便维修和护理。
除此之外,四旋翼飞行器还具有体积小、重量轻、控制灵活方便、可垂直起降、悬停等特点,不论是在军事领域或是民用领域都得到了非常广泛的运用。
(二)国内外发展及研究现状
1.国内四旋翼飞行器的研究
目前,我国的一些高校和科研机构在四旋翼飞行器的研究上也取得了长足的发展。
比如国防科技大学,哈尔滨工业大学和南京航空航天大学等。
国防科技大学早就在2004年开始研究微小型飞行器的相关技术,是我国最早一批开展对四旋翼飞行器研究的高校之一,他们使用了自抗扰控制器(ADRC)算法以及反步法这两种方法来对四旋翼飞行器的控制系统进行设计。
在接下来的几年里,南京航空航天大学、南京理工大学等等高校也进行了对四旋翼飞行器的理论分析和计算机仿真,并都制作了属于自己的四旋翼飞行器。
同时,四旋翼飞行器在商业上的应用也越来越广泛,在2013年9月3日,顺丰就在广东东莞松山湖区域进行了无人机送货内测。
顺丰自主研发了该无人机的内置导航系统,该飞行器飞行高度约为100米,落点误差基本上能够控制在方圆两米以内,同时可以对路线和目的地来进行预先设定。
如果测试可行,就可以大量减少人力成本。
除此以外,越来越多的四旋翼飞行器以一种娱乐设备的形式出现在大众的视线里。
通常这种四旋翼飞行器都携带着摄像头,用户可以通过手持设备来对飞行器进行控制,以此来给用户带来乐趣。
2.国外四旋翼飞行器的研究
国外四旋翼飞行器的发展非常迅速,因为他们在这一领域已经拥有了非常悠久的历史,同时还有着深厚底蕴的研发团队。
四旋翼飞行器在多旋翼无人飞行器中是较为常见的一种类型,其对硬件平台的要求较高,相应的难度也较大。
国外有很多高校和科研机构都做出了一定的成果,有进行室外研究和室内研究的,其中进行室外研究的有美国斯坦福大学,日本千叶大学以及美国奥克兰大学和法国贡比涅技术大学等。
进行室内的有美国麻省理工大学,美国宾夕法尼亚大学和瑞士联邦技术机构等。
除了高校和科研单位,国外的一些商业公司也加入到对四旋翼飞行器的研究行列,如美国的Draganfly公司和德国的MicrodroneGbmH公司等。
近年来,国外研发了很多高性能的飞行器。
在欧美发达国家四旋翼飞行器已经在军事和商业领域都取得了非常显著的成就。
其中比较具有代表性的就是DraganflyerX4、ParrotAR.DroneQuadricopter。
DraganflyerX4是美国DraganflyInnovationsInc研发的遥控飞机。
如图1.1所示。
该飞行器具有良好的可靠性和稳定性,并且它还具有悬浮功能,对于拍摄有很大的帮助。
当控制器失控时,它甚至可以实现自动着陆,从而保证飞行器和摄像设备的安全。
图1.1
二、总体方案设计
(一)总体设计原理
本次设计硬件主要为遥控器部分,处理器采用32位基于Cortex-M3内核的STM32F103芯片,遥控器和飞行器之间的数据通信采用的是2.4G民用无线通信频段的NRF24L01模块。
遥控器外型类似与游戏手柄。
遥控器通过采集蘑菇头摇杆电位器ADC电压值以及按键状态发送给飞行器。
(二)总体设计方案
1.系统硬件电路设计方案
本次设计采用IAP15W4K58S4微控制器作为MCU,并且均采用3.7V充电电池作为电源为系统供电,电池通过CAT2829芯片稳压到3.3V为MCU以及外设供电。
遥控器端的主要硬件部分包括最小系统、无线NRF24L01模块、程序下载、ADC采集、蜂鸣器、LED指示灯以及串口调试,飞行器端硬件主要部分有最小系统、程序下载,无线NRF24L01模块、电机驱动、惯性测量单元MPU6050以及LED驱动电路,其系统总体框图如下所示。
-
2.各部分功能作用
(1)MCU控制中心
MCU是飞行器以及遥控器的控制中心,是它们的大脑,主要功能是采集数据和处理数据并做出指示。
本次设计采用的是32位的基于ARMCortex-3为内核的STM32F103作为中央处理器。
(2)通信模块
通信模块在整个系统中起着信号交流的作用,遥控器通过MCU读取的按键信息以及油门方向值发送到飞行器端,飞行器端接收到之后做出相应的动作。
本次设计主要采用NRF24L01无线通信模块,选择该模块的原因是因其通信协议简单、传输距离相对较远、价格低廉等优点。
(3)LED状态指示
在硬件电路设计中,LED首先必须要有电源指示灯,从而判断系统是否上电。
同时还需要有信号指示灯,指示遥控器和飞行器是否通信,最后就是状态显示LED灯显示飞行器状态等等。
3.系统软件设计方案
本次设计软件部分包括遥控器程序以及飞行器的接收程序设计。
遥控器程序设计主要包括有无线NRF24L01发送、ADC电压采集之后的处理、读取按键状态和LED灯指示等,涉及的软件包括SPI通信协议、ADC数模转换、I/O口驱动等。
飞行器端程序涉及部分主要包括NRF24L01接收、LED状态灯等。
三、硬件电路设计
(一)遥控器的硬件设计
如图3.1所示,遥控器主要由处理器、无线收发模块和4路摇杆器三部分组成。
主处理器及其最小系统的电路和飞行器的电路相同。
主要利用处理器片内的AD转换器采集摇杆的信息,然后将四路电位器的输出引脚接到处理器的AD转换口,免去了外接AD转换芯片以及配置电路的麻烦,大大节省了硬件空间。
无线收发模块选用E01-ML01DP3无线通信模块模块,传输距离大概在1100m左右。
图3.1
遥控硬件配置:
✧MCU:
STM32F10372Mhz
✧传感器:
MPU60503轴加速度、三轴陀螺仪
✧通信方式:
NRF24L01、串口蓝牙、串口WIFI、串口433等
✧通信芯片:
FT232串口芯片,串口波特率可以上M,轻松稳定高速通信
1.处理器
(1)针对各公司单片机的优缺点比较
从总体上来讲,ARM的控制能力较强,速度快功耗也低,价格也适中,同时还可以加操作系统;DSP的速度最快,但同时价格更高,更适用于高速信号处理系统;C51更适用于简单的控制,编程也简单方便,同时价格也更加实惠。
从运算能力上看,因为C51是8位的;ARM是32位;DSP有16位,以及更高的。
所以C51最弱,DSP最强,ARM比较中庸。
从结构上看,C51是一般的冯诺依曼结构,ARM和DSP一般采用哈佛结构。
从频率上看,C51工作频率最低,一般为10~24MHz,因此功耗也低。
ARM的功率一般在几十到200MHz之间。
而DSP的频率高达300MHz以上,同时功耗也大。
虽然C51的性能远不如其他两种,但它的性价比很高,面积也非常小,还能配比非常丰富的外围电路,同时,这些也限制了它的使用,因此C51主要应用于不需要太多计算量的系统。
ARM相对于其他两种的优点在于其内部的模块或者总线接口功能十分丰富。
同时,ROM,RAM较大,管脚也多。
(2)芯片简介
ARM Cortex-M3采用哈佛结构,采用的是分离的指令以及数据总线,相比于冯诺依曼结构而言处理速度更快。
ARM Cortex-M3在成本以及功耗方面具有非常优秀的性能,并且非常适用于汽车以及无线通信领域。
STM32系列处理器是由 ST 公司按照ARM Cortex-M3内核标准打造的,其追求的是高性能、低成本、低功耗。
按照其性能可以分为增强型STM32F103系列以及基本型STM32F101系列两种。
本设计中使用的是增强型STM32F103。
概述:
闪存FLASH:
512K字节、SRAM:
64K、3 x USART、2 x SPI、2 x I2C、3 x 16位定时器、4-16 MHz主振荡器、实时钟、2 x 看门狗、复位电路 、上电/断电复位、电压检测、7 通道 DMA、80% 通用I/O管脚、内嵌8 MHz的RC振荡器、和 32 kHz的RC振荡器、72MHz CPU、2 x 12位ADC(1ms) 温度传感器、USB 2.0全速、CAN 2.0B、PWM定时器。
2.无线通信模块电路设计
本次设计无线通信模块采用的是NRF24L01模块。
NRF24L01模块。
NRF24L01具有以下特性:
✧真正的GFSK单收发芯片
✧内置链路层
✧增强型ShockBurstTM
✧自动应答及自动重发功能
✧地址及CRC检验功能
✧数据传输率1或2Mbps
✧SPI接口数据速率0~8Mbps
✧125个可选工作频道
✧很短的频道切换时间可用于调频
✧与NRF24XX系列完全兼容
✧可接受5V电平的输入
✧极低的晶振要求60ppm
✧工作电压1.9~3.6V
四旋翼无人机要将数据传输到地面,操作者将操作指令发送给无人机,这些都需要通过无线数据通信来实现,本设计选用了E01-ML01DP3无线通信模块,这是一款2.4G无线通信模块,采用原装进口的nRF24L01P芯片,配备20dBm功率放大芯片,使模块最大发射功率达到了100mW(20dBm),并同时将接收灵敏度提升到10dBm,使得模块超过nRF24L01P本身10倍以上的发射距离,传输距离可以达到1100m。
E01-ML01DP3模块实物如图3.2所示。
E01-ML01DP3模块引脚及尺寸下图3.3所示。
模块与模块之间采用2.4G无线网络频段通信,其电路原理图如图3.4所示。
无线NRF24L01模块与MCU之间连接口如表3-1所示。
图3.2
图3.3
图3.4
表3-1
MCU引脚
NRF24L01引脚
功能
PA3
CE
使能发送或接收
PA4
CSN
SPI片选信号
PA5
SCK
SPI时钟信号
PA6
MOSI
SPI数据输入脚
PA7
MISO
SPI数据输出脚
(1)模块简介
E01-ML01DP3模块引脚描述
引脚序号
名称
方向
描述
1
GND
/
地线,连接到电源参考地
2
VCC
/
供电电源,必须2.0-3.6V之间
3
CE
输入
模块控制引脚
4
CSN
输入
模块片选引脚,用于开始一个SPI通信
5
SCK
输入
模块SPI总线时钟
6
MOSI
输入
模块SPI数据输入引脚
7
MISO
输出
模块SPI数据输出引脚
8
IRQ
输出
模块中断信号输出,低电平有效
E01-ML01DP3模块的参数
序号
参数名称
参数数值
备注
1
模块尺寸
15*27mm
不含SMA天线座
2
接口方式
2.54*2*4
可使用2.54标准杜邦线,可用于万能板
3
供电电压
2.0-3.6V
注意:
高于3.6V电压,将导致模块永久损毁
4
通信电平
0.7VDD-5V
VDD指模块供电电压
5
实测距离
1157m
条件:
市区,空旷,30℃,可视,阴天,250K
6
最大功率
20dBm
约合100mW
7
空中速率
250K,1M,2M
三种速率可以软件调节
8
关断电流
1uA
nRF24L01P设置为掉电,CE低电平
9
功率等级
4级可调
PA芯片功率不可调
10
发射电流
95mA
峰值
11
接受电流
20mA
CE=1
12
天线接口
SMA
外螺内孔型
13
天线要求
SMA
内螺内针,2.4G频段,50欧姆阻抗
14
通信接口
SPI
最高速率10Mbps
15
发射长度
32字节
单个数据包32字节最大,3级FIFO
16
接收长度
32字节
单个数据包32字节最大,3级FIFO
17
RSSI支持
不支持
仅支持简单的丢包统计
18
工作温度
-30~85℃
无
19
工作湿度
<90%相对湿度
无
20
储存温度
-40~+120℃
无
21
工作频段
2.4G
2.400~2.525可调,1MHz步进
SPI是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而实现数据的交换。
SPI接口由MOSI(串行数据输入),MISO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS决定了唯一的与主设备通信的从设备,如果没有CS信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。
通讯时,数据由MISO输出,MOSI输入,数据在时钟的上升或下降沿由MISO输出,在紧接着的下降或上升沿由MOSI读入,这样经过8/16次时钟改变,完成8/16位数据的传输。
3.实物介绍
实物操作细节如下所示:
第一步:
上电:
首先给遥控器上电,等待遥控器LED信号灯闪烁之后再给飞行器上电。
第一步必须这样做,这样做是为防止飞行器先上电之后接收到无线信号不准确从而导致飞行器出现不确定的飞行情况。
解锁:
遥控器的左手油门拉到最低,就解锁了,解锁成功后,飞机上的电源指示灯旁边的一个黄色指示灯,遥控接收配对灯,会亮,表示遥控器解锁成功。
否侧,解锁失败!
拔掉遥控器电源,黄色无线指示灯会熄灭。
第二步:
打开飞机电源后,要等待20秒,才开始推动飞机的油门,先是慢慢推动飞机的油门,等待飞机的叶子转速都均匀,快要离开地面的时候,才突然加大油门。
注意:
上电顺序不能弄反,操作需缓慢进行,飞行器别在狭小的空间飞行。
实物图如图3.5所示
图3.5
四、系统软件设计
(一)KeilMDK5.12简介
1.KeilMDK概述
KeilMDK,也称MDK-ARM,RealviewMDK、I-MDK、uVision4 等。
目前KeilMDK由三家国内代理商提供技术支持和相关服务。
MDK-ARM软件为基于Cortex-M、Cortex-R4、ARM7、ARM9处理器设备提供了一个完整的开发环境。
MDK-ARM专为微控制器应用而设计,不仅易学易用,而且功能强大,能够满足大多数苛刻的嵌入式应用。
MDK-ARM有四个可用版本,分别是MDK-Lite、MDK-Basic、MDK-Standard、MDK-Professional。
所有版本均提供一个完善的C/C++开发环境,其中MDK-Professional还包含大量的中间库。
2.KeilMDK功能特点
✧完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件。
✧行业领先的ARMC/C++编译工具链
✧确定的KeilRTX,小封装实时操作系统(带源码)
✧μVision4IDE集成开发环境,调试器和仿真环境
✧TCP/IP网络套件提供多种的协议和各种应用
✧提供带标准驱动类的USB设备和USB主机栈
✧为带图形用户接口的嵌入式系统提供了完善的GUI库支持
✧ULINKpro可实时分析运行中的应用程序,且能记录Cortex-M指令的每一次执行
✧关于程序运行的完整代码覆盖率信息
✧执行分析工具和性能分析器可使程序得到最优化
✧大量的项目例程帮助你快速熟悉MDK-ARM强大的内置特征
✧符合CMSIS(Cortex微控制器软件接口标准)
(二)软件设计框图
系统软件设计包括遥控器程序设计以及飞行器程序设计。
遥控器的主要作用就是采集操控信息发送给飞行器,飞行器部分主要是接收无线数据以及数据处理。
遥控器的主要设计流程图如图4.1所示。
图4.1
在遥控器程序设计中,采取循环采集ADC电压并无线发送数据。
ADC电压取值范围为0~2.5V,分辨率是100,采集到的数据即为0~250,并把采集到的电压值存入无线传输缓存Buf数组里面。
Buf数组定义为8位数据类型,设置了8位长度,Buf[0]里面存入帧头,Buf[1]里面存放油门,Buf[2]存放左边摇杆数据,Buf[3]里存放前后方向数据,Buf[4]存入左右方向数据,剩余部分存入按键状态信息。
NRF24L01直接将读取到的8位数据发送到飞行器端,进行实时控制。
结论
毕业设计期间,最辛苦也是最有意义的地方就是找出问题的所在,并通过查阅相关资料,寻找解决方案并最终解决问题,这个过程虽然比较繁琐,但是对于我们的学习却极有意义。
四年的大学课程学习,以及两年的实验室学习经验,学到了很多关于单片机以及嵌入式方面的知识,这也是我们电气工程专业所学的比较重要的内容,通过这次毕业设计,使得我对这方面的知识得到了提高。
想要很好的完成本次毕业设计,总体的设计思路一定要清晰。
从主控芯片的选择到模块的选择方案,都需要经过深思熟虑。
我的思路还算比较清晰,首先要有遥控器作为控制端,采集控制信息通过无线模块传输到飞行器端,飞行器端通过无线接收模块接收到的信息从而做出相应的反应。
经过查阅相关资料,本次设计选用基于ARMCortex-3为内核的STM32F103作为控制芯片,采用NRF24L01作为通信模块,电源部分采用3.7V充电锂电池作为系统提供电源。
这段时间里,在老是以及同学的帮助下,还有自己的不断学习和探索下,一步一步的完成了设计的要求,这个过程非常的有意义以及值得回味。
通过和老师同学的交流,不仅丰富了自己的知识面,开拓了自己的思路,同时还可以拉近与老师同学之间的关系。
通过这段时间的学习,我掌握了很多书本上没有的指示,但同时又可以把书上的内容运用到实践中来,学以致用。
总之,通过本次设计,我了解了关于我所设计课题的相关内容,加深了对本专业的理解,巩固了大学四年所学到的知识,毕业设计是理论与实践相结合的一个过程,同时也是对我们大学四年锁学知识的一次总体考核。
致谢
历时两个月的时间完成了本次毕业设计,从开题报告到硬件电路的设计再到程序设计最后撰写这篇论文,在这么长的毕业设计过程中,我遇到了很多困难,为此我的指导老师孙跃老师始终给予了我细心的知道和不懈的支持。
孙老师为人随和、治学严谨细心,即使不是上班时间也不厌其烦的帮助我进行论文的修改,为我指点迷津,帮助我开拓思路,从开始的方案选择到最后的调试都是如此的帮助我。
孙老是深厚的理论功底、丰富的实践经验以及诲人不倦的高尚师德对我能够完成本次毕业设计起到了至关重要的作用,在此,向孙跃老师致以崇高的敬意以及由衷的感谢。