В этом примере показано, как анализировать сигналы вибрации от коробки передач с помощью синхронного во времени усреднения и огибающих спектра. Эти функции особенно полезны в прогнозирующем обслуживании коробок передач, которые содержат несколько вращающихся компонентов: механизмы, валы и подшипники.
Этот пример генерирует и анализирует данные о вибрации для коробки передач, валы которой вращаются на фиксированной скорости. Синхронное во времени усреднение используется, чтобы изолировать компоненты вибрации, сопоставленные с определенным валом или механизмом и составить в среднем все другие компоненты. Огибающие спектра особенно полезны в идентификации локализованных отказов подшипника, которые вызывают высокочастотные удары.
Рассмотрите идеализированную коробку передач, которая состоит из шестерни с 13 зубами, сцепляющейся с механизмом с 35 зубами. Шестерня связывается с входным валом, соединенным с движущей силой. Механизм соединяется с выходным валом. Валы поддерживаются роликовыми подшипниками на корпусе коробки передач. Два акселерометра, и , помещаются в подшипник и корпуса коробки передач, соответственно. Акселерометры действуют на уровне частоты дискретизации 20 кГц.
Шестерня вращается на уровне = 22,5 Гц или 1 350 об/мин. Вращающаяся скорость механизма и выходного вала
.
Частота зубной mesh, также названная частотой mesh механизма, является уровнем, на котором периодически участвуют механизм и зубы шестерни:
.
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 механизма ответственна за передачу загрузки и таким образом обладает самой высокой амплитудой вибрации. вклады вибрации записей от этих двух валов и mesh механизма. Для этого эксперимента, вкладов элементов прокрутки подшипника к сигналам вибрации, зарегистрированным рассматриваются незначительными. Визуализируйте раздел бесшумного сигнала вибрации.
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
к сигналу вала. Добавьте белый Гауссов шум в выходные сигналы и для безотказного и для неисправного механизма, чтобы смоделировать выход от .
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 механизма:
Вычислите спектр здоровых и неисправных механизмов. Задайте частотный диапазон, который включает частоты вала в 8,35 Гц и 22,5 Гц и частоту mesh механизма на уровне 292,5 Гц.
[Spect,f] = pspectrum([vFaultNoisy' vNoFaultNoisy'],fs,'FrequencyResolution',0.2,'FrequencyLimits',[0 500]);
Постройте спектры. Поскольку отказ находится на механизме а не шестерне, боковые полосы, как ожидают, появятся в и распределенный независимо на спектрах. Спектры показывают ожидаемый peaks в fGear
, fPin
, и fMesh
. Однако присутствие шума в сигнале делает peaks боковой полосы в неразличимый.
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 механизма. Создайте сетку механизма и свяжите боковые полосы в и .
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 с боковыми полосами механизма .
Обратите внимание на то, что это затрудняет, чтобы разделить peaks в боковых полосах механизма, , и боковые полосы шестерни, . Предыдущий раздел продемонстрировал трудность при разделении 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 в .
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)')
Визуализируйте спектры мощности синхронного во времени усредненного сигнала шестерни в том же частотном диапазоне. На этот раз постройте линии сетки в местоположения частоты.
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 в в графике.
Спектры мощности исходного сигнала содержат формы волны от двух различных валов, а также шум. Это затрудняет, чтобы отличить гармоники боковой полосы. Однако наблюдайте видный 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 см. Краевой угол . Это - установившаяся практика, чтобы поместить акселерометр на корпус подшипника при анализе подшипника вибрации. Ускоряющие измерения зарегистрированы, акселерометр расположен на дефектном корпусе подшипника.
Задайте параметры для подшипника.
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 может быть вычислен с помощью
.
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)';
Окажите влияние, периодическое путем свертки к нему с функцией расчески. С тех пор ближе к подшипнику, настройте амплитуду удара, таким образом, что это является видным относительно сигнала вибрации коробки передач, зарегистрированного .
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 зависит от отношения и косинус угла контакта . Иррациональное выражение для 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
может использоваться, чтобы извлечь сигналы конверта и спектры для дефектных подшипников, как индикатор износа подшипников и повреждения.
Схеффер, Корнелиус и Пэреш Джирдхэр. Практический анализ вибрации машинного оборудования и прогнозирующее обслуживание. Амстердам: Elsevier, 2004.
Рэндалл, связь Роберта. Основанный на вибрации мониторинг состояния: промышленные, космические и автомобильные приложения. Чичестер, Великобритания: Джон Вайли и сыновья, 2011.
Лэйси, S. J. Обзор Подшипника Анализа Вибрации. (От: http://www.maintenanceonline.co.uk/maintenanceonline/content_images/p32-42%20Lacey%20paper%20M&AM.pdf)
Брандт, Андерс. Шум и анализ вибрации: анализ сигнала и экспериментальные процедуры. Чичестер, Великобритания: Джон Вайли и сыновья, 2011.
envspectrum
| pspectrum
| tsa