吴振磊 王轩 杨辉
摘要:科技改变了人们的生活,近些年来,伴随着微电子技术、微机械控制技术、大型集成电路技术的发展,四轴飞行器在人们的学习、生活、工作中得到了广泛的应用,前景非常可观,因此得到了人们广泛的关注。本文介绍了一种以Arduino平台为核心的四轴飞行器的实现方案,详细阐述了系统的总体构造、硬件电路设计和关键技术步骤。经测试后所得结果表明该飞行器系统可靠度强,应用成本低,可扩展性高,同时对后续设计有一定的借鉴意义。
关键词:四轴飞行器;Arduino平台;ATMEGA328P芯片;
中图分类号: V278 文献标志码:A
1 引言
四轴飞行器最早是为了满足军事用途而被研发出的新式飞行器,随着科技的进步,处理器、传感器、电动机、单片机、锂铁电池等技术日益成熟,四轴飞行器在民用领域得到了飞速的发展和普及。目前,四轴飞行器已经在各个领域得到广泛应用,如制作广告所需的航拍、农药喷洒、森林火灾巡查、高压电网检查、益智玩具、灾害搜救和军事打击等。近年来,许多学者、科研机构以及DIY爱好者通过对四轴飞行器进行分析,建立了系统的研究体系,具有广阔的前景。
现如今,人们普遍应用的飞行器有固定翼飞机和直升机,相比于固定翼飞机,四轴飞行器的机动性能较好,能够做到悬停、平行旋转、垂直起降等固定翼飞机无法完成的动作,然而同时也带来了续航时间短、飞行速度慢的缺点。而与普通直升机相比,四轴飞行器飞行状态灵活且无须尾浆,因此结构简单,成本较低。
2 基本控制原理
在四轴飞行器中,四个螺旋桨共同旋转形成一个平面,靠飞控系统来控制每一个电機的动力输出,以此来控制这个平面的倾斜程度,依靠升力的分力来对飞行方向进行调整。众所周知,螺旋桨在旋转时,会对机身做反扭力,因此四轴飞行器的螺旋桨的旋转方向并不是相同的,而是相邻的两个螺旋桨旋转方向相反,相对的两个螺旋桨旋转方向相同,如此一来就可以克服机身整体的反扭力,使四轴飞行器保持稳定的状态。假如要完成上升或下降动作,则只需增加或减小螺旋桨的转速;假如要完成水平方向移动的动作,则只需加大相反方向螺旋桨的转速;假如要完成水平方向转动的动作,只需要让相对两个同向的螺旋桨加速,其余两个螺旋桨减速,改变反扭力的平衡状态,但保持飞行器的总升力保持不变,就可以实现水平转动的动作了。具体控制方法如图1所示:
例如图f所示,在我们增大1号电机的转速的同时减小3号电机的转速,飞行器将会向后飞行。而如图c和g所示,当我们同时增大(或减小)四个电机的相同转速时,四轴飞行器将会垂直上升(或下降);当螺旋桨的旋转所产生的升力与四轴飞行器自身的重力相同时,飞行器将会处于悬停的状态。通过控制四个电机的转速可以改变螺旋桨的升力,从而改变四轴飞行器的平衡状态,以此来实现对四轴飞行器飞行姿态的控制。
3 单元电路原理及结构
3.1 主控模块
本四轴飞行器的控制算法是基于Arduino平台开发实现的。在选择系统方面,我们选用了Arduino Uno R3作为该四轴飞行器的主控制平台,这个平台的核心处理器为ATMEGA328P,该处理器拥有14路数字数据输入/输出口,其中六路是作为PWM输出,其余的分别为1C、串口和SPI通信接口和十位内置A/D,可以满足系统设计的需求,主控模块如图2所示。
3.2 姿态检测模块
为了获取四轴飞行器的运动姿态,我们选择了MPU-6050来作为四轴飞行器的姿态检测装置,以此检测四轴飞行器的线性加速度和角速率的变化。MPU-6050是全世界第一个六轴的运动处理传感器,它将一个数字运动处理器、一个三轴MEMS陀螺、一个三轴MEMS加速度计三个装置整合为一体,大大减小了四轴飞行器的重量,降低了飞行难度,简化了制作流程。其中,DMP还兼具硬件滤波器的功能,因此通过编写程序我们可以得到更稳定的飞行器的飞行姿态数据,可以大大提高四轴飞行器的飞行稳定性,MPU6050电路如图3所示。
3.3 电机及驱动模块
为了应对四轴飞行器的电机长时间高速旋转的情况,我们选用了使用无刷直流电机,无刷直流电机的优点就是可以使用数字变频控制技术对电机进行控制并且具有更大的可以调节从一到一万每秒的转速范围,结构简单、噪音较小、维护方便并且成本低廉,这里我们选用了720空心杯电机,已经足以满足我们的需求。用来驱动无刷直流电机的驱动装置是无刷直流电调,它可以根据控制信号(PWM波的占空比)的变化根据实际需求来调节电机的转速。用来驱动四轴飞行器的电源我们选用了输出电压为3.7V,容量为600mAh的锂铁电池,用来驱动小型的四轴飞行器已经足够满足需求并且方便携带。
该四轴飞行器的电路板上还可搭载电池管理芯片和驱动电机用的MOS管,使得搭建工作会更加简便。
4 姿态数据处理及控制
4.1 滤波处理
飞行器的姿态数据处理能力将会直接影响飞行器的控制精度,好的姿态数据效果可以大大改善飞行器的飞行质量,为了对不稳定且噪音较大的姿态数据进行滤波处理,采用了硬件和软件相结合方法。硬件滤波方面直接使用了MPU-6050传感器上自带的数字运动处理器,它能够接收处理源于加速度计、陀螺仪的数据,处理的结果能够从DMP寄存器里读出,并且比一般陀螺仪和加速度计读取的数据更稳定,还减小了飞行过程中所产生的噪声。
4.2 姿态控制算法
经过软件、硬件滤波处理后的姿态数据,数据质量与信噪比相比之前有了明显的改善,方便我们更精确地控制四轴飞行器的姿态。该系统的控制算法采用了PID控制。PID控制器是一种线性结构的控制器。它是由被控制的期望值和实际的输出值形成一个控制偏差,而后将产生的偏差按比例(P),积分(I),微分(D)的关系,使用线性组合方式构成合适的控制量去控制被控制的对象。
5 结束语
本设计采用了Arduino平台作为飞行器主控平台,采用ATMEG芯片作为主控芯片,利用PID算法可以较容易实现对飞行器姿态检测及动作的控制。同时,该平台具有较好的可扩展性,可以满足物联网技术的需求,通过在平台上搭载各种通信模块,如:红外、蓝牙、WiFi、Zigbee等,实现飞行器与其他智能控制终端的连接,满足远程控制的要求,市场应用前景广阔。
参考文献:
[1]王瑞,刘莉苹.基于STC15的四轴飞行器设计[J].现代制造技术与装备.2017.12;
[2]赵鑫川,王利利.基于STM32F407的四轴飞行器的设计[J].内江科技.2018.5;
[3]盛希宁,蔡舒旻.四轴飞行器的系统设计[J] .林业机械与土木设备.2018.4;
[4]陈国定.基于MPU6050的四轴硬件姿态解算研究[J].机电工程.2018.1;
[5]张崇晖.基于Arduino平台的微小型四轴飞行器设计与飞行控制系统实现[J].南通航运职业技术学院学报.2017.3;
作者简介:吴振磊(1981-),男,江苏苏州人,硕士,讲师,研究方向:电子信息工程技术。
基金项目:苏州经贸职业技术学院院级大创项目:《基于Arduino平台的四轴飞行器开发与设计》