基于STM32 芯片的教学无人机的研制

2021-10-23 13:16李瑞郭迎张妮胡晓霞焦灵侠
电子测试 2021年18期
关键词:陀螺仪旋翼中断

李瑞,郭迎,张妮,胡晓霞,焦灵侠

(1.西安工商学院,陕西西安,710200;2.西安方元明科技有线公司,陕西西安,710065)

1 教学无人机设计理念

本文主要设计一款专供电子类专业的大学生学习,集硬件和软件于一体的高性价比四旋翼无人机套件。通过针对无人机系统中的数据采集、信号处理、信息传输、嵌入式控制等关键技术运用,合理的将这些关键技术融入教学方案中,从而提高了实践教学的质量,最终将增强学生解决实际技术问题的能力。

经过市场充分调研发现,目前市面上的无人机大致分为:玩具级、消费级和专业级三个级别,对于固定翼航模无人机和多旋翼无人机都存在以下问题。

玩具级别的无人机功能单一,主要共能是使用遥控器实施飞行操作,可以完成前进后退,拐弯悬停,爬升降落等基本功能。其关键技术使用的是电机驱动的方式,该种方式精度低、功耗大、算法及其实现技术不足于满足电子类相关专业的大学生对高精度、低延时、低功耗的技术研究的需求。

消费级的无人机大多采用软件集成化、硬件模块化的设计思路,集成化程度过高。大学生们很难使用消费级别的无人机去一窥究竟。难以满足大学生对多旋翼无人机及其飞行控制器的开发设计学习的目的。

专业级的无人机对于飞机本身的要求一般不高,关键技术集中在无人机搭载的某项特殊功能上,例如应用于地形地貌勘测的无人机,该型无人机的关键技术在于搭载的视觉系统;应用于军事领域的抗干扰旋翼无人机,关键技术为飞机搭载的抗干扰设备等;应用于农业施肥和打药的无人机,关键技术为大负载、长续航等。这一类的无人机在技术上难度较高,不适于作为教学使用。

本文提出的无人机教学套件,专门针对学生掌握电子工程领域的技术所设计,各分系统的关键技术设计合理,指标精度适宜,研发流程以提高学生实际工程能力为依据进行设计,适用于集中生产实习等环节,有助于改善教学实践环节。无人机教学套件合理的结合了基础理论知识与实际产品,通过使用,学生们可以很好的将理论知识学以致用于解决实际问题。

2 教学无人机总体设计思路

我们旨在做一款专门针对大学阶段电子类专业教学环节的四旋翼无人机,从选型芯片开始到制作自己的单片机最小系统,再将最小系统和采集模块的陀螺仪与气压计传感器相连接,与通信模块的信号收发天线相连接,与电源模块的调节芯片相连接,最后组合自制飞行控制系统,从原理图到PCB 制版让学生体验完整的硬件训练体系。

最终通过每个模块的驱动程序调试与功能整合调试,做出一款能完成简单平稳飞行,支持远程遥控操作,同时具备预留外围功能扩展模块接口的无人机。配合自编教材或者网络资源针对细化后的独立模块进行理论学习与实验调试,最后拼接组装成品。让学生全程参与整个硬件电路设计和软件代码编程与调试的完整项目开发过程。把理论知识的学习与实践动手两个教学环节以软硬结合训练的教学模式有效结合起来,最终达到灵活应用所学理论知识解决实际生活问题的教学目的。总体设计思路流程图如图1所示。

图1 主控程序设计思路图

首先硬件上电之后,对主控芯片STM32 自带的时钟控制器进行设置,并且对各个模块的驱动进行初始化处理,主要完成寄存器遗留数据以及遗留中断数据的清除和初始化,还有陀螺仪的较准等。接下来主控芯片就可以获取来自于传感器采集的最新数据信息,将获取到的传感器信息进行转换分析,完成四旋翼无人机此刻的空中姿态解算,然后对四旋翼无机发出控制指令信息,使得无人机在空中实现飞行姿态的调整。

因此我们以任务管理的形式对软件进行模块进行划分一个共包含四部分:电机驱动任务管理模块;姿态传感器检测任务管理模块;电源管理模块;核心算法任务管理模块,如图1 所示。

电机的驱动任务管理模块,主要负责调配每个电机的不同转速实现飞机的起飞、降落、转向等操作;电源任务管理模块主要负责电源的稳定供给以及剩余电量的监测于估算,为是否提示返航给出判定依据;姿态传感器采集任务管理模块,主要负责接收陀螺仪等传感器的数据采集,为四旋翼无人机的空中姿态检测提供判断依据。核心算法任务管理模块,主要负责解算四旋翼无人机空中姿态信息,并快速给出调整信息,最终以动作指令的形式发往电子调速器模块从而改变电机转速达到飞行姿态的纠正。

检测到四旋翼无人机空中姿态产生问题的信息后必须以中断函数的形式发送给主控,强行修改此刻电子调速器的数据信息来纠正四旋翼无人机此刻的空中姿态。因此我们需要在姿态信息下一次中断数据到来之前完成当次姿态信息的结算并发出调控指令。所以需要保证算法的体积和代码的最小封装。如果软件算法优化以后仍然达不到要求可以考虑升级硬件,选择处理能力更强的主控芯片。

3 硬件模块介绍

以下介绍的就是这架为理论与实践教学环节设计的教学无人机硬件模块构成。从底层芯片与传感器开始搭建模块,在组成系统,最后实现系统联调,让学生感受自下而上设计实践过程。整体框图如图2 所示。

图2 四旋翼无人机硬件系统框图

设计的主控芯片采用STM32F103C8T6,他功能很强大,产品系列也非常丰富,底层驱动代码可移植于更高性能的芯片方便改版升级,之所以选择了F103 系列主要式为了控制成本,如果需要搭载图像传输功能或者实现复杂飞行控制算法建议选择STM32 F4 系列或更高系列的芯片完成自己的设计。

针对姿态检模块我们采用MPU-6500 陀螺仪,它具有价格便宜性能稳定,参考资料多等优势。同时它整合了3 轴陀螺仪和3 轴加速度计,以及一个可扩展的数字运动处理器DMP,可用IIC 接口连接一个第三方的数字传感器,比如加速度计、磁力计等传感器。由IIC 端口以单一数据流的形式,向应用端输出完整的6 轴或9 轴的旋转矩阵、四元数、欧拉角格式的融合演算数据。

高度检测模块我们采用FBM320 气压计,它价格便宜,测量较为精准误差小。通信模块主要分为四旋翼无人机上的信号接收端和遥控发射的发射端我们分别采用了Si24R1 的2.4G 芯片和2.4G 陶瓷天线ANT,虽有一定的传输半径,但信号传输稳定。

控制方式采用遥控器遥控或者手机APP(支持体感的智能手机)也可以根据2.4G 陶瓷天线ANT 的传输协议或者其他传输设备的传输设备自制遥控器。电机我们最终选择720 空心杯电机型号为Motor_720,它具有自重轻,转速高且容易调控的优势。电源供电模块最终采用电池600mAh。

4 软件流程实现

四旋翼无人机有两种方法来获取传感器采集的信息,第一种方法是通过查询方式获取,第二种方法是通过中断方式获取。也可以考虑将二者有效结合。

软件流程主要解决以下问题:传感器先采集数据信息,经过数据信息的解算后得出当下四旋翼无人机的空中姿态,如果飞行器姿态没有问题则不作中断回应,如果有问题则提出中断请求,可以结合查表的形式报告错误类型,并迅速做出回答相应,此种中断加查表的形式可以做出更高速的回应。具体流程图如图3所示。

图3 程序流程图

程序完成初始化后,先设置传感器的中断类型以及处理函数,将姿态解算方法和姿态纠正方法都提前定义在中断处理函数中,有需要的时候直接调用中断函数即可以最快速度完成四旋翼飞行器空中姿态的解算和纠正。所以只需要实时监测中断情况即可。每次中断发生以后在处理前先清除中断,再处理数据,以免发生错误指令。

数据采集模块包括加速度和陀螺仪信息。MPU-6050 芯片就包括了这两个信息,所以我们可以通过这个芯片来采集陀螺仪和加速度计的数据,并用四元数对采集的数据进行姿态解算。

由于加速度传感器和陀螺仪的工作模式已经被主控系统在初始化的时候设置过了,所以每当加速度和陀螺仪产生新数据的时候,主控系统就会通过中断方式来读取数据。主控系统模块得到数据之后,变可以放心的进入下一个模块姿态解算。

5 结语

关于四旋翼飞行器网上的资源和书籍很多,本文在保证基本功能的前提下给出了一个低成本的解决方案,保证低成本和高性能的前提下,本文还在算法优化上给出了解决思路。此款无人机的解决方案目标指向明确,是专门为电子类大学的生产实训环节,以及理论结合实践的教学环节所设计。并非一味追求飞行器的性能,而是在价格与性能之间做了权衡给出解决方案。旨在完成飞行器设计的普及教学,对于从零基础起步学习设计无人机的学生给出了基本的硬件解决方案以及代码优化思路。硬件选型主要考虑低成本和多资源,方便学生自学与DIY 时调试期间的配件更换。

猜你喜欢
陀螺仪旋翼中断
基于EMD的MEMS陀螺仪随机漂移分析方法
改进型自抗扰四旋翼无人机控制系统设计与实现
大载重长航时油动多旋翼无人机
基于STM32的四旋翼飞行器的设计
我国著名陀螺仪专家——林士谔
跟踪导练(二)(5)
千里移防,卫勤保障不中断
微机械陀螺仪概述和发展
四旋翼无人机动态面控制
MEMS三轴陀螺仪中不匹配干扰抑制方法