四旋翼自主飞行器设计__曾庆涛

摘 要

查重32

四旋翼飞行器也称四轴飞行器,四轴飞行器是近几年来开始流行的一种小型飞行器,因其简单的构造,起飞降落相对于传统飞行器需要的空间小,以及四轴飞行器操作灵活,易于控制,飞行能力出色,可以用做航拍、侦查等工具,在以后的民用和军用领域将会有巨大的前景。目前,四轴飞行器的研究处于起步阶段,技术还不是很成熟,加上四轴飞行器具有不稳定行,非线性等特性,四轴的设计对于稳定性的要求就非常重要。本次设计中,需要实现四轴飞行器的垂直起飞和降落等设计要求,控制四轴飞行器方法是采取的姿态控制,该控制系统主要由2.4GHz 的NRF24l01无线发送模块,STM32微处理器,MPU6050陀螺仪,加速度计组成。通过无刷直流电机给四轴提供飞行动力。最后通过上位机,调节PID 参数,实现四轴飞行器飞行要求。

关键词:四轴飞行器;姿态控制;PID 调节

Abstract

Four-rotor aircraft, also known as Four aircraft, four aircraft in recent years become popular , because of its simple structure, taking off and landing aircraft with respect to the traditional small space required, and flexible Four aircraft operation, easy to control , the ability to fly well, can be used as aerial photography, and other investigative tools. In the future civilian and military fields will be a huge prospect. Currently, the research of axis aircraft in its infancy, is not very mature , coupled with an unstable aircraft axis line, nonlinear characteristics, four design requirements for stability is very important. In this design, the need to achieve four-axis vertical takeoff and landing aircraft such as the design requirements, the control method is to take the aircraft axis attitude control, the control system consists of a 2.4GHz wireless transmitter module nrf24l01, stm32 microprocessor, mpu6050 gyro instrument, accelerometers. Provide flight powered by a brushless DC motor to the axis. Finally, through the PC, adjust PID parameters to achieve Four aircraft flight requirements.

Key Words:four-rotor aircraft;attitude control;PID regulator

目 录

摘 要 ........................................................ I Abstract ...................................................... II

1 概述 ......................................................... 1

1.1研究背景 ................................................ 1

1.2 国内外现状 ............................................. 1

1.3 本次设计的主要内容 ..................................... 2

2 四轴飞行器的硬件设计 ......................................... 2

2.1 四轴飞行器的飞行原理 ................................... 2

2.1.1 垂直运动 .......................................... 3

2.1.2 俯仰运动 .......................................... 3

2.1.3滚转运动 .......................................... 4

2.1.4偏航运动 .......................................... 4

2.1.5 前后运动 .......................................... 4

2.2 四轴飞行器的硬件设计思路 ............................... 5

2.2.1 姿态测量系统 ...................................... 6

2.2.2电机驱动模块 ...................................... 6

2.2.3主控制模块 ........................................ 6

2.2.4电机驱动模块 ...................................... 7

2.2.5无线通信模块 ...................................... 7

2.2.6电源模块 .......................................... 7

3 硬件设计 ..................................................... 7

3.1 器件清单列表 ........................................... 7

3.2 模块的介绍 ............................................. 8

3.2.1上位机 ............................................ 8

3.2.2 NRF24l01 收发模块 ................................. 9

3.2.3 MPU6050模块 ..................................... 10

3.2.4 STM32芯片 ....................................... 11

3.2.5 电调 ............................................. 13

3.2.6 无刷电机 ......................................... 13

4 控制部分 .................................................... 14

4.1 姿态控制系统功能 ...................................... 15

4.2 姿态解算 .............................................. 16

4.3 PID控制 ............................................... 16

结 语 ....................................................... 18

致 谢 ....................................................... 19

参考文献 ...................................................... 20

附 件 一 ................................................... 21

附 件 二 .................................................... 27

1 概述

1.1研究背景

四旋翼飞行器也称四轴飞行器,简称四轴、四旋翼,是一种有4个螺旋桨且螺旋桨呈十字形交叉的飞行器。近几年随着微机电系统(MEMS )的兴起,各种微处理器性能的完善,四轴飞行器的发展十分迅猛。四轴飞行器利用有四个无刷电机来提供动力进行空中飞行,它的尺寸较小、重量较轻、可以携带一定的负载,有自己独特的应用,像航拍等。同时可以完成一些复杂、困难的任务。随着理论技术的日趋成熟,以及控制系统理论的完善,四轴飞行器性能也越来越强大,不久的将来,各种各样的四轴产品将会运用到社会生活的各个领域,军事领域、工业领域、生活领域,都将会看到四轴飞行器的身影。也许,科幻电影里的航空城不在是梦想,四轴飞行器可能就是我们常用的交通工具,就像现在的汽车一样。

四轴飞行器与传统飞行器相比有许多优势,像灵活性、机动性远远强于传统的飞行器。因为它的种种优点,研究四轴飞行器是必要的,在未来的航空领域中,四轴飞行器的地位举足轻重。

1.2 国内外现状

早在上个世纪中叶,多旋翼飞行器就已经受到了海外一些研究机构的瞩目。多旋翼飞行器虽然机械构造与飞行原理都很简单,但对传感器类与控制理论上的要求非常高, 所以一直到本世纪初期,MEMS 传感器技术及嵌入式控制系统科技的高速发展使得多旋翼无人机的研究终于得到了突破。特别是欧美的一些先进国家,在小型,超小型无人机研究领域中,多旋翼无人机已逐步取代直升机式无人机,成为旋翼无人机研究的主流。欧美据有代表性的科研团队有美国的MIT ,德国的Ascending Technology,法国的Hesychastic ,美国的Pennsylvania 等。作为产品来开发的主要有Micro Drones,Dragonfly,Micropterous 等企业。这些团队与企业早在本世纪初期就已经着手于多旋翼无人机的研究开发,分别在06,07年前后研发出各自的新型机体,并在市场上开始了贩卖。日本也计划在明年将开发的6浆飞行器产业化,用于喷洒农药。中国国内对多旋翼无人机的开发起步较晚,

至今仍然远落后于欧美与日本。代表性的机构有南航、北航、国防科技大学、中南大学、吉林大学等。大多数的无人机科研机构至今仍然停留在理论探讨及模拟上。南航、北航等少数科研机构虽制作出了样机,但因缺乏多旋翼机控制上的核心技术与经验,无法得到满意的飞行性能,至今尚未有性能稳定的多旋翼无人机研制成功的报道。

随着科技的发展,无人机的应用领域已逐渐从军用过渡到民用,警用。低造价,高飞行性能的多旋翼无人机无疑会对这个过渡起到一个极大的推动作用。在气象勘测,灾情调查,环境保护等民用领域都有着很大的需求空间。各界人士已经提出了对多旋翼无人机的期待希望未来的几年,国内对多旋翼无人机的研发能够取得突破,研发出中国自己的高性能无人机。

1.3 本次设计的主要内容

本设计主要通过STM32微处理器采集3轴加速度传感器和3轴陀螺仪对飞行器的姿态进行检测,控制4个高速无刷电机带动旋翼旋转,实现飞行器的悬停、升降、前后左右移动,控制四轴飞行器方法是采取的姿态控制,该控制系统主要由2.4GHz 的NRF24l01无线发送模块,STM2微处理器,MPU6050陀螺仪,加速度计组成。通过无刷直流电机给四轴提供飞行动力。最后通过上位机,调节PID 参数,实现四轴飞行器飞行要求。

设计实现的主要功能:

(1) 通过加速度传感器识别飞行器倾斜状态并控制;

(2) 通过陀螺仪传感器识别飞行器的姿态并实现控制;

(3) 控制4个无刷电机实现飞行器运动;

(4) 通过2.4GHz NRF24l01无线通讯模块与上位机进行通讯接收命令。 2 四轴飞行器的硬件设计

2.1 四轴飞行器的飞行原理

四轴飞行器结构形式如图所示,由四个呈十字交叉的螺旋桨组成,电机1和电机3逆时针旋转的同时,电机2和电机4顺时针旋转。四轴飞行器在空间有六个自由度,可以分别沿X 、Y 、Z 轴做平移和旋转。

图2-1 四轴飞行器样图

通过调节各个电机的不同转速,可以使飞行器实现以下飞行状态:

2.1.1 垂直运动

如图(a )所示(沿Z 轴),垂直运动时四轴飞行器最简单也是最容易实现的控制状态。保持电机1、2、3、4的转速相同,它们产生的扭矩刚好可以相互平衡,四轴不会发生水平面内的旋转,逐渐增大电机的转速,当产飞行器产生的升力可以克服自身的重力,飞行器就可以实现垂直向上运动;当升力与重力相等时,飞行器实现悬停;降低飞机的转速,飞行器垂直向下运动,直至降落。

2.1.2 俯仰运动

在图(b )中,使电机1的转速上升,同时使电机3的转速下降,而电机2、电机4的转速保持不变。在这个过程中,电机1和电机3改变量应该大小相等。当电机1和电机3产生的不平衡扭矩达到一定的时候,飞行器将绕y 轴旋转(方向如图所示)。同理,当电机1的转速下降,电机3的转速上升,机身便绕y 轴向另一个方向旋转,实现飞行器的俯仰运动。

图2-2 四轴飞行器飞行动力原理

2.1.3滚转运动

滚转运动和俯仰运动原理相同,区别在于一个是沿Y 轴,一个是沿X 轴。效果如图c 所示。

2.1.4偏航运动

四轴飞行器的电机两个正转两个反转,当它们转速相同的扭矩为零。当四个电机转速不完全相同时,不平衡的反扭矩会引起四旋翼飞行器转动。如图d 所示,当电机1和电机3的转速上升,电机2和电机4的转速下降时,旋翼1和旋翼3对机身的反扭矩大于旋翼2和旋翼4对机身的反扭矩,机身便在多余反扭矩的作用下绕z 轴转动,实现飞行器的偏航运动,转向与电机1、电机3的转向相反。

图2-3 四轴飞行器飞行动力原理

2.1.5 前后运动

在图e 中,增加电机3转速,使拉力增大,相应减小电机1转速,使拉力减小,同时保持其它两个电机转速不变,反扭矩仍然要保持平衡。按图b 的理论,飞行器首先发生一定程度的倾斜,从而使旋翼拉力产生水平

分量,因此可以实现飞行器的前飞运动。向后飞行与向前飞行正好相反。当然在图b 图c 中,飞行器在产生俯仰、翻滚运动的同时也会产生沿x 、y 轴的水平运动。

图2-4 四轴飞行器飞行动力原理

2.1.6 倾向运动

由于四轴飞行器结构对称,倾向运动和前后运动只是方向不一样,原理完全相同,如图f 所示。

小结:主要讲四轴飞行器的运动原理,由于没有磁场传感器,偏航运动实现不了。

2.2 四轴飞行器的硬件设计思路

图2-5 四轴飞行器电气结构图

实现过程为:接通电源,打开上位机,使上位机和飞行控制器建立联系。MPU6050会把当前飞行器的姿态角和加速度反馈到上位机,它们之间用NRF24l01通信,通信频率为2.4G, 可以满足实时通信的要求。当你需要改变飞行器的飞行状态时,通过鼠标和键盘控制,改变飞行器各个电机的转速,这一过程是通过STM32芯片调节电机的占空比实现的。(PWM 调节)

2.2.1 姿态测量系统

四轴飞行器飞行器在某个时刻的状态由6个物理量来描述,包括在三维坐标中的3个位置量和沿3个轴的姿态量(即称为六自由度) 。传感器作为一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

(1)加速度传感器

加速度传感器用于测量机身相对于水平面的倾斜角度, 利用了地球万有引力,把重力加速度投影到X,Y,Z 轴上,测量出物体的姿势。

(2)陀螺仪

利用旋转物体的旋转轴所指的方向在不受外力影响时的不变性,测量外力对物体的影响。跟地球万有引力和地球南北极的磁力具有固定方向性不同,旋转物体的旋转轴方向是不确定的,因而角速度传感器只能用来测量位置改变,而无法像加速度传感器和地磁传感器那样,测量出物体的绝对角度和姿势。

2.2.2电机驱动模块

根据中心控制模块指令驱动各个电机到达指定转速,将电机的速度通过测速反馈装置反馈给控制器模块,利用闭环控制来控制电机的转速为预期值。从而实现四轴飞行器不同的飞行状态。

2.2.3主控制模块

中心控制模块即飞行控制系统的核心处理器作为整个系统的核心控制部分,主要负责采集传感器检测到的姿态角速率(俯仰角速率、横滚角速率) 、三轴的线加速度和航向信息并实时解算;根据检测到的飞行信息,结合既定的控制方案,计算输出控制量,转化为相应的PWM 信号经驱动电路

后驱动四个电机工作,保持四轴飞行器稳定飞行,通过无线通信模块与地面站进行数据的传输,实现接收控制命令改变飞行状态和下传飞行状态数据。

PWM脉冲控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。

2.2.4电机驱动模块

通过控制PWM 可以实现对加在两端实际等效电压的控制从而实现控制速度,PWM 占空比越高,等效电压就越高,占空比越低,等效电压就越低。

2.2.5无线通信模块

通过无线网络建立地面控制站和飞行器的通信链路。地面控制站向主控模块传输飞行和任务控制指令,同时中心控制模块发送飞行状态、任务状况等。

2.2.6电源模块

电源模块为机载控制系统、电机等提供电源。电池有镍氢电池和锂电池。锂电池的电流释放量C 系数普遍比镍氢电池大,而且比较恒定,因此选择锂电池。电池的选择主要看两个性能:一是容量,二是倍率。容量越大,飞行器的续航能力就越长。但容量越大的电池其重量就越重,因此容量选择既需要满足有一定的续航能力,且较轻。

本章小结:整体方案参考了网上很多四轴制作的案例,由于条件限制,设计使用的传感器只有最常见的加速度计和陀螺仪,因此整个设计方案并不够完善,还有许多需要改进的地方。

3 硬件设计

3.1 器件清单列表

F330机架、朗宇 angel系列无刷电机(4个)、30A 中特威AL 电调 (4个)、正反桨各两片、锂电池2200mah 一块、STM32芯片一片、MPU6050、NRF24l01收发模块。各个部分的连接如下图所示:

7

图3-1 四轴飞行器电气结构图

所有器件组合起来,构成如下的四轴飞行器:

图3-2 四轴飞行器电气实物图

3.2 模块的介绍

3.2.1上位机

上位机的主要作用是显示飞行器的飞行姿态和发出对飞行器的控制信 8

息。利用上位机,我们可以很方便的对飞行器就行PID 调节,可以实时改变飞机的参数。上位机还有波形显示,校准等基本功能。

图3-3 上位机操作界面

3.2.2 NRF24l01 收发模块

NRF24.L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM 频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块。NRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。

9

图3-4 NRF24l01管脚图

图3-5 NRF24l01电路原理图

无线模块的通信调试中过程中遇到了很多问题,首先是收发端的程序必须要配对使用,还要设置相同的波特率,无线模块才可以进行收发信息。这是设计过程中的一大难点。

3.2.3 MPU6050模块

MPU-6050整合了3轴陀螺仪、3轴加速器,并含可藉由第二个I 2C 端口连接其他厂牌之加速器、磁力传感器等外接传感器。

感测范围:MPU-6050的角速度全格感测范围为±250、±500、±1000与±2000°/sec (dps),可准确追踪快速与慢速动作,并且,用户可程式控制的加速器全格感测范围为±2g 、±4g ±8g 与±16g 。MPU-6050可在不同电压下工作,VDD 供电电压介为2.5V ±5%、3.0V ±5%或3.3V ±5%,逻辑

10

接口VVDIO 供电为1.8V ± 5%。MPU-6050的包装尺寸4x4x0.9mm(QFN),在业界是革命性的尺寸。其他的特征包含内建的温度感测器、包含在运作环境中仅有±1%变动的振荡器。

MPU6050是整个飞行器能够飞行的保证,就像是飞机的感官一般,时刻反应着飞行器的各种状态。然后通过stm32芯片的处理,输出信号去控制电机的转速,从而保证飞行器可以稳定飞行,并根据飞行要求调整自身。

图3-6 MPU6050 电路原理图

3.2.4 STM32芯片

飞行器的大脑,核心部件,信息的交换、处理中心。本次设计中使用的STM32具体型号是STM32F103VET6。

11

图3-7 STM32F103VET6 引脚图

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz ;基本型时钟频率为36MHz ,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K 到128K 的闪存,不同的是SRAM 的最大容量和外设接口的组合。时钟频率72MHz 时,从闪存执行代码,STM32功耗36mA ,是32位市场上功耗最低的产品,相当于0.5mA/MHz。

STM32F103xx 增强型系列使用高性能的ARM Cortex-M3 32位的RISC 内核,工作频率为72MHz ,内置高速存储器(高达128K 字节的闪存和20K 字节的SRAM) ,丰富的增强I/O端口和联接到两条APB 总线的外设。所有型号的器件都包含2个12位的ADC 、3个通用16位定时器和一个PWM 定时器,还包含标准和先进的通信接口:多达2个I2C 和S 、3个USART 、一个USB 和一个CAN 。

12

图3-8 最小系统电路

3.2.5 电调

电调全称电子调速器,英文electronic speed controller,简称ESC 。针对电机不同,可分为有刷电调和无刷电调。它根据控制信号调节电动机的转速。对于它们的连接,一般情况下是这样的:

(1) 电调的输入线与电池连接;

(2) 电调的输出线(有刷两根、无刷三根)与电机连接;

(3) 电调的信号线与接收机连接。

同时,电调可以输出一个5V 左右的稳压直流电源,可以直接为主控芯片供电,可以省掉一个稳压电路。信号线为接收机供电,接收机再为舵机等控制设备供电。

在本次设计中,使用的是无刷电调,输出线有三根,一根5V 的电源,一根地线,还有一根PWM 信号控制输出线。由于电调输出的5V 电压足够稳定,可以直接用来给飞控供电。

3.2.6 无刷电机

无刷直流电机由电动机主体和驱动器组成,是一种典型的机电一体化产品。结构上,无刷电机和有刷电机有相似之处,也有转子和定子,只不过和有刷电机的结构相反;有刷电机的转子是线圈绕组,和动力输出轴相连,定子是永磁磁钢;无刷电机的转子是永磁磁钢,连同外壳一起和输出轴相连,定子是绕组线圈,去掉了有刷电机用来交替变换电磁场的换向电 13

刷,故称之为无刷电机(Brushless motor)。

无刷电机简明运行原理:简单而言,依靠改变输入到无刷电机定子线圈上的电流波交变频率和波形,在绕组线圈周围形成一个绕电机几何轴心旋转的磁场,这个磁场驱动转子上的永磁磁钢转动,电机就转起来了,电机的性能和磁钢数量、磁钢磁通强度、电机输入电压大小等因素有关,更与无刷电机的控制性能有很大关系,因为输入的是直流电,电流需要电子调速器将其变成3相交流电,还需要从遥控器接收机那里接收控制信号,控制电机的转速,以满足模型使用需要。

无刷电机的优点:

(1) 无电刷、低干扰

(2) 噪音低,运转顺畅

(3) 寿命长,低维护成本

无刷电机KV 值定义为转速/V,意思为输入电压增加1伏特,无刷电机空转转速增加的转速值。从这个定义来看,我们能知道, 无刷电机电压的输入与电机空转转速是遵循严格的线性比例关系的。

本次设计中,无刷电机的KV 值为980,额定工作电压为11.1v 。当油门调到最大时,电机转速可达到每分钟两万多转,负载1kg 左右的东西飞行器依然可以正常飞行。由于电机的高转速,在调试过程中,要注意别被桨刮到。

4 控制部分

本设计只有两个传感器,只能测量四轴飞行器的PITCH 和ROLL 两个自由度,不能测量YAW 。程序控制的思路如下图所示:

14

图4-1 程序流程图

4.1 姿态控制系统功能

四轴飞行器是一个具有6 个自由度和4 个输入的欠驱动系统, 具有不稳定和强耦合等特点, 除了受自身机械结构和旋翼空气动力学影响外, 也很容易受到外界的干扰。无人机的姿态最终通过调节4 个电机的转速进行调整, 飞行控制系统通过各传感器获得无人机的姿态信息, 经过一定的控制算法解算出4个电机的转速, 通过I 2 C 接口发送给电机调速器( 简称电调) , 调整4 个电机的转速, 以实现对其姿态的控制。姿态控制是整个飞行控制的基础, 根据姿态控制子系统的数学模型, 姿态控制系统需要检测的状态有: 无人机在机体坐标系下3 个轴向的角速度、角度和相对地面的高度。飞控系统担负着传感器信息采集、控制算法解算及通信等各种任务, 是整个无人机的核心, 其主要功能有:

(1) 主控制器能快速获得各传感器的数据, 并对数据进行处理;

(2) 传感器实时检测无人机的状态, 包括姿态、位置、速度等信息;

(3) 主控制器能与PC 机进行数据交换;

(4) 系统能进行无线数据传输。

15

实现以上功能的模块式MPU6050和NRF24l01。

4.2 姿态解算

姿态矩阵的解算是惯导系统实时计算的核心,四元数法效率高、实时性好,因此该法应用最广泛。在飞行器六自由度动力学仿真中,由于质心运动和绕质心运动是相互耦合的,所以姿态解算方法也是影响动力学仿真性能的重要因素。无论是惯导计算还是动力学仿真计算,姿态解算的流程一般为:首先由惯性器件或姿态动力学积分得到飞行器相对于基准坐标系的角速度或角增量;然后采用不同的姿态解算方法对角速度或角增量进行积分,得到欧拉角或四元数信息;最后计算姿态矩阵。

这部分知识很深奥,花了几天时间也只了解了一些基本知识,只有先引用来做我的毕业设计。

4.3 PID控制

PID (比例(proportion )、积分(integration )、微分(differentiation ))控制器作为最早实用化的控制器已有近百年历史,现在仍然是应用最广泛的工业控制器。PID 控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。

PID 控制器由比例单元(P )、积分单元(I )和微分单元(D )组成。其输入e (t)与输出u (t)的关系为:

u(t)=kp[e(t)+1/TI∫e(t)dt+TD*de(t)/dt] .................(1) 式中积分的上下限分别是0和t ,因此它的传递函数为:

16

G(s)=U(s)/E(s)=kp[1+1/(TI*s)+TD*s].....................(2) 其中kp 为比例系数; TI为积分时间常数; TD为微分时间常数。

PID 控制器用途广、使用灵活,在使用中只需要设定三个参数(Kp , Ti和Td )即可。有些情况下去其中的一到两个单元,但比例单元必不可少。

PID 的参数比较容易整定,在本次设计中,我采用的PID 整定方法就是直接通过上位机改变PID 的参数。

图4-2 上位机PID 调节界面

通过改变上图中PITCH 和ROLL 框格中的PID 参数,然后通过无线发送模块写入飞控,就可以调节飞行器的状态。

不同的参数,会使飞行器有明显不同的飞行状态,在PITCH (187,5,4)和ROLL (187,5,4)的时候,飞行器可以实现悬停。但是外界的因素对飞行器的稳定有很大的影响,一点点改变就导致飞行器乱飞。系统控制的稳定度不高。

本章小结:调试部分是我本次设计中花费精力最多,主要是因为调试的难度很大,首先是通信问题,其次是四轴飞行器飞行特别不稳定,当PID 参数设置不当时,飞行器就会发散震荡,毫无规律的乱摆。后来,借鉴了其他人调节四轴飞行器的方法,用绳子把四轴飞行器固定,然后先调一个参数,观察运动情况,然后在慢慢增大或减小参数,让飞机能够脱离地面,同时只有小幅震荡。经过前前后后将近20天左右的调试,飞行器终于能够

平稳飞行,但必须有绳子固定住,而且飞行器还特别容易失控,所以俯仰运动和前后运动没有调试成功。调试过程中,也出现了很多问题,首先是飞行器的稳定度太低,导致失控,有次还把桨片折断了。自己前期的准备不够充分,没有在四轴飞行器上设计磁场传感器,这可能也是导致飞行不稳定的原因。总之,还有很多问题需要去完善,无论是硬件设计,还是控制调制部分。

结 语

通过这次的毕业设计,从前期的收集资料,购买材料,到后面的制作硬件,调试飞行器,历经了很多困难,最后我终于完成了我的设计。成功的制作出了四旋翼飞行器的模型,完成了通信调试以及飞行调试,虽然性能还不够完善,但在一定的条件下,可以实现飞行器的稳定飞行。整个过程中充满着辛酸和汗水,但我觉得这一切都是值得的,因为我终于把四年来学的知识应用到实践上,用自己所学解决设计过程中的问题,很有满足感。这次设计还有很多不足的地方,自己预先设想的功能也没有能够完全实现,飞行器的功能还不够强大,这都是我以后还要努力改进的地方。

致 谢

经过两个月左右的时间,终于完成了我的毕业设计和毕业论文,在此期间遇到了无数的困难,但在老师和同学的帮助下,我都一一克服了。尤其要感谢我的指导老师——胡文峰老师,他对我设计得精心指导,帮助我解决设计中的难题,同时,还给我提供了一些器件,使得我的设计能够如期完成。胡老师在我们写论文时给了我们精心的讲解,帮我们指出论文中出现的错误,在老师的无私帮助下,我们终于完成了论文。

由于知识水平有限,论文中难免有错误,还望多多指教。

参考文献

[1] 孟庆明. 自动控制原理. 北京:高等教育出版社,2008.174-184.

[2] 杨明志, 王敏. 四旋翼微型飞行器控制系统设计[J ]. 计算机测量与控制,

2008,6( 4) : 485-490.

[3] 郭晓鸿, 杨忠, 杨成顺. 一种基于STM32 的四旋翼飞行器控制器[J ].应用科

技,2011,38(7):35-40

[4] 刘 峰, 吕 强, 王国胜. 四轴飞行器姿态控制系统设计[J ].计算机测量与控

制,2 011,1 9(3):583-585

[5] 李 俊, 李运堂. 四旋翼飞行器的动力学建模及PID 控制[J ].辽宁工程技术大学 学报,2012,31(1):115-117

[6] 杨庆华, 宋召青. 四旋翼飞行器的建模控制与仿真[J]. 海军工程学院学报, 2009, 24(5): 499-502.

[7] 马敏, 吴海超. 基于四元数自补偿四旋翼飞行器姿态解算[J].制造业自动化, 2013,35(12):18-21.

[8] 张荣辉, 贾宏光, 陈 涛. 基于四元数法的捷联式惯性导航系统的姿态解算[J ].

光学精密工程,2008,16(10):1964-1969.

[9] 杨志菊, 袁 刚, 徐新林. 飞行器姿态解算方法及仿真研究[J ].辽宁工业大学学 报, 2010,30(5):307-309.

[10] 孟昕元, 陈 震. PID 调节的适用性[J ].河南机电高等专科学校学报, 2002,10(2):58-59.

附 件 一

主程序及初始化片段:

#include "stm32f10x.h"

#include "BSP/BSP.H"

#include "app/uart/uart1.h"

#include "app/rc/rc.h"

#define CLI() __set_PRIMASK(1)

#define SEI() __set_PRIMASK(0)

/********************************************************************/

void delay_us(uint32_t nCount)

{

nCount=12*nCount;

}

/********************************************************************/

void SYS_INIT(void)

{

for(; nCount != 0; nCount--); MCO_INIT(); //时钟输出初始化,供给NRF 的时钟 LED_INIT(); LED_FLASH(); Tim3_Init(500); Moto_Init(); //1000=1MS,500=0.5MS

Delay_ms_led(5000);

//Uart1_Init(500000);

Spi1_Init(); Nvic_Init(); //中断初始化 Nrf24l01_Init(MODEL_TX2,40);//主发送

IS // if(Nrf24l01_Check()) Uart1_Put_String("NRF24L01

OK !\r\n");//检测无线是否好

// else

Uart1_Put_String("NRF24L01 IS NOT OK !\r\n");

}

////////////////////////////////////////////////////////////ANOTech_taobao_com_I2C1_INIT(0xA6,400000,2,1,1,1,1); MPU6050_Init(); //Init_ACC_GYRO_PID(); //零偏加速度计 陀螺仪 PID 初始化 ADC1_Init();//电压检测初始化 /*保存数据,掉电不清楚*/ FLASH_Unlock(); EE_INIT(); EE_READ_ACC_OFFSET(); EE_READ_GYRO_OFFSET(); EE_READ_PID(); ////////////////////

int main(void)

{

SYS_INIT_OK=0; SYS_INIT(); SYS_INIT_OK=1; while (1) {

//LEDALL_ON;

Moto_PwmRflash(2200,2200,2200,2200);

LED1_OFF;*/

/* Delay_ms_led(500);

Moto_PwmRflash(2400,2400,2400,2400);

Delay_ms_led(1000);

Moto_PwmRflash(2600,2600,2600,2600);

Delay_ms_led(1500);

Moto_PwmRflash(2800,2800,2800,2800);*/

//

//

}

PID 调节程序片段:

#include "control.h"

#include "BSP/BSP.H"

#include "app/rc/rc.h"

#include "app/imu/imu.h"

PID PID_ROL,PID_PIT,PID_YAW;

u8 ARMED = 0;

float Get_MxMi(float num,float max,float min)

{

if(num>max) return max; } if(SYS_INIT_OK==1)Moto_PwmRflash(2200,2200,2200,2200); else ;

}

return min; else return num;

void CONTROL(float rol_now, float pit_now, float yaw_now, float rol_tar, float pit_tar, float yaw_tar)//rol_now、pit_now、yaw_now三个当前姿态角,rol_tar。。目标想要设定的姿态角

{

u16 moto1=0,moto2=0,moto3=0,moto4=0; vs16 throttle;//=1500 float rol = rol_tar + rol_now; float pit = pit_tar + pit_now; float yaw = yaw_tar + yaw_now; throttle = Rc_Get.THROTTLE - 1000;//throttle遥控油门, Rc_Get.THROTTLE:1000~2000

if(throttle

rol_now*rol_now300)//想象出来的数值参数,可调。rol_now单位角度

{ PID_ROL.iout += PID_ROL.I * rol; PID_PIT.iout += PID_PIT.I * pit; PID_ROL.iout = Get_MxMi(PID_ROL.iout,PID_ROL.IMAX,-PID_ROL.IMAX);

PID_PIT.iout = Get_MxMi(PID_PIT.iout,PID_PIT.IMAX,-PID_PIT.IMAX);

PID_PIT.dout = PID_PIT.D * MPU6050_GYRO_LAST.Y; PID_YAW.pout = PID_YAW.P * yaw;//水平方向控制 vs16 yaw_d; if(1480>Rc_Get.YAW || Rc_Get.YAW>1520)//遥控+-20的死区 {

= MPU6050_GYRO_LAST.Z

:遥控+ 的} else if(throttle

D;MPU6050_GYRO_LAST.Z陀螺仪的角速度

} else GYRO_I.Z = 0;

yaw_d = MPU6050_GYRO_LAST.Z; PID_YAW.dout = PID_YAW.D * yaw_d; PID_ROL.OUT = PID_ROL.pout + PID_ROL.iout + PID_ROL.dout; PID_PIT.OUT = PID_PIT.pout + PID_PIT.iout + PID_PIT.dout; PID_YAW.OUT = PID_YAW.pout + PID_YAW.iout + PID_YAW.dout; if(throttle>200) { moto1 = throttle - PID_ROL.OUT - PID_PIT.OUT + PID_YAW.OUT; //根据自己的硬件改变+—号

moto2 = throttle + PID_ROL.OUT - PID_PIT.OUT - PID_YAW.OUT; //根据自己的硬件改变+—号

moto3 = throttle + PID_ROL.OUT + PID_PIT.OUT + PID_YAW.OUT; //根据自己的硬件改变+—号

moto4 = throttle - PID_ROL.OUT + PID_PIT.OUT - PID_YAW.OUT; //根据自己的硬件改变+—号

} else { } if(ARMED) Moto_PwmRflash(moto1,moto2,moto3,moto4); else Moto_PwmRflash(0,0,0,0); moto1 = 0; moto2 = 0; moto3 = 0; moto4 = 0;

}

四旋翼自主飞行器设计

附 件 二

27

摘 要

查重32

四旋翼飞行器也称四轴飞行器,四轴飞行器是近几年来开始流行的一种小型飞行器,因其简单的构造,起飞降落相对于传统飞行器需要的空间小,以及四轴飞行器操作灵活,易于控制,飞行能力出色,可以用做航拍、侦查等工具,在以后的民用和军用领域将会有巨大的前景。目前,四轴飞行器的研究处于起步阶段,技术还不是很成熟,加上四轴飞行器具有不稳定行,非线性等特性,四轴的设计对于稳定性的要求就非常重要。本次设计中,需要实现四轴飞行器的垂直起飞和降落等设计要求,控制四轴飞行器方法是采取的姿态控制,该控制系统主要由2.4GHz 的NRF24l01无线发送模块,STM32微处理器,MPU6050陀螺仪,加速度计组成。通过无刷直流电机给四轴提供飞行动力。最后通过上位机,调节PID 参数,实现四轴飞行器飞行要求。

关键词:四轴飞行器;姿态控制;PID 调节

Abstract

Four-rotor aircraft, also known as Four aircraft, four aircraft in recent years become popular , because of its simple structure, taking off and landing aircraft with respect to the traditional small space required, and flexible Four aircraft operation, easy to control , the ability to fly well, can be used as aerial photography, and other investigative tools. In the future civilian and military fields will be a huge prospect. Currently, the research of axis aircraft in its infancy, is not very mature , coupled with an unstable aircraft axis line, nonlinear characteristics, four design requirements for stability is very important. In this design, the need to achieve four-axis vertical takeoff and landing aircraft such as the design requirements, the control method is to take the aircraft axis attitude control, the control system consists of a 2.4GHz wireless transmitter module nrf24l01, stm32 microprocessor, mpu6050 gyro instrument, accelerometers. Provide flight powered by a brushless DC motor to the axis. Finally, through the PC, adjust PID parameters to achieve Four aircraft flight requirements.

Key Words:four-rotor aircraft;attitude control;PID regulator

目 录

摘 要 ........................................................ I Abstract ...................................................... II

1 概述 ......................................................... 1

1.1研究背景 ................................................ 1

1.2 国内外现状 ............................................. 1

1.3 本次设计的主要内容 ..................................... 2

2 四轴飞行器的硬件设计 ......................................... 2

2.1 四轴飞行器的飞行原理 ................................... 2

2.1.1 垂直运动 .......................................... 3

2.1.2 俯仰运动 .......................................... 3

2.1.3滚转运动 .......................................... 4

2.1.4偏航运动 .......................................... 4

2.1.5 前后运动 .......................................... 4

2.2 四轴飞行器的硬件设计思路 ............................... 5

2.2.1 姿态测量系统 ...................................... 6

2.2.2电机驱动模块 ...................................... 6

2.2.3主控制模块 ........................................ 6

2.2.4电机驱动模块 ...................................... 7

2.2.5无线通信模块 ...................................... 7

2.2.6电源模块 .......................................... 7

3 硬件设计 ..................................................... 7

3.1 器件清单列表 ........................................... 7

3.2 模块的介绍 ............................................. 8

3.2.1上位机 ............................................ 8

3.2.2 NRF24l01 收发模块 ................................. 9

3.2.3 MPU6050模块 ..................................... 10

3.2.4 STM32芯片 ....................................... 11

3.2.5 电调 ............................................. 13

3.2.6 无刷电机 ......................................... 13

4 控制部分 .................................................... 14

4.1 姿态控制系统功能 ...................................... 15

4.2 姿态解算 .............................................. 16

4.3 PID控制 ............................................... 16

结 语 ....................................................... 18

致 谢 ....................................................... 19

参考文献 ...................................................... 20

附 件 一 ................................................... 21

附 件 二 .................................................... 27

1 概述

1.1研究背景

四旋翼飞行器也称四轴飞行器,简称四轴、四旋翼,是一种有4个螺旋桨且螺旋桨呈十字形交叉的飞行器。近几年随着微机电系统(MEMS )的兴起,各种微处理器性能的完善,四轴飞行器的发展十分迅猛。四轴飞行器利用有四个无刷电机来提供动力进行空中飞行,它的尺寸较小、重量较轻、可以携带一定的负载,有自己独特的应用,像航拍等。同时可以完成一些复杂、困难的任务。随着理论技术的日趋成熟,以及控制系统理论的完善,四轴飞行器性能也越来越强大,不久的将来,各种各样的四轴产品将会运用到社会生活的各个领域,军事领域、工业领域、生活领域,都将会看到四轴飞行器的身影。也许,科幻电影里的航空城不在是梦想,四轴飞行器可能就是我们常用的交通工具,就像现在的汽车一样。

四轴飞行器与传统飞行器相比有许多优势,像灵活性、机动性远远强于传统的飞行器。因为它的种种优点,研究四轴飞行器是必要的,在未来的航空领域中,四轴飞行器的地位举足轻重。

1.2 国内外现状

早在上个世纪中叶,多旋翼飞行器就已经受到了海外一些研究机构的瞩目。多旋翼飞行器虽然机械构造与飞行原理都很简单,但对传感器类与控制理论上的要求非常高, 所以一直到本世纪初期,MEMS 传感器技术及嵌入式控制系统科技的高速发展使得多旋翼无人机的研究终于得到了突破。特别是欧美的一些先进国家,在小型,超小型无人机研究领域中,多旋翼无人机已逐步取代直升机式无人机,成为旋翼无人机研究的主流。欧美据有代表性的科研团队有美国的MIT ,德国的Ascending Technology,法国的Hesychastic ,美国的Pennsylvania 等。作为产品来开发的主要有Micro Drones,Dragonfly,Micropterous 等企业。这些团队与企业早在本世纪初期就已经着手于多旋翼无人机的研究开发,分别在06,07年前后研发出各自的新型机体,并在市场上开始了贩卖。日本也计划在明年将开发的6浆飞行器产业化,用于喷洒农药。中国国内对多旋翼无人机的开发起步较晚,

至今仍然远落后于欧美与日本。代表性的机构有南航、北航、国防科技大学、中南大学、吉林大学等。大多数的无人机科研机构至今仍然停留在理论探讨及模拟上。南航、北航等少数科研机构虽制作出了样机,但因缺乏多旋翼机控制上的核心技术与经验,无法得到满意的飞行性能,至今尚未有性能稳定的多旋翼无人机研制成功的报道。

随着科技的发展,无人机的应用领域已逐渐从军用过渡到民用,警用。低造价,高飞行性能的多旋翼无人机无疑会对这个过渡起到一个极大的推动作用。在气象勘测,灾情调查,环境保护等民用领域都有着很大的需求空间。各界人士已经提出了对多旋翼无人机的期待希望未来的几年,国内对多旋翼无人机的研发能够取得突破,研发出中国自己的高性能无人机。

1.3 本次设计的主要内容

本设计主要通过STM32微处理器采集3轴加速度传感器和3轴陀螺仪对飞行器的姿态进行检测,控制4个高速无刷电机带动旋翼旋转,实现飞行器的悬停、升降、前后左右移动,控制四轴飞行器方法是采取的姿态控制,该控制系统主要由2.4GHz 的NRF24l01无线发送模块,STM2微处理器,MPU6050陀螺仪,加速度计组成。通过无刷直流电机给四轴提供飞行动力。最后通过上位机,调节PID 参数,实现四轴飞行器飞行要求。

设计实现的主要功能:

(1) 通过加速度传感器识别飞行器倾斜状态并控制;

(2) 通过陀螺仪传感器识别飞行器的姿态并实现控制;

(3) 控制4个无刷电机实现飞行器运动;

(4) 通过2.4GHz NRF24l01无线通讯模块与上位机进行通讯接收命令。 2 四轴飞行器的硬件设计

2.1 四轴飞行器的飞行原理

四轴飞行器结构形式如图所示,由四个呈十字交叉的螺旋桨组成,电机1和电机3逆时针旋转的同时,电机2和电机4顺时针旋转。四轴飞行器在空间有六个自由度,可以分别沿X 、Y 、Z 轴做平移和旋转。

图2-1 四轴飞行器样图

通过调节各个电机的不同转速,可以使飞行器实现以下飞行状态:

2.1.1 垂直运动

如图(a )所示(沿Z 轴),垂直运动时四轴飞行器最简单也是最容易实现的控制状态。保持电机1、2、3、4的转速相同,它们产生的扭矩刚好可以相互平衡,四轴不会发生水平面内的旋转,逐渐增大电机的转速,当产飞行器产生的升力可以克服自身的重力,飞行器就可以实现垂直向上运动;当升力与重力相等时,飞行器实现悬停;降低飞机的转速,飞行器垂直向下运动,直至降落。

2.1.2 俯仰运动

在图(b )中,使电机1的转速上升,同时使电机3的转速下降,而电机2、电机4的转速保持不变。在这个过程中,电机1和电机3改变量应该大小相等。当电机1和电机3产生的不平衡扭矩达到一定的时候,飞行器将绕y 轴旋转(方向如图所示)。同理,当电机1的转速下降,电机3的转速上升,机身便绕y 轴向另一个方向旋转,实现飞行器的俯仰运动。

图2-2 四轴飞行器飞行动力原理

2.1.3滚转运动

滚转运动和俯仰运动原理相同,区别在于一个是沿Y 轴,一个是沿X 轴。效果如图c 所示。

2.1.4偏航运动

四轴飞行器的电机两个正转两个反转,当它们转速相同的扭矩为零。当四个电机转速不完全相同时,不平衡的反扭矩会引起四旋翼飞行器转动。如图d 所示,当电机1和电机3的转速上升,电机2和电机4的转速下降时,旋翼1和旋翼3对机身的反扭矩大于旋翼2和旋翼4对机身的反扭矩,机身便在多余反扭矩的作用下绕z 轴转动,实现飞行器的偏航运动,转向与电机1、电机3的转向相反。

图2-3 四轴飞行器飞行动力原理

2.1.5 前后运动

在图e 中,增加电机3转速,使拉力增大,相应减小电机1转速,使拉力减小,同时保持其它两个电机转速不变,反扭矩仍然要保持平衡。按图b 的理论,飞行器首先发生一定程度的倾斜,从而使旋翼拉力产生水平

分量,因此可以实现飞行器的前飞运动。向后飞行与向前飞行正好相反。当然在图b 图c 中,飞行器在产生俯仰、翻滚运动的同时也会产生沿x 、y 轴的水平运动。

图2-4 四轴飞行器飞行动力原理

2.1.6 倾向运动

由于四轴飞行器结构对称,倾向运动和前后运动只是方向不一样,原理完全相同,如图f 所示。

小结:主要讲四轴飞行器的运动原理,由于没有磁场传感器,偏航运动实现不了。

2.2 四轴飞行器的硬件设计思路

图2-5 四轴飞行器电气结构图

实现过程为:接通电源,打开上位机,使上位机和飞行控制器建立联系。MPU6050会把当前飞行器的姿态角和加速度反馈到上位机,它们之间用NRF24l01通信,通信频率为2.4G, 可以满足实时通信的要求。当你需要改变飞行器的飞行状态时,通过鼠标和键盘控制,改变飞行器各个电机的转速,这一过程是通过STM32芯片调节电机的占空比实现的。(PWM 调节)

2.2.1 姿态测量系统

四轴飞行器飞行器在某个时刻的状态由6个物理量来描述,包括在三维坐标中的3个位置量和沿3个轴的姿态量(即称为六自由度) 。传感器作为一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

(1)加速度传感器

加速度传感器用于测量机身相对于水平面的倾斜角度, 利用了地球万有引力,把重力加速度投影到X,Y,Z 轴上,测量出物体的姿势。

(2)陀螺仪

利用旋转物体的旋转轴所指的方向在不受外力影响时的不变性,测量外力对物体的影响。跟地球万有引力和地球南北极的磁力具有固定方向性不同,旋转物体的旋转轴方向是不确定的,因而角速度传感器只能用来测量位置改变,而无法像加速度传感器和地磁传感器那样,测量出物体的绝对角度和姿势。

2.2.2电机驱动模块

根据中心控制模块指令驱动各个电机到达指定转速,将电机的速度通过测速反馈装置反馈给控制器模块,利用闭环控制来控制电机的转速为预期值。从而实现四轴飞行器不同的飞行状态。

2.2.3主控制模块

中心控制模块即飞行控制系统的核心处理器作为整个系统的核心控制部分,主要负责采集传感器检测到的姿态角速率(俯仰角速率、横滚角速率) 、三轴的线加速度和航向信息并实时解算;根据检测到的飞行信息,结合既定的控制方案,计算输出控制量,转化为相应的PWM 信号经驱动电路

后驱动四个电机工作,保持四轴飞行器稳定飞行,通过无线通信模块与地面站进行数据的传输,实现接收控制命令改变飞行状态和下传飞行状态数据。

PWM脉冲控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。

2.2.4电机驱动模块

通过控制PWM 可以实现对加在两端实际等效电压的控制从而实现控制速度,PWM 占空比越高,等效电压就越高,占空比越低,等效电压就越低。

2.2.5无线通信模块

通过无线网络建立地面控制站和飞行器的通信链路。地面控制站向主控模块传输飞行和任务控制指令,同时中心控制模块发送飞行状态、任务状况等。

2.2.6电源模块

电源模块为机载控制系统、电机等提供电源。电池有镍氢电池和锂电池。锂电池的电流释放量C 系数普遍比镍氢电池大,而且比较恒定,因此选择锂电池。电池的选择主要看两个性能:一是容量,二是倍率。容量越大,飞行器的续航能力就越长。但容量越大的电池其重量就越重,因此容量选择既需要满足有一定的续航能力,且较轻。

本章小结:整体方案参考了网上很多四轴制作的案例,由于条件限制,设计使用的传感器只有最常见的加速度计和陀螺仪,因此整个设计方案并不够完善,还有许多需要改进的地方。

3 硬件设计

3.1 器件清单列表

F330机架、朗宇 angel系列无刷电机(4个)、30A 中特威AL 电调 (4个)、正反桨各两片、锂电池2200mah 一块、STM32芯片一片、MPU6050、NRF24l01收发模块。各个部分的连接如下图所示:

7

图3-1 四轴飞行器电气结构图

所有器件组合起来,构成如下的四轴飞行器:

图3-2 四轴飞行器电气实物图

3.2 模块的介绍

3.2.1上位机

上位机的主要作用是显示飞行器的飞行姿态和发出对飞行器的控制信 8

息。利用上位机,我们可以很方便的对飞行器就行PID 调节,可以实时改变飞机的参数。上位机还有波形显示,校准等基本功能。

图3-3 上位机操作界面

3.2.2 NRF24l01 收发模块

NRF24.L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM 频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块。NRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。

9

图3-4 NRF24l01管脚图

图3-5 NRF24l01电路原理图

无线模块的通信调试中过程中遇到了很多问题,首先是收发端的程序必须要配对使用,还要设置相同的波特率,无线模块才可以进行收发信息。这是设计过程中的一大难点。

3.2.3 MPU6050模块

MPU-6050整合了3轴陀螺仪、3轴加速器,并含可藉由第二个I 2C 端口连接其他厂牌之加速器、磁力传感器等外接传感器。

感测范围:MPU-6050的角速度全格感测范围为±250、±500、±1000与±2000°/sec (dps),可准确追踪快速与慢速动作,并且,用户可程式控制的加速器全格感测范围为±2g 、±4g ±8g 与±16g 。MPU-6050可在不同电压下工作,VDD 供电电压介为2.5V ±5%、3.0V ±5%或3.3V ±5%,逻辑

10

接口VVDIO 供电为1.8V ± 5%。MPU-6050的包装尺寸4x4x0.9mm(QFN),在业界是革命性的尺寸。其他的特征包含内建的温度感测器、包含在运作环境中仅有±1%变动的振荡器。

MPU6050是整个飞行器能够飞行的保证,就像是飞机的感官一般,时刻反应着飞行器的各种状态。然后通过stm32芯片的处理,输出信号去控制电机的转速,从而保证飞行器可以稳定飞行,并根据飞行要求调整自身。

图3-6 MPU6050 电路原理图

3.2.4 STM32芯片

飞行器的大脑,核心部件,信息的交换、处理中心。本次设计中使用的STM32具体型号是STM32F103VET6。

11

图3-7 STM32F103VET6 引脚图

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz ;基本型时钟频率为36MHz ,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K 到128K 的闪存,不同的是SRAM 的最大容量和外设接口的组合。时钟频率72MHz 时,从闪存执行代码,STM32功耗36mA ,是32位市场上功耗最低的产品,相当于0.5mA/MHz。

STM32F103xx 增强型系列使用高性能的ARM Cortex-M3 32位的RISC 内核,工作频率为72MHz ,内置高速存储器(高达128K 字节的闪存和20K 字节的SRAM) ,丰富的增强I/O端口和联接到两条APB 总线的外设。所有型号的器件都包含2个12位的ADC 、3个通用16位定时器和一个PWM 定时器,还包含标准和先进的通信接口:多达2个I2C 和S 、3个USART 、一个USB 和一个CAN 。

12

图3-8 最小系统电路

3.2.5 电调

电调全称电子调速器,英文electronic speed controller,简称ESC 。针对电机不同,可分为有刷电调和无刷电调。它根据控制信号调节电动机的转速。对于它们的连接,一般情况下是这样的:

(1) 电调的输入线与电池连接;

(2) 电调的输出线(有刷两根、无刷三根)与电机连接;

(3) 电调的信号线与接收机连接。

同时,电调可以输出一个5V 左右的稳压直流电源,可以直接为主控芯片供电,可以省掉一个稳压电路。信号线为接收机供电,接收机再为舵机等控制设备供电。

在本次设计中,使用的是无刷电调,输出线有三根,一根5V 的电源,一根地线,还有一根PWM 信号控制输出线。由于电调输出的5V 电压足够稳定,可以直接用来给飞控供电。

3.2.6 无刷电机

无刷直流电机由电动机主体和驱动器组成,是一种典型的机电一体化产品。结构上,无刷电机和有刷电机有相似之处,也有转子和定子,只不过和有刷电机的结构相反;有刷电机的转子是线圈绕组,和动力输出轴相连,定子是永磁磁钢;无刷电机的转子是永磁磁钢,连同外壳一起和输出轴相连,定子是绕组线圈,去掉了有刷电机用来交替变换电磁场的换向电 13

刷,故称之为无刷电机(Brushless motor)。

无刷电机简明运行原理:简单而言,依靠改变输入到无刷电机定子线圈上的电流波交变频率和波形,在绕组线圈周围形成一个绕电机几何轴心旋转的磁场,这个磁场驱动转子上的永磁磁钢转动,电机就转起来了,电机的性能和磁钢数量、磁钢磁通强度、电机输入电压大小等因素有关,更与无刷电机的控制性能有很大关系,因为输入的是直流电,电流需要电子调速器将其变成3相交流电,还需要从遥控器接收机那里接收控制信号,控制电机的转速,以满足模型使用需要。

无刷电机的优点:

(1) 无电刷、低干扰

(2) 噪音低,运转顺畅

(3) 寿命长,低维护成本

无刷电机KV 值定义为转速/V,意思为输入电压增加1伏特,无刷电机空转转速增加的转速值。从这个定义来看,我们能知道, 无刷电机电压的输入与电机空转转速是遵循严格的线性比例关系的。

本次设计中,无刷电机的KV 值为980,额定工作电压为11.1v 。当油门调到最大时,电机转速可达到每分钟两万多转,负载1kg 左右的东西飞行器依然可以正常飞行。由于电机的高转速,在调试过程中,要注意别被桨刮到。

4 控制部分

本设计只有两个传感器,只能测量四轴飞行器的PITCH 和ROLL 两个自由度,不能测量YAW 。程序控制的思路如下图所示:

14

图4-1 程序流程图

4.1 姿态控制系统功能

四轴飞行器是一个具有6 个自由度和4 个输入的欠驱动系统, 具有不稳定和强耦合等特点, 除了受自身机械结构和旋翼空气动力学影响外, 也很容易受到外界的干扰。无人机的姿态最终通过调节4 个电机的转速进行调整, 飞行控制系统通过各传感器获得无人机的姿态信息, 经过一定的控制算法解算出4个电机的转速, 通过I 2 C 接口发送给电机调速器( 简称电调) , 调整4 个电机的转速, 以实现对其姿态的控制。姿态控制是整个飞行控制的基础, 根据姿态控制子系统的数学模型, 姿态控制系统需要检测的状态有: 无人机在机体坐标系下3 个轴向的角速度、角度和相对地面的高度。飞控系统担负着传感器信息采集、控制算法解算及通信等各种任务, 是整个无人机的核心, 其主要功能有:

(1) 主控制器能快速获得各传感器的数据, 并对数据进行处理;

(2) 传感器实时检测无人机的状态, 包括姿态、位置、速度等信息;

(3) 主控制器能与PC 机进行数据交换;

(4) 系统能进行无线数据传输。

15

实现以上功能的模块式MPU6050和NRF24l01。

4.2 姿态解算

姿态矩阵的解算是惯导系统实时计算的核心,四元数法效率高、实时性好,因此该法应用最广泛。在飞行器六自由度动力学仿真中,由于质心运动和绕质心运动是相互耦合的,所以姿态解算方法也是影响动力学仿真性能的重要因素。无论是惯导计算还是动力学仿真计算,姿态解算的流程一般为:首先由惯性器件或姿态动力学积分得到飞行器相对于基准坐标系的角速度或角增量;然后采用不同的姿态解算方法对角速度或角增量进行积分,得到欧拉角或四元数信息;最后计算姿态矩阵。

这部分知识很深奥,花了几天时间也只了解了一些基本知识,只有先引用来做我的毕业设计。

4.3 PID控制

PID (比例(proportion )、积分(integration )、微分(differentiation ))控制器作为最早实用化的控制器已有近百年历史,现在仍然是应用最广泛的工业控制器。PID 控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。

PID 控制器由比例单元(P )、积分单元(I )和微分单元(D )组成。其输入e (t)与输出u (t)的关系为:

u(t)=kp[e(t)+1/TI∫e(t)dt+TD*de(t)/dt] .................(1) 式中积分的上下限分别是0和t ,因此它的传递函数为:

16

G(s)=U(s)/E(s)=kp[1+1/(TI*s)+TD*s].....................(2) 其中kp 为比例系数; TI为积分时间常数; TD为微分时间常数。

PID 控制器用途广、使用灵活,在使用中只需要设定三个参数(Kp , Ti和Td )即可。有些情况下去其中的一到两个单元,但比例单元必不可少。

PID 的参数比较容易整定,在本次设计中,我采用的PID 整定方法就是直接通过上位机改变PID 的参数。

图4-2 上位机PID 调节界面

通过改变上图中PITCH 和ROLL 框格中的PID 参数,然后通过无线发送模块写入飞控,就可以调节飞行器的状态。

不同的参数,会使飞行器有明显不同的飞行状态,在PITCH (187,5,4)和ROLL (187,5,4)的时候,飞行器可以实现悬停。但是外界的因素对飞行器的稳定有很大的影响,一点点改变就导致飞行器乱飞。系统控制的稳定度不高。

本章小结:调试部分是我本次设计中花费精力最多,主要是因为调试的难度很大,首先是通信问题,其次是四轴飞行器飞行特别不稳定,当PID 参数设置不当时,飞行器就会发散震荡,毫无规律的乱摆。后来,借鉴了其他人调节四轴飞行器的方法,用绳子把四轴飞行器固定,然后先调一个参数,观察运动情况,然后在慢慢增大或减小参数,让飞机能够脱离地面,同时只有小幅震荡。经过前前后后将近20天左右的调试,飞行器终于能够

平稳飞行,但必须有绳子固定住,而且飞行器还特别容易失控,所以俯仰运动和前后运动没有调试成功。调试过程中,也出现了很多问题,首先是飞行器的稳定度太低,导致失控,有次还把桨片折断了。自己前期的准备不够充分,没有在四轴飞行器上设计磁场传感器,这可能也是导致飞行不稳定的原因。总之,还有很多问题需要去完善,无论是硬件设计,还是控制调制部分。

结 语

通过这次的毕业设计,从前期的收集资料,购买材料,到后面的制作硬件,调试飞行器,历经了很多困难,最后我终于完成了我的设计。成功的制作出了四旋翼飞行器的模型,完成了通信调试以及飞行调试,虽然性能还不够完善,但在一定的条件下,可以实现飞行器的稳定飞行。整个过程中充满着辛酸和汗水,但我觉得这一切都是值得的,因为我终于把四年来学的知识应用到实践上,用自己所学解决设计过程中的问题,很有满足感。这次设计还有很多不足的地方,自己预先设想的功能也没有能够完全实现,飞行器的功能还不够强大,这都是我以后还要努力改进的地方。

致 谢

经过两个月左右的时间,终于完成了我的毕业设计和毕业论文,在此期间遇到了无数的困难,但在老师和同学的帮助下,我都一一克服了。尤其要感谢我的指导老师——胡文峰老师,他对我设计得精心指导,帮助我解决设计中的难题,同时,还给我提供了一些器件,使得我的设计能够如期完成。胡老师在我们写论文时给了我们精心的讲解,帮我们指出论文中出现的错误,在老师的无私帮助下,我们终于完成了论文。

由于知识水平有限,论文中难免有错误,还望多多指教。

参考文献

[1] 孟庆明. 自动控制原理. 北京:高等教育出版社,2008.174-184.

[2] 杨明志, 王敏. 四旋翼微型飞行器控制系统设计[J ]. 计算机测量与控制,

2008,6( 4) : 485-490.

[3] 郭晓鸿, 杨忠, 杨成顺. 一种基于STM32 的四旋翼飞行器控制器[J ].应用科

技,2011,38(7):35-40

[4] 刘 峰, 吕 强, 王国胜. 四轴飞行器姿态控制系统设计[J ].计算机测量与控

制,2 011,1 9(3):583-585

[5] 李 俊, 李运堂. 四旋翼飞行器的动力学建模及PID 控制[J ].辽宁工程技术大学 学报,2012,31(1):115-117

[6] 杨庆华, 宋召青. 四旋翼飞行器的建模控制与仿真[J]. 海军工程学院学报, 2009, 24(5): 499-502.

[7] 马敏, 吴海超. 基于四元数自补偿四旋翼飞行器姿态解算[J].制造业自动化, 2013,35(12):18-21.

[8] 张荣辉, 贾宏光, 陈 涛. 基于四元数法的捷联式惯性导航系统的姿态解算[J ].

光学精密工程,2008,16(10):1964-1969.

[9] 杨志菊, 袁 刚, 徐新林. 飞行器姿态解算方法及仿真研究[J ].辽宁工业大学学 报, 2010,30(5):307-309.

[10] 孟昕元, 陈 震. PID 调节的适用性[J ].河南机电高等专科学校学报, 2002,10(2):58-59.

附 件 一

主程序及初始化片段:

#include "stm32f10x.h"

#include "BSP/BSP.H"

#include "app/uart/uart1.h"

#include "app/rc/rc.h"

#define CLI() __set_PRIMASK(1)

#define SEI() __set_PRIMASK(0)

/********************************************************************/

void delay_us(uint32_t nCount)

{

nCount=12*nCount;

}

/********************************************************************/

void SYS_INIT(void)

{

for(; nCount != 0; nCount--); MCO_INIT(); //时钟输出初始化,供给NRF 的时钟 LED_INIT(); LED_FLASH(); Tim3_Init(500); Moto_Init(); //1000=1MS,500=0.5MS

Delay_ms_led(5000);

//Uart1_Init(500000);

Spi1_Init(); Nvic_Init(); //中断初始化 Nrf24l01_Init(MODEL_TX2,40);//主发送

IS // if(Nrf24l01_Check()) Uart1_Put_String("NRF24L01

OK !\r\n");//检测无线是否好

// else

Uart1_Put_String("NRF24L01 IS NOT OK !\r\n");

}

////////////////////////////////////////////////////////////ANOTech_taobao_com_I2C1_INIT(0xA6,400000,2,1,1,1,1); MPU6050_Init(); //Init_ACC_GYRO_PID(); //零偏加速度计 陀螺仪 PID 初始化 ADC1_Init();//电压检测初始化 /*保存数据,掉电不清楚*/ FLASH_Unlock(); EE_INIT(); EE_READ_ACC_OFFSET(); EE_READ_GYRO_OFFSET(); EE_READ_PID(); ////////////////////

int main(void)

{

SYS_INIT_OK=0; SYS_INIT(); SYS_INIT_OK=1; while (1) {

//LEDALL_ON;

Moto_PwmRflash(2200,2200,2200,2200);

LED1_OFF;*/

/* Delay_ms_led(500);

Moto_PwmRflash(2400,2400,2400,2400);

Delay_ms_led(1000);

Moto_PwmRflash(2600,2600,2600,2600);

Delay_ms_led(1500);

Moto_PwmRflash(2800,2800,2800,2800);*/

//

//

}

PID 调节程序片段:

#include "control.h"

#include "BSP/BSP.H"

#include "app/rc/rc.h"

#include "app/imu/imu.h"

PID PID_ROL,PID_PIT,PID_YAW;

u8 ARMED = 0;

float Get_MxMi(float num,float max,float min)

{

if(num>max) return max; } if(SYS_INIT_OK==1)Moto_PwmRflash(2200,2200,2200,2200); else ;

}

return min; else return num;

void CONTROL(float rol_now, float pit_now, float yaw_now, float rol_tar, float pit_tar, float yaw_tar)//rol_now、pit_now、yaw_now三个当前姿态角,rol_tar。。目标想要设定的姿态角

{

u16 moto1=0,moto2=0,moto3=0,moto4=0; vs16 throttle;//=1500 float rol = rol_tar + rol_now; float pit = pit_tar + pit_now; float yaw = yaw_tar + yaw_now; throttle = Rc_Get.THROTTLE - 1000;//throttle遥控油门, Rc_Get.THROTTLE:1000~2000

if(throttle

rol_now*rol_now300)//想象出来的数值参数,可调。rol_now单位角度

{ PID_ROL.iout += PID_ROL.I * rol; PID_PIT.iout += PID_PIT.I * pit; PID_ROL.iout = Get_MxMi(PID_ROL.iout,PID_ROL.IMAX,-PID_ROL.IMAX);

PID_PIT.iout = Get_MxMi(PID_PIT.iout,PID_PIT.IMAX,-PID_PIT.IMAX);

PID_PIT.dout = PID_PIT.D * MPU6050_GYRO_LAST.Y; PID_YAW.pout = PID_YAW.P * yaw;//水平方向控制 vs16 yaw_d; if(1480>Rc_Get.YAW || Rc_Get.YAW>1520)//遥控+-20的死区 {

= MPU6050_GYRO_LAST.Z

:遥控+ 的} else if(throttle

D;MPU6050_GYRO_LAST.Z陀螺仪的角速度

} else GYRO_I.Z = 0;

yaw_d = MPU6050_GYRO_LAST.Z; PID_YAW.dout = PID_YAW.D * yaw_d; PID_ROL.OUT = PID_ROL.pout + PID_ROL.iout + PID_ROL.dout; PID_PIT.OUT = PID_PIT.pout + PID_PIT.iout + PID_PIT.dout; PID_YAW.OUT = PID_YAW.pout + PID_YAW.iout + PID_YAW.dout; if(throttle>200) { moto1 = throttle - PID_ROL.OUT - PID_PIT.OUT + PID_YAW.OUT; //根据自己的硬件改变+—号

moto2 = throttle + PID_ROL.OUT - PID_PIT.OUT - PID_YAW.OUT; //根据自己的硬件改变+—号

moto3 = throttle + PID_ROL.OUT + PID_PIT.OUT + PID_YAW.OUT; //根据自己的硬件改变+—号

moto4 = throttle - PID_ROL.OUT + PID_PIT.OUT - PID_YAW.OUT; //根据自己的硬件改变+—号

} else { } if(ARMED) Moto_PwmRflash(moto1,moto2,moto3,moto4); else Moto_PwmRflash(0,0,0,0); moto1 = 0; moto2 = 0; moto3 = 0; moto4 = 0;

}

四旋翼自主飞行器设计

附 件 二

27


相关文章

  • 多旋翼自主飞行器报告(C题)
  • 选题编号: C题 全国大学生电子设计竞赛 设计报告 选题名称:多旋翼自主飞行器 主办单位:辽宁省教育厅 比赛时间:201*年*月*日08时起 201*年*月*日20时止 摘要 多旋翼飞行器也称为多旋翼直升机,是一种有多个螺旋桨的飞行器.本设 ...查看


  • 四旋翼飞行器的设计
  • 第32卷第3期 201 实验室研究与探索 J{ESEARCHANDEXPLORATIONINLABORATOR. V01.32Mar No.3 3'{:3月2013 四旋翼飞行器的设计 陈海滨, 殳国华 (上海交通大学电子信息与电气工程学院 ...查看


  • 多旋翼无人机研究现状与发展趋势探讨
  • 第32卷第8期(下) 2016年8月赤峰学院学报(自然科学版)JournalofChifengUniversity(NaturalScienceEdition)Vol.32No.8 Aug.2016 多旋翼无人机研究现状与发展趋势探讨 代 ...查看


  • 2013电子设计大赛四旋翼自主飞行器_(B_题)
  • 2013 年全国大学生电子设计竞赛论文 [本科组] 课题:四旋翼自主飞行器 (B 题) 1 摘要 为了满足四旋翼飞行器的设计要求, 设计了以微控制器为核心的控制系统 和算法.首先进行了各单元电路方案的比较论证,确定了硬件设计方案.四旋翼 飞 ...查看


  • 输电线路智能巡线机器人项目可行性研究报告
  • 输电线路智能巡线机器人项目 可行性研究报告 1. 目的和意义 电能传输必须依靠高压输电线路.由于输电线路分布点多面广,所处地形复杂,自然环境恶劣,电力线及杆塔附件长期暴露在野外,因受到持续的机械张力.电气闪络.材料老化的影响而产生断股.磨损 ...查看


  • "飞行汽车"
  • 美军历来重视无人驾驶飞行器研发和运用,先后推出十余种军用无人机投入战场前沿部署,成为世界公认的无人系统大国.同时,美军对于新型无人驾驶飞行器的研发探索也从未停止,"飞行汽车"就是要把直升机的空运作战能力与战术车辆的全地形 ...查看


  • 卡―50鲜为人知的故事
  • 2000年11月初,经俄罗斯普京总统特批,俄罗斯战斗直升机卡-50首次在中国珠海国际航展上展出,并进行了精彩的飞行表演,使国人大饱眼福.这是卡-50直升机自诞生以来首次在亚洲露面,格外引人注目. 我们从珠海国际航展上获得了有关卡-50直升机 ...查看


  • 自动化专业概论
  • 浅谈自动化专业 姓名:丁一林 学号:[1**********] 一. "四旋翼飞行器"与自动化专业课程培养体系 四旋翼飞行器也称为四旋翼直升机,是指拥有四个动力组旋翼,通过不同方向旋转而进行完成飞行.悬停.转向等动作的飞 ...查看


  • 四旋翼飞行器的动力学建模及PID控制
  • 第31卷第1期 V01.31 No.1 辽宁工程技术大学学报(自然科学版) JournalofLiaoningTechnicalUniversity(NaturalScience) 2012年2月 Feb. 2012 文章编号:1008-0 ...查看


热门内容