收藏 分销(赏)

大学毕业设计---基于apm飞控技术的定点投送飞行器.doc

上传人:可**** 文档编号:2175106 上传时间:2024-05-21 格式:DOC 页数:45 大小:1.63MB
下载 相关 举报
大学毕业设计---基于apm飞控技术的定点投送飞行器.doc_第1页
第1页 / 共45页
大学毕业设计---基于apm飞控技术的定点投送飞行器.doc_第2页
第2页 / 共45页
大学毕业设计---基于apm飞控技术的定点投送飞行器.doc_第3页
第3页 / 共45页
大学毕业设计---基于apm飞控技术的定点投送飞行器.doc_第4页
第4页 / 共45页
大学毕业设计---基于apm飞控技术的定点投送飞行器.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、基于APM飞控技术的定点投送飞行器摘要四轴飞行器是微型无人飞行器的一种,装有4个螺旋桨且螺旋桨呈十字形交叉,分为前后和左右两组(即对角线上为一组)。两组螺旋桨的旋转方向相反,可以抵消 反扭力矩。螺旋桨具有固定浆距,飞行过程中只需改变四个轴的转速即可实现各种复杂运动。国外某些科技公司,如亚马逊,正在开发研究利用多旋翼飞行器进行快递投送等自动化的物流业务,可见其具有广泛的军事和民事应用前景。但是四旋翼飞行器控制难度较大,难点在于飞行器具有欠驱动、多变量、非线性等比较复杂的特性。因此四旋翼飞行器的建模与控制也成了控制领域的热点和难点。四旋翼飞行器有各种的运行状态,比如:爬升、下降、悬停、滚转运动、俯

2、仰运动、偏航运动等。本文采用牛顿-欧拉模型来描述四旋翼飞行器的飞行姿态。本文限于作者能力未对四旋翼飞行器的机架结构和动力学特性做详尽的分析和研究,而是一定程度上简化了四旋翼飞行器的数学模型,在一定姿态角度内近似将其看作线性系统,以方便使用PID控制算法对飞行器在空中的三个欧拉角进行控制。本文提出了四旋翼飞行器的系统设计方案,按照功能分别设计了姿态检测单元、姿态控制单元、执行单元和基于GPS的简单导航系统单元。该系统能进行飞行器的常用控制操作,并能接收并分析出需要的GPS定位信息,与存储的定位坐标进行简易地自主导航,并在显示屏上模拟和显示。本文主要参考国际上四旋翼开源项目,基于AVR8位单片机A

3、tmega328p、MPU6050IMU模块进行了硬件选型、电路设计与制作、软件代码的编写及调试,最终实现较好的控制结果。关键词:四轴飞行器; APM飞控; PID控制器; ArduCopter ; IIC总线; GPS导航;AbstractQuadCcpter is an unmanned MAV(Micro Air Vehicle), with four propellers which are cross-shaped, Divided into two pairs of longitudinal and horizontally (as a group in a diagonal).

4、Two propellers rotating in opposite directions , can counteract the anti- torque .The blade pitchIt of propellers is fixed, changing the rotational speed of the four propellers simply to do complex movement during the flight. Some foreign technology companies, such as Amazon, is the development and

5、utilization of multi rotor aircraft of the express delivery and other automated logistics business, visible it has broad application prospects in military and civil. But the four rotor aircraft control difficult, the difficulty lies in the vehicle has the characteristics of multi variable, nonlinear

6、 underactuated, such as complex. Therefore, modeling and control of four rotor aircraft has become a hot and difficult control field. Four rotor aircraft operations, such as: all the climb and descent, hovering, rolling motion, pitching, yawing movement etc. In this paper, using the Newton Euler mod

7、el to describe the four rotor aircraft flight attitude. In this paper, limited ability of the author detailed analysis and Research on the four rotor aircraft do not stand structure and dynamics, but to a certain extent, simplifying the mathematical model of four rotor aircraft, in a certain attitud

8、e angle in approximation as the linear system, in order to facilitate the use of PID control algorithm for the control of the aircraft in the air of the three Euler angle.This paper presents the system design scheme of four rotor aircraft were designed, according to the function of attitude detectio

9、n unit, attitude control unit, an execution unit and a simple navigation system unit based on GPS. Commonly used to control the operation of the system can make the aircraft, and can receive and analysis of GPS positioning information need, and storage location coordinates are simply the autonomous

10、navigation, and the simulation on the display and display. This paper mainly with reference to the four rotor open source project, AVR8 SCM and MPU6050IMU module based on Atmega328p are compiled and debugged the hardware selection, design and manufacture, circuit software code, and eventually realiz

11、e the better control results.Key words: Quadcopter; APM(ArduPilotMega) ;PID controller; ArduCopter; 1绪论1.1研究背景四旋翼飞行器与普通旋翼飞行器相比,具有结构简单、故障率低和单位体积能够产生更大的升力等优点;而且四旋翼飞行器非常远在狭小的空间内执行任务。因此,四旋翼飞行器具有广阔的应用前景,吸引了众多的科研人员,成为国内外的研究热点。作为无人机中富有生命力的机型,四轴飞行器还具备无人机的多种优势。无人机是一种体型较小、无人驾驶,能够在空中实现自主飞行并执行一定任务的飞行器。无人机与普通飞机相

12、比,其结构简单成本低,便于制造和维护;由于无人驾驶,因此其有效载荷更大,能够安装更多的设备或武器,完成任务的效率和可靠性更高;而且即使出现意外险情也不会危及到飞行员的生命安全,因此广泛应用于各种高风险的任务中。在军事领域,无人机早己投入到实战使用中1。无人机在战争中可以实施战场侦査、目标定位、单位跟踪、电子干扰甚至火力支援等任务。例如,美国在阿富汗战争和伊拉克战争期间就大量使用了“全球鹰”无人机,在取得巨大战果的同时也极大地减少了美军的伤亡。在今后的信息化战争中,无人机必将发挥着越来越重要的作用。在民用和科技领域,无人机也发挥着巨大的作用。例如,无人机可以在发生重大灾害后实施侦査、搜寻与救援工

13、作;可以安装多种探测设备用于火灾、虫灾监测和地质勘探中;还可以携带多种科学设备进行科学实验。因此,世界各国都非常重视无人机的研制工作。按照结构的不同,无人机可以分为固定翼无人机和旋翼无人机两种,其中前者又可分为螺旋桨式固定翼无人机和喷气式固定翼无人机两种,后者又可分为单旋翼无人机和多旋翼无人机两种。两者的飞行原理也不同,固定翼无人机利用发动机产生的推力或者拉力使飞机高速前进,利用机翼产生维持飞行状态的升力;而旋翼无人机则利用一个或多个螺旋桨高速旋转产生升力,并利用升力在水平面上的分力实现前后、左右运动2。与固定翼无人机相比,旋翼无人机具有能够向后飞行、垂直起降和悬停的特点,对起飞、降落场地的条

14、件要求很少,控制起来非常灵活,能够满足多种用途,因此旋翼无人机具有更大的研究价值。四旋翼飞行器与普通旋翼飞行器相比,具冇结构简单、故障率低和单位体积能够产生更大的升力等优点;而且四旋翼飞行器非常远在狭小的空间内执行任务。因此,四旋翼飞行器具有广阔的应用前景,吸引了众多的科研人员,成为国内外新的研究热点3。飞行控制器是四旋翼飞行器最核心的部分,飞行器通过飞行控制器与外界交互并做出反应,使得飞行器能够在没有外界操纵和干预的情况下自主飞行。本文讨论了一种简单的基于GPS的四轴无人飞行器自主导航系统的实现,以应用当今越发兴起的物流行业的货品运输领域。1.2国内外四轴飞行器自主导航系统发展现状四旋翼飞行

15、器的发展经历了两个阶段。第一阶段是在20世纪初,1907年法国科学家Charles Richet制造了一架小型的无人机,虽然不是很成功,但是他的学生Louis Brguest在其的指导下幵发了第一架载人四旋翼飞行器,其后来又研发出了的第二架原型机。两架原型机都是由飞行员直接控制四个螺旋桨转速,由于操控过于复杂,进行的飞行试验都不是很成功。在1921年,George de Bothezat为美国陆军航空勤务部(United StatesArmy Air)研发了一架实验性四旋翼飞行器,但是该项目仅仅进行了四年就由于机构过于复杂、控制困难而取消了。1924年出现了世界上第一架能够完成超过一千米距离飞

16、行的四旋翼飞行器Oemidien。1957年,美国克莱斯勒汽车公司应美国陆军要求为其研发了VZ-7飞行器,促是由于控制过于复杂,美国陆军对这一项目渐渐失去了兴趣,使得这个项目也最终搁浅,至此四旋翼飞行器的发展陷入了低谷。第二阶段从21世纪初开始至今。进入21世纪以来,低功耗微处理器的处理能力越来越强,微机电系统(MEMS)技术的发展使得捷联式惯性导航系统越来越小,成本越来越低。随着直流111机技术的发展,出现了许多体枳小转速高转矩大的直流电机,锂电池技术的发展使得钮!电池储能密度加大同时放电电流也变大,这就使锂电池对大功率直流屯动机的驱动成为可能。这些技术的发展使得以直流电机作为动力源的微小型

17、飞行器进入了一个新的发展阶段。四旋翼飞行器目前的研究主要有在高校科研机构、国际开源项目和科技公司的商业开发。高校的四旋翼科研项目主要有:瑞士桑联邦理工学院(EPFL)的OS4和OS4II,麻省理工学院(MIT)计算机科学和人工智能实验室(ACL)的Quadrocopter,宾西法尼亚大学的HMX4和佐治亚理工大学的CTMARS,斯坦福大学的Mesicopter。开源项目主要有:德国MikroKopter项目,megapirate,arducopter, multiwii。比较成熟的商业四旋翼飞行器有:美国Draganflyer公司研制的Draganflyer系列,德国Microdrones公司

18、的MD4-200,德国AscTec公司的Pelican与Hummingbird系列4。此外,更加贴近普通人的是亚马逊在网站介绍了一个还在亚马逊下一代 R&D 实验室研发的项目 Prime Air。Prime Air 的目标是通过无人飞行器向消费者派发快件,派件用时缩减到半小时或更短。据亚马逊方面的介绍,这些无人飞行器,能够飞离亚马逊旗下96间库房10英里(16千米)远的地方送货。亚马逊所做的事情,就只是输入收货地的GPS坐标,装上货品,接下来的工作就不用他操心了,无人飞行器会在卸货之后,自动返回库房5。图1-1亚马逊Prime Air1.3系统研究内容随着电子商务的高速发展,带动着整个物流行业

19、的逐步崛起,各大物流运营商正尝试寻找一种方便快捷的交通工具替代以往的传统运输方式。目前无人飞行器的研究越来越受追捧,如国外的亚马孙,国内的顺丰快递等物流巨头正在积极研究无人飞行器的快递运输功能,以期能够提供更加快捷的运输服务。通过无人飞行器向消费者派发快件,派件用时缩减到半小时或更短。据亚马逊方面的介绍,这些无人飞行器,能够飞离亚马逊旗下96间库房10英里(16千米)远的地方送货。亚马逊所做的事情,就只是输入收货地的GPS坐标,装上货品,接下来的工作就不用他操心了,无人飞行器会在卸货之后,自动返回库房。本文拟选取兰州理工大学本部校区为实验测试区,基于GPS坐标定位技术、信息综合与决策控制技术、

20、姿态检测与解算技术、基于PID算法控制技术和无线遥控技术,研究无人飞行器自助导航系统。针对四轴无人飞行器的飞行原理,对遥控接收模块的PPM解码、电机驱动原理、传感器数据采集与传输原理和姿态解算原理进行深入研究和学习,通过融合上述关键性技术,在无线遥控模式下,采用天地飞6通道遥控器的4个通道,根据每个通道的高电平持续时间来判断通道遥杆的位置,从而起到控制输入的作用,单片机根据引脚电平变化中断来实现PPM高电平时间的读取,然后利用AVR的Timer/Counter1和Timer/Counter2输出对应的PWM波形控制电子调速器驱动电机。在自动飞行模式即GPS模式下,控制器进行收集经纬度定位坐标和

21、卫星时间,通过与存储的目的地坐标点进行比较而进行简单的导航。另外,本文设计中最重要的一点是PID控制算法的研究,其主要功能是集合无线遥控的输入信息和测得的此时飞行器的空中姿态通过PID控制算法进行控制决策,产生控制输出,进而控制飞行器的飞行高度和飞行姿态,保证了飞行器飞行的稳定性和可靠性。1.4研究难点和创新点1.4.1 难点1. 飞行器飞行姿态的控制四轴飞行器有四个螺旋桨,即意味着有四个电机需要控制,根据动力学原理,这四个电机的转速不同的情况下,难以维持飞行器的飞行平衡,所以需要控制器能够实时的采集到飞行器的飞行姿态的相关数据,进而经过姿态解算算法转换为PWM可调脉冲数据作为电子调速器的输入

22、来保持飞行器在飞行过程中的平衡。2. 环境等非人为因素的影响无人飞行器的飞行范围往往大于人眼不能观测到的区域,虽然可以通过切换飞行器的飞行模式转换为遥控器控制,但是遥控器接收器的接收范围也是有限的,在超过遥控器的无线接收范围的情况下,当飞行器遇到突变的天气变化时,飞行器的飞行能力会受到很大的影响,甚至导致飞行器失去平衡而发生坠毁。3. GPS定位误差利用GPS进行卫星定位和导航的时候,会受到很多干扰,因此如何保证飞行器飞行途中获得的GPS定位数据是准确的或者说我们如何消除GPS导航的定位误差是研究的重点。1.4.2 创新点1. 可直接输入目标地点的GPS进行导航或者输入多个飞行目标点规划飞行路

23、线。2. 根据所搭建的实验硬件平台,因地制宜地对开源的PID控制算法进行改进,使飞行器飞行的更加平稳。2. 系统原理该系统主要由六个模块主城,其主要功能分别介绍如下: (1) 初始化模块:为硬件和软件系统进行初始化操作。 (2) 无线遥控模块:解码接收到的无线遥控指令。 (3) 电机驱动模块:通过PWM波形输出控制电机转动力矩从而控制螺旋桨升力。 (4) 传感器数据采集模块:获取加速度传感器和陀螺仪的原始测量数据。 (5) 姿态解算模块:使用互补滤波将传感器数据进行融合并计算出飞行器在空中的欧拉角。 (6) 主逻辑模块:控制各模块的执行时机和执行频率,并与各模块进行数据交互并进行PID制输出。

24、(7) GPS模块:获取GPS定位数据与存储的目标坐标点进行比较完成导航。图2-1 系统原理图2.1整体功能设计图2-2系统整体功能图感应层:此部分的作用是获取MPU6050中加速度传感器和陀螺仪的实时数据,核心就是使用AVR单片机自带的硬件IIC模块和外部模块通信。查询Atmega328p单片机的datasheet和MPU6050的datasheet,可以轻松的得到进行IIC操作时应该遵循的时序。控制层:传感器接收机能够提供6路PPM信号。而本设计只需要其中4路,即四个通道。本设计采用“引脚电平变化中断”来实现PPM解码。 观察PPM原理图可发现引脚电平只有2种变化方式,分别是从高到低和从低

25、到高。引脚电平从高到低对应高电平结束,从低到高意味着高电平开始。所以每次进入中断后读取引脚状态,对前后两次进入中断时的引脚状态进行异或运算就能确定是哪个引脚触发了PCINT中断,利用Arduino IDE自带的micros()函数记录两次进入PCINT中断的时间。如此便可以获得PPM某通道高电平时间。电机驱动利用电子调速器,由于电子调速器的油门是线性的,意味着给电子调速器输入的PWM波形的高电平时间正比于电机的转动力矩。传输层:一个是无线遥控收发完成对飞行器的飞行控制,接收无线遥控器的接收信号利用PPM解码原理对其进行解码输出。另一个是I2C通信总线,只需要两根线就能传输数据,极大减少了LCD

26、对单片机端口的占用。应用层:利用GPS导航系统完成飞行器的导航飞行功能,并使用LCD11264显示和输入飞行坐标。2.2功能模块图2-3 模块功能图系统主要分为4 个模块,数据采集模块、数据传输模块、数据处理模块及控制执行模块,该系统主要通过数据传输模块将数据采集模块、数据处理模块和控制执行模块相连接。3. 硬件设计3.1整体设计本设计主要由以下模块组成:(1)核心数据处理模块,(2)GPS模块,(3)11264点阵液晶LCD模块,(4)电平转换模块,(5)遥控接收模块,(6姿态检测模块,(7执行模块3.2核心处理器 本文设计基于意大利开源硬件Arduino Nano作为飞行控制、数据处理的主

27、要手段。Arduino Nano 是基于Atmega328p AVR单片机的开源硬件。具有2个外部中断口;可以输出6路PWM波;具备SPI、IIC、UART通信功能;具备六路ADC模数转换功能;可支持ISP在线系统编程;5V供电并能输出5V/3V3电压为其它传感器供电。其丰富的片上资源以及优秀的性能是选择它作为主控芯片的原因。由于使用的核心MCU是Arduino Nano,对它的编程使用的是所谓Arduino C,这种C语言类似于标准C,但是又针对Arduino Nano系统做了大量的简化,提供了大量的已经写好的函数和库文件,方便调用。虽然如此一来代码效率会降低很多,但是对于的四轴飞行器项目的

28、初次验证已经是性能足够了9 .Arduino最小系统原理图如图3-1所示。图3-1 单片机结构图3.3 GPS模块3.3.1 GPS硬件介绍HOLUX M-89 GPS模块是一款采用MTK芯片方案的GPS模块。该模块采用联发科技公司(MTK)所设计的低耗电量芯片MT3318。该模块的优势是对漂移的处理,功耗在30毫安,性价比等多方面都优于SIRF3芯片。该模块通讯方式是RS232(波特率4800),具有并行12通道,可同步跟踪12颗卫星,定位精度高,体积小,功耗低。以下是它的一些参数:L1(1575.42MHZ)接收频率;工作温度:-40至+85;输出资料格式:NMEA0183(v3.1);启

29、动时间(TTFF):热启动:1秒;温启动:33秒;冷启动:36秒;敏感性:-159dBm;工作电压:+3.3至+5v;功耗:跟踪模式3.3v电压下小于35mA;更新接收:每秒钟(1pps);外形体积尺寸:25.4*25.4*3mm;重量:3g;图3-2 GPS模块实物3.3.2 GPS卫星信号GPS卫星发射的导航电文是通过两个载波频L1为1575.42MHz,L2为1227MHz向地面发射带宽F=50Hz,传递速率是50bit/s的基带信号,即一组不归零制二进制编码脉冲D(t)。采用了伪码扩频技术将基带信号的频带从50hz扩展到10.23MHz以将这种低码率的导航文有效地发送给用户。采用正交方

30、式调制,在载波L1上调制了两种码(P码和C/A码),而在载波L2上只调制了一种伪码(P码)。总之,GPS卫星发射的信号是电文D(t)经过两级调制后的信号。第一级是将D(t),码调制C/A码和P码,实现对D(t)的伪随机码扩频。第二级是将它们的组合码分别调制在L1和L2载波频率上。3.3.3 GPS定位误差在我们利用GPS进行卫星定位和导航的时候,会受到很多干扰。这些影响GPS定位精度的因素可分为以下四大类:(1) SA误差是影响GPS定位误差的最主要因素。SA干扰误差是美国国防部为之国家安全而防止非特许用户利用GPS进行高精度定点点定位而采用的降低GPS系统精度的一系列政策,简称为SA政策,它

31、包括降低广播星历精度和在卫星基本频率上附加一随机抖动使钟的频率产生快慢变化,导致测距精度大卫降低。虽然美国在2000年取消了SA,但是战时或必要时,美国可能会恢复或采取类似的卫星定位精度干扰技术。(2) 星历误差是GPS测量误差的重要来源,卫星星历误差卫星星历误差是指卫星星历给出的卫星空间位置与卫星实际位置间的偏差。又可以称为卫星的轨道误差,因为它是由于卫星的空间三维位置是通过地面的监控系统接收卫星测轨数据来计算得出的。它是一种起始的数据误差,其误差大小由观测值卫星跟踪站数量、空间分布的数量以及精度、轨道计算时所用的轨道模型及定轨软件的完善程度等决定。(3) 相对论效应导致于卫星钟和接收机所处

32、的运动速度和重力位不同,从而引起的接收机钟与卫星钟之间产生相对误差。(4) 卫星钟差卫星钟差是指GPS标准时间与GPS卫星时钟的差别。为了保证卫星时钟精度,GPS卫星均采用高精度原子钟,但误差总是存在的,它们和GPS标准时之间的偏差和漂移和漂移总量在1ms0.1ms以内,由此引起的等效误差将达到300km30km。3.4 LCD显示模块介绍 LCD11264是一种图形点阵液晶串口显示屏,点阵数112*64,可以显示4*7行16*16的汉字。主要技术参数和性能:(1) 电源:+5V(2) 显示内容:112(列)X 64(行)点;(3) 全屏幕点阵;(4) 工作温度:-10至+60,存储温度:-2

33、0至+70。图3-3屏幕机械图LCD显示屏引脚介绍:图3-4 LCD引脚图从左到右为LCD的1到8脚:1脚GND为接地2脚VCC接工作电压3脚CS为片选端4脚A0为地址选择,接低电平为写命令,接高电平为写数据5脚SCLK为时钟信号线6脚SI为数据线7脚RST为复位端8脚BL_SW为背光灯3.5键盘模块设计2个按键,直接采用I/O口控制,采用软件去消除抖动的影响,如图3-5所示。图3-5 按键电路图3.6串口模块AVR输出的是TTL电平,而RS-232C采用的是负逻辑“0”:+5V+15V;逻辑“1”:-5V-15V,若直接与TTL电平相连,将会烧坏TTL电路。为了匹配AVR的TTL电平和GPS

34、模块的RS-232C标准接口,采用MAX232进行电平转换,如下图所示:图3-6串口硬件图4.软件设计图4-1 软件设计框图4.1初始化模块初始化模块的功能是将控制中需要使用的各个硬件资源进行初始化处理。它完成的主要功能有如下几点:(1) 初始化定时计数器TIMER/COUNTER1和TIMER/COUNTER2,配置好需要的预分频系数。 (2) 初始化单片机自带硬件IIC通信模块,设置SCL频率为400HZ等。 (3) 为AVR单片机相应I/O端口配置。这些初始化程序将在此后的相印模块中进行介绍,在此不赘述。4.2遥控接收模块的PPM解码4.2.1 PPM信号原理简介 本设计采用的遥控器是天

35、地飞6通道遥控器,由于本课题研究四旋翼飞行器,只需要其中4个通道即可完成姿态控制。该遥控器接收机的输出为PPM输出,如图4-2所示为PPM(脉冲位置调制)的原理图。每个通道的高电平持续时间即对应该通道摇杆的位置,从而起到控制输入的作用。其PPM周期为20ms,高电平电压为+5V,高电平持续时间为1ms至2ms。PPM信号解码流程图如图4-2所示。这里使用AVR单片机具有的引脚电平变化中断来实现PPM高电平时间的读取不仅节省CPU时间而且还精确。4.2.2 PPM解码程序设计与关键程序段说明传感器接收机能够提供6路PPM信号。而本设计只需要其中4路,即四个通道。本设计采用“引脚电平变化中断”来实

36、现PPM解码。 观察PPM原理图可发现引脚电平只有2种变化方式,分别是从高到低和从低到高。引脚电平从高到低对应高电平结束,从低到高意味着高电平开始。所以每次进入中断后读取引脚状态,对前后两次进入中断时的引脚状态进行异或运算就能确定是哪个引脚触发了PCINT中断。利用Arduino IDE自带的micros()函数记录两次进入PCINT中断的时间。如此便可以获得PPM某通道高电平时间。 PPM信号解码流程图如图4-2所示。这里使用AVR单片机带有的引脚电平变化中断来实现PPM高电平时间的读取不仅节省CPU时间而且还精确。图4-2 PPM解码流程图PPM通道1解码代码如下: ISR(PCINT2_

37、vect) static uint8_t pindlast; uint8_t chan,pindnow; uint16_t time; static uint16_t last4,now4; time = micros(); /获得此刻时间 pindnow = PIND; chan = pindlastpindnow; /确定PCINT中断发生在哪个引脚 if(chan&(12) /通道1 now0 = time; if(pindnow&(12)last0 = now0; elseppmInValue0 = now0 - last0; /将此刻时间点与上次PCINT时间相减 /从而获得高电平持

38、续时间4.3 执行模块4.3.1 电机驱动原理本设计中,利用电子调速器驱动电机。电子调速器的油门是线性的,意味着给电子调速器输入的PWM波形的高电平时间正比于电机的转动力矩M。飞行器在空中平衡时有 (4-1)其中 为螺旋桨角速度。而查阅空气动力学知识可知螺旋桨升力 升与 有如下关系 (4-2)由此可见 (4-3)又有PWM高电平时间正比与电机转动力矩M,如此一来,我们则可以通过控制PWM波形的高电平时间来线性的控制机体获得的升力。由此,飞行控制系统输出的PWM信号输出与飞行器获得升力呈线性,给使用PID算法在一定条件下控制飞行器带来了可能10。 此外,本文使用的中特维电调其识别高电平阈值在2V

39、至5V之间,高电平持续时间在1ms至2ms之间,1ms和2ms长的高电平信号分别对应无刷电机的停止转动和最高转速;PWM周期可在2ms至20ms之前变化,对应500Hz至50Hz的无刷电机转速更新频率。飞行器要求具有很高的实时响应速度,因此要求无刷电器驱动器具有很高的转速更新频率,考虑到硬件平台所用晶振16MHz和Timer/Counter0和Timer/Counter1分频器的可设置值,PWM周期取约4.1ms,即具有约244Hz的转速更新频率11。4.3.2 电机驱动模块程序框图图4-3 电机驱动程序框图电机驱动输出模块的功能就是利用AVR的Timer/Counter1和Timer/Cou

40、nter2输出定周期可调占空比的PWM波形。依据电子调速器对PWM波形的周期要求,需要输出周期在500HZ以内的PWM波形。由于单片机采用16MHZ晶振,所以在预分频的设置上只能选择256分频才能满足电子调速器对周期的要求,256分频的结果是获得的PWM波频率为244HZ。而在调节PWM高电平时间的时候,只需分别向OCR1A、OCR1B、OCR2A、OCR1B内写入相应数据即可从对应的PWM输出端口获得不同高电平时间的244HZPWM波。输出高电平时间 (单位:s)的计算公式如下所示(以OCR1A为例)。/* /PWM初始化模块 /* voidpwm_init(void) /*8-bit T/

41、C2 初始化*/ TCCR2A = (1COM2A1) | (1COM2B1) | (1WGM21) | (1WGM20); /设置为快速PWM TCCR2B = (1CS22) | (1CS21); /256 prescaleing /*16-bit T/C1初始化*/ TCCR1A = (1COM1A1) | (1COM1B1) | (1WGM10) ; /设置为快速PWM TCCR1B = (1WGM12) | (1CS11) ;/256 prescaleing /* /电机1的PWM输出 /* voidpwm_out(uint16_t pwm_base) static uint16_t

42、 chan3; if(pwm_base!=chan3) OCR1A = (pwm_base+pwm_erro0- 1024)*0.08+63; /重设OCR1A改变PWM占空比 chan3 = pwm_base; 4.4 传感器模块4.4.1 与传感器的IIC通信时序此模块的作用是获取MPU6050中加速度传感器和陀螺仪的实时数据,核心就是使用AVR单片机自带的硬件IIC模块和外部模块通信。查询Atmega328p单片机的datasheet和MPU6050的datasheet,可以轻松的得到进行IIC操作时应该遵循的时序。读取MPU6050数据的时序图如下图所示:图4-4读取MPU6050图4

43、-5写MPU6050由图知,在读写MPU6050的时候单片机需要在Master Transmitter Mode和Master Receiver Mode之间切换,在此不再赘述。4.4.2 传感器数据采集模块关键程序段说明 该模块的主要作用是通过IIC总线协议读取MPU6050传感器模块获得的加速度和陀螺仪原始数据,故只要按着上述读写时序一步步完成即可。但传感器数据为16位,而IIC总线每个数据帧只能读8位数据。MPU6050通过IIC先发送寄存器高8位数据,再发送低8位,如此一来,就需要利用位移语句,将首先接收到的8位数据缓存,再左移8位,再和后发送的低8位数据做位与运算,使得他们融合为一个

44、16位数据。要注意这里的16位数据是有符号的。 两8位融合成16位数据程序段如下: if(reg=0x3B) RAW_ACC_X = (rawADC08)|(rawADC1); RAW_ACC_Y = (rawADC28)|(rawADC3); RAW_ACC_Z = (rawADC48)|(rawADC5); else RAW_GYRO_X = (rawADC08)|(rawADC1); RAW_GYRO_Y = (rawADC28)|(rawADC3); RAW_GYRO_Z = (rawADC48)|(rawADC5); 4.5姿态解算模块4.5.1 姿态解算原理 姿态解算模块的主要功能

45、有两个,一个是对传感器获得的加速度计和陀螺仪数据进行处理获得各自所计算出来的飞行器此时的欧拉角,第二个是通过传感器数据融合计算,得到飞行器此刻的姿态角准确值。 利用加速度计数据计算欧拉角使用的是三角函数方法。其原理如下图4-6所示图4-6 加速度传感器倾斜检测示意图利用三轴加速度计进行倾斜检测的一种方法是基于一个参照点分别确定加速度计各个轴的角度。参照点取器件的典型取向,其中X轴和Y轴位于水平面内(0g场),Z轴与水平线垂直(1g场)。如图4.5所示,其中 为水平线与加速度计X轴的夹角, 为水平线与加速度计Y轴的夹角看, 为重力矢量与Z轴的夹角。在X轴和Y轴的起点0g处以及Z轴上1g处,计算得

46、到的所有角度均为0度。由基本三角函数可知,可利用下列公式计算倾斜角度12。但是飞行器时刻是运动的,加速度计测得的数据中就不可避免的含有运动加速度,因此只利用加速度计求出旳飞行器姿态具有较大的误差,所以就需要一定的算法来估计加速度计的误差,实时修正飞行器的姿态13。 陀螺仪测量的是集体绕着某轴转动的角速度,由于原理较为复杂,这里不加叙述。 滤波的方法有很多,商业四轴飞行器为了保证稳定性一般都使用复杂的卡尔曼滤波。但是卡尔曼滤波运算复杂,加长程序循环时间,会造成诸如陀螺仪积分漂移增加等情况,故本文采用互补滤波方式进行滤波。互补滤波计算简单,设计方便,可以很好的实现数据的融合。 互补滤波器是一种频域

47、特性滤波器,经常用来融合由不同传感器测量得到的具有相似物理意义的数据,摒弃每个数据的缺点从而估算出准确的参数。严格意义上讲,互补滤波器包含两种或两种以上的频率特性互补的传递函数。例如常见的两输入系统,两个输入量的物理意义相同,但是某个输入量也含高频噪声,需要加低通滤波器以滤除噪声;另外一个输入量包含低频噪声干扰,因此需要高频滤波器除去低频噪声。低通滤波器与高通滤波器频率特性互补,所以最终的输出是滤除噪声的准确的数据14。 陀螺仪响应速度快,但是会受到零点随温度漂移产生低频干扰;加速度传感器用来测量重力加速度矢量,响应速度也非常高,但是会因为微小扰动产生高频噪音干扰;数字罗盘测量当地地磁场矢量,数据测量比较准确,但响应速度较慢,也会受电机电磁场的高频干扰而陀螺仪的数字积分又不可避免的带来积分漂移问题,由此可知,三种传感器测量相同的量在频域内特

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服