Используйте Signal Analyzer, чтобы вычислить огибающую спектра вибрации подшипника, сигнализируют и ищут дефекты. Сгенерируйте скрипты MATLAB® и функции, чтобы автоматизировать анализ.
В терпении показанных на рисунке размерностей управляют циклы в секунду. Акселерометр производит колебания подшипника на уровне 10 кГц.
Сгенерируйте сигналы вибрации от двух дефектных подшипников с помощью bearingdata
функция в конце примера. В одном из сигналов, xBPFO
, подшипник имеет дефект во внешней гонке. В другом сигнале, xBPFI
, подшипник имеет дефект во внутренней гонке. Для получения дополнительной информации о моделировании и диагностировании дефектов в подшипниках, смотрите Анализ Вибрации Вращающегося Машинного оборудования и envspectrum
.
[t,xBPFO,xBPFI,bpfi] = bearingdata;
Откройте Signal Analyzer и перетащите сигнал BPFO к отображению. Добавьте время информация к сигналу путем выбора его в таблице Signal и нажатия кнопки Time Values на вкладке Analyzer. Выберите Sample Rate and Start Time
опция и вводит частоту дискретизации на 10 кГц.
На вкладке Display нажмите Spectrum, чтобы открыть представление спектра. Спектр сигнала вибрации показывает гармоники BPFO, модулируемые частотой удара на 3 кГц. На нижнем уровне спектра ведущая частота и ее порядки затеняют другие функции.
Выберите сигнал и, на вкладке Analyzer, нажмите Duplicate, чтобы сгенерировать копию его. Дайте новому сигналу имя envspec
и перетащите его к отображению. Вычислите огибающую спектра сигнала с помощью преобразования Гильберта:
Удалите значение DC сигнала. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Detrend. На вкладке Detrend, которая появляется, выберите Constant
как метод. Нажмите Detrend.
Полосовой фильтр детрендированный сигнал. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Bandpass. На вкладке Bandpass, которая появляется, введите 2 250 Гц и 3 750 Гц как более низкие и верхние частоты полосы пропускания, соответственно. Нажмите Bandpass.
Вычислите конверт отфильтрованного сигнала. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Envelope. На вкладке Envelope, которая появляется, выберите Hilbert
как метод. Нажмите Envelope.
Удалите значение DC использования конверта, Детрендируют.
Огибающая спектра появляется в представлении спектра отображения. Огибающая спектра ясно отображает гармоники BPFO.
Расчет огибающей спектра может стать утомительным, если это должно быть повторено для многих различных подшипников. Signal Analyzer может сгенерировать скрипты MATLAB® и функции, чтобы помочь вам автоматизировать расчет.
Как осуществление, повторите предыдущий анализ для сигнала BPFI. Signal Analyzer генерирует два компонента, полезные для автоматизации:
Функция, которая предварительно обрабатывает сигнал путем удаления тренда его, фильтрации его и вычисления его конверта
Скрипт, который вычисляет огибающую спектра
Чтобы создать интегрированный аналитический скрипт, поместите функцию предварительной обработки и скрипт графического вывода, вместе неизменный в одном файле. (В качестве альтернативы можно сохранить функции в отдельных файлах.)
Если вы сохраняете скрипт и функцию в одном скрипте MATLAB®, имеете в виду, что эти функции должны появиться в конце.
Необходимо добавить ключевое слово end
в конце каждой функции.
1. Создайте функцию предварительной обработки
Первоначально, создайте функцию, которая воспроизводит шаги предварительной обработки. Выберите envspec
сигнал. На вкладке Analyzer нажмите Generate Function. Функция, вызванная preprocess
по умолчанию, появляется в Редакторе. Сохраните сгенерированную функцию в конце своего интегрированного аналитического скрипта. Функция ожидает второй аргумент, указывающий информацию времени. Предварительно обработайте сигнал BPFI использование функции.
envspec = preprocess(xBPFI,t);
2. Создайте скрипт спектра
В приложении удалите необработанный сигнал из отображения путем снятия флажка рядом с его именем. На вкладке Display нажмите Generate Script ▼ и выберите Spectrum Script
. Скрипт появляется в Редакторе. Включайте сгенерированный код в свой интегрированный аналитический скрипт. Когда вы запускаете аналитический скрипт, сгенерированный скрипт спектра вычисляет огибающую спектра предварительно обработанного сигнала BPFI.
% Compute power spectrum % Generated by MATLAB(R) 9.6 and Signal Processing Toolbox 8.2. % Generated on: 12-Nov-2018 15:13:34 % Parameters timeLimits = [0 0.9999]; % seconds frequencyLimits = [0 5000]; % Hz %% % Index into signal time region of interest envspec_ROI = envspec(:); sampleRate = 10000; % Hz startTime = 0; % seconds minIdx = ceil(max((timeLimits(1)-startTime)*sampleRate,0))+1; maxIdx = floor(min((timeLimits(2)-startTime)*sampleRate,length(envspec_ROI)-1))+1; envspec_ROI = envspec_ROI(minIdx:maxIdx); % Compute spectral estimate % Run the function call below without output arguments to plot the results [Penvspec_ROI, Fenvspec_ROI] = pspectrum(envspec_ROI,sampleRate, ... 'FrequencyLimits',frequencyLimits);
3. Постройте огибающую спектра
Постройте огибающую спектра. Сравните пиковые местоположения с частотами первых десяти гармоник BPFI. Можно также построить огибающую спектра с помощью pspectrum
команда без выходных аргументов.
plot(Fenvspec_ROI,(Penvspec_ROI)) hold on [X,Y] = meshgrid((1:10)*bpfi,ylim); plot(X,Y,':k') hold off xlim([0 10*bpfi])
Функция предварительной обработки сигнала
Функция предварительной обработки сигнала сгенерирована удалением тренда объединений приложения, полосовой фильтрацией и расчетом конверта.
function y = preprocess(x,tx) % Preprocess input x % This function expects an input vector x and a vector of time values % tx. tx is a numeric vector in units of seconds. % Generated by MATLAB(R) 9.6 and Signal Processing Toolbox 8.2. % Generated on: 12-Nov-2018 15:09:44 y = detrend(x,'constant'); Fs = 1/mean(diff(tx)); % Average sample rate y = bandpass(y,[2250 3750],Fs,'Steepness',0.85,'StopbandAttenuation',60); [y,~] = envelope(y); y = detrend(y,'constant'); end
Подшипник производящей функции данных
Подшипник имеет диаметр подачи cm и подшипник связываются с углом . Каждый из прокрутка элементов имеет диаметр cm. Внешняя гонка остается стационарной, когда во внутренней гонке управляют циклы в секунду. Акселерометр производит колебания подшипника на уровне 10 кГц.
function [t,xBPFO,xBPFI,bpfi] = bearingdata
p = 0.12;
d = 0.02;
n = 8;
th = 0;
f0 = 25;
fs = 10000;
Для здорового подшипника сигнал вибрации является суперпозицией нескольких порядков ведущей частоты, встроенной в белый Гауссов шум.
t = 0:1/fs:1-1/fs; z = [1 0.5 0.2 0.1 0.05]*sin(2*pi*f0*[1 2 3 4 5]'.*t); xHealthy = z + randn(size(z))/10;
Дефект во внешней гонке вызывает ряд 5 ударов миллисекунды, которые в зависимости от времени приводят к износу подшипников. Удары происходят на частоте передачи шара внешняя гонка (BPFO) подшипника,
.
Смоделируйте удары, когда периодическое обучается 3 кГц, экспоненциально ослабил синусоиды. Добавьте удары на здоровый сигнал сгенерировать сигнал вибрации BPFO.
bpfo = n*f0/2*(1-d/p*cos(th)); tmp = 0:1/fs:5e-3-1/fs; xmp = sin(2*pi*3000*tmp).*exp(-1000*tmp); xBPFO = xHealthy + pulstran(t,0:1/bpfo:1,xmp,fs)/4;
Если дефект находится вместо этого во внутренней гонке, удары происходят на частоте
.
Сгенерируйте сигнал вибрации BPFI путем добавления ударов на здоровые сигналы.
bpfi = n*f0/2*(1+d/p*cos(th));
xBPFI = xHealthy + pulstran(t,0:1/bpfi:1,xmp,fs)/4;
end