基于MPU6050模块的飞行姿态记录系统设计
扫描二维码
随时随地手机看文章
摘要:为了实现对固体燃料低空模型火箭飞行姿态自动记录的需求,提出了一种基于MPU6050模块的飞行姿态记录系统设计方案,并完成系统的软硬件设计。该系统的硬件部分主要用来采集加速度模拟量并进行存储,软件部分采用C语言进行编程,完成数据读写和上传,数据处理借助上位机软件进行,还原实际飞行姿态。实际应用表明,该系统具有成本低廉、灵敏度高的特点,达到了设计要求。
关键词:传感器;加速度;自动记录;单片机
固体燃料低空模型火箭在发射原理和气动结构上都与实用探空火箭一致,同时具备重量轻、安全性高和价格相对低廉的特点,因此在本科教学及学科竞赛中被广泛使用。
目前的固体燃料低空模型火箭(以下简称模型火箭)受到成本和运载能力的限制并未加装任何传感器,对于模型火箭发射后的飞行姿态大都通过视频的方式记录,但是受到模型火箭飞行速度快、拍摄视角固定等问题的限制,传统的飞行姿态记录方式效果并不理想,所得结果也缺乏进一步讨论的价值,缺少量化的飞行姿态数据也制约了模型火箭本身的改进和发展。可见设计出一种可量化的飞行姿态记录系统非常有必要。
MPU6050模块有着高速、精确的加速度采集能力,提供SPI和IIC两种通讯方案,能够根据系统程序指令,同时进行线加速度和角加速度的采集工作;M24C08芯片可以存储1024字节数据,支持IIC通讯协议,具有体积小、重量轻、数据稳定性强的特点;单片机以其较高的灵活性和稳定性广泛应用在自动控制系统中。本系统既是三者的结合,由传感器、存储器和单片机部分构成,对固体燃料低空模型火箭飞行过程中的加速度进行实时采集和记录,箭体返回后,配合上位机数据处理软件,对加速度数据进行处理,最终还原出模型火箭的真实飞行姿态。
1 系统的整体结构及功能描述
系统以STC89C52RC单片机为主控芯片,结合MPU6050模块和M24C08芯片,可对模型火箭飞行中的加速度进行实时采集并存储,模型火箭回收后通过串口通讯将数据传递给上位机,并在相关软件的辅助下进行数据处理,最终还原出模型火箭实际飞行姿态。MPU6050模块解决了模型火箭高速飞行过程中加速度数字化的问题,并且具有采集速度快、精度高和可编程控制的特点,M24C08芯片具有支持IIC协议、重量轻和数据稳定性强的特点,虽然存储容量较小,但鉴于模型火箭滞空时间短的特点,其数据存储容量能够满足需求。系统结构框图如图1所示,本系统选择STC89C52RC单片机为IIC通讯的主机,所有对话由单片机发起,单片机按照固定时间间隔询问MPU6050模块模型火箭实时加速度情况,MPU60 50做出应答后单片机向M24C08芯片发起对话,要求M24C08芯片记录当前加速度数值。以上周期性采样从模型火箭点火开始到飞行完成降落伞开启结束不间断进行,模型火箭回收后,进行数据上传和处理工作。
2 系统硬件设计
MPU6050模块、STC89C52RC单片机与M24C08芯片之间采用IIC通讯,其电路图如图2所示。本系统设定只有 STC89C52RC单片机可以发起对话,其余原件只能做出应答,其中STC 89C52RC单片机的P1.2管脚与IIC通讯线路的时钟线(SCL)连接,P1.3管脚与数据线(SDA)连接,程序根据逻辑需要按照IIC通讯协议控制时钟线和数据线的电平变化,以发起所需对话。MPU6050模块和M24C08芯片都支持IIC通讯,分别将其时钟管脚和数据管脚与通讯线路的相应管脚相连接,连接完成后的IIC通讯线路即可实现主从之间的问答式通讯。
实际使用中为了提高采集可靠性,在火箭放飞过程中单片机只固化采集存储程序,待模型火箭回收后重新给单片机固化相应的数据读取程序,数据才能被传递给上位机,但程序反复固化操作中往往会出现人员误操作,引起M24C08芯片中的数据损坏,导致整个放飞失去意义,因此在M24C08的数据管脚设计了保护跳线,模型火箭回收后断开保护跳线,待确认程序固化正确后接通跳线,上传数据。
MPU6050模块是以MPU6050芯片为核心配合必要的外围器件形成的加速度测量模块。其中MPU6050芯片整合了3轴陀螺仪和3轴线加速度计,极大的减小了包装空间,同时避免了加速度计和陀螺仪组合时的轴间差问题,并能够以400 kHz的速度提供16位精度的加速度数据。由于芯片本身对于外围器件要求较高,因此本系统硬件设计中选用了MPU6050模块,保证了数据的可靠性。在装配中采取模块与主板层叠的安装方式,进一步减小了整个系统的体积,系统实物图如图3所示。
3 系统软件设计及数据处理
系统程序设计包括数据采集存储和数据读取上传两部分构成,为了提高系统的可靠性,两部分程序不同时固化在单片机中,在模型火箭发射时固化数据采集存储程序,模型火箭回收后固化数据读取上传程序。数据采集存储程序每隔0.1 s采集一组模型火箭加速度值,并存储到M24C08芯片中,虽然MPU6050可以提供16位精度数据,但低八位数据抖动严重,所以系统只记录高8位数据,这样M24C08芯片可以记录170组(每组6个)加速度数据,记录持续时间为17s。模型火箭点火延时2 s,导轨飞行1秒,滞空飞行14 s,数据采集存储程序工作时间可对3个过程实现完全覆盖。数据读取上传程序读取M24C08中的数据并以串口通讯方式传递给上位机。
数据处理分为数据接收、数据预处理和姿态还原3个部分,数据接收部分利用串口助手软件接收下位机上传的数据,同时将八进制数转换为十进制。数据预处理主要是对数据进行定性分析:出现角加速度不为零的情况说明模型火箭飞行中出现旋转;前2 s(模型火箭静止状态)出现X/Y轴线加速度不为零说明发射架水平度不符合要求;第3 s(模型火箭导轨飞行)开始出现X/Y轴线加速度不为零说明导轨装配出现问题。在数据预处理阶段未发现上述问题则进入姿态还原阶段,该阶段借助Matlab软件对X/Y/Z三轴线加速度进行计算,还原模型火箭飞行姿态,算法公式如图4所示。[!--empirenews.page--]
4 实验应用
飞行姿态记录系统可靠性验证。在该测试阶段,系统被安装在5轴数控机床工作台上,通过数控程序指挥工作台改变姿态,由系统采集并记录相关数据,之后将数据上传给上位机进行处理,还原出工作台的姿态变化,与实际工作台姿态变化进行对比。实验结果表明系统记录的工作平台姿态与实际姿态一致。
飞行姿态记录系统与模型火箭联合搭载实验。在该测试阶段,将系统搭载到模型火箭中,搭载系统的模型火箭如图5所示。对搭载记录系统的火箭进行全流程的发射、回收实验,并对系统记录的数据进行上传、处理,以检验系统实际使用中的表现。实验结果表明系统运行稳定,数据记录正常。
5 结论
该飞行姿态记录系统采用高精度的加速度传感器和成熟可靠的存储器,配合稳定的主控芯片为硬件平台,软件设计采用不同种类功能分步固化的思想,避免了误操作带来的数据损坏,分析程序借助串口助手和Matlab软件,解决了飞行姿态还原的问题。该飞行姿态记录系统已在日常本科教学和竞赛中服役,实际应用表明该飞行姿态记录系统具有测试准确、稳定可靠、成本低廉等特点,达到了设计要求。