基于STC15 MCU的微型四轴飞行器设计
   来源:现代电子技术     2021年01月29日 19:18

高正中 赵晨晖 宋森森

摘 要: 微型四轴飞行器属于旋翼式飞行器,具有体积小、结构简单、设计成本低等优点,在军事探测、信息采集、增强通信节点等方面应用广泛。设计采用STC15W4K58S4芯片作为微型四轴飞行器的控制核心,以 NRF24L01 实现无线遥控通信、MPU6050陀螺仪进行姿态监测,采用互补滤波器原理设计姿态融合算法,同时采用 PID增量控制算法调整PWM输出占空比,实现对飞行器电机转速的控制。经过测试可实现对飞行器的姿态控制。

关键词: 四轴飞行器; STC15W4K58S4; PID算法; PWM控制

中图分类号: TN61?34; TP249 文献标识码: A 文章编号: 1004?373X(2016)24?0145?04

Design of micro four?axis aircraft based on STC15 MCU

GAO Zhengzhong, ZHAO Chenhui, SONG Sensen

(College of Electrical Engineering and Automation, Shandong University of Science and Technology, Qingdao 266590, China)

Abstract: The micro four?axis aircraft belongs to the rotary wing type aircraft, has the advantages of small volume, simple structure and low design cost, and is widely used in military detection, information collection, communication nodes enhancement and other fields. The STC15W4K58S4 chip is taken as the control core of the micro four?axis aircraft, the NRF24L01 is adopted to realize the wireless remote control, and MPU6050 gyroscope is employed to monitor the posture. The principle of complementary filter is used to design the posture fusion algorithm. The incremental PID control algorithm is adopted to adjust the output duty cycle of PWM to control the motor speed of the aircraft. The testing result indicates the flight posture of the aircraft can be controlled with the design method.

Keywords: four?axis aircraft; STC15W4K58S4; PID algorithm; PWM control

微型四轴飞行器是一种可垂直起降的微小型无人机,其控制系统有4个输入、6个自由度,采用4个螺旋桨提供动力实现飞行控制。系统主要由机架、微处理器(MCU)、传感器模块、无线传输模块和电机等部分组成,具有飞行灵活、稳定性强等众多特点,在低空飞行具有较大优势[1]。微型四轴飞行器的飞行控制系统从功能上分为三种:自主飞行、半自主飞行和人工遥控。基于应用范围和安全性考虑,本设计采用遥控方式控制四轴飞行器的飞行。飞行器上的MCU接收遥控命令,实时采集陀螺仪角速度,调节飞行器的飞行姿态。

1 四轴飞行器硬件设计

本文设计的微型四轴飞行器硬件设计包括两个部分: 遥控部分和飞控板部分。遥控部分主要包括STC15主控制芯片、摇杆控制电路、NRF24L01无线发送模块等;飞控板部分主要组成有STC15主控制芯片、MPU6050陀螺仪角速度传感器、NRF24L01 无线接收模块等。硬件设计总体框图如图1所示。

1.1 飞控板硬件设计

飞控板的机械结构设计采用“十”字模式,如图2所示。启动飞行器时可通过操纵遥控器同时加大4个电机的转速,使飞行器垂直提速升空。要使飞行器顺时针旋转需增大 M1,M4转速同时减小M2,M3转速。同理, 若M2与M3的转速大于M1与M4的转速,飞行器逆时针旋转[2]。以此实现飞行器的加速、减速及方向改变。

在飞控板电路中,STC15主控制芯片对陀螺仪传感器采集的数据进行滤波、融合、姿态解算等处理后转变成相应的PWM 信号,再将解算得到的 PWM 信号传送给电机,电机根据 PWM 信号的输出占空比调节转速。

飞控板硬件电路设计结构如图3所示,包含 STC15主控制芯片、MPU6050陀螺仪传感器、NRF24L01 无线接收模块、下载器接口电路、供电电路。

由图3可知,主控制MCU为STC15W4K58S4芯片,通过采集陀螺仪传感器的角度数据并加以姿态解算,接收遥控器发送的数据,采用PID算法计算输出占空比控制电机运转。MPU6050 陀螺仪传感器以单一数据流形式向STC15主芯片传输数据,可以完成处理运动感测的复杂信息,降低运动处理运算对主控制芯片的负荷,准确跟踪飞行器的运动轨迹[3]。

NRF24L01作为无线收发器芯片,实现遥控器与飞控板之间的无线数据传输。供电电路为系统提供3.7 V工作电源,可以转化成5 V和3.3 V的工作电压[4],电路如图4所示。

1.2 遥控部分硬件设计

遥控部分电路结构如图5所示,其中包括STC15主控制芯片、遥杆控制电路、NRF24L01 无线发送模块、下载器接口电路、供电电路和校准电路。

其中,遥杆控制电路可提供多种控制参数,实现多姿态多角度的控制;NRF24L01无线发送模块通过主控芯片给飞行器发送指定的命令实现飞行监控功能;供电电路采用3.7 V电池供电,实现遥控器对飞控板的远程控制。

2 四轴飞行器的程序设计

本文利用Keil开发平台的C语言编写微型四轴飞行器的飞行程序。程序模块化设计包括传感器数据的读取及姿态解算、PID控制、PWM信号捕获以及控制电机的PWM波形输出等。整体程序流程如图6所示。

由式(3)可以看出,只要确定X,Y,Z的值,就可以利用前后3次测量的偏差值得出角速度的增量,实现PID增量控制[6]。

互补滤波器是使加速度和陀螺仪角速度达到平衡的一个平台,将低通滤波器与高通滤波器结合,对加速度计低通滤波,对陀螺仪高通滤波,通过整合适当的参数得到较好的滤波器特性[7]。本设计采用互补滤波器对测量误差进行矫正,并给出了互补滤波器融合系数的方法,互补滤波器原理如图9所示。

[θs=GLsθ1s+GHsθ2s]

式中:GL(s)具有低通滤波特性;GH(s)具有高通滤波特性。设计采用的姿态估计算法为四元数法,四元数就相当于复数二维空间[8],由实数及i,j,k三个元数组成,以复数形式表示为:

[q=cosφ2+isinφ2+jsinφ2+ksinφ2 q=cosφ2+isinφ2+jsinφ2+ksinφ2] (4)

四元数的表达式没有奇点且可以精确的表示4个维度的转动信息,因此本设计的姿态解算采用四元数法[9]。本设计中,遥控器程序采用左手油门设计。 STC15主控制芯片通过A/D采集数据,并将模拟信号转变成数字信号,由NRF24L01发送给飞行器,同时接收来自飞控板的姿态信号并处理,循环采集新的数据信号并重复以上工作过程 [10]。遥控器程序设计流程图如图10所示。

3 系统调试与结果

完成四轴飞行器硬件设计及程序算法研究,进行以下测试。给系统下载一个LED闪烁程序,若程序正常运行,则说明MCU配置成功[11];用示波器检查PWM输出波形是否符合要求,若符合则表明电机可正常运转;操纵遥控器的左右摇杆,检测4个螺旋桨的转动情况是否符合飞行要求,若不符合则修改 PID 控制参数,调整达到预期飞行要求则测试结束。

测试结果显示飞行器实现基本飞行功能,通过试飞,飞行器基本完成飞行动作,但飞行稳定性需进一步研究。

4 结 语

本文基于STC15最小系统设计出一个微型四轴飞行器,从机械结构设计到软硬件电路设计均做了较为详细的介绍,涉及了动力学飞行控制原理、PID控制算法及姿态解算四元数法等相关知识,最终经过对软硬件的调试,实现微型四轴飞行器的人工遥控。

参考文献

[1] 程学功.四轴飞行器的设计与研究[D].杭州:杭州电子科技大学,2012.

[2] 王东平.基于嵌入式的四轴飞行器控制系统研究与设计[D].泉州:华侨大学,2013.

[3] 郝芸,杨奇,佟皓萌.基于STM32的四轴飞行器设计[J].电子测试,2015(18):6?8.

[4] 刘峰,吕强,王国胜,等.四轴飞行器姿态控制系统设计[J].计算机测量与控制,2011,19(3):583?585.

[5] 许震,毛丽民,刘同连,等.四轴飞行器控制系统设计[J].常熟理工学院学报,2013(2):109?113.

[6] 李世光,申梦茜,王文文,等.一种Mecanum轮式移动平台增量PID控制系统设计[J].山东科技大学学报(自然科学版),2016(1):86?90.

[7] 王俊,鲁晓天.对四轴飞行器基于姿态算法的分析与实现[J].河南科技,2015(2):51?53.

[8] 王金红,成怡,钱红亮,等.四轴飞行器姿态监控系统设计[J].宇航计测技术,2014,30(6):9?13.

[9] 梁延德,程敏,何福本,等.基于互补滤波器的四旋翼飞行器姿态解算[J].传感器与微系统,2011,30(11):56?58.

[10] QIU C X, SHEN H Y, SOLTANI S, et al. An optimal and distributed strategy for packet recovery in wireless networks [C]// Proceedings of 2013 IEEE INFOCOM. Clemson: IEEE, 2013: 2859?2867.

[11] 周建阳,陈家乐,薛斌,等.基于STM32 四轴飞行器的设计[J].钦州学院学报,2015(2):30?33.

[12] 刘万龙,朱昊伟,孙树江,等.国内微推力测试技术发展现状[J].火箭推进,2015(5):7?11.

[13] 刘芝福.基于WiFi AP模式下的多轴飞行器数据传输系统设计[J].现代电子技术,2015,38(13):27?29.

飞行器 运动 文章