基于STM32的四旋翼飞行控制系统毕业设计.doc

上传人:wj 文档编号:8856714 上传时间:2023-05-15 格式:DOC 页数:49 大小:36.54MB
下载 相关 举报
基于STM32的四旋翼飞行控制系统毕业设计.doc_第1页
第1页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第2页
第2页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第3页
第3页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第4页
第4页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第5页
第5页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第6页
第6页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第7页
第7页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第8页
第8页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第9页
第9页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第10页
第10页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第11页
第11页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第12页
第12页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第13页
第13页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第14页
第14页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第15页
第15页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第16页
第16页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第17页
第17页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第18页
第18页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第19页
第19页 / 共49页
基于STM32的四旋翼飞行控制系统毕业设计.doc_第20页
第20页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于STM32的四旋翼飞行控制系统毕业设计.doc

《基于STM32的四旋翼飞行控制系统毕业设计.doc》由会员分享,可在线阅读,更多相关《基于STM32的四旋翼飞行控制系统毕业设计.doc(49页珍藏版)》请在冰点文库上搜索。

基于STM32的四旋翼飞行控制系统毕业设计.doc

西华大学毕业设计说明书

目录

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.2STM32F407最小系统 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飞控姿态模块 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.3PID调试 30

6.3.1PID姿态控制 30

6.3.2飞控系统PID调试 33

7系统功能、指标参数 36

7.1系统能实现的功能 36

7.2系统指标参数 36

8结论 38

8.1回顾 38

8.2展望 38

9总结与体会 39

10谢辞 40

11参考文献 41

附录:

42

1.硬件电路图 42

2.PCB图 43

3.部分程序 44

4.外文翻译 46

1前言

1.1背景与意义

近年来得益于现代控制理论与电子控制技术的发展,四轴飞行器得到了广泛的关注,在民用与工业领域,具有广泛的应用前景。

甚至无人机在战争中得到广泛的应用。

当下无人机发展火热,其中以四旋翼飞行器的发展最为突出。

四旋翼飞行器其具有以下特点:

(1)体积小巧,可以工作在恶劣的,危害人类健康和生命的环境中,最大限度地减少人员伤亡,飞行器可以全天工作无需休息,工作效率高。

(2)支持配备高端电子产品,多种外设相连接,如照相机、机械臂等,可以实现一些娱乐功能。

例如在高空电力线巡检中,无人机能在工作人员的操控下进行工作,可以代替人工对巡检对象实施接近检测,减少工人的劳动强度。

也可以携带传感仪器、摄像机等,对巡检对象进行数据收集、分析与存储,这进一步提高巡检的工作效率和巡检精度。

在军事上,在局部小规模对战的时候,一些普通的侦察机,可能受到敌方打击而造成不必要的机体人员伤亡,无人机则可以很好地起到替代作用。

利用四旋翼飞行器作为侦察机,具有振动小、噪声小、可靠性高、成本低、反侦察能力强、自我销毁等优势。

因此无人机的军事价值不可估量。

四旋翼飞行器还有着更为广阔的前景等待着开发。

比如可以通过为飞行器的添加更加智能的算法实现人机互动,让飞行器帮人取物件等。

尽管目前四旋翼飞行器已经在许多领域得到运用,但总体而言依旧处于初步发展阶段。

1.2国内外研究现状

国际上比较知名的飞行器公司有中国大疆创新和美国的3DRobotics。

作为全球无人机领域的领头羊,这两家公司在无人机技术发展速度可以用迅猛来形容。

比如大疆公司最新的精灵4无人机,实物图如图1.1所示。

图1.1精灵4实物图

精灵4具有以下功能:

1.可感知前方障碍物并自动绕行。

2.通过视觉识别自动跟拍移动物体。

3.点击相机画面,即可向指点方向自主飞行。

4.智能返航,感知障碍物后可自动提升飞行高度。

5.最大飞行时间28分钟,最大可控距离约5公里。

6.最高速度提升至20m/s(72km/h)。

7.一体化云台设计,提升了飞行和影像的稳定性。

8.利用全新的视觉定位技术,可实现室内外精准定位。

又比如:

3DRobotics公司最新出品的PIXHAWK飞控,拥有出色飞行稳定性,搭载双传感器系统和冗余电源输入并且可以扩展两组GPS系统,确保飞行失误降到最低。

这两家公司占领了全球大部分无人机市场,并且由于技术的高门槛和垄断,其他无人机公司已经被远远的甩在了后面。

大部分的无人机公司的技术仅仅停留在稳定飞行、简单航拍和户外GPS定位阶段。

1.3论文主要工作

无人机作为当今电子产业里一个冉冉升起的新星,具有广阔的市场和发展前景。

作为当代大学生,不仅要顺应时代的潮流,更要有作为时代弄潮儿的信心与勇气。

四旋翼无人机涉及知识面很广泛,其中核心知识与本专业契合度相当高。

比如,一颗功能强劲的微机芯片就可以打造一个功能完备的飞行控制系统。

而这恰恰是微机原理和单片机的运用。

主流无人机的控制系统离不开自动控制原理。

并且目前无人机在电力行业的应用力度很大,综上,毕业设计选择了基于STM32ARM单片机的四旋翼飞控系统。

受限于本人知识水平,本文解决以下问题:

第一章节:

四旋翼飞行器研究背景与意义,国内外发展现状。

第二章节:

就四旋翼飞行器方案讨论与选择,选择了基于STM32ARM单片机的四旋翼飞行控制系统。

第三章节:

简单叙述了飞行器飞行原理,以及机械结构。

第四章节:

飞行控制系统硬件设计,其中包括单片机最小系统,各类模块接口等。

第五章节:

程序流程图,对程序流程进行简单说明。

第六章节:

飞行器控制系统设计,包括传感器数据进行分析和处理,DMP姿态解算方式,配置中断实时更新当前飞行姿态数据。

四旋翼飞行器的PID调试策略。

第七章节:

上位机与飞行器之间的通信系统,PID调试过程。

2总体方案设计

2.1方案比较

方案一:

基于意大利开源硬件ArduinoNano作为数据处理,姿态结算的飞行控制系统。

其飞行控制系统结构如图2.1所示。

图2.1Arduino飞控系统结构图

方案二:

采用意法半导体的STM32F407VET6作为飞行器的主控芯片。

其飞行控制系统结构如图2.2所示。

图2.2基于STM32飞控系统结构图

2.2方案论证与选择

方案一:

ArduinoNano是基于Atmega328PAVR单片机的开源硬件,具有两个外部中断口,可以输出六路PWM波,兼备IIC,UART,SPI通信功能,总的来说,其具有丰富的片上资源和优秀的性能。

对它编程使用的是ArduinoC,这种C语言类似于标准C,但又针对Arduino系统做了大量的简化工作,提供了许多函数和库文件,但是通用性不高。

Arduino虽然是已开源的飞行控制系统,命令是依靠无线遥控器发出的,这会额外增加遥控器的费用。

另外Arduino通信协议未知,这并不利于增添代码后的调试工作。

方案二:

意法半导体的STM32F407VET6为CORTEX-M4内核,属于32位ARM微控制器,常用的编程软件是KEIL和IAR,编程语言可以是汇编,标准C语言,C++等,使用灵活方便。

友好的编译方式大大提高了代码的通用性和可移植性。

STM32F407VET6具有卓越的性能,并不输于AVR的Atmega328P。

这里采用上位机传输命令给飞行控制系统,也简化了系统调试方式。

最后考虑到资金、性价比和使用的难易程度选择方案二,基于STM32F407VET6单片机的飞行控制系统。

3飞行器原理与结构

3.1飞行器原理

四轴飞行器具有两种不同的飞行模式:

X型与十字型。

X型飞行方式的四旋翼飞行器姿态改变的方向与机身成一个45度角,十字型飞行方式四旋翼飞行器姿态改变方向与飞行器机身相同。

因为采用X型飞行方式的飞行器具有更好的控制灵敏度与稳定性,所以选择了X型的飞行方式。

两种工作模式如图3.1所示。

Y

X

Y

X

图3.1X型(左)与十字型(右)飞行方式图

四旋翼飞行器的四个螺旋桨都是电机直连的结构,通过改变电机转速获得旋转机身的力,从而调整自身姿态。

在飞行器飞行过程中,螺旋桨会产生两个力,一个是升力,一个是与螺旋桨转向相反的反扭矩。

反扭矩会使飞行器沿着螺旋桨旋转的方向自旋,如果不抵消反扭矩会让飞行器一直自转,这会影响飞行器的飞行。

四旋翼飞行器通过分配四只螺旋桨的转向来抵消各个螺旋桨产生的反扭矩。

以X型飞行方式为例,按顺时针方向为每个电机编号,右上角电机为1号电机,依次编号1、2、3、4。

并将1、2号螺旋桨所在的轴向方向定义为X轴方向,即机头。

3、4号螺旋桨所在的轴向方向定义为Y轴方向。

为了抵消螺旋桨的反扭矩,1、3号螺旋桨需要顺时针转动,2、4号螺旋桨需要逆时针转动,即对角线上的螺旋角旋转方向相同,以此抵消相互之间的反扭矩。

四旋翼飞行器的飞行方向与速度都是由飞行器的倾角决定的,并且飞行器倾斜的角度越大,飞行速度也就越快。

通过调节各个电机的转速可以达到控制飞行器姿态、速度、甚至是飞行路径的效果。

其中,四旋翼飞行器飞行的姿态主要是高度、俯仰角(Pitch)、横滚角(Roll)、偏航角(Yaw),可以继续细分为:

上升、下降、前倾、后倾、左倾、右倾、左旋、右旋。

(1)高度:

使四个螺旋桨转速相同,当其同时加速时,螺旋桨升力变大,当升力大于飞行器重力时,飞行器拥有向上运动的加速度,飞行器上升;当四个螺旋桨同时减速时,螺旋桨产生的升力变小,当升力小于飞行器重力时,飞行器拥有向下运动的加速度,飞行器下降。

(2)Pitch:

就是绕着Y轴方向旋转,所进行的控制为1,2号电机转述同等减小,3,4号电机转述同等增大,飞行器往前倾;反之,会后倾。

(3)Roll:

与俯仰控制相似,横滚就是绕着X轴方向旋转,1,4号电机转述同等减小,2,3机转述同等增加,产生右倾;反之,会左倾。

(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朗宇电机实物图

图3.3电子调速器实物图

飞行器组装完成后如图3.4所示

图3.4飞行器实物图

4单元模块设计

4.1各单元模块功能介绍及电路设计

飞行控制系统的硬件结构遵从于方案二的结构框图,即图2.2。

以下就重要的单元模块做介绍。

4.1.1电源

LM1117为低压差电压调节器。

其压差输出为1.2V时,负载电流为800mA。

它与国家半导体的工业标准器件LM317有相同的管脚排列。

LM1117有可调电压的版本,通过2个外部电阻可实现1.25~13.8V输出电压范围。

另外还有5个固定电压输出(1.8V、2.5V、2.85V、3.3V和5V)的型号。

因为设计的飞行器的主控芯片是3.3V的。

所以选取固定输出为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=25˚C

10mA≤IOUT≤800mA,

1.4V≤VIN-VOUT≤10V

1.238

1.225

1.250

1.250

1.262

1.270

V

V

VOUT

LM1117-1.8

IOUT=10mA,VIN=3.8V,TJ=25˚C

0≤IOUT≤800mA,3.2V≤VIN≤10V

1.782

1.746

1.800

1.800

1.818

1.854

V

V

LM1117-2.5

IOUT=10mA,VIN=4.5V,TJ=25˚C

0≤IOUT≤800mA,3.9V≤VIN≤10V

2.475

2.450

2.500

2.500

2.525

2.550

V

V

LM1117-2.85

IOUT=10mA,VIN=4.85V,TJ=25˚C

0≤IOUT≤800mA,4.25V≤VIN≤10V

0≤IOUT≤500mA,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=5VTJ=25˚C

0≤IOUT≤800mA,4.75V≤VIN≤10V

3.267

3.235

3.300

3.300

3.333

3.365

V

V

∆VOUT

压差

LM1117-3.3

IOUT=0mA,4.75V≤VIN≤15V

1

6

mV

电源模块的原理图如图4.1所示。

图里的5V电源来源于电子调速器的BEC降压系统。

图4.1电源模块电路图

4.1.2STM32F407最小系统

STM32F407VET6是意法半导体基于CORTEX-M4内核的芯片,STM32F407拥有的资源包括:

集成FPU和DSP指令,并具有192KBSRAM、1024KBFLASH、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控制器、1个摄像头接口、1个硬件随机数生成器、以及112个通用IO口等。

该芯片的配置十分强悍,具有卓越的性能。

相对STM32F1来说,许多功能进行了重大改进。

STM32最小系统电路图如图4.2所示。

图4.2STM32最小系统电路图

STM32上电复位后默认使用内部晶振(精度8MHz左右),为了让飞行控制板稳定工作,这里选择了外接8MHz的晶振,在程序里切换为使用外部8MHz晶振,并通过芯片自带的锁相环PLL倍频到168MHz。

所以需要修改系统时钟配置System_stm32f4xx.c文件,把PLL第一级分频系数M修改为8,这样才能让主时钟频率达到168MHz。

在STM32F40xx里,可以通过BOOT[1:

0]引脚选择三种不同启动模式。

一般我们选用从主闪存存储器启动。

启动模式如表4.2所示。

表4.2启动模式-STM32

启动模式选择引脚

启动模式

说明

BOOT1

BOOT0

X

0

主闪存存储器

主闪存存储器被选为启动区域

0

1

系统存储器

系统存储器被选为启动区域

1

1

内置SRAM

内置SRAM被选为启动区域

根据选定的启动模式,主闪存存储器、系统存储器或SRAM可以按照以下方式访问:

●从主闪存存储器启动:

主闪存存储器被映射到启动空间(0x00000000),但仍然能够在它原有的地址(0x08000000)访问它,即闪存存储器的内容可以在两个地址区域访问,0x00000000或0x08000000。

●从系统存储器启动:

系统存储器被映射到启动空间(0x00000000),但仍然能够在它原有的地址(互联型产品原有地址为0x1FFFB000,其它产品原有地址为0x1FFFF000)访问它。

●从内置SRAM启动:

只能在0x20000000开始的地址区访问SRAM。

注意:

当从内置SRAM启动,在应用程序的初始化代码中,必须使用NVIC的异常表和偏移寄存器,从新映射向量表之SRAM中。

4.1.3下载电路

如果采用用串口烧录程序,必须先配置BOOT0为1,BOOT1为0,然后按复位键,最后再通过程序下载代码,下载完以后将BOOT0置GND,复位后运行代码。

这里采用了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.3SW模式下载电路图

4.1.4飞控姿态模块

性能良好的飞控传感器是飞行器稳定飞行重要保证,GY-86模块上集成了陀螺仪、加速度计、磁力计和气压计,很适合飞行器上使用。

GY-86模块与飞行控制系统连接电路图如图4.4所示。

图4.4GY-86模块连接电路图

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、STM8、STM32、MSP430、PIC等单片机的串口相连接。

实物图如图4.7所示。

图4.7无线数传模块图

CC1101无线数传模块和STM32单片机串口连接后,串口就可以实现远距离无线收发数据,这样的好处就是减少了调试难度,因为如果不使用无线数传模块的话,就只有另购NRF24L01通信模块,这会增添代码量,加大调试难度。

4.2.2飞控姿态模块

选择GY-86模块的原因是其集成度很高,实物图如图4.8所示。

图4.8GY-86模块实物图

模块上的MPU6050是InvenSense公司推出的全球首款整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之轴间差的问题,减少了安装空间。

MPU6050内部整合了3轴陀螺仪和3轴加速度传感器,并且含有一个第二IIC接口,可用于连接外部传感器,并利用数字运动处理器(DMP:

DigitalMotionProcessor)硬件加速引擎,通过主IIC接口,向应用端输出完整的9轴融合演算数据。

有了DMP,我们可以使用InvenSense公司提供的运动处理资料库,实现姿态解算,降低了运动处理运算对操作系统的负荷,同时大大降低了开发难度。

MPU6050芯片实物图如图4.9所示。

图4.9MPU6050芯片实物图

MPU6050的特点包括:

①以数字形式输出6轴或9轴(需外接磁传感器)的旋转矩阵、四元数(quaternion)、欧拉角格式(EulerAngleforma)的融合演算数据(需DMP支持)。

②具有131LSBs/°/sec敏感度与全格感测范围为±250、±500、±1000与±2000°/sec的3轴角速度感测器(陀螺仪)。

③集成可程序控制,范围为±2g、±4g、±8g和±16g的3轴加速度传感器。

④移除加速器与陀螺仪轴间敏感度,降低设定给予的影响与感测器的飘移。

⑤自带数字运动处理(DMP:

DigitalMotionProcessing)引擎可减少MCU复杂的融合演算数据、感测器同步化、姿势感应等的负荷。

⑥内建运作时间偏差与磁力感测器校正演算技术,免除了客户须另外进行校正的需求。

⑦自带一个数字温度传感器。

⑧带数字输入同步引脚(Syncpin)支持视频电子影相稳定技术与GPS。

⑨可程序控制的中断(interrupt),支持姿势识别、摇摄、画面放大缩小、滚动、快速下降中断、high-G中断、零动作感应、触击感应、摇动感应功能。

⑩VDD供电电压为2.5V±5%、3.0V±5%、3.3V±5%;VLOGIC可低至1.8V±5%。

⑪陀螺仪工作电流:

5mA,陀螺仪待机电流:

5uA;加速器工作电流:

500uA,加速器省电模式电流:

40uA@10Hz。

⑫自带1024字节FIFO,有助于降低系统功耗。

⑬高达400Khz的IIC通信接口。

⑭超小封装尺寸:

4x4x0.9mm(QFN)。

MPU6050芯片工作电路图如图4.10所示。

图4.10MPU6050芯片工作电路图

MPU6050主要用于采集飞行器飞行时X,Y,Z三个轴上的加速度和偏转角速度。

具体的讲,陀螺仪的测量物理量是偏转、倾斜时的转动角速度和坐标轴上的线加速度。

MPU6050内部通过MEMS工艺做出了一个参考坐标系,当芯片随着飞行器动作时,芯片的坐标相对参考坐标发生旋转时,芯片会读出这个差异。

经过芯片内部处理后,会输出一个绕坐标轴旋转的角速度。

MPU6050芯片坐标轴分布如图4.11所示。

图4.11MPU6050芯片坐标轴分布图

关于加速度的测量其实是当物体在加速过程中作用在物体上的力,这里需要注意的是在地球上任何物体都会受到地球给的重力,芯片也不例外,所以X,Y,Z坐标轴上测得的加速度包含了重力在三个坐标轴上的重力加速度分量。

5软件设计

5.1软件设计原理及设计所用工具

上位机采用Labwindows制作。

Labwindows是美国国家仪器公司推出的交互式C语言开发平台。

可编写检测系统、数据采集系统等应用软件。

用于数据采集分析和显示。

软件界面如图5.1所示。

图5.1LabWindows界面图

STM32F407芯片使用C语言软件开发系统KEIL开发。

KEIL提供了包括C编译器和功能强大的仿真调试等在内的完整开发方案。

操作界面如图5.2所示。

图5.2KEIL操作界面图

5.2主要软件设计流程框图及说明

5.2.1串口中断流程图

无线数传模块连接在串口上,当串口有中断发生时,说明接收到上位机命令,需要处理串口数据。

串口中断流程图如图5.3所示。

进入串口中断

接收中断数据

处理数据

串口标志位置1

结束

图5.3串口中断流程图

5.2.2外部中断流程图

GY-86飞控姿态模块的数据就绪中断连接在单片机外部中断的管脚上,当STM32F407接收到外部中断时,说明一组飞行器姿态数据已经就绪,需要进行姿态解算。

外部中断流程图如图5.4所示。

进入外部中断

读取模块数据

姿态解算

DMP标志位置1

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

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2