关键词:四轴飞行器;串级PID算法;四元数;MPU605;上位机;STM32F103T8U6;SX1278芯片;STC12C2052AD
1 引言1
在20世纪初,由于当时科技的落后,人们致力于发展两翼飞机,所以四轴飞行器的研究没有得到重视。进入21世纪以来,科技发展迅速,四轴飞行器的研究得以不断开展。其功能不断增多、稳定性及续航时间不断增强,但是其稳定性还不够理想。
本文主要针对四轴飞行器稳定性不高的缺点,加入数字信号传输系统,使之能与上位机进行远距离的双向通讯,然后将遥控控制信号传输至飞行器,并将飞行器当前的姿态角、高度等信息返回给上位机,在上位机和四轴飞行器之间建立双向的数据链,四轴飞行将遥控信号和飞行器姿态、位置信息反馈给上位机,上位机再经过稳定性测试后,将上述信息再负反馈给四轴飞行器。双向通信通过SX1278通信模块实现,其是一款高速度、远距离的数传芯片。在通信速度为1Kbps的条件下,可以使其有效距离达到3000米以上,从而达到远距离运行[1]。
1 此项目受国家级创新创业训练计划创新训练项目资助(项目号:201412216010)。
2 结构以及原理
2.1 结构形式
四轴飞行器包括四个机翼,四个电机的尺寸相同,每个电机控制一个旋翼,飞行控制计算机控制四个电机,四个电机之间通过支架连接起来,其具体结构形式如图1所示。
图1 四轴飞行器结构图
2.2 工作原理
四轴飞行器通过四个电机的支架构成主要躯干,由躯干的不同运动而形成立体的六个自由度,通过对电机进行不同的加减速而产生对应的离心力。根据离心力的方向来实现对非线性的自由度的控制,从而平衡反转矩,其基本运行状态分别是以下几种,四轴飞行器原理如图2所示。
(1)垂直运行:如图2(a)所示,四个电机中1、3转向相同,2、4转向相同,当四个电机保持恒速进行加速,则将会产生垂直上升运行,同理,保持恒速并且减速,则实现垂直下降运行。
(2)变桨运行:如图2(b)所示,当飞行器1和3转向相反,产生力的扭矩使得朝y轴转动,最终实现飞行器的俯仰运行。
(3)翻转运行:如图2(c)所示,和图2(b)的原理相同,保持3和1的转速不变,改变2,4的转速大小,使机身绕x轴旋转,实现飞行器的翻转运行。
(4)偏航运行:如图2(d)所示,由于可使四个机翼中的1,3两个电机向上逆时针加速转动,2,4两个电机向下顺时针加速转动。当四个电机转速相同时,四个机翼产生的反扭矩此时为0,从而四轴飞行器停止转动。当1,3加速,2,4减速时,则产生顺时方向移动的偏航运动,同理1,3减速,2,4加速时,会产生逆时方向的偏航运动。
(5)前后运行:如图2(e)所示,当四轴的反转矩产生一定的倾斜角度时,当角度较大时,则向前运动,同理,角度较小时,则向后运动。
(6)横向操作:如图2(f)所示,由于结构对称,横向运行的工作原理与前后运行一致[2]。
3 硬件设计
系统主要硬件原理如图3所示。
图3 系统硬件原理图
3.1 核心系统模块
本文中所用的单片机最小系统以STM32F103T8U6为核心,经过复位电路,外部时钟电路,启动方式抉择电路,电源退偶电容电路(减小电流波动产生的影响)等构成。
3.2 空心杯电机模块
本文STM32四轴飞行器采纳的是有刷空心杯电机,转速为30000转/分,直径为7毫米,长度为20毫米,电机直径为1毫米。
3.3 STC12C2052D遥控芯片模块
STC12C2052D系列工作电压为3.6V-2.2V,本文中将其作为遥控器的主控,满足SX1278通信芯片的需求,它不仅比8051的功能更强大,而且物美价廉。
3.4 SX1278无线通信模块
本文中使用的无线通信芯片SX1278是一款高速度、远距离的数传芯片,比NRF24L01性能更好。在通信速度为1Kbps的条件下,其有效距离为3000米以上遥控距离,从而达到远距离运行。由STC12C2052AD等组成基本遥控设备,将遥控控制信号传输至飞行器,并将飞行器当前的姿态角、高度等信息返回给上位机,实现飞行器和上位机之间的远距离双向通信,其上位机在初始状态下,四轴的初始状态具体如图4所示。
图4 四轴初始状态图
3.5 MPU6050传感器模块
MPU6050主要由三轴陀螺仪,三轴加速度传感器以及电子罗盘(HMC5883)组成,它将陀螺仪和加速计整合在一个片上,通过IIC总线给出六个维度的ADC值,将陀螺仪和加速计其整合在片上,经过一系列变化,从而精确测得空间范围的值。
在此基础上,我们测试了如何使用软件解算四元数,通过四元数解算姿态角,将遥控控制信号传输至飞行器,并将飞行器当前的姿态角等信息返回给上位机[3]。
4 串级PID算法设计
对于其串级PID算法步骤,具体实现如图5所示。
图5 串级PID算法流程图
在通过上位机中的数据调节串级PID时,首先设定期望角度,将期望角度输出到角度环PID控制器中,再通过角度环PID输出到角速度环PID控制器中,然后用四个PWM波输出到对应的四个电机上,IMU(惯性测量监控)随时用来重新测量四轴的稳定值[5]。一方面IMU通过负反馈到角速度环PID控制器中,另一方面IMU以3D姿态负反馈到期望角度中,循环之前的步骤,直到调节到相对稳定的平衡值。对于如何整定串级PID值,本文主要从调节串级PID中的内外环P、I、D值,从而使四轴稳定性逐步提高。
5 软件设计
5.1 软件设计主体流程介绍
软件设计的主程序的主体流程如图6所示。
图6 软件主体流程图
本文中软件主体部分主要通过初始化,通过STC的遥控进行双向传输,判断是否有通信,若有通信,则传递通信数据,若没有,则读取传感器数据,采用串级PID算法,调节内外环P、I、D值对数据进行分析,再通过PWM波(占空比)将数据输出到示波器,在示波器上形成稳定的方波,方波如图7所示[6]。
图7 方波图
5.2 双向通信主控和遥控子程序流程介绍
通过STC12C2052AD发出的遥控命令到SX1278通信芯片(SX1278芯片存在于四轴飞行器主控制板和遥控器控制板),通过通信芯片SX1278进行四轴飞行器主控与飞行遥控部分双向通信,即双向通信的主控子程序和遥控子程序如图8和图9所示。
图8 遥控通信部分的子程序图
有关遥控通信部分的子程序主要是从系统初始化开始,然后依据STC12C2052AD遥控芯片模发出命令,若确认发出,则进行下一步,否则返回上一步,然后对IMU(惯性测量单元)进行校准,检查获取的数据是否与系统自身的数据是否类似,若类似、则进行下一步,否则返回上一步。然后控制指令解析,将数据传输到主控,最后结束遥控通信程序部分。
图9 主控通信部分的子程序图
有关主控通信部分的子程序主要是从系统初始化开始,然后根据SX1278通信模块是否获取到遥控模块的数据,否则返回上一步,然后对IMU(惯性测量单元)进行校准,检查获取的数据是否与系统自身的数据是否类似,若类似、则进行下一步,否则返回上一步。然后经过上位机对数据进行接收,以及通过调节内外环P、I、D的值,使其稳定性逐步提高,最后结束主控通信程序部分[7]。
6 实验
(1)在进行固定调试实验的时候,可以将飞行器用绳子栓住,然后调试最基本的平衡和稳定。这样一般可以获得-一个大概的PID值。当这步调试基本稳定,才会进行后面更加精细深入的调试。在进行平衡性测试时,由于中间风扇摔断数次,基于这个问题,我们在机翼外部添加了保护罩,防止有刷电机摔坏。对于其实践操作,调试后如图10所示。
图10 调试四轴平衡性图
(2)在飞行实验中,在室内通过遥控器对四轴的飞行进行初步定点的控制,对其悬停时候稳定性的测试,以及负荷一些相对较轻的物品,探测器或者航拍器等等。图11为实验室进行空载实验飞行情景,设置飞行高度在5-8米之间,转速在30000r/m左右,飞行遥控方式采用美国手的方式。通过进行遥控器其左手油门,右手操纵杆,具体飞行控制分为一下几点,具体如附表所示。
7 结论
本文以STM32F103T8U6为四轴主控芯片,采用SX1278为通信芯片,由STC12C2052AD组成基本遥控设备,通过调节串级PID算法中的内外环P、I、D值,使四轴稳定性大幅度提高,从而顺利地完成负载探测器以及航拍的任务等等。然而在实际操作中,理论与实践还存在一定差距,四轴会受到外部环境的一些干扰。因此还需要对软件部分进行优化,硬件部分进行升级,最终慢慢地达到理想效果。
参考文献:
[1]王锋,吴江,周国庆,等. 多旋翼飞行器发展概况研究[J]. 科技视界,2015,13期.
[2]杨洪亚,裴文卉. 基于STM32四旋翼飞行器设计与算法[J]. 科技视界,2018,17期.
[3]金薇.基于STM32的四轴飞行器的研究与设计[J]. 山西电子技术,2016.
[4]郭萧,祝玲,郭青,等. 四旋翼飞行器设计方案[J]. 电子世界,2015.
[5]李文鹏,唐海洋. 基于STM32的四旋翼飞行器姿态解算的研究[J]. 单片机与嵌入式系统应用,2016,16期.
[6]张丽娟,孙戈.四旋翼飞行器的姿态角估计与控制[D]. 西安:西安科技大学,2016.
[7]胡琦逸,王建中,邹洪波. 四旋翼飞行器的姿态估计与优化控制研究[D]. 杭州:杭州电子科技大学,2013.
作者简介:
程王峰(1996.8-),男,学生,安徽新华学院电子通信工程学院,专业:电气工程及其自动化,通讯地址:安徽省合肥市蜀山区望江西路555号,邮编:230088,手 机:17356510827,1249880948@qq.com
陈茂繁(1997.5-)男,学生,安徽新华学院电子通信工程学院,专业:电气工程及其自动化。
杨钊(1986.3-)女,硕士,安徽新华学院电子通信工程学院,讲师,研究方向:新型传感器。
陶冶(1994.11-)男,学生,安徽新华学院电子通信工程学院,专业:自动化。
朱弘弘(1998.6-)女,学生,安徽新华学院电子通信工程学院,专业:通信工程
王晓慧(1997.10-)女,学生,安徽新华学院财会与金融学院,专业:经济与金融
郑权权(1995.4-)男,学生,安徽新华学院电子通信工程学院,专业:电气工程及其自动化
张军政(1997.5-)男,学生,安徽新华学院电子通信工程学院,专业:电子信息工程
项目基金:
此项目受国家级创新创业训练计划创新训练项目资助(项目号:201412216010)。
共0条 [查看全部] 网友评论