完整版基于单片机的微型四旋翼飞行器毕业设计论文Word格式.docx

上传人:b****5 文档编号:21778156 上传时间:2023-02-01 格式:DOCX 页数:23 大小:33.99KB
下载 相关 举报
完整版基于单片机的微型四旋翼飞行器毕业设计论文Word格式.docx_第1页
第1页 / 共23页
完整版基于单片机的微型四旋翼飞行器毕业设计论文Word格式.docx_第2页
第2页 / 共23页
完整版基于单片机的微型四旋翼飞行器毕业设计论文Word格式.docx_第3页
第3页 / 共23页
完整版基于单片机的微型四旋翼飞行器毕业设计论文Word格式.docx_第4页
第4页 / 共23页
完整版基于单片机的微型四旋翼飞行器毕业设计论文Word格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

完整版基于单片机的微型四旋翼飞行器毕业设计论文Word格式.docx

《完整版基于单片机的微型四旋翼飞行器毕业设计论文Word格式.docx》由会员分享,可在线阅读,更多相关《完整版基于单片机的微型四旋翼飞行器毕业设计论文Word格式.docx(23页珍藏版)》请在冰豆网上搜索。

完整版基于单片机的微型四旋翼飞行器毕业设计论文Word格式.docx

3四旋翼飞行器总体设计7

3.1功能模块划分7

3.2系统模块设计图7

3.3系统流程图8

3.4开发工具和开发框架介绍8

3.4.1AltiumDesigner6.9介绍8

3.4.2KeilforARM介绍9

3.4.3Serial_Digital_ScopeV2介绍9

4四旋翼飞行器详细方案设计10

4.1硬件模块的功能及设计10

4.1.1最小系统板STM32F103模块10

4.1.2低压差电源模块11

4.1.3倾角传感器模块11

4.1.4空心杯电机驱动模块12

4.1.5NRF24L01无线模块12

4.2驱动程序功能及设计13

4.2.1最小系统板初始化13

4.2.2MPU6050初始化13

4.2.3NRF24L01初始化13

4.2.4空心杯电机驱动初始化14

5四旋翼飞行器控制算法实现16

5.1角度及角速度数据处理算法16

5.1.1互补滤波器可行性分析16

5.1.2互补滤波器算法软件实现17

5.2姿态控制算法17

5.2.1PID控制算法可行性分析17

5.2.2PID控制算法软件实现18

5.2.3多维度控制量输出融合算法19

6四旋翼飞行器综合调试20

6.1基本功能实现20

6.1.1姿态角度数据采集功能20

6.1.2四旋翼飞行器遥控功能21

6.1.3电机多维度矢量输出功能21

6.2高级功能实现22

6.2.1姿态角度数据融合功能22

6.2.2四旋翼飞行器自平衡飞行功能23

结束语24

致谢25

参考文献26

附录A部分代码27

1绪论

1.1本课题的研究意义及必要性

信息时代,微电子技术及惯性传感器件的不断进步,使自平衡算法实现成为可能。

从地上跑的自平衡机器人到天上飞的无人飞行器都离不开这些微电子技术及惯性传感器。

这些“飞禽走兽”在危险领域的作业的突出表现,备受各国专家学者的关注。

从军用到民用,四旋翼飞行器由于其机械结构简单,制造成本低及简易的控制算法测试平台搭建,从而掀起了各个国家四旋翼飞行器爱好者的研究狂潮。

国防军工事业离不开无人飞行器,四旋翼飞行器的优异性能使它在侦查、监视、跟踪等任务中独领风骚;

现代农业,各式各样的四旋翼农药喷洒飞行器呼啸于各大农场的上空;

四旋翼飞行器的研究,不仅具有学术研究意义,还有可观的经济现实意义,是学以致用的重要实践过程。

1.2相关领域国内外研究现状及发展趋势

四旋翼飞行器广泛的应用范围和超高的实用价值促成了其在短时间成为热点,各国在四旋翼飞行器研究方面各有所长,以下是目前世界上比较出名的四旋翼飞行器研究成果:

(1)RC玩具公司Draganflyer飞行器

Draganflyer是玩具商业产品,系统集成了微控制器、无线遥控、三维度倾角传感器及角速度传感器,机身结构由轻质碳纤维及高密度尼龙搭建而成,DraganflyerX4-C是RC公司目前在卖的产品,售价2995美元,该产品长和宽都是47cm,最高工作直径为71cm,高度为25cm,可携带不超过320g的重物,该产品主要应用于航拍,底部加

装高清摄像头,如图1.1所示:

(2)Stanford的STARMAC测试平台

斯坦福大学在Drangonflyer平台上,重新设计控制系统,四轴飞行器上有:

微型控制芯片,倾角测量单元,蓝牙通讯单元,GPS定位模块,超声测距模块。

STARMAC能实现与上位机的通讯及相应的姿态预测、调整。

该飞行器多次应用卡尔曼滤波器对采集信号进行滤波,采集的信号有倾角传感器的测量值、超声波测距模块的高度值及GPS模块的定位数据。

应用卡尔曼滤波器能将飞行器真实的飞行姿态进行还原,从而提高系统的稳定性。

Stanford的STAMAC平台如图1.2所示:

(3)宾夕法尼亚大学大学的四轴飞行器

传遍全世界的TED视频,来自宾夕法尼亚大学的四轴飞行器依靠室内摄像头识别飞行器上标记球,完成各种飞行动作。

经典的表演令人连连称赞,倒立摆模型及水杯支撑飞行,其稳定性都给人留下了深刻的印象。

相关视频可以在优酷上的TED公开课视频中找到,此处给出飞行器图片,如图1.3所示:

(4)开源的四旋翼飞行器

乐在开源,互联网上有一些设计者将飞行器项目共享在互联网上,吸引了大量的研究人员投入到开源的圈子里,在这样的资源共享世界里,四旋翼飞行器得到了极大的发展,由于论文篇幅有限,在此只列举几个较出名的开源四轴飞行器项目,它们分别有:

KK四旋翼飞行器,德国的MK四轴飞行器,MWC四轴飞行器等。

四旋翼在未来,将变得更加的智能化,随着各种传感器的不断发展,四旋翼飞行器稳定性必将得到极大的提升,负重能力及续航能力都将大幅度提高。

在未来,四旋翼飞行器将大量应用于国防、工业、农业等领域。

智能时代,离不开这些智能化的产品。

1.3论文篇幅简介

本文共分为七部分,各个部分的内容简介如下:

第一部分:

绪论

本部分主要阐述四旋翼飞行器课题的研究意义和必要性并追溯其发展渊源,同时还介绍四旋翼飞行器的应用现状和发展趋势。

第二部分:

四旋翼飞行器系统分析

本部分对系统运动的基本原理进行分析并提出系统的功能要求,最后针对核心控制算法的可行性进行分析。

第三部分:

四旋翼飞行器总体方案设计

对四旋翼的功能模块进行划分并给出系统模块设计图及系统工作流程图,最后简单介绍本系统开发调试的平台工具。

第四部分:

四旋翼飞行器详细方案设计

本部分从硬件和软件两部分分别阐述系统的详细设计方案。

硬件方面有最小系统板、电源模块、倾角传感器、电机驱动、无线模块设计方案;

软件方面有对应硬件模块的初始化。

第五部分:

四旋翼飞行器控制算法实现

本部分提出应用互补滤波器来处理角度、角速度数据的想法并分析互补滤波器在本模型中的可行性,最后附上互补滤波器的软件实现思路;

运算出倾角后,提出应用PID来控制飞行器姿态的观点并分析可行性。

最后给出多维度矢量输出的实现算法。

第六部分:

四旋翼飞行器综合调试

该部分将展示四旋翼飞行器的基本功能实现和高级功能实现的效果。

基本功能包括四旋翼飞行姿态角度信号结果,四旋翼飞行器无线遥控调试结果,电机多维度矢量输出调试结果;

高级功能包括:

姿态角度数据融合功能和飞行器自平衡功能实现结果。

第七部分:

结束语

总结本次设计中的不足,提出相关的改进方案,总结本次毕业设计的收获,为后来人的研究提供些有用的建议。

完成毕业设计后,对今后的工作、研究提出指导性展望。

最后对本次毕业设计给予笔者帮助的所有人员致谢。

2四旋翼飞行器系统分析

2.1系统基本原理

作为无人飞行器研究的一重要分支,四旋翼飞行器因其简单的机械结构而备受瞩目,相对于庞大的无人机,四旋翼飞行器完美的机械结构更符合力学的各种定律。

也不像直升飞机那样,需要设计一个消除反作用旋转扭矩的桨叶。

如图2.1所示,四旋翼飞行器消除反作用旋转扭矩的功能与生俱来。

从图4可以看到,1、3号桨叶的逆时针旋转,反向扭矩的方向是顺时针方向,同理2、4号电机顺时针旋转,反力矩方向为逆时针,对角两组电机在旋转扭矩相等的情况下正好相互抵消。

如此巧妙的机械结构在控制算法和节省能量方面大有裨益。

系统无需提供额外的功率去抵消反作用旋转扭矩。

四旋翼飞行器可以实现多维度的运动姿态控制,最基本的姿态是自平衡悬停。

悬停的稳定性是完成所有动作的基础。

四旋翼的运动姿态可分为:

悬停、上升、下降、俯仰、翻滚、偏航六个运动状态。

当四旋翼飞行器的四个电机输出的合升力大于其本身所受重力时,在无外力作用下,四旋翼能一直保持上升飞行,反之则下降。

升力等于重力,四旋翼在悬停状态。

这是Z轴方向的三个运动形态。

当四旋翼飞行器的X轴方向的两个电机输出升力存在偏差,飞行器处在俯仰飞行姿态,这是常用的沿X轴行进的思路,其倾斜角与水平X轴的夹角叫做俯仰角。

当四旋翼飞行器的Y轴方向的两个电机输出升力存在偏差,飞行器处在翻滚飞行姿态,这个常用的沿Y轴行进的思路,其倾斜角与水平Y轴的夹角叫做翻滚角。

当四旋翼飞行器沿Z轴旋转时,其转过的角度称之为偏航角,该姿态依靠对角两组电机的反作用旋转扭矩失衡来实现偏航运动。

以上几种运动原理如图2.2所示:

2.2系统功能要求

基于互联网的开源资料,提出本系统的功能要求:

系统分为基础功能和高级功能,基础功能包括:

四旋翼飞行器姿态角度数据采集功能;

四旋翼飞行遥控功能;

四旋翼电机对维度矢量输出功能;

应用互补滤波器进行姿态角度融合功能;

四旋翼飞行器自平衡飞行功能。

2.3系统可行性分析

微电子技术及倾角传感技术的发展及高性能电机为四旋翼飞行器的搭建提供了硬件保证。

在此基础上,仅需要对系统模型的控制模型进行分析即可得知系统设计是否可行。

找到相应的数学模型,才能分析系统的可行性,站在巨人的肩膀上,建立了如下数学模型,如图4所示的机体坐标系A(oxyz)及空间惯性坐标系OXYZ,针对数学模型提出以下假设:

(1)四旋翼飞行器是一个刚体,质地均匀且完全对称

(2)质心与机体坐标原点重合

(3)四轴飞行器桨叶不发生形变

(4)四旋翼在各个维度的运动速度与四轴电机的输出呈线性关系

在此假设条件下,根据牛顿第二定律,四旋翼模型可以看成是转子旋转而产生空气动力的模型,其动力方程式如下:

方程式内,表示四旋翼飞行器惯性坐标原点到质心的长度;

m指四旋翼的质量。

建立三阶转动惯量矩阵及旋转角速度矩阵,经整理可得飞行器的动力模型方程:

桨叶可用以下状态方程描述,经转换后推出模型方程。

能找到四旋翼飞行器的数学模型说明该系统是可以用控制理论创造控制算法来控制飞行器的姿态,由此可以知道,该四旋翼飞行器的控制在理论上还有硬件设计上都是可行的。

详细模型推导过程,见参考文献[2]。

3四旋翼飞行器总体设计

3.1功能模块划分

系统可以划分成硬件和软件两大部分。

硬件包含搭载微控制器的最小系统板单元,低压差电源稳压模块,倾角传感器模块,高速空心杯电机驱动模块和NRF20L01无线遥控模块。

软件部分包括最小系统的驱动,各个外围模块的驱动程序,互补滤波器的软件实现,角度矢量融合及四旋翼飞行器的自平衡输出算法。

笔者在本次设计中重点做控制算法这一块,故会用比较大的篇幅来论述控制算法的实现及实际调试的一些总结、体会。

3.2系统模块设计图

由3.1的功能模块划分,可以得出以下系统模块设计图,本次设计的四旋翼飞行器将按照图3.1所示的各个模块进行设计。

3.3系统流程图

四旋翼飞行器的控制流程可以大致用图3.2所示的流程图来表示,在硬件平台的基础上面,系统要通过软件来完成相关的运算和控制量输出。

流程图只是一个大致的方向,其中的简单方框,可能包含大量的处理代码,看似简约的控制流程框图,但却不简单。

3.4开发工具和开发框架介绍

3.4.1AltiumDesigner6.9介绍

AltiumDesigner是Altium公司为电子产品开发设计者推出的一款集原理图设计、仿真、PCB布局绘制、拓扑逻辑自动布线、信号完整性分析等功能于一体的EDA软件。

本设计采用的是本公司的试用版的AltiumDesigner6.9进行双层PCB电路板的绘制。

应用到的功能有原理图库的封装设计,原理图设计,PCB库的封装设计,PCB规则设置及PCB布线布局等功能。

本次设计所绘制的电路板性能比较稳定,暂时还没发现任何问题。

AD公司的软件图标如图8所示。

3.4.2KeilforARM介绍

KeilforARM是KeilSoftware与ARM合作开发应用于ARM编程的软件编译环境,其优点是拥有极高的目标代码生成效率,紧凑的汇编代码转化;

C语音编程方面,结构性、可读性、可维护性更强,友好的编辑环境通俗易懂,在程序下载烧录方面,更是简单快捷。

3.4.3Serial_Digital_ScopeV2介绍

Serial_Digital_ScopeV2中文称虚拟数字示波器,通过调用互联网上提供的数据处理函数,移植到系统程序中,再应用微控制器的串口,向上位机发送虚拟示波器的四路采集数据,在调试互补滤波器、角度矢量输出、控制量输出特性观测的调试过程中,虚拟示波器是不可缺少的工具,在整个系统开发的过程中,大部分的调试结果都通过它来显示。

在此,向提供虚拟示波器函数库的前辈致敬。

虚拟示波器的界面如图3.4所示。

4四旋翼飞行器详细方案设计

本章节将从硬件及相应的驱动软件进行讲解四旋翼飞行器的详细方案设计。

4.1硬件模块的功能及设计

硬件模块包括最小系统板、电源、倾角传感器、空心杯电机驱动及NRF24L01无线遥控模块。

4.1.1最小系统板STM32F103模块

STM32F103是ST公司推出的一款基于ARM的32位增强型微处理芯片,该芯片是基于Cortex-M3CPU内核开发的,芯片自带512K的FLASH,丰富的GPIO资源,其复用引脚功能有USB、CAN、IIC、SPI、11个定时器、3个ADC和13个通信接口。

本次设计用到了GPIO、IIC、SPI、定时器、ADC这几个功能。

最小系统板的原理图如图4.1所示。

4.1.2低压差电源模块

航模动力电池提供的电压是3.7V最左右,这就决定了3.3V的电源稳压模块必须采用低压差的稳压芯片,LP2985贴片封装稳压芯片是一个不错的选择,在0.3V的范围内,该芯片都能输出稳定的3.3V直流电,其电路原理图如图4.2所示。

4.1.3倾角传感器模块

倾角传感器采用集成的MPU6050模块,该模块测量的倾角数据通过IIC通信协议传给控制器。

该芯片集成了6轴数据测量功能,分别为X、Y、Z轴角加速度和角速度。

同时,通过配置功能寄存器,还可以得到芯片内部自行融合的三轴角度值,除此之外,MPU6050还集成了基于地球磁场感应的三轴数据功能,加上该传感质量轻,输出数据平滑,是航模制作中常用的倾角传感器,其原理图如图4.3所示。

4.1.4空心杯电机驱动模块

820空心杯电机,5V电压转速达到5W转秒,电流0.15A。

四旋翼飞行器电机是单方向旋转,故只需设计半桥驱动即可,本设计采用AO3402N沟道MOS管设计半桥驱动,如图13所示,图中包含两路驱动,本设计需要四路驱动,IN4148的作用是续流二极管并加上电容改善功率因数及滤波。

详细设计见原理图4.4。

4.1.5NRF24L01无线模块

NRF24L01无线模块,通信频率在2.4GHZ频段,市面上卖该模块的商家很多,价格不贵,且专业化生产比自行设计的要稳定,故本设计采用的是模块化的NRF24L01无线模块,采用SPI通信协议实现与控制芯片的信息交换。

其原理图如图4.5所示。

4.2驱动程序功能及设计

硬件设备需要软件驱动才能拥有“灵魂”,本部分将附上各个模块的初始化函数库,因为论文篇幅有限,STM32的函数库,读者可以在工程中找到,笔者只给出调用的函数名。

4.2.1最小系统板初始化

最小系统板配置包括库函数引导,锁相环时钟配置,GPIO配置等,详细的参数配置详见程序注释。

RCC配置如图4.6所示。

4.2.2MPU6050初始化

MPU6050采用IIC通信协议通信,其配置流程如图4.7所示。

三部分的程序比较多,详细配置可查阅附录代码。

4.2.3NRF24L01初始化

NRF24L01模块采用的是SPI通信协议,SPI和IIC都是基于串行数据总线通信的协议,配置起来有许多相似的地方。

配置函数如图4.8所示。

NRF24L01实现遥控按键值与微控制器的指令交换,所有的控制命令和控制参数都可以通过NRF24L01来传递。

选择NRF是因为该模块通信距离远,通信速率快且频段在2.4GHz。

在市面上已经相当成熟。

价格也不高。

4.2.4空心杯电机驱动初始化

空心杯电机的转速通过调节PWM的占空比来实现,设定的频率为10K,100%占空比输出值为2000,采用定时器2作为PWM时钟,四旋翼飞行器一共用到4路PWM分别驱动4个空心杯电机。

选择PWM频率根据电机的特性来觉得,10K是一个理想的频率值,在此频率下,电机线性度良好,振动及噪声也相对要小很多。

详细的PWM配置见图4.9。

四旋翼飞行器最终的PCB图如图4.10所示,实拍图如图4.11所示。

5四旋翼飞行器控制算法实现

控制算法单独设成一章,足见控制算法的重要性,控制算法是一个机器的灵魂,本章将探讨四旋翼飞行器的控制算法。

5.1角度及角速度数据处理算法

MPU6050通过IIC传输回来的数据需要由字符型转换位short型,应用STM32F103微控制器的一个好处是从short型到float型无需强制装换,芯片内部自行转换。

认识到采集回来的数据类型是字符型,在数据处理时能少走许多弯路,详细问题解决笔者将在调试篇讲到。

5.1.1互补滤波器可行性分析

IIC采集回来的倾角数据是有噪声的,如图5.1所示。

在应用之前需要进行数字滤波。

数字滤波器有很多种,因为熟悉互补滤波器,笔者在本设计中采用了互补滤波器来进行数字滤波。

互补滤波的原理框图如图5.2所示。

有互补滤波器的原理图,可以得出如

(2)式所示的互补滤波器的数学模型,将互补滤波器拆分成两部分,加号左边构成高通滤波器,右边构成低通滤波器。

可以从陀螺仪和加速度计的物理特性来理解。

陀螺仪反映的是角速度,高频运动它的反应更灵敏而低频情况下,陀螺仪几乎没有值输出,这样的特性确定陀螺仪可以用作高通滤波器。

同理,加速度计在低频运动时输出最灵敏而到高频时输出灵敏度降低,具有低通滤波器的特性,故可以将加速度计视为低通滤波器。

由此将两者特性结合起来应用,可以满足滤除四旋翼飞行器倾角信号噪声的缺点,还原飞行器真实的角度。

由此论证互补滤波器在理论上是可行的。

5.1.2互补滤波器算法软件实现

由互补滤波器原理框图,可以得出得到如图5.3所示的算法。

在程序中已经做了详细的注释,此处不再重复。

参数整定将在调试部分讲解。

5.2姿态控制算法

四旋翼飞行器要稳定悬空飞行,需要稳定的控制算法。

笔者在本设计中采用经典的PID控制算法来完成飞行器的姿态控制。

5.2.1PID控制算法可行性分析

PID控制算法是比例、积分、微分、的第一个字母的大写构成的算法,分为位置式PID和增量式PID。

在自动控制理论课中证明过PID控制的诸多优点,笔者选择PID除了能从书本上的证明论证可行性之外,还从飞行器自身的特性来考虑。

由于论文篇幅有限,此时不再引申课本上论述PID可行性的例子而是通过笔者自身的理解来论证可行性。

首先,四旋翼飞行器通过互补滤波得到一个较真实的角度值,同时,还有在每个方向上都具有一个角速度值,从实验的波形可以发现,陀螺仪输出的角速度是超前于角加速度的;

其次,联系PID中的D,微分也具有一个超前预测变化趋势的作用,由此笔者想到了应用陀螺仪的值乘以一个系数Kd得到PID中的D。

然后,角度值与机体的角度看似呈线性变化的,联系PID中的比例分量,两者用着共同的物理意义,由此可以将角度值乘以一个Kp得到比例分量。

最后是积分分量,是否加积分量需要看前面的PD控制是否能满足四旋翼飞行器的自平衡,如果PD调节达到上限,系统还有静态偏差时,则加入积分加以修正。

在数学建模中常用类比的思想,总结出模型共同的物理特性,用已知的数学模型来替代未知的模型,再结合实际调试,总有得到真理的时候。

最后的结论是:

PID可以满足四旋翼飞行器的平衡控制。

5.2.2PID控制算法软件实现

如(3)式所示,PID控制器的微分方程,为了方便编程,需要将微分方程转化成如(4)式所示的位置式PID或(5)式所示的增量式PID。

本系统应用的是PID模型是根据硬件特性类比PID算法得出的控制算法,在编程上有一定的共同之处。

目前程序中只用到了PID,其框图如图5.4所示。

通过上述互补滤波得出的角度值与外部给定的角度值作差,得到偏差角度乘上比例系数nP加上nD乘以陀螺仪测回的角速度值,得到空心杯电机的PWM值。

其编程语句如图5.5所示。

5.2.3多维度控制量输出融合算法

四旋翼飞行器坐标系如图5.6所示,如果将X-Y轴的控制量输出进行分解,每个电机将得到两个轴的PWM。

分解成X-Y轴后在程序中分开处理XY轴,解析出控制量后,最进行输出量融合。

这样的方式能使四旋翼飞行器在XY平面内360°

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1