Используйте 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
и перетащите его на отображение. Вычислите огибающую спектра сигнала с помощью преобразования Гильберта:
Снимите значение постоянного тока сигнала. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Detrend. На появившейся вкладке Detrend выберите Constant
как метод. Щелкните Детренд (Detrend).
Полосу пропускания - фильтрация детрендированного сигнала. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Bandpass. На появившейся вкладке Bandpass введите 2250 Гц и 3750 Гц в качестве нижней и верхней частот полосы пропускания соответственно. Щелкните Полосу пропускания.
Вычислите огибающую фильтрованного сигнала. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Envelope. На появившейся вкладке Envelope выберите Hilbert
как метод. Щелкните Огибающая (Envelope).
Удалите значение постоянного тока огибающей с помощью команды Detrend.
Это огибающая спектра появляется в спектральном представлении отображения. В огибающую спектра четко отображаются гармоники BPFO.
Расчет огибающей спектра может стать утомительным, если его нужно повторить для многих различных подшипников. Signal Analyzer может сгенерировать скрипты и функции MATLAB ®, чтобы помочь вам автоматизировать расчеты.
В качестве упражнения повторите предыдущий анализ для сигнала BPFI. Signal Analyzer генерирует два компонента, полезных для автоматизации:
preprocess
, функцию, которая предварительно обрабатывает сигнал путем удаления тренда, фильтрации и вычисления его огибающей
Compute power spectrum
, скрипт, который вычисляет огибающую спектра
Чтобы создать интегрированный скрипт анализа, поместите функцию предварительной обработки и скрипт графического изображения вместе без изменений в один файл. (Также можно сохранить функции в отдельных файлах.)
Если вы сохраняете скрипт и функцию в одном скрипте 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
Функция генерации данных подшипника
Подшипник имеет диаметр тангажа см и угол контакта подшипника . Каждый из элементы качения имеют диаметр см. Внешнее кольцо остается стационарным, внутренне кольцо вращается обороты в секунду. Акселерометр производит измерения колебаний подшипника с частотой дискретизации 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) подшипника,
.
Моделируйте влияния как периодический train 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