多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现_第1页
多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现_第2页
多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现_第3页
多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现_第4页
多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现_第5页
已阅读5页,还剩356页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

奚海蛟多旋翼无人机飞行器嵌入式飞控开发实战技术支持、合作联系作者抖音号:无人机基本组成1无人机基本组成2无人机结构与飞行控制原理3无人机系统设计无人机的介绍

无人机,也称无人飞行器UAV(Unmannedaerialvehicle),是一种配备了数据处理系统,传感器,自动控制系统和通信系统等必要机载设备的飞行器,能够进行一定的稳态控制和飞行,一定的自主飞行而无需人工干预。无人机技术是一项涉及多个技术领域的综合系统,它对通信技术、传感器技术、人工智能技术、图像处理技术、控制理论都有较深的应用和较高的要求。固定翼无人飞行器续航时间最长飞行效率最高载荷最大起飞需要助跑降落需要滑行对场地要求较高优点缺点无人飞艇留空时间可以较长悬停方便安全可靠控制也较简单起飞需要助跑降落需要滑行对场地要求较高优点缺点伞翼无人飞行器轻巧速度较慢成本较低适合于低空飞行不能在较高的高度飞行动力较小易受强风影响机体过轻,受侧风影响较强烈优点缺点扑翼无人飞行器

基于仿生学原理,配备的活动机翼能够模拟飞鸟的翅膀上下扑动的动作从而产生升力和向前的推动力,又称振翼机。简介旋翼无人飞行器可以垂直起降对场地要求很低机械结构简单易维护保养控制简单载重较低续航时间较短优点缺点多旋翼无人机应用领域交通安防巡查农林植保消防救援灾害救援城市管理规划影视航拍电力巡线探矿测绘机架系统

优点是美观,可靠,性能一致性较好,一般价格相对不低,主要面向的是普通消费者玩家或者初学者。

缺点是更换零件比较麻烦,维修成本较高,一般都需要找原厂维修,无法自行更换零件。一体机

优点是可组装,可塑性,可外挂各种实验负载,方便维修以及更换升级零件。

缺点是需要有较深厚的经验,并且系统的稳定性可能会受到装配校准等方面的问题的影响。组装机机架系统必要的部件脚架机臂中心板一般中心板采用碳纤、玻纤或者FR4等材料,分为2~4层不等,也有根据应用要求增加的即飞行器的起落架,用于将飞行器垫起一定高度,以便为云台等挂载设备腾出空间,还可以提供降落缓冲,保障机体安全机臂一般采用碳管、PA等材料,保证轻质牢固的特点动力系统无刷直流电机,顾名思义,是不带电刷的,由于省去了电刷,使得没有了电刷损耗,也没有了有刷电机运转时产生的电火花,极大降低了电磁打火对机载电子设备的干扰。无刷电机有刷电机是早期电机,将磁铁固定在电机外壳或者底座,成为定子。然后将线圈绕组,成为转子。有刷电机采用内部集成了电刷进行电极换相,保持电机持续转动。有刷电机电子调速器

无刷电调最主要的参数是电调的电流,通常以安培来表示,如10A、20A、30A。电流

电调具有相应内阻,其发热功率需要得到注意。有些电调电流可以达到几十安培,发热功率是电流的平方的函数,所以电调的散热性能也十分重要,因此大规格电调内阻一般都比较小。内阻桨叶动力系统的组成中另一个非常重要的部分就是螺旋桨,螺旋桨是通过自身旋转,将电机转动功率转化为动力的装置。遥控器和遥控接收机

脉冲位置调制Pulse-positionmodulation,也叫脉位调制,这种调制采用脉冲信号的宽度位置来表示舵量,每个通道由8个型号脉冲组成,脉冲个数不变,脉冲宽度相同,只是脉冲的相位不同,由相位来代表所传递的编码信息。PPM调制

脉冲编码调制Pulsecodemodulation,也叫脉码调制,这种调制是将若干通道的舵量大小以二进制数字来进行编码,形成数据帧。PCM调制动力电源与充电系统电动多旋翼飞行器上由于电机的工作电流非常大,需要采用能够支持高放电电流的动力可充电锂电池供电,放电电流的大小通常用放电倍率来表示,即C值。无人机结构与飞行控制原理1无人机基本组成2无人机结构与飞行控制原理3无人机系统设计无人机机身布局无人机的旋翼结构单旋翼多旋翼单桨共轴双桨无人机的飞行控制原理

4个旋翼中对角线上的两个旋翼选装方向相同,相邻的两个旋翼选装方向相反,其中3、4号旋翼按照顺时针方向旋转,这里选用的是正桨,而1、2号旋翼按照逆时针方向旋转,采用的是反桨。悬停姿态

在飞行器悬停时,桨盘面垂直于重力,4个旋翼产生的合拉力抵消重力,产生的扭距也相互抵消。升降飞行

在悬停的基础上,向上推动遥控器油门拨杆时飞行器产生上升运动。

向下拉动遥控器油门拨杆时飞行器产生下降运动。俯仰(pitch)飞行

向上推动遥控器前进拨杆产生前进运动。

向下拉动遥控器前进拨杆产生后退运动。翻滚(roll)飞行

向右推动遥控器翻滚拨杆产生向右飞行的运动。

向左推动遥控器翻滚拨杆产生向左飞行的运动。偏航(yaw)飞行

右推动遥控器偏航拨杆产生顺时针方向的偏航动作。

向左推动遥控器偏航拨杆产生逆时针方向的偏航动作。无人机系统设计1无人机基本组成2无人机结构与飞行控制原理3无人机系统设计飞行控制系统硬件架构设计

“光标”飞控系统的核心采用意法半导体公司的STM32F407。主频:168MHzSRAM:192KbytesFlash:512Kbytes“光标”飞控的外设接口与传感器分布遥控接收机接口PWM(PulseWidthModulation)信号,脉宽调制。它主要通过周期性的脉冲高电平宽度组成的方波来代表控制信号。“光标”飞行控制系统的遥控接收机输入接口

“光标”飞控最多支持12路PWM遥控输入信号。PWM信号的优点是传输过程高电平采用全电压传输,非0即1,具有数字信号的特性,即可以拥有数信号的抗干扰能力。脉宽的宽度是可以连续调节的,因为这它是传输的连续模拟信息。PWM信号的产生和采集解析比较简单,只需要一定的数字电路或者定时器即可,基本不需要占用CPU的运算逻辑资源。传输的信号量与电压本身无关,因此对电压上的噪声纹波等不敏感。3214电调输出接口

采用TIM的输出比较模式(OutputCompare)直接控制PWM定时器输出,这样的好处是输出控制信号无需消耗CPU的运算资源。陀螺仪加速度计

光标”飞控中采用的陀螺仪、加速度计是集成一体的芯片MPU6050。MPU6050提供了SPI接口和I2C接口两套总线访问方式。陀螺仪加速度计

磁力计是通过芯片内部的微磁性材料来测量空间3维的磁场强度的传感器,在“光标”飞控中主要采用的是QMC5883L来进行测量,通过I2C总线访问。陀螺仪加速度计

气压高度计是通过测量大气压力来间接获取气压高度的传感器,本例采用MS5611气压传感器是由MEAS(瑞士)推出的一款SPI和I²C总线接口的新一代高分辨率气压传感器,分辨率可达到10cm。系统调试接口可以通过USART1进行系统的日志实时打印,以便于查看系统运行状态以及方便调试。GNSS接口

GNSS(GlobalNavigationSatelliteSystem)全球导航卫星位系统,主要包含美国的GPS,俄罗斯的GLONASS,欧盟的伽利略卫星导航系统(GALILEO),中国的北斗卫星导航系统(BDS),以及一些区域增强系统等。遥测数传接口

在飞控系统中为遥测数传模块采用串行通信口连接。“光标”飞控采用STM32系统的UART3串口作为遥测数传模块接口。光流与激光模块接口

光流(opticflow),从本质上说,就是我们在三维空间中视觉感应可以感觉到的运动模式,即光线的流动。激光测距是使用激光来对被测物体进行准确测距。超声波测距模块接口

超声波测距模块是用来测量距离,通过发送和收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离,“光标”飞控通过串口与超声波测距模块进行通信。EEPROM模块

EEPROM模块的功能主要是保存系统的传感器校准参数,系统配置,软件配置等信息。LED显示接口

“光标”飞控还提供了4个可以显示系统状态的LED指示灯,通过STM32系统的GPIO来控制LED的亮灭以及闪烁来指示系统状态。USB接口

STM32F407芯片本身还带有一个USBOTG的接口,即可以做USB主设备,也可以做USB从设备,在“光标”飞控系统中同样将其引出来,可以进行高速数据的传说,作为在地面阶段的调试口使用。无人机状态估计无人机控制流程基于FreeRTOS的飞控系统设计通过实现对STM32的GPIO、时钟配置、ADC、DMA以及TIM的介绍的同时实现无人机状态指示灯的控制、无人机电池电压的采集、无人机控制信号-PWM输出以及无人机遥控信号-PWM输入捕获。第3章无人机系统状态与输入输出控制信号1234无人机电池电压读取-ADC+DMA5无人机控制信号-PWM输出无人机状态指示灯控制无人机系统时钟配置无人机电池电压采集基础-ADC6无人机遥控信号-PWM输入捕获无人机状态指示灯控制1234无人机电池电压读取-ADC+DMA5无人机控制信号-PWM输出无人机状态指示灯控制无人机系统时钟配置无人机电池电压采集基础-ADC6无人机遥控信号-PWM输入捕获无人机状态指示灯控制了解ARMCortex-M系列芯片的定时器的工作原理。01通过配置STM32F407芯片定时器相关寄存器,实现PWM输入捕获。02GPIO基本属性端口模式

01输入

02输出03复用04模拟输出组态

01上拉

02下拉03浮空端口类型

01推挽

02开漏输出速度

012MHZ

0225MHZ0350MHZ04100MHZGPIO组

01GPIOA

02GPIOB03...04GPIOGI/O口基本结构端口模式寄存器(GPIOx_MODER)位2y:2y+1

:端口x配置位(y=0..15)端口输出类型寄存器(GPIOx_OTYPER)位15:0

:端口x配置位(y=0..15)端口输出速度寄存器(GPIOx_OSPEEDR)位2y:2y+1

:端口x配置位(y=0..15)端口上拉下拉寄存器(GPIOx_PUPDR)位2y:2y+1

:端口x配置位(y=0..15)端口输入数据寄存器(GPIOx_IDR)位15:0

:端口输入数据(y=0..15)端口输出数据寄存器(GPIOx_ODR)位15:0

:端口输出数据(y=0..15)原理图无人机状态指示灯控制控制LED灯的亮灭。练习简述实现点亮LED灯的过程。01简述GPIO的端口模式有哪些?02无人机系统时钟配置1234无人机电池电压读取-ADC+DMA5无人机控制信号-PWM输出无人机状态指示灯控制无人机系统时钟配置无人机电池电压采集基础-ADC6无人机遥控信号-PWM输入捕获无人机系统时钟配置了解ARMCortex-M系列芯片的内部时钟及定时器使用。01通过配置STM32F407芯片的内部定时器,实现流水灯效果。02SysTick定时器的寄存器寄存器名称寄存器描述CTRLSysTick控制及状态寄存器LOADSysTick重装载值寄存器VALSysTick当前数值寄存器CALIBSysTick校准数值寄存器CTRL控制及状态寄存器LOAD重装载数值寄存器VAL当前数值寄存器时钟树无人机系统时钟配置通过配置STM32F407芯片的内部定时器,实现流水灯效果。练习简述滴答定时器实现流程。01实现点亮其他的LED灯实现流水灯效果。02无人机电池电压采集基础-ADC1234无人机电池电压读取-ADC+DMA5无人机控制信号-PWM输出无人机状态指示灯控制无人机系统时钟配置无人机电池电压采集基础-ADC6无人机遥控信号-PWM输入捕获无人机电池电压采集基础-ADC了解ADC的原理,熟练ARMCortex-M系列芯片的GPIO的配置。01通过配置STM32F407芯片ADC对应的GPIO与ADC相关寄存器,实现获取芯片内部温度传感器或外接AD传感器数据的采集。02ADC功能框图01电压输入范围02输入通道03转换顺序04触发源05转换时间06数据寄存器07中断ADC状态寄存器(ADC_SR)位5

:溢出位4:规则通道开始标志位3:注入通道开始标志位2:注入通道转换结束位1:规则通道转换结束位0:模拟看门狗标志ADC控制寄存器(ADC_CR1)位26:溢出中断使能位25:24

:分辨率位23:规则通道上的模拟看门狗使能位22:注入通道上的模拟看门狗使能位15:13:不连续采样模式通道计数位12:注入通道的不连续采样模式位11:规则通道的不连续采样模式位10:注入组自动转换位9

:在扫描模式下使能单一通道上的看门狗位8

:扫描模式位7

:注入通道的中断使能位6

:模拟看门狗中断使能位5

:EOC中断使能位4:0:模拟看门狗通道选择位ADC控制寄存器(ADC_CR2)位30:开始转换规则通道位29:28:规则通道的外部触发使能位27:24:为规则组选择外部事件位22:开始转换注入通道位21:20:注入通道的外部触发使能位19:16:为注入组选择外部事件位11:数据对齐位10:结束转换选择位9

:DMA禁止选择位8

:直接存储器访问模式位1

:连续转换位0

:A/D转换器开启/关闭采样时间寄存器(ADC_SMPR1)位26:0:通道X采样时间选择采样时间寄存器(ADC_SMPR2)位29:0:通道X采样时间选择规则序列寄存器1(ADC_SQR1)位23:20:规则通道序列长度位19:15:规则序列中的第十六次转换位14:10:规则序列中的第十五次转换位14:10:规则序列中的第十五次转换位4:0

:规则序列中的第十三次转换规则数据寄存器(ADC_DR)位15:0:规则数据通用控制寄存器(ADC_CCR)位23

:温度传感器和VREFINT使能位22

:VBAT使能位17:16:ADC预分频器位15:14:直接存储器访问模式(对于多个ADC模式)位13

:DMA禁止选择(对于多个ADC模式)位11:8

:2个采样阶段之间的延迟位4:0

:多重ADC模式选择硬件原理图无人机电池电压采集基础-ADC配置STM32F407芯片ADC对应的GPIO与ADC相关寄存器,实现获取芯片内部温度传感器或外接AD传感器数据的采集。练习简述ADC实现过程。01代码实现其他ADC。02无人机电池电压读取-ADC+DMA1234无人机电池电压读取-ADC+DMA5无人机控制信号-PWM输出无人机状态指示灯控制无人机系统时钟配置无人机电池电压采集基础-ADC6无人机遥控信号-PWM输入捕获无人机电池电压读取-ADC+DMA了解ADC和DMA的原理,熟练ARMCortex-M系列芯片的GPIO的配置。01通过配置STM32F407芯片ADC对应的GPIO与ADC相关寄存器以及针对ADC,实现通过DMA传输ADC数据。02无人机电池电压读取-ADC+DMA无人机电池电压读取-ADC+DMA配置STM32F407芯片ADC对应的GPIO与ADC相关寄存器以及针对ADC,实现通过DMA传输ADC数据。练习简述ADC+DMA实现过程。01代码实现其他ADC+DMA。02无人机控制信号-PWM输出1234无人机电池电压读取-ADC+DMA5无人机控制信号-PWM输出无人机状态指示灯控制无人机系统时钟配置无人机电池电压采集基础-ADC6无人机遥控信号-PWM输入捕获无人机控制信号-PWM输出了解ARMCortex-M系列芯片的定时器的工作原理。01通过配置STM32F407芯片定时器相关寄存器,实现PWM输出。02PWM原理

脉冲宽度调制(PWM),是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。STM32F4定时器通用定时器基本结构12345616位(TIM3和TIM4)或32位(TIM2和TIM5)递增、递减和递增/递减自动重载计数器。16位可编程预分频器,用于对计数器时钟频率进行分频(即运行时修改),分频系数介于1到65536之间。多达4个独立通道使用外部信号控制定时器且可实现多个定时器互连的同步电路发生事件时生成中断/DMA请求支持定位用增量(正交)编码器和霍尔传感器电路7支持定位用增量(正交)编码器和霍尔传感器电路控制寄存器(TIMx_CR1)位9:8:时钟分频位7

:自动重载预装载使能位6:5:中心对齐模式选择位4

:方向位3:单脉冲模式位2:更新请求源位1:更新禁止位0:计数器使能控制寄存器(TIMx_CR2)位7:TI1选择位6:4MMS:主模式选择位3CCDS:捕获/比较DMA选择捕获/比较模式寄存器(TIMx_CCMR1)位15:输出比较2清零使能位14:12:输出比较2模式位11:输出比较2预装载使能位10:输出比较2快速使能位9:8:捕获/比较2选择位7:输出比较1清零使能位6:4:输出比较1模式位3:输出比较1预装载使能位2:输出比较1快速使能位1:0:捕获/比较1选择捕获/比较使能寄存器(TIMx_CCER)位15:捕获/比较4输出极性位13:捕获/比较4输出极性位12:捕获/比较4输出使能位11:捕获/比较3输出极性位9

:捕获/比较3输出极性位8

:捕获/比较3输出使位7:捕获/比较2输出极性位5:捕获/比较2输出极位4:捕获/比较2输出使能位3:捕获/比较1输出极性位1:捕获/比较1输出极性位0:捕获/比较1输出使能标准OCx通道的输出控制位预分频器(TIMx_PSC)位15:0:预分频器值自动重载寄存器(TIMx_ARR)位15:0:自动重载值飞控板电路原理图无人机控制信号-PWM输出配置STM32F407芯片定时器相关寄存器,实现PWM输出。练习简述PWM输出的过程。01代码实现其他PWM输出。02无人机遥控信号-PWM输入捕获1234无人机电池电压读取-ADC+DMA5无人机控制信号-PWM输出无人机状态指示灯控制无人机系统时钟配置无人机电池电压采集基础-ADC6无人机遥控信号-PWM输入捕获无人机控制信号-PWM输出了解ARMCortex-M系列芯片的定时器的工作原理。01通过配置STM32F407芯片定时器相关寄存器,实现PWM输入捕获。02PWM输入捕获

PWM输入模式是输入捕获模式的一个特例,需要占用两个捕获寄存器,这两个寄存器可分别测出输入PWM波的周期和占空比。PWM输入模式控制寄存器(TIMx_CR1)位9:8:时钟分频位7

:自动重载预装载使能位6:5:中心对齐模式选择位4

:方向位3:单脉冲模式位2:更新请求源位1:更新禁止位0:计数器使能DMA/中断使能寄存器(TIMx_DIER)位14:触发DMA请求使能位12:捕获/比较4DMA请求使能位11:捕获/比较3DMA请求使能位10:捕获/比较2DMA请求使能位9

:捕获/比较1DMA请求使能位8

:更新DMA请求使能位6:触发信号(TRGI)中断使能位4:捕获/比较4中断使能位3:捕获/比较3中断使能位2:捕获/比较2中断使能位1:捕获/比较1中断使能位0:更新中断使能捕获/比较模式寄存器(TIMx_CCMR1)位15:输出比较2清零使能位14:12:输出比较2模式位11:输出比较2预装载使能位10:输出比较2快速使能位9:8:捕获/比较2选择位7:输出比较1清零使能位6:4:输出比较1模式位3:输出比较1预装载使能位2:输出比较1快速使能位1:0:捕获/比较1选择捕获/比较使能寄存器(TIMx_CCER)位15:捕获/比较4输出极性位13:捕获/比较4输出极性位12:捕获/比较4输出使能位11:捕获/比较3输出极性位9

:捕获/比较3输出极性位8

:捕获/比较3输出使位7:捕获/比较2输出极性位5:捕获/比较2输出极位4:捕获/比较2输出使能位3:捕获/比较1输出极性位1:捕获/比较1输出极性位0:捕获/比较1输出使能预分频器(TIMx_PSC)位15:0:预分频器值自动重载寄存器(TIMx_ARR)位15:0:自动重载值电路原理图无人机控制信号-PWM输出配置STM32F407芯片定时器相关寄存器,实现PWM输入捕获。练习简述PWM输入捕获过程。01代码实现其他PWM输入捕获。02本章通过对STM32的USART以及DMA介绍基于MAVLink通信协议,实现了无人机的数据收发。第4章无人机通信1234无人机消息数据帧解析-串口DMA5无人机Mavlink消息收发无人机通信基础-串口轮询无人机通信基础-串口中断无人机消息数据收发-串口DMA无人机通信基础-串口轮询1234无人机消息数据帧解析-串口DMA5无人机Mavlink消息收发无人机通信基础-串口轮询无人机通信基础-串口中断无人机消息数据收发-串口DMA无人机通信基础-串口轮询了解串口的工作原理、ARMCortex-M系列芯片的串口的分类01通过配置STM32F407芯片的串口驱动,来实现串口通信。02无人机通信基础-串口轮询串口作为MCU的重要外部接口,同时也是软件开发重要的调试手段。通用同步异步收发器(USART)能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准NRZ异步串行数据格式的要求。USART通过小数波特率发生器提供了多种波特率,通过配置多个缓冲区使用DMA可实现高速数据通信。串口结构串口异步通信需要定义的参数状态寄存器(USART_SR)数据寄存器(USART_DR)波特率寄存器(USART_BRR)控制寄存器(USART_CR1)控制寄存器(USART_CR2)控制寄存器(USART_CR3)原理图无人机通信基础-串口轮询通过配置STM32F407芯片的串口驱动,来实现串口通信练习简述串口轮询实现过程。01实现其他串口轮询。02无人机通信基础-串口中断1234无人机消息数据帧解析-串口DMA5无人机Mavlink消息收发无人机通信基础-串口轮询无人机通信基础-串口中断无人机消息数据收发-串口DMA无人机通信基础-串口中断了解串口的工作原理、ARMCortex-M系列芯片的串口的分类以及串口的中断响应01通过配置STM32F407芯片的串口和中断,来实现数据的收发02中断中断是指当CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程就称为中断,引发中断地称为中断源。嵌套向量中断控制器NVIC,全称:Nestedvectoredinterruptcontroller,即嵌套向量中断控制器。Cortex-M4具有82个可屏蔽中断通道,16个可编程中断优先级(使用4位中断优先级)。中断优先级是指,假设有两中断先后触发,已经在执行的中断优先级如果没有后触发的中断优先级高,就会先处理优先级高的中断。中断向量表无人机通信基础-串口中断通过配置STM32F407芯片的串口和中断,来实现数据的收发练习简述串口中断和串口轮询的区别。01简述串口中断的实现过程。02无人机消息数据收发-串口DMA1234无人机消息数据帧解析-串口DMA5无人机Mavlink消息收发无人机通信基础-串口轮询无人机通信基础-串口中断无人机消息数据收发-串口DMA无人机消息数据收发-串口DMA了解DMA的工作原理01通过配置STM32F407芯片的DMA,来完成通过DMA实现串口数据收发02DMADMA,全称:DirectMemoryAccess,直接存储器访问用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何CPU

操作的情况下通过DMA快速移动数据。这样节省的CPU资源可供其它操作使用。外设存储器存储器存储器DMA控制器DMA控制器可以执行的事务外设到存储器的传输存储器到外设的传输存储器到存储器的传输低中断状态寄存器(DMA_LISR)高中断状态寄存器(DMA_HISR)数据流x配置寄存器(DMA_SxCR)数据流x数据项数寄存器(DMA_SxNDTR)数据流x外设地址寄存器(DMA_SxPAR)STM32F407的时钟框图DMA通道列表无人机消息数据收发-串口DMA通过配置STM32F407芯片的DMA,来完成通过DMA实现串口数据收发练习简述串口+DMA数据解析的过程。01独立设计一组数据格式实现数据的发送、解析。02无人机消息数据帧解析-串口DMA1234无人机消息数据帧解析-串口DMA5无人机Mavlink消息收发无人机通信基础-串口轮询无人机通信基础-串口中断无人机消息数据收发-串口DMA无人机消息数据帧解析-串口DMA了解数据帧解析的方法01在使用DMA进行串口数据收发的基础上,实现数据帧解析02数据帧消息头(1)数据长度(1)命令号(2)数据(LEN)校验位(1)STARTLENCMD1、CMD2DATAFCS状态机1信息头状态2数据长状态3CMD1状态6校验状态5数据状态4CMD2状态无人机消息数据帧解析-串口DMA在使用DMA进行串口数据收发的基础上,实现数据帧解析练习简述串口+DMA数据解析的过程。01独立设计一组数据格式实现数据的发送、解析。02无人机Mavlink消息收发1234无人机消息数据帧解析-串口DMA5无人机Mavlink消息收发无人机通信基础-串口轮询无人机通信基础-串口中断无人机消息数据收发-串口DMA无人机Mavlink消息收发掌握Mavlink通信协议的原理01能够增加自定义通信协议包,实现数据传输和收发校验02无人机Mavlink消息收发Mavlink协议最早由苏黎世联邦理工学院计算机视觉与几何实验组的LorenzMeier于2009年发布,并遵循LGPL开源协议。Mavlink协议是在串口通信基础上的一种更高层的开源通信协议,主要应用在微型飞行器(microaerialvehicle)的通信上。Mavlink是为小型飞行器和地面站(或者其他飞行器)通信制定一种数据发送和接收的规则并加入了校验(checksum)功能。Mavlink传输时的基本单位是消息帧Mavlink消息帧Mavlink心跳包组成无人机Mavlink消息收发增加自定义通信协议包,实现数据传输和收发校验练习简述Mavlink数据帧结构。01简述Mavlink实现原理。02本章通过对STM32的I2C通信以及Flash的介绍,实现了EEPROM读写以及Flash的读写。第5章无人机参数存储1硬件I2C读写EEPROM2硬件I2C+DMA读写EEPROM3模拟I2C通信4Flash读写硬件I2C读写EEPROM1硬件I2C读写EEPROM2硬件I2C+DMA读写EEPROM3模拟I2C通信4Flash读写硬件I2C读写EEPROM了解ARMCortex-M系列芯片的I2C通信原理01通过配置STM32F407芯片I2C相关寄存器,实现I2C读写EEPROM02I2C特性并行总线/I2C协议转换器多主模式功能主从模式切换7位/10位寻址以及广播呼叫的生成和检测状态标志错误标志2个中断向量可选的时钟延长内部集成电路(I2C)接口支持不同的通信速度带DMA功能的1字节缓冲可配置的PEC(数据包错误校验)生成或验证SMBus2.0兼容性PMBus兼容性I2C功能说明数据引脚(SDA)时钟引脚(SCL)I2C总线100kHz/400KHz串行格式并行格式模式选择从发送器04010203主接收器从接收器主发送器模式选择通信流程I2C接口会启动数据传输并生成时钟信号。串行数据传输始终是在出现起始位时开始,在出现停止位时结束。起始位和停止位均在主模式下由软件生成。在主模式下该接口能够识别其自身地址(7或10位)以及广播呼叫地址。广播呼叫地址检测可由软件使能或禁止。在从模式下I2C时序I2C接口框图从发送器的传输序列图从接收器的传输序列图主发送器的传输序列图主接收器的传输序列图I2C中断请求I2C中断映射图I2C控制寄存器1(I2C_CR1)位15:软件复位位13:SMBus报警位12:数据包错误校验位11:应答PEC位置位10:应答使能位9:生成停止位位8:生成起始位位7:禁止时钟延长位6:广播呼叫使能位5:PEC使能位4:ARP使能位3:SMBus类型位1:SMBus模式位0:外设使能I2C控制寄存器2(I2C_CR2)位12:最后一次DMA传输位11:DMA请求使能位10:缓冲终端使能位9:事件中断使能位8:错误中断使能位5:外设时钟频率I2C自有地址寄存器1(I2C_OAR1)位15:寻址模式位14:应通过软件始终保持为1位9:8:接口地址位7:1:接口地址位0:接口地址I2C自有地址寄存器2(I2C_OAR2)位7:1:接口地址位0:双寻址模式使能I2C数据寄存器(I2C_DR)位7:0:8位数据寄存器I2C状态寄存器1(I2C_SR1)位15:SMBus报警位14:超时或Tlow错误位12:接收期间PEC错误位11:上溢/下溢位10:应答失败位9:仲裁丢失位8:总线错误位7:数据寄存器为空位6:数据寄存器非空位4:停止位检测位3:发送10位头位2:字节传输完成位1:地址已发送位0:起始位I2C状态寄存器2(I2C_SR2)位15:8:数据包错误校验寄存器位7:双标志位6:SMBus主机头位5:SMBus器件默认地址位4:广播呼叫地址位2:发送器/接收器位1:总线忙碌位0:主/从模式I2C时钟控制寄存器(I2C_CCR)位15:I2C主模式选择位14:快速模式占空比位11:0:快速/标准模式下的时钟控制寄存器EEPROM从器件地址位24C02字节读写时序原理图硬件I2C读写EEPROM通过配置STM32F407芯片I2C相关寄存器,实现I2C读写EEPROM练习简述硬件I2C读写过程。01简述I2C是读写事件描述。02硬件I2C+DMA读写EEPROM1硬件I2C读写EEPROM2硬件I2C+DMA读写EEPROM3模拟I2C通信4Flash读写硬件I2C+DMA读写EEPROM了解ARMCortex-M系列芯片的I2C、DMA通信原理01通过配置STM32F407芯片I2C相关寄存器,实现I2C+DMA读取EEPROM02DMA数据流本次小节是以“硬件I2C读写EEPROM”为基础,通过配置I2C的DMA传输方式来获取数据硬件I2C+DMA读写EEPROM通过配置STM32F407芯片I2C相关寄存器,实现I2C+DMA读取EEPROM练习简述硬件I2C+DMA实现过程。01代码实现其他I2C+DMA。02模拟I2C通信1硬件I2C读写EEPROM2硬件I2C+DMA读写EEPROM3模拟I2C通信4Flash读写模拟I2C通信了解ARMCortex-M系列芯片的I2C通信协议01使用普通IO口模拟I2C时序,实现与AT24C02之间的通信02I2C总线的三种类型发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。应答信号SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。结束信号SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。开始信号开始信号与结束信号时序应答信号时序I2C总线时序I2C总线时序数据有效性时序模拟I2C通信使用普通IO口模拟I2C时序,实现与AT24C02之间的通信练习简述模拟I2C的ACK应答时序。01简述模拟I2C的实现过程。02Flash读写1硬件I2C读写EEPROM2硬件I2C+DMA读写EEPROM3模拟I2C通信4Flash读写Flash读写了解ARMCortex-M系列芯片的FLASH闪存01通过配置FLASH寄存器、操作FLASH扇区的擦除,达到向内存中写数据以及从内存中读数据的目的02STM32F40XX/41XX的闪存模块组织Flash等待周期与CPU时钟频率之间的对应关系PSIZE的设置必须和电源电压匹配访问控制寄存器(FLASH_ACR)位12:数据缓存复位位11:指令缓存复位位10:数据缓存使能位9:指令缓存使能位8:预取使能位2:0:延迟秘钥寄存器(FLASH_KEYR)位31:0:FPEC密钥FLASH控制寄存器(FLASH_CR)位31:锁定位25:错误中断使能位24:操作结束中断使能位16:启动位9:8:编程大小位6:3:扇区编号位2:批量擦除位1:扇区擦除位0:编程FLASH状态寄存器(FLASH_SR)位16:繁忙位7:编程顺序错误位6:编程并行位数错误位5:编程对齐错误位4:写保护错误位1:操作错误位0:操作结束Flash读写通过配置FLASH寄存器、操作FLASH扇区的擦除,达到向内存中写数据以及从内存中读数据的目的练习简述闪存的编程和擦除。01简述Flash实现过程。02无人机的数传、MPU6050传感器、QMC5883L、气压计MS5611、光流模块、遥控输入以及无人机的电机控制。第6章无人机飞控传感器采集与电机控制1234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制无人机数传1234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制通过利用数传模块通信,学习无线数传模块的特性和性能、功能,了解数传模块的信道配置、功率配置、接口配置等。0102无人机数传无人机数传无线数传模块,是数传电台的模块化产品。是指借助DSP技术和无线电技术实现的高性能专业数据传输电台。无线数传模块特点微发射功率频段工作频率,无需申请频点高抗干扰能力和低误码率传输间隔远看门狗实时监控多信道,多速率透明的数据传输,所发即所收高可靠性,体积小、重量轻提供RS232/485/TTL三种接口方式智能数据控制,用户无需编制多余的程序原理图飞控板上数传接口为串口3,所以需要在原理图中查看串口3对应引脚无人机数传实现无人机数传通信。加速度计与陀螺仪MPU60501234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制加速度计与陀螺仪MPU6050学习MPU6050的原理、初始化方法、数据采集及滤波方法、校准以及校准数据保存以及获取、六面校准数据采集以及六面校准参数计算-最小二乘法,掌握在实际项目中的使用。0102加速度计与陀螺仪MPU6050MPU6050是6轴运动处理传感器。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(DigitalMotionProcessor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。MPU6050内部结构电源管理寄存器1DEVICE_RESET位:用来控制复位,设置为1,复位MPU6050,复位结束后,MPU硬件自动清零该位。SLEEP位:用于控制MPU6050的工作模式,复位后,该位为1,即进入了睡眠模式(低功耗),所以我们要清零该位,以进入正常工作模式。TEMP_DIS位:用于设置是否使能温度传感器,设置为0,则使能。CLKSEL[2:0]:用于选择系统时钟源陀螺仪采样率分频寄存器该寄存器用于设置MPU6050的陀螺仪采样频率,计算公式为:采样频率=陀螺仪输出频率/(1+SMPLRT_DIV)这里陀螺仪的输出频率,是1Khz或者8Khz,与数字低通滤波器(DLPF)的设置有关,当DLPF_CFG=0/7的时候,频率为8Khz,其他情况是1Khz。配置寄存器DLPF_CFG[2:0]:数字低通滤波器(DLPF的设置位),加速度计和陀螺仪,都是根据这三个位的配置进行过滤的。这里的加速度传感器,输出频率(Fs)固定是1Khz,而角速度传感器的输出速率(Fs),则根据DLPF_CFG的配置有所不同。陀螺仪配置寄存器FS_SEL[1:0]:这两个位,用于设置陀螺仪的满量程范围加速度传感器数据输出寄存器每个16位加速度计测量值的满量程定义在ACCEL_FS(寄存器28)。对于每个满量程的设置,ACCEL_xOUT里加速度计测量值的灵敏度最低分辨率(LSB)加速度传感器配置寄存器每个16位陀螺仪测量值的满量程定义在FS_SEL(寄存器27)。对于每个满量程的设置,GYRO_xOUT里陀螺仪测量值的灵敏度最低分辨率(LSB)原理图加速度计与陀螺仪MPU6050实现MPU6050的数据采集、滤波、校准、校准数据保存以及获取、六面校准。练习简述MPU6050运行原理。01简述MPU6050实现过程。02磁力计QMC5883L1234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制学习QMC5883L的原理、初始化方法、获取得到QMC5883L实时数据以及计算比例系数、偏移量校准计算以及EEPROM的保存和获取。0102磁力计QMC5883L磁力计QMC5883LQMC5883L是一款多芯片三轴磁传感器。这种表面贴装的小尺寸芯片集成了带信号条件ASIC的集成磁传感器,旨在用于无人机,机器人,移动和个人手持设备中的指南针,导航和游戏等高精度应用。QMC5883L内部结构SET/RESET周期寄存器SET/RESET周期由FBR[7:0]控制。控制寄存器1设置模式是连续模式,输出数据率为200Hz,满刻度为2G,过采样率为512。数据输出寄存器寄存器00H〜05H以连续测量的方式存储每个轴磁传感器的测量数据。在连续测量模式下,根据控制寄存器1中设置的数据更新速率ODR定期刷新输出数据。原理图磁力计QMC5883L实现QMC5883L实时数据获取、计算比例系数以及QMC5883L校准。练习简述磁力计QMC5833L的原理。01简述磁力计QMC5883L的实现过程。02气压计MS56111234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制气压计MS5611学习MS5611的原理和初始化方法、驱动访问气压高度等传感数据、操作数据输出寄存器获取得到实时数据以及计算比例系数、偏移量校准计算以及EEPROM的保存和获取01MS5611气压传感器MS5611气压传感器是由MEAS(瑞士)推出的一款SPI和I2C总线接口的新一代高分辨率压传感器,分辨率可达到10cm。最大工作范围电气特性模数转换(ADC)SPI模式外部微控制器通过输入SCLK(串行时钟)和SDI(串行数据)来传输数据。SDO(串行数据)引脚为传感器的响应输出。CSB(芯片选择)引脚用来控制芯片使能/禁用。SPI命令原理图气压计MS5611实现获取MS5611实时数据、MS5611数据滤波方法以及MS5611校准方法。练习简述MS5611传感器运行原理。01简述MS5611传感器实现过程。02光流计OpticalFlow1234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制光流计OpticalFlow通过串口通信原理,将光流模块采集到的数据,进行检验以及计算,实现无人机定高、定点的目的。0102光流计OpticalFlowSTMicroelectronics的VL53L1X是一种先进的ToF激光测距传感器,壮大了FlightSense™产品系列阵容。PMW3901是一个光流专用集成电路,它可以在内部计算光流,并在每帧之间提供像素差。VL53L1XVL53L1X系统由VL53L1X模块和运行在该模块上的驱动程序组成。PMW3901PMW3901基本上是一个跟踪传感器,类似于你可以在电脑鼠标中找到的东西,其适用范围在80毫米到无限宽之间。原理图通过串口4与光流模块连接。光流计OpticalFlow实现光流模块采集数据,无人机定高、定点。练习简述光流传感器的运行原理01简述光流传感器的数据解析的过程。02遥控输入1234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制遥控输入熟悉飞控系统的遥控接收机输入接口信号的采集方法,能够采集多路的遥控信号,能够自行添加更多路的遥控数据。0102遥控输入遥控器发送PWM脉冲,接收机接收信号,然后单片机捕获接收到的信号。定时器TIM3和定时器TIM4来捕获接收机的1—8通道的pwm值。接收机通道与飞控通道对应连接原理图遥控输入能够采集无人机多路的遥控信号。练习利用其他通道实现遥控器的输入。01简述遥控器输入的过程。02电机控制1234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制电机控制学习飞控系统的电调输出接口的原理和使用;了解电调工作条件需求;熟悉使用输出PWM驱动电调系统。0102电子调速器电调左端为输入端,外侧黑、红线接电池,内侧黑、红、白线接数字信号电路;右侧三条输出线接三相无刷电机。电调的作用就是把PWM方波信号调成三相交流电,任意改变接入电机的两根线,即可改变电机的转向。电子调速器与飞控连接图电调的输入信号由飞控板的引脚控制。由STM32定时器TIM1产生4路PWM方波脉冲,提供给四旋翼无人机的四个电调,控制无刷电机的转速。原理图电机控制使用输出PWM驱动电调系统。练习简述电调的原理。01简述电机控制的实现过程。02实现数字滤波器-FIR以及IIR、卡尔曼滤波以及扩展卡尔曼滤波、无人机的姿态解算以及角速度、角度PID控制器。第7章无人机飞控算法1234基于扩展卡尔曼滤的算法融合5无人机姿态解算数字滤波器-FIR数字滤波器-IIR基于卡尔曼滤波的角度融合6角速度、角度PID控制器设计数字滤波器-FIR1234基于扩展卡尔曼滤的算法融合5无人机姿态解算数字滤波器-FIR数字滤波器-IIR基于卡尔曼滤波的角度融合6角速度、角度PID控制器设计将“光标”飞控中传感器采集到的数据信息通过数字滤波器—FIR滤除杂波,保证传感器采集数据的准确有效性。0102数字滤波器-FIRFIR滤波器FIR滤波器是非递归型滤波器的简称,又叫做有限长单位冲激响应滤波器。在数字信号处理系统中较为基本的元件。数字滤波器系统函数为H(z),脉冲响应为h(n),输入时序为x(n)。

>

>设滤波器单位脉冲响应的长度为N,系统函数为:>传输函数

直接型设FIR滤波器的单位冲击响应h(n)为一个长度为N的序列,则滤波器系统函数为:A表示这一系统输入输出关系的差分方程为:B

差分方程对应的网络结构优点:简单直观,乘法运算量较少。缺点:调整零点较难,并且具有相位延迟性。级联型当需要控制滤波器的传输零点时,可将H(z)分解为实系数二阶因子的乘积形式。式中,H(z)为h(n)的z变换,β0k,β1k,β2k为实数。

级联型结构BA优点调整零点比直接型方便。缺点H(z)中的系数比直接型多,因而需要的乘法器多。线性相位型结构FIR滤波器的线性相位结构有偶对称和奇对称,不论h(n)为偶对称还是奇对称都有:

当N为奇数时,系统函数为:当N为偶数时,系统函数:FIR直接型信号流01N为偶数02N为奇数频率采样型频率采样型结构是一种用系数将滤波器参数化的一种实现结构。

STEP1H(k)与系统函数之间的关系可用内插公式为:其零点为:STEP2

信号流图数字滤波器-FIR将“光标”飞控中传感器采集到的数据信息通过数字滤波器—FIR滤除杂波,保证传感器采集数据的准确有效性。练习简述FIR数字滤波器运行原理。01重新导出22阶汉明窗口滤波器。02数字滤波器-IIR1234基于扩展卡尔曼滤的算法融合5无人机姿态解算数字滤波器-FIR数字滤波器-IIR基于卡尔曼滤波的角度融合6角速度、角度PID控制器设计数字滤波器-IIR将“光标”飞控中传感器采集到的数据信息通过数字滤波器—IIR滤除杂波,保证传感器采集数据的准确有效性。0102数字滤波器-IIRIIR(InfiniteImpulseResponse)数字滤波器,又名无限脉冲响应数字滤波器,或递归滤波器。IIR与FIR滤波器对比数字滤波器根据其冲激响应函数的时域性分为两种,无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)滤波器。IIR数字滤波器与FIR数字滤波器相比相位特性差且可以用于较少的结束获得很高的选择性但是具有结构简单具有经济高效的特点IIR滤波器差分方程的一般表达式:运算量小IIR数字滤波器设计的方法直接设计法01不使用模拟滤波器,直接进行数字滤波设计的方法。不需要事先给定参数的方法。间接设计法02间接设计发是借助成熟的模拟滤波器设计方法设计的,根据数字滤波器设计指标(事先给定参数)来设计相对应的过渡模拟滤波器,再将过渡模拟滤波器转换为数字滤波器。原型低通滤波器--巴特沃斯低通滤波器巴特沃斯低通滤波器其中,N为滤波器的次数,Ωc是截止频率。计算出阻带衰减:将巴特沃斯低通滤波器的振幅特性,直接带入上式得到:可以解得次数N为:巴斯沃斯滤波器的传递函数巴斯沃斯低通滤波器的传递函数,可以由其振幅特性的分母多项式求得。其分母多项式为:根据S解开,可以得到极点。当N为偶数的时候,求得:同理得当N为奇数的时候,求得:利用欧拉公式求得的极点:巴斯沃斯滤波器的传递函数选取稳定极点,取模拟滤波器的传递函数求得:设计完乘法器过后,可计算出其滤波系数:双1次z变换的原理模拟滤波器的传递函数为:传递函数进行拉普拉斯逆变换,可以得:其中,x(t)表示输入,y(t)表示输出。然后我们需要将其离散化,可得到:之后使用z变换,再将其简化。可以得:从而,我们可以得到s平面到z平面的映射关系:然后,将关系式

与s=δ+jΩ带入得到:可以得到Ω与ω的对应关系为:数字滤波器-IIR将“光标”飞控中传感器采集到的数据信息通过数字滤波器—IIR滤除杂波,保证传感器采集数据的准确有效性。练习简述IIR滤波器运行原理。01简述IIR滤波器实现过程。02基于卡尔曼滤波的角度融合1234基于扩展卡尔曼滤的算法融合5无人机姿态解算数字滤波器-FIR数字滤波器-IIR基于卡尔曼滤波的角度融合6角速度、角度PID控制器设计通过学习卡尔曼滤波工作原理与实战演练,掌握并运用卡尔曼滤波进行滤波和数据融合。0102FreeRTOS+TCP客户端TCP协议简介卡尔曼滤波(Kalmanfiltering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。卡尔曼滤波原理系统的状态方程和测量方程状态方程:观测方程:当前状态当前状态公式为:式中,

,B=[T0],X(k|k-1)是利用k预测的结果,X(k-1|k-1)是k-1时刻的最优结果。则有对应于X(k│k-1)的协方差为:式中,P(k│k-1)是X(k│k-1)对应的协方差,AT表示A的转置矩阵,Q是系统过程的协方差。即对系统的状态更新。则状态k的最优化估算值X(k│k)为:其中H=[10]。卡尔曼增益(KalmanGain)卡尔曼增益公式为:此时,已经得到了k状态下最优的估算值X(k│k)。但是还要更新k状态下X(k│k)的协方差:

可改写为:

基于卡尔曼滤波的角度融合运用卡尔曼滤波进行滤波和数据融合。练习简述卡尔曼滤波运行原理。01简述卡尔曼滤波黄金公式含义。02基于扩展卡尔曼滤的算法融合1234基于扩展卡尔曼滤的算法融合5无人机姿态解算数字滤波器-FIR数字滤波器-IIR基于卡尔曼滤波的角度融合6角速度、角度PID控制器设计基于扩展卡尔曼滤的算法融合通过学习扩展卡尔曼滤波工作原理与实战演练,掌握并运用扩展卡尔曼滤波进行滤波和数据融合。0102扩展卡尔曼滤扩展卡尔曼滤波器(ExtendedKalmanFilter)是标准卡尔曼滤波在非线性情形下的一种扩展形式,它是一种高效率的递归滤波器(自回归滤波器)。EKF的基本思想是利用泰勒级数展开将非线性系统线性化,然后采用卡尔曼滤波框架对信号进行滤波,因此它是一种次优滤波。扩展卡尔曼滤波EKF卡曼滤波预测方程:A卡曼滤波更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论