基于MEMS传感器的振动测量电路设计
2024-03-05李仑升骞恒源
李仑升,张 浩,骞恒源,闫 稳
(航空工业西安航空计算技术研究所,陕西 西安 710065)
0 引言
航空发动机运行过程中会产生一定的振动,通过刚性材料传递到机载设备的运行环境中。由于某些机载设备对振动较为敏感,当振动量级超过设备所能承受的振动量时,会影响设备性能或对设备结构造成疲劳损伤。因此,对机上振动环境进行测量,是十分必要且有意义的。
本文基于三轴加速度角速度传感器和ARM处理器,设计一种振动测量电路和测量方法。对机载设备所处的振动环境进行监控,以进一步保障机载设备运行的功能和性能。
1 电路整体结构和功能描述
电路整体结构图如图1所示,分为4个部分,分别为传感器、微控制器、存储器和通信模块。传感器选用三轴加速度计芯片,用来测量被测设备的振动量;微控制器是软件算法的执行平台,实现数据采集、存储、处理和计算;存储器用来存储所测得的振动数据;通信模块实现与上位机的数据通信,用以将测量结果发送至上位机观测。
图1 电路结构图
加速度计模块集合了MEMS(Micro Electro Mechanical System)三个轴向加速度仪运动传感器,并搭载了数字运动处理器DMP(Digital Motion Processor,数字运动处理器)和ADC(Analog-to-Digital Converter,模数转换器)模块,通过这些模块将采集的数据经ADC转化为数字信号并通过IIC(Inter-Integrated Circuit,集成电路总线)接口发送[1]。与传统运动传感器相比,加速度计模块具有良好的抗干扰能力和更低的功耗,以及更高的测量精度[2-3]。
单片机选择意法半导体公司的ARM微控制器,该器件内置ARM Cortex-M内核,内核速率可达72 MHz,程序存储空间容量为64KB Flash,RAM容量为20KB SRAM,具有2路I2C接口,3路SCI接口以及2路SPI接口,在兼顾满足电路使用需求的同时,具有低成本的特点。
外部存储器选用串行FLASH芯片,用于存储采集的传感器数据,该芯片为128Mbit的FLASH存储器,采用SPI串行接口。阵列被组织成65,536个可编程页,每个页256字节。一次最多可编程256字节。可按16组(4KB扇区擦除)、128组(32KB块擦除)、256组(64KB块擦除)或整个芯片(芯片擦除)的方式擦除页面。存储器分别有4096个可擦扇区和256个可擦块。4KB的扇区为需要数据和参数存储的应用程序提供了更大的灵活性。当使用Fast Read Dual/Quad I/O和QPI指令时,支持高达104 MHz的SPI时钟频率,允许等效的时钟速率为208 MHz (104MHz×2)双I/O和416 MHz(104MHz×4)四I/O。
2 软件运行流程设计
软件流程设计如图2所示。电路上电后,首先完成系统的初始化,ARM处理器完成启动后,对系统时钟锁相环PLL进行配置,同时完成片上外设SPI、SCI和I2C总线配置。接着,通过I2C总线对MEMS芯片的配置寄存器进行配置。最后,程序进入主循环,循环执行以下内容:1) 通过I2C读取3轴加速度采集值,并进行必要的滤波处理;2) 将采集结果存储在FLASH中;3) 根据采集结果计算振动的功率密度谱;4) 通过SCI通信,将计算结果发送至通信模块,完成振动监测数据上报。主循环的周期为5 ms,即数据采集频率为200 Hz。
图2 软件流程图
MEMS芯片通过I2C总线与ARM相接。I2C接口为二线接口,包括串行数据线(SDA)和串行时钟线(SCL)。在本电路中,ARM为I2C总线上的主设备,MEMS芯片为从设备,SDA和SCL信号线通常需要接上拉电阻到VDD。时钟由主设备提供,最大总线速率为400 kHz。MEMS芯片在I2C总线上的地址为b110100X,7位字长,最低有效位X由AD0管脚上的逻辑电平决定。
I2C的数据字节定义为8bits长度,对每次传送的总字节数量没有限制。对每一次传输从设备必须有一个应答(ACK)信号,主设备以此确认从设备正确收到数据。
写MEMS芯片寄存器的总线操作为:主设备发出开始标志(S)和地址位,同时加R/W位,0为写,1为读。在第9个时钟周期(高电平时),MEMS芯片产生应答信号。然后主设备开始传送寄存器地址(RA),接到从设备应答后,主设备发送要写入的寄存器数据。
读MEMS芯片寄存器的总线操作为:首先由主设备产生开始信号(S),然后发送从设备地址位和一个写数据位,接着,主设备发送寄存器地址,才能开始读寄存器。紧接着,收到应答信号后,主设备再发一个开始信号,然后发送从设备地址位和一个读数据位。作为从设备的MEMS芯片产生应答信号并开始发送寄存器数据。通信以主设备产生的拒绝应答信号(NACK)和结束标志(P)结束。拒绝应答信号(NACK)产生定义为SDA数据在第9个时钟周期一直为高。
在主循环中,通过读寄存器操作读取MEMS芯片的加速度测量寄存器完成加速度采集。加速度采集范围配置为±16 g,此时16位采集结果的分辨率为2048LSB/g。
3 数据处理和验证
通过MEMS芯片采集的三轴加速度值是当前设备实际的加速度,在机载设备中,其振动为随机信号,因此常使用功率密度谱对设备振动进行分析[4],因而,程序中需对采集后的加速度进行功率密度谱计算。
采用平均周期图法进行功率谱密度计算。计算步骤如下:1) 将1024个采样数据点分为4段,每段256个数据;2) 对每段数据求周期图功率谱估计,即求数据点的傅里叶变换,如式(1)所示,在将变换后的结果取模的平方后除以每段数据个数,如式(2)所示;3) 对4段数据的周期图功率谱估计求平均值,即得到平均周期图功率密度谱估计结果。
(1)
(2)
图3为模拟一种振动信号,其振幅为3个正弦信号和1个高斯白噪声的叠加结果。其中,频率f1=12 Hz,f2=5 Hz,f3=2 Hz,幅值A1=1,A2=1.5,A3=1,高斯白噪声幅值A4=1.5。通过上述平均周期图法计算该信号的功率谱密度,绘制计算结果,如图4所示。可知,上述方法地功率谱密度的估算结果基本准确,能够满足对振动信号进行初步分析的需求。
图3 三种正弦波与白噪声叠加后信号图4 叠加信号的功率密度谱计算结果
电路计算出的功率密度谱结果可通过通信模块上传给上层系统,以便维护检测人员在机上调试显示设备进行观测检测。
4 总结
通过设计基于ARM微控制器及MEMS芯片传感器的振动检测电路,实现振动加速度的采集。设计了合理的软件运行流程完成三轴加速度的采集、数据处理及数据信息上传。采用平均周期图法计算传感器采集结果的振动功率密度谱,经仿真结果说明,功率谱密度的估算结果基本准确,满足信号初步分析的需求。本文所设计的电路及软件和数据处理方法能够实现振动检测、功率谱密度计算、信息上传等功能,为机载设备振动监测提供了一种可行的解决方案。