《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 简易数字控制四轴飞行器的设计与实现
简易数字控制四轴飞行器的设计与实现
2016年微型机与应用第06期
张国云,李亚斌,陈松,罗民,涂兵,彭仕玉
(湖南理工学院 信息与通信工程学院,湖南 岳阳 414006)
摘要: 设计了基于单片机STM8的简易数字控制四轴飞行器,硬件电路设计主要包括控制电路、传感器电路、电机驱动电路以及无线通信电路等。在软件算法上采用四元素姿态算法,可以完成对飞行角度准确控制。最后制作实物后经过测试,该系统能够达到技术指标设计要求,而且具有价格低以及操作容易的特点,可满足一般玩家娱乐性的要求。
Abstract:
Key words :

  张国云,李亚斌,陈松,罗民,涂兵,彭仕玉

  (湖南理工学院 信息与通信工程学院,湖南 岳阳 414006)

      摘要:设计了基于单片机STM8的简易数字控制四轴飞行器,硬件电路设计主要包括控制电路、传感器电路、电机驱动电路以及无线通信电路等。在软件算法上采用四元素姿态算法,可以完成对飞行角度准确控制。最后制作实物后经过测试,该系统能够达到技术指标设计要求,而且具有价格低以及操作容易的特点,可满足一般玩家娱乐性的要求。

  关键词:数字控制;四轴飞行器;四元素算法

0引言

  近年来,随着控制技术的发展以及数字控制芯片和功率器件价格的降低,四旋翼四轴微型飞行器(以下简称四轴飞行器)在民用方面得到了广泛的应用。四轴飞行器是一种以4个电机作为动力源泉,通过调节4个电机的转速来控制电机飞行的飞行装置。目前市场上的四轴飞行器普遍具有设计复杂、操作繁琐以及价格昂贵的缺点[13],针对此现象,本文设计一种基于单片机STM8的简易数字控制四轴飞行器系统,该系统能够满足一般玩家所要求的悬停、前后运动、左右运动以及翻滚等操作要求,而且具有价格低和操作简单等特点。

1四轴飞行器的工作原理

  简易数字控制四轴飞行器采用4个旋翼螺旋桨作为飞行器的驱动力,它受各自4个电机的控制,两对旋翼对称地分布在飞行器的左右和前后方向,而且它们的结构和所处高度完全一致。设计结构示意图如图 1所示。旋翼1和旋图1四轴飞行器结构设计示意图翼3逆时针方向旋转,旋翼2和旋翼4顺时针方向旋转,4个电机对称安装在四轴飞行器的支架末端,支架中心放置飞行控制处理器和外部传感器设备。

001.jpg

  为了保持四轴飞行器的平稳飞行,本文在四轴飞行器上设计由3个方向的陀螺仪和3 轴加速度传感器构成的惯性导航控制器。由于四轴飞行器的电机 1和电机 3逆时针做旋转的同时,电机 2和电机 4顺时针做旋转,因此当飞行器在平衡飞行时,外部环境对飞行器的干扰可以被抵消。 四轴飞行器可以进行简单的垂直运动、俯仰运动、翻滚运动、偏航运动以及前后运动5个运动,5个运动的工作原理类似,现以垂直运动为例说明其工作过程,其垂直运动图示如图2所示。由于两对电机的转向刚好是相反的,可以平衡其对飞行器的反扭矩,从而保持其平衡。如果同时增加4个电机的输出功率,电机转速的增加使得总的拉力增大,当总拉力大于整机的重量时,飞行器便离地垂直上升。反之,如果同时减小4个电机的输出功率,飞行器则垂直下降,直至平稳着陆,从而实现了沿z轴的垂直运动。当外界扰动量是零时,在4个旋翼转动产生的升力大小等于飞行器自身的重力时,此时四轴飞行器便处在悬停状态,这也是所有玩家最喜欢的悬停状态[45]。

  

002.jpg

2四轴飞行器的硬件设计与实现

  2.1控制电路设计

  鉴于设计要求只需要具备简单的悬停、前后运动、左右运动以及翻滚等飞行要求,因此对控制芯片的选取显得非常重要。原因在于如果选择控制器性能太好,会导致系统的价格过高,超出了当初的设计初衷;如果选择价格比较低的控制芯片,那么处理速度和容量达不到设计要求。图5电机驱动电路原理图根据设计成本和控制性能的需求,所选择的处理器至少具备以下3项功能: (1)存储容量要足够大,能够支持四元素融合算法的运算; (2)有PWM功能,还要有捕获功能; (3)串口通信功能。综合考虑,本文选取的是单片机STM8,基本可以满足设计要求。基于STM8的控制电路原理图如图3所示[6]。

  

003.jpg

  2.2传感器电路设计

  传感器的作用要求为四轴飞行器的控制中心提供最精确的数据信息。由于本文所设计的四轴飞行器比较简单,因此其负载能力是非常有限的,所以传感器的体积及重量应该尽量小。根据设计要求,结合成本选取传感器MPU-6050,该传感器最大的优点是可以消除陀螺仪与加速度传感器之间轴差的问题,从而大大地简化了周围硬件电路的设计,其中基于MPU6050的传感器电路原理图如图4所示。

  

004.jpg

  2.3电机驱动电路设计

  对于小型电机驱动场合,场效应管在功耗、成本和性能方面较其他功率开关管更具优势。在选择功率场效应管的同时,本文选择PWM调制方式,即改变脉冲宽度来调节电机电压的方法就能改变电机的转速,从而可以方便、简单地控制飞行器的运行,其电机驱动电路原理图如图5所示。

005.jpg

  2.4无线通信电路设计

  无线通信电路是本文设计的四轴飞行器的重要组成部分,在现实的使用中,用户使用无线模块对四轴飞行器进行位置控制,其中前后运动、左右运动、上升以及悬停是其常用的姿态控制。由于本文所设计的简易低成本四轴飞行器应用距离不是很远,故选用24L01无线方案,其无线通信电路原理图如图6所示[7]。

 

006.jpg

3四元素姿态算法设计

  3.1四元素算法介绍

  四元素算法由一个标量以及一个矢量两部分组成,标量和矢量构成超复数, 它具有实数和复数的所有特征。它作为已知定位参数,首先可以准确判断刚体的某种姿态,根据姿态可以明确刚体的具体位置信息,最终可以计算出刚体的准确位姿。如果把它当作是变换算子,它可以方便地构成可以逆转的矩阵算子,同时这种算子既可以构成单边算子,也可以构成双边算子。另外对于任何一种算子它既可以应用于半角,也可以应用全角,因此使用非常方便,而且使用范围非常宽广[8]。

  3.2四元素算法实现

  首先把加速度传感器所测量到的三维向量转成单位向量,继而把四元素换算成方向余弦矩阵中的第三列的3个元素。根据余弦矩阵和欧拉角的定义,地理坐标系的重力向量变换到机体坐标系,正好是这3个元素。其中ax、ay、az是加速度传感器实际测量得到的重力向量,而vx、vy、vz是陀螺积分后的姿态推算出的重力向量,它们都是机体坐标参照系上的重力向量。它们之间的误差向量就是陀螺积分后的姿态和加速度传感器测出来的姿态之间的误差。向量间的误差可以用向量叉积来表示,ex、ey、ez表示为两个重力向量的叉积。经过运算后的向量叉积仍旧是位于机体坐标系上的,而陀螺积分误差也位于机体坐标系中,而且叉积的大小与陀螺积分误差成正比例的关系,因此可以用来修正陀螺。由于陀螺是对机体的直接积分,因此对陀螺的修正量会直接体现在对机体坐标系的修正上。然后可以利用叉积误差来做PI修正陀螺的零偏,最终可以解出四元素微分方程,这就是四元素算法的整个编程思路。

  3.3四元素算法结果分析

  为了将四元素姿态算法应用于四轴飞行器,首先须验证四元素姿态算法的正确性和有效性。由于本系统的数据采图6数据采集原理样,必须在系统运动时计算角度通过串口显示在上位机上,并记录数据。其算法测试原理如图6所示。主控芯片在计算出3个方向的角度后,马上通过串口以一定的格式传递给上位机,这样就可以记录数据,并验证数据。

007.jpg

  其四元素姿态算法测试结果如表1所示。从表1可以看出所有角度经过四元素算法融合之后,3个方向上的角度都完全正确,完全能够满足四轴飞行器对动态平衡控制的要求。 

011.jpg

4四轴飞行器软件程序设计

  四轴飞行器采用模块化设计,主要由6个部分组成,其总体流程框图如图8所示。其工作流程图工程过程分析如下:以STM8单片机为处理核心,通过SPI接口读取无线模块接收机中的用户数据,这些数据是从无线模块中的发射机中发出的;处理器以一定的周期通过IIC接口读取MPU6050的6个数据,分别是3个方向的加速度数据和3个方向的角速度数据,接下来要进行姿态融合,通过以四元素为基础的融合算法,利用六轴传感器的数据计算出姿态角,结合卡尔曼滤波算法以及低通数字滤波算法,通过加速度数据进行姿态角补偿,最后准确计算出四轴飞行器的姿态[910]。

008.jpg

5实验结果及分析

  四轴飞行器在完成软硬件设计后,制作出实物图,如图9所示。测试工具包括上位机软件、串口助手、蓝牙模块和MATLAB。整个实验测试包括悬停测试以及操作性测试,其中操作性测试包括前后运动、左右运动、上下运动以及旋转飞行测试。

 

009.jpg

  5.1悬停测试

  悬停测试主要是验证四轴飞行器的稳定性。悬停测试的具体过程为在玩家给出悬停指令后,利用蓝牙模图10悬停测试角度信息测试数据

  块把姿态角数据传输到上位机上,上位机保存数据后通过MATLAB软件显示飞行器角度信息,其悬停状态下角度信息测试数据如图10所示。从图10所示的两种悬停状态下角度信息测试数据可以看出四轴飞行器在悬停实验中姿态角变动基本保持在-4°~+4°,完全能够达到保持稳定的状态。

  5.2操作性测试

  操作性测试是对四轴飞行器系统的快速性和准确性的实验,也就是测试飞行器对玩家所发出的操作指令要求反应迅速和精确的实验。经过对四轴飞行器多次测试,其操作性测试表如表2所示。从表2可以看出,本文所设计的四轴飞行器对于玩家所发出的指令,反应迅速而且完全满足一般玩家需求。

001.jpg

6结论

  本文设计了一个简易数字四轴飞行器装置,采用了四元素作为姿态融合的工具,实现了在复杂情况下四轴飞行器的动态飞行控制。系统设计过程包括理论分析、系统实现方案验证、硬件设计、软件模块设计、算法设计与实现验证、系统调试和数据测试等,最后经过多次测试,系统能够实现一般的悬停、左右运动和上升等操作,可以满足对价格比较敏感的广大玩家需求。

参考文献

  [1] 江杰,朱君,岂伟楠.四旋翼无人飞行器姿态数据采集处理系统[J].计算机测量与控制,2012,20(6):17031706.

  [2] 苏茂,王永骥,刘磊,等.基于改进粒子群算法的再入飞行器轨迹优化[J].计算技术与自动化,2011,30(4):5569.

  [3] 张建明,邱联奎,刘启亮.四旋翼飞行器姿态的自适应反演滑模控制研究[J].计算机仿真,2015,32(3):4247.

  [4] 王史春.四旋翼飞行器力学模型与控制系统设计[J].中北大学学报( 自然科学版),2014,35(2):218224.

  [5] 王伟,马浩,孙长银.四旋翼飞行器姿态控制系统设计[J].科学技术与工程,2013,13(19):55135519.

  [6] 黄根春,周立青,张望先. 全国大学生电子设计竞赛教程——基于TI器件设计方法[M]. 北京:电子工业出版社,2011.

  [7] 谢自美.电子线路技术[M]. 武汉:华中理工出版社,2001.

  [8] 施闻明,徐彬,陈利敏.捷联式航姿系统中四元素算法Kalman 滤波器的实现研究[J].自动化技术与应用,2005,24(11):68.

  [9] 庞庆霈, 李家文, 黄文浩.四旋翼飞行器设计与平稳控制仿真研究[J].电光与控制,2019,19(3):5155.

  [10] 江斌.小型型四旋翼低空无人飞行器综合设计[D].杭州: 浙江大学,2013.


此内容为AET网站原创,未经授权禁止转载。