四轴飞行器毕业设计论文

上传人:沈*** 文档编号:95000473 上传时间:2022-05-23 格式:DOC 页数:46 大小:737KB
收藏 版权申诉 举报 下载
四轴飞行器毕业设计论文_第1页
第1页 / 共46页
四轴飞行器毕业设计论文_第2页
第2页 / 共46页
四轴飞行器毕业设计论文_第3页
第3页 / 共46页
资源描述:

《四轴飞行器毕业设计论文》由会员分享,可在线阅读,更多相关《四轴飞行器毕业设计论文(46页珍藏版)》请在装配图网上搜索。

1、-毕业论文基于单片机的四轴飞行器 2015年6月. z.-毕业论文基于单片机的四轴飞行器目 录摘 要IABSTRACTII第1章 绪论11.1 论文研究背景及意义11.2 国内外的发展情况21.3 本文主要研究内容4第2章 总体方案设计52.1 总体设计原理52.2 总体设计方案52.2.1 系统硬件电路设计方案52.2.2 各部分功能作用62.2.3 系统软件设计方案7第3章 系统硬件电路设计83.1 Altium Designer Summer 09简介83.2 总体电路设计83.2.1 遥控器总体电路设计83.2.2 飞行器总体电路设计103.3 各部分电路设计103.3.1 电源电路设

2、计103.3.2 主控单元电路设计123.3.3 无线通信模块电路设计133.3.4 惯性测量单元电路设计163.3.5 电机驱动电路设计183.3.6 串口调试电路设计193.4 PCB设计213.4.1 PCB设计技巧规则213.4.2 PCB设计步骤22. z.-3.4.3 PCB外形设计233.5 实物介绍25第4章 系统软件设计274.1 Keil MDK5.12简介274.1.1 Keil MDK概述274.1.1 Keil MDK功能特点274.2 软件设计框图284.3 软件调试仿真294.4 飞控软件设计304.4.1 MPU6050数据读取304.4.2 姿态计算IMU32

3、4.4.3 PID电机控制32结 论36致 38参考文献39附录1 遥控器主程序源代码40附录2 飞行器主程序源代码45附录3遥控器原理图50附录4 飞行器原理图51. z.-摘 要四轴飞行器具备 VTOL(Vertical Take-Off and Landing,垂直起降)飞行器的所有优点,又具备无人机的造价低、可重复性强以及事故代价低等特点,具有广阔的应用前景。可应用于军事上的地面战场侦察和监视,获取不易获取的情报。能够执行禁飞区巡逻和近距离空中支持等特殊任务,可应对现代电子战、实现通信中继等现代战争模式。在民用方面可用于灾后搜救、城市交通巡逻与目标跟踪等诸多方面。工业上可以用在安全巡检

4、,大型化工现场、高压输电线、水坝、大桥和地震后山区等人工不容易到达空间进行。本设计主要包括遥控器和飞行器两大部分,其中央处理器CPU均采用基于32位ARM Core*-M3内核的N*P LPC1549,时钟频率为72MHz;飞行器与遥控器之间的无线通信采用2.4GHz通信频段的NRF24L01模块,NRF24L01模块与MCU之间通过SPI协议以1MHz的通信速率通信;飞行器端搭载有3轴加速度计与三轴陀螺仪融合一体的MPU6050惯性测量单元作为姿态欧拉角测量单元,MPU6050与飞行器MCU之间通过I2C协议以400Hz的频率进行通信;飞行器端MCU通过接收无线数据以及采集MPU6050数据

5、通过四元数互补滤波计算出的欧拉角,再进行电机PID自动控制,最终以20KHz的PWM通过MOS管来驱动空心杯820直流有刷电机,得以实现遥控四轴飞行器的设计。关键词 四轴飞行器;PID自动控制;MPU6050;PWM. z.-ABSTRACTFour-a*is aircraft equipped with VTOL (Vertical Take-Off and Landing,vertical take off and landing) aircraft with all the advantages,and UAVs low cost strong, repeatable,and low a

6、ccident costs,has broad application prospects.Can be used in military battlefield reconnaissance and surveillance,access is not easy to get information.Able to perform special tasks such as patrolling the no fly zone and close air support,could cope with modern electronic warfare,munications relay o

7、f modern warfare.In civil use can be used for post-disaster rescue,traffic patrol and tracking,and many other aspects of the city.Can be used in a safety inspection on the industrial,large-scale chemical sites,high-voltage power lines,dams,bridges and artificial mountain after the earthquake are not

8、 easy to reach space.This design includes two remote controls and aircraft parts,central processing unit CPU using of 32ARM N*P Core*-M3 kernel LPC1549,clock frequency is 72MHz; Wireless munication 2.4G munication with the remote control of aircraft band NRF24L01 module NRF24L01 module between the M

9、CU and 1MHz munication speed through the SPI protocol munications;Aircraft end carrying a 3-a*is accelerometer and integrating three-a*is gyro MPU6050 inertial measurement unit as a gesture of Euler angle measurementunit,MPU6050aircraftbetweentheMCU municatesthroughtheI2CProtocolwith400Hzfrequency;A

10、ircraft end-MCU by receiving wireless data MPU6050 data collected by Quaternion plementary filters calculate the Euler angles.PID motor control,ultimately 20KHz PWM drive through the MOS tube hollow glass 820 DC brush motor, remote control design of four a*is aircraft.Keywords Quadrocopter;PID Auto

11、control;MPU6050;PWM. z.-第1章 绪论1.1 论文研究背景及意义图1-1 典型四轴飞行器四轴飞行器是一种具有4个对称旋翼的直升机(如图1-1),具有垂直起降、结构简单、操纵方便及机动灵活等优点,在飞行器上挂载摄像头等模块能够实现许多实用功能。在实际应用方面,以四轴飞行器为代表的小型无人机在执行军事任务时具有很大的优势。它们能够在士兵的操控下进行战场上近距离、小*围、复杂地形环境的敌情侦察,还可以用作通信联系工具或者指示目标机,甚至还能装上弹药直接执行战略攻击任务。在民用与工业领域,四轴飞行器也具有广泛的应用前景。通过携带特定的功能检测模块,四轴飞行器可以感知危险区域的有毒

12、物质浓度或核辐射强度等。微型四轴无人飞行器可以自主完成上述任务,不仅节约成本,而且大大简化了人力劳动,也在人类无法到达的危险、危害环境可以完全代替人类工作。近年来,很多学者和研究机构通过对四轴飞行器进行动力学和运动学分析,建立了系统的数学模型,提出了各种控制算法,并设计了飞行控制系统进行验证;加上传感器技术和控制理论的不断发展,尤其是微电子和微机械技术的逐步成熟,使四轴飞行器的飞行控制成为了一个具有广阔前景的研究课题。1.2 国内外的发展情况早在二战时,载人四轴的原型机已经被设计出来,但因为控制技术还跟不上,飞行器因不稳定而无法投入实际应用。那时欠缺的技术主要是惯性测量和控制器的缺陷,那时候的

13、惯性导航系统一般是十几公斤的大铁疙瘩。为了把这么重的东西放到一个多旋翼飞行器上,飞行器的载荷必须很大,可是人们发现,不管是用油机还是电机做多旋翼飞行器的动力系统,都很难得到足够的载荷。同时,因为固定翼和直升机已经很够实际使用了,所以没有人愿意多花功夫去研究多旋翼飞行器这个棘手的问题。很长一段时间里,只有美国一些研发性的项目做出了多旋翼飞行器的样机。20世纪90年代之后,随着微机电系统(MEMS)研究的成熟,几克重的MEMS惯性导航系统被制作了出来,使得多旋翼飞行器的自动控制器可以制作了。但是MEMS传感器数据噪音很大,不能直接读出来用,于是人们又花了一些年的时间研究MEMS去噪声的各种数学算法

14、。这些算法以及自动控制器本身通常需要速度比较快的单片机来运行,于是人们又等了一些年时间,等速度比较快的单片机诞生。接着人们再花了若干年的时间理解多旋翼飞行器的非线性系统结构,给它建模、设计控制算法、实现控制算法。因此,直到2005年左右,真正稳定的多旋翼无人机自动控制器才被制作出来。之前一直被各种技术瓶颈限制住的多旋翼飞行器系统突然出现在人们视野中,大家惊奇地发现居然有这样一种小巧、稳定、可垂直起降、机械结构简单的飞行器存在。一时间研究者趋之若鹜,纷纷开始多旋翼飞行器的研发和使用。四旋翼飞行器是多旋翼飞行器中最简单最流行的一种。如上所述,最初的一段时间主要是学术研究人员研究四旋翼。四旋翼飞行器

15、最早出现在公众视野可能要追溯到2009年的著名印度电影三傻大闹宝莱坞,到了2010年,法国Parrot公司发布了世界上首款流行的四旋翼飞行器AR.Drone。作为一个高科技玩具,它的性能非常优秀:轻便、灵活、安全、控制简单,还能通过传感器悬停,用WIFI传送相机图像到手机上。AR.Drone的流行让四旋翼飞行器开始广泛进入人类社会。在玩具这个尺寸上,多旋翼飞行器的优势就显示出来了,同尺寸的固定翼基本飞不起来,而同尺寸的直升机因为机械结构复杂,根本没法低成本地制作出稳定的产品。2012年2月,宾夕法尼亚大学的VijayKumar教授在TED上做出了四旋翼飞行器发展历史上里程碑式的演讲。这一场充满

16、数学公式的演讲居然大受欢迎,迄今已经有三百多万次观看,是TED成百上千个演讲中浏览量最高的演讲之一。自此之后,四旋翼飞行器受到的关注度迅速提升,成为了新的商业焦点。在国内,四轴飞行器发展于*市大疆创新科技有限公(DJ-Innovations,简称DJI),早年DJI专注在直升机自动控制器上。不过在2010年,AR.Drone的成功也让DJI开始考虑四旋翼飞行器产品。2012年DJI相继推出了风火轮系列四旋翼机架、悟空四旋翼飞控和S800六旋翼飞行器。当时,在AR.Drone的引领下,全球*围内都有一股将四旋翼商业化的热潮,DJI只是众多小四旋翼公司中稍微出众的一个。随着DJI Phantom在

17、2013年1月的推出,四旋翼飞行器市场的形势发生了巨大的变化。“Phantom”在英语里有幻影、精灵的意思,它优雅的白色流线型外形也确实配得上精灵这个称呼。Phantom与AR.Drone一样控制简便,新手学习多半个小时就可以自由飞行。Phantom尺寸比AR.Drone大的多,抗风性更好,还具有内置GPS导航功能,可以在户外很大的*围内飞行。更重要的是,当时利用GoPro运动相机拍摄极限运动已经成为欧美国家的时尚,而Phantom提供了挂载GoPro的连接架,让用GoPro相机的人们有了从天空向下的拍摄视角。特别地,与传统的飞机和直升机航拍不同,多旋翼系统小巧灵活,能让拍摄者自由地控制角度和

18、距离。就像iPhone重新定义了手机一样,我们也可以毫不夸*地说Phantom+GoPro重新定义了航拍,也重新定义了相机。“人类对飞行的梦想是与生俱来的。”你已经看到人们的创意如何在一两年之内被四旋翼点燃起来,更多的飞行器被制造出来,更多的想法也会被创造出来,这样更大的市场也会形成。我相信在未来的十年之内,无人机行业会逐步壮大,我们今天产生的所有想法基本都会实现,更多的想法也会逐步被实现,利用无人机的应用越来越多,无人机将会变成我们生活不可或缺的部分。1.3 本文主要研究内容本设计主要包括遥控器的设计和飞行器的设计,遥控器是飞行器的远程控制单元。在设计过程中,两大部分均采用以ARM Cort

19、e*-M3为内核的N*P LPC1549作为中央处理器,飞行器端利用3轴陀螺仪、3轴加速度计融合一体的MPU6050惯性测量单元作为姿态传感器,最终实现悬停、自转、前后左右移动等操作功能。系统采用遥控器无线控制,遥控器端主控芯片采集AD值和按键动作信号,通过NRF24L01无线传输给飞行器,飞行器端的NRF24L01接收到信号之后主控器进行信号收集,飞行器在接收无线信号的同时,还要接收自身姿态传感器MPU6050读出来的值,通过四元数滤波算法,PID控制算法,得到姿态角度值,最终把自身的数据和无线接收到的数据进行统一处理传送给飞行器四个电机的PWM控制I/O口,从而使得飞行器在保持平稳的状态下

20、被遥控器控制,以此来达到遥控的目的。当然,飞行器的状态也可以通过无线发送到遥控器端,遥控器通过显示器可以清晰的观察当前的状况。此次毕业设计作品为小型四轴飞行器,从原理图设计到PCB设计再到焊接调试都是自己独立完成,最终期望达到的目的是实现无线遥控,遥控器显示器实时显示四轴飞行器的状态,并且能实现悬停。. z.-第2章 总体方案设计2.1 总体设计原理本次设计硬件部分主要包括遥控器和飞行器两大部分,主控芯片均采用32位基于ARM Corte*-3的N*P LPC1549处理器,遥控器和飞行器之间通信采用2.4G民用无线通信频段的NRF24L01模块,模块与MCU之间通过硬件SPI采用1MHz的速

21、率通信。遥控器外形设计似游戏手柄,直接用PCB电路板打样后作为遥控器外形。遥控器通过采集蘑菇头摇杆电位器ADC电压值以及按键状态发送给飞行器。飞行器外形设计为十字架形状,通过CAD绘制外形导入到Altium Designer软件里Keep-Out Layer层作为飞行器切割外框。飞行器软件设计主要是MCU通过硬件I2C采用400KHz的速率读取MPU6050的数据,并定时利用惯性测量单元(IMU)姿态获取技术,然后通过PID电机自动控制算法,把PID输出量跟无线接收到的数据进行融合,最终通过输出PWM来控制高速空心杯直流有刷电机来实现各种飞行状态。飞行器螺旋桨主要提供三个作用,一是提供升力,保

22、证飞行器能处于飞行状态;另一个是四个螺旋桨分为两两对称布置,单轴对称布置正反螺旋桨叶,互相抵消螺旋桨旋转时产生的力矩;此外,可以通过调整每个螺旋桨转速,达到飞行姿态控制。飞行姿态控制是四轴飞行器设计核心部分之一。2.2 总体设计方案 系统硬件电路设计方案本次设计采用N*P LPC1549微控制器作为MCU,并且均采用3.7V充电电池作为电源为系统供电,电池通过CAT2829芯片稳压到3.3V为MCU以及外设供电,飞行器供电比较特殊,其供电分为两个部分:一是3.7V电池直接为电机供电,二是电池稳压到3.3V之后为系统和外设供电。遥控器端的主要硬件部分包括最小系统、无线NRF2L01模块、程序下载

23、、ADC采集、液晶显示器、蜂鸣器、LED指示灯以及串口调试,飞行器端硬件主要部分有最小系统、程序下载,无线NRF2L01模块、电机驱动、惯性测量单元MPU6050以及LED驱动电路,其系统总体框图如图2-1所示。图2-1 系统硬件总体框图 各部分功能作用1.MCU控制中心MCU是飞行器和遥控器的控制中心,是它们的大脑,主要功能是收集数据和处理数据并且做出指示。本次设计选用的是32位的基于ARM Corte*-M3为内核的N*P LPC154作为中央处理器,设置72M的时钟频率,完全能达到设计的要求。2. 电源模块电源模块起着为系统充能量的作用,任何电子系统没有了电源,系统肯定会瘫痪,所以电源起

24、着至关重要的作用。本次电源设计模块选用CAT6219作为3.7V转3.3V稳压芯片;CAT6219的低压差的优点完全符合设计要求,遥控还使用了ASM1117-2.5作为3.7V转2.5V的稳压芯片;2.5V电压用于给ADC电位器做参考电压使用。3. 通信模块通信模块在整个系统中起着信号交流的作用,遥控器通过MCU读取的按键信息以及油门方向值发送到飞行器端,飞行器端接收到之后做出相应的动作。本次设计采用NRF24L01无线通信模块,选着此模块的原因是因其通信协议简单、传输距离相对较远、价格低廉等优点。4. 惯性测量单元惯性测量单元主要是在飞行器飞行过程中实时检测姿态的传感器,对于飞行器想要平稳飞

25、行来说具有极其重要的作用。本次设计之所以选用MPU6050作为姿态传感器作为惯性测量单元,是因其具有跟MCU之间进行I2C数据传输,传输速率为400KHz,通信协议简单、价格低廉等优点。5. 电机驱动电机驱动部分主要是MCU通过控制PWM然后控制MOS管打开和闭合作为开关从而控制电机的转动。本设计采用SI2302 N沟道型MOS管,其具有低开启电压大电流并且价格便宜等优点,电路设计也很简单。6. LED状态指示在硬件电路设计中,LED首先必须要有电源指示灯,判断系统是否上电;其次需要有信号指示灯,指示遥控器和飞行器是否通信;最后就是状态显示LED灯显示飞行器状态等等。 系统软件设计方案本次设计

26、软件部分包括遥控器程序设计和飞行器程序设计。遥控器程序设计主要包括有无线NRF24L01发送、ADC电压采集之后的处理、显示器驱动显示、读取按键状态以及LED灯指示等,涉及软件包括SPI通信协议、ADC模数转换、I/O口驱动等。飞行器程序设计部分主要包含无线NRF24L01接收、读取MPU6050的数据并通过四元数滤波计算(IMU)以及PID自动控制、电机PWM产生以及控制、LED状态灯等,飞行器软件涉及SPI通信协议驱动、I2C通信协议驱动等。. z.-第3章 系统硬件电路设计3.1 Altium Designer Summer 09简介Altium Designer是目前国内最流行的通用E

27、DA软件,Altium Designer Summer 09是Altium公司在2009年发布的版本,它将电路原理图设计、PCB版图设计、电路仿真、PLD设计以及FPGA设计等多个实用工具组合起来构成EDA工作平台,是第一个将EDA软件设计成基于Windows的普及型产品。与早期Protel 99SE以及Protel D*P2004软件相比,Altium Designer Summer 09功能更加完备、风格更加成熟,并且界面更加灵活操作也简单,尤其是在仿真和PFGA电路设计方面有了重大的改进,摆脱了Protel前期版本基于PCB设计的产品定位,显露出一个普及型全线EDA产品崭新的面貌。本次毕

28、业设计所有硬件设计部分包括原理图和PCB部分都是使用Altium Designer Summer 09来完成的。3.2 总体电路设计 遥控器总体电路设计在本次硬件电路设计中,原理图采用把每个模块分开来绘制,然后在所需接口上使用连接口连接,这使得整个遥控器电路图能够直观的显示其中包括了哪些模块单元,并且每个模块之间的连接也非常清楚。此时不需要去知道每个模块的内部连接,知道模块有哪些可用的接口就可以。遥控器硬件电路总图如图3-1所示。由图3-1可以清晰看出,遥控器供电有两种供电方式,一种是采用3.7V电池供电,第二种是通过Micro USB电源线供电。在电源模块中,可输入5V直流电源或输入3.7V

29、直流电源。此次设计中考虑到可能出现两种电源同时接上的情况,所以采用电源开关来控制电源输入类型。从该模块还能看出电源输出的有3.3V和2.5V两种电源。遥控器硬件电路除了电源模块电路,还包括最小系统电路模块、串口调试电路模块、ADC电路模块以及按键跟LED灯模块。图3-1 遥控器硬件电路总图 飞行器总体电路设计图3-2飞行器硬件电路总图飞行器硬件电路图如图3-2所示,由图可知,飞行器硬件电路主要包括电源电路、MCU最小系统电路、电机驱动电路、MPU6050外设电路以及LED指示灯电路。3.3 各部分电路设计在硬件电路设计中,对以下几个主要的模块如电源电路、MCU最小系统电路、无线通信电路、MPU

30、6050电路、串口调试电路、电机驱动电路等进行更加详细的介绍。 电源电路设计电源是任何电子系统设计的核心,并且需要的是稳定的电源,电源的是否稳定影响着系统的稳定,因此,电源部分也是重点设计的部分。在本次设计中,由于包括遥控器和飞行器两大部分并且都需要单独供电,都有电源部分电路,在这里重点介绍飞行器的电源电路设计。飞行器电源设计使用3.7V充电锂电池作为电源,给系统供电,但是系统需要两种电源,一是MCU和外设需要稳定的3.3V电源,再者就是飞行器电机的3.7V供电。本次设计所选用的空心杯直流有刷电机在工作的时候,对电压的影响非常大,所以要在保证能给电机供电的情况下还能有3.3V的稳定电压,因此本

31、次设计采用CAT6219作为3.3V稳压芯片,采用CAT6219稳压芯片是因为它具有以下几个优点:l 很低的电压差,能确保3.7V电压能稳定到3.3V;l 低噪声低功耗设计;l 电路极为简单;l 精度高纹波小;l 低成本低噪声。电源电路设计如图3-3所示,其中330mH电感L1在回路电路中起着消除系统运行产生的磁通量,保证电源的稳定;C6和C9两个100uF的大电容分别放在稳压芯片的输入和输出两端起着滤波的作用,能更加的稳定电源。在本设计过程中,还把电源分为模拟和数字两部分,分别通过磁珠来进行隔离,周围的小电容同时也起着滤波的作用。图3-3 电源电路原理图在遥控器电源设计中,输入电压可以是3.

32、7V或者5V电电源,用到了两个稳压芯片,一个是3.3V稳压芯片CAT6219,3.3V电源给MCU和外设供电;另外用到2.5V稳压片ASM1117,2.5V电源作用是给ADC摇杆电位器提供电源,作为参考电压,采用超低电压的原因是保证采集到的ADC电压值不受电池电量的影响而使得数据不准确。 主控单元电路设计MCU是系统的核心,从成本和性能以及掌握32位ARM芯片的熟练情况等各方面综合考虑,本设计遥控器和飞行器均采用N*P LPC1549作为主控芯片,N*P LPC1549是恩智浦公司推出的低功耗、高集成、高性价比的MCU芯片。N*P LPC1549基于32位ARM Corte*-M3内核,主频高

33、达72MHz;具有独立的指令总线和数据总线的哈佛架构,并拥有供外设使用的第三独立总线;内置嵌套向量中断控制器(NVIC)和存储器保护单元(MPU);配备256kB flash、32kB ROM、4kB EEPROM和36kB SRAM;支持FS USB、CAN、RTC、SPI、USART、I2C等外设。程序调试跟下载通过JLINK仿真器SWD模式来进行。N*P LPC1549具有4路定时器PWM,刚好驱动飞行器的四个电机。因此,N*P LPC1549是本系统设计的理想选择。MCU最小系统电路原理图如图3-4 所示。N*P LPC1549处理器一共有48个引脚,包括电源引脚有12个,外部晶振引脚

34、2个,外部RTC时钟引脚2个,USB引脚2个,30个I/O口引脚。 其中30个I/O口引脚中,PIO0_21复用外接复位芯片引脚;PIO0_19、PIO0_20两个引脚复用JLINK仿真调试SWD模式下载的SWCLK和SWDIO引脚;PIO0_0 PIO0_3为SCT定时器产生PWM引脚,同时也复用ADC0通道引脚。PIO0_22、PIO0_23两个引脚分别的硬件I2C的时钟SCL引脚和数据线SDA引脚。 N*P LPC1549引脚还有一种开关矩阵功能,为了使硬件电路设计方便,特有的功能。比如串口的R*D和T*D引脚可以通过软件寄存器配置随意更换引脚而不是固定不变的;硬件SPI引脚也可以通过开

35、关矩阵来配置,这大大减轻了硬件电路设计的难度和开发时间。图3-4 MCU最小系统电路原理图 无线通信模块电路设计本次设计无线通信模块采用的是NRF24L01模块。NRF24L01具有以下特性:真正的GFSK单收发芯片内置链路层增强型ShockBurstTM自动应答及自动重发功能地址及CRC检验功能数据传输率1或2MbpsSPI接口数据速率08Mbps125个可选工作频道很短的频道切换时间可用于跳频与nRF24*系列完全兼容可接受5V电平的输入20脚QFN44mm封装极低的晶振要求60ppm低成本电感和双面PCB板工作电压1.93.6VNRF24L01无线通信模块的通信距离在不接天线时能达到30

36、M左右,跟MCU之间采用1MHz的SPI通信协议进行传输,模块与模块之间采用2.4G无线网络频段通信,其电路原理图如图3-5所示。无线NRF24L01模块与MCU之间连接口如表3-1所示。图3-5 NRF24L01 无线通信模块电路图2.4G 无线网络频段属于 ISM 频段,它是全球*围内被广泛使用的超低辐射绿色环保频段;具有 125 个通讯信道,因为 2.4G 无线网络通讯更通畅,多个通讯指令间不会相互干扰;2.4G 无线网格带宽传速率最高可以达到 108Mbps,因此它的传输速度很快;它的传输距离相对较远(空旷地带:200m 有效传输距离),且不受传输方的影响,支持双向通讯。表3-1 NR

37、F24L01引脚与MCU引脚连接对照MCU引脚NRF24L01引脚功能PIO0_12CE使能发送或接收PIO0_13CSNSPI片选信号PIO0_14SCKSPI时钟信号PIO0_15MOSISPI数据输入脚PIO0_16MISOSPI数据输出脚SPI(SerialPeripheralInterface)是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI接口由MOSI(串行数据输入),MISO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS决定了唯一的与主设备通信的从设备,如没有CS信号,则只能

38、存在一个从设备,主设备通过产生移位时钟来发起通讯。通讯时,数据由MISO输出,MOSI输入,数据在时钟的上升或下降沿由MISO输出,在紧接着的下降或上升沿由MOSI读入,这样经过8/16次时钟的改变,完成8/16位数据的传输。SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数

39、据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设音时钟相位和极性应该一致。SPI通信协议时序图如图3-6所示。图3-6 SPI通信协议时序图 惯性测量单元电路设计飞行器硬件电路设计中,最重要的地方就要属于惯性测量单元MPU6050的硬件电路设计。因其封装尺寸太小,并且是QFN的封装方式,焊接难度非常之大。MPU6050是集三轴加速度计和三轴陀螺仪与一起的姿态传感器,MPU6050跟MCU直接采用400Hz的I2C协议传输数据。MPU6050与MCU之间连接只需两根线,一跟是I2C时钟线SCL与MCU的PIO0_22引脚连接,另一根I

40、2C数据线SDA与MCU的 PIO0_23引脚连接。惯性测量单元的电路如图3-7所示。图3-7惯性测量单元电路图在图3-7中,3个10K上拉电阻R20、R21、R22是为了增强驱动能力,MPU6050的七位设备地址是b110100*,最后一位是通过AD0管脚的电平来确定,本设计接的是地,所以设备地址是b1101000。MPU6050主要接口是两个引脚,一个是I2C数据线SDA引脚,一个是I2C时钟线SCL引脚。MPU-6050的角速度全格感测*围为250、500、1000与2000/sec (dps),可准确追踪快速与慢速动作,并且,用户可程式控制的加速器全格感测*围为2g、4g8g与16g。

41、产品传输可透过最高至400kHz的IC。MPU-6000可在不同电压下工作,VDD供电电压介为2.5V5%、3.0V5%或3.3V5%,逻辑接口VVDIO供电为1.8V 5%。MPU-6000的包装尺寸4*4*0.9mm(QFN),在业界是革命性的尺寸。其他的特征包含内建的温度感测器、包含在运作环境中仅有1%变动的振荡器。I2C总线支持任何IC 生产过程(NMOS和CMOS 双极性),两条线串行数据(SDA )和串行时钟(SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器LCD驱动器存储器或键盘接口)而且都可以作为一个发送器或接收器(由器件的功能决定),很明

42、显,LCD驱动器只是一个接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机(见表3-2),主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时 任何被寻址的器件都被认为是从机。表3-2 I2C总线术语定义术语描述发送器发送数据到总线的器件接收器从总线接收数据的器件主机初始化发送,产生时钟信号和终止发送的器件从机被主机寻址的器件多主机同时有多于一个主机尝试控制总线,但不被破坏报文仲裁是一个在有多个主机同时尝试控制总线但只允许其中一个控制总线并使报文不被破坏的过程同步两个或多个器件同步时钟信号的过程图3-8 起始和停止信号在I2

43、C 总线中唯一出现的是被定义为起始S和停止P条件见图3-8的情况,其中一种情况是在SCL 线是高电平时SDA 线从高电平向低电平切换这个情况表示起始条件,当SCL 是高电平时SDA 线由低电平向高电平切换表示停止条件,起始和停止条件一般由主机产生总线在起始条件后被认为处于忙的状态,在停止条件的*段时间后,总线被认为再次处于空闲状态。如果产生重复起始S条件而不产生停止条件,总线会一直处于忙的状态此时的起始条件S和重复起始S条件在功能上是一样的,符号S将作为一个通用的术语既表示起始条件又表示重复起始条件,除非有特别声明的S如果连接到总线的器件合并了必要的接口硬件,则用它们检测起始和停止条件十分简便

44、,但是没有这种接口的微控制器在每个时钟周期至少要采样SDA 线两次来判别有没有发生电平切换。在MPU6050工作的时候,通过逻辑分析仪采集到I2C通信时的时序图,如图3-9 所示。图3-9 MPU6050工作时I2C协议时序图图3-10 I2C协议时序图如图3-10所示MPU6050工作时的时序图。首先主机也就是飞控端MCU是时钟线保持高电平,数据线被拉低,产生一个起始信号,紧接着主机(MCU)向从机(MPU6050)发送写设备地址信号,这时的设备地址就是MPU6050的器件地址b11010000,最后一位是0表示发送的是写的地址;从机收到设备地址之后返回个ACK,然后主机再向从机发送设备子地

45、址,也就是寄存器地址,从机再返回ACK,接下来当时钟线保持高电平数据线被拉低时再次发送信号,这时发送的是读取设备的地址b11010001,最后位为1是读取;等到从机返回ACK之后主机开始读取到数据,MCU读取到数据之后,单次通信完成,等待进入下一次通信。 电机驱动电路设计飞行器硬件电路设计中,电机驱动部分也相当重要。本次所采用的电机是空心杯820直流有刷电机,电机采用3.7V电源供电,驱动思路是这样的,电机的一端接电源正级,负极端接MOS管,MOS管通过飞行器MCU的PWM来控制它的开启与关闭从而控制电机转速。四个电机驱动的PWM分别于MCU的PIO0_0、PIO0_1、PIO0_2、PIO0

46、_3引脚连接。其电路原理图如图3-11所示。如3-11 电机驱动原理图 图3-12 SI2302特性曲线图对于N沟道增强型MOS管SI2302,主要参数如下:晶体管类型:N沟道MOSFET 最大功耗PD:1.25W栅极门限电压VGS:2.5V(典型值)漏源电压VDS:20V(极限值)漏极电流ID:2.8A通态电阻RDS(on):0.145hm(典型值)栅极漏电流IGSS:100nA结温:55-150直流有刷电机驱动采用此MOS管,其特性曲线如图3-12所示,由图可知,它的开启电压为1V,当Vgs=2V时其最大的工作电流可以达到4A,完全能达到本次设计要求;D2反向二极管防止电机断电之后继续转产

47、生的电流击穿MOS管,起着保护MOS管的作用;R12为单片机I/O口的限流电阻;R14为下拉电阻,防止单片机上电之后I/O口为高电平时电机转动。 串口调试电路设计在本次毕业设计中,串口调试电路只用在遥控器当中,遥控器直接通过Micro USB接口给遥控器供电,然后连接串口,就可以直接跟上位机连接,方便程序调试。本次设计选用的串口转USB芯片是CH340G芯片,CH340G具有以下特点:全速USB设备接口,兼容USBV2.0,外围元器件只需要晶体和电容。仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。计算机端Windows操作系统下的串口应用程序完全兼容,无需修改。硬件全双工串

48、口,内置收发缓冲区,支持通讯波特率50bps2Mbps。支持常用的MODEM联络信号RTS、DTR、DCD、RI、DSR、CTS。通过外加电平转换器件,提供RS232、RS485、RS422等接口。支持IrDA规*SIR红外线通讯,支持波特率2400bps到115200bps。软件兼容CH341,可以直接使用CH341的驱动程序。支持5V电源电压和3.3V电源电压。提供SSOP-20和SOP-16无铅封装,兼容RoHS。图3-13 CH340G电路原理图CH340G硬件电路图如图3-13所示。设计电路连接中比较注意的地方有以下两点:(1)CH340芯片正常工作时需要外部向*I引脚提供12MHz

49、的时钟信号。一般情况下,时钟信号由CH340内置的反相器通过晶体稳频振荡产生。外围电路只需要在*I和*O引脚之间连接一个12MHz的晶体,并且分别为*I和*O引脚对地连接振荡电容。(2)CH340芯片支持5V电源电压或者3.3V电源电压。当使用5V工作电压时,CH340芯片的VCC引脚输入外部5V电源,并且V3引脚应该外接容量为4700pF或者0.01uF的电源退耦电容。当使用3.3V工作电压时,CH340芯片的V3引脚应该与VCC引脚相连接,同时输入外部的3.3V电源,并且与CH340芯片相连接的其它电路的工作电压不能超过3.3V。本次设计采用的是3.3V工作电压,所以V3直接跟VCC连接。

50、3.4 PCB设计硬件电路原理图设计完毕之后,接下来就是PCB的设计。本次设计采用双层电路板印制,遥控器和飞行器均不加外壳,直接使用PCB板作为支架外形,焊接上元器件直接可以使用。3.4.1 PCB设计技巧规则对于IC、非定位接插件等大器件,可以选用50100mil的格点精度进行布局,而对于电阻电容和电感等无源小器件,可采用25mil的格点进行布局。大格点的精度有利于器件的对齐和布局的美观。1PCB布局规则(1)在通常情况下,所有的元件均应布置在电路板的同一面上,只有顶层元件过密时,才能将一些高度有限并且发热量小的器件,如贴片电阻、贴片电容、贴片IC等放在底层。(2)在保证电气性能的前提下,元

51、件应放置在栅格上且相互平行或垂直排列,以求整齐、美观,在一般情况下不允许元件重叠;元件排列要紧凑,元件在整个版面上应分布均匀、疏密一致。(3)电路板上不同组件相临焊盘图形之间的最小间距应在1MM以上。(4)离电路板边缘一般不小于2MM.电路板的最佳形状为矩形,长宽比为3:2或4:3。电路板面尺大于200MM乘150MM时,应考虑电路板所能承受的机械强度。2布局技巧在PCB的布局设计中要分析电路板的单元,依据起功能进行布局设计,对电路的全部元器件进行布局时,要符合以下原则:(1) 按照电路的流程安排各个功能电路单元的位置,使布局便于信号流通,并使信号尽可能保持一致的方向。(2)以每个功能单元的核

52、心元器件为中心,围绕他来进行布局。元器件应均匀、整体、紧凑的排列在PCB上,尽量减少和缩短各元器件之间的引线和连接。(3)在高频下工作的电路,要考虑元器件之间的分布参数。一般电路应尽可能使元器件并行排列,这样不但美观,而且装焊容易,易于批量生产。3.4.2 PCB设计步骤1布局设计在PCB中,特殊的元器件是指高频部分的关键元器件、电路中的核心元器件、易受干扰的元器件、带高压的元器件、发热量大的元器件,以及一些异性元器件,这些特殊元器件的位置需要仔细分析,做带布局合乎电路功能的要求及生产的需求。不恰当的放置他们可能产生电路兼容问题、信号完整性问题,从而导致 PCB设计的失败。在设计中如何放置特殊

53、元器件时首先考虑PCB尺寸大小。快易购指出PCB尺寸过大时,印刷线条长,阻抗增加,抗燥能力下降,成本也增加;过小时,散热不好,且临近线条容易受干扰。在确定PCB的尺寸后,再确定特殊元件的摆放位置。最后,根据功能单元,对电路的全部元器件进行布局。特殊元器件的位置在布局时一般要遵守以下原则:(1)尽可能缩短高频元器件之间的连接,设法减少他们的分布参数及和相互间的电磁干扰。易受干扰的元器件不能相互离的太近,输入和输出应尽量远离。(2)一些元器件或导线有可能有较高的电位差,应加大他们的距离,以免放电引起意外短路。高电压的元器件应尽量放在手触及不到的地方。(3)重量超过15G的元器件,可用支架加以固定,

54、然后焊接。那些又重又热的元器件,不应放到电路板上,应放到主机箱的底版上,且考虑散热问题。热敏元器件应远离发热元器件。(4)对与电位器、可调电感线圈、可变电容器、微动开关等可调元器件的布局应考虑整块扳子的结构要求,一些经常用到的开关,在结构允许的情况下,应放置到手容易接触到的地方。元器件的布局到均衡,疏密有度,不能头重脚轻。一个产品的成功,一是要注重内在质量。而是要兼顾整体的美观,两者都比较完美的扳子,才能成为成功的产品。2放置顺序(1)放置与结构有紧密配合的元器件,如电源插座、指示灯、开关、连接器等。(2)放置特殊元器件,如大的元器件、重的元器件、发热元器件、变压器、IC等。(3)放置小的元器

55、件。3布局检查(1)电路板尺寸和图纸要求加工尺寸是否相符合。(2)元器件的布局是否均衡、排列整齐、是否已经全部布完。(3)各个层面有无冲突。如元器件、外框、需要私印的层面是否合理。(4)常用到的元器件是否方便使用。如开关、插件板插入设备、须经常更换的元器件等。PCB外形设计经过两周的时间准备硬件电路模块选择以及PCB的设计,按照最初的构思,根据硬件设计框图,最终设计好遥控器和飞行器的PCB电路版,本次设计将采用制作出的电路版作为外型尺寸不做外包装。在设计过程中,遥控器外设计灵感来自游戏手柄,这样设计的目的是把遥控器能直接握在手里,同时非常有手感。飞行器外形设计比较复杂,直接用Altium De

56、signer 09软件无法达到效果,要求飞行器外形的四个电机位置必须是关于中心对称,以免不对称导致平衡更加的难以控制,再考虑到这些因素之后,设计采用CAD专业绘图软件绘制飞行器外形,最终把绘制好的外框导入到Altium Designer 09软件里面PCB设计的keep-out-player层作为外形切割,如图3-14、3-15分别为遥控器和飞行器的PCB图。 图3-13 遥控器PCB图 图3-14 飞行器PCB图3.5 实物介绍本次毕业制作了实物,实物图如图3-15、3-16所示。图3-15 遥控器实物图图3-16 飞行器实物图 实物操作细节如下所示:上电:首先给遥控器上电,等待遥控器LED

57、信号灯闪烁之后再给飞行器上电。第一步必须要这样做,这样做是为防止飞行器先上电之后接收到无线信号不准确从而导致飞行器出现不确定的飞行情况。解锁:解锁过程需要双手同时操作,双手握住摇杆,左边摇杆控制油门,右边摇杆控制方向,当双手遥杆同时往下掰到最下方,持续2S左右,可以看到飞行器四周的LED灯开始闪烁,说明解锁成功。上锁:上锁过程也需要双手同时操作,左手把摇杆掰到最左边位置同时右手把摇杆掰到最低位置,等待遥控器闪烁LED熄灭电机停止转动,说明以上锁,飞行器停止等待重新解锁过程。飞行操作:待飞行器解锁成功之后,左手轻轻推动油门,可以看见飞行器电机慢慢开始转动起来,继续加大油门之后可以使飞行器飞起来,

58、右手可以调整飞行的方向。注意:上电顺序不能弄反,操作需缓慢进行,飞行器别在狭小的空间飞行,千万要固定好飞行器电池跟无线通信模块。. z.-第4章 系统软件设计4.1 Keil MDK5.12简介 Keil MDK概述Keil MDK,也称MDK-ARM,Realview MDK、I-MDK、uVision5等。目前Keil MDK 由三家国内代理商提供技术支持和相关服务。MDK-ARM软件为基于Corte*-M、Corte*-R4、ARM7、ARM9处理器设备提供了一个完整的开发环境。 MDK-ARM专为微控制器应用而设计,不仅易学易用,而且功能强大,能够满足大多数苛刻的嵌入式应用。MDK-A

59、RM有四个可用版本,分别是MDK-Lite、MDK-Basic、MDK-Standard、MDK-Professional。所有版本均提供一个完善的C / C+开发环境,其中MDK-Professional还包含大量的中间库。 Keil MDK功能特点完美支持Corte*-M、Corte*-R4、ARM7和ARM9系列器件;行业领先的ARM C/C+编译工具链;确定的Keil RT* ,小封装实时操作系统(带源码);Vision5 IDE集成开发环境,调试器和仿真环境;TCP/IP网络套件提供多种的协议和各种应用;提供带标准驱动类的USB 设备和USB 主机栈;为带图形用户接口的嵌入式系统提供

60、了完善的GUI库支持;ULINKpro可实时分析运行中的应用程序,且能记录Corte*-M指令的每一次执行;关于程序运行的完整代码覆盖率信息;执行分析工具和性能分析器可使程序得到最优化;大量的项目例程帮助你快速熟悉MDK-ARM强大的内置特征;符合CMSIS (Corte*微控制器软件接口标准)。4.2 软件设计框图系统软件设计主要包括遥控器程序设计和飞行器程序设计。遥控器主要作用就是采集操控信息发送给飞行器,飞行器的程序是最重要的也是最难的,包括接收无线数据和惯性测量单元数据读取以及数据处理部分。遥控器和飞行器程序设计流程图如图4-1、4-2所示。图4-1 遥控器程序流程图 图4-2 飞行器

61、程序流程图 在遥控器程序设计中,采用循环采集ADC电压并无线发送数据。ADC电压取值*围是02.5V,分辨率为100,采集到数据即为0250,并把采集到的电压值存入无线传输缓存Buf数组里面。Buf数组定义为8位数据类型,设置了8位长度,Buf0里面存入帧头,Buf1里存放油门,Buf2存放左边摇杆数据,Buf3存入前后方向数据,Buf4存入左右方向数据,剩余部分存入按键状态信息。NRF24L01直接将读取的8位数据发送到飞行器端,进行实时控制。在此次飞行器程序设计中,在主程序里面使用了三层while循环,进入初始化之后,首先循环是否检测到NRF24L01芯片,若检测到则往下执行,否则循环等待

62、;其次是循环检测是否有解锁信号,收到解锁信号继续往下执行,否则等待;最后是主循环,循环读取数据并进行处理,电机控制,检测是否有上锁信号,若收到上锁信号,电机停止转动,LED灯停止闪烁,使用goto语句强制跳转到程序初始化,否则继续主循环。在电机控制程序中,采用芯片自带定时器产生特定的PWM,其频率为20KHz。飞行器MCU通过定时器没2ms产生一次计数,计数5次即10ms读取一次MPU6050的数据并进行一次四元数计算以及PID计算在送给PWM,这10ms的时间里,有大约2ms在接收无线信号,2ms进电机控制程序,剩下时间空闲。这里2ms电机控制程序时间必须是一定的,因为在四元数计算和PID计算都有微分积分时间,这里的2ms既为算法里面微积分的时间。4.3 软件调试仿真本次毕业设计使用的是32位ARM芯片,此类芯片都支持JLINK在线硬件仿真调试和下载,跟51相比,在线硬件仿真调试大大缩减的程序的调试时间,并且能够更加直观的观察程序每一步的运行情况,同时处理器中所使用寄存器值的变化也一目了然,非常便于使用。J-LINK仿真器目前已经升级到V9.1版本,其仿真速度和功能远非简易的并口WIGGLER仿真调试器可比。J-LINK支持ARM7、ARM9、ARM11,Corte* M0/M1/M3/M4,Corte*

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!