基于STM32四旋翼飞行控制系统毕业设计.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于STM32四旋翼飞行控制系统毕业设计.docx》由会员分享,可在线阅读,更多相关《基于STM32四旋翼飞行控制系统毕业设计.docx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于STM32四旋翼飞行控制系统毕业设计目 录 1前言 1 1.1背景与意义 1 1.2国内外探讨现状 1 1.3论文主要工作 2 2总体方案设计 3 2.1方案比较 3 2.2方案论证与选择 3 3飞行器原理与结构 5 3.1飞行器原理 5 3.2飞行器结构 6 4单元模块设计 8 4.1各单元模块功能介绍及电路设计 8 4.1.1电源 8 4.1.2 STM32F407最小系统 9 4.1.3 下载电路 11 4.1.4 飞控姿态模块 11 4.1.5 无刷电机连接电路 12 4.1.6 串口接口电路 12 4.2特别器件的介绍 12 4.2.1 无线数传模块 12 4.2.2 飞控姿态模
2、块 13 5软件设计 16 5.1软件设计原理及设计所用工具 16 5.2主要软件设计流程框图及说明 17 5.2.1串口中断流程图 17 5.2.2外部中断流程图 18 5.2.3主程序流程图 18 6系统调试 20 6.1 通信系统 20 6.2 姿态传感器调试 21 6.2.1 传感器数据分析与处理 21 6.2.2 姿态解算 23 6.2.3 数据中断 28 6.3 PID调试 30 6.3.1 PID姿态限制 30 6.3.2 飞控系统PID调试 33 7系统功能、指标参数 36 7.1系统能实现的功能 36 7.2系统指标参数 36 8结论 38 8.1 回顾 38 8.2 展望
3、38 9总结与体会 39 10谢辞 40 11参考文献 41 附录: 42 1.硬件电路图 42 2.PCB图 43 3.部分程序 44 4.外文翻译 46 1前言 1.1背景与意义 近年来得益于现代限制理论与电子限制技术的发展,四轴飞行器得到了广泛的关注,在民用与工业领域,具有广泛的应用前景。甚至无人机在斗争中得到广泛的应用。当下无人机发展火热,其中以四旋翼飞行器的发展最为突出。四旋翼飞行器其具有以下特点: (1)体积小巧,可以工作在恶劣的,危害人类健康和生命的环境中,最大限度地削减人员伤亡,飞行器可以全天工作无需休息,工作效率高。(2)支持配备高端电子产品,多种外设相连接,如照相机、机械臂
4、等,可以实现一些消遣功能。例如在高空电力线巡检中,无人机能在工作人员的操控下进行工作,可以代替人工对巡检对象实施接近检测,削减工人的劳动强度。也可以携带传感仪器、摄像机等,对巡检对象进行数据收集、分析与存储,这进一步提高巡检的工作效率和巡检精度。在军事上,在局部小规模对战的时候,一些一般的侦察机,可能受到敌方打击而造成不必要的机体人员伤亡,无人机则可以很好地起到替代作用。利用四旋翼飞行器作为侦察机,具有振动小、噪声小、牢靠性高、成本低、反侦察实力强、自我销毁等优势。因此无人机的军事价值不行估量。四旋翼飞行器还有着更为广袤的前景等待着开发。比如可以通过为飞行器的添加更加智能的算法实现人机互动,让
5、飞行器帮人取物件等。尽管目前四旋翼飞行器已经在很多领域得到运用,但总体而言照旧处于初步发展阶段。1.2国内外探讨现状 国际上比较知名的飞行器公司有中国大疆创新和美国的3D Robotics。作为全球无人机领域的领头羊,这两家公司在无人机技术发展速度可以用迅猛来形容。比如大疆公司最新的精灵4无人机,实物图如图1.1所示。 图1.1 精灵4实物图 精灵4具有以下功能: 1. 可感知前方障碍物并自动绕行。 2. 通过视觉识别自动跟拍移动物体。 3. 点击相机画面,即可向指引方向自主飞行。 4. 智能返航,感知障碍物后可自动提升飞行高度。 5. 最大飞行时间28分钟,最大可控距离约5公里。 6. 最高
6、速度提升至20m/s (72km/h)。 7. 一体化云台设计,提升了飞行和影像的稳定性。 8. 利用全新的视觉定位技术,可实现室内外精准定位。 又比如:3D Robotics公司最新出品的PIXHAWK飞控,拥有精彩飞行稳定性,搭载双传感器系统和冗余电源输入并且可以扩展两组GPS系统,确保飞行失误降到最低。这两家公司占据了全球大部分无人机市场,并且由于技术的高门槛和垄断,其他无人机公司已经被远远的甩在了后面。大部分的无人机公司的技术仅仅停留在稳定飞行、简洁航拍和户外GPS定位阶段。1.3论文主要工作 无人机作为当今电子产业里一个冉冉升起的新星,具有广袤的市场和发展前景。作为当代高校生,不仅要
7、顺应时代的潮流,更要有作为时代弄潮儿的信念与志气。四旋翼无人机涉及学问面很广泛,其中核心学问与本专业契合度相当高。比如,一颗功能强劲的微机芯片就可以打造一个功能完备的飞行限制系统。而这恰恰是微机原理和单片机的运用。主流无人机的限制系统离不开自动限制原理。并且目前无人机在电力行业的应用力度很大,综上,毕业设计选择了基于STM32 ARM单片机的四旋翼飞控系统。 受限于本人学问水平,本文解决以下问题: 第一章节:四旋翼飞行器探讨背景与意义,国内外发呈现状。 其次章节:就四旋翼飞行器方案探讨与选择,选择了基于STM32 ARM单片机的四旋翼飞行限制系统。第三章节:简洁叙述了飞行器飞行原理,以及机械结
8、构。第四章节:飞行限制系统硬件设计,其中包括单片机最小系统,各类模块接口等。第五章节:程序流程图,对程序流程进行简洁说明。第六章节:飞行器限制系统设计,包括传感器数据进行分析和处理,DMP姿态解算方式,配置中断实时更新当前飞行姿态数据。四旋翼飞行器的PID调试策略。第七章节:上位机与飞行器之间的通信系统,PID调试过程。 2总体方案设计 2.1方案比较 方案一:基于意大利开源硬件Arduino Nano作为数据处理,姿态结算的飞行限制系统。其飞行限制系统结构如图2.1所示。 图2.1 Arduino飞控系统结构图 方案二:采纳意法半导体的STM32F407VET6作为飞行器的主控芯片。其飞行限
9、制系统结构如图2.2所示。 图2.2 基于STM32飞控系统结构图 2.2方案论证与选择 方案一:Arduino Nano是基于Atmega328P AVR单片机的开源硬件,具有两个外部中断口,可以输出六路PWM波,兼备IIC,UART,SPI通信功能,总的来说,其具有丰富的片上资源和优秀的性能。对它编程运用的是Arduino C,这种C语言类似于标准C,但又针对Arduino系统做了大量的简化工作,供应了很多函数和库文件,但是通用性不高。Arduino虽然是已开源的飞行限制系统,吩咐是依靠无线遥控器发出的,这会额外增加遥控器的费用。另外Arduino通信协议未知,这并不利于增加代码后的调试工
10、作。 方案二:意法半导体的STM32F407VET6为CORTEX-M4内核,属于32位ARM微限制器,常用的编程软件是KEIL和IAR,编程语言可以是汇编,标准C语言,C+等,运用敏捷便利。友好的编译方式大大提高了代码的通用性和可移植性。STM32F407VET6具有卓越的性能,并不输于AVR的Atmega328P。这里采纳上位机传输吩咐给飞行限制系统,也简化了系统调试方式。最终考虑到资金、性价比和运用的难易程度选择方案二,基于STM32F407VET6 单片机的飞行限制系统。 3飞行器原理与结构 3.1飞行器原理 四轴飞行器具有两种不同的飞行模式: X 型与十字型。X型飞行方式的四旋翼飞行
11、器姿态变更的方向与机身成一个45度角,十字型飞行方式四旋翼飞行器姿态变更方向与飞行器机身相同。因为采纳X型飞行方式的飞行器具有更好的限制灵敏度与稳定性,所以选择了X型的飞行方式。两种工作模式如图3.1所示。 Y X Y X 图3.1 X 型(左)与十字型(右)飞行方式图 四旋翼飞行器的四个螺旋桨都是电机直连的结构,通过变更电机转速获得旋转机身的力,从而调整自身姿态。在飞行器飞行过程中,螺旋桨会产生两个力,一个是升力,一个是与螺旋桨转向相反的反扭矩。反扭矩会使飞行器沿着螺旋桨旋转的方向自旋,假如不抵消反扭矩会让飞行器始终自转,这会影响飞行器的飞行。四旋翼飞行器通过安排四只螺旋桨的转一直抵消各个螺
12、旋桨产生的反扭矩。以X 型飞行方式为例,按顺时针方向为每个电机编号,右上角电机为1号电机,依次编号1、2、3、4。并将1、2号螺旋桨所在的轴向方向定义为X轴方向,即机头。3、4号螺旋桨所在的轴向方向定义为Y轴方向。为了抵消螺旋桨的反扭矩,1、3号螺旋桨须要顺时针转动,2、4号螺旋桨须要逆时针转动,即对角线上的螺旋角旋转方向相同,以此抵消相互之间的反扭矩。四旋翼飞行器的飞行方向与速度都是由飞行器的倾角确定的,并且飞行器倾斜的角度越大,飞行速度也就越快。通过调整各个电机的转速可以达到限制飞行器姿态、速度、甚至是飞行路径的效果。其中,四旋翼飞行器飞行的姿态主要是高度、俯仰角(Pitch)、横滚角(R
13、oll)、偏航角(Yaw),可以接着细分为:上升、下降、前倾、后倾、左倾、右倾、左旋、右旋。(1) 高度:使四个螺旋桨转速相同,当其同时加速时,螺旋桨升力变大,当升力大于飞行器重力时,飞行器拥有向上运动的加速度,飞行器上升;当四个螺旋桨同时减速时,螺旋桨产生的升力变小,当升力小于飞行器重力时,飞行器拥有向下运动的加速度,飞行器下降。 (2) Pitch:就是围着Y轴方向旋转,所进行的限制为1,2号电机转述同等减小,3,4号电机转述同等增大,飞行器往前倾;反之,会后倾。 (3)Roll:与俯仰限制相像,横滚就是围着X轴方向旋转,1,4号电机转述同等减小,2,3机转述同等增加,产生右倾;反之,会左
14、倾。 (4)Yaw:同理可得,就是飞行器围着Z轴旋转。当1、3号电机转述同等减小,其反扭矩和升力减小,并且2、4号电机转述同等增加,其反扭矩和升力增加,由于反扭矩出现不平衡,会使飞行器向右转,反之,会使飞行器向左转。 3.2飞行器结构 采纳的机架型号为 F360,轴距360mm。螺旋桨型号是1047型。电机采纳的是朗宇X2212,980KV无刷电机,即每加1V的电压,电机每分钟980转,电机转速大约是10878转分。通常四旋翼飞行器配2200mah的电池。电调为好盈天行者30A的电子调速器,整个飞行系统用锂电池供电。电机实物图如图3.2所示,电子调速器实物图如图3.3所示。 图3.2 朗宇电机
15、实物图 图3.3 电子调速器实物图 飞行器组装完成后如图3.4所示 图3.4 飞行器实物图 4单元模块设计 4.1各单元模块功能介绍及电路设计 飞行限制系统的硬件结构遵从于方案二的结构框图,即图2.2。以下就重要的单元模块做介绍。 4.1.1电源 LM1117为低压差电压调整器。其压差输出为1.2V时,负载电流为800mA。它与国家半导体的工业标准器件LM317有相同的管脚排列。LM1117有可调电压的版本,通过2个外部电阻可实现1.2513.8V输出电压范围。另外还有5个固定电压输出(1.8V、2.5V、2.85V、3.3V和5V)的型号。因为设计的飞行器的主控芯片是3.3V的。所以选取固定
16、输出为3.3V的LM1117。LM1117供应电流限制和热爱护。输出电压的精度在1%以内。LM1117系列具有LLP、TO-263、SOT-223、TO-220和TO-252、D-PAK等多种封装。飞行器为了提高续航实力,要尽量减轻自身重量,所以这里选取的是SOT-223封装。在电路设计的输出端须要并联一个至少10uF的钽电容来改善瞬态响应和稳定性。LM1117电气特性如表4.1所示。 表4.1 电气特性表-LM1117 符号 参数 测试条件 最小值 典型值 最大值 单位 VREF 基准 电压 LM1117-ADJ IOUT=10mA, VIN-VOUT=2V, TJ=25C 10mAIOUT
17、800mA, 1.4VVIN-VOUT10V 1.238 1.225 1.250 1.250 1.262 1.270 V V VOUT 输 出 电 压 LM1117-1.8 IOUT=10mA, VIN=3.8V, TJ=25C 0IOUT800mA, 3.2VVIN10V 1.782 1.746 1.800 1.800 1.818 1.854 V V LM1117-2.5 IOUT=10mA, VIN=4.5V, TJ=25C 0IOUT800mA, 3.9VVIN10V 2.475 2.450 2.500 2.500 2.525 2.550 V V LM1117-2.85 IOUT=10m
18、A, VIN=4.85V, TJ=25C 0IOUT800mA, 4.25VVIN10V 0IOUT500mA, VIN=4.10V 2.820 2.790 2.790 2.850 2.850 2.850 2.880 2.910 2.910 V V V LM1117-3.3 IOUT=10mA, VIN=5V TJ=25C 0IOUT800mA, 4.75VVIN10V 3.267 3.235 3.300 3.300 3.333 3.365 V V VOUT 压差 LM1117-3.3 IOUT=0mA, 4.75VVIN15V 1 6 mV 电源模块的原理图如图4.1所示。图里的5V电源来源
19、于电子调速器的BEC降压系统。 图4.1 电源模块电路图 4.1.2 STM32F407最小系统 STM32F407VET6是意法半导体基于CORTEX-M4内核的芯片,STM32F407拥有的资源包括:集成FPU和DSP指令,并具有192KBSRAM、1024KB FLASH、12个16位定时器、2个32位定时器、2个DMA限制器(共16个通道)、3个SPI、2个全双工I2S、3个IIC、6个串口、2个USB(支持 HOST /SLAVE)、2个CAN、3个 12位ADC、2个12位DAC、1个RTC(带日历功能)、1个SDIO 接口、1个FSMC接口、1个10/100M以太网MAC限制器、
20、1个摄像头接口、1个硬件随机数生成器、以及112个通用IO口等。该芯片的配置非常强悍,具有卓越的性能。相对STM32F1来说,很多功能进行了重大改进。STM32最小系统电路图如图4.2所示。 图4.2 STM32最小系统电路图 STM32上电复位后默认运用内部晶振(精度8MHz左右),为了让飞行限制板稳定工作,这里选择了外接8MHz的晶振,在程序里切换为运用外部8MHz晶振,并通过芯片自带的锁相环PLL倍频到168MHz。所以须要修改系统时钟配置System_stm32f4xx.c文件,把PLL第一级分频系数M修改为8,这样才能让主时钟频率达到168MHz。 在STM32F40xx里,可以通过
21、BOOT1:0引脚选择三种不同启动模式。一般我们选用从主闪存存储器启动。启动模式如表4.2所示。表4.2 启动模式-STM32 启动模式选择引脚 启动模式 说明 BOOT1 BOOT0 X 0 主闪存存储器 主闪存存储器被选为启动区域 0 1 系统存储器 系统存储器被选为启动区域 1 1 内置SRAM 内置SRAM被选为启动区域 依据选定的启动模式,主闪存存储器、系统存储器或SRAM可以根据以下方式访问: 从主闪存存储器启动:主闪存存储器被映射到启动空间(0x0000 0000),但仍旧能够在它原有的地址(0x0800 0000)访问它,即闪存存储器的内容可以在两个地址区域访问, 0x0000
22、0000或0x0800 0000。 从系统存储器启动:系统存储器被映射到启动空间(0x0000 0000),但仍旧能够在它原有的地址(互联型产品原有地址为0x1FFF B000,其它产品原有地址为0x1FFF F000)访问它。 从内置SRAM启动:只能在0x2000 0000起先的地址区访问SRAM。留意:当从内置SRAM启动,在应用程序的初始化代码中,必需运用NVIC的异样表和偏移寄存器,从新映射向量表之SRAM中。 4.1.3 下载电路 假如采纳用串口烧录程序,必需先配置BOOT0为1,BOOT1为0,然后按复位键,最终再通过程序下载代码,下载完以后将BOOT0置GND,复位后运行代码。
23、这里采纳了jlink(SWD)下载方式,须要接:jlink的第1脚(VDD)、第7脚(TMS/SWDIO对应STM32的PA13)、第9脚(TCK/SWCLK对应STM32的PA14)、第4.6.8.10.12.14.16.18.20中的随意一个脚(地脚)、第15脚(RESET对应STM32的NRST)。SW模式下载电路如图4.3所示。 图4.3 SW模式下载电路图 4.1.4 飞控姿态模块 性能良好的飞控传感器是飞行器稳定飞行重要保证,GY-86模块上集成了陀螺仪、加速度计、磁力计和气压计,很适合飞行器上运用。GY-86模块与飞行限制系统连接电路图如图4.4所示。 图4.4 GY-86模块连
24、接电路图 4.1.5 无刷电机连接电路 无刷电机依靠PWM波来驱动,PWM波通过电子调速器输送到无刷电机,电子调速器有3个接口,VCC,GND和Mx。在电路板上须要给出连接口。如图4.5所示。 图4.5 无刷电机接口电路图 4.1.6 串口接口电路 如图4.6所示,将单片机上的串口一一引出,主要作用是连接无线数传模块,用于收发上位机吩咐。其余串口接口可用来外扩模块,如超声波模块和GPS。 图4.6 串口接口电路图 4.2特别器件的介绍 4.2.1 无线数传模块 CC1101无线数传模块,体积小巧,尺寸仅为1.45*2.8CM,操作简洁,工作频段为433MHZ,穿透实力强,可干脆和51、AVR、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 四旋翼 飞行 控制系统 毕业设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内