Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Espectro de sobre de cómputo de señal de vibración

Se utiliza para calcular el espectro de envolvente de una señal de vibración del rodamiento y buscar defectos.Analizador de señales Genere scripts y funciones de MATLAB® para automatizar el análisis.

Generar datos de vibración de rodamientos

Un rodamiento con las dimensiones mostradas en la figura se

<math display="inline">
<mrow>
<msub>
<mrow>
<mi mathvariant="italic">f</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>25</mn>
</mrow>
</math>
ciclos por segundo. Un acelerómetro toma muestras de las vibraciones del rodamiento a 10 kHz.

Genere señales de vibración a partir de dos rodamientos defectuosos utilizando la función al final del ejemplo.bearingdata En una de las señales, el rodamiento tiene un defecto en la carrera exterior.xBPFO En la otra señal, el rodamiento tiene un defecto en la carrera interna.xBPFI Para obtener más información sobre el modelado y el diagnóstico de defectos en los rodamientos, consulte y .Análisis de vibración de maquinaria rotativaenvspectrum

[t,xBPFO,xBPFI,bpfi] = bearingdata;

Espectro de sobres de computación mediante analizador de señal

Abra y arrastre la señal BPFO a una pantalla.Analizador de señales Agregue información de tiempo a la señal seleccionándola en la tabla Señal y haciendo clic en el botón de la pestaña.Valores de tiempoAnalizador Seleccione la opción e introduzca la frecuencia de muestreo de 10 kHz.Sample Rate and Start Time

En la pestaña, haga clic para abrir una vista de espectro.MonitorEspectro El espectro de la señal de vibración muestra armónicos BPFO modulados por la frecuencia de impacto de 3 kHz. En el extremo bajo del espectro, la frecuencia de conducción y sus órdenes oscurecen otras características.

Seleccione la señal y, en la pestaña, haga clic para generar una copia de la misma.AnalizadorDuplicado Asigne a la nueva señal el nombre y arrástrela a la pantalla.envspec Calcular el espectro de envolvente de la señal utilizando la transformación Hilbert:

  1. Quite el valor de CC de la señal. En la pestaña, haga clic en .AnalizadorPreprocesamiento Detrend En la pestaña que aparece, seleccione como método.DetrendConstant Haga clic.Detrend

  2. Filtro de paso de banda de la señal detendencia. En la pestaña, haga clic en .AnalizadorPreprocesamiento Bandpass En la pestaña que aparece, introduzca 2250 Hz y 3750 Hz como frecuencias de banda de paso inferior y superior, respectivamente.Bandpass Haga clic.Bandpass

  3. Calcular la envolvente de la señal filtrada. En la pestaña, haga clic en .AnalizadorPreprocesamiento Sobre En la pestaña que aparece, seleccione como método.SobreHilbert Haga clic.Sobre

  4. Quite el valor DC del sobre utilizando .Detrend

El espectro de envolvente aparece en la vista de espectro de la pantalla. El espectro de envolventemuestra claramente los armónicos BPFO.

Pasos para crear un script de análisis integrado

El cálculo del espectro de envolvente puede ser tedioso si tiene que repetirse para muchos rodamientos diferentes. puede generar scripts y funciones de MATLAB® para ayudarle a automatizar el cálculo.Analizador de señales

Como ejercicio, repita el análisis anterior para la señal BPFI. genera dos componentes útiles para la automatización:Analizador de señales

  1. Una función que preprocesa la señal desabozando, filtrándola y calculando su envolvente

  2. Un script que calcula el espectro de sobres

Para crear el script de análisis integrado, coloque la función de preprocesamiento y el script de trazado sin cambios en un solo archivo. (Alternativamente, puede guardar funciones en archivos separados.)

  • Si guarda el script y la función en un único script MATLAB®, tenga en cuenta que las funciones deben aparecer al final.

  • Debe agregar la palabra clave al final de cada función.end

1. Crear función de preprocesamiento

Inicialmente, cree la función que reproduce los pasos de preprocesamiento. Seleccione la señal.envspec En la pestaña, haga clic en .AnalizadorGenerar función La función, a la que se llama de forma predeterminada, aparece en el Editor.preprocess Guarde la función generada al final del script de análisis integrado. La función espera un segundo argumento que especifique la información de tiempo. Preprocesar la señal BPFI utilizando la función.

envspec = preprocess(xBPFI,t);

2. Crear script de espectro

En la aplicación, quite la señal sin procesar de la pantalla desactivando la casilla de verificación situada junto a su nombre. En la pestaña, haga clic en .MonitorGenerar script Spectrum Script El script aparece en el Editor. Incluya el código generado en el script de análisis integrado. Cuando se ejecuta el script de análisis, el script de espectro generado calcula el espectro de envolvente de la señal BPFI preprocesada.

% 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. Espectro de envolvente de la gráfica

Trazar el espectro de envolventes. Compare las ubicaciones de pico con las frecuencias de los primeros diez armónicos BPFI. También puede trazar el espectro de envolventes utilizando el comando sin argumentos de salida.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])

Código de función

Función de preprocesamiento de señal

La función de preprocesamiento de señal generada por la aplicación combina detrending, filtrado de paso de banda y cálculo de envolvente.

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

Función de generación de datos de rodamientos

El rodamiento tiene diámetro de paso

<math display="inline">
<mrow>
<mi mathvariant="italic">p</mi>
<mo>=</mo>
<mn>12</mn>
</mrow>
</math>
cm y un ángulo de contacto del rodamiento
<math display="inline">
<mrow>
<mi>θ</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
</math>
. Cada uno de los
<math display="inline">
<mrow>
<mi mathvariant="italic">n</mi>
<mo>=</mo>
<mn>8</mn>
</mrow>
</math>
elementos rodantes tiene un diámetro
<math display="inline">
<mrow>
<mi mathvariant="italic">d</mi>
<mo>=</mo>
<mn>2</mn>
</mrow>
</math>
Cm. La carrera exterior permanece estacionaria a medida que la carrera interna
<math display="inline">
<mrow>
<msub>
<mrow>
<mi mathvariant="italic">f</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>25</mn>
</mrow>
</math>
ciclos por segundo. Un acelerómetro toma muestras de las vibraciones del rodamiento a 10 kHz.

function [t,xBPFO,xBPFI,bpfi] = bearingdata  p = 0.12; d = 0.02; n = 8; th = 0; f0 = 25; fs = 10000;

Para un rodamiento sano, la señal de vibración es una superposición de varias órdenes de la frecuencia de conducción, incrustada en ruido gaussiano blanco.

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;

Un defecto en la carrera exterior causa una serie de impactos de 5 milisegundos que con el tiempo dan lugar al desgaste del rodamiento. Los impactos se producen en la carrera exterior de frecuencia de paso de bola (BPFO) del rodamiento,

<math display="inline">
<mrow>
<mi mathvariant="normal">BPFO</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mn>1</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</mfrac>
<msub>
<mrow>
<mi mathvariant="italic">nf</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mrow>
<mo>[</mo>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mfrac>
<mrow>
<mi mathvariant="italic">d</mi>
</mrow>
<mrow>
<mi mathvariant="italic">p</mi>
</mrow>
</mfrac>
<mi mathvariant="normal">cos</mi>
<mtext></mtext>
<mi>θ</mi>
</mrow>
<mo>]</mo>
</mrow>
</mrow>
</math>
.

Modele los impactos como un tren periódico de 3 kHz de sinusoides amortiguados exponencialmente. Agregue los impactos a la señal sana para generar la señal de vibración 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;

Si el defecto está en su lugar en la carrera interna, los impactos se producen a una frecuencia

<math display="inline">
<mrow>
<mi mathvariant="normal">BPFI</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mn>1</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</mfrac>
<msub>
<mrow>
<mi mathvariant="italic">nf</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mrow>
<mo>[</mo>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mfrac>
<mrow>
<mi mathvariant="italic">d</mi>
</mrow>
<mrow>
<mi mathvariant="italic">p</mi>
</mrow>
</mfrac>
<mi mathvariant="normal">cos</mi>
<mtext></mtext>
<mi>θ</mi>
</mrow>
<mo>]</mo>
</mrow>
</mrow>
</math>
.

Genere la señal de vibración BPFI añadiendo los impactos a las señales saludables.

bpfi = n*f0/2*(1+d/p*cos(th));  xBPFI = xHealthy + pulstran(t,0:1/bpfi:1,xmp,fs)/4;  end

Consulte también

Apps

Funciones

Ejemplos relacionados

Más acerca de