李亮 吴杰 石道胜
【摘 要】本设计采用模块化编程,便于移植、二次开发。控制代码对PID算法进行优化,控制精度高、系统反应灵敏,同时采用CRC校验方式进行数据发送,保证了数据完整性和准确性。可实现飞行器定高、定位飞行。
【关键词】无人机;PID控制;MPU6050
中图分类号: V279;V249.1 文献标识码: A 文章编号: 2095-2457(2018)24-0014-002
DOI:10.19694/j.cnki.issn2095-2457.2018.24.006
【Abstract】The design adopts modular programming,which is easy to transplant and redevelop.The code of PID algorithm is optimized with high control precision and sensitive response in the control system.At the same time,The CRC checking mode is used to send data and ensure the data integrity and accuracy.The aircraft can complete flight at fixed altitude and position.
【Key words】UAV;PID Control;MPU6050
0 前言
无人机是无人驾驶飞机(Unmanned Aerial Vehicle)的简称,是由无线电遥控设备和自备程序控制装置的不载人飞机构成。包括无人直升机、固定翼机、多旋翼飞行器、无人飞艇、无人伞翼机。从某种角度来看,无人机可以在无人驾驶的条件下完成复杂空中飞行任务和各种负载任务。四旋翼在很早之前就已经有人研究,但是限于当时的科技还不够发达,因此并没有引起大家的重视。进入21世纪之后,随着科学技术的不断发展,以及微机电、微导航技术的出现,引来了四旋翼发展的新时代,各国都开设有相关的研究机构来对四旋翼飞行器展开研究。四旋翼拥有控制灵活、体积小、重量轻、稳定性好、可垂直起降和定点悬停等特点,不论是在军事上还是民用上都拥有非常广泛的应用前景[1]。本简易四轴飞行器,去除以往其它飞行控制软件的复杂性,并且保留了基本的四轴飞行器的功能。
1 四轴飞行器平衡设计
四轴飞行器与普通的飞行器飞行原理不同,是通过调节四个电机的转速来改变旋翼转速,实现升力的变化,从而控制飞行器的姿态和位置。由于飞行器是通过改变旋翼转速实现升力变化,这样会导致其动力不稳定,所以需要一种能够长期保稳定的控制方法。我们选用PID控制算法对四旋翼的四个螺旋桨的输出进行控制。利用MPU6050进行采集当前环境的三轴加速度、三轴角速度。为此需要大量测试来解决数据采集与处理,控制等时间的分配问题[2]。通过MPU6050采集的陀螺仪和加速度数据进行姿态控制,使飞行器在有外部干扰的情况下依然保持四桨向上的的直立姿态保持飞行。
当系统运行后,先进行系统初始化,包括微处理器的定时器、中断、串口,以及传感器的初始化。传感器测量数据,经转化后读入程序中。根据读入的数据计算出当前的飞行器姿态。读取控制信号,并且计算出控制需要的目标姿态。比较实际姿态与目标姿态,利用PID算法计算出每个电机的调整量,根据计算出的调整量来调整微处理器的PWM模块,使PWM模块产生的PWM波的占空比发生变化,从而调整电机的转速,进而调整了飞行器的姿态[3]。这样系统通过以上的循环实现了对飞行器姿态的动态控制。
2 四轴飞行器定高设计
本四轴飞行器定高采用超声波模块控制,模块使用方法简单,工作电压5V,只要给模块一个10μs左右的高电平即可在模块内部自动生成8个40KHz的方波进行测距,收到回波后的高电平时间通过比例计算即可得到相应的距离测量值。使用时不允许超过5.5V电压,功耗电流:最小1mA,最大20mA,测量范围1cm-5m。在环境恶劣的室外,超声波依然可以保持较为准确的测量稳定性,作为稳定的飞行高度测量模块较为合适[4]。
3 四轴飞行器控制器设计
本简易四轴控制软件主要分两部分。分别为软硬件初始化部分和控制主循环部分。第一部分,上电初始化,包括电机控制模块,超声波,六轴传感器,串口,电子罗盘等等。初始化后等待发送接收的数据,为接下来的控制部分提供必要的准备。第二部分,主要接收遥控器传输过来的信息,主控芯片对信息进行解码,做出相应的控制动作,此外当四轴悬停在空中时,系统根据超声波、加速度传感器等的数据对四轴的无刷电机的转速做出调整,控制四轴的飞行姿态以保持飞行器平稳运行[5]。飞行器采用模块化编程实现,流程图1所示。四轴飞行器系统上电后定时器初始化,GPS和超声波以及蓝牙等传感器初始化,初始化成功后,手機APP进行陀螺仪和加速度计校准,能够选择定高模式,自由模式。MPU6050传感器传过来三轴数据,通过反馈调节PID参数,以达到系统整体保持平衡、平稳的作用。
4 总结
本设计的四轴飞行器展示了四轴的飞行原理,控制驱动原理等。同时设计实现了四轴飞行器的起飞,降落,定高,平衡,加油门,减油门,旋转等动作,首先各个系统初始化,超声波定高初始化,定高PID初始化,油门PWM初始化,定时器初始化,GPS初始化。该四轴飞行器的代码,运用了定时器的四个PWM通道,软件通过缓慢调节PWM实现慢慢加速,软启动,实现了起飞,在利用MPU6050六轴传感器进行PID调节,实现了平衡,这里主要是利用PID反馈调节PWM。利用超声波传感器,调节PID来定高,NRF遥控器和手机APP来遥控。
【参考文献】
[1]王锋,吴江,周国庆等.多旋翼飞行器发展概况研究[J].科技视界,2015(13):6-7.
[2]张权权,王立,成李浩.微型四旋翼飞行控制器设计[J].科技视界,2016(27):435-435.
[3]张新英,余发军,刘聪.基于模糊PID控制的四旋翼无人机设计[J].实验室研究与探索,2017,36(4):56-59.
[4]刘祥,林维昌.多功能环境监测无人机系统设计[J].科技视界,2016(12):55-56.
[5]潘春荣,许化.基于STM32的X型四旋翼无人机设计[J].工程设计学报,2017,24(2):196-202.