四轴飞行器课件(转)

合集下载

四轴飞行器

四轴飞行器

四轴飞行器四轴飞行器是微型飞行器的其中一种,也是一种智能机器人。

是最初是由航空模型爱好者自制成功(另说是瑞士科技人员研制成功,有待考究,但据笔者了解,早在二战时四轴项目已经做出原型机,但由于缺乏先进的控制技术,高昂的造价,被否定),后来很多自动化厂商发现它可以用于多种用途而积极产于研制。

它利用有四个旋翼作为飞行引擎来进行空中飞行,它的尺寸较小、重量较轻、适合携带和使用的无人驾驶飞行器一样能够携带一定的任务载荷,具备自主导航飞行能力。

在复杂、危险的环境下完成特定的飞行任务。

同样也可以用于娱乐,比如弹钢琴曲,增强现实等虚拟游戏。

构造四轴飞行器其构造特点是在它的四个角上各装有一旋翼,由电机分别带动,叶片可以正转,也可以反转。

为了保持飞行器的稳定飞行,在四轴飞行器上装有3个方向的陀螺仪和3 轴加速度传感器组成惯性导航模块,它还通过电子调控器来保证其快速飞行。

扩展四轴的灵魂部分---飞控+电调了。

为什么电调也算是四轴的灵魂部分呢?因为四轴要用的电调,还是有所不同的。

各看官稍安勿躁,且听我慢慢道来。

先说飞控的核心组成和大概原理,四轴飞行器相对于常规航模来说,最最复杂的就是电子部分了。

之所以能飞行得很稳定,全拜电子控制部分的功劳。

在常规固定翼飞机上,陀螺仪并非常用器件,在相对操控难度大点的直机上,如果不做自动稳定系统,也只是锁尾才用到陀螺仪。

四轴飞行器与其不同的地方是必须配备陀螺仪,这是最基本要求,不然无法飞行,更谈不上飞稳了。

不但要有,还得是3轴向(X、Y、Z)都得有,这是四轴飞行器的机械结构、动力组成特性决定的。

在此基础上再辅以3轴加速度传感器,这6个自由度,就组成了飞行姿态稳定的基本部分,也是关键核心部分---惯性导航模块,简称IMU。

飞行中的姿态感测全靠这个IMU了,可见它是整架模型的核心部件。

再说说电调,四轴飞行器有四个桨(纯属费话,两两相对呈十字交叉结构,在桨的转向上分正转和反转,这样可抵消模型自身的旋转。

四轴飞行器课件(转)

四轴飞行器课件(转)

算法上的实现
• 外环: (我的外环仅仅用了p项) • 外环输出值=p*(实际姿态解算角度值-平衡位置 姿态值-控制量) • exValue.Pitch_p =expidPitch.p*(Attitude.pitchControldata_PITCH-XStaticSet ); exValue.Roll_p =expidRoll.p*(Attitude.rollControldata_ROLL-YStaticSet ); • exValue.Yaw_p =expidYaw.p* (Attitude.yawSETYAW+Controldata_YAW);
谢谢大家
限幅
• • • • • • • • • • • • • • • • • • • if( PWM_XZ<MinPeriod) PWM_XZ=MinPeriod; else if( PWM_XZ>MaxPeriod) PWM_XZ=MaxPeriod; if( PWM_XF<MinPeriod) PWM_XF=MinPeriod; else if( PWM_XF>MaxPeriod) PWM_XF=MaxPeriod; if( PWM_YZ<MinPeriod) PWM_YZ=MinPeriod; else if( PWM_YZ>MaxPeriod) PWM_YZ=MaxPeriod; if( PWM_YF<MinPeriod) PWM_YF=MinPeriod; else if( PWM_YF>MaxPeriod) PWM_YF=MaxPeriod;
内环pd
• 内环输出=p*(实际角速度值+外环输出角 度值)-d*(当前角速度-上一次角速度) • 也就是将外环输出的角度值作为期望值加 入内环控制当中。

四轴(多轴)飞行器概述

四轴(多轴)飞行器概述

四轴(多轴)飞行器概述一、简介四轴(多轴)飞行器也叫四旋翼(多旋翼)飞行器它有四个(多个)螺旋桨,四轴(多轴)飞行器也是飞行器中结构最简单的飞行器了。

前后左右各一个,其中位于中心的主控板接收来自于遥控发射机的控制信号,在收到操作者的控制后通过数字的控制总线去控制四个电调,电调再把控制命令转化为电机的转速,以达到操作者的控制要求,前后马达是顺时针转动,需要安装反桨,左右马达是逆时针转动,需要安装正桨,机械结构上只需保持重量分布的均匀,四电机保持在一个水平线上,可以说结构非常简单,做四轴的目的也是为了用电子控制把机械结构变得尽可能的简单。

二、控制原理四轴飞行器的控制原理就是,当没有外力并且重量分布平均时,四个螺旋桨以一样的转速转动,在螺旋桨向上的拉力大于整机的重量时,四轴就会向上升,在拉力与重量相等时,四轴就可以在空中悬停。

在四轴的前方受到向下的外力时,前方马达加快转速,以抵消外力的影响从而保持水平,同样其它几个方向受到外力时四轴也是可以通过这种动作保持水平的,当需要控制四轴向前飞时,前方的马达减速,而后方的马达加速,这样,四轴就会向前倾斜,也相应的向前飞行,同样,需要向后、向左、向右飞行也是通过这样的控制就可以使四轴往我们想要控制的方向飞行了,当我们要控制四轴的机头方向向顺时针转动时,四轴同时加快左右马达的转速,并同时降低前后马达的转速,因为左右马达是逆时针转动的,而左右马达的转速是一样,所以左右是保持平衡的,而前后马达是顺时针转动的,但前后马达的转速也是一样的,所以前后左右都是可以保持平衡,飞行高度也是可以保持的,但是逆时针转动的力比顺时针就大,所以机身会向反方向转动,从而达到控制机头的方向。

这也是为什么要使用两个反桨,两个正桨的原因。

三、电调我们平时用的商品电调是通过接收机上的油门通道进行控制的,这个接收机出来的控制信号一般都是20mS 间隔的PPM脉宽控制信号,而四轴为了提高响应的速度,需要控制命令的间隔更短-比如说5mS,所以就需要特殊的电调而不能用普通的商品电调,但是为什么要使用I2C总线跟电调连接呢,这个跟电路设计以及软件编写等有关,I2C总线在硬件连接上可以多个设备直接并连在总线上,它有相应的传输机制保证主机与各个从机之前顺畅沟通,这样连接就比较的方便,所以四个电调的控制线是并接在一起连到主控板上就可以了,这个也跟我们选用的芯片相关,很多单片机都有集成I2C总线的,软件设计起来也得心应手。

四轴飞行控制原理

四轴飞行控制原理

四轴(1)-飞行原理总算能抽出时间写下四轴文章,算算接触四轴也两年多了,从当初的模仿到现在的自主创作经历了不少收获了也不少。

朋友们也经常问我四轴怎么入门,今天就简单写下四轴入门的基本知识。

尽量避开专业术语和数学公式。

1、首先先了解下四轴的飞行原理。

四轴的一般结构都是十字架型,当然也有其他奇葩结构,比如工字型。

两种的力学模型稍微有些不一样,建议先从常规结构入手(其实是其他结构我不懂).常规十字型结构其他结构常规结构的力学模型如图。

力学模型对四轴进行受力分析,其受重力、螺旋桨的升力,螺旋桨旋转给机体的反扭矩力。

反扭矩影响主要是使机体自旋,可以想象一下直升机没有尾桨的情况。

螺旋桨旋转时产生的力很复杂,这里将其简化成只受一个升力和反扭矩力。

其它力暂时先不管,对于目前建模精度还不需要分析其他力,顶多在需要时将其他力设为干扰就可以了。

如需对螺旋桨受力进行详细研究可以看些空气动力学的书,推荐两本,空气螺旋桨理论及其应用(刘沛清,北航出版社)空气动力学基础上下册(徐华舫,国防科技大学)网易公开课:这个比麻省理工的那个飞行器构造更对口一些.荷兰代尔夫特理工大学公开课:空气动力学概论以上这些我是没看下去,太难太多了,如想刨根问底可以看看。

解释下反扭矩的产生:电机带动螺旋桨旋转,比如使螺旋桨顺时针旋转,那么电机就要给螺旋桨一个顺时针方向的扭矩(数学上扭矩的方向不是这样定义的,可以根据右手定则来确定方向).根据作用力与反作用力关系,螺旋桨必然会给电机一个反扭矩。

在转速恒定,真空,无能量损耗时,螺旋桨不需要外力也能保持恒定转速,这样也就不存在扭矩了,当然没有空气也飞不起来了。

反扭矩的大小主要与介质密度有关,同样转速在水中的反扭矩肯定比空气中大。

因为存在反扭矩,所以四轴设计成正反桨模式,两个正桨顺时针旋转,两个反桨逆时针旋转,对角桨类型一样,产生的反扭矩刚好相互抵消。

并且还能保持升力向上.六轴、八轴…类似。

我们控制四轴就是通过控制4个升力和4个反扭矩来控制四轴姿态。

四轴飞行器

四轴飞行器

目录摘要 (2)第一章绪论 (3)1.1引言 (3)1.2 项目内容 (3)第二章四轴飞行器的基本介绍 (4)2.1 四轴飞行器的发明与发展 (4)2.2 四轴飞行器的功能与运用 (4)2.3 四轴飞行器的特点 (5)2.4 四轴飞行器的技术难点 (6)第三章四轴飞行器的原理 (7)3.1 四轴飞行器的基本构成 (7)3.2 四轴飞行器飞行原理 (8)3.3四轴飞行器的基本运动状态 (9)垂直运动 (9)俯仰运动 (9)滚转运动 (10)偏航运动 (10)前后运动 (11)侧向运动 (11)3.4 四轴飞行器陀螺仪原理 (11)第四章飞越FY999-1 四轴飞行器 (13)4.1 FY999-1规格参数 (13)4.2 FY999-1特点- (13)4.3 FY999-1重要机械构件 (13)第五章四轴飞行器的国内外 (16)5.1 国外运用 (16)5.2国内运用 (16)第六章结论以及存在问题 (17)摘要四轴飞行器(四旋翼飞行器)也称为四旋翼直升机,简称四轴、四旋翼,是一种有4个螺旋桨且螺旋桨呈十字形交叉的飞行器,运用陀螺仪保持平衡。

它是多旋翼飞行器中最基本的一种。

近几年,得益于微型自动控制系统的发展,四旋翼飞行器发展十分迅速。

现在更多厂家参加了对四轴飞行器的研发改进的队伍,它的作用也在近几年的航空,娱乐,勘察的可见一斑。

关键词:四轴飞行器姿态陀螺仪第一章绪论1.1引言四轴飞行器最开始是由军方研发的一种新式飞行器随着MEMS传感器、单片机、电机和电池技术的发展和普及,四轴飞行器成为航模界的新锐力量。

到今天,四轴飞行器已经应用到各个领域,如军事打击、公安追捕、灾害搜救、农林业调查、输电线巡查、广告宣传航拍、航模玩具等,已经成为重要的遥感平台。

以农业调查为例,传统的调查方式为到现场抽样调查或用航空航天遥感。

抽样的方式工作量大,而且准确性受主观因素影响;而遥感的方式可以大范围同时调查,时效性和准确性都有保证,但只能得到大型作物的宏观的指标,而且成本很高。

四轴飞行器飞行原理

四轴飞行器飞行原理

四轴飞行器飞行原理四旋翼飞行器结构形式如图所示,电机1和电机3逆时针旋转的同时,电机2和电机4顺时针旋转,因此当飞行器平衡飞行时,陀螺效应和空气动力扭矩效应均被抵消。

与传统的直升机相比,四旋翼飞行器有下列优势:各个旋翼对机身所施加的反扭矩与旋翼的旋转方向相反,因此当电机1和电机3逆时针旋转的同时,电机2和电机4顺时针旋转,可以平衡旋翼对机身的反扭矩。

四旋翼飞行器在空间共有6个自由度(分别沿3个坐标轴作平移和旋转动作),这6个自由度的控制都可以通过调节不同电机的转速来实现。

其基本运动状态分别是:(1)垂直运动;(2)俯仰运动;(3)滚转运动;(4)偏航运动;(5)前后运动;(6)侧向运动;在控制飞行器飞行时,有如下技术难点:首先,在飞行过程中它不仅受到各种物理效应的作用,还很容易受到气流等外部环境的干扰,很难获得其准确的性能参数。

其次,微型四旋翼无人飞行器是一个具有六个自由度,而只有四个控制输入的欠驱动系统。

它具有多变量、非线性、强耦合和干扰敏感的特性,使得飞行控制系统的设计变得非常困难。

再次,利用陀螺进行物体姿态检测需要进行累计误差的消除,怎样建立误差模型和通过组合导航修正累积误差是一个工程难题。

这三个问题解决成功与否,是实现微型四旋翼无人飞行器自主飞行控制的关键,具有非常重要的研究价值。

下面将逐个说明飞行器的各种飞行姿态:垂直运动——在图中,因有两对电机转向相反,可以平衡其对机身的反扭矩,当同时增加四个电机的输出功率,旋翼转速增加使得总的拉力增大,当总拉力足以克服整机的重量时,四旋翼飞行器便离地垂直上升;反之,同时减小四个电机的输出功率,四旋翼飞行器则垂直下降,直至平衡落地,实现了沿z轴的垂直运动。

当外界扰动量为零时,在旋翼产生的升力等于飞行器的自重时,飞行器便保持悬停状态。

保证四个旋翼转速同步增加或减小是垂直运动的关键。

俯仰运动——在图(b)中,电机1的转速上升,电机3的转速下降,电机2、电机4的转速保持不变。

四轴

四轴

11. 外形2.工作原理旋翼对称分布在机体的前后、左右四个方向,四个旋翼处于同一高度平面,且四个旋翼的结构和半径都相同,四个电机对称的安装在飞行器的支架端,支架中间空间安放飞行控制计算机和外部设备。

结构形式如下图所示。

对于姿态测量和控制来说,两种方式差别不大.对于姿测量和控制来说两种方式差别不大考虑到可能会使用图像相关传感器,为了使视线不被遮挡,所以大部分采用X模式。

飞行器运动方向行动方向“十”字模式“X”字模式四旋翼飞行器通过调节四个电机转速来改变旋翼转速,实现升力的变化,从而控制飞行器的姿态和位置。

四旋翼飞行器是一种六自由度的垂直升降机,但只有四个输入力,同时却有六个状态输出,所以它又是一种欠驱动系统。

微型飞行器的动力学模型如图所示飞行器载体坐标系,原点固定于飞行器的重心,以坐标轴,分别指向飞行飞行器载体标系原点固飞行器标别指向飞行器的前( 横滚轴)右( 俯仰轴) 和下( 偏航轴) 方向选取导航坐标系为参考坐标系,分别指向北东和当地垂线向下方向和分别代表飞行器受到转矩和升力图,四旋翼飞行器动力学模型四旋翼飞行器产生基本动作的原理为: 电机1和3逆时针旋转驱动两个反桨产生升力,电机2和4顺时针旋转驱动两个正桨产生升力.反向旋转的两组电机和桨使其各自对机身产生的转矩相互抵消,保证4个电机转速一致时机身不发生转动。

电机1和4转速减小( 增大) ,同时电机2和3转速增大( 减小) ,产生向前( 后)()同时电机()产生向前()方向的运动.电机1和2转速减小( 增大) ,同时电机3和4转速增大( 减小) ,()方向的运动()()产生向左( 右) 方向的运动.4个电机转速同时增大( 减小) 产生向上( 向下) 的运动.对角线的电机一组转速增大,另一组转速减小产生自身旋转运动。

3.四旋翼的基本组成:3.1电机、电调、正反桨、电池、机架、遥控、飞控。

3.2电机的种类:分为有刷和无刷两类。

有刷主要有空心杯和碳刷型的直流电机,主要是可以体积做到非常小,价格相对来说便宜。

四轴飞行器PPT

四轴飞行器PPT

3.4 无刷马达旋转螺旋桨来提 供升力,以推动飞行器。与有 刷马达相比,无刷马达具有扭 % 力大、低耗损的优点,但由于 其结构,必须加上一些电路与 较为复杂的方法控制。本次使 用KV的无刷马达。见图四
Байду номын сангаас
50
图四
图三
3.5 电池提供控制板与马达电源。本 次专题使用11.1V1500mAh的锂电池( 最大放电25C,瞬间35C),如图五所 示。
映射到电机
32%
4
成果展示
2
系统整体框图
四轴飞行器的系统运作示意图如右 图所示,微控制器从传感器读取信 息,转换成飞行器姿态,飞行器上 的微控制器依此当前姿态,转换成 PWM信号控制电调,改变无刷电机 转速,来达到自主平衡与方向控制 。
传感器组
四轴飞行器
I^2C总线
PWM 单片机 电调 无刷电机
32%
3
硬件及软件设计
此次四轴飞行器的结构由两对正反桨、四颗无 刷马达、四个电子调速器(电调)、一颗电池构成 。 3.1 机身用来放置控制器、马 达、电池…等等的平台。机身 的大小,会限制螺旋桨的长度 ,进而影响到负载的大小;机 身的硬度,会使感测器受到马 达所产生震动影响的大小。本 次专题使用对角长度250mm的 机身。如图一
研究背景及意义:
近年来,由于微机电系统(Micro Electro Mechanical Systems,MEMS)技术快速发展,同时低成本、普及的传感器的产 生。便出现以算法与传感器为核心的四轴飞行器成为热门的研究课 题,其有着重量轻、体积小、结构简单、机动性高、维护方便等优 点。 四轴飞行器基于以上优点,可以应用于实时监控、地形探勘、 灾区救援及收寻。
3.7 惯性测量单元(IMU) 如图为单片机的I2C接口与传 感器的连接示意。 % 使用I2C总线即可与多个装置 通信。 本次使用MPU6050(三轴加速 度陀螺仪传感器)与HMC5883 (电子罗盘)。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

谢谢大家
中断函数
• void Angle_Calculate() interrupt 1 • { • Read_MPU(); • MPU_pro(); • Get_Control_Data() ; • MainControl(); • }
• 注意:我们的所有函数都是在30mz的频率下运行 的。 • 因为要控制飞行器的姿态所以要用到传感器获取 飞行器的姿态。我选用的mpu6050传感器,自带 3轴角速度和3轴重力加速度计。可以获取飞行器 的角度和角速度。所以我们需要实现获取传感器 数据的底层函数 • InitMPU6050();//初始化MPU-6050 • Read_MPU();//
限幅
• • • • • • • • • • • • • • • • • • • if( PWM_XZ<MinPeriod) PWM_XZ=MinPeriod; else if( PWM_XZ>MaxPeriod) PWM_XZ=MaxPeriod; if( PWM_XF<MinPeriod) PWM_XF=MinPeriod; else if( PWM_XF>MaxPeriod) PWM_XF=MaxPeriod; if( PWM_YZ<MinPeriod) PWM_YZ=MinPeriod; else if( PWM_YZ>MaxPeriod) PWM_YZ=MaxPeriod; if( PWM_YF<MinPeriod) PWM_YF=MinPeriod; else if( PWM_YF>MaxPeriod) PWM_YF=MaxPeriod;
个人的一些理解
• 粗略的可以认为四元数是一种描述四维空间坐标的一种方 式。可以利用它表示空间的伸缩和旋转。由于三维的复数 是不存在的(至今没有证明出),所以数学家们把目光投 向了四维复数。所以今天我们利用四元数来坐姿态的解算, 利用四元数解算世界坐标系,然后转换为欧拉角。欧拉角 是一个坐标系到另一个坐标系的变换,可以通过依次绕不 同的坐标轴的3次连续转动来定义。从物理角度看,欧拉 角表示法可能是最简单的方法之一。我们用陀螺仪和加速 度计所测得的量都是相对于世界坐标系的值,为了在控制 的上的更直观,更方便准确我们将坐标系转换为机载坐标 系,而姿态解算就是这个转换的过程。
• • • • • • • 我们需要mcu做什么? 1、驱动电机 2、获取加速度、角速度数据 3、姿态解算滤波 4、控制算法 5、接收遥控器信号 6、调试数据输出
对应于驱动程序
• • • • • • • 1、驱动电机 2、获取加速度、 角速度数据 3、姿态解算滤波 4、控制算法 5、接收遥控器信号 6、调试数据输出 • Pwm波驱动 • iic通信 • • • • 四元数+卡尔曼 串级pid Spi+2401 Uart+串口示波器
• 控制飞行器的运动方向只要我们在平衡控 制环内传入控制量,打破水平姿态即可控 制运动。
控制算法
• 由于飞行器在控制当中属于一个二阶阻尼 系统,因此采用串级pid算法可以得到比较 稳定的控制 • 串级pid:
• 飞行器中的串级pid • 外环:角度值 p 或pi • 内环:角速度 p、d
• 可能大家查过资料中有很多写的是外环p、i 内环p、i、d,我这里利用的是内环p、d,原 因是我认为i项主要用于静态误差消除,但是 对于初学者,加上i项调试比较困难,而且效 果不明显。内环利用pd已经可以稳定飞行, 当然同样希望大家努力探索出更好地控制方 法。
2、姿态解算
• 四元数与欧拉角:
• 欧拉角与四元数姿态表示方法是目前工程上最常用 的两种方法。欧拉角表示法具有简便、几何意义明 显等优点,同时姿态敏感器可以直接测出这些参数, 能较方便地求解用这些姿态参数描述的姿态动力学 方程。但采用欧拉角的姿态描述方法存在奇点问题, 且需多次三角运算。而采用四元数表示方法则可以 避免这些问题,因此目前工程上开始采用四元数来 描述飞行器运动及动力学方程中的姿态,而在设计 控制规律时,由于欧拉角的直观性和几何意义,仍 然采用欧拉角描述。
算法上的实现
• 外环: (我的外环仅仅用了p项) • 外环输出值=p*(实际姿态解算角度值-平衡位置 姿态值-控制量) • exValue.Pitch_p =expidPitch.p*(Attitude.pitchControldata_PITCH-XStaticSet ); exValue.Roll_p =expidRoll.p*(Attitude.rollControldata_ROLL-YStaticSet ); • exValue.Yaw_p =expidYaw.p* (Attitude.yawSETYAW+Controldata_YAW);
• void Time0_Init() 12T自动重载 • { • AUXR &= 0x7F; • TMOD &= 0xF0; • TL0 = 0x58; • TH0 = 0x9E; • TF0 = 0; • TR0 = 1; • EA=1; • ET0=1; • }
//10ms@30MHz 定时器0 16位 //定时器时钟12T模式 //设置定时器模式 //设置定时初值 //设置定时初值 //清除TF0标志 //定时器0开始计时
• 具体的调试过程需要写很多篇,因为时间 有限,内容过多不动手做光看也会很无聊, 所以就另写了一篇姿态解算调试文档,大 家可以课下观看。网址发给大家:
控制算法
• 四轴飞行器的飞行建立于平衡控制的基础 之上。 • 飞行器的平衡即为飞行器的x轴以及y轴平 衡。也就是飞行器的俯仰和横滚能够维持 在一个固定下效果:解算前:
解算后
• 发现滤波后的波形去除了尖峰以及抗干扰 能力明显增强,可以满足要求。
算法实现
• • • • 调节参数: #define Kp 1.0f //10.1f #define Ki 0.005f//0.011f #define halfT 0.0053f
1、pwm波驱动
• • • • • • 软件底层的需要: 首先需要设定4路pwm波来控制四路电机 15需要用timer2来设定pwm频率 建议5k-10k频率 void Time2_Init() { AUXR &= 0x7F; //定时器时钟12T模式
• T2L = 0xEB; • T2H = 0xFF; • • } • 还需要配置pwm波发生器的其他寄存器 代码在工程中的pwmgo里面 太长不粘了 • 还有一个函数控制pwm波的占空比,我们就是利用占空比来控制电机 的转速的。
内环pd
• 内环输出=p*(实际角速度值+外环输出角 度值)-d*(当前角速度-上一次角速度) • 也就是将外环输出的角度值作为期望值加 入内环控制当中。
最终的整合用于pwm输出控制四个 电机转速
• 1号电机pwm输出值=油门+pwm最小值-俯 仰控制量+横滚控制量+偏航控制量; • 2号电机pwm输出值=油门+pwm最小值+俯 仰控制量-横滚控制量+偏航控制量; • 3号电机pwm输出值=油门+pwm最小值-俯 仰控制量-横滚控制量-偏航控制量; • 4号电机pwm输出值=油门+pwm最小值+俯 仰控制量+横滚控制量-偏航控制量;
• 做完这些底层函数我们可以开始进行调节 了 • 首先介绍一下传感器
• mpu6050
重力加速度计可以换算成角度值, 角速度计输出的是角速度。 我们需要获取飞行器的姿态就 需要知道角度和角速度 下图是角度输出的波形
下图是角速度输出的波形
对比
• 可以看出角速度相对平滑,动态特性好静 态特性差,角度值动态特性查抗干扰能力 低。直接利用传感器输出的角度值不能满 足控制要求,因为干扰太大,利用角速度 积分也不可以因为积分会导致误差的累积, 最终导致系统崩溃。因此我们需要一种滤 波算法以及坐标系转换的算法来对姿态值 进行解算。
类型
十字型
Y型
飞行器的运动模型
X型
姿态控制
俯仰 横滚 偏航 Pitch Roll Yaw
垂直运动
俯仰
向前
向后
横滚
向右
向左
偏航
四轴飞行器的组成 电池
遥控器
螺 旋 桨
电 机
电 机 驱 动
稳压电源 接收机
主控
大气压力计、电 子罗盘、gps、 osd、数传….
陀螺仪
加速度计
软件篇
• void IMUupdate(float gx, float gy, float gz, float ax, float ay, float az)
• 具体解算过程、矩阵转换等等….请查询四 元数,网上资料很多,但也比较复杂。 (由于本人长时间不用复数以及矩阵转换 等,数学基础不好,为了避免误导大家, 就不和大家细说了。)
•还有一个函数控制pwm波的占空比, •我们就是利用占空比来控制电机的转速的。
•还有一个函数控制pwm波的占空比,我们就是利用占空比来控制电机的转速的。
• 然后还需要设定一个稳定的控制周期。控 制周期的意思就是每隔多长时间对姿态进 行一次控制。根据15的运行速度以及电机 的响应速度,我将控制周期设定在10ms, 每10ms控制一次。因此需要用定时器设定 一个10ms的中断。
从实践出发制作飞行器
前言:
我假定为学习本课程的同学都拥有一定的C语言基础, 并且学习过一定的单片机相关的知识,拥有一些单片机的 开发经验。课程当中 飞行器的开发主控是stc公司出品的 iap15w4k60s4芯片,这是一款基于51内核的单片机。选 择这款芯片的原因主要是为了让初学者更容易理解,底层 驱动更容易开发。当然如果你在开发领域已经是大神级, 那么你应该能够根据这节课程很容易的将程序移植到任意 一款你所喜欢的芯片当中。
我与飞行器相识的过程
讲述内容依赖的硬件
相关文档
最新文档