APP下载

基于STC15的微型四轴飞行控制器设计

2018-09-13胡启迪何婷

电脑知识与技术 2018年17期

胡启迪 何婷

摘要:四轴飞行器作为对称式动力分布多旋翼飞行平台中结构最为简单,成本及能效比最高,但可靠性最低的一种,其非常适合作为一种多旋翼飞行器的练习、学习及研究平台。本设计合理利用STC15系列单片机的片上外设资部署必需的传感器及通信模块的同时预留扩展接口,最终形成四轴飞行控制器的硬件体系。其配合相应的软件可实现对微型四轴飞行器的遥控及半自主飞行控制。实验表明,该设计成本低廉,运行稳定,可扩展能力强,适用于多旋翼飞行器爱好者入门学习及51单片机的教学。

关键词:四轴;飞行控制器;STC15

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)17-0246-02

Abstract: Four?axis aircraft is the simplest structure, cheapest price and highest energy efficiency one in symmetrical multi rotor flight platform. Although its reliability is low But can be used for training and studying. By rational use of on-chip peripherals of STC15 and Reserves extension interface, designed one hardware of system micro Four?axis aircraft. Combine with proper software, can control it flying automatically or by controller. The practice results show that this design has the advantages of low cost,stable flight attitude and easy for updated, apply to beginning learners of multi rotor flight and teaching of MCS-51.

Key words: Four-axis; Flight controller; STC15

1 前言

飞行器可分为多旋翼及固定翼两大类,前者相较于后者的最突出优势为垂直起降及定点悬停,因此很容易摆脱场地限制及实现高精度作业。基于该优势,其非常适用于执行诸如侦察、跟随以及低匀速空中作业等任务。可以看出,其可应用的领域相较于固定翼来说要广泛得多,因此受到相关行业各类人员的广泛关注,且关注点大都集中于4旋翼(四轴)飞行器上。在此背景下,结合国内高校普遍采用51内核单片机进行MCU教学的现状,基于其中性能及外设均相对领先的STC15系列单片机设计一款微型四轴(最大轴距小于15cm,起飛重量小于500g)飞行控制器,无论是对单片机教学还是培养新一代无人机研发工程师均有积极的促进作用。

2 整体设计

本设计分为硬件和软件两个部分,其中硬件部分构成如图1 所示,软件部分构成如图2所示。

从图1可以看出,微型四轴飞行控制器的硬件部分通过一个稳压电路供电,其余部分围绕一个MCU,通过适当的外围芯片和电路,拓展出3D运动姿态获取、电机驱动、运行状态指示、无线通信以及扩展接口等5个功能模块。3D运动姿态获取是保证四轴飞行器稳定飞行的前提,电机驱动是维持和改变飞行姿态的动力来源,运行状态指示方便实时观察飞控的工作状态,无线通信负责实现远程遥控,通过扩展接口可根据飞行环境及要求增加适当的传感器。该硬件构成在保证基本飞行要求的同时,具有一定的扩展能力。

从图2可以看出,微型四轴飞行控制器的软件结构上面,大体可以分为主和定时器中断两个流程。其中主流程负责控制状态指示电路,接收无线控制数据,读取各传感器数据;定时器中断流程负责解算当前实时的姿态,根据主流程传递过来的数据计算期望姿态,利用两个姿态的差值通过PID的方式计算出四个电机所需实时功率对应的PWM输出占空比;两个流程之间通过全局变量进行数据传递。

3 硬件设计

硬件设计过程中最为重要的是器件选型及主控引脚分配。选型上要兼顾成本、适用性及扩展性三个方面;引脚分配上首先使用硬件方式实现通用接口时序以最大限度节约主控CPU开销,其次使用片上集成外设以降低成本及电路复杂度,最后预留出最通用的接口以提高硬件后期的扩展能力。

3.1器件选型

在MCU选择上,本设计采用STC15系列单片机中的IAP15W4K61S4,封装为LQFP44。IAP代表该MCU的ROM总数为61k,且可以在此范围内任意划分为用户ROM和程序存储ROM,其在ROM使用上比STC开头的型号更为灵活;51内核单片机胜在成本、稳定和不俗的控制能力,输在运算能力,为了扬长避短,通过串口扩展外设是明智选择,而LQFP32封装是能够使用4个串口的最小封装。

状态指示一般通过屏幕和声光效果实现,前一种一般适用于静态设备,对于动态设备来说,后一种更为有效,且节约CPU开销。因此,本设计中采用低功耗贴片LED作为状态指示电路的核心器件。

无线通信模块可选择NRF24L01,Zigbee、蓝牙以及低速Wifi(ESP8266)。其中蓝牙和Wifi均可方便实现手机端控制,且可通过串口随时扩展;Zigbee是目前物联网中广泛使用的无线通信方式,可以使飞行器随时作为物联网中的节点使用,同样可通过串口随时扩展;NRF24L01使用SPI接口,通信可靠性、实时性很高且价格低廉,是目前点对点无线遥控广泛使用的模块。综上,本设计中的通信模块选用NRF24L01。

电机驱动方面要根据被驱动对象来定。本设计主要用于微型四轴飞行器的控制,这种飞行器飞行重量不可大于500g,因此空心杯系列有刷电机是最为合适的。这种电机为直流电机,通过一定的电流即可驱动,无须相位切换,因此本设计中采用N沟道MOS管SI2302作为电机驱动电路的核心器件。

运动传感器即可以输出反应物体运动姿态、速度、方向数据的一类传感器,这些数据通常由陀螺仪、加速度计以及磁力计得到。以上三种传感器需要同时使用才可以获得比较理想的效果,在同时使用时,需要注意x、y、z三个坐标轴要尽量一致。综上,本设计中选用MPU9150作为运动传感器,该传感器使用IIC接口,同时集合了以上三种传感器,降低了硬件设计复杂度的同时实现了三轴的高度一致,且内置DMP,可直接输出四元数,大幅减少姿态解算运算量,结合本设计中的MCU,是一个比较理想的选择。

3.2 引脚分配

本设计的主控引脚分配如图3所示。

从图3中可以看出,其SPI接口使用第1组引脚且分配给NRF24L01模块;串口1~4均使用第1组引脚,其中串口1用于下载调试,串口2~4用于扩展其他通信模块及串口输出型传感器模块;PWM波形输出2~5选择引脚方式0分配给SI2302开关控制,间接调整空心杯电机转速;P2.4~2.7用于四组状态指示LED控制,P5.5、P2.0用于电源指示LED控制;P3.4、P3.5通过软件模拟的方式实现IIC接口分配各MPU9150读取姿态数据。以上分配方式在最大化利用了IAP15W4K61S4的外部引脚资源以及内部外设资源的基础上兼顾一定的扩展能力。

基于上述的硬件设计描述,最终完成的微型四轴飞行控制器如图4所示。从图中可以看出,PCB板形状采用四方形,且其上器件尽可能地采用对称式分布,最终使整个费控的重心靠近其中心位置,这样在实际飞行时容易实现整个飞行器的重心居中,提高飞行稳定性。

4 软件设计

如前文所述,设计软件部分分为主和定时器中断两个流程,具体如图5所示。需要注意的是,为了提高控制精度,控制频率应在100Hz以上,因此定时器的中断周期最大设定为10ms。姿态解算上全部使用浮点型变量,51内核单片机在浮点运算上效率比较低,因此主流程读取的MPU9150数据设置为其DMP输出,这么做可以减少几乎一半的运算量,最终将定时器中断持续时间控制在5ms以内,这样在每个控制周期下主流程也可以有5ms的运行时间,这个时长在保证其必需任务所需时长外仍可有3ms左右的余量进行扩展。

5 结语

本设计基于增强型51内核单片机IAP15W4KS4实现了对微型四轴飞行器的控制。实验表明,该设计成本低廉,运行稳定,具有较强的扩展性,是对称式多旋翼爱好者学习和单片机教学的优选素材,配合其他通信模块及传感器也可以成为物联网的移动节点。因此,本设计具有一定的教学及实用价值。

参考文献:

[1]STC15系列单片机器件手册[M]. 中国, 南通国芯微电子有限公司, 2014.

[2]nRF24L01+ Single Chip 2.4GHz Transceiver Product Specification v1.0[M]. Trondheim, Nordic, 2008.

[3]nRF24LE1 Ultra-low Power Wireless System On-Chip Solution Product Specification v1.6[M]. Trondheim, Nordic, 2010.

[4] 姜軍,齐俊桐,韩建达.面向机动飞行的多旋翼飞行器设计和建模与控制[J].科学通报,2013,58(12):135?144.

[5] 鲍凯.玩转四轴飞行器[M].北京:清华大学出社,2015.

[6] 田卫军,李郁,何扣芳,等.四轴旋翼飞行器结构设计与模态分析[J].制造业自动化,2014,36(2):37?39.