《毕业设计(论文)-四旋翼无人机无刷直流电机调速系统设计(27页).docx》由会员分享,可在线阅读,更多相关《毕业设计(论文)-四旋翼无人机无刷直流电机调速系统设计(27页).docx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-毕业设计(论文)-四旋翼无人机无刷直流电机调速系统设计-第 20 页学校代码: 10128学 号:201 本科毕业设计说明书题 目:四旋翼飞行器无刷直流调速系统设计学生姓名:学 院:机械学院系 别:专 业:班 级:指导教师: 讲师二 一 年 六 月摘 要最近这些年来,四轴飞行机在国家建设中发挥了越来越重要的作用。所以对于四轴飞行机的学习与设计有着至关重要的作用。四轴飞行机它的硬件这部分选取了STC15W4K48S4型号的单片机作为其控制的芯片,它的保密性能很强,而且具有很强的抵抗干扰的能力,并且其能耗较低,下载程序是经由串行口下载,方便快捷,其本身内部的储存器更方便程序的暂存。采用MPU60
2、50做陀螺仪加速度计,MPU6050陀螺仪测量范围宽,测量精度高,做四轴飞行机的陀螺仪是再好不过的选择。采用NRF24L01蓝牙2.4GHZ直插模块,本次选取的蓝牙模块功耗低,通信能力强。在研究四旋翼无人飞行器的结构与原理的设计中,我们通过牛顿力学还有刚体力学的结论这两个理论才建立了四旋翼无人飞行器它的数学模型,这样得设计就能够很有效的提升系统的性能。在通过四旋翼无人机的姿态的解算中,通过PID算法,解算欧拉角与四元素的数据,从而使飞行器飞行更加平稳,也可对其轨道进行规划,这样便可以实现自主飞行,而PID算法的可靠性与稳定性强。本次设计我们通过编写代码设计PID算法来实现对四旋翼无人飞行器软件
3、的控制,从而可以实现各模块间的相互分工与合作。 关键字:四旋翼无人飞行器;硬件设计;PID;欧拉角;飞行姿态AbstractThe four rotor unmanned aerial vehicle (UAVs) has been playing an increasingly important role in national construction in recent years. The design and research of the four rotor unmanned aerial vehicle (UAV) is of great significance.The f
4、our rotor UAV hardware using STC15W4K48S4 microcontroller as the control chip, the strong confidentiality, and strong anti-interference ability, low power consumption, through the serial port to download the program, convenient storage, its internal procedures more convenient storage. Using MPU6050
5、as gyro accelerometer, MPU6050 gyroscope wide measurement range, high measurement accuracy, as the four rotor aircraft gyroscope is no better choice. Using NRF24L01 Bluetooth 2.4GHZ inline module, the selected Bluetooth module has low power consumption and strong communication ability.In the study o
6、f the structure and principle of the four rotor unmanned aerial vehicle (UAV), the mathematical model of the four rotor unmanned aerial vehicle (UAV) is established by using Newton mechanics and rigid body mechanics theory, so as to improve the reliability and stability of the system.In the four rot
7、or UAV attitude algorithm, using PID algorithm, so as to make the aircraft more smoothly, but also the planning of its orbit, so that we can achieve autonomous flight, and the reliability and stability of the PID algorithm is strong.The design of the four rotor UAV software control, through the prep
8、aration of C language code to control each module, to achieve cooperation between the modules. Key words: four rotor unmanned aerial vehicle; hardware design; PID; Euler angle; flight attitude目 录绪 论11 课题背景12 国内外研究现状1第一章 飞行器原理控制31.1飞行器原理介绍31.2 3相6臂电路41.3反电势过零检测41.4遗传优化算法控制51.5灰色控制6第二章 四轴无人飞行机硬件82.1 S
9、TC15W4K48S4单片机82.2 陀螺仪MPU605092.3 蓝牙模块10第三章 四轴飞行机运动原理数学建模113.1 坐标系定义与姿态转换113.1.1 导航坐标系113.1.2 机体坐标系113.1.3 欧拉角123.1.4 四元数133.2 四旋翼运动学模型153.3 四旋翼动力学模型17第四章 姿态控制184.1 四元数控制184.2 欧拉角控制18第五章 软件控制195.1 PID算法变量195.2 姿态处理和PID195.3 PID 手动微调参数值195.4 四元数解算20IMUupdate(Angle_gx*0.0174533,Angle_gy*0.0174533,Angl
10、e_gz*0.0174533,Angle_ax,Angle_ay,Angle_az);/0.174533为PI/180 转换弧度制205.5 MPU6050 Y轴指向205.6 PID控制数值-X机型控制215.6.1 将速度参数加载至PWM模块21结 论23参考文献24附 录26谢 辞30绪 论1 课题背景四旋翼无人飞行器是一种依靠电力来驱动的没有人员驾驶并且可以经过很多次使用的无人飞行器。四旋翼无人飞行器它的四个桨叶都是与电动机直接相连接的简单结构,这种结构布局的分布是一种十字形的布局,这样的结构可以让无人机在改变马达的旋转速度的时候来获取整体上升的动力,进一步实现飞行器的运动 ,四旋翼无
11、人飞行机开始生产于1920年,而在1980年才得以进入十分迅猛的发展阶段。而最近的几年来得益于微型计算机控制研究的快速进步,使得稳定的无人飞行机得到了社会的广大重视,使其使用远景变得十分可观,而且特别是在现代战场上已经得到了全世界的高度重视,四轴无人机在现代战争中主用于战场上的地面战场伺探和地面战场监控,可以获取不易获取的情报。而此外四轴无人飞行机还可以用于靶机替代,诱饵替代,武器运输,战斗辅助等用途。而其在民用领域也应用广泛,可以用于灾后搜救、城市交通巡逻、环境监测、人工降雨、航空拍摄等等的重要方面。因为它的使用前景宽阔,在以后的国家军事与社会发展中将发挥非常重要的作用。2 国内外研究现状二
12、十世纪七十年代,德国的Mannesmann公司Indramat分部在一个交易博览会上正式发布了MAC无刷直流电动马达及其电机伺服系统,这标志着无刷直流电动机开始了一场变革。而以后,世界上许多科学家对无刷直流电动机进行了更为深入的研究,成功的发明了梯形波型、方波和正弦波等等的无刷直流马达。但一直到了1990年以后后,计算机技术与控制理论的快速进步,才使得单片机、信号处理器、复杂可编程器等等的微处理器得到了十分迅速的进步,运行的速度和数据的存放空间都有了很大的进步,从而加速了无刷直流电动机的快速进步。此外,一些较为先进的控制逻辑和方法的进步与完善 ,使得这些先进的理念可以被广泛地使用到无刷直流马达
13、的调控结构中。而且这些方法在可以提高无刷直流马达的控制系统在对转矩波动的抑制、转速动态和系统抗干扰以及稳态响应速度这些地方提供了有效的方法,广泛的提升无刷直流马达的调控系统的使用范畴,同时也丰富了相关控制理论的内容。而最近这些年来,国内的四轴无人飞行机也得到了空前的进步。这其中中国科学院沈阳自动化研究所成功的研发了一款功能强悍的无人机,它外观类似小型的直升机,可用于天灾人祸的事故的救助,最大工作载重为四十千克,最大飞行时速为九十千米每小时,最大的飞行时间为一个半小时,飞行高度为三千米。而最近北京航空航天大学机器人研发中心成功的发明了无人机的一种飞行程序,这个成果参加到了的第二十四次南极科考的活
14、动中,得到了强烈的好评,并且在一百五十米的高度完成了两次一刻钟,二十五千米的实现了近地飞行,而且经过自身携带的红外线元器件达到了对环境的温度的精准的测试。四轴飞行机总质量为二十千克,可以提升五千克的有效重量,行进的时速可以达到公里小时,最大飞行时间为6小时,可以抵抗6级大风,性能可以堪比国外的同类产品。第一章 飞行器原理控制1.1飞行器原理介绍 四轴无人飞行机是一种新型的功能全面的可以垂直起飞与降落的无人飞行机,它的机械结构比较简单、带载能力较强、行进过程很稳定。四轴无人飞行机涉及到了空间动力分析、带载能力强、数学模型建立、电路电子的创立、精准导航的理论学、精确传感器技术、飞行姿态的控制技术等
15、高端、精准、前沿的理论技术,是以建立四轴无人飞行机的飞行动力学模型才是设计它的最重要的前提条件。四旋翼无人飞行器是一个有着四个输入,同时还有六个传递不足的驱动模型,因为飞行器本身系统具有非线性的性能高,有限的控制量及受控目标数量度而且稳定性容易受到环境和自身条件影响的特点,所以性能完善的数学建模是非常困难的。四轴飞行机主要动力来源依靠锂电池来实现供给。但因为锂电池的局限性作为四轴飞行器的动力能源不能满足其连续飞行的要求条件,进而限制了无人飞行器的更为广阔的使用,然而当代的技术虽然可以将飞行器做到尽量微型化,一定程度延长了连续的飞行时间,但是并没有从根本的能源供给不足这个核心问题上得到解决。四轴
16、飞行机的组成包括了飞控、机架、电动机、电调、螺旋桨等等,将电路控制的结构如下2-1所表达。 图1-1 无人机电路结构1.2 3相6臂电路 四轴飞行机的电动机驱动电路调控系统结构为图2-2所示。在本电路中我们采取了三相六臂的全桥驱动方式,因为采取此种方式可以有效减少电路中电流的波动和转矩的脉动,从而能够让电动机输出较为大的转矩。在电机的驱动部分我们使用了六个功率场效应管用来控制无人机的输出电压,在四旋翼无人飞行器中,直流永磁无刷电动机启动电源需要的电源电压为十二伏。这些场效应管内有着不断流的二极管,这些不断流二极管能够为场效应管关断的时后提供电流的导通状态,用来规避效应管的反向击穿现象,本次设计
17、中直流永磁无刷电动机的驱动控制采取了三相六状态的调控方法,这些功率管同时包含6种开关的形式,然而每一次仅仅有两个管子互相连接,并且每经过六十度的电角度就会改变1次方向,但是如果在某一时刻AB两相互相导通的时候,并且C相断路,这是电路内是没有电流输出的。所以此时的单片机可以通过查探到的电动机转子的方位,利用的接通的特性,来选择电动机的通断电,比如,当Q1、 Q5打开的时候,同时AB两相互相导通,这时电流的流向为电源的。与此同时,当MOSFET打开顺序分别为Q1Q5到 Q1Q6到Q2Q6到Q2Q4到Q3Q4到Q3Q5的时候, 只有在恰当的位置时间便可以进行精确的方向的改变,这样便可以成功对直流永磁
18、无刷电动机的连续运转的调控。图1-2 电机控制系统电路图1.3反电势过零检测如果无刷直流电机想要正确地实现控制,则应该对转子位置进行监测,以获得准确的换向要求。电动机转轴的方位检查模式主要基于霍尔传感装置监控、红外编控码盘监控和无感检查这三种方式。因为四轴无人飞行机的直流永磁无刷电动机要求结构简便、整体质量较小,故而选取无位置传感装置这种检查方法,换向的方法是通过第3相产生的电流在过零点时刻经过三十度来转换方向的。然而这种方法可能会在电动机的启动时产生一些麻烦,而且它的可控性比较差,但是因为这种电路的结构更为简便、并且成本比较较低,所以这种方法比较适合于在平时飞行的过程中电动机不需要频繁启动的
19、四旋翼无人飞行器。因为直流永磁无刷电动机是其中2个电相相互连接的结构,所以这样就可以通过不连接的第3相来检查反电动势的大小以及方向。图介绍了其电路图。经过连续的让中性点N的电压值和,3相3终端的电压值进行比较,这样就可以检测出每以相经过零点时分的感生电动势。并且通过模拟器来选择各个端口的寄存器,这样使用了单片机本身所携带比较方便的复用能力。当两路互连接的时候,路的反电动势和来通过对,同理,这样能够精准的监控出每一相的过零点的时间。当电动机的反电动势监控结果被计算后,接着由得出的反电动势经过零点的角度的时间,这样便能够在反电动势经由0点后延迟三十度的电角度来对比安排方向。图1-3 反电势检测电路
20、1.4遗传优化算法控制 一般的遗传算法通常采用交叉和选择算子还有变异算子这几种最根本的原始数据,这样可以把整个运算的过程变得非常简便,这种计算方法的主要结构拥有染色体计算、选项的计算、单一适应度选评计算、结构改变的计算、互相改变的计算还有运行的数据结果等等。采取自适应的相互改变、结构改变来改进遗传计算来选择PID的最优化的选项。(1) 染色体编码方式 通常普遍的的编码结构便有实数值编码结构和二进制编码结构。采用二进制编码的时候,因为编码串过于长,并且需再将其解码为实数,所以就有着数字化的误差,这样就减少了寻优的速度和精确度;而实数编码就是通过对它的原有的数据间接进行遗传控制的措施,这种方法具有
21、求解精度高、便于大空间搜寻的优点。如果结构里有多个数据需要改变,则可以通过这一些数据成为一个简单的分量来组成一个多维的向量,从而得到了单一的编码数据为P=p1,p2,pn。在结构里P便代表一个分量,pi则是在第i个数据结构内部随机所诞生的一个普通的分量,n就是等待公式优化结构的所有素具的数目。此次设计中每一个个体都有三个分量分别是 Kp、Ki、Kd,而它们的取值范围只精确在0.000110这之间。(2)原始族群的生成 第一先根据调控器的普遍的工程研究的方式来调节出选择的值,这样就能够在这个数据的周围来构建原始族群。这种方法相比标准遗传算法,通过这种的方法所诞生一定数量的单一数据的组成原始群体,
22、这样便可以使得搜索的空间更小,这样便可以迅速搜索到最优解。(3)最佳保存的方法和选择的方法 最佳保存方法就将两代群体之间通过遗传选择后里面的最好的值将其保留下来的方法,如果在两代比较中的最佳的值要比前一代的值好时,就把这个值作为最佳的值保留下来;如果不是,就去掉新产生的一个个体的值,最后把前一代里拥有最佳适应度的一个数据的个体放到最后一代的个体之中。最佳保存方法能够使当前最佳值得个体不会被三种遗传算法改变,可以保留下最佳的一个个体。本次设计中我们就是选择的是按比例适应度的分配方法,选择这种方法能够使得每一个数据被选中的概率和它最佳程度作为正比例。(4)遗传算法中最佳 PID 的数据结构和使用遗
23、传算法最佳化 Kp、Ki、Kd的具体方法结构: 开始选择每个数据的大体取值的范畴,然后进行选择计算; 每一个原始族群的构成都是由随机产生的许多个体组成; 通过公式来计算, 再计算出最适应函数的值; 每一代新族群的产生都是通过遗传算法进行计算后的结果; 重复步骤、 ,一直到数据的收敛或者其可以达到预期的目标。 1.5灰色控制 灰色系统理论在经由对“部分”已知的信息的研究选择来实现对本体现实中的观念的精准的叙述和认知。下列是灰色系统的讲解: 公理 1(差异信息原理):“差异”就是一种信息,但凡是信息则必定有所差异。 公理 2(认知根据的原理):认知的根据就是信息。 公理 3(灰性不灭的原理):信息
24、并不是完全绝对的。灰色系统的原理最强大的功能,便是经由社会、经济、生态许多方面的结构的特殊数据,进行连续的寻找不一样结构的变量这两者之间或者一些结构的数据和其本身的对应关系和变化定律。灰色系统的理论。而且在规律上,学习任何一个结构的数据特征,一定会得到一连窜精确的白数数据,而普遍认为的就是将其看作一些随机过程的某一个轨道或者现实,当然也能够将其看做为灰色过程的白化值,只是这些没有太特别的不同在其本质上。第二章 四轴无人飞行机硬件 四旋翼飞行器主要由微控制器飞控、蓝牙接收模块、陀螺仪组成。2.1 STC15W4K48S4单片机在本次设计中选取STC15W4K48S4单片机,因为STC系列的单片机
25、其用有强大的抗干扰的能力、而且它的保密性能很强达,不易被破解、在其单片机内部的时钟具有防止外部电磁辐射的能力、使用电压较宽,且对与电源的抖动具有很好的抵抗能力、使用的温度范围很宽可以在-4085范围内使用、工作能耗较低,在掉电的模式下功耗为,在耗电的模式下功耗约为,在正常工作模式下典型的功耗约为,并且在没有供电的模式下单片机能够被他外部的中断唤醒,这样就能够用在通过外部电池供电时候的模式、对其单片机的内部增加了EEPROM储存器,这有利于保存数据、在下载程序的时候可以使用串行口进行下载,这更加方便于程序的烧录、stc单片机同时也具有58K字节的程序存储器,本次选择的单片机同时支持USB口来下载
26、程序和串口这两个端口同时下载程序,并且在它的里面聚合了具有很高的精准度的R/C时钟和特别精准的复位电路,STC15W4K48S4同时也得支持电压工作范畴。单片机的P3.0引脚:它的作用是I/O口;P3.1它的作用也是标准I/O口;和P3.2/INT0它的作用也是I/O口为PORT3同时外部中断为0,其工作是既可以上升沿中断也可以下降沿中断,但是如果ITO(TCON.0)口为高电平上升沿时,INTO引脚只能为低电平下降沿中断。而如果ITO(TCON.0)被清为0时,INTO引脚同时支持上升沿中断和下降沿中断,INTO可以支持掉点唤醒;P3.3/INTI引脚是标准的I/O口为PORT3,其外部中断
27、为1,可同时支持上升沿中断与下降沿中断,但是如果IT1(TCON.2)端口为高电平上升沿时,INT1引脚只能为低电平下降沿中断。但是如果IT1(TCON.2)这个引脚为低电平下降沿时,INT1的引脚则既支持上升沿中断也能够支持下降沿中断;P3.4/TO/T1CLK0/ECI-2引脚也是口为PORT3,引脚为定时器的外部输入;等等。图2-1是STC15W4K48S4电路图。图2-1 STC154K48S4电路图2.2 陀螺仪MPU6050在本设计中选取MPU6050作为四轴飞行机的陀螺仪和加速度计。MPU6050是一个将三轴陀螺仪和三轴的加速度整合到一起的芯片,并且其中包含了可以和其他厂商的磁力
28、传感器、加速度计相连接起来的的第二个IIC 的端口。用的端口,来结构为一个独立的数据指向的输出到使用端的一个成熟的九轴的移动算法的融合算法库,这样就能够处理一些复杂的运动传感的数据,从而减少了运动处理计算与操作系统的负载,并且具有了适合供基础设施的应用的开发功能,陀螺仪MPU-6050是全世界的第一个九轴的运动处理元器件。陀螺仪MPU6050在开发研制的过程中融合了三轴的陀螺仪,和三轴的加速度计。在扩展了它之后便可以通过它的I2C或者SPI的接口来输出一个九轴的数字信号,在中陀螺仪和加速度计共同选取了三个十六位的,这可以把MPU6050的所有监控的模拟量都转变为能够传递出的数字量。这方便了随时
29、的监控快速和慢速这两种的运动方式拿出了简单的方法,并且传感装置的监控范畴也都是使用者可以调控的,而MPU6050陀螺仪的可以测量的范畴是,并且加速度计的可以测量范畴是。图2-2 MPU6050电路图。图2-2 MPU6050电路图2.3 蓝牙模块在本次的设计中我们选取了NRF24L01来作为飞行机的通讯模块,本硬件能够支的ISM频段,并且它的最大的发射功率是,而且它传输的速度在最大时是,它的能耗是非常的低的,在等待的工作条件下电流仅消耗为,并且在发射的工作条件下电流消耗仅为,其使用的温度范围很广在-40+85 温度范围之间都可以使用,其管脚1为GND电源地功能,管脚2为IRQ中断输出功能,中断
30、信号引脚。中断时变为下降沿,这就说明通过NRF24L01的内部获得中断时IRQ 的端口能够由高电平转变为低电平,管脚3是MISO SPI的输出功能,在CSN为低电平的情况下,CE可以协同NRF24L01的CONFIG 寄存器来共同控制NRF24L01的状态,管脚4是MOSI SPI的输入功能,用来控制芯片的输入输出,管脚5是SCK SPI的时钟功能,管脚6是NC为空,2-3是NRF24L01电路图。图2-3 NRF24L01的电路图第三章 四轴飞行机运动原理数学建模3.1 坐标系定义与姿态转换3.1.1 导航坐标系 在导航所公认的坐标系中其方向的设定是北、东和下( , , ),但是导航的坐标系
31、是不运动的,并且其与地球表面的正切平面所相连接。如果四轴飞行器在刚起飞的时候,则导航系统的坐标系原点将初始化为四旋翼无人飞行器的质心。3.1.2 机体坐标系在此次设计中四轴无人飞行机的机体坐标系的坐标原点可以由四轴飞行机的质心所在的位置来交换,如图 3-1 所示,在本次设计中以机身旋翼一与机身旋翼三所在的方向做为其的轴,以机身旋翼二和四所在的方向做为其的轴,所以在平面内,和 轴和 轴所相互垂直的方向为轴。因此整体的四轴飞行机的机体坐标系应该是置于四轴飞行机的机体上的右手准则标准坐标系。图3-1 机体坐标系3.1.3 欧拉角欧拉角就是一种可以表达刚体在三维坐标之中的选取方向的方法之一。莱昂哈德欧
32、拉莱昂哈德欧拉对其做这样的解释在一个参考系中,如果只是需要按照一定的次序,那么可以从这个选取的参照系统来开始,通过个欧拉角的转动,来实现一个刚体的方向的选取。这样只要我们能够确定这三个基本的旋转矩阵再将其通过复合运算便能够表达的出刚体在空间中的转动的变化。 导航的坐标系和机体坐标系这两个坐标系之间能够进行相互转化的连接的通道就是欧拉角。其表达为图3-2和图3-3,这便是导航的定为轴首先由经过 轴来旋转角度,然后旋转成中间坐标系1,所以四轴飞行机的机头的朝向就是由这个角度所确定的,再然后可以绕着新的坐标系的旋转,飞机的俯仰角便是这么定义的,最后绕 轴的旋转角度,飞机的倾斜角度就是这么定义的,下图
33、3-4便是给出了机体坐标系和导航坐标系之间的欧拉角两者的3D状态。图3-2 机体坐标系图3-3 欧拉角与坐标转换图3-4 欧拉角的3D图形表示3.1.4 四元数四元数能够将其简化为一个单一的超复数。而且我们都知道实数再加上元素 i 就组成了复数,而这其中。这样便相似地定义为,通过实数再加上 i , j , k 这些元素就组成了所有的四元数,所以这几个元素之间的关系便表示为:i=-1与复数都一样都是做为四元数的一个超复数并且都是 i , j ,k 元素与数字的结合组成,这样就能够推理出四元数的普通表达方法是,这式中 所获得的数据值是通过数据在四轴飞行机的飞行动态计算中获取的,而它的核心便是姿态的
34、转变,所以我们就可以表达姿态转便的有四种方式:通过矩阵表达其姿态的转变、通过欧拉角来表达姿态的转化、通过轴角来表达姿态的转化与通过四元数的转变来表达姿态的转变。但是矩阵的表达一般是通过向量的变换来表达的,而欧拉角转化一般用于直接表达姿态的转变,所以轴角的表示通常可以用于几何的推导,因此四元素的表达通常可以用于组合旋转。综上所述我们考虑到飞行动态的方向改变次数和使用这种方向改变的方法来转化模量,因此我们就选取了四元数来作为飞行动态的一种获取方法,而且我们选择了用矩阵来表示所完成向量的变换与辅助四元素法的方案。因此在本次设计中我们使用了来表达一个四元素。四元数的模与一般的模量接近,表示为:标准化的
35、四元数可以表达为下式,这种四元数的标准化就能够作为一个方向的改变:经由四元数的相乘这种方法,能够获取一种旋转组合:由四元数来作为旋转轴和角度的表达方式。这样便将其定义成一个运算的单位向量 w 所以旋转角的旋转可以通过四元数法进行表示:用解出一个更为简便的运算,就是当两个向量,向量 f 与向量 t 的旋转方向一致时,这样这个运算就能够得出四元数表达的相对旋转:最后便是四元数转矩阵的表达,这样我们就再一次的定义了一个运算R(q),来显示出四元数和矩阵的转化的规律:一般我们由四元数互相乘能够表达出这几个旋转的结构:我们也可以把四元数所表达的飞行状态改变为欧拉角:四轴飞行机在其起飞前都会进行复位执行过
36、程,这个复位执行过程的原因就是用来确认惯性坐标轴的。所以在起飞之前其惯性坐标轴和飞行器坐标轴都是相同的,这便是我们在四轴飞行机的理论中所建立出来的坐标轴,因为四轴飞行机的坐标轴是不断的在转化的。所以在运动的过程中,四轴无人机的坐标轴下的轴和惯性坐标轴下的轴,这两个轴的夹角就是俯仰角,而四轴无人机的坐标轴轴和惯性坐标轴轴,这两个轴的夹角就是翻滚角,四轴飞行机的坐标轴轴和惯性坐标轴轴,这两个轴的夹角就是偏航角,所以上边的三个角就是欧拉角。3.2 四旋翼运动学模型四轴飞行机的坐标系要与地理坐标系变为一致,下图 3-5 中所表达的。在四轴飞行机中由两个马达是在进行顺时针的旋转,而同时另外的两个马达是在
37、进行逆时针的旋转,这样就可以防止四旋翼无人机的机体自旋。因此经由变换4个马达的旋转速度,就可以调控四旋翼无人飞行器的平移运动与旋转运动(即6个输出)再经过组合4个转子的力,这样就能够产生前进,后退,左右上下的运动的力。图3-5 机体坐标轴在地理的坐标轴中和机体坐标轴里的都能够通过改变矩阵 R 来得到:式中的通常称做为合成转换矩阵,其作用就是为了从机体坐标系转变为导航地理中的坐标系,它的具体表现形式为:这样就可以获取飞行机坐标轴线速度的推理方式:式中的,为飞行机的坐标轴,是3个轴上的线速度。同时的飞行机坐标轴里角速度与地理坐标轴里的有这样的关系:式中,是飞行机坐标轴里的角速度,T为欧拉角改变的矩
38、阵,这样表达做下式:因此,四轴飞行机的坐标轴下的角速度就能够表达为:式中:3.3 四旋翼动力学模型所有在重力场中运动的物体其运动模型都能够表达为:式中是平行方向所受的力,m为机体重量,G为飞行机所受到的重心加速度,因此能够由试中得算出:因为我们拥有飞行器的4个螺旋桨来调控俯仰、偏航、高度、和滚转,所以可以将,这其中的为飞机所受到的合力。因此无人飞行机的力矩方程能够表达为:式中是其某一时刻的力,是某一时候系统给出的惯量:式中是某一时刻X,Y,Z轴上的惯量。第四章 姿态控制4.1 四元数控制我们能够使用四元数来调控四轴飞行机的实时动态,将当时的状态定义为,将希望动态表示为t,因此飞行动态差值是从c
39、到t的改变,表示成d,因此可以获得:我们将d设为一个很低的角度,通过低角度来置换三角函数,经由四元数动态表达的方法,将其改为它的值是每一个旋转轴的二分之一,那么它的PID输入为:4.2 欧拉角控制四元数能够改变三角函数计算的复杂程度,只是不怎么明显,所以在程序调试的时候它的结果会变得不稳定,因此我们,在改变四元数完成以后,就把四元数能够代替的角度改变陈欧拉角。具体的转换公式如下:转换后可以得到飞机的三大角度。改变为导航坐标轴里以后,在飞行器移动的同时,所有欧拉角都转变成0,我们要求无人机改变运动为静止时,对无人机希望改变的值为这些值每一个都相对于期望里的三大角度即:。我们通过PID对控制无人机
40、来进行控制运动,因此这几个数据如同确定的。目前的四轴飞行机的三个姿态为:分别是现在的。确定好目前姿态与期望姿态后,对两者做差,则可以得到3个角度差:把数据给到PID运算器中,就能够获得这几个电动机的PWM占空比。第五章 软件控制5.1 PID算法变量unsigned int YM=0;/油门变化时对于速度的控制,int speed0=0,speed1=0,speed2=0,speed3=0;/电机速度参数int g_x=0,g_y=0,g_z=0; /陀螺仪矫正参数5.2 姿态处理和PIDfloat xdata ERRORY_In=0;float xdata ERRORY_Out=0;floa
41、t xdata ERRORZ_Out=0;float xdata Last_Ax=0;float xdata Last_Ay=0;float xdata Last_gx=0;float xdata Last_gy=0;5.3 PID 手动微调参数值 D值只要不超过10都可以,D值在3以上10以下! D值不合适飞机就会荡#defineOut_XP15.0f/外环P#defineOut_XI0.01f/外环I#defineOut_XD5.0f/外环D#defineIn_XP0.55f/内环P 720#defineIn_XI0.01f/内环I#defineIn_XD3.0f/内环D 720#defi
42、neIn_YPIn_XP#defineIn_YIIn_XI#defineIn_YDIn_XD#defineOut_YPOut_XP#defineOut_YIOut_XI#defineOut_YDOut_XD/float ZP=5.0,ZD=4.0;/自旋控制的P D#defineZP3.0f#defineZD1.0f /自旋控制的P D#defineERR_MAX8005.4 四元数解算IMUupdate(Angle_gx*0.0174533,Angle_gy*0.0174533,Angle_gz*0.0174533,Angle_ax,Angle_ay,Angle_az);/0.174533为
43、PI/180 转换弧度制5.5 MPU6050 Y轴指向FR2=(float)FuYang-128)/6; /得到 俯仰数据变量Ay=-FR2-a_y-AngleY; if(YM 30)ERRORY_Out += Ay;elseERRORY_Out = 0;if(ERRORY_Out ERR_MAX)ERRORY_Out = ERR_MAX;else if(ERRORY_Out 30)ERRORY_In +=gx;elseERRORY_In = 0; if(ERRORY_In ERR_MAX)ERRORY_In = ERR_MAX;else if(ERRORY_In 1000)PWM0=100
44、0;else if(PWM01000)PWM1=1000;else if(PWM11000)PWM2=1000;else if(PWM21000)PWM3=1000;else if(PWM3=30) PWM(1000-PWM0,1000-PWM1,1000-PWM2,1000-PWM3); /启动PWM 2 3 4 5else PWM(1000,1000,1000,1000); /关闭PWM/ 时间延时 函数void Delay(unsigned int x)unsigned int i,j; for(i=0;ix;i+) for(j=0;j250;j+);/ 定时器0 初始化函数 V2.0void Timer0Init(void)/10微秒27.000MHzTR0 = 0;AUXR &= 0x7F;/定时器时钟12T模式TMOD &= 0xF