10.16638/jki.1671-7988.2021.03.040
MATLAB在汽车发动机振动频率检测中的应用*
邓汝奎,范毅,李光平,班璐
(南宁学院,广西南宁530200)
摘要:汽车发动机振动频谱分析在机械故障诊断中有着重要意义。采用STM32单片机采集振动加速度数据,运用MA TLAB软件自带FFT函数对加速度数据进行时域-频域信号转换,获取发动机振动频谱特征,为发动机振动检测提供诊断依据。实验表明,采用该方案能够在硬件成本较低的情况下,实现发动机频谱分析。
关键词:汽车发动机;振动检测;MATLAB;FFT
中图分类号:U464 文献标识码:A 文章编号:1671-7988(2021)03-133-03
Application of MATLAB in vibration frequency detection of automobile engine*
Deng Rukui, Fan Yi, Li Guangping, Ban Lu
(Nanning University, Guangxi Nanning 530200)
Abstract:Vibration spectrum analysis of automobile engine plays an important role in mechanical fault diagnosis. The vibration acceleration data is collected by STM32 single chip microcomputer, and the time domain-frequency domain signal conversion of the acceleration data is carried out by using the FFT function of MA TLAB software. The frequency spectrum characteristics of engine vibration are obtained, which provides diagnostic basis for engine vibration detection. Experiments show that the scheme can realize engine spectrum analysis with low hardware cost.
Keywords: Automotive engine; Vibration detection; MATLAB; FFT
CLC NO.: U464 Document Code: A Article ID: 1671-7988(2021)03-133-03
前言
汽车发动机随使用里程及年限的增长,造成零件磨损或损坏,由此产生异常振动[1]。通过对其振动频率的分析,能够很好监测发动机运行状态是否良好。加速度是振动分析的重要参数,对加速度频率分析能够直观获取发动机的运行状态[2]。MA TLAB是美国Math Works出品的商业软件,在数学科技应用中具
有非常强大的功能,内部集成了许多工程应用常用的数学模型,相比C语言应用要简单得多[3]。在振动频率分析计算方面,像FFT、小波分析、伯德图等都有现成的应用函数可以直接调用,非常适用于发动机振动频率计算分析。
1 发动机振动检测硬件组成
MA TLAB对发动机振动频率分析,首先需要解决数据采集问题,获取发动机振动加速度,并以一定的格式存储,便于MATLAB处理分析。采用离线方案,先采集数据,集中收集实验所需的各个工况下的发动机振动加速度,运用MA T -LAB自带功能函数对数据文档进行频谱分析。
振动加速度采集采用MPU6050模块,可以同时获取发动机3轴加速度,便于从不同维度分析发动机的振动频率。由于MPU6050模块不能直接将数据传送至上位机,因此采用STM32单片机读取MPU6050模块数据,再通过串口传输至PC端上位机,这样MA TLAB就可以处理发动机振动加速度数据了。
作者简介:邓汝奎(1985-)男,硕士,讲师,就职于南宁学院,研
究方向为汽车电气及控制技术。基金项目:2020年度广西高校中青
年教师科研基础能力提升项目(项目编号:2020KY64008)。
133
汽车实用技术
134 2 软件调试
STM32单片机通过I 2C 接口读取加速度信息。首先通过I 2C 协议配置MPU6050内部寄存器,完成对传感器的采样率、分辨率、工作模式的配置[4]。MPU6050以1KHz (默认值)采样率完成数据采集后,经I 2
C 总线将加速度数据传送至STM32单片机。单片机运用内部定时器以定时发送的方式从串口传输数据至PC 端,单片机定时发送的频率应低于MPU6050加速度数据的采样速率,避免重复采集同一加速度数据,同时,频率至少为发动机振动主频的2倍,保证振动信号的完整。在设置串口通信速率时,还应高于单片机定时发送的速率,避免加速度数据丢失。
如图1所示串口助手设置串口波特率115200bit/s 时,此时,每秒传输14400字节,加速度数据分辨率设置为16位,即每个加速度数据占2个字节,此时每秒可发送7200个加速度数据,远高于加速度传感器1KHz 的采样率,符合速率要求。串口助手接收到加速度数据后,以text 文本保存,如图2所示,可以通过单片机编程配置,只发送其中一轴的加速度数据,按列排列存储。
图1 串口助手界面
图2 怠速工况下的发动机振动数据
3 数据处理
单片机采集到发动机振动加速度后,在电脑端用串口助手存储数据于text 文件,MA TLAB 可以通过读取text 指令获取加速度数据。MA TLAB 处理数据前需读取数据用textread 指令读取加速度数据,数组存放于数组data 中:[data]=textre (d ('振动数据.tx ;);在MATLAB 完成原始数据的采集后,
就可以用FFT 函数处理分析频谱,处理之前先进行基本参数的设置,采样周期T ,采样频率Fs ,信号序列长度L 等三大参数[5],根据硬件采集参数,配置相关参数即可,如下:
Fs=500;%采样频率 T=1/Fs ;%采样时间 L=1024;%序列长度
原始数据采集根据实际需要,采样时长不一,采样时间越长数据就越多,根据检测精度的需要,可以将数据分割成一定长度的信号序列,然后逐段进行频谱转换,如程序中每个信号序列长度1024,由此获得连续的频谱变化图,观测发动机振动频率在随时间变化的特征,为发动机振动分析提供依据,程序如下:
LL=length (data )/L ;%数据分段 fix (LL )%取整 tt =(0:L-1)*T ; N = 2^nextpow2(L ;
for il=0:1:(LL-1)%计算每段数据频率 =ⅱ(L*il+1):(il+1)*L ; figure (il+1) subplot (2,1,1) plot (tt,data ) set (gca,'box','off'; xlabel ('t (seconds )') ylabel ('振动加速度') Y = fft (data )
,N ; P2 = abs (Y/L ;
P1 = P2(1:L/2+1;
P1(2:end-1)= 2*P1(2:end-1; %定义频域 f 并绘制单侧幅值频谱 P1 subplot (2,1,2) f = Fs*(0:(L/2)/L ; plot (f,P1) axis ([0 500 0 600]; set (gca,'XTick',0:25:500; set (gca,'box','off'; xlabel ('f (Hz )') ylabel ('|P1(f )|') grid on end
如图3所示,在发动机怠速800转/分的工况下,截取了某一段数据,图中上半部分为发动机怠速工况时,发动的振动加速度原始数值,图中下半部分为经过FFT 转换后的发动机振动频谱,此时可以看出发动机振动主频在25Hz 。对于四缸发动机转速为800转/分时,四冲程发动机曲轴每转1圈,气缸爆燃2次,计算其理论振动应为26.67Hz ,与经MA TLAB
frequency函数计算频数邓汝奎 等:MATLAB 在汽车发动机振动频率检测中的应用
135
的FFT 频域转换后的实测数值的振动频率基本接近。由此可以判断运用MATLAB 对于发动机振动频率分析具有较强的可行性。
图3 发动机振动频谱
4 结论
本文运用MPU6050加速度传感器采集发动机振动加速度,STM32单片机作为数据中转设备,通过串口将数据发送至上位机,为MA TLAB 数据处理做好准备。调用FFT 模块,
采取分段处理的方式,对发动机振动频率进行连续的动态分析,实现发动机振动频率的连续监测。实验结果表明,采用基于MATLAB 的发动机振动检测方式,能够准确测量的发动机的振动频率,为发动机振动频率的检测提供了一种低成本的解决方案。
参考文献
[1] 高远.基于振动信号的汽车发动机缺缸及轴瓦磨损故障诊断研究
[D].天津大学,2018.
[2] 李梅林,李毅强,谢惠民,田丹.车用发动机振动测试研究[J].湖南大
学学报(自然科学版),2003(02):41-43.
[3] 席平原.应用MA TLAB 工具箱实现机械优化设计[J].机械设计与
研究,2003(03):40-42+7.
[4] 何枫,杨凤年,何文德.基于STM32+MPU6050的小型四旋翼无人
机设计[J].电脑知识与技术,2020,16(19):213-214.
[5] 姜皓月,王晟旻.基于Matlab 的FFT 算法研究[J].电子制作,2020
(01):52-54.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论