基于Multiwii六轴飞行器设计毕业设计论文

 1

 目录 第一部分

 设计任务与调研........................................................................................ 2 1、设计六轴飞行器的主要任务.................................................................. 2 2、设计思路.................................................................................................. 2 3、设计方法.................................................................................................. 2 4、飞行器背景.............................................................................................. 2 5、设计六轴飞行器的目的和总结.............................................................. 3 第二部分

 设计说明.................................................................................................... 4 1、飞行原理分析.......................................................................................... 4 2、 硬件设计方案........................................................................................ 6 第三部分

 设计成果.................................................................................................. 11 1、作品特点................................................................................................ 11 第四部分 结束语........................................................................................................ 13 1、本次设计主要任务................................................................................ 13

  2、未来前景................................................................................................ 13 第五部分 致谢............................................................................................................ 14 第六部分 参考文献.................................................................................................... 15

 2

 第一部分

 设计任务与调研 1 1 、 设计 六 轴飞行器的主要任务

 本设计要求针对在飞行器上装有三个方向的陀螺仪和三轴加速度的传感器组成惯性导航模块。实现六轴飞行器的定位与姿态控制,后续加装了 2.4G 无线遥控,来实现远距离控制六轴飞行器。

 2 2 、 设计思路

 第一:小型六轴飞行器的硬件电路设计, 第二:软件移植以及飞控姿态调参 。

  根据设计要求并综合各方面因素,本系统的设计思路是以 Multiwii 开源系统为核心,设计一种低成本、高效率的六旋翼飞行器。采用 MPU6050 三轴加速度传感器检测当前飞行姿态,通过 PID 算法及卡尔曼滤波实现对飞行器的姿态调整,用无线遥控来实现远距离控制飞行器。当飞行姿态发生偏移后通过传感器或遥控器来调整飞行姿态 3 、设计方法 设计初期阶段,通过将模电、数电、单片机、电气自动化控制以及从网上查阅的各种资料,并且在老师的指导下一步步的从原理分析到模型设计,然后把成型的电路板打样并制作出来,最后通过 PID 调参来调整飞行姿态。

 4 、飞行器背景 多旋翼飞行器最早出现于百年前的欧洲,由于其控制算法的复杂性,超过了当时的科技水平,早期的多旋翼飞行器因性能较差和体积庞大而无法实用化,仅仅停留于科研阶段。近年来由于新材料(碳纤维等)、新型微机电(MEMS)传感器以及计算机自动控制算法的不断发展和进步,以六旋翼飞行器为代表的多旋翼飞行器得以在控制技术上取得巨大飞跃,开始迅速实用化产业化。并呈现小型化微型化的趋势,逐步在许多行业薪露头角,进入了人们的生活中。六轴飞行器作为一种有代表性的多旋翼飞行器,具有体积小,重量轻,结构简单、性能可靠、控制灵活、飞行稳定的特点。因为六轴飞行器比起传统直升机更为稳定和简便可靠,几乎不会出现机械结构上的问题,它能够成为非常好的无人机平台,以执行一些目前需要小型飞行器来执行的任务,可以进入一些不易进入的环境之中进行勘察和

 3

 拍摄等任务,如火山、地震、洪水灾区等。

 5 5 、 设计 六 轴飞行器的目的和总结

 本章内容对六轴飞行器的一个总体概括,考虑到与本专业的相结合以及将不同领域的专业融入进来的想法,设计并制造出了六轴飞行器。其目的是为了提高自己的动手能力以及达到对无人飞机这一块领域的进一步研究。

 从提出方案到执行方案,这之间遇到过很多问题,其一、最小系统方面考虑到 MEGA328P 是 8 位的处理器,能否完成复杂的处理工作,其二、720 空心杯电机的最大承载量是否在实际载重的范围内,其三、遥控器处理芯片采用的是STC15F2K60S2 单片机,输出的是 PWM 制式的信号,担心飞控处理接收的信号会有所差异。综合以上所述的一些问题总结下来,先前做出一个简单的模型如图1-1 所示,然后试飞,看方案可行度如何再进一步改进。

  图 图 1 1- -1 1

 前期测试产品

 4

 第二部分 设计说明

 1 1 、 飞行原理分析

 为设计六轴飞行器,首先得了解四轴飞行器的飞行原理,因为六轴飞行器是在四旋翼基础上增加了两个旋翼,其飞行原理相同,所以本节内容重点分析四轴飞行器的原理如下:

 1.1

 六轴飞行器能飞行的原理 六轴飞行器能够克服阻力飞行是运用了空气动力学原理。当六个电机带动螺旋桨转动所产生的风能然后通过螺旋桨叶角度的不同使得六个电机的风是往下吹,根据物理定义,力的作用是相互的,风能施加一个向下的力,就会产生一个向上的推力,当转速达到一定的情况后,飞机克服重力而悬空。

 1.2

 如何使飞行器完成垂直、俯仰、滚转及偏航运动 垂直运动——在图 2-1 中,因有两对电机转向相反,可以平衡其对机身的反扭矩,当同时增加四个电机的输出功率,旋翼转速增加使得总的拉力增大,当总拉力足以克服整机的重量时,四旋翼飞行器便离地垂直上升;反之,同时减小四个电机的输出功率,四旋翼飞行器则垂直下降,直至平衡落地,实现了沿 z 轴的垂直运动。当外界扰动量为零时,在旋翼产生的升力等于飞行器的自重时,飞行器便保持悬停状态。保证四个旋翼转速同步增加或减小是垂直运动的关键。

  俯仰运动——在图 2-2 中,电机 1 的转速上升,电机 3 的转速下降,电机 2、电机 4 的转速保持不变。为了不因为旋翼转速的改变引起四旋翼飞行器整体扭矩及总拉力改变,旋翼 1 与旋翼 3 转速该变量的大小应相等。由于旋翼 1 的升力上图 图 2 2- - 1 垂直运动

 5

 升,旋翼 3 的升力下降,产生的不平衡力矩使机身绕 y 轴旋转,同理,当电机 1的转速下降,电机 3 的转速上升,机身便绕 y 轴向另一个方向旋转。

  滚转运动——与图 2-2 的原理相同,在图 2-3 中,改变电机 2 和电机 4 的转速,保持电机 1 和电机 3 的转速不变,则可使机身绕 x 轴旋转(正向和反向),实现飞行器的滚转运动。

 偏航运动——四旋翼飞行器偏航运动可以借助旋翼产生的反扭矩来实现如图 2-4 所示。旋翼转动过程中由于空气阻力作用会形成与转动方向相反的反扭矩,为了克服反扭矩影响,可使四个旋翼中的两个正转,两个反转,且对角线上的来年各个旋翼转动方向相同。反扭矩的大小与旋翼转速有关,当四个电机转速图 图 2 2- - 2 俯仰运动

 图 图 2 2- - 3 滚转运动

 6

 相同时,四个旋翼产生的反扭矩相互平衡,四旋翼飞行器不发生转动;当四个电机转速不完全相同时,不平衡的反扭矩会引起四旋翼飞行器转动。在图 2-4 中,当电机 1 和电机 3 的转速上升,电机 2 和电机 4 的转速下降时,旋翼 1 和旋翼 3对机身的反扭矩大于旋翼 2 和旋翼 4 对机身的反扭矩,机身便在富余反扭矩的作用下绕 z 轴转动,实现飞行器的偏航运动,转向与电机 1、电机 3 的转向相反。

 2 2 、

 硬件设计方案

 2.1

 组成六轴飞行器所需要的一些基本硬如图 2-5 所示

  图 图 2 2- -4 4

 偏航运动

 图 图 2 2- - 5 硬件部分

  主控芯片 遥控接收 电调 电调 电调 电调 电调 电调

 传感器

 7

 2.2

 硬件设计方案 主控芯片:

  方案一:采用 STC89 系列单片机作为主控芯片,

  方案二:采用 AVR 系列芯片作为主控芯片,考虑到 AVR 系列单片机的开源,以及四路 PWM 输出口。

  方案三:采用 STM 系列的单片机作为主控芯片。

 在构思出这三个方案后,结合飞行器的各个方面,最后决定采用 AVR 系列的 MEGA328P 作为主控芯片。方案一不足之处在于 STC89 系列的单片机虽然常用,但是处理速度慢,并且没有可以直接输出 PWM 口的端口;方案三考虑到 STM 芯片的价格更高,而且没有深入了解过这款单片机的一些特性。选择MEGA328P 芯片,是考虑单片机本身的处理能力能完成本设计要求;其二是考虑到 MEGA328P 作为主控芯片在实际运用中已经很成熟,已经有很多先辈用此芯片做过四旋翼、六旋翼飞机;其三是 MEGA328P 芯片自带 PWM 输出口,刚好可以作为控制电机的信号。

 传感器:

  方案一:采用 ADXL345 作为飞行姿态检测。

  方案二:采用 MPU6050 模块作为飞行姿态检测。

 选择方案二是因为 MPU6050 是具有三轴加速度和三轴角速度,而 ADXL345只有三轴加速度,而本设计中,不仅要完成方向前、后、左、右,还有一个最重要功能是绕着 Z 轴做匀速转动时,有了角速度,就可以根据三个轴的角度来判断模块是否在绕一个轴做自转,所以选择了 MPU6050 模块。

 无线通讯:

  方案一:采用自制 12 通遥控器

  方案二:采用“天地飞九”接发遥控器

  方案三:采用蓝牙控制 针对以上方案,前期选用 STC15F2K60S2 作为遥控,因摇杆的控制精度达不到商业遥控的水准,所以选择了两套方案,在室内飞行可用天地飞遥控来操作,选择室外可以选择用自制的遥控器。对于蓝牙控制,因为蓝牙传输距离有限,所以没有选择蓝牙模块来作为无线传输。

 2.3

 六轴飞行器硬件组成

 8

 方案确定后,准备六轴飞行器元件包括主控 MEGA328P 芯片、MOS 管(控制空心杯电机,相当于无刷电机的电调)、无线通信控制模块(NRF20L01)、720空心杯电机、MPU6050 三轴加速度模块、电池。

 2.4

 制作并调试六轴飞行器

  在方案确定后,也就是制作并调试六轴飞行器!第一步:借助淘宝,把硬件元件买来后,利用 Altium Designer15 软件绘制电路图并画出 PCB 板打样,在制图过程中,利用 Keep-Out Layer 层来画出框架,采用 B 型 1206 封装钽电容对电源进行高低频滤波(47uF 电容来进行低频滤波,0.1uF 电容来进行高频滤波)。5V 稳压芯片采用 SOT23-6 六脚贴片封装,芯片引脚如图 2-6 所示;3.3V 稳压芯片采用 SOT-5 五脚贴片封装,芯片引脚如图 2-7 所示。这里详细的说下为什么要用到 5V 和 3.3V 芯片,因为本设计所使用的主控芯片是 MEGA328P,供电电压是5V,而本设计所使用的电池是 3.7V/350mA,所以需要转成 5V 供给主控芯片和接收机芯片;3.3V 供给 MPU6050 芯片和 2.4G 无线模块。

 第二步:供电问题解决,接下来就是主控芯片引脚如图 2-8 所示,对主控芯片烧固件。固件是什么,为什么要烧固件?接下来讲解一下什么是固件,固件就是单片机的底层程序,相当于我们电路中的“开关、负载、电流”固件在这里面充当开关的作用,只用当开关闭合电流才能流进负载,所以这里固件充当这样一个角色,当然,这个物理开关在单片机里面有专业的词语叫熔丝位,所以,只有给芯片烧了固件之后芯片才会真工作。

  图 图 2 2- -7 7

 SOT-5 图 图 2 2- - 8 MEGA328P

 图 图 2 2- -6 6

 9

 第三步:焊接 MPU6050 以及烧写六轴程序,焊接 MPU6050 前要在焊盘上涂上锡膏(根据个人喜好,也可直接用焊锡丝焊接),然后用热风枪加热芯片,注意温度不要过高,风速也不要过大,以免烧坏芯片或者是吹跑元件,接下来就是对主控芯片烧写六轴程序,用到 Arduino 编译软件如图 2-9,下载器的 RX 接 328P芯片的 TX 引脚,下载器的 TX 接 328P 芯片的 RX 引脚,然后处理 328P 供电引脚,将下载器插上电脑,装好驱动,打开 Arduino 软件,板型选择 Arduino pro (5V,16MHZ)MEGA328,接下来是端口选择,打开 Multiwii 程序,点击下载并查看是否已经读取到了 MPU6050 的数值,这里本设计用到了 Multiwii 的上位机,打开上位机,选择端口就可看到 MPU6050 的数值变化,如图 2-10。

  图

 2 2- -9 9

 10

  第四步:焊接电阻、电容、晶振以及 2.4G 接发收模块,烧写接发收模块程 序,本设计采用的是 STC 烧录软件。这里要注意的是,无线模块是如何发射出去,并且接受最后处理的。首先,发射端(也就是我们所说的遥控器)把所有油门的变化值,方向变化值全部打包在一起(这些值的变化也就是操纵摇杆时油门加大、减小所改变的阻值变化转换成电压变化)最后把打包好的 PPM 信号送给 2.4G 模块发射出去,经接收模块接收并解压然后输出对应飞控的几通道,这就形成了无线通讯。

 第五步:打开上位机。调试各个传感器,使飞机能达到自稳飞行。

 2.5

 产品特点 六轴飞行器具有结构简单、灵活性好、稳定性强的特点;在此基础上还加上了无线控制,加大控制距离,操作更加灵活。

 根据六轴飞行器的原理,我们可以把它加大化,做成商业用途,比如航拍,侦查,寻物,并且可以达到自动驾驶来完成我们人类无法完成的任务。

 图 图 2 2- - 10

 11

 第三部分

 设计成果

  1 1 、 作品特点

 1.1

 技术指标 本设计主要是对飞行器的研究,需要将所学的模拟电子、数字电路、单片机技术、传感器、电气自动控制等相关专业知识所结合起来,实现能够离地飞行而且尽可能的平稳飞行,在完成机体后又通过添加无线模块来实现无线控制。

 1.2

 性能特点 六轴飞行器具有结构简单、灵活性强、易操控、飞行平稳的特点。在设计六轴飞行器前就考虑到飞信器的配重问题,所以重量轻也是飞行器的一大特点。

 1.3

 产品优缺点 根据六轴飞行器的特点就可知六轴飞行器具有结构简单、灵活性强、易操作、飞行稳定等优点。

 当然本设计还有不足之处在于只添加一个传感器来探测飞行器的稳定性,所以稳定程度还不能达到商业化无人飞机的程度;因电机转动所产生的抖动会影响陀螺仪的数据,所以在飞行过程中也会和理想有所偏差;遥控器方面虽然能远距离控制,但和商业遥控器精度方面还是有一定的差距,导致无法精准控制飞行器。

 2 2 、原理图

 12

  图 图 3 3- -1 1

 13

 第四部分 结束语

 经过反复设计、验证和调试,使六轴飞行器可以达到稳定飞行的状态。本设计的思路是从小型化通用化的目标入手,探索了在 Arduino 平台上实现六轴飞行器平稳飞行姿态的控制算法,并且将无线遥控运用进来,增强了六轴飞行器的易操作性。

 1 1 、 本次设计主要任务

 (1) 小型六轴飞行器的硬件电路设计 本设计的思路是实现六旋翼飞行器的低成本小型化通用化,构建一个验证多旋翼飞行器控制算法的平台,具有易于调试和移植等特性。在此思路的指导下,硬件上本设计选用了通用的基于开源架构的 Arduino MEGA328P 芯片作为六轴飞行器的主控部分,以及相应的通用姿态测量传感器 MPU6050 等。在 Arduino 的灵活开放的架构下,可实现硬件模块的灵活调整和快速地平台转换及移植。

  (2) 在 Arduino 的软件结构下,进一步针对六轴飞行器的姿态做了研究。本设计主要任务是在 MCU 上完成六轴飞行器飞行姿态控制系统的实现。我们通过对于姿态传感器测得的加速度和角速度读取,通过使用四元数法将加速度和角速度运算得出六轴飞行器的姿态角即欧拉角,再通过卡尔曼滤波将得出的欧拉角与原先的角速度进行融合和滤波,以消除干扰和累积误差,最终得出了正确的飞行器姿态角,并最终成功达到了使六轴飞行器在室内平稳飞行的目的。

  (3) 把实际中的误差通过 PID 参数来调整飞行器的稳定程度。在实际测试过程中,本设计采用将飞行器用绳子把六轴飞行器固定在一个处于悬空并且水平状态,然后通过拨动油门看飞行姿态的变化如何,然后根据经验法来调整 PID,这里有一个重要环节是调整 PID 先调 P(比例环节),然后再调 I(积分),常用情况下我们是可以不调 D(微分),因为微分稍加改动,就有可能形成超调。

 2 2 、 未来前景

 通过本设计的研究,更加巩固了对飞行器这方面的研究,在未来,我可以加大化,更智能化,更加倾向于商业化,例如航拍,无人侦查,线路检修,送快递等都可以通过飞行器来完成。当然本设计还有不足之处在于没有加装防撞装置,也无法运用失控保护来保护飞体,所以在后续可以更加深入的研究这方面知识。

 14

 第五部分 致谢 历时将近两个月终于将本设计完成了。在此,谨向指导老师致以最诚挚的谢意和崇高的敬意!真诚祝愿家人身体健康、合家幸福!

 在选题过程中,还得到了老师很好的意见和建议,在此表示深深地感谢!在设计和调试及成果报告书撰写的过程中,得到了同学的帮助,和他们在一起学习的日子使我敢到温暖,真诚感谢他们的帮助与建议。同时感谢在成果说明书中所有被引用的作者们。

 在大学校园生活即将结束之际,还要感谢我的家人在默默的支持我鼓励我,借用父亲常对我说的一句话“不管你喜欢什么爱好什么,我们一家人都永远的支持你”这些年我用我的行动证明我能行,我所做的也是我所爱的,最后也感谢我自己从高中到大学一直追随我挚爱的电子,我希望我的这种热爱也能永久伴随着我到老,地球虽大,但我有属于我的一片天空。再次对关心和帮助过我的老师和同学表示衷心地感谢!

 15

 第六部分 参 参 考文献

 【1】《四轴飞行器的研究与制作》 万俊. 华中师范大 2014 出版.

 引用页码P6-P8

 【2】《基于 Multiwii 的开源四轴飞行器》 费科程、吴佳伟、邱晓荣 . 无锡职业技术学院 2014 出版. 引用页码 P4-10

 【3】《基于 Arduino 兼容的 Stm32 单片机的四旋翼飞行器设计》 唐懋. 厦门大学 2013 年出版. 引用页码 P33-P35;P36-P37

 【4】《电子技术基础(第 2 板)》 张龙兴. 人民邮电出版社 2010 年出版. 引用页码 P25-P30

 【5】《基于四轴飞行器的双闭环 PID 控制》 李刚、郑力、陆伟男 、蔡启仲. 科学技术与工程 2014 年 11 月. 引用页码第十四卷 33 期 P130-P132

 【6】《四轴飞行器姿态监控系统设计》 王金红、成怡、钱红亮. 天津工业大学电工电能新技术出版. 引用页码 P10-P14

推荐访问:飞行器 毕业设计 论文