基于蓝牙的四轴飞行器控制系统
2016-11-30朱建亮
朱建亮,浦 炜
(常熟理工学院,江苏 常熟 215500)
基于蓝牙的四轴飞行器控制系统
朱建亮,浦 炜
(常熟理工学院,江苏 常熟 215500)
四旋翼飞行器具有的结构简单,易于控制,操控灵活;能够自由悬停,垂直起降及前后左右控制等优势使它具有非常广泛的应用领域。本系统实现了使用安卓手机来远程控制飞行器以及通过内部控制算法实现飞行器对自身的平衡控制;采用STM32系列MCU作为飞行器控制器,利用MPU6050采集飞行器的飞行状态,使用蓝牙用于飞行器与手机通信,通过控制算法实现对飞行器的飞行控制。系统具有操控灵活,结构简单的优点。
PID;四轴飞行器;MPU6050
近年来无人机在以非常快的发展速度进入我们的生活中。最为普遍的就是航拍及遥控飞行器等,其中四旋翼飞行器得到更多的关注。与普通无人机相比,四旋翼飞行器是在平面上具有4个平均分布且呈十字对称结构,拥有6个自由度,机动性能高,具有升降、悬停、前后飞行、左右飞行等特点[2,6]。四旋翼飞行器具有结构简单、成本低廉、易于维护和制造 ,起降简单、操作灵活等优点[1]。
1 系统设计原理及架构
1.1 系统实现的功能
本系统设计实现了基于Android移动端的遥控器的App设计,通过手机蓝牙与飞行器的蓝牙进行数据传输,进而控制四轴飞行器,同时飞行器具有自动控制能力,能够对自身的姿态进行解析,并调整自身状态使其处于平衡状态。
1.2 系统的设计架构及各功能模块
图1 系统设计架构
如图1所示为系统设计的总架构:设计一个App,作为手机端的一个远程遥控器,通过手机蓝牙与四轴飞行器的蓝牙之间建立通信,从而传递控制数据。同时飞行器的主控制选用STM32系列单片机,单片机通过蓝牙模块来接收手机发来的数据。同时还使用MPU6050三轴重力和三轴陀螺仪传感器采集飞行器的动力及姿态数据。单片机整合数据,并转换成适当占空比的PWM信号,并用此信号控制四个螺旋浆的转速,来控制飞行。
2 系统硬件设计
2.1 飞行原理
四旋翼飞行器的旋翼对称地安装在呈十字交叉的支架顶端,位置相邻的旋翼旋转方向相反,同一对角线上的旋翼旋转方向相同,以此确保了飞行系统的扭矩平衡[1],从而使飞行器不会有剧烈的自旋现象。
四旋翼飞行器的上下垂直运动是通过4个旋翼同时增速(减速)转速来实现的[3]。在飞行器的控制过程中,飞行器的姿态检测是一个不可或缺的部分,飞行器的姿态可以用俯仰角,横滚角和航向角来准确表示,如图2所示,Yaw表示飞行器航向角,即机体坐标系绕自身Z轴旋转过的角度;Pitch为飞行器俯仰角,即机体绕自身X轴旋转过的角度;Roll为飞行器横滚角,即机体绕自身Y轴旋转过的角度。Yaw,Pitch,Roll三个角能够描述飞行器的任意姿态[5]。
图2 四轴原理结构图
2.2 硬件搭建
在硬件设计中,需要对飞行器的骨架结构,重量;电机的性能;点调的输出,电池的输出能力,继续航能力;主控芯片的处理能力,传感器及蓝牙模块的选择做出综合的考量。如图3所示,主控端采集来自蓝牙和MPU6050的数据,使用PWM输出来驱动无刷电调,进而控制无刷电机转速来控制飞行器。表1中列出设计中所需要的材料及其对应的参数。
图3 飞行器硬件架构图
材料描述及参数数量十字型四轴骨架四轴450机架4轴4旋翼1电调新西达电调XXD30A无刷电调4无刷电机航模电机XXD新西达KV1000无刷马达4旋翼正反浆1045螺旋桨2MPU6050三轴加速度三轴陀螺仪1蓝牙模块A09HC-05串口透传模块1STM32主控STM32f103ZET6主控板1电源11.1V4200MAH30C3S锂电池1
3 软件设计
软件设计分为上位机的App控制端,主要用于人机交互;下位机软件设计,主要完成飞行器控制算法的实现。
3.1 上位机软件设计
在上位机的设计中使用QT来完成界面设计,并将其移植到Android手机上使用。在上层的设计中主要实现一个用户界面,让用户能够简单地建立与飞行器的链接。其次就是蓝牙数据通信通道的建立,首先是手机扫描周围的蓝牙设备,扫描到匹配的设备之后,建立蓝牙连接,建立连接完成之后去发现蓝牙所提供的服务及属性,在属性中找到数据通道的特征ID号,用此ID建立数据传输通道,自此蓝牙的数据通道建立完成。App将用户的操作转换成对应的协议数据通过数据通道下发给下位机即完成上位机的功能。
3.2 下位机软件设计
下位机通过蓝牙采集上位机的数据并对数据进行解析,使用MPU6050对飞行器的姿态进行解析。最终主控制器通过PID的控制算法,对四路PWM进行调整输出;来控制飞行器的状态。其中最重要的是MPU6050的数据采集及数据转换,和PID控制算法的实现。
3.2.1 MPU6050的设计实现
MPU6050的初始化过程如下,初始化完成之后即可采集三轴加速度和三轴陀螺仪的数据。
1) 初始化IIC接口。
2) 复位MPU6050。由电源管理寄存器1(0X6B)控制。
3) 设置角速度传感器和加速度传感器的满量程范围。由陀螺仪配置寄存器(0X1B)和加速度传感器配置寄存器(0X1C)设置。
4) 设置陀螺仪采样率 ,由采样率分频寄存器(0X19)控制。
5) 设置系统时钟。由电源管理寄存器1(0X6B)控制。
6) 使能角速度传感器(陀螺仪)和加速度传感器。由电源管理寄存器2(0X6C)控制。
采集到的数据我们不能直接使用,我们需要得到的是姿态数据,即欧拉角:航向角(yaw)、横滚角(roll)和俯仰角(pitch)。这就需要对采集的陀螺仪数据进行姿态的融合结算。InvenSence提供了MPU6050的嵌入式运动驱动库,结合MPU6050的DMP,将原始数据转换为四元数输出,再利用四元数计算出欧拉角[4,5]。
3.2.2 PID控制算法的实现
四旋翼飞行器的控制主要包括姿态控制和位置控制,由于位置的改变是由于姿态的变化而引起的,因此控制四旋翼飞行器的姿态是最为重要的。为了实现对四旋翼飞行器的姿态控制,通常情况下人们采用的是比较成熟的PID控制器。PID控制:调节器的输出是输入的比例、积分、微分的函数。根据系统输入的偏差,按照PID的函数关系进行运算,其结果用以控制输出。它具有原理简单、算法成熟、控制参数相互独立、稳定性好等优点[7]。PID控制原理如图4。
图4 PID控制原理图
在模拟系统中,PID算法的表达式:
式中:P(t)为调节器输出;e(t)为调节器的偏差信号;Kp为比例系数;Ti为积分系数;Td为微分系数。
为了方便的使用C语言来实现PID的功能,我们需要将连续的系统离散化。离散化的PID表达式如下:
也可表示为:
u(k)=Kp(err(k)+Ki∑err(j)+
Kd(err(k)-err(k-1))).
Kp、Ki、Kd三个参数需要在具体设计的系统中,根据测试结果的反馈,整定出系统最匹配的值。
4 结束语
通过硬件及软件的设计和系统的调试,实现系统的基本功能;使用手机App连接上飞行器;可以实现控制飞行前后左右上下的六个自由度的平稳飞行。同时蓝牙掉线保护等安全措施也都完备。
[1] 杨庆华,宋召青,时磊.四旋翼飞行器建模、控制与仿真[J].海军航空工程学院学报,2009,24(5):499-502.
[2] 李尧.四旋翼飞行器控制系统设计[D].大连:大连理工大学,2013.
[3] 叶树球,詹林.基于PID的四旋翼飞行器姿态控制系统[J].计算机与现代化,2015,5.
[4] 胡国飞,方兴,彭群生.凸组合球面参数化[J].计算机辅助设计与图形学学报,2004,16(5):632-637.
[5] 刘秀平,胡建平,苏志勋,等.均匀准保角球面参数化[J].计算机辅助设计与图形学学报,2008,20(5):618-624.
[6] 聂博文.微小型四旋翼飞行器的研究现状与关键技术[J].电光与控制,2007,14(6):113-117.
[7] 侯永锋,陆连山,高尚德,等.基于PD算法的四旋翼飞行器控制系统研究[J].机械科学与技术,2012,31(3):359-362.
Four Axis Aircraft Control System Based on Bluetooth
Zhu Jianliang,Pu Wei
(ChangshuInstituteofTechnology,ChangshuJiangsu215500,China)
The quadrotor is widely used in application field with its advantages of simple structure,easy to control,flexible control,freely hovering,vertical take-off and landing and so on.This system makes the realization to use Android mobile phone to remote control aircraft and through the internal control algorithm to achieve the aircraft on its own balance control.The STM32 Series MCU is used as an aircraft controller which uses mpu6050 to collect the flight status of the aircraft,uses Bluetooth for aircraft and mobile communication,and through the control algorithm to achieve the flight control of the aircraft.
PID; quadrotor; MPU6050
2016-05-24
朱建亮(1992-),男,河南潢川人,常熟理工学院电子科学与技术专业本科生。
1674-4578(2016)05-0010-03
V249.1;TN925
A