基于MSP430F5438A的四轴飞控(说明书)_第1页
基于MSP430F5438A的四轴飞控(说明书)_第2页
基于MSP430F5438A的四轴飞控(说明书)_第3页
基于MSP430F5438A的四轴飞控(说明书)_第4页
基于MSP430F5438A的四轴飞控(说明书)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、2016年10月目录1系统概述31、 系统概述 1.时代背景 随着科技不断发展,飞行器越来越普及。四旋翼飞行器属于飞行器的一种,四旋翼飞行器是通过改变旋翼的速度来实现各种动作,相比于其他无人飞行器而言,四旋翼无人飞行器由四组电机驱动,具有飞行平稳灵活等特点,无需旋回半径。适合执行定点侦察、摄像、航空测绘等任务。而现阶段,四旋翼飞行器的传统算法(串级PID)需要配套电子罗盘,并且在解决偏航角的问题上,易受电机磁效应的干扰,且复杂度较高。2.发明内容本发明提供了一种以MSP430F5438A单片机为主控四旋翼飞行器,采用结构简单的单双环PID并行控制算法,该算法对硬件要求低,且仅使用MPU6050

2、模块即可实现有效的姿态控制,较传统使用多种模块的方案,降低了开发成本。3.功能图业务类业务项(3项)业务子项基于MSP430F5438A的四轴飞行器硬件结构主控芯片主控底板传感器及通信机架电机软件结构系统构架及程序流程遥控锁定、解锁及控制中断系统算法结构算法设计参数调试滤波设计2、 硬件结构 1.主控芯片本施工实例中采用的主控芯片为MSP430F5438A。该器件具有 一个强大的 16位RISC CPU,使用 16 位寄存器以及常数发生器,以便获得最高编码效率。该数控振荡器 (DCO) 可在 3.5µs(典型值)内从低功率模式唤醒至激活模式。主控芯片为MSP430F5438A有硬件乘

3、法器寄存器,可以通过 CPU 指令进行载入和读取操作。提高了数据处理速度。 2.主控底板 本施工实例中采用的双层PCB板,可多处供电,结构设计合理,多处挂载滤波电容,抗干扰,信号传输稳定。 3.传感器及通信 集成电路板上有飞行控制系统,所述飞行控制系统包括主控制计算机、三轴陀螺仪、三轴加速度传感器、无线模块、遥控器和电子调速器。 主控制计算机为MSP430F5438A单片机。所述主控计算机通过IIC接口与姿态传感器通信。 遥控器通过所述脉冲捕获单元与所述姿态控制器的处理器信号连接,所述遥控器主要用于下达起飞、上升、下降、前进、后退、左移、右移、左旋、右旋、降落等命令;本实施例中,所述遥控器采用

4、 2.4GHz六通道 FUTABA 远程遥控器输出4路PWM信号,由姿态控制器的脉冲捕获单元(eCAP) 获取并换算为期望的高度、俯仰角、横滚角以及偏航角。 4.机架电机 本实施例提供一种四旋翼飞行器,且其包括机壁、电路板和起落架,所述塑料杆为镂空结构,质量轻但强度高;其四个角部分别与四根塑料杆相连,起落架固定于所述PCB板的底部;所述起落架固定于所述电路板的底部,起缓冲作用;所述电路板集成电源、电调等连线,提高了发明的安全性。本实施例中,所述起落架可以采用工程塑料制备,其重量轻,柔韧性好,可以承受很大的形变,在降落时可缓解大量的冲击力。 起落架包括两个半圆形的缓冲杆和四个横杆 ;所述两个半圆

5、形的缓冲杆之间相互平行,所述四个横杆中的两根横杆固定于所述两个半圆形的缓冲杆的中部,所述PCB板固定于所述缓冲杆中部的两根横杆上,并使得所述电路板位于所述机体中央,另两根横杆分别固定于所述两个缓冲杆的底端,且所述四根横杆之间相互平行。 电机四个分别固定于所述机壁上,且所述电机的输出轴上均固定有螺旋桨叶片。 四旋翼飞行器机身内的四路无刷直流电机采用X字的方式排列,灵活性和可调性高。3、 软件结构 1.系统构架及程序流程 (1)系统构架所述系统中采用时间片轮询法的处理思想,每一个任务在一个周期的确定时间运行,总的系统周期为12.5ms,在06.5ms对传感器进行数据读取,读取完成标志位置数;6.5

6、ms12.5ms检测标志位进行算法控制。 (2)程序流程 开始 程序初始化(此时遥控器锁定) 遥控器解锁 MPU6050读取数值250次取平均值作为传感器测量偏差(大约零点几秒时间) 程序进入while循环 MPU6050读取数值三次(每次通过一阶低通滤波处理) 读取完成,标志位置数 检测标志位 进行算法控制 检测遥控器是否锁定 2.遥控锁定、解锁及控制(1) 遥控人为锁定char rc_solve_lock( void ) if(遥控C通道读数小于某一数值)&&(遥控D通道读数大于某一数值) 标志位+; if(标志位>=150) 标志位 = 0; return 遥控锁定

7、标志; else 标志位 = 0; return 遥控未锁定标志;(2) 遥控解锁及自动锁定char rc_lock( void ) if(遥控C通道读数小于某一数值)&&(遥控D通道读数大于某一数值) if(遥控A通道读数大于某一数值)&&(遥控B通道读数大于某一数值) return 遥控解锁; else if(遥控C通道读数小于某一数值) 标志位+; if(标志位>=1000) 标志位 = 0; return 遥控锁定; else 标志位 = 0; return 遥控解锁;(3)遥控控制 if(遥控器进行前后左右控制) if(遥控控制后第一次进入) 记

8、录当前积分值; 遥控改变算法积分值; if(遥控器未进行方向控制) if(之前遥控器进行了方向控制) 积分值 = 记录的积分值; 3.中断系统 由于MSP430F5438A的中断较少,故只有系统滴答计时和遥控器数据读取采用中断。其中系统滴答计时为看门狗中断,优先级最高。遥控器数据读取采用定时器的捕获中断,其中断中程序极少,故不影响其他程序运行。4、 算法结构 1.算法设计 所述PID控制是指通过将角度数据信息、角加速度数据信息、实时航向数据信息与期望飞行姿态进行对比,对所存在的误差通过比例、积分、和微分等方式进行调整,经PID数据处理输出电机PWM波值,对飞行器进行调整,以按期望飞行。 所述单

9、双环PID控制算法,X、Y轴使用双环PID调节,在Z轴使用单环PID调节。所述双环PID控制指将实际值与期望值对比,其差值作为PID的误差输入(1) 单环PID控制算法量,通过角速度PID控制调节飞行器的平衡,同时将经过调整的角速度、欧拉角继续与期望值对比,并将差值再次输入,实现对本发明X、Y轴方向的控制。如图(1)。 所述单环PID控制指将实际值与期望值对比,其差值作为PID的误差输入量,经PID数据处理输出电机PWM波值,来调节Z轴角速度,同时,Z轴传感器继续测量实际角度值,与Z轴角速度期望值对比,再次输入差值,实现对本发明Z轴方向的控制。如图(2)。(2)双环PID控制算法 所述的改进的

10、串级PID控制算法,在平稳方向上,采用内外环串级调节,继承了传统串级PID的调节灵敏度高,恢复稳定速度快,抗干扰能力强的优点;在控制偏航方面,运用角速度单环PID调节控制Z轴偏航,摆脱了传统上对数字罗盘的依赖,减少了程序冗余,继承了单环PID的简单实用的特点。 在所述程序中加入滤波,所述滤波,采用限幅滤波与低通滤波相结合的方式,与传统平均滤波相比,提高了数据的实时性和数据处理的效率,同时使数据连续,无跳变。 2.参数调试 所述的调试过程为先调内环再调外环,Z轴单环调节与X内环调节和Y轴内环调节同时进行,其中X轴与Y轴参数一致,当内环与Z轴单环调节同时完成时,飞行器能保证基本姿态不变,但遇到强干

11、扰时,飞行器会保持倾斜姿态,不会恢复到平衡姿态。在调节外环时,以不影响飞行姿态的保持为前提,增加P、D参数值直至飞行器处于恰好不抖动。当外环调节完成时,飞行器能抵御较强干扰,且在失衡后会较快恢复平衡。 所述双环PID调节,包括内环调节和外环调节。所述内环调节包括对P、I、D三个值的调节。 所述参数P的调节过程为:(1)赋予一个较小的数值,如:0.01;(2)将当前的P值乘以数5,重复直至飞行器在倾斜时有较小的恢复能力,得到新的P值,即P(n+1) =5*P(n)。(3)将当前的P值除以数0.618,直至飞行器的抖动频率较低,得到新的P值,即P(n+1) = P(n)/0.618。 (4)不断将

12、前两次取得的新P值带入P(n+1)=maxP(n),P(n-1)- minP(n),P(n-1) * 0.618 +minP(n),p(n-1)重复直至飞行器恰好不发生低频抖动,得到确定的P值。 所述参数I的调节过程: I值用于消除静差,其值较小,一般取0.010.1即可。 所述参数D的调节过程:(1)赋予D一个较小的数值,如:0.01;(2)将当前的D值乘以数5,重复直至飞行器在倾斜时有较小的恢复能力,得到新的D值,即D(n+1) =5*D(n)。(3)将当前的D值除以数0.618,直至飞行器的抖动频率较低,得到新的P值,即D(n+1)=D(n)/0.618。(4)将前两次取得的新D值带入D

13、(n+1)=maxD(n),D(n-1)- minD(n),D(n-1) * 0.618 +minD(n),D(n-1),重复直至飞行器出现轻微的高频抖动,得到D值。(5)将(4)中得到的D值乘以9/10,得到确定的D值,即D(n+1)=D(n)* 9/10。 所述外环调节包括对P、D两个值的调节,所述P、D调节同内环P、D值调节,I值无需添加。 所述单环调节包括对I、D两个值的调节,所述I、D调节相同如下:(1)赋予D一个较小的数值,如:0.01;(2)将当前的D值乘以数5,重复直至飞行器在倾斜时有较小的恢复能力,得到新的D值,即D(n+1) =5*D(n)。(3)将当前的D值除以数0.61

14、8,直至飞行器的抖动频率较低,得到新的P值,即D(n+1)=D(n)/0.618。(4)将前两次取得的新D值带入D(n+1)=maxD(n),D(n-1)- minD(n),D(n-1) * 0.618 +minD(n),D(n-1),重复直至飞行器出现轻微的高频抖动,得到D值。(5)将(4)中得到的D值乘以9/10,得到确定的D值,即D(n+1)=D(n)*9/10。 传统PID调节:采用极端试触的方法,先试出一个Pmax,选定一个Pmin,后带入公式P=(Pmax-Pmin) * 0.618 +Pmin得到新P值,而后通过式子P(n+1)=maxP(n),p(n-1)- minP(n),p(n-1) * 0.618 +minP(n),p(n-1)计算,重复多次,最终得到P值。所述传统PID调节,Pmax的试探会使飞机经受到较大的抖动,易损伤飞行器,因此需要外部辅助,而外部辅助方式的加入使调试环境异于实际飞行情况,导致调试参数往往不是最佳飞行参数,使调试周期增长。 所述单双环调节方法与传统调节方法相比:(1)参数整定时仅需略微观察飞机抖动情况,其抖动由无到有,故不损伤飞机,(2)无需外部辅助方式,如:悬吊法、烤四轴等。调节环境即飞行实际环境,调节时间极短一般前后30min即可。 3.滤波设计限幅滤波与低通滤波相结合的滤波方式实施如下:float filte

温馨提示

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

评论

0/150

提交评论