已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四旋翼自主飞行器(B题)摘要 系统以R5F100LE作为四旋翼自主飞行器控制的核心,由电源模块、电机调速控制模块、传感器检测模块、飞行器控制模块等构成。飞行控制模块包括角度传感器、陀螺仪,传感器检测模块包括红外障碍传感器、超声波测距模块、TLS1401-LF模块,瑞萨MCU综合飞行器模块和传感器检测模块的信息,通过控制4个直流无刷电机转速来实现飞行器的欠驱动系统飞行。在动力学模型的基础上,将小型四旋翼飞行器实时控制算法分为两个PID控制回路,即位置控制回路和姿态控制回路。测试结果表明系统可通过各个模块的配合实现对电机的精确控制,具有平均速度快、定位误差小、运行较为稳定等特点。 目 录1 系统方案论证与控制方案的选择- 2 -1.1 地面黑线检测传感器- 2 -1.2 电机的选择与论证- 2 -1.3 电机驱动方案的选择与论证- 3 -2 四旋翼自主飞行器控制算法设计- 3 -2.1 四旋翼飞行器动力学模型- 3 -2.2 PID控制算法结构分析- 3 -3 硬件电路设计与实现- 5 -3.1飞行控制电路设计- 5 -3.2 电源模块- 6 -3.3 电机驱动模块- 6 -3.4 传感器检测模块- 7 -4 系统的程序设计- 8 -5 测试与结果分析- 9 -5.1 测试设备- 9 -5.2 测试结果- 9 -6 总结- 10 -附录A 部分程序清单- 11 -1 系统方案论证与控制方案的选择 根据题目要求,对该系统的特点及其控制特性进行了分析,进行了几种不同设计方案的比较。1.1 地面黑线检测传感器探测地面黑线的基本原理是:光线照射到路面并反射,由于黑线和白色地面对光的反射系数不同,所以可以根据接收到的反射光强弱来判断黑线。可实现的方案有:方案一:采用普通发光二极管及光敏电阻组成的发射接收方案。该方案在实际使用时,容易受到外界光源的干扰,有时甚至检测不到。主要是因为可见光的反射效果跟地表的平坦程度、地表材料的反射情况均对检测效果产生直接影响。虽然可采取超高高度发光二极管降低一定的干扰,但这又增加额外的功率损耗。方案二:红外避障传感器E18-D80NK。这是一种集发射与接收于一体的光电传感器,发射光经过调制后发出,接收头对反射光进行解调输出,有效的避免了可见光的干扰。透镜的使用,也使得这款传感器最远可以检测80厘米距离。检测障碍物的距离可以根据要求通过尾部的电位器旋钮进行调节。并且具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点。比较以上二种方案,方案二占有很大优势,不但能准确完成测量,而且能避免电路的复杂性,因此选择方案二。1.2 电机的选择与论证四旋翼无人飞行器是通过控制四个不同无刷直流电机的转速,达到控制四旋翼无人飞行器的飞行姿态和位置,与传统直升机通过控制舵机来改变螺旋桨的桨距角,达到控制直升机的目的不同。在电机的选型上,主要有直流有刷电机和直流无刷电机两种。方案一:直流有刷电机是当前普遍使用的一种直流电机,它的驱动电路简单、控制方法成熟,但是直流有刷电机使用电刷进行换向,换向时电刷与线圈触电存在机械接触,电机长时间高速转动使极易因磨损导致电气接触不良等问题,而且有刷电机效率低、力矩小、重量大,不适合对功率重量比敏感的电动小型飞行器。方案二:直流无刷电机能量密度高、力矩大、重量轻,采用非接触式的电子换向方法,消除了电刷磨损,较好地解决了直流有刷电机的缺点,适用于对功率重量比敏感的用途,同时增强了电机的可靠性。所以选择直流无刷电机作为动力源。1.3 电机驱动方案的选择与论证方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。 方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较 短、可靠性不高。方案三:采用全桥驱动PWM电路。这种驱动的优点是使管子工作在占空比可调的开关状态,提高使用效率实现电机转速的微调。并且保证了可以简单的方式实现方向控制。基于上述理论分析,选择方案三。2 四旋翼自主飞行器控制算法设计2.1 四旋翼飞行器动力学模型设计的小型四旋翼飞行器适用于室内低速飞行,因此忽略空气阻力的影响。因此,简化后的飞行器动力学模型为 式1-1式中为四旋翼飞行器在导航坐标系下的线位移,为运动加速度,m为飞行器质量,分别为机体的偏航角、俯仰角和横滚角,为旋翼面中心到四旋翼飞行器质心的距离, 为轴向惯性主矩。该动力学模型对四旋翼飞行器的真实飞行状态进行了合理的简化,忽略了空气阻力等对系统运行影响较小的参数,使得飞行控制算法更加简洁。2.2 PID控制算法结构分析在动力学模型的基础上,将小型四旋翼飞行器实时控制算法分为两个控制回路,即位置控制回路和姿态控制回路。算法结构如图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。3 硬件电路设计与实现系统以R5F100LE单片机为核心,主要包括电源模块、电机驱动模块、飞行控制模块、传感器检测等功能模块,该系统硬件结构框图如图2-2所示。飞行控制模块电源模块数据转发控制器陀螺仪角度传感器红外避障传感器超声波传感器电子调速器无刷直流电机1电子调速器无刷直流电机2电子调速器无刷直流电机3电子调速器无刷直流电机4键盘罗盘图 2-2 系统硬件结构图3.1飞行控制电路设计飞行控制模块是控制系统的核心部分。它在每个控制周期内实时处理传感器采集的数据和飞行器的姿态信息,完成PID控制的算法,得到四旋翼飞行器的姿态和位置信息,计算出控制量,转化为相应的控制信号经驱动电路后驱动四个电机工作,保持四旋翼飞行器稳定飞行。电路图如图2-3所示。图2-3 飞行控制器电路原理图3.2 电源模块电源由一块11.1V 2200ma的锂电池(重量约为166克)供电,在由电调降压给系统中的各个模块供5v电压并给电机提供电流,这样可满足可满足各个小系统的电源要求。3.3 电机驱动模块四电机驱动模块根据中心控制模块指令驱动各个电机到达指定转速,将电机的速度通过测速反馈装置反馈给飞行姿态控制模块,控制无刷直流电机闭环控制转速,从而控制飞行状态,达到预期位置和姿态。通过电子调速器给电机提供电流,电子调速器模块电路图如图2-4所示。图2-4 电子调速器电流图3.4 传感器检测模块传感器模块是为四旋翼飞行器的飞行控制提供各种飞行参数的装置,包括测量机身三轴角速率的陀螺仪、测量机身三轴线加速度的加速度传感器、测量机身航向及姿态信息的罗盘,电机转速检测的测速传感器、飞行高度传感器和黑线检测传感器。其中角度传感器和陀螺仪电路图如图2-5和2-6所示。图B-5 角度传感器电路图图2-6 陀螺仪电路图4 系统的程序设计本系统以瑞萨MCU为核心,采用C语言对单片机进行编程。主程序主要起导向和决策的作用,系统的控制总流程图如图所示。系统包括延时子程序,电机转速控制子程序,检测子程序,副翼子程序。系统控制的总流程图如图2-7所示。部分程序清单见附录A。按键开始系统初始化上升定高校正姿态前行红外传感器1是否检测到黑线?计黑线值减速降落YN红外传感器2是否检测到黑线?黑线值=3?寻点YNY图2-7 系统主程序流程图5 测试与结果分析5.1 测试设备 模拟区域:按题目要求设计。设备:秒表、卷尺。测试环境为室内。5.2 测试结果使系统运行,参照题目的各项要求进行多次实际定量测量,得到该系统的测量结果如表表B-1所示。表B-1 测试功能、测试工具及实现的情况表具体功能要求实际测试结果基本部分四旋翼自主飞行器一键式启动,从A区飞向B区,在B区降落并停机;飞行时间不大于45s可以满足,飞行时间为15s四旋翼自主飞行器一键式启动,从B区飞向A区,在A区降落并停机;飞行时间不大于45s可以满足要求,飞行时间为17s发挥部分飞行器摆放在A区,飞行器下面摆放一薄铁片,一键式启动,飞行器拾取薄铁片并起飞飞行器携带薄铁片从示高线上方飞向B区,并在空中将薄铁片投放到B区;飞行器从示高线上方返回A区,在A区降落并停机以上往返飞行时间不大于30s其他最为完成发挥部分但以实现其在一个水平高度前行经测试,系统可以满足基本要求和部分发挥部分,并具有稳定前行的特点。6 总结本次设计按照题目要求,采用模块化的硬件和软件设计方法,运用PID控制算法,成功地实现了飞行器寻黑带自主飞行并定点降落的要求。具有飞行稳定、运动迅速、接收信号灵敏等特点。完成了题目基本部分和部分发挥部分的要求。附录A 部分程序清单/* DISCLAIMER* This software is supplied by Renesas Electronics Corporation and is only * intended for use with Renesas products. No other uses are authorized. This * software is owned by Renesas Electronics Corporation and is protected under * all applicable laws, including copyright laws.* THIS SOFTWARE IS PROVIDED AS IS AND RENESAS MAKES NO WARRANTIES REGARDING * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.* Renesas reserves the right, without notice, to make changes to this software * and to discontinue the availability of this software. By using this software, * you agree to the additional terms and conditions found by accessing the * following link:* /disclaimer* Copyright (C) 2011, 2013 Renesas Electronics Corporation. All rights reserved.*/* File Name : r_cg_timer_user.c* Version : CodeGenerator for RL78/G13 V2.00.00.07 22 Feb 2013* Device(s) : R5F100LE* Tool-Chain : CA78K0R* Description : This file implements device driver for TAU module.* Creation Date: 2013/9/7*/*Pragma directive*/#pragma interrupt INTTM00 r_tau0_channel0_interrupt#pragma interrupt INTTM01 r_tau0_channel1_interrupt#pragma interrupt INTTM02 r_tau0_channel2_interrupt#pragma interrupt INTTM03 r_tau0_channel3_interrupt#pragma interrupt INTTM04 r_tau0_channel4_interrupt#pragma interrupt INTTM05 r_tau0_channel5_interrupt#pragma interrupt INTTM06 r_tau0_channel6_interrupt#pragma interrupt INTTM07 r_tau0_channel7_interrupt/* Start user code for pragma. Do not edit comment generated here */* End user code. Do not edit comment generated here */*Includes*/#include r_cg_macrodriver.h#include r_cg_timer.h/* Start user code for include. Do not edit comment generated here */* End user code. Do not edit comment generated here */#include r_cg_userdefine.h#include r_cg_kongzhi.h#include r_cg_lcd.h/*Global variables and functions*/* For TAU0_ch0 pulse measurement */volatile uint32_t g_tau0_ch0_width = 0U;/* Start user code for global. Do not edit comment generated here */uint32_t oko=0;/* End user code. Do not edit comment generated here */* Function Name: r_tau0_channel0_interrupt* Description : This function is INTTM00 interrupt service routine.* Arguments : None* Return Value : None*/_interrupt static void r_tau0_channel0_interrupt(void) if (TSR00 & _0001_TAU_OVERFLOW_OCCURS) = 1U) /* overflow occurs */ g_tau0_ch0_width = (uint32_t)(TDR00 + 1U) + 0x10000U; else g_tau0_ch0_width = (uint32_t)(TDR00 + 1U); /* Start user code. Do not edit comment generated here */ /* End user code. Do not edit comment generated here */* Function Name: r_tau0_channel1_interrupt* Description : This function is INTTM01 interrupt service routine.* Arguments : None* Return Value : None*/_interrupt static void r_tau0_channel1_interrupt(void) /* Start user code. Do not edit comment generated here */TDR05=2980; delayms(500); TDR05=3025; delayms(100); TDR05=2980; delayms(500); TDR05=3040; delayms(50); oko+; if(oko+=10)R_TAU0_Channel1_Stop();z(2040); /xianshi(); /* End user code. Do not edit comment generated here */* Function Name: r_tau0_channel2_interrupt* Description : This function is INTTM02 interrupt service routine.* Arguments : None* Return Value : None*/_interrupt static void r_tau0_channel2_interrupt(void) /* Start user code. Do not edit comment generated here */ /* End user code. Do not edit comment generated here */* Function Name: r_tau0_channel3_interrupt* Description : This function is INTTM03 interrupt service routine.* Arguments : None* Return Value : None*/_interrupt static void r_tau0_channel3_interrupt(void) /* Start user code. Do not edit comment generated here */ /* End user code. Do not edit comment generated here */* Function Name: r_tau0_channel4_interrupt* Description : This function is INTTM04 interrupt service routine.* Arguments : None* Return Value : None*/_interrupt static void r_tau0_channel4_interrupt(void) /* Start user code. Do not edit comment generated here */ /* End user code. Do not edit comment generated here */* Function Name: r_tau0_channel5_interrupt* Description : This function is INTTM05 interrupt service routine.* Arguments :
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度新型化妆品试用体验合同3篇
- 2024版大数据分析平台建设与技术支持合同3篇
- 2024年度抖音平台直播活动策划与执行服务合同3篇
- 2024年度房地产线上线下融合营销策划合同3篇
- 2024版冷链物流专用车辆燃油补给服务合同2篇
- 2024年新版节能管理商务协议典范版B版
- 2024年度商业综合体物业管理与商业运营服务合同3篇
- 2024年度智慧社区管理系统开发与应用专有合同3篇
- 2024年商铺摊位租赁合同(含智能设备应用及数据分析)3篇
- 2024全新剧组演员片酬结算聘用合同模板下载3篇
- 【全国】2023年4月自学考试00882学前教育心理学真题及参考答案
- 室内配套设备家具、家电及窗帘等项目供货服务方案技术投标方案
- 公司规章制度清单
- 我国电视剧女性形象塑造的研究
- 《高效能人士的七个习惯》PPT演讲模板
- 布雷顿森林体系课件
- 沪教版三年级下册课件银色的桦树林 (共17张PPT)
- 读书分享-《倾听幼儿-马赛克方法》
- 六年级上册数学期末总复习课件
- 人美版高中美术必修“美术鉴赏”第二单元主题三《现实与理想-西方古典绘画》说课稿
- 采用新工艺新技术新设备新材料BIM等的程度
评论
0/150
提交评论