Анализ вибрации вращающегося машинного оборудования

В этом примере показано, как анализировать сигналы вибрации от коробки передач с помощью синхронного во времени усреднения и огибающих спектра. Эти функции особенно полезны в прогнозирующем обслуживании коробок передач, которые содержат несколько вращающихся компонентов: механизмы, валы и подшипники.

Этот пример генерирует и анализирует данные о вибрации для коробки передач, валы которой вращаются на фиксированной скорости. Синхронное во времени усреднение используется, чтобы изолировать компоненты вибрации, сопоставленные с определенным валом или механизмом и составить в среднем все другие компоненты. Огибающие спектра особенно полезны в идентификации локализованных отказов подшипника, которые вызывают высокочастотные удары.

Рассмотрите идеализированную коробку передач, которая состоит из шестерни с 13 зубами, сцепляющейся с механизмом с 35 зубами. Шестерня связывается с входным валом, соединенным с движущей силой. Механизм соединяется с выходным валом. Валы поддерживаются роликовыми подшипниками на корпусе коробки передач. Два акселерометра, A1 и A2, помещаются в подшипник и корпуса коробки передач, соответственно. Акселерометры действуют на уровне частоты дискретизации 20 кГц.

Шестерня вращается на уровне fШестерня = 22,5 Гц или 1 350 об/мин. Вращающаяся скорость механизма и выходного вала

fМеханизм=fШестерня×Номеризшестернязубы(Np)Номеризмеханизмзубы(Ng) .

Частота зубной mesh, также названная частотой mesh механизма, является уровнем, на котором периодически участвуют механизм и зубы шестерни:

fMesh=fШестерня×Np=fМеханизм×Ng .

fs = 20E3;          % Sample Rate (Hz)

Np = 13;            % Number of teeth on pinion
Ng = 35;            % Number of teeth on gear

fPin = 22.5;        % Pinion (Input) shaft frequency (Hz)

fGear = fPin*Np/Ng; % Gear (Output) shaft frequency (Hz)

fMesh = fPin*Np;    % Gear Mesh frequency (Hz)

Сгенерируйте формы волны вибрации для шестерни и механизма. Смоделируйте колебания как синусоиды, происходящие на первичных частотах mesh механизма вала. Анализируйте 20 секунд данных о вибрации.

Форма волны mesh механизма ответственна за передачу загрузки и таким образом обладает самой высокой амплитудой вибрации. A2 вклады вибрации записей от этих двух валов и mesh механизма. Для этого эксперимента, вкладов элементов прокрутки подшипника к сигналам вибрации, зарегистрированным A2 рассматриваются незначительными. Визуализируйте раздел бесшумного сигнала вибрации.

t = 0:1/fs:20-1/fs;

vfIn = 0.4*sin(2*pi*fPin*t);    % Pinion waveform     
vfOut = 0.2*sin(2*pi*fGear*t);  % Gear waveform

vMesh = sin(2*pi*fMesh*t);      % Gear-mesh waveform

plot(t, vfIn + vfOut + vMesh)
xlim([0 0.25])
xlabel('Time (s)')
ylabel('Acceleration')

Сгенерируйте высокочастотные удары, вызванные локальным отказом на зубе механизма

Примите, что один из зубов механизма страдает от локального отказа, такого как осколок. Это приводит к высокочастотному удару, происходящему однажды на вращение механизма.

Локальный отказ вызывает удар, который имеет длительность короче, чем длительность зубной mesh. Вмятина на зубной поверхности механизма генерирует высокочастотные колебания по длительности удара. Частота удара зависит от свойств компонентов коробки передач и ее собственных частот. В этом примере это произвольно принято, что удар вызывает сигнал вибрации на 2 кГц и происходит по длительности приблизительно 8% 1/fMesh, или 0,25 миллисекунды. Удар повторяется однажды на вращение механизма.

ipf = fGear;
fImpact = 2000;         

tImpact = 0:1/fs:2.5e-4-1/fs; 
xImpact = sin(2*pi*fImpact*tImpact)/3;

Окажите влияние, периодическое путем свертки к нему с функцией расчески.

xComb = zeros(size(t));

Ind = (0.25*fs/fMesh):(fs/ipf):length(t);
Ind = round(Ind);
xComb(Ind) = 1;

xPer = 2*conv(xComb,xImpact,'same');

Добавьте, что отказ сигнализирует о xPer к сигналу вала. Добавьте белый Гауссов шум в выходные сигналы и для безотказного и для неисправного механизма, чтобы смоделировать выход от A2 .

vNoFault = vfIn + vfOut + vMesh;
vFault = vNoFault + xPer;                              

vNoFaultNoisy = vNoFault + randn(size(t))/5;
vFaultNoisy = vFault + randn(size(t))/5;

Визуализируйте сегмент истории времени. Местоположения удара обозначаются на графике для неисправного механизма инвертированными красными треугольниками. Они почти неразличимы.

subplot(2,1,1)
plot(t,vNoFaultNoisy)
xlabel('Time (s)')
ylabel('Acceleration')
xlim([0.0 0.3])
ylim([-2.5 2.5])
title('Noisy Signal for Healthy Gear')


subplot(2,1,2)
plot(t,vFaultNoisy)
xlabel('Time (s)')
ylabel('Acceleration')
xlim([0.0 0.3])
ylim([-2.5 2.5])
title('Noisy Signal for Faulty Gear')
hold on
MarkX = t(Ind(1:3));
MarkY = 2.5;
plot(MarkX,MarkY,'rv','MarkerFaceColor','red')
hold off

Сравните спектры мощности для обоих сигналов

Локализованный зуб дает сбой причина распределенные боковые полосы, чтобы появиться в окружении частоты mesh механизма:

fsязьbи,Шестерня=fMesh±m×fШестерня           m{1, 2, 3,..}

fsязьbи,Механизм=fMesh±m×fМеханизм           m{1, 2, 3,..}

Вычислите спектр здоровых и неисправных механизмов. Задайте частотный диапазон, который включает частоты вала в 8,35 Гц и 22,5 Гц и частоту mesh механизма на уровне 292,5 Гц.

[Spect,f] = pspectrum([vFaultNoisy' vNoFaultNoisy'],fs,'FrequencyResolution',0.2,'FrequencyLimits',[0 500]);

Постройте спектры. Поскольку отказ находится на механизме а не шестерне, боковые полосы, как ожидают, появятся в fsязьbи,Механизм и распределенный fМеханизм независимо на спектрах. Спектры показывают ожидаемый peaks в fGear, fPin, и fMesh. Однако присутствие шума в сигнале делает peaks боковой полосы в fsязьbи,Механизм неразличимый.

figure
plot(f,10*log10(Spect(:,1)),f,10*log10(Spect(:,2)),':')
xlabel('Frequency (Hz)')
ylabel('Power Spectrum (dB)')

hold on
plot(fGear,0,'rv','MarkerFaceColor','red')
plot(fPin,0,'gv','MarkerFaceColor','green')
plot(fMesh,0,'bv','MarkerFaceColor','blue')
hold off

legend('Faulty','Healthy','f_{Gear}','f_{Pinion}','f_{Mesh}')

Увеличьте масштаб окружения частоты mesh механизма. Создайте сетку механизма и свяжите боковые полосы в fsязьbи,Механизм и fsязьbи,Шестерня.

figure
p1 = plot(f,10*log10(Spect(:,1)));
xlabel('Frequency (Hz)')
ylabel('Power Spectrum (dB)')
xlim([250 340])
ylim([-70 -40])

hold on
p2 = plot(f,10*log10(Spect(:,2)));

harmonics = -5:5;
SBandsGear = (fMesh+fGear.*harmonics);
[X1,Y1] = meshgrid(SBandsGear,ylim);

SBandsPinion = (fMesh+fPin.*harmonics);
[X2,Y2] = meshgrid(SBandsPinion,ylim);

p3 = plot(X1,Y1,':r');
p4 = plot(X2,Y2,':k');
hold off
legend([p1 p2 p3(1) p4(1)],{'Faulty Gear';'Healthy Gear';'f_{sideband,Gear}';'f_{sideband,Pinion}'})

Не ясно, выравнивается ли peaks с боковыми полосами механизма fsязьbи,Механизм.

Примените синхронное во времени усреднение к Выходному сигналу вибрации

Обратите внимание на то, что это затрудняет, чтобы разделить peaks в боковых полосах механизма, fSideBand,Механизм, и боковые полосы шестерни, fSideBand,Шестерня. Предыдущий раздел продемонстрировал трудность при разделении peaks и определении, если шестерня или механизм затронуты отказами. Синхронное во времени усреднение составляет в среднем нулевой средний случайный шум и любые формы волны, не сопоставленные с частотами конкретного вала. Это делает процесс из обнаружения отказа легче.

Используйте функциональный tsa сгенерировать синхронизируемые со временем формы волны и для шестерни и для механизма.

Задайте синхронизируемые со временем импульсы для шестерни. Вычислите синхронное во времени среднее значение для 10 вращений шестерни.

tPulseIn = 0:1/fPin:max(t);
taPin = tsa(vFaultNoisy,fs,tPulseIn,'NumRotations',10);

Задайте синхронизируемые со временем импульсы для механизма. Вычислите синхронное во времени среднее значение для 10 вращений механизма.

tPulseOut = 0:1/fGear:max(t);
taGear = tsa(vFaultNoisy,fs,tPulseOut,'NumRotations',10);

Визуализируйте синхронизируемые со временем сигналы для одного вращения. Удар сравнительно легче видеть на синхронном во времени усредненном сигнале для механизма, в то время как это составлено в среднем для вала шестерни. Местоположение удара, обозначенного на графике с маркером, имеет более высокую амплитуду, чем соседний peaks mesh механизма.

The tsa функция без выходных аргументов строит синхронный во времени средний сигнал и сигналы временной области, соответствующие каждому сегменту сигнала в текущей фигуре.

figure

subplot(2,1,1)
tsa(vFaultNoisy,fs,tPulseIn,'NumRotations',10)
xlim([0.5 1.5])
ylim([-2 2])
title('TSA Signal for Pinion')

subplot(2,1,2)
tsa(vFaultNoisy,fs,tPulseOut,'NumRotations',10)
xlim([0.5 1.5])
ylim([-2 2])
title('TSA Signal for Gear')
hold on
plot(1.006,2,'rv','MarkerFaceColor','red')
hold off

Визуализируйте спектры мощности для синхронных во времени усредненных сигналов

Вычислите спектр мощности синхронного во времени усредненного сигнала механизма. Задайте частотный диапазон, который покрывает 15 боковых полос механизма по обе стороны от частоты mesh механизма 292,5 Гц. Заметьте peaks в fsязьbи,Механизм.

figure
pspectrum(taGear,fs,'FrequencyResolution',2.2,'FrequencyLimits',[200 400])

harmonics = -15:15;
SBandsGear=(fMesh+fGear.*harmonics);

[X1,Y1] = meshgrid(SBandsGear,ylim);
[XM,YM] = meshgrid(fMesh,ylim);

hold on
plot(XM,YM,'--k',X1,Y1,':r')
legend('Power Spectra','Gear-Mesh Frequency','f_{sideband,Gear}')
hold off

title('TSA Gear (Output Shaft)')

Визуализируйте спектры мощности синхронного во времени усредненного сигнала шестерни в том же частотном диапазоне. На этот раз постройте линии сетки в fsязьbи,Шестерня местоположения частоты.

figure
pspectrum(taPin,fs,'FrequencyResolution',5.8,'FrequencyLimits',[200 400])

SBandsPinion = (fMesh+fPin.*harmonics);

[X2,Y2] = meshgrid(SBandsPinion,ylim);
[XM,YM] = meshgrid(fMesh,ylim);

hold on
plot(XM,YM,'--b',X2,Y2,':k')
legend('Power Spectra','Gear-Mesh Frequency','f_{sideband,Pinion}')
hold off

title('TSA Pinion (Input Shaft)')

Заметьте отсутствие видного peaks в fsязьbи,Шестерня в графике.

Спектры мощности исходного сигнала содержат формы волны от двух различных валов, а также шум. Это затрудняет, чтобы отличить гармоники боковой полосы. Однако наблюдайте видный peaks в местоположениях боковой полосы на спектре синхронного во времени усредненного сигнала механизма. Также наблюдайте неоднородность в величинах боковой полосы, которые являются индикатором локализованных отказов на механизме. С другой стороны, peaks боковой полосы отсутствует в спектре синхронного во времени усредненного сигнала шестерни. Это помогает нам прийти к заключению, что шестерня потенциально здорова.

Путем составления в среднем формы волны, которые не релевантны, tsa функция помогает идентифицировать неисправный механизм путем рассмотрения гармоник боковой полосы. Эта функциональность особенно полезна, когда желательно извлечь соответствие сигнала вибрации одному валу от коробки передач с несколькими валами и механизмами.

Добавьте Распределенный Отказ в Шестерне и Включите ее Эффекты в Сигнал Вибрации

Распределенный отказ механизма, такой как эксцентриситет или неточное совмещение механизма [1], вызывает высокоуровневые боковые полосы, которые узко сгруппированы вокруг целочисленных множителей частоты mesh механизма.

Чтобы симулировать распределенный отказ, введите три компонента боковой полосы уменьшения амплитуды по обе стороны от частоты mesh механизма.

SideBands = -3:3;
SideBandAmp = [0.02 0.1 0.4 0 0.4 0.1 0.02];    % Sideband amplitudes
SideBandFreq = fMesh + SideBands*fPin;          % Sideband frequencies

vSideBands = SideBandAmp*sin(2*pi*SideBandFreq'.*t);

Добавьте сигналы боковой полосы в сигнал вибрации. Это приводит к амплитудной модуляции.

vPinFaultNoisy = vFaultNoisy + vSideBands;

Визуализируйте раздел истории времени для коробки передач, затронутой распределенным отказом.

plot(t,vPinFaultNoisy)
xlim([0.6 0.85])
xlabel('Time (s)')
ylabel('Acceleration')
title('Effects of Sideband Modulation')

Повторно вычислите синхронный во времени усредненный сигнал для шестерни и механизма.

taPin = tsa(vPinFaultNoisy,fs,tPulseIn,'NumRotations',10);
taGear = tsa(vFaultNoisy,fs,tPulseOut,'NumRotations',10);

Визуализируйте спектр мощности синхронного во времени усредненного сигнала. Эти три боковых полосы в синхронном во времени усредненном сигнале шестерни являются более явными, которые указывают на присутствие распределенных отказов. Однако спектр синхронного во времени усредненного сигнала механизма остается неизменным.

subplot(2,1,1)
pspectrum(taPin,fs,'FrequencyResolution',5.8,'FrequencyLimits',[200 400])
hold on
plot(X2,Y2,':k')
legend('Power Spectrum','f_{sideband,Pinion}','Location','south')
hold off
title ('TSA Pinion (Input Shaft)')


subplot(2,1,2)
pspectrum(taGear,fs,'FrequencyResolution',2.2,'FrequencyLimits',[200 400])
hold on
plot(X1,Y1,':r')
legend('Power Spectrum','f_{sideband,Gear}')
hold off
title ('TSA Gear (Output Shaft)')

В заключение tsa функция помогает извлечь механизм и связать вклады от полного сигнала вибрации. Это в свою очередь помогает идентифицировать определенные компоненты, которые затронуты локализованными и распределенными отказами.

Анализ вибрации отказов подшипника качения

Локализованные отказы в подшипнике качения могут произойти во внешней гонке, внутренней гонке, клетке или прокручивающемся элементе. Каждый из этих отказов характеризуется его собственной частотой, которая обычно перечисляется производителем или вычисляется от спецификаций подшипника. Удар от локализованного отказа генерирует высокочастотные колебания в структуре коробки передач между преобразователем подшипника и ответа [2]. Примите, что механизмы в коробке передач здоровы и что один из подшипников, поддерживающих вал шестерни, затронут локализованным отказом во внутренней гонке. Пропустите эффекты радиальной загрузки в анализе.

Подшипник, с диаметром подачи 12 см, имеет восемь прокручивающихся элементов. Каждый элемент прокрутки имеет диаметр 2 см. Краевой угол θ 15. Это - установившаяся практика, чтобы поместить акселерометр на корпус подшипника при анализе подшипника вибрации. Ускоряющие измерения зарегистрированыA1, акселерометр расположен на дефектном корпусе подшипника.

Задайте параметры для подшипника.

n = 8;         % Number of rolling element bearings
d = 0.02;      % Diameter of rolling elements 
p = 0.12;      % Pitch diameter of bearing
thetaDeg = 15; % Contact angle in degrees

Удары происходят каждый раз, когда прокручивающийся элемент передает локализованный отказ внутренней гонке. Уровень, на котором это происходит, является внутренней частотой гонкой передачи шара (BPFI). BPFI может быть вычислен с помощью

fBPFI=n×fКонтакт2 (1+dpпотому чтоθ).

bpfi = n*fPin/2*(1 + d/p*cosd(thetaDeg))
bpfi = 104.4889

Модель каждый удар как синусоида на 3 кГц, оконная окном Кайзера. Дефект вызывает ряд ударов с 5 миллисекундами на подшипник. Импульсы на ранних стадиях ям и осколков покрывают широкий частотный диапазон приблизительно до 100 kHz [2].

fImpact = 3000;
tImpact = 0:1/fs:5e-3-1/fs;
xImpact = sin(2*pi*fImpact*tImpact).*kaiser(length(tImpact),40)';

Окажите влияние, периодическое путем свертки к нему с функцией расчески. С тех пор A1 ближе к подшипнику, настройте амплитуду удара, таким образом, что это является видным относительно сигнала вибрации коробки передач, зарегистрированного A2.

xComb = zeros(size(t));
xComb(1:round(fs/bpfi):end) = 1;
xBper = 0.33*conv(xComb,xImpact,'same');

Визуализируйте сигнал удара.

figure
plot(t,xBper)
xlim([0 0.05])
xlabel('Time (s)')
ylabel('Acceleration')
title('Impacts Due to Local Fault on the Inner Race of the Bearing')

Добавьте периодический отказ подшипника в сигнал вибрации от здоровой коробки передач.

vNoBFaultNoisy = vNoFault + randn(size(t))/5;
vBFaultNoisy = xBper + vNoFault + randn(size(t))/5;

Вычислите спектры сигналов. Визуализируйте спектр на более низких частотах. Создайте сетку первых десяти гармоник BPFI.

pspectrum([vBFaultNoisy' vNoBFaultNoisy' ],fs,'FrequencyResolution',1,'FrequencyLimits',[0 10*bpfi])
legend('Damaged','Healthy')
title('Bearing Vibration Spectra')
grid off

harmImpact = (0:10)*bpfi;
[X,Y] = meshgrid(harmImpact,ylim);

hold on
plot(X/1000,Y,':k')
legend('Healthy','Damaged','BPFI harmonics')
xlim([0 10*bpfi]/1000)
hold off

На более низком уровне спектра вал и частоты mesh и их порядки затеняют другие функции. Спектр здорового подшипника и спектр поврежденного подшипника неразличимы. Этот дефект подсвечивает необходимость подхода, который может изолировать отказы подшипника.

BPFI зависит от отношения d/p и косинус угла контакта θ. Иррациональное выражение для BPFI подразумевает, что переносящие удары не синхронны с целым числом вращений вала. tsa функция не полезна в этом случае, потому что она составляет в среднем удары. Удары не лежат на том же местоположении в каждом усредненном сегменте.

Функциональный envspectrum (огибающая спектра) выполняет амплитудную демодуляцию и полезна в извлечении информации о высокочастотных ударах.

Вычислите и постройте сигналы конверта и их спектры. Сравните огибающие спектра для сигналов с и без отказа подшипника. Визуализируйте спектр на более низких частотах. Создайте сетку первых десяти гармоник BPFI.

figure
envspectrum([vNoBFaultNoisy' vBFaultNoisy'],fs)
xlim([0 10*bpfi]/1000)
[X,Y] = meshgrid(harmImpact,ylim);

hold on
plot(X/1000,Y,':k')
legend('Healthy','Damaged','BPFI harmonics')
xlim([0 10*bpfi]/1000)
hold off

Заметьте, что peaks BPFI не является видным в огибающей спектра, потому что сигнал загрязнен шумом. Вспомните то выполнение tsa чтобы составить в среднем шум не полезен для анализа отказа подшипника, потому что это также составляет в среднем сигналы удара.

envspectrum функционируйте предлагает встроенный фильтр, который может использоваться, чтобы удалить шум вне полосы интереса. Примените полосовой фильтр порядка 200, сосредоточенного на уровне 3,125 кГц и 4,167 кГц шириной.

Fc = 3125;
BW = 4167;

envspectrum([vNoBFaultNoisy' vBFaultNoisy'],fs,'Method','hilbert','FilterOrder',200,'Band',[Fc-BW/2 Fc+BW/2])   

harmImpact = (0:10)*bpfi;
[X,Y] = meshgrid(harmImpact,ylim);

hold on
plot(X/1000,Y,':k')
legend('Healthy','Damaged','BPFI harmonics')
xlim([0 10*bpfi]/1000)
hold off

Огибающая спектра эффективно вводит содержимое полосы пропускания к основной полосе, и поэтому показывает присутствие видного peaks в гармониках BPFI ниже 1 кГц. Это помогает прийти к заключению, что внутренняя гонка подшипника потенциально повреждена.

В этом случае спектр частоты дефектного подшипника ясно показывает гармоники BPFI, модулируемые частотой удара. Визуализируйте это явление в спектрах, близко к частоте удара 3 кГц.

figure 
pspectrum([vBFaultNoisy' vNoBFaultNoisy'],fs,'FrequencyResolution',1,'FrequencyLimits',(bpfi*[-10 10]+fImpact))
legend('Damaged','Healthy')
title('Bearing Vibration Spectra')

Заметьте, что разделение в частоте между peaks равно BPFI.

Заключения

Этот пример использовал синхронное во времени усреднение, чтобы разделить сигналы вибрации, сопоставленные и с шестерней и с механизмом. Кроме того, tsa также ослабленный случайный шум. В случаях колеблющейся скорости (и загрузка [2]), отслеживание заказов может использоваться в качестве предшественника tsa передискретизировать сигнал в терминах угла поворота вала. Синхронное во времени усреднение также используется в экспериментальных условиях ослабить эффекты небольших изменений в скорости вала.

Широкополосный анализ частоты может использоваться в качестве хорошей начальной точки в анализе отказа подшипников [3]. Однако его полноценность ограничивается, когда спектры в окружении подшипника частот удара содержат вклады от других компонентов, таких как более высокие гармоники частот mesh механизма в коробке передач. Анализ конверта полезен при таких обстоятельствах. Функциональный envspectrum может использоваться, чтобы извлечь сигналы конверта и спектры для дефектных подшипников, как индикатор износа подшипников и повреждения.

Ссылки

  1. Схеффер, Корнелиус и Пэреш Джирдхэр. Практический анализ вибрации машинного оборудования и прогнозирующее обслуживание. Амстердам: Elsevier, 2004.

  2. Рэндалл, связь Роберта. Основанный на вибрации мониторинг состояния: промышленные, космические и автомобильные приложения. Чичестер, Великобритания: Джон Вайли и сыновья, 2011.

  3. Лэйси, S. J. Обзор Подшипника Анализа Вибрации. (От: http://www.maintenanceonline.co.uk/maintenanceonline/content_images/p32-42%20Lacey%20paper%20M&AM.pdf)

  4. Брандт, Андерс. Шум и анализ вибрации: анализ сигнала и экспериментальные процедуры. Чичестер, Великобритания: Джон Вайли и сыновья, 2011.