问题描述
滚动轴承的损伤常发生在外圈、内圈、保持架以及滚动体上。滚动轴承运作时会周期性的撞击故障部位,产生高频共振信号,下图为轴承运行过程中,内圈与滚动体之间发生的冲击。
MFPT 数据集
Machinery Failure Prevention Technology (MFPT) 数据集包含不同工况下采集的 23 类数据。前 20 类数据是从轴承试验台收集的 (良好工况下 3 类,恒定负载下外圈故障 3 类,各种负载下外圈故障 7 类,各种负载下内圈故障 7 类),剩余的 3 类数据采集于现场的机器:油泵轴承、中速轴承以及行星轮轴承,故障位置未知。该例子仅使用从试验台收集的已知工况的数据。
每类数据包含:
- gs:加速度信号
- sr:采样频率
- rate:轴承转速
- load:载荷
- BPFO:外圈故障特征频率
- BPFI:内圈故障特征频率
- FTF:保持架故障特征频率
- BSF:滚动体故障特征频率
四种频率相应的计算公式如下:
$$ BPFO=\frac {nf_r}{2}(1-\frac {d}{D} cos\phi) $$
$$ BPFI=\frac {nf_r}{2}(1+\frac {d}{D} cos\phi) $$
$$ FTF=\frac {f_r}{2}(1-\frac {d}{D} cos\phi) $$
$$ BSF=\frac {D}{2d}[1-(\frac {d}{D} cos\phi)^2] $$
其中 $ d $ 为滚动体直径,$ D $ 为轴承节径,$ f_r $ 为轴承转速,$ n $ 为滚动体个数,$ \phi $ 为轴承接触角
包络谱分析
在 MFPT 数据集中,轴承的转速是恒定的,因此不需要预处理来消除轴承转速的影响。当滚动体撞击内圈、外圈的损伤,或者滚动体上的损伤撞击内圈、外圈时,将会调制相应的特征频率,比如:BPFO、BPFI、FTF、BSF 等。因此振幅解调产生的包络信号相较于原信号包含有更多的诊断信息。以下为内圈故障的例子:
1 2 3
| dataInner = load (fullfile (matlabroot, 'toolbox', 'predmaint', ... 'predmaintdemos', 'bearingFaultDiagnosis', ... 'train_data', 'InnerRaceFault_vload_1.mat'));
|
内圈故障信号的时域图像:
1 2 3 4 5 6 7 8 9
| xInner = dataInner.bearing.gs; fsInner = dataInner.bearing.sr; tInner = (0:length(xInner)-1)/fsInner; figure plot(tInner, xInner) xlabel ('Time, (s)') ylabel ('Acceleration (g)') title ('Raw Signal: Inner Race Fault') xlim ([0 0.1])
|
内圈故障信号的频域图像:
1 2 3 4 5 6 7 8
| figure [pInner, fpInner] = pspectrum (xInner, fsInner); pInner = 10*log10(pInner); plot(fpInner, pInner) xlabel ('Frequency (Hz)') ylabel ('Power Spectrum (dB)') title ('Raw Signal: Inner Race Fault') legend('Power Spectrum')
|
现在放大低频范围内原始信号的频谱,相应的 BPFI 以及前几个谐波频率如下:
1 2 3 4 5 6 7 8 9
| figure plot(fpInner, pInner) ncomb = 10; helperPlotCombs (ncomb, dataInner.BPFI) xlabel ('Frequency (Hz)') ylabel ('Power Spectrum (dB)') title ('Raw Signal: Inner Race Fault') legend('Power Spectrum', 'BPFI Harmonics') xlim ([0 1000])
|
BPFI 及谐波处看不到明显的特征,原始信号的频域图并不能提供有效的诊断信息。在时域图像上,明显能看到原始信号的振幅调制在一定的频率上,调制的主频约为 $$ 1/0.009 Hz \approx 111 Hz $$,而内圈故障特征频率 (BPFI) 为 $$ 118.875Hz $$。这表明轴承可能存在内圈故障。
1 2 3 4 5 6 7 8
| figure subplot (2, 1, 1) plot(tInner, xInner) xlim ([0.04 0.06]) title ('Raw Signal: Inner Race Fault') ylabel ('Acceleration (g)') annotation ('doublearrow', [0.37 0.71], [0.8 0.8]) text (0.047, 20, ['0.009 sec \approx 1/BPFI, BPFI = ' num2str (dataInner.BPFI)])
|
计算原始信号的包络谱
1 2 3 4 5 6 7
| subplot (2, 1, 2) [pEnvInner, fEnvInner, xEnvInner, tEnvInner] = envspectrum (xInner, fsInner); plot(tEnvInner, xEnvInner) xlim ([0.04 0.06]) xlabel ('Time (s)') ylabel ('Acceleration (g)') title ('Envelope signal')
|
绘制 BPFI 及其谐波
1 2 3 4 5 6 7 8 9
| figure plot(fEnvInner, pEnvInner) xlim ([0 1000]) ncomb = 10; helperPlotCombs (ncomb, dataInner.BPFI) xlabel ('Frequency (Hz)') ylabel ('Peak Amplitude') title ('Envelope Spectrum: Inner Race Fault') legend('Envelope Spectrum', 'BPFI Harmonics')
|
能量最高的部分都集中在 BPFI 及谐波附近,这表明轴承存在内圈故障,与数据的类型相匹配。
参考
https://ww2.mathworks.cn/help/predmaint/ug/Rolling-Element-Bearing-Fault-Diagnosis.html#responsive_offcanvas