多旋翼自主飞行器报告资料.docx
- 文档编号:28739288
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:20
- 大小:597.81KB
多旋翼自主飞行器报告资料.docx
《多旋翼自主飞行器报告资料.docx》由会员分享,可在线阅读,更多相关《多旋翼自主飞行器报告资料.docx(20页珍藏版)》请在冰豆网上搜索。
多旋翼自主飞行器报告资料
2015年全国大学生电子设计竞赛
多旋翼自主飞行器(C题)
2015年8月15日
摘要
四旋翼飞行器是一种结构新颖、性能优越的垂直起降飞行器,具有操作灵活、带负载能力强等特点,具有重要的军事和民用价值,本系统以瑞萨R5F100LE作为四旋翼自主飞行器控制的核心。
由电源模块、电机调速控制模块、电机模块、MPU9150模块、飞行器控制模块等构成。
飞行控制模块包括角度传感器、陀螺仪,瑞萨MCU综合飞行器模块和传感器检测模块的信息,通过控制4个直流无刷电机转速来实现飞行器的欠驱动系统飞行。
在动力学模型的基础上,将小型四旋翼飞行器实时控制算法分为两个PID控制回路,即位置控制回路和姿态控制回路。
测试结果表明系统可通过各个模块的配合实现对电机的精确控制,具有平均速度快、定位误差小、运行较为稳定等特点。
关键词:
四旋翼飞行器;MPU9150;瑞萨R5F100LE;PID
目录
一、系统方案4
1、系统方案论证与控制方案的选择4
1.1飞行器控制系统模块4
1.2电源模块的选择与论证4
1.3电机模块的选择与论证5
1.4电机调速控制模块5
二、系统理论分析与计算6
四旋翼飞行器动力学模型6
2.2PID控制算法结构分析7
三、电路与程序设计9
1、电路的设计9
(1)系统总体框图9
(2)飞行控制系统实物图与电路原理图9
(3)给R5F100LE单片机为核心提供的5V电源系统框图与电路原理图11
(4)总电源12
(5)MPU9150模块12
2、程序的设计13
四、测试方案与结果分析14
4.1测试设备方案14
4.2测试结果15
五、总结16
六、参考文献16
七、附录16
多旋翼自主飞行器(C题)
【高职组】
一、系统方案
本系统主要由飞行器控制模块、电源模块、电机模块、电机调速控制模块、MPU9150模块等构成5大模块组织,下面分别论证这几个模块的选择。
1、系统方案论证与控制方案的选择
1.1飞行器控制系统模块
中心控制模块即飞行控制系统的核心处理器作为整个系统的核心控制部分,主要负责采集传感器检测到的姿态角速率(俯仰角速率、横滚角速率和偏航角速率)、三轴的线加速度和航向信息并实时解算;根据检测到的飞行信息,结合既定的控制方案,计算输出控制量;通过无线通信模块与地面站进行数据的传输,实现接收控制命令改变飞行状态和下传飞行状态数据。
方案一:
主控板使用pcduino。
其内存大而且板子体积较小,重量较轻,对四旋翼的载重量要求较低。
但是它对电源的要求较高,而且I/O口较少,我们刚开始学习使用,不是很熟悉,对于四旋翼的需要不够。
方案二:
主控板使用瑞萨MCU综合飞行器模块和传感器检测模块的信息,使用R5F100LE作为四旋翼自主飞行器控制的核心通过控制4个直流无刷电机转速来实现飞行器的欠驱动系统飞行。
在动力学模型的基础上,将小型四旋翼飞行器实时控制算法分为两个PID控制回路,即位置控制回路和姿态控制回路。
测试结果表明系统可通过各个模块的配合实现对电机的精确控制,具有平均速度快、定位误差小、运行较为稳定等特点。
比较以上二种方案,方案二占有很大优势,及本组成员的水平和竞赛所提供的元器件所以选择方案二。
1.2电源模块的选择与论证
电源模块在系统中的地位是极其重要的,四旋翼无人直升机要稳定工作必须有稳定的电源供给作为保障,为系统的各个模块提供动力。
稳定的电源可以使系统在各种环境下长时间稳定的工作,而如果电源模块设计得不够合理,那么就像在系统中埋下了一颗不定时炸弹,系统随时都可能因此而崩溃。
所以电源模块的设计必须非常慎重,以保证系统工作的稳定性。
在本控制系统中,根据各模块工作的要求有如下方案:
方案一:
采用铅酸电池:
铅酸电池(VRLA),是一种电极主要由铅及其氧化物制成,电解液是硫酸溶液的蓄电池。
铅酸电池荷电状态下,正极主要成分为二氧化铅,负极主要成分为铅;放电状态下,正负极的主要成分均为硫酸铅。
方案二:
采用锂聚合物电池:
它也是锂离子电池的一种,但是与液锂电池(Li-ion)相比具有能量密度高、更小型化、超薄化、轻量化,以及高安全性和低成本等多种明显优势,是一种新型电池。
在形状上,锂聚合物电池具有超薄化特征,可以配合各种产品的需要,制作成任何形状与容量的电池。
该类电池可以达到的最小厚度可达0.5mm。
相同容量的铅酸电池比锂聚合物电池便宜很多,但重量比锂聚合物电池重很多!
而飞行器的载重能力有限,所以最终选择方案二锂聚合物电池。
1.3电机模块的选择与论证
四旋翼无人飞行器是通过控制四个不同无刷直流电机的转速,达到控制四旋翼无人飞行器的飞行姿态和位置,与传统直升机通过控制舵机来改变螺旋桨的桨距角,达到控制直升机的目的不同。
在电机的选型上,主要有直流有刷电机和直流无刷电机两种。
方案一:
直流有刷电机是当前普遍使用的一种直流电机,它的驱动电路简单、
控制方法成熟,但是直流有刷电机使用电刷进行换向,换向时电刷与线圈触电存
在机械接触,电机长时间高速转动使极易因磨损导致电气接触不良等问题,而且有刷电机效率低、力矩小、重量大,不适合对功率重量比敏感的电动小型飞行器。
方案二:
直流无刷电机能量密度高、力矩大、重量轻,采用非接触式的电子换向方法,消除了电刷磨损,较好地解决了直流有刷电机的缺点,适用于对功率重量比敏感的用途,同时增强了电机的可靠性。
所以选择直流无刷电机作为动力源。
1.4电机调速控制模块
方案一:
采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。
但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。
更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。
方案二:
采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。
这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
方案三:
采用全桥驱动PWM电路。
这种驱动的优点是使管子工作在占空比可调的开关状态,提高使用效率实现电机转速的微调。
并且保证了可以简单的方式实现方向控制。
综合以上三种方案,选择方案三。
1.5飞行姿态控制方案论证
方案一:
十字飞行方式。
四轴的四个电机以十字的方式排列,x轴和y轴成直角,调整俯仰角和翻滚角的时候分开调整,角度融合简单,适合初学者,能明确头尾,飞行时机体动作精准,飞控起来也容易。
方案二:
X行飞行方式。
四轴的四个电机以X字的方式排列,灵活性和可调性较高,调整的时候应该相邻两个融合调节,融合复杂。
X型飞行方式非常自由灵活,旋
转方式多样,可以花样飞行,也可以做出很多高难度动作,但是控制上相对比较
困难。
综合以上两种方案鉴于我们是初次尝试,所以选择了方案一。
1.6MPU9150模块的方案论证
方案一:
光纤陀螺仪。
光纤陀螺仪是以光导纤维线圈为基础的敏感元件,由激光二极管发射出的光线朝两个方向沿光导纤维传播。
光传播路径的变化,决定了敏感元件的角位移。
光纤陀螺仪寿命长,动态范围大,瞬时启动,结构简单,尺寸小,重量轻,但是成本较高,鉴于我们这是初次尝试,需要多次实验,破坏较大。
方案二:
MPU-9150为系统级封装(SiP:
SysteminPackage)产品,整合了两个芯片:
一为MPU-6050,含三轴陀螺仪、三轴加速器,内建可处理复杂之九轴运动感测融合算法的数字运动感测处理器(DMP:
DigitalMotionProcessor);另一为AK8975,是三轴数字电子罗盘。
MPU-9150所含之九轴运动感测融合算法,可连接所有内部的传感器,收集整组感测数据。
此产品为4x4x1mm的LGA包装,为MPU-6050整合性六轴运动感测追踪组件的兼容升级版,提供简单的升级路径,易于安装在空间受限的板子上。
综合以上两种方案,我们选择了方案二
二、系统理论分析与计算
式1-1
式中
为四旋翼飞行器在导航坐标系下的线位移,
为运动加速度,m为飞行器质量,
分别为机体的偏航角、俯仰角和横滚角,
为旋翼面中心到四旋翼飞行器质心的距离,
为轴向惯性主矩。
该动力学
模型对四旋翼飞行器的真实飞行状态进行了合理的简化,忽略了空气阻力等对系统运行影响较小的参数,使得飞行控制算法更加简洁。
2.2PID控制算法结构分析
在动力学模型的基础上,将小型四旋翼飞行器实时控制算法分为两个控制回路,即位置控制回路和姿态控制回路。
算法结构如图B-1所示。
图2-1四旋翼飞行器控制算法结构图
使用经典PID控制算法实现位置控制回路和姿态控制回路。
PID算法简单可靠,理论体系完备,而且在长期的应用过程中积攒了大量的使用经验,在飞行器
位置和姿态控制应用中具有良好的控制效果和较强的鲁棒性,能提供控制量的较优解。
控制回路包含了
三个控制量,因此设计3个独立的PID控制器对位移进行控制。
根据PID控制器的原理,设
分别为比例项、积分项和微分项系数,
式1-2
其中,
为航姿参考系统测量到的加速度积分得到的位移量。
姿态控制回路的作用是控制四旋翼飞行器的飞行姿态,使其实际姿态与设定的姿态一致。
姿态控制回路有偏航角、俯仰角和横滚角三个控制量,在此忽略三个通道之间的耦合效应,设计3个独立的PID控制器对每个量进行独立控制。
式1-3
根据PID控制器的原理,设
分别为比例项、积分项和微分项系数,有控制器方程如B-4。
式1-4
其中比例项系数为3.3积分项系数为0.14微分项系数为3.2。
三、电路与程序设计
1、电路的设计
(1)系统总体框图
系统以R5F100LE单片机为核心,主要包括电源模块、电机驱动模块、飞行控制模块、传感器检测等功能模块,该系统硬件结构框图如图所示。
图1系统硬件结构图
(2)飞行控制系统实物图与电路原理图
1、R5F100LE单片机飞行控制系统实物图
图2
2、四轴飞行器控制模型
图3四轴飞行器控制模型
3、飞行控制系统系统电路
图2飞行控制系统系统电路
(3)5V电源系统框图与电路原理图
1、系统实物图
图1系统实物图
2、系统电路
图2电源子系统电路
(4)总电源
电源由一块11.1V2200ma的锂电池(重量约为166克)供电,在由电调降压给系统中的各个模块供5v电压并给电机提供电流,这样可满足可满足各个小系统的电源要求。
(5)MPU9150模块
1、MPU9150模块
2、MPU9150实物图
2、程序的设计
本系统以瑞萨MCU为核心,采用C语言对单片机进行编程。
主程序主要起导向和决策的作用,系统的控制总流程图如图所示。
系统包括延时子程序,电机转速控制子程序,检测子程序,副翼子程序。
系统控制的总流程图如图所示。
部分程序清单见附录A。
系统主程序流程图
四、测试方案与结果分析
4.1测试设备方案
模拟区域:
按题目要求设计。
设备:
秒表、卷尺。
测试环境为室内。
4.2测试结果
使系统运行,参照题目的各项要求进行多次实际定量测量,得到该系统的测量结果如表表B-1所示。
表B-1测试功能、测试工具及实现的情况表
具体功能要求
实际测试结果
基本部分
四旋翼自主飞行器一键式启动,从A区飞向B区,在B区降落并停机;飞行时间不大于45s
可以满足,飞行时间为20s
四旋翼自主飞行器一键式启动,从B区飞向A区,在A区降落并停机;飞行时间不大于45s
可以满足要求,飞行时间为17s
发挥部分
飞行器摆放在A区,飞行器下面摆放一薄铁片,一键式启动,飞行器拾取薄铁片并起飞
未进行测试。
飞行器携带薄铁片从示高线上方飞向B区,并在空中将薄铁片投放到B区;飞行器从示高线上方返回A区,在A区降落并停机
未进行测试。
以上往返飞行时间不大于30s
其他
经测试,系统基本可以满足基本要求和部分发挥部分,并具有稳定前行的特点。
五、总结
本次设计按照题目要求,采用模块化的硬件和软件设计方法,运用PID控制算法,成功地实现了飞行器寻黑带自主飞行并定点降落的要求。
具有飞行稳定、运动迅速、接收信号灵敏等特点。
完成了题目基本部分和部分发挥部分的要求。
六、参考文献
[1] 谭浩强.C语言程序设计[M].北京:
清华大学出版社,2012
[2] 李晓林.单片机原理与接口技术.电子工业出版社,2010
[3] 黄智伟.全国电子设计大赛设计竞赛训练教材.电子工业出版,2010
[4]房玉明,杭柏林.基于单片机的步进电机开环控制系统[J].电机与控制应用2006
[5]袁任光,张伟武.电动机控制电路选用与258实例[M].北京:
机械工业出版社,2005.
[6]全国大学生电子设计竞赛组委会.第四届(1999年)
[7] 黄智伟.全国大学生电子设计竞赛EDA技术教学方法研究[J].南华教育2003年第2期
七、附录
1、仪器设备设备清单
序号
名称
型号
数量
备注
1
四旋翼飞行器
F33
1
2
MCU
R5F100LEA
1
16位微处理器
3
三轴加速器
MPU9150
1
16位数据输出
4
电源
11V
1
锂电池
2、程序清单
《飞行器控制器端部分程序》
#include
#include"delay.h"
#include"WSmotor.h"
#include"key.h"
#include"sys.h"
#include"time.h"
#include"NRF24l01.h"
#include
u32tm0,tm1,sec1,sec2,sec3;
floatgyro,angle_n,dt_old,dt_new,dt_now,angle_n_all,count_gyro,GX,GY,GZ;
u8k,k1,k2,k3,k4;
u8left_lean,right_lean,left_add_speed,right_add_speed,
front_lean,back_lean,front_add_speed,back_add_speed,
left_lean_10flag,right_lean_10flag,front_lean_10flag,back_lean_10flag,left_lean_20flag,right_lean_20flag,front_lean_20flag,back_lean_20flag,left_lean_30flag,right_lean_30flag,front_lean_30flag,back_lean_30flag;
#defineKp2.0f
#defineKi0.005f
#definehalfT0.1f
floatq0=1,q1=0,q2=0,q3=0;
floatexInt=0,eyInt=0,ezInt=0;
S_FLOAT_ANGLEQ_ANGLE;
voiddelay(u16i)
{u8j;for(;i!
=0;i--)for(j=110;j>0;j--);}
externvoidTimerx_Init(u16arr,u16psc);
externvoidmotor_Init(void);//初始化
GPIO_InitTypeDefGPIO_InitStructure;
ErrorStatusHSEStartUpStatus;
#defineucharunsignedchar
#defineuintunsignedint
#defineOSS0//BMP085使用
//L3G4200D内部寄存器
#defineCTRL_REG10x20
#defineCTRL_REG20x21
#defineCTRL_REG30x22
#defineCTRL_REG40x23
#defineCTRL_REG50x24
#defineOUT_X_L0x28
#defineOUT_X_H0x29
#defineOUT_Y_L0x2A
#defineOUT_Y_H0x2B
#defineOUT_Z_L0x2C
#defineOUT_Z_H0x2D
//定义器件在IIC总线中的从地址,根据ALTADDRESS地址引脚不同修改
#defineHMC5883L_Addr0x3C//磁场传感器器件地址
#defineADXL345_Addr0xA6//加速度传感器器件地址
#defineBMP085_Addr0xee//气压传感器器件地址
#defineL3G4200_Addr0xD2//陀螺仪传感器器件地址
unsignedcharBUF[8];//接收数据缓存区
chartest=0;
intx,y;
floatangle;
ucharge,shi,bai,qian,wan,shiwan;//显示变量
intA_X,A_Y,A_Z;
shortT_X,T_Y,T_Z;
shortdata_xyz[3];
floatRoll,Pitch,Q,T,K;
//***BMP085使用
shortac1;
shortac2;
shortac3;
unsignedshortac4;
unsignedshortac5;
unsignedshortac6;
shortb1;
shortb2;
shortmb;
shortmc;
shortmd;
longtemperature;
longpressure;
/
*模拟IIC端口输出输入定义*/
#defineSCL_HGPIOB->BSRR=GPIO_Pin_6
#defineSCL_LGPIOB->BRR=GPIO_Pin_6
#defineSDA_HGPIOB->BSRR=GPIO_Pin_7
#defineSDA_LGPIOB->BRR=GPIO_Pin_7
#defineSCL_readGPIOB->IDR&GPIO_Pin_6
#defineSDA_readGPIOB->IDR&GPIO_Pin_7
voidRCC_Configuration(void);
voidGPIO_Configuration(void);
voidNVIC_Configuration(void);
voidUSART1_Configuration(void);
voidUSART2_Configuration(void);
voidUSART3_Configuration(void);
voidUSART4_Configuration(void);
voidUSART5_Configuration(void);
voidWWDG_Configuration(void);
voidDelay(u32nTime);
voidDelayms(vu32m);
voidconversion(longtemp_data);
voidadxl345_angle(void);
voidconversion(longtemp_data)
{shiwan=temp_data/100000+0x30;
temp_data=temp_data%100000;//取余运算
wan=temp_data/10000+0x30;
temp_data=temp_data%10000;//取余运算
qian=temp_data/1000+0x30;
temp_data=temp_data%1000;//取余运算
bai=temp_data/100+0x30;
temp_data=temp_data%100;//取余运算
shi=temp_data/10+0x30;
temp_data=temp_data%10;//取余运算
ge=temp_data+0x30;}
voidI2C_GPIO_Config(void)
{GPIO_InitTypeDefGPIO_InitStructure;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多旋翼 自主 飞行器 报告 资料