Академический Документы
Профессиональный Документы
Культура Документы
PRESENTADO POR:
MARIA MÓNICA MARTÍNEZ AMAYA
CÓDIGO: 58309
VERÓNICA ISABEL DIX SÁNCHEZ
CÓDIGO: 53548
DIRECTOR:
MANUEL VICENTE VALENCIA
INGENIERO ELECTRICISTA M.Sc.
1
DETECCIÓN DE FALLAS EN RODAMIENTOS DE UN MOTOR DE INDUCCIÓN
TRIFÁSICO TIPO JAULA DE ARDILLA EMPLEANDO ANÁLISIS DE
VIBRACIONES.
DIRECTOR:
MANUEL VICENTE VALENCIA
INGENIERO ELECTRICISTA M.Sc.
2
ARTÍCULO 23 de la Resolución No. 13
del 6 de Julio de 1946 del Reglamento de la Pontificia
Universidad Javeriana.
3
Índice
RESUMEN ............................................................................................................................... 8
SUMMARY .............................................................................................................................. 9
CAPITULO 1. ASPECTOS GENERALES .................................................................... 10
1.1 Introducción al problema de investigación .................................................................... 10
1.2 Planteamiento del problema .............................................................................................. 10
1.3 Objetivos ................................................................................................................................ 11
1.3.1 Objetivo General ........................................................................................................................... 11
1.3.2 Objetivos Específicos .................................................................................................................. 11
1.4 Justificación ........................................................................................................................... 12
1.5 Alcance ................................................................................................................................... 12
CAPITULO 2. MARCO TEÓRICO ................................................................................ 13
2.1 Máquinas Eléctricas ............................................................................................................ 13
2.2 Motores Trifásicos Tipo Jaula De Ardilla ...................................................................... 13
2.3 Principio De Funcionamiento ............................................................................................ 14
2.3.1 Modelo Del Motor De Inducción ................................................................................................ 14
2.4 Partes Del Motor Trifásico Tipo Jaula De Ardilla ....................................................... 15
2.4.1 Estator ............................................................................................................................................... 15
2.4.2 Rotor ................................................................................................................................................. 16
2.4.3 Rodamientos ................................................................................................................................... 16
2.5 Fallas En Motores De Inducción ...................................................................................... 18
2.5.1 Fallas En Rodamientos ............................................................................................................... 18
2.5.2 Componentes Y Frecuencias De Deterioro De Un Rodamiento ................................... 21
2.5.3 Predicción Del Grado De Severidad Del Deterioro De Los Rodamientos ................ 22
2.5.4 Fases De Deterioro De Rodamientos ..................................................................................... 23
2.5.5 Técnicas Para Detectar Fallas En Rodamientos ................................................................. 23
2.5.6 Técnicas Para Detectar Fallas Mediante Análisis De Vibraciones .............................. 24
Transformada Rápida De Fourier ........................................................................................................... 25
2.6 Sensores .................................................................................................................................. 29
2.7 Normativas ............................................................................................................................ 31
2.8 Estado Del Arte .................................................................................................................... 32
4
3.6 Descripción de la Base De Datos ....................................................................................... 47
3.7 Descripción Interfaz De Matlab ........................................................................................ 48
CAPITULO 4. PRUEBAS Y RESULTADOS ................................................................ 52
4.1 Base De Datos CWR ............................................................................................................ 52
4.2 Base de datos Universidad Javeriana .............................................................................. 59
4.2.1 Resultados Rodamiento De Fabrica ....................................................................................... 59
4.2.2 Resultados Rodamiento 1 .......................................................................................................... 63
4.2.3 Resultados Rodamiento 2 .......................................................................................................... 66
4.3 Conclusiones .......................................................................................................................... 69
4.4 Trabajos Futuros ................................................................................................................. 69
Bibliografía ............................................................................................................................. 71
ANEXOS ................................................................................................................................. 74
Índice de Figuras
Figura 1 Clasificación motores eléctricos de corriente alterna [Fuente: S. J. Chapman, “Maquinas
Eléctricas Rotativas”, Maquinas Eléctricas, McGraw- Hill, Ed. 2004, pp. 241-281] ____________________ 13
Figura 2 Partes de un motor de inducción de corriente alterna tipo jaula de ardilla [Fuente:
Telesquemario de Telemecanique conexión del motor] ____________________________________________________ 14
Figura 3 Circuito equivalente de un motor de inducción [Fuente: IEEE power Enngineering Society.
IEEE Standat Test Procedure for Polyphase Inductions Motors and Generator 2004] ___________________ 14
Figura 4 Estator del motor trifásico tipo jaula de ardilla. [Fuente: A. Strasse, Maquinas Eléctricas
(online). Documento Técnico, Hps System Technik. Disponible en: www.hps-systemtechnik.com] ______ 16
Figura 5 Diseño Rodamiento [Fuente: V. Badiola, “Diseño de Maquinas I”. Ingeniería Mecánica
Aplicada y Computacional.Dpto. Ingeniería Mecánica, cap6.2004] ______________________________________ 17
Figura 6 Clasificación de Rodamientos [Fuente: V. Badiola, “Diseño de Maquinas I”. Ingeniería
Mecánica Aplicada y Computacional. Dpto. Ingeniería Mecánica, cap6.2004] __________________________ 17
Figura 7 Fases de Fallas en Rodamientos _________________________________________________________________ 23
Figura 8 Señal en dominio de tiempo y frecuencia [Fuente: A. Cuevas, “Sistema Para El Diagnostico
Incipiente De Fallas En Motores De Inducción”, Instituto politécnico nacional. México, 2008] ________ 25
Figura 9 Digitalización de una señal analógica [Fuente: J. E. Mejía, “Análisis de Vibraciones en
motores Eléctricos Asíncronos Trifásicos”, Universidad de San Carlos de Guatemala, 2009] __________ 25
Figura 10 Señales envolventes de típicas fallas de rodamientos [Fuente: R. B. Randall, J. Antoni,
“Rolling element bearing diagnostics” Article, Mechanical Systems and Signal Processing, 2010] _____ 29
Figura 11 Arquitectura general del sistema ________________________________________________________________ 34
Figura 12 Pistas PCB del sensor. (B) Sensor ______________________________________________________________ 35
Figura 13 Configuración de Pines amplificador TL072. Fuente> Datasheet TL 072 _____________________ 38
Figura 14 Esquemático módulo de adquisición de señales de vibración __________________________________ 38
Figura 15 (A)Diseño de circuito impreso módulo de adquisición de señales de vibración y conexión a
DAQ. (B) Circuito físico. ____________________________________________________________________________________ 39
Figura 16 Esquema circuito módulo de fuente de alimentación. __________________________________________ 41
Figura 17 Esquema circuito regulador de 3V ______________________________________________________________ 41
Figura 18 Circuito impreso módulo de fuente de alimentación. ___________________________________________ 42
Figura 19 Pines de conexión DAQ 6008 [Fuente: Manual DAQ] _________________________________________ 43
Figura 20 Diagrama de flujo de Labview __________________________________________________________________ 44
Figura 21 Interfaz de usuario Labview. ____________________________________________________________________ 44
Figura 22 Vista superior del acelerómetro con valores de voltaje de salida nominal en cero-g de los ejes.
[Fuente: Datasheet MMA7361] ____________________________________________________________________________ 45
5
Figura 23 Estrategia de codificación _______________________________________________________________________ 46
Figura 24 Diagrama de bloques LabView __________________________________________________________________ 46
Figura 25 Configuración de almacenamiento de las señales ______________________________________________ 47
Figura 26 Inicio de Sesión __________________________________________________________________________________ 47
Figura 27 Página de Inicio _________________________________________________________________________________ 48
Figura 28 Base de datos web _______________________________________________________________________________ 48
Figura 29 Diagrama de flujo de la interfaz de Matlab seccionamiento ___________________________________ 49
Figura 30 Interfaz de Matlab _______________________________________________________________________________ 50
Figura 31 Visualización datos en Excel ____________________________________________________________________ 50
Figura 32 Visualización Ejes (PUJ) ________________________________________________________________________ 50
Figura 33 Opciones de visualización _______________________________________________________________________ 51
Figura 34 Acceso a internet ________________________________________________________________________________ 51
Figura 35 Ejemplo de falla BPFI con la envolvente de Hilbert ____________________________________________ 51
Figura 36 Mapa de posición de los sensores [Fuente: Pagina de la Case Western Reserve
http://csegroups.case.edu/bearingdataccenter-website] ___________________________________________________ 52
Figura 37Análisis Carga 0 falla BPFI de 0,007’’ (Sensor eje) ____________________________________________ 53
Figura 38 Análisis carga 0 falla BPFI de 0,007’’(sensor en el ventilador) _______________________________ 53
Figura 39 Análisis Carga 2 falla BPFO de 0,028’’ (Sensor en el eje) ____________________________________ 54
Figura 40 Análisis Carga 3 falla BPFO de 0,007’’ (sensor eje) ___________________________________________ 54
Figura 41 Análisis Carga 0 falla BSF de 0,028’’ (sensor en el eje) _______________________________________ 55
Figura 42 Análisis Carga 3 falla BSF de 0,028’’ (sensor en el eje) _______________________________________ 55
Figura 43 Análisis Carga 2 falla BSF de 0,007’’ (sensor en el ventilador) _______________________________ 56
Figura 44 Análisis Hilbert y FFT para falla de pista externa _____________________________________________ 58
Figura 45 Instalación del Sensor en el motor ______________________________________________________________ 59
Figura 46 Rodamiento de Fabrica, sin carga, sensibilidad 6G. ___________________________________________ 60
Figura 47 Rodamiento de Fabrica, sin carga, sensibilidad 1,5G __________________________________________ 60
Figura 48 Rodamiento de Fabrica, Carga 50, Sensibilidad 6G. ___________________________________________ 61
Figura 49 Rodamiento de Fabrica, Carga 50, Sensibilidad 1,5G _________________________________________ 61
Figura 50 Rodamiento de Fabrica Carga 50, FFT y Hilbert de los 3 ejes ________________________________ 62
Figura 51 Rodamiento de Fabrica Carga 90, FFT y Hilbert de los 3 ejes ________________________________ 62
Figura 52 Rodamiento 1, sin carga, sensibilidad 6G ______________________________________________________ 63
Figura 53 Rodamiento 1, sin carga, sensibilidad 1,5G ____________________________________________________ 63
Figura 54 Rodamiento 1, carga 90, Sensibilidad 6G ______________________________________________________ 64
Figura 55 Rodamiento 1, carga 90, sensibilidad 1,5G _____________________________________________________ 64
Figura 56 Rodamiento 1 Carga 50, FFT y Hilbert de los 3 ejes ___________________________________________ 65
Figura 57 Rodamiento 1 Carga 90, FFT y Hilbert de los 3 ejes ___________________________________________ 65
Figura 58 Foto del rodamiento 2 ___________________________________________________________________________ 66
Figura 59 Rodamiento 2, sin carga, sensibilidad 6G ______________________________________________________ 66
Figura 60 Rodamiento 2, sin carga, sensibilidad 1,5G ____________________________________________________ 66
Figura 61 Rodamiento 2, sin carga, FFT y Hilbert de los 3 ejes __________________________________________ 67
Figura 62 Rodamiento 2, carga 50, sensibilidad 6G _______________________________________________________ 67
Figura 63 Rodamiento 2, carga 50, sensibilidad 1,5G _____________________________________________________ 68
Figura 64 Rodamiento 2, carga 90, FFT y Hilbert de los 3 ejes ___________________________________________ 68
Índice de Tablas
Tabla 1 Velocidades Sincrónicas de 60Hz [Fuente: Conceptos Básicos Sobre El Uso De Los Motores De
Inducción Trifásicos]. _______________________________________________________________________________________ 16
Tabla 2 Fallas eléctricas y mecánicas en motores trifásicos de inducción [Fuente: Manuel Vicente
Valencia. Detección de Fallas de Cortocircuito entre espiras del Bobinado Estatórico. 2012] __________ 18
Tabla 3 Causas y consecuencias de fallas en rodamientos _______________________________________________ 19
6
Tabla 4 Frecuencias de Fallas de Rodamientos ____________________________________________________________ 21
Tabla 5 Sistemas e indicadores para detección de fallas en rodamientos. ________________________________ 24
Tabla 6 Comparación de sensores __________________________________________________________________________ 30
Tabla 7Principales Normativas _____________________________________________________________________________ 31
Tabla 8 Características del motor de prueba ______________________________________________________________ 35
Tabla 9 Comparación de acelerómetros ____________________________________________________________________ 36
Tabla 10 Comparación de amplificadores _________________________________________________________________ 40
Tabla 11 Datos técnicos cable de instrumentación. ________________________________________________________ 42
Tabla 12 Fallas base de datos CWR para carga cero ______________________________________________________ 56
Tabla 13 Fallas base de datos CWR para carga 2 _________________________________________________________ 57
Tabla 14 Fallas base de datos CWR para carga 3 _________________________________________________________ 57
Tabla 15 Porcentajes para la base de datos CWR _________________________________________________________ 58
7
RESUMEN
Los motores eléctricos son una parte fundamental del proceso de producción industrial
y su indisponibilidad tiene un gran impacto en los resultados de las compañías. El
porcentaje de falla más alto en los motores se presenta por fallas en los rodamientos y
por esta razón las empresas realizan inversiones cuantiosas en equipos de diagnóstico
y capacitación del recurso humano para diagnosticar y/o identificar dichas fallas y evitar
paradas de emergencia que afecten la producción. En los motores eléctricos la forma
más usada en la industria para detectar e identificar las fallas de rodamiento es por
medio del análisis de vibraciones.
8
SUMMARY
Electric motors are a fundamental part of the industrial production process and their
unavailability has a great impact on the companies' results. The highest failure rate in
motors is due to faults in bearings and for this reason companies make substantial
investments in diagnostic and human resource training equipment to diagnose and / or
identify such failures and avoid emergency stops that affect the production. In electric
motors the most widely used way in the industry to detect and identify bearing failures
is by means of vibration analysis.
Any fault bearing generates characteristic frequency components that vary according to
the location of the fault. The Fourier transform and the Hilbert transform are two
techniques used for the detection of those fault frequency components, the latter
technique being the more complex of the two.
This work includes the design and implementation of a data acquisition stage, which
consists of an accelerometer positioned in the housing (near the axis) of a three-phase
squirrel-cage motor and a coupling circuit whose function is to protect The
communication device (sensor-computer). The voltage signals provided by the sensor
are stored in a web database accessible to the user.
The obtained information is analyzed using the techniques of the Fourier transform and
Hilbert, with the aim of counteracting these methods by means of the data obtained. The
equipment that was taken like pilot to identify failures in bearings by means of the
analysis of vibrations was the squirrel cage three phase siemens motor of the University
Javeriana Cali.
9
CAPITULO 1. ASPECTOS GENERALES
¿Cuáles son las diferencias posibles entre los resultados obtenidos por distintas técnicas
de análisis de señales para el diagnóstico de fallas de rodamientos en máquinas
eléctricas a través de vibraciones?
10
1.3 Objetivos
11
1.4 Justificación
Los motores de inducción son responsables en los países industrializados del 40% al
50% del consumo total de energía, siendo entonces estos los pilares del sistema
productivo. Estudios recientes indican que el 90% de los fallos en máquinas ocurren a
raíz del funcionamiento anormal de los componentes internos. Existen diversas técnicas
para detectar fallas en los motores de inducción. Estas van desde análisis de vibración y
temperatura hasta inyección de corriente o MCSA. [2].
Las estadísticas de los principales fabricantes de rodamientos indican que cerca del 16%
de los rodamientos fallan por almacenamiento, transporte o instalación inadecuada. El
84% restante son instalados libres de defectos. [3] El 36% de las fallas en rodamientos
son el resultado de una lubricación inadecuada, pobre o excesiva, mezcla de lubricantes
o generación de una película límite de lubricante delgado, a menudo generado por una
excesiva vibración en el eje. El 34% fallan por problemas mecánicos debidos a
desbalance, excentricidad entre eje, desalineación de poleas, vibraciones por desajuste
en la base o por no reemplazar a término fijo los rodamientos sellados.
1.5 Alcance
El proyecto incluye una interfaz de detección de fallas en rodamientos de motores de
inducción por medio del análisis de vibraciones, donde se contrastará la técnica de
análisis espectral, utilizando la trasformada de Fourier y el análisis envolvente
(demodulación) con la aplicación de transformada de Hilbert.
12
CAPITULO 2. MARCO TEÓRICO
2.1 Máquinas Eléctricas
Las máquinas eléctricas son todos aquellos mecanismos capaces de generar aprovechar
o transformar la energía eléctrica [5]. Una posible clasificación de los motores eléctricos
se puede realizar dependiendo del tipo de corriente que utiliza, ya sea corriente directa o
alterna. La figura1 Describe la clasificación de los motores de corriente alterna.
!"#$ !"#$%&"
!"#$" !"#$%#&'$"(
!"#$%& !" !"#$%&
!"#$%%&ó!
!"#$%&'ó!
!"#"$á!"#$! !"#"$ !"#$%$!& !"#$%&!ó! !" !""!#$%&
!"#$%&'ó! !"#$%%!ó!
!"#$%&%#"#
!"#$%&#& !"#$%&'(%)'
!"á! !"#$%!%&!
!"#$"
!"#$%%&ó!
Polifásicos !"#"$ !"#$%$!&
!"#$%&#&
Figura 1 Clasificación motores eléctricos de corriente alterna [Fuente: S. J. Chapman, “Maquinas Eléctricas
Rotativas”, Maquinas Eléctricas, McGraw- Hill, Ed. 2004, pp. 241-281]
Las barras del devanado van conectadas a unos anillos conductores denominados anillos
extremos. El bobinado así dispuesto tiene forma de jaula de ardilla [6]. (Ver figura 2)
13
Figura 2 Partes de un motor de inducción de corriente alterna tipo jaula de ardilla [Fuente: Telesquemario de
Telemecanique conexión del motor]
Figura 3 Circuito equivalente de un motor de inducción [Fuente: IEEE power Enngineering Society. IEEE
Standat Test Procedure for Polyphase Inductions Motors and Generator 2004]
14
Ecuaciones electromagnéticas del motor de inducción trifásico:
El motor de inducción trifásico está conectado a una fuente de suministro trifásica de
corriente alterna, donde cada fase presenta un desfase de 2pi/3 una de la otra. Las
corrientes de las tres fases están definidas por [8]:
!! !!
!! = !! cos !" − ∅ ; !! = !! cos !" − ∅ + !
; !! = !! cos !" − ∅ + !
(1)
La fase de los voltajes también está desfasada por 120, e. Rad. Tomando el voltaje de
fase, Va como referencia, los tres voltajes de fase están definidos como:
2! 4!
!! = !! cos !" ; !! = !! cos !" − ; !! = !! cos !" − (2)
3 3
En donde Va, Vb y Vc son los voltajes de la fase A, B y C respectivamente. Vm es el
pico fundamental de voltaje. La sumatoria de todos los voltajes es igual a cero.
La reactancia del rotor de la maquina se representa mediante la fórmula:
!
!! = .! (3)
!! !!
La resistencia del rotor de la maquina se presenta mediante la siguiente formula:
! !
!! !! !!
!!! = !
−!!! . 1 + − . !!! ! !"! (4)
!" !! !! !!
La resistencia del estator !!! es igual a un medio de la resistencia media línea a línea de
las resistencias del devanado.
15
Figura 4 Estator del motor trifásico tipo jaula de ardilla. [Fuente: A. Strasse, Maquinas Eléctricas (online).
Documento Técnico, Hps System Technik. Disponible en: www.hps-systemtechnik.com]
El bobinado del estator está formado por tres bobinados individuales que se superponen
y están decalados con un ángulo eléctrico de 120°. Cuando se conecta a la alimentación,
la corriente de entrada primero magnetiza el estator. Esta corriente de magnetización
genera un campo rotativo que gira con la velocidad de sincronismo ns. [12].
!
!é!"#$%&% !" !"#$%&#"!'&! !! = 60 (5)
!
ns = velocidad de sincronismo/minuto.
f= frecuencia de la red s-1.
p= número de pares de polos.
Tabla 1 Velocidades Sincrónicas de 60Hz [Fuente: Conceptos Básicos Sobre El Uso De Los Motores De
Inducción Trifásicos].
Pares de polos
2p 2 4 6 8 10 12 16 24 32 48
ns en rpm 3600 1800 1200 900 720 600 450 300 226 150
2.4.2 Rotor
El rotor está compuesto por un núcleo laminado con ranuras. En estas ranuras se
introducen unas barras conductoras de aluminio o cobre, o se inyectan unas barras de
aluminio moldeadas a presión, que están conectadas entre sí mediante anillos de
cortocircuito en los lados frontales. Las barras y los anillos de cortocircuito forman una
jaula y constituyen el devanado o bobinado del rotor. La disposición inclinada de las
barras consigue un funcionamiento uniforme [9].
2.4.3 Rodamientos
Los rodamientos aseguran un enlace móvil entre dos elementos de un mecanismo, uno
que se encuentra en rotación con respecto a otro; siendo su función principal el de
permitir la rotación relativa de dichos elementos bajo carga, con precisión y con un
rozamiento mínimo [10].
16
necesaria la utilización de técnicas modernas de mantenimiento predictivo (algunas
basadas en el análisis de vibraciones) que contribuyan a un mejor reconocimiento de su
estado y, por lo tanto, de la disponibilidad de las máquinas rotativas en las que están
instalados.
Figura 5 Diseño Rodamiento [Fuente: V. Badiola, “Diseño de Maquinas I”. Ingeniería Mecánica Aplicada y
Computacional.Dpto. Ingeniería Mecánica, cap6.2004]
Figura 6 Clasificación de Rodamientos [Fuente: V. Badiola, “Diseño de Maquinas I”. Ingeniería Mecánica
Aplicada y Computacional. Dpto. Ingeniería Mecánica, cap6.2004]
17
2.5 Fallas En Motores De Inducción
En general, las fallas en motores pueden derivarse de diferentes factores, los cuales se
pueden clasificar de la siguiente manera:
Tabla 2 Fallas eléctricas y mecánicas en motores trifásicos de inducción [Fuente: Manuel Vicente Valencia.
Detección de Fallas de Cortocircuito entre espiras del Bobinado Estatórico. 2012]
Causa Efecto
Fallas de aislamiento, Calentamiento, Desbalance
Transitorios en la fuente de magnético, vibraciones, aumento
Corto entre espiras del suministros, Humedad, de las pérdidas, disminución de
Contaminación por aceite la eficiencia
Fallas en Motores de Inducción tipo Jaula de Ardilla
estator
Fallas Eléctricas
18
Tabla 3 Causas y consecuencias de fallas en rodamientos
Falla Causas Consecuencias Imagen
Carga de servicio superior a la esperada o fuerza de montaje elevada.
Montaje inadecuado que distorsione las pistas o genere desalineación. Desarrolla un agrietamiento en las
Fatiga Gradientes de temperatura que generen esfuerzos térmicos elevados. superficies con posterior pérdida de
superficial Consecuencia de la indotación, corrosión, descarga eléctrica o ludimiento. material: poco profundo (micro-
picado) o profundas (macro-picado)
Lubricante o lubricación inadecuada
Problemas en el aislamiento eléctrico, contaminación del lubricante con líquidos o partículas El paso de corriente AC o DC a
conductoras o ausencia de polo a tierra en maquinaria que lo requiera. través del rodamiento genera arcos
Descarga eléctricos entre los elementos
eléctrica No usar rodamientos con aislamiento eléctrico cuando la aplicación lo requiere. rodantes, las pistas y las jaulas,
Proceso de reparación inadecuado por soldadura de una máquina, que haga circular la corriente a erosionando las superficies debido a
fusión a pequeña escala.
través de los rodamientos (inapropiada ubicación de la pinza o masa).
Contaminación del lubricante con partículas abrasivas provenientes del medio.
se presenta con la generación de un
Contaminación del lubricante con partículas metálicas provenientes de una zona desgastada. rayado abrasivo sobre las superficies
Desgaste
de rodadura y también sobre las
abrasivo Problemas en sellos y/o filtrado del sistema de lubricación.
jaulas, indicando que se está
Montaje y/o mantenimiento inapropiado que permite el acceso de partículas al lubricante perdiendo material por abrasión
Lubricante inapropiado por baja viscosidad y/o bajo índice de viscosidad y/o falta de aditivos de
extrema presión y/o temperatura de operación alta. Se presenta con la pérdida de
material por contacto metal - metal
Desgaste Lubricación inapropiada por bajo caudal y/o baja presión. entre las partes en rodamiento
adhesivo incluyendo las jaulas, producto de la
Degradación del lubricante por sobre-temperatura y/o contaminación con otros fluidos.
pérdida parcial o total de la película
lubricante.
Sobre-velocidad y/o sobre-temperatura de operación.
Contaminación del lubricante con agua, otros lubricantes o fluidos de la máquina. Se genera ataque corrosivo sobre las
Corrosión
Degradación del lubricante por tiempo o por sobre-temperatura. superficies de rodadura o las jaulas,
19
Mala selección del lubricante por ausencia o deficiencia de aditivos antioxidantes y anti-herrumbre. por la acción del lubricante o de otro
fluido que entra en contacto con el
Problemas en sellos del sistema de lubricación. rodamiento, generándose daño
superficial y depósitos.
Mal almacenamiento o manipulación.
Contaminación del lubricante con partículas abrasivas provenientes del medio. Es la generación de cráteres o
hendiduras sobre las superficies de
Contaminación del lubricante con partículas metálicas provenientes de una zona desgastada. rodadura, producto de la
deformación plástica derivada de
Problemas en sellos y/o filtrado del sistema de lubricación. fuerzas de contacto excesivas entre
Indentación
los elementos del rodamiento
Sobrecarga sobre el rodamiento especialmente por impactos durante operación o un mal montaje.
(macro-indentación) y/o por
presencia de partículas
contaminantes entre ellos (micro-
Fuerza de apriete (montaje) elevada indentación).
Montaje incorrecto con impactos o excesiva fuerza de apriete.
Mala lubricación, carga excesiva o desgaste adhesivo. Las pistas o las jaulas presentan
Excesiva velocidad y/o alta vibración (crítico para las jaulas). agrietamiento o fractura en montaje
Fractura
o servicio, llevando algunas veces a
Desalineación, lubricante contaminado con partículas, consecuencia de picaduras e indentación, giro destrucción total del rodamiento
por ajuste muy holgado o mecanizado irregular de eje o alojamientos.
Selección de ajuste muy holgado. Se presentan depósitos oscuros en
las superficies de apoyo con el eje o
Mecanizado irregular de eje o alojamiento, que no genera presión uniforme.
su alojamiento, indicando que en
Ludimiento Carga elevada o alto estado vibratorio de la máquina. servicio se dieron pequeños
movimientos oscilantes entre las
Deflexiones excesivas de eje o alojamientos en servicio.
partes (desgaste y/o oxidación).
20
2.5.2 Componentes Y Frecuencias De Deterioro De Un Rodamiento
Cada rodamiento tiene unas características geométricas propias a partir de las cuales
podemos determinar sus frecuencias de deterioro. Para la mayoría de los rodamientos
estas frecuencias de deterioro no serán números enteros, por lo que la vibración
dominante, cuando exista un defecto de alguno de los componentes del rodamiento, será
no síncrona (no coincidente con armónicos de la frecuencia de giro). Cuando alguno de
los componentes del rodamiento está dañado se distingue en el espectro de frecuencias,
la frecuencia fundamental correspondiente al elemento dañado, acompañada siempre de
armónicos. La tabla 4 muestra las frecuencias de falla teniendo en cuenta la ubicación
de la falla, la fórmula analítica y la fórmula experimental. [11]
Va acompañado
Frecuencia por defectos en
fundamenta pistas y suelen
l de tren o !! !! cos ! modular a estas
de !! = 1− 0,4xRPM frecuencias como
deterioro 2 !! sumas y/o
de la jaula diferencias de
(FTF) frecuencias.
Calculo de la frecuencia de falla teniendo en cuenta las características físicas del rodamiento, dado por el fabricante.
N: es el número de bolas del rodamiento y fr es la frecuencia de rotación del rotor en RPS. Fórmulas experimentales
aproximadas para determinar las frecuencias de falla sin tener parámetros físicos del fabricante. Se tiene en cuenta la
velocidad de giro (RPM) y el número de bolas(N).
21
Las frecuencias de deterioro de los rodamientos, según las fórmulas matemáticas
expresadas anteriormente, dependen del ángulo de contacto, de ahí que cualquier
pequeña variación de éste se traducirá en una variación de las frecuencias ideales de
deterioro del rodamiento, dificultando la identificación de dichas frecuencias en el
espectro. Las causas que pueden producir variaciones del ángulo de contacto pueden ser
muy diversas: desalineaciones, dilataciones térmicas, aprietes excesivos, picaduras en
las pistas, etc. Todo esto influirá en que las frecuencias pre-calculadas de antemano
(ideales) no coincidan exactamente con las frecuencias que aparecen en el espectro
(frecuencias reales), por lo que en muchos casos hay que permitir cierto error a la hora
de identificar las frecuencias de defecto.
2.5.3 Predicción Del Grado De Severidad Del Deterioro De Los Rodamientos
22
se predice una duración de tres semanas será una excelente oportunidad para comparar
el fallo con los datos de vibración obtenidos. Si el defecto es muy grave, la próxima vez
que los niveles alcancen los obtenidos en la última lectura sabremos que el daño es muy
severo. Si, por otro lado, se cambia un rodamiento y presenta un desconchado regular
sabremos que si en el futuro el rodamiento presenta las mismas características todavía
podrá seguir trabajando durante más tiempo. Aunque las máquinas no sean idénticas, es
posible extrapolar los resultados de rodamientos similares, teniendo en cuenta algunas
pequeñas diferencias de comportamiento. [11]
2.5.4 Fases De Deterioro De Rodamientos
Figura 7 Fases de Fallas en Rodamientos
23
Tabla 5 Sistemas e indicadores para detección de fallas en rodamientos.
Desgaste
Vibración,
excesivo, partes Armónicos de
excentricidad Vibraciones
sueltas o rotas, corriente,
dinámica, ruido RMS,
Indicadores baja lubricación potencia,
audible, presencia excentricidad y
presencia de vibraciones,
de limaduras ruido audible
limaduras de velocidad y par
metálicas.
metal
24
Figura 8 Señal en dominio de tiempo y frecuencia [Fuente: A. Cuevas, “Sistema Para El Diagnostico Incipiente
De Fallas En Motores De Inducción”, Instituto politécnico nacional. México, 2008]
Figura 9 Digitalización de una señal analógica [Fuente: J. E. Mejía, “Análisis de Vibraciones en motores
Eléctricos Asíncronos Trifásicos”, Universidad de San Carlos de Guatemala, 2009]
La trasformada rápida de Fourier (FFT por sus siglas en inglés) es un algoritmo para
evaluar de forma rápida la transformada de Fourier discreta y su inversa. Su rapidez en
el cálculo es lo que lo hace muy importante en el análisis de señales. [18]
Son Cooley y Tuckey que fueron acreditados con el descubrimiento de la FFT en 1967,
pero ya existía desde antes, aunque sin las computadoras que se necesitaban para
explotarla. El algoritmo pone algunas limitaciones en la señal y en el espectro
resultante. Por ejemplo: la señal de la que se tomaron muestras y que se va a
transformar debe consistir de un número de muestras igual a un poder de dos. La
mayoría de los analizadores FFT permiten la transformación de 512, 1024, 2048 o 4096
muestras. El rango de frecuencias cubierto por el análisis FFT depende de la cantidad de
muestras recogidas y de la proporción de muestreo. Sean x0, ..., xn-1 números
complejos. La transformada discreta de Fourier (DFT, por sus siglas en inglés) se define
como:
25
!!!
!!"
!! = !! ! ! ! !" ! = 0, … , ! − 1 (6)
!!!
!!! !!!
1 1 !" 1 !" !
! ! = ! 2! !! + !(2! + 1)!! !!! (8)
2 ! !
!!! !!!
26
La FFT es un algoritmo eficiente para computar la transformada Discreta de Fourier y
su inversa. Puede detectar el lugar de la falla, es una de las técnicas más usadas para el
diagnóstico de fallas en maquinarias. No hay dependencia con tiempo y esta técnica
presume que la señal inicial es estacionaria. Esta técnica no detecta daños incipientes en
los rodamientos. [18].
2.5.6.2 Análisis De Demodulaciones
El análisis de demodulaciones en amplitud consiste en analizar la envolvente de la señal
temporal de una señal modulada. Este análisis permite determinar más fácilmente la
periodicidad de las modulaciones y detectar problemas tales como [14]:
• Rodamientos picados.
• Engranajes excéntricos o con dientes agrietados.
• Deterioro de álabes en turbinas.
• Problemas eléctricos en motores.
El tren de pulsos, que ocasiona el impacto del elemento rodante sobre la pista
defectuosa, puede verse como una señal portadora (dada a altas frecuencias debido a la
resonancia de la carcasa del rodamiento) modulada en amplitud por la envolvente. Esta
envolvente corresponde a la atenuación de la respuesta al impulso producto del
amortiguamiento del conjunto [20]. La frecuencia de interés en la detección de los
defectos de rodamientos es la frecuencia de modulación, la cual corresponde a los
valores de BPFO y BPFI.
27
cuenta la parte real e imaginaria. La transformada de Hilbert de una señal genera una
nueva en el mismo domino que de la procedente original. Por ende, la transformada de
Hilbert de una señal en el tiempo es una señal de tiempo nueva.
La transformada de Hilbert, !(t), de una señal x(t), dado que esta señal exista para −∞ ≤
t ≤ ∞, es una nueva señal dada por:
!
!(!) 1
! ! = !" = x t ∗ (12)
!! !(! − !) !"
28
donde la hemos denotado la transformada de Hilbert por ℋ[22]
Envolvente Por La Transformada De Hilbert
Figura 10 Señales envolventes de típicas fallas de rodamientos [Fuente: R. B. Randall, J. Antoni, “Rolling
element bearing diagnostics” Article, Mechanical Systems and Signal Processing, 2010]
Para usar la transformada de Hilbert para calcular envolventes la variable compleja z(t),
llamada señal analítica en relación a x(t) como se define en la siguiente ecuación:
! ! = ! ! + !! ! (18)
! ! = −! ∙ !"# ! ∙ ! ! (20)
−1 !" ! < 0
!"# ! = (21)
+1 !" ! ≥ 0
2.6 Sensores
El análisis de vibraciones como técnica de diagnóstico de fallas presenta ventaja
respecto a otras técnicas aplicadas a equipos rotatorios como tintas penetrantes,
29
radiografía, ultrasonido, etc., en que la evaluación se realiza con la máquina
funcionando, esto evita las pérdidas que puede generar la detención de una máquina
[14].
Existe gran variedad de transductores, éstas se pueden ser analógicos, digitales y todo o
nada según la señal de salida. Los utilizados para el análisis de vibraciones son los
analógicos, que dan como salida una señal normalizada de tensión de 0 a 10 Volts o de
corriente de 4-20 mA [18].
Los transductores deben ser precisos a la hora de tomar las lecturas de amplitud,
ofreciendo repetitividad (dos señales de la misma amplitud tendrán que generar en el
transductor la misma salida de tensión) [Anexo 1]. También deben ser muy precisos en
la información de frecuencias de la señal mecánica. Esto es fundamental pues, en
muchos defectos mecánicos, la relación entre sus frecuencias y la frecuencia del eje de
giro que se toma como referencia, proporciona al analista la información precisa para
determinar la naturaleza del defecto mecánico que genera la vibración [11]. Los
sensores que permiten hacer esta medición son: sensor de desplazamiento, sensor de
velocidad y sensor de aceleración.
30
Sólo requiere una simple diferenciación o La calibración puede
integración para convertir la señal a otras unidades perderse por el
de amplitud. desgaste y la
Relación de señal muy buena. temperatura
Amplio rango de frecuencia, normalmente entre 2 Necesitan fuente de
Hz y 15.000 Hz alimentación externa.
Ligeros y de tamaño reducido, necesitando La salida de amplitud
pequeñas bases magnéticas. viene dada en unidades
de aceleración. Esta
Aceleración salida debe ser
integrada para obtener
la representación
Se montan fácilmente con adhesivos o atornillados
espectral o el valor
global de amplitud de
velocidad.
2.7 Normativas
En todos los países del entorno europeo y en la mayor parte de países desarrollados
existen normativas específicas que regulan las vibraciones mecánicas de la maquinaria
industrial, proponiendo criterios de limitación de las mismas, delimitando los
instrumentos y puntos de medida, división en grupos de máquinas, etc. Estas normas se
refieren a las características de los analizadores de vibraciones y sensores. Engloban
aspectos muy diversos como calibración, pruebas de seguridad, agitación y de
temperatura.
Existen diferentes normativas para definir la severidad de una vibración, con respecto al
daño específico que ella puede causar. Por ejemplo, un nivel de vibración puede ser
muy bajo para un tipo máquina, pero puede ser inaceptable para el operario que la
maneja. En la tabla 7 se describen las normas que se tienen en cuenta para el desarrollo
de este trabajo, la profundización de dichas normas se encuentra en los anexos. [11]
Tabla 7Principales Normativas
31
ISO 7919 1996 Vibración mecánica de máquinas no alternativas – Medidas en ejes
rotativos y evaluación.
VDI 2056 1964 Evolución de vibraciones mecánicas de maquinaria rotativa.
Reemplazada por la ISO 10816.
Vibración mecánica. Evaluación de la vibración en una máquina
ANSI 2526 2003
mediante medidas en partes no rotativas. Este estándar en idéntico y
ha sido reproducido a partir de la ISO 10816-1.
Vibraciones mecánicas de determinadas máquinas con altura de eje
IEC 34-14 1996
igual o superior a 56mm. Medición, evaluación y límites de la
intensidad de vibración.
BSI 7853 1996 Vibración mecánica. Evaluación de medición de una máquina
mediante medidas en partes no rotativas. Basada en la ISO 10816-1.
API 670 1993 Monitorización en tiempo real y la protección de maquinaria crítica.
Las normas de instrumentación y sistemas de medida engloban aspectos muy diversos
como calibración, pruebas de seguridad, agitación y de temperatura, etc. Asimismo, hay
que cuidar el aspecto de los sensores, particularmente si se piensa utilizar el aparato en
zonas de fábrica potencialmente explosivas (es decir, en este caso, tanto el aparato como
el sensor han de ser intrínsecamente seguros). Algunas de las normas más habituales
que suelen cumplir los aparatos y sensores de medida pueden ser: IEC, MIL y
CISPR.[11]
32
En el 2010, H. O. Carvajal y I. F. Estupiñán presentaron un trabajo de grado para en la
detección de fallas en un motor de inducción usando análisis de vibraciones en
distintos escenarios de carga, donde por medio de la detección de armónicos
fundamentales y el análisis del espectro de frecuencia detectaron de manera exitosa
cada una de las fallas inducidas [25].
En el 2009, el articulo por W. Zhaoxia et. al. [27] realiza un análisis de vibración por
medio de la transformada Wavelet que se basa en las señales estacionarias y no-
estacionarias proporcionando un análisis de resolución múltiple (en tiempo y
frecuencia), a diferentes escalas y resoluciones, siendo especialmente útil para la
diagnosis de defectos.
Por último, en agosto del 2003, I. Jaksch con su artículo Faults diagnosis of three -
phase induction motors using envelope analysis [29] concluyo que el análisis de
envolvente por medio de la transformada de Hilbert es una buena herramienta para el
análisis de fallas en motores de inducción. La técnica de envolvente por medio de la
transformada de Park es importante para la detección de fallas en el estator.
33
CAPITULO 3. DISEÑO
Este capítulo corresponde al diseño del sistema de adquisición de datos de vibración y
detección de fallas de rodamientos de motores de inducción. A continuación, se
mostrará las etapas de selección de componentes, diseño del circuito impreso,
descripción de la base de datos y de la interfaz de usuario.
3.2.1 Motor
El motor utilizado para realizar las pruebas del sistema es un motor de inducción tipo
jaula de ardilla, las principales características se observan en la tabla 8.
34
Tabla 8 Características del motor de prueba
3.2.2 Sensor
Una vez comparados los tipos de sensores que permiten medir vibraciones y con base
en los criterios descritos anteriormente se seleccionó el acelerómetro como instrumento
de medición.
(A) (B)
Figura 12 Pistas PCB del sensor. (B) Sensor
35
Tabla 9 Comparación de acelerómetros
Voltaje Corriente Temperatura Densidad de
Ejes Sensibilidad típica [mV/g] Precio
[V] [mA] [°C] Ancho de Tipo de Error de ruido
Referencia Rango (COL
banda salida linealidad [μg√Hz
Pesos)
Min Máx. Típico Máx. Min Máx. Min Típica Máx. rms]
55100
1,6KHz
150 X Y (Sin
ADXL335 1,8 3,6 0,35 --- XYZ ±3 -40 85 XY 270 300 330 Análoga 0.3%
300Z incluir
550 Z
envío)
66700
3,5 [Depende 34,5
±2 ±4 (Sin
ADXL345 2 3,6 0,03 0,14 -40 80 3,2k [mg/LS del rango de [mg/LS Digital No lineal
±8 ±16 incluir
B] medición] B]
envío)
MMA6231Q 2,7 3,6 1,2 1,5 XY ±10 -20 85 300Hz 111 120 129 Análoga 1% 50 ---
350 Hz
±1,5
XY
MMA7260QT 2,2 3,6 0,5 0,8 XYZ ±2 ±4 -40 105 185 800 860 Análoga 1% 350 46500
150Hz
±6
Z
400Hz
MMA7341 2,2 3,6 0,4 0,6 XYZ ±3 ±9 -40 85 XY 106 117,8 129,6 Análoga 1% 350 34800
300Hz Z
400Hz
±1,5
MMA7361 2,2 3,6 0,4 0,6 XYZ -40 125 XY 185 800 860 Análogo 1% 350 34800
±6
300Hz Z
1 [Depende 12
LSM303 ±2 ±4
2,16 3,6 0,11 XYZ -40 85 [mg/LS del rango de [mg/LS Digital 220 58000
DLHC ±8 ±16
B] medición] B]
36
Comparando las características de las diferentes referencias tabla 9, observamos que los
sensores en general funcionan con un rango de tensión similar. En cuanto a la corriente
el sensor MMA7361 no tiene el requerimiento más bajo, pero no supera 1 mA lo cual es
conveniente para nuestra aplicación.
Este sensor ofrece la posibilidad de variación del rango, con lo cual es posible, además,
cambiar la sensibilidad del mismo de 800 a 206 Mb/g [Datasheet: MMA7361]
ANEXO3. Para realizar la selección de sensibilidad de acuerdo a la tabla 3 de la hoja de
especificaciones, los pines deben polarizarse, bien sea con una señal de control de un
dispositivo externo o haciendo uso del Pin de salida de 3,3V del acelerómetro, como se
mencionó en la descripción del circuito de la PCB de la figura12.
Como el circuito no tiene una demanda alta de corriente, no sería necesario el uso del
circuito par Darlington. Dado que tanto el circuito seguidor con amplificador como el
transistor son opciones óptimas para los requerimientos del circuito se prosigue con la
implementación de un circuito seguidor con amplificador para la etapa de
acondicionamiento de la señal.
37
Figura 13 Configuración de Pines amplificador TL072. Fuente> Datasheet TL 072
Una vez obtenida la señal del sensor, la señal se conecta a una segunda PCB, donde las
señales de voltaje de los tres ejes se conectan, cada uno a la entrada de un amplificador
configurado como seguidor. Dado que el TL072 tiene dos amplificadores integrados se
hace uso únicamente de dos integrados como se observa en la figura 14.
Figura 14 Esquemático módulo de adquisición de señales de vibración
38
tercero pines corresponden a la fuente dual de polarización de los amplificadores V-, V+
y tierra, respectivamente. Los pines cuarto y quinto a la alimentación del sensor, tierra y
Vin respectivamente.
(A) (B)
Figura 15 (A)Diseño de circuito impreso módulo de adquisición de señales de vibración y conexión a DAQ. (B)
Circuito físico.
En el caso del amplificador para el circuito de protección la polarización del mismo está
en un rango de ±18Vdc. El voltaje de entrada de se encuentra en un rango de ±30Vdc.
39
Tabla 10 Comparación de amplificadores
Rechazo
Voltaje
en Ancho
Voltaje de Corriente [mA] Impedancia offset
Ib modo tr SR de
Referencia polarización de entrada de Aplicación Disponibilidad Precio
[nA] común [μs] [V/μs] Banda
[V] [Ω] entrada
CMRR [MHz]
[mV]
Típica Máxima [dB]
LM 741 ± 22 1.7 2.8 2*10^6 5 95 0.3 0.5 Propósito general Cali 1000
LM 358 ± 16 1 2 1*10^6 5 -200 80 0.7 Propósito general Cali 1200
LM324 30 1,4 3 9 -200 80 0,5 1,2 Propósito general Cali 1300
UPS, inversor
TL 072 ± 18 1,4 2,5 1*10^12 9 20 86 0,1 13 3 AC , variadores Cali 1500
de frecuencia
Amplificador
LM310 ± 18 3,9 5,5 1*10^12 7,5 10 80 30 20 No disponible
seguidor, Buffer
Amplificador
LM110 ± 18 3,9 5,5 1*10^12 4 10 80 30 20 No disponible
seguidor
Amplificador
MSK0033 ± 18 ± 19 ± 25 1*10^12 2 2 75 0,03 1500 140 No disponible
seguidor
Amplificador
NTE924 ± 18 0,01 1*10^12 10 7 80 30 20 No disponible
seguidor
40
3.2.4.1 Diseño Impreso De La Fuente De Alimentación
El circuito de alimentación consta de una fuente dual con tensión de ±9V. Adicional a
esto se implementó en el circuito un regulador de 5Vdc con el fin de proporcionar el
nivel de tensión adecuado al sensor. (Ver figura 16).
Para la fuente Dual se compararon diferentes referencias de baterías alcalinas, las cuales
en su mayoría solo tienen una tensión de 1,5 Vdc lo que implica mayor espacio para
conectar el número de pilas necesaria para alcanzar el valor de tensión requerido.
41
Figura 18 Circuito impreso módulo de fuente de alimentación.
3.2.5 Conectores
Para realizar la conexión del sistema se requiere un conector que garanticen la conexión
constante en la placa del sensor, para esto se utilizan conectores molex de 6 y 4 pines.
3.2.6 Cableado
Para las conexiones se utiliza cable de instrumentación con pantalla en malla o trenza de
hilo fino/multifilar (0,34 mm²) de hilos de cobre desnudo, con aislamiento de conductor
realizado con PVC, pantalla de trenza de cobre estañado, cubierta exterior de PVC de
color gris piedra (RAL 7032) en la cubierta exterior [31]. La tabla 11 muestra los datos
técnicos del cable de instrumentación utilizado en la implementación.
42
Formación del conductor: Trenzado, hilo fino 0,34 mm²: 7 hilos
Radio de curvatura mínimo: Uso flexible ocasional: 15 x diámetro exterior
Instalación fija: 6 x diámetro exterior
Tensión de prueba: Sección de 0,14 mm²: 1.200 V
Rango de temperaturas: Uso flexible ocasional: de -5 °C a +70 °C
Instalación fija: de -40 °C a +80 °C
Figura 19 Pines de conexión DAQ 6008 [Fuente: Manual DAQ]
43
Figura 20 Diagrama de flujo de Labview
La interfaz de usuario (Figura 21) que se crea tiene seis (6) controles numéricos,
correspondiente a los valores de la salida de tensión nominal a cero g de aceleración de
cada eje, la frecuencia de muestreo (Rate), número de muestras (Sample) y la
sensibilidad.
Los valores la salida de tensión nominal a cero g de aceleración de los ejes se determina
de acuerdo a la posición del sensor, para la orientación definida para las pruebas la
salida de tensión nominal a cero g de aceleración en los ejes X y Z es de 1,65V mientras
que para el eje Y es de 0,85V. (Ver Figura 22).
44
Figura 22 Vista superior del acelerómetro con valores de voltaje de salida nominal en cero-g de los ejes.
[Fuente: Datasheet MMA7361]
Se observa un indicador gráfico de forma de onda, con el fin mostrar los valores de
aceleración en términos de voltaje y g’s de los tres ejes. Para esto la interfaz permite
seleccionar el tipo de señal que se desea ver, ya sea aceleración en términos de voltaje o
aceleración en términos de g’s. También permite seleccionar el eje y/o ejes que se
desean ver, el color en el cual se desea ver cada señal.
La frecuencia de muestreo está limitada por las características del conversor análogo
digital de la DAQ (10kHz) y la cantidad de entradas análogas que se utilizan. Las
pruebas se realizan variando la frecuencia de muestreo de 1kHz a 3kHz en saltos de
1kHz. Mientras que el número de muestras se establece de 10k muestras/s en todas las
pruebas.
45
Entrada de valores de Conversión de Visualización y
voltajes del Voltaje a almacenamiento de la
acelerometro aceleración señal
Figura 23 Estrategia de codificación
La señal de entrada incluye los tres ejes, por lo cual se hace uso de un divisor de señal
con el fin de operar las señales por separado. Una vez se obtienen las tres señales
por separado, se resta el voltaje nominal de cero g de cada eje y se divide por la
sensibilidad. La sensibilidad es solo un valor numérico, no señal de control, la variación
de este parámetro se hace con la conexión de los puertos de control g1 y g2. De esta
manera se expresan los valores de tensión provenientes del sensor en g-s. Estos valores
se guardan en un archivo de EXCEL, el cual será utilizado en etapas posteriores. Estos
pasos se describen en el diagrama de la Figura 24.
Para el almacenamiento de los datos se utiliza un archivo para almacenar los valores en
términos de voltaje y otros en términos de g’s. Para ello se utiliza la herramienta “Write
to measurement” de Labview, donde en su configuración se selecciona: la carpeta de
destino, Microsoft EXCEL como formato del archivo, la opción “guardar en un
archivo” y una columna por canal para obtener los vectores de tiempo. (Ver Figura 25)
46
Figura 25 Configuración de almacenamiento de las señales
Para crear la base de datos se empleó una interfaz web, donde no solo se almacenan los
datos de vibración obtenidos por los motores de la Universidad Javeriana Cali, sino que
se puede emplear para futuros trabajos o proyectos.
Al estudiante se le proporcionará una clave para tener acceso a la página como se verá a
continuación:
El usuario tendrá acceso a las siguientes opciones Home, la cual da una breve
descripción del contenido de la página, la pestaña About contiene el porqué. Las
pestañas más importantes son Motors (Descripción de los motores del laboratorio de la
Javeriana), Preview Projects (resumen de los proyectos pasados).
47
Figura 27 Página de Inicio
Por último y más importante la pestaña Data Files contiene los datos de vibración
obtenidos en este proyecto, no obstante, puede contener otro tipo de datos para futuros
trabajos o clases como se observa en la siguiente figura:
48
Figura 29 Diagrama de flujo de la interfaz de Matlab seccionamiento
Para crear la interfaz se utilizó la aplicación GUIDE de Matlab. Esta interfaz compara
las técnicas FFT y la envolvente de Hilbert para diagnosticar fallas en rodamientos en
motores trifásicos por medio de los datos de vibración (aceleración) obtenidos con la
ayuda de la interfaz de Labview.
49
Figura 30 Interfaz de Matlab
Posee la opción de visualizar los datos de manera separada dentro de una sola figura:
50
Figura 33 Opciones de visualización
Por último, como se muestra a continuación, tiene las opciones de acceder a la base de
datos web y/o a enviar un correo a las autoras de la interfaz en caso de alguna duda.
Figura 34 Acceso a internet
51
CAPITULO 4. PRUEBAS Y RESULTADOS
Para las pruebas y el análisis de la interfaz se analizaron dos tipos de bases de datos, las
recolectadas en la Universidad Javeriana y las tomadas de la universidad Case Western
Reserve (CWR) de Estados Unidos, obtenidas de su página de internet [30]. La razón de
las dos bases de datos diferentes se debe que la Case Western nos permite analizar fallas
incipientes en rodamientos y las recolectadas en la Pontificia Universidad Javeriana son
con rodamientos que ya han sido desechados por su mal estado.
Figura 36 Mapa de posición de los sensores [Fuente: Pagina de la Case Western Reserve
http://csegroups.case.edu/bearingdataccenter-website]
52
Figura 37Análisis Carga 0 falla BPFI de 0,007’’ (Sensor eje)
La interfaz, con los datos del sensor ubicado en el ventilador, detecta la falla con la
envolvente de Hilbert. La FFT genera un pico tan pequeño que la interfaz no lo
considera.
53
Figura 39 Análisis Carga 2 falla BPFO de 0,028’’ (Sensor en el eje)
En el caso anterior se observa que la interfaz detecta la falla BPFO (pista externa) con la
envolvente de Hilbert mientras que la FFT no muestra pico de falla.
Al igual que el caso anterior, en este se observa claramente la falla incipiente con sus
respectivos armónicos por medio de la envolvente de Hilbert.
La falla BSF (elementos rodantes) son las más difíciles de diagnosticar en su estado
incipiente, y esto se comprueba con las siguientes imágenes de la interfaz:
54
Figura 41 Análisis Carga 0 falla BSF de 0,028’’ (sensor en el eje)
En el caso anterior la interfaz no detecta el primer armónico en este tipo de falla con
ninguno de los dos métodos, pero se detalla que con la envolvente de Hilbert se pueden
observar los armónicos 2xBSF(140,6Hz) y 8xBSF(565,4Hz) y con la FFT el armónico
8xBSF.
55
Cuando existe falla en los elementos rodantes se pueden hallar armónicos FTF (jaula)
como se observa en la figura anterior en los indicadores de falla-FFT. También se
observa falla en el armónico 8xBSF con el método envolvente.
En el caso anterior, ninguno de los dos métodos detecta falla en BSF y FTF, pero los
indicadores de falla-FFT muestra falla en pista interna. Este indicador puede deberse a
que BPFI se define como la velocidad relativa entre la jaula y la pista interior, BPFI=n x
(fr-FTF), es por eso que a veces en este tipo de análisis se evidencian fallas en pista
interna (incluso en la externa, ya que BPFO=n x FTF).
CARGA 0
Eje FFT Envolvente Hilbert
Frecuencia (Hz) Amplitud Frecuencia (Hz) Amplitud
BPFI 161,1 0,02764 161,1 0,2277
0,007 BPFO 108,4 0,002161 108,4 0,3146
BSF 71,05x8 0,04757 70,8x6 0,02975
BPFI NO NO NO NO
0,028 BPFO 106,93x6 0,1958 108,4 0,05425
BSF 71,05x8 0,004668 70,3x2 0,07647
56
Ventilador FFT Envolvente Hilbert
Frecuencia (Hz) Amplitud Frecuencia (Hz) Amplitud
BPFI 161,1 0,02132 161,1 0,1212
0,007 BPFO 108,4 0,000740 108,4 0,2063
BSF 70,3125 0,02318 - -
BPFI NO NO NO NO
0,028 BPFO NO NO NO NO
BSF NO NO NO NO
CARGA 2
Eje FFT Envolvente Hilbert
Frecuencia (Hz) Amplitud Frecuencia (Hz) Amplitud
BPFI 158,2 0,02298 158,2 0,2122
0,007 BPFO 105,5 0,002031 105,5 0,3138
BSF - - - -
BPFI NO NO NO NO
0,028 BPFO - - 108,4 0,04572
BSF - - 68,85X8 0,06398
CARGA 3
Eje FFT Envolvente Hilbert
Frecuencia (Hz) Amplitud Frecuencia (Hz) Amplitud
BPFI 155,3 0,01327 155,3 0,2441
0,007 BPFO 102,5 0,001907 102,5 0,2844
BSF - - 68,11x8 0,03535
BPFI NO NO NO NO
0,028 BPFO - - 105,5 0,04714
BSF - - 67,4x2 0,06187
57
Por medio de las tablas anteriores se establecen los siguientes porcentajes:
Tabla 15 Porcentajes para la base de datos CWR
Para las fallas BPFI y BPFO se obtuvo un 100% de asertividad en el diagnostico con el
método envolvente de Hilbert. Con el método FFT, BPFI obtuvo un 16.6% asertivo (un
solo acierto) y un 83.3% para un diagnostico parcial, por otro lado, el BPFO obtuvo un
0% asertivo, un 55.5% parcial y el porcentaje restante (44.4%) no obtuvo ningún
resultado diagnóstico.
Para la falla BSF, la interfaz tuvo un 0% para el diagnóstico. El método envolvente tuvo
un diagnostico parcial del 55.5% (armónicos de la falla) y un 44.4% sin resultado. El
método de la FFT obtuvo un 66.6% sin resultado asertivo y un 33,3% en el diagnostico
parcial (armónicos de la falla). Cabe mencionar que en este tipo de falla (BSF) el
diagnostico parcial se obtuvo por el análisis de los armónicos pares.
58
4.2 Base de datos Universidad Javeriana
Primero se posiciona el sensor a la carcasa del motor cerca al eje (donde se encuentra el
rodamiento dañado) como se muestra en la figura.
La base de datos consta de datos con el motor en estado normal (con el rodamiento de
fábrica), posteriormente se cambiaron por rodamientos usados, ya desechados. Cabe
incluir que se utilizó dos sensibilidades del sensor (1,5G y 6G) y tres cargas para el
motor de inducción de cero, 50 y 90 (por medio de un motor DC).
Para analizar los datos se tuvo en cuenta las siguientes observaciones: los datos no
fueron tomados de manera ideal, es decir, el soporte que se utilizó tenía problemas de
estabilidad y agarre generando frecuencias resonantes; se tomó en cuenta dos ejes del
sensor ya que fueron los que recibían la mayor parte de información del rodamiento del
motor.
La referencia de los rodamientos utilizados son 6202 los cuales poseen los siguientes
parámetros de falla (utilizando las ecuaciones de falla anteriores):
BPFI BPFO FTF BSF Elemento Rodante
4,950 3,050 0,381 1,986 3,972
Empezamos primero observando los espectros en frecuencia del motor sin carga y se
determina la diferencia de sensar entre las dos sensibilidades.
59
Figura 46 Rodamiento de Fabrica, sin carga, sensibilidad 6G.
De las figuras anteriores se determina que al variar la sensibilidad del sensor a 1,5G
(800mV/g) se pueden observar las variaciones más pequeñas en frecuencia. Esto se
observa con la envolvente de Hilbert ya que este método es el más sensible si se
compara con la FFT. Se puede observar la frecuencia de la velocidad del motor
(29,79Hz) y también se puede determinar que el rodamiento no presenta fallas que
ameriten el cambio de este.
60
Figura 48 Rodamiento de Fabrica, Carga 50, Sensibilidad 6G.
61
Figura 50 Rodamiento de Fabrica Carga 50, FFT y Hilbert de los 3 ejes
Se obtiene los mismos resultados cuando se pone una carga de 90 al motor de inducción
trifásico (figura 51).
62
4.2.2 Resultados Rodamiento 1
Este rodamiento no presenta fallas visibles, pero cuando se trata de girar se siente una
pequeña resistencia suponiendo entonces que posee falla en los elementos rodantes. Al
igual que el capítulo anterior se analizan primero el motor en un estado sin carga:
63
Figura 54 Rodamiento 1, carga 90, Sensibilidad 6G
Debido a las frecuencias que producen el ambiente en el que se encuentra el motor, para
el sensor y la interfaz es muy difícil identificar la falla que posee el rodamiento, es
decir, no todos los datos y los tres ejes son capaces de diagnosticar la falla como se
muestras en las figuras anteriores donde se puede ver que el eje Z (Axial).
64
Figura 56 Rodamiento 1 Carga 50, FFT y Hilbert de los 3 ejes
65
4.2.3 Resultados Rodamiento 2
Como se ve en la figura 58, este rodamiento tiene un hundimiento el cual genera una
resistencia significativa para girar. A continuación, se muestran los resultados obtenidos
cuando el motor esta sin carga.
66
Debido a la gravedad de la falla, los dos métodos (y las dos sensibilidades) presentan
los mismos resultados como lo muestra las figuras anteriores, donde se diagnostica falla
de pista externa (BPFO) y de elementos rodantes (BSF). En la siguiente figura se
muestra mejor los resultados.
67
Figura 63 Rodamiento 2, carga 50, sensibilidad 1,5G
A pesar de lo que genera el ponerle carga al motor de inducción, la interfaz detecta falla
de pista externa con los dos métodos cuando la sensibilidad es 6G y solamente con la
envolvente de Hilbert cuando se cambia la sensibilidad a 1,5G. Cabe recordar que
cuando la falla es grande el diagnostico puede parecer multi-falla.
Al igual que los resultados que se obtuvieron con la carga 50 y como se observa en la
figura anterior, la interfaz diagnostica falla de pista externa; también se puede ver en los
ejes X y Y la sensibilidad de la envolvente de Hilbert debido al aumento en el espectro
cuando se compara con la transformada de Fourier.
68
4.3 Conclusiones
Con las herramientas de Labview y Matlab se logró diseñar con éxito un sistema de
adquisición y análisis de datos analógicos de vibración. Por medio del Software
Labview se diseñó y se implementó la adquisición de los datos que permitió almacenar
los datos; dada su facilidad de manejo de bases de datos. A través de Matlab se logró
analizar los datos, es decir, contrastar las técnicas espectrales, transformada rápida de
Fourier y el análisis envolvente de Hilbert.
Debido a que los equipos especiales para analizar datos de vibración en motores son
costosos para las entidades educativas, mediante este proyecto se logró diseñar e
implementar un sistema (Hardware y Software) de adquisición de datos y una interfaz
que analiza las vibraciones mecánicas mediante dos algoritmos diferentes con un bajo
presupuesto.
Ahora bien, en cuanto al contraste entre los dos métodos se analizaron las fallas
incipientes de la base de datos estadounidense y las fallas severas de la base de datos
javeriana. Para fallas incipientes en rodamientos, la envolvente de Hilbert supera en
porcentaje a la transformada de Fourier cuando se analizan los primeros armónicos de
las frecuencias de pista interior y exterior, es decir, la envolvente captura las amplitudes
de defecto bajas para este tipo de fallas en rodamientos. Cabe mencionar que las
frecuencias de deterioro de los elementos rodantes son más difíciles de pronosticar por
los dos métodos cuando se encuentran en su fase inicial.
Por otro lado, para fallas de rodamientos severas tanto la transformada de Fourier como
la envolvente de Hilbert disminuyen de manera significativa la asertividad de detectar
fallas en rodamientos. Cabe mencionar que a medida que la falla crece la excitación
(falla) que se produce pierde su carácter impulsivo pudiendo llegar a creerse que el
elemento se mejoró, también se debe tener en cuenta el medio y las condiciones en que
se encuentra instalado el motor.
Para conseguir un análisis optimo, es importante tener en cuenta la selección del sensor,
la sensibilidad y el tiempo de muestreo que se vaya a implementar al diseñar sistemas
de fallos en motores de inducción por medio de datos de vibración. Debido a
limitaciones de presupuesto, el acelerómetro utilizado obtuvo resultados que no
alcanzaron niveles óptimos para procesos industriales.
69
Por medio del análisis espectral se pueden detectar fallas en motores, pero con la ayuda
del análisis estadístico de la onda de tiempo de la señal (Valor rms, pico, pico-pico y
cresta) se podría determinar la severidad de la falla.
70
Bibliografía
[1] P. F. Albrecht, E. L. Owen, D. K. Sharma, “Report of Large Motor Reliability Survey of
Industrial and Commercial Installations, Part I”, IEEE Transactions on Industrial Applications,
Vol. IA-21, No. 4, pp. 853-864, Aug. 1985.
[5] S. J. Chapman, “Maquinas Eléctricas Rotativas”, Maquinas Eléctricas, MacGraw- Hill, Ed.
2004, pp. 241-281.
[6] A. E. Baruch, “Diagnostico de fallas en motores eléctricos de inducción trifásicos tipo jaula
de ardilla usando redes neuronales artificiales”, Tesis Pregrado, Depto. Ingeniería, Universidad
Veracruzana, Xalapa, 2013.
[7] B. S. Gurú, “Polyphase induction motor, en Electric Machinery and transformers”, 3a Ed.,
New York, USA: Oxford University Press, 2001, Ch. 9, pp. 509-561.
[9] A. Strasse, Maquinas Eléctricas [online]. Documento Técnico, Hps System Technik.
Disponible en: www.hps-systemtechnik.com.
[10] Escuela de los Andes, “Rodamientos” [online]. Documento clase, Escuela de Mecánica,
Cátedra de Diseño. Disponible en:
http://www2.ula.ve/dsiaportal/dmdocuments/elementos/RODAMIENTOS.pdf ]
[12] Rockwell Automation, “Conceptos básicos sobre el uso de los motores de inducción
trifásicos”, Motor Management, Documento técnico, 1996.
71
[15] E. Espejo, “Modos de falla Comunes en Rodamientos” [online], Documento técnico,
Universidad Nacional de Colombia, 2008. Disponible en:
http://www.virtual.unal.edu.co/cursos/ingenieria/2023293/und_3/pdf/rodamientos.pdf
[20] J. E. Quiroga, G. Trujillo, S. Quintero, “Study on incipient fault bearing detection based on
enveloping and cepstrum techniques”. Artículo de Revista. Ing. Mecánica Universidad
Industrial de Santander, Bucaramanga, Colombia, 2012.
[21] M. Segla, S. Wang, F. Wang, “Bearing Fault Diagnosis with Improved High Frequency
Resonance Tecnique”. Artículo IEEE. School of Automation and Electrical Engineering.
University Beijing, China, 2012.
[22] A. Brandt,“Noise and Vibration Analysis.” Libro. 1st Ed. John Wiley & Sons. United
Kingdom, 2011.
[27] W. Zhaoxia, L. Fen, Y. Shujuan, W. Bin, “Motor Fault Diagnosis based on the Vibration
Signal Testing and Analysis”, IEEE Computer Society, vol. 2, pp. 433-436, Nov. 2009.
[28] V.P. Raj, K. Natarajan, T. G. Girikumar, “Induction Motor Fault Detection and Diagnosis
by Vibration Analysis using MEMS Accelerometer”, Emerging Trends in Communication,
Control, Signal Processing & Computing Applications, International Conference on, pp. 1-6,
Oct. 2013.
72
[29] I. Jaksch, “Faults diagnosis of three - phase induction motors using envelope analysis”,
IEEE Symposium on Diagnostics for Electric Machines, Power Electronics, Atlanta, USA,
August. 2003.
[30] Case Western Reserve University (CWRU), “Bearing Data Center”. Disponible en:
http://csegroups.case.edu/
[31] Centelsa, Cables para instrumentación y control, Documento Técnico, Cables y tecnología.
[32] National Instrument, User Guide NI USB 6008- 6009, [online]. Documento Técnico.
Disponible en www.ni.com/pdf/manuals/371303n.pdf
73
ANEXOS
Anexo 1 Prueba Sensor
74
Figura 2 Prueba con intervalo de tiempo de una hora (sensibilidad 1,5G)
En la figura anterior se tomo los datos con diferente sensibilidad (se tomo un eje diferente para
comprobar que aplica para los tres ejes del sensor). A continuación los resultados obtenidos a
frecuencias de muestreo diferentes (1k y 2k respectivamente):
Se observa que a frecuencias de muestreo diferente los resultados son similares, con una baja
amplitud y un pico a 1xRPM. A continuación otro ejemplo:
75
Figura 4 Prueba con frecuencias de muestreo diferentes (sensibilidad 1,5G)
Como se observa, los resultados fueron similares. Se concluye entonces que el sensor presenta
repetitividad y que se puede analizar los datos de vibración del motor con diferentes escenarios
de carga.
76
Anexo 2 Prueba de Campo Carvajal Pulpa y Papel
77
Figura 2 Ubicación de los ejes del sensor en el motor
Para determinar las frecuencias de falla se utilizó un software online de la SKF como se
muestra a continuación:
Las gráficas de las figuras 4, 5 y 6 muestran las frecuencias de falla del motor en cada
uno de los ejes con el sensor ajustado a una sensibilidad de 6G (206mV/g) y con los dos
métodos, FFT y envolvente por Hilbert.
78
Figura 5 Sensibilidad 6G Radial
En las gráficas se puede observar que hay coincidencia en los resultados en los tres ejes
al indicar falla de pista interna y externa con los dos métodos, FFT y envolvente por
Hilbert. La falla de pista externa es la más significativa ya que posee una magnitud más
alta. Se puede notar que en el eje X (dirección axial) el espectro posee un
comportamiento de falla de jaula.
Los resultados obtenidos en los ejes axial y tangencial, al cambiar la sensibilidad del
sensor a 1,5G (800mV/g) fueron los mismos a los del sensor en la sensibilidad a 6G. En
el eje Y (dirección radial) se encontró una diferencia al indicar falla BSF (elementos
rodantes) por medio de la envolvente de Hilbert. A continuación se presenta la figura 7
obtenida en la dirección radial con el sensor en la sensibilidad 1,5G.
79
Figura 7 Sensibilidad 1,5G Radial
Figura 8 Resultados dirección axial (FFT)
80
Figura 9 Resultados dirección radial (FFT)
Tal como se aprecia en las figuras 12, 13 y 14 al seleccionar en el software la falla que
se desea analizar, se observa que el motor presenta fallas en las pistas interna y externa
siendo esta última la más significativa por ser de mayor magnitud.
81
Figura 12 Falla Pista Interna (Envolvente)
82
Figura 15 Grafica de tendencia
Conclusión/observaciones
83
Anexo 3 Datasheet MMA7361
84
85
86
87
88
89
Anexo 4 Datasheet TL072
90
91
92
93
94
95
Anexo 5 Fuente de Alimentación (Baterías)
(a)
96
(b)
Figura 1 Características eléctricas Voltaje Vs Hora de servicio para diferentes impedancias de carga. (a)
Ref.MN1604 (b)Ref. SIMPLY
(a)
97
(b) PLUS POWER
98
(a)
(b)
Figura 3 Características eléctricas Voltaje Vs Hora de servicio para consumo de energía diferentes. (a) Ref.
PLUS POWER (b)Ref ULTRA POWER.
99
Anexo 6 Código Interfaz (Matlab)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @IAFR_OpeningFcn, ...
'gui_OutputFcn', @IAFR_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
handles.output = hObject;
axes(handles.imgpuj)
imshow('PUJCali.gif')
guidata(hObject, handles);
varargout{1} = handles.output;
handles.FullData=FullData;
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
ts=1/fs;
hold on
plot(handles.axes1, t, x1,'b');
plot(handles.axes1, t, y2,'r');
plot(handles.axes1, t, z3,'k');
hold off
title(handles.axes1,'SeÒal en el tiempo');
xlabel(handles.axes1,'Tiempo [s]');
100
ylabel(handles.axes1,'Aceleracion [G]');
legend(handles.axes1,'Eje X','Eje Y','Eje Z');
grid(handles.axes1,'on')
guidata(hObject, handles);
axes(handles.axes1);
cla reset;
cla(handles.axes2FFT,'reset');
cla(handles.axes3TH,'reset');
clear;
clear global;
limpia=0;
varfftbpfi=findobj(gcbf,'tag','fftbpfi');
varfftbpfo=findobj(gcbf,'tag','fftbpfo');
varfftbsf=findobj(gcbf,'tag','fftbsf');
varfftftf=findobj(gcbf,'tag','fftftf');
varthbpfi=findobj(gcbf,'tag','thbpfi');
varthbpfo=findobj(gcbf,'tag','thbpfo');
varthbsf=findobj(gcbf,'tag','thbsf');
varthftf=findobj(gcbf,'tag','thftf');
set(varfftbpfi,'string',limpia);
set(varfftbpfo,'string',limpia);
set(varfftbsf,'string',limpia);
set(varfftftf,'string',limpia);
set(varthbpfi,'string',limpia);
set(varthbpfo,'string',limpia);
set(varthbsf,'string',limpia);
set(varthftf,'string',limpia);
clc;
data=get(hObject,'Value');
if data == 1
set(handles.ejesboton,'Enable','off');
else
set(handles.ejesboton,'Enable','on');
end
guidata(hObject,handles);
101
function ejesmenu_CreateFcn(hObject, eventdata, handles)
Ejes=get(handles.ejesmenu,'Value');
FullData=handles.FullData;
datacursormode on
switch Ejes
case 1,
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
hold on
plot(handles.axes1, t, x1,'b');
plot(handles.axes1, t, y2,'r');
plot(handles.axes1, t, z3,'k');
title(handles.axes1,'SeÒal en el tiempo');
xlabel(handles.axes1,'Tiempo [s]');
ylabel(handles.axes1,'Aceleracion [G]');
legend(handles.axes1,'Eje X','Eje Y','Eje Z');
grid(handles.axes1,'on');
hold off
hold on
plot(handles.axes2FFT, freqx1(2:920), magx1(2:920),'b');
plot(handles.axes2FFT, freqy2(2:920), magy2(2:920),'r');
plot(handles.axes2FFT, freqz3(2:920), magz3(2:920),'k');
title(handles.axes2FFT,'FFT');
xlabel(handles.axes2FFT,'Frecuencia [Hz]');
ylabel(handles.axes2FFT,'Amplitud [G]');
legend(handles.axes2FFT,'Eje X','Eje Y','Eje Z');
grid(handles.axes2FFT,'on');
hold off
hold on
plot(handles.axes3TH, frqx1(2:920), mgx1(2:920),'b');
plot(handles.axes3TH, frqy2(2:920), mgy2(2:920),'r');
plot(handles.axes3TH, frqz3(2:920), mgz3(2:920),'k');
title(handles.axes3TH,'Env-Hilbert');
102
xlabel(handles.axes3TH,'Frecuencia [Hz]');
ylabel(handles.axes3TH,'Amplitud [G]');
legend(handles.axes3TH,'Eje X','Eje Y','Eje Z');
grid(handles.axes3TH,'on');
hold off
case 2, % EJE X
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
%Señal en el Tiempo
plot(handles.axes1, t, x1,'b');
title(handles.axes1,'SeÒal en el tiempo');
xlabel(handles.axes1,'Tiempo [s]');
ylabel(handles.axes1,'Aceleracion [G]');
legend(handles.axes1,'Eje X');
grid(handles.axes1,'on');
%FFT x
[freqx1,magx1]=metFFT(x1,fs);
%Hilbert x
[frqx1,mgx1]=metTH(x1,fs);
%señales FFT
Pfft1=magx1(2:620); %Eje X
f1=freqx1(2:620);
%señales Hilbert
Pth1=mgx1(2:620); %Eje X
fth1=frqx1(2:620);
%Picos FFT
[pk1,lc1] = findpeaks(Pfft1,'SortStr','descend','NPeaks',8);
Pfft1peakFreqs = f1(lc1) %Eje X
%Picos Hilbert
[pk11,lc11] = findpeaks(Pth1,'SortStr','descend','NPeaks',8);
Pth1peakFreqs = fth1(lc11) %Eje x
103
% Para BPFI
%Hilbert
BPFIhx=freqbpfi(Pth1peakFreqs,velrpm); %Eje X
set(handles.thbpfi,'String',BPFIhx);
%FFT
BPFIfftx=freqbpfi(Pfft1peakFreqs,velrpm); % Eje X
set(handles.fftbpfi,'String',BPFIfftx);
% Para BPFO
%Hilbert
BPFOhx=freqbpfo(Pth1peakFreqs,velrpm); %Eje X
set(handles.thbpfo,'String',BPFOhx);
%FFT
BPFOfftx=freqbpfo(Pfft1peakFreqs,velrpm); %Eje X
set(handles.fftbpfo,'String',BPFOfftx);
% Para BSF
%Hilbert
BSFhx=freqbsf(Pth1peakFreqs,velrpm); %Eje X
set(handles.thbsf,'String',BSFhx);
%FFT
BSFfftx=freqbsf(Pfft1peakFreqs,velrpm); %Eje X
set(handles.fftbsf,'String',BSFfftx);
% Para FTF
%Hilbert
FTFhx=freqftf(Pth1peakFreqs,velrpm); %Eje X
set(handles.thftf,'String',FTFhx);
%FFT
FTFfftx=freqftf(Pfft1peakFreqs,velrpm); %Eje X
set(handles.fftftf,'String',FTFfftx);
case 3, %EJE Y
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
%SeÒal en el Tiempo
plot(handles.axes1, t, y2,'r');
title(handles.axes1,'SeÒal en el tiempo');
xlabel(handles.axes1,'Tiempo [s]');
ylabel(handles.axes1,'Aceleracion [G]');
legend(handles.axes1,'Eje Y');
grid(handles.axes1,'on');
%FFT y
[freqy2,magy2]=metFFT(y2,fs);
104
grid(handles.axes2FFT,'on');
%Hilbert y
[frqy2,mgy2]=metTH(y2,fs);
%señales FFT
Pfft1=magy2(2:620); %Eje Y
f1=freqy2(2:620);
%señales Hilbert
Pth1=mgy2(2:620); %Eje Y
fth1=frqy2(2:620);
%Picos FFT
[pk1,lc1] = findpeaks(Pfft1,'SortStr','descend','NPeaks',8);
Pfft1peakFreqs = f1(lc1) %Eje Y
%Picos Hilbert
[pk11,lc11] = findpeaks(Pth1,'SortStr','descend','NPeaks',8);
Pth1peakFreqs = fth1(lc11) %Eje Y
% Para BPFI
%Hilbert
BPFIhy=freqbpfi(Pth1peakFreqs,velrpm); %Eje Y
set(handles.thbpfi,'String',BPFIhy);
%FFT
BPFIffty=freqbpfi(Pfft1peakFreqs,velrpm); % Eje Y
set(handles.fftbpfi,'String',BPFIffty);
% Para BPFO
%Hilbert
BPFOhy=freqbpfo(Pth1peakFreqs,velrpm); %Eje Y
set(handles.thbpfo,'String',BPFOhy);
%FFT
BPFOffty=freqbpfo(Pfft1peakFreqs,velrpm); %Eje Y
set(handles.fftbpfo,'String',BPFOffty);
% Para BSF
%Hilbert
BSFhy=freqbsf(Pth1peakFreqs,velrpm); %Eje X
set(handles.thbsf,'String',BSFhy);
%FFT
BSFffty=freqbsf(Pfft1peakFreqs,velrpm); %Eje X
set(handles.fftbsf,'String',BSFffty);
% Para FTF
%Hilbert
FTFhy=freqftf(Pth1peakFreqs,velrpm); %Eje Y
set(handles.thftf,'String',FTFhy);
%FFT
FTFffty=freqftf(Pfft1peakFreqs,velrpm); %Eje Y
set(handles.fftftf,'String',FTFffty);
case 4, %EJE Z
105
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
%SeÒal en el Tiempo
plot(handles.axes1, t, z3,'k');
title(handles.axes1,'SeÒal en el tiempo');
xlabel(handles.axes1,'Tiempo [s]');
ylabel(handles.axes1,'Aceleracion [G]');
legend(handles.axes1,'Eje Z');
grid(handles.axes1,'on');
%FFT z
[freqz3,magz3]=metFFT(z3,fs);
%Hilbert z
[frqz3,mgz3]=metTH(z3,fs);
%seÒales FFT
Pfft1=magz3(2:620); %Eje Z
f1=freqz3(2:620);
%seÒales Hilbert
Pth1=mgz3(2:620); %Eje Z
fth1=frqz3(2:620);
%Picos FFT
[pk1,lc1] = findpeaks(Pfft1,'SortStr','descend','NPeaks',8);
Pfft1peakFreqs = f1(lc1) %Eje Z
%Picos Hilbert
[pk11,lc11] = findpeaks(Pth1,'SortStr','descend','NPeaks',8);
Pth1peakFreqs = fth1(lc11) %Eje Z
% Para BPFI
%Hilbert
BPFIhz=freqbpfi(Pth1peakFreqs,velrpm); %Eje Z
set(handles.thbpfi,'String',BPFIhz);
%FFT
BPFIfftz=freqbpfi(Pfft1peakFreqs,velrpm); % Eje Z
set(handles.fftbpfi,'String',BPFIfftz);
% Para BPFO
106
%Hilbert
BPFOhz=freqbpfo(Pth1peakFreqs,velrpm); %Eje Z
set(handles.thbpfo,'String',BPFOhz);
%FFT
BPFOfftz=freqbpfo(Pfft1peakFreqs,velrpm); %Eje Z
set(handles.fftbpfo,'String',BPFOfftz);
% Para BSF
%Hilbert
BSFhz=freqbsf(Pth1peakFreqs,velrpm); %Eje Z
set(handles.thbsf,'String',BSFhz);
%FFT
BSFfftz=freqbsf(Pfft1peakFreqs,velrpm); %Eje Z
set(handles.fftbsf,'String',BSFfftz);
% Para FTF
%Hilbert
FTFhz=freqftf(Pth1peakFreqs,velrpm); %Eje Z
set(handles.thftf,'String',FTFhz);
%FFT
FTFfftz=freqftf(Pfft1peakFreqs,velrpm); %Eje Z
set(handles.fftftf,'String',FTFfftz);
end
guidata(hObject, handles);
data=get(hObject,'Value');
if data == 1
set(handles.analisisboton,'Enable','off');
else
set(handles.analisisboton,'Enable','on');
end
guidata(hObject,handles);
Analisis=get(handles.analisismenu,'Value');
FullData=handles.FullData;
datacursormode on
switch Analisis
case 2, % SeÒal en el Tiempo
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
107
figure();
subplot (3,1,1)
plot(t,x1,'b')
grid on
xlabel('Tiempo [s]')
ylabel('Aceleracion [G]')
title('SeÒal eje x')
subplot(3,1,2)
plot(t,y2,'r')
grid on
xlabel('Tiempo [s]')
ylabel('Aceleracion [G]')
title('SeÒal eje y')
subplot(3,1,3)
plot(t,z3,'k')
grid on
xlabel('Tiempo [s]')
ylabel('Aceleracion [G]')
title('SeÒal eje z')
case 3, % FFT
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
[freqx1,magx1]=metFFT(x1,fs);
[freqy2,magy2]=metFFT(y2,fs);
[freqz3,magz3]=metFFT(z3,fs);
figure();
subplot(3,1,1)
plot(freqx1(2:end),magx1(2:end),'b');
title('FFT seÒal eje x')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
subplot(3,1,2)
plot(freqy2(2:end),magy2(2:end),'r');
title('FFT seÒal eje y')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
subplot(3,1,3)
plot(freqz3(2:end),magz3(2:end),'k');
title('FFT seÒal eje z')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
108
fs= FullData(1,5); % Frecuencia de Muestreo
[frqx1,mgx1]=metTH(x1,fs);
[frqy2,mgy2]=metTH(y2,fs);
[frqz3,mgz3]=metTH(z3,fs);
figure();
subplot(3,1,1)
plot(frqx1(2:end),mgx1(2:end),'b');
title('Env Hilbert eje x')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
subplot(3,1,2)
plot(frqy2(2:end),mgy2(2:end),'r');
title('Env Hilbert eje y')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
subplot(3,1,3)
plot(frqz3(2:end),mgz3(2:end),'k');
title('Env Hilbert seÒal eje z')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
[freqx1,magx1]=metFFT(x1,fs);
[freqy2,magy2]=metFFT(y2,fs);
[freqz3,magz3]=metFFT(z3,fs);
[frqx1,mgx1]=metTH(x1,fs);
[frqy2,mgy2]=metTH(y2,fs);
[frqz3,mgz3]=metTH(z3,fs);
figure();
subplot(3,2,1)
plot(freqx1(2:920),magx1(2:920),'b');
title('FFT seÒal eje x')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
subplot(3,2,3)
plot(freqy2(2:920),magy2(2:920),'r');
title('FFT seÒal eje y')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
subplot(3,2,5)
plot(freqz3(2:920),magz3(2:920),'k');
title('FFT seÒal eje z')
109
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
subplot(3,2,2)
plot(frqx1(2:920),mgx1(2:920),'b');
title('Env Hilbert eje x')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
subplot(3,2,4)
plot(frqy2(2:920),mgy2(2:920),'r');
title('Env Hilbert eje y')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
subplot(3,2,6)
plot(frqz3(2:920),mgz3(2:920),'k');
title('Env Hilbert seÒal eje z')
ylabel('Magnitud [G]')
xlabel('Frecuencia (Hz)')
case 6, %Esprectro
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
figure()
subplot(3,1,1)
spectrogram(x1, 256, 3/4*256, [], fs, 'yaxis');
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Tiempo [s]')
ylabel('Frecuencia [Hz]')
title('Spectrogram - Eje X')
h = colorbar;
set(h, 'FontName', 'Times New Roman', 'FontSize', 14)
ylabel(h, 'Magnitud [dB]')
subplot(3,1,2)
spectrogram(y2, 256, 3/4*256, [], fs, 'yaxis')
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Tiempo [s]')
ylabel('Frecuencia [Hz]')
title('Spectrogram - Eje Y')
h = colorbar;
set(h, 'FontName', 'Times New Roman', 'FontSize', 14)
ylabel(h, 'Magnitud [dB]')
subplot(3,1,3)
spectrogram(z3, 256, 3/4*256, [], fs, 'yaxis')
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Tiempo [s]')
ylabel('Frecuencia [Hz]')
110
title('Spectrogram - Eje Z')
h = colorbar;
set(h, 'FontName', 'Times New Roman', 'FontSize', 14)
ylabel(h, 'Magnitud [dB]')
case 7, %Autocorrelacion
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
% autocorrelation
[Rx1, lags1] = xcorr(x1, 'coeff'); % x
d1 = lags1/fs;
[Rx2, lags2] = xcorr(y2, 'coeff'); % y
d2 = lags2/fs;
[Rx3, lags3] = xcorr(z3, 'coeff'); % z
d3 = lags3/fs;
subplot(3,1,2)
plot(d2, Rx2, 'r') % y
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Delay [s]')
ylabel('coeficiente Autocorrelacion')
title('Autocorrelacion del Eje Y')
subplot(3,1,3)
plot(d3, Rx3, 'r') % z
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Delay [s]')
ylabel('coeficiente Autocorrelacion')
title('Autocorrelacion del Eje Z')
case 8, % Histograma
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
figure()
subplot(3,1,1)
histfit(x1)
111
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Amplitud de la seÒal')
ylabel('Numero de muestras')
title('Probability distribution of the signal')
subplot(3,1,2)
histfit(y2)
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Amplitud de la seÒal')
ylabel('Numero de muestras')
title('Probability distribution of the signal')
subplot(3,1,3)
histfit(z3)
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Amplitud de la seÒal')
ylabel('Numero de muestras')
title('Probability distribution of the signal')
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
maxval2 = max(y2); % y
minval2 = min(y2);
maxval3 = max(z3); % z
minval3 = min(z3);
u2 = mean(y2); % y
rms12 = sqrt(mean(y2.^2));
u3 = mean(z3); % z
rms13 = sqrt(mean(z3.^2));
% Rango Dinamico
D1 = 20*log10(maxval1/min(abs(nonzeros(x1)))); % x
D2 = 20*log10(maxval2/min(abs(nonzeros(y2)))); % y
D3 = 20*log10(maxval3/min(abs(nonzeros(z3)))); % z
% Factor Crest
Q1 = 20*log10(maxval1/rms11); % x
112
Q2 = 20*log10(maxval2/rms12); % y
Q3 = 20*log10(maxval3/rms13); % z
guidata(hObject, handles);
web('mailto:mmmartinez@javerianacali.edu.co');
web('http://especialistasenlaweb.com/mmm/','-browser');
Ejes=get(handles.ejesmenu,'Value');
FullData=handles.FullData;
datacursormode on
switch Ejes
case 1,
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
xx1=x1.*(9.8*1000); % de G a mm/s^2
yy2=y2.*(9.8*1000);
zz3=z3.*(9.8*1000);
for i= 1:(length(t)-1)
xv1(i) = trapz([t(i) t(i+1)],[xx1(i) xx1(i+1)]);
yv2(i) = trapz([t(i) t(i+1)],[yy2(i) yy2(i+1)]);
zv3(i) = trapz([t(i) t(i+1)],[zz3(i) zz3(i+1)]);
end
t_v=t(1:(end-1));
hold on
plot(handles.axes1, t_v, xv1,'b');
plot(handles.axes1, t_v, yv2,'r');
plot(handles.axes1, t_v, zv3,'k');
title(handles.axes1,'SeÒal en el tiempo');
113
xlabel(handles.axes1,'Tiempo [s]');
ylabel(handles.axes1,'Velocidad [mm/s]');
legend(handles.axes1,'Eje X','Eje Y','Eje Z');
grid(handles.axes1,'on');
hold off
hold on
plot(handles.axes2FFT, freqx1(2:920), magx1(2:920),'b');
plot(handles.axes2FFT, freqy2(2:920), magy2(2:920),'r');
plot(handles.axes2FFT, freqz3(2:920), magz3(2:920),'k');
title(handles.axes2FFT,'FFT');
xlabel(handles.axes2FFT,'Frecuencia [Hz]');
ylabel(handles.axes2FFT,'Amplitud [mm/s]');
legend(handles.axes2FFT,'Eje X','Eje Y','Eje Z');
grid(handles.axes2FFT,'on');
hold off
hold on
plot(handles.axes3TH, frqx1(2:920), mgx1(2:920),'b');
plot(handles.axes3TH, frqy2(2:920), mgy2(2:920),'r');
plot(handles.axes3TH, frqz3(2:920), mgz3(2:920),'k');
title(handles.axes3TH,'Env-Hilbert');
xlabel(handles.axes3TH,'Frecuencia [Hz]');
ylabel(handles.axes3TH,'Amplitud [mm/s]');
legend(handles.axes3TH,'Eje X','Eje Y','Eje Z');
grid(handles.axes3TH,'on');
hold off
case 2, % EJE X
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
xx1=x1.*(9.8*1000); % de G a mm/s^2
for i= 1:(length(t)-1)
xv1(i) = trapz([t(i) t(i+1)],[xx1(i) xx1(i+1)]);
end
t_v=t(1:(end-1));
%SeÒal en el Tiempo
plot(handles.axes1, t_v, xv1,'b');
title(handles.axes1,'SeÒal en el tiempo');
xlabel(handles.axes1,'Tiempo [s]');
ylabel(handles.axes1,'Velocidad [mm/s]');
114
legend(handles.axes1,'Eje X');
grid(handles.axes1,'on');
%FFT x
[freqx1,magx1]=metFFT(xv1,fs);
%Hilbert x
[frqx1,mgx1]=metTH(xv1,fs);
%seÒales FFT
Pfft1=magx1(2:620); %Eje X
f1=freqx1(2:620);
%seÒales Hilbert
Pth1=mgx1(2:620); %Eje X
fth1=frqx1(2:620);
%Picos FFT
[pk1,lc1] = findpeaks(Pfft1,'SortStr','descend','NPeaks',8);
Pfft1peakFreqs = f1(lc1) %Eje X
%Picos Hilbert
[pk11,lc11] = findpeaks(Pth1,'SortStr','descend','NPeaks',8);
Pth1peakFreqs = fth1(lc11) %Eje x
% Para BPFI
%Hilbert
BPFIhx=freqbpfi(Pth1peakFreqs,velrpm); %Eje X
set(handles.thbpfi,'String',BPFIhx);
%FFT
BPFIfftx=freqbpfi(Pfft1peakFreqs,velrpm); % Eje X
set(handles.fftbpfi,'String',BPFIfftx);
% Para BPFO
%Hilbert
BPFOhx=freqbpfo(Pth1peakFreqs,velrpm); %Eje X
set(handles.thbpfo,'String',BPFOhx);
%FFT
BPFOfftx=freqbpfo(Pfft1peakFreqs,velrpm); %Eje X
set(handles.fftbpfo,'String',BPFOfftx);
% Para BSF
%Hilbert
BSFhx=freqbsf(Pth1peakFreqs,velrpm); %Eje X
set(handles.thbsf,'String',BSFhx);
%FFT
BSFfftx=freqbsf(Pfft1peakFreqs,velrpm); %Eje X
115
set(handles.fftbsf,'String',BSFfftx);
% Para FTF
%Hilbert
FTFhx=freqftf(Pth1peakFreqs,velrpm); %Eje X
set(handles.thftf,'String',FTFhx);
%FFT
FTFfftx=freqftf(Pfft1peakFreqs,velrpm); %Eje X
set(handles.fftftf,'String',FTFfftx);
case 3, %EJE Y
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
yy2=y2.*(9.8*1000); % de G a mm/s^2
for i= 1:(length(t)-1)
yv2(i) = trapz([t(i) t(i+1)],[yy2(i) yy2(i+1)]);
end
t_v=t(1:(end-1));
%SeÒal en el Tiempo
plot(handles.axes1, t_v, yv2,'r');
title(handles.axes1,'SeÒal en el tiempo');
xlabel(handles.axes1,'Tiempo [s]');
ylabel(handles.axes1,'Velocidad [mm/s]');
legend(handles.axes1,'Eje Y');
grid(handles.axes1,'on');
%FFT y
[freqy2,magy2]=metFFT(yv2,fs);
%Hilbert y
[frqy2,mgy2]=metTH(yv2,fs);
%seÒales FFT
Pfft1=magy2(2:620); %Eje Y
f1=freqy2(2:620);
116
%seÒales Hilbert
Pth1=mgy2(2:620); %Eje Y
fth1=frqy2(2:620);
%Picos FFT
[pk1,lc1] = findpeaks(Pfft1,'SortStr','descend','NPeaks',8);
Pfft1peakFreqs = f1(lc1) %Eje Y
%Picos Hilbert
[pk11,lc11] = findpeaks(Pth1,'SortStr','descend','NPeaks',8);
Pth1peakFreqs = fth1(lc11) %Eje Y
% Para BPFI
%Hilbert
BPFIhy=freqbpfi(Pth1peakFreqs,velrpm); %Eje Y
set(handles.thbpfi,'String',BPFIhy);
%FFT
BPFIffty=freqbpfi(Pfft1peakFreqs,velrpm); % Eje Y
set(handles.fftbpfi,'String',BPFIffty);
% Para BPFO
%Hilbert
BPFOhy=freqbpfo(Pth1peakFreqs,velrpm); %Eje Y
set(handles.thbpfo,'String',BPFOhy);
%FFT
BPFOffty=freqbpfo(Pfft1peakFreqs,velrpm); %Eje Y
set(handles.fftbpfo,'String',BPFOffty);
% Para BSF
%Hilbert
BSFhy=freqbsf(Pth1peakFreqs,velrpm); %Eje X
set(handles.thbsf,'String',BSFhy);
%FFT
BSFffty=freqbsf(Pfft1peakFreqs,velrpm); %Eje X
set(handles.fftbsf,'String',BSFffty);
% Para FTF
%Hilbert
FTFhy=freqftf(Pth1peakFreqs,velrpm); %Eje Y
set(handles.thftf,'String',FTFhy);
%FFT
FTFffty=freqftf(Pfft1peakFreqs,velrpm); %Eje Y
set(handles.fftftf,'String',FTFffty);
case 4, %EJE Z
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
zz3=z3.*(9.8*1000); % de G a mm/s^2
for i= 1:(length(t)-1)
zv3(i) = trapz([t(i) t(i+1)],[zz3(i) zz3(i+1)]);
117
end
t_v=t(1:(end-1));
%SeÒal en el Tiempo
plot(handles.axes1, t_v, zv3,'k');
title(handles.axes1,'SeÒal en el tiempo');
xlabel(handles.axes1,'Tiempo [s]');
ylabel(handles.axes1,'Velocidad [mm/s]');
legend(handles.axes1,'Eje Z');
grid(handles.axes1,'on');
%FFT z
[freqz3,magz3]=metFFT(zv3,fs);
%Hilbert z
[frqz3,mgz3]=metTH(zv3,fs);
%seÒales FFT
Pfft1=magz3(2:620); %Eje Z
f1=freqz3(2:620);
%seÒales Hilbert
Pth1=mgz3(2:620); %Eje Z
fth1=frqz3(2:620);
%Picos FFT
[pk1,lc1] = findpeaks(Pfft1,'SortStr','descend','NPeaks',8);
Pfft1peakFreqs = f1(lc1) %Eje Z
%Picos Hilbert
[pk11,lc11] = findpeaks(Pth1,'SortStr','descend','NPeaks',8);
Pth1peakFreqs = fth1(lc11) %Eje Z
% Para BPFI
%Hilbert
BPFIhz=freqbpfi(Pth1peakFreqs,velrpm); %Eje Z
set(handles.thbpfi,'String',BPFIhz);
%FFT
BPFIfftz=freqbpfi(Pfft1peakFreqs,velrpm); % Eje Z
set(handles.fftbpfi,'String',BPFIfftz);
% Para BPFO
%Hilbert
BPFOhz=freqbpfo(Pth1peakFreqs,velrpm); %Eje Z
set(handles.thbpfo,'String',BPFOhz);
%FFT
BPFOfftz=freqbpfo(Pfft1peakFreqs,velrpm); %Eje Z
set(handles.fftbpfo,'String',BPFOfftz);
118
% Para BSF
%Hilbert
BSFhz=freqbsf(Pth1peakFreqs,velrpm); %Eje Z
set(handles.thbsf,'String',BSFhz);
%FFT
BSFfftz=freqbsf(Pfft1peakFreqs,velrpm); %Eje Z
set(handles.fftbsf,'String',BSFfftz);
% Para FTF
%Hilbert
FTFhz=freqftf(Pth1peakFreqs,velrpm); %Eje Z
set(handles.thftf,'String',FTFhz);
%FFT
FTFfftz=freqftf(Pfft1peakFreqs,velrpm); %Eje Z
set(handles.fftftf,'String',FTFfftz);
end
guidata(hObject, handles);
Analisis=get(handles.analisismenu,'Value');
FullData=handles.FullData;
datacursormode on
switch Analisis
case 2, % SeÒal en el Tiempo
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
xx1=x1.*(9.8*1000); % de G a mm/s^2
yy2=y2.*(9.8*1000);
zz3=z3.*(9.8*1000);
for i= 1:(length(t)-1)
xv1(i) = trapz([t(i) t(i+1)],[xx1(i) xx1(i+1)]);
yv2(i) = trapz([t(i) t(i+1)],[yy2(i) yy2(i+1)]);
zv3(i) = trapz([t(i) t(i+1)],[zz3(i) zz3(i+1)]);
end
t_v=t(1:(end-1));
figure();
subplot (3,1,1)
plot(t_v,xv1,'b')
grid on
xlabel('Tiempo [s]')
ylabel('Velocidad [mm/s]')
title('SeÒal eje x')
subplot(3,1,2)
119
plot(t_v,yv2,'r')
grid on
xlabel('Tiempo [s]')
ylabel('Velocidad [mm/s]')
title('SeÒal eje y')
subplot(3,1,3)
plot(t_v,zv3,'k')
grid on
xlabel('Tiempo [s]')
ylabel('Velocidad [mm/s]')
title('SeÒal eje z')
case 3, % FFT
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
xx1=x1.*(9.8*1000); % de G a mm/s^2
yy2=y2.*(9.8*1000);
zz3=z3.*(9.8*1000);
for i= 1:(length(t)-1)
xv1(i) = trapz([t(i) t(i+1)],[xx1(i) xx1(i+1)]);
yv2(i) = trapz([t(i) t(i+1)],[yy2(i) yy2(i+1)]);
zv3(i) = trapz([t(i) t(i+1)],[zz3(i) zz3(i+1)]);
end
t_v=t(1:(end-1));
[freqx1,magx1]=metFFT(xv1,fs);
[freqy2,magy2]=metFFT(yv2,fs);
[freqz3,magz3]=metFFT(zv3,fs);
figure();
subplot(3,1,1)
plot(freqx1(2:end),magx1(2:end),'b');
title('FFT seÒal eje x')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
subplot(3,1,2)
plot(freqy2(2:end),magy2(2:end),'r');
title('FFT seÒal eje y')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
subplot(3,1,3)
plot(freqz3(2:end),magz3(2:end),'k');
title('FFT seÒal eje z')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
t= FullData(:,1);
120
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
xx1=x1.*(9.8*1000); % de G a mm/s^2
yy2=y2.*(9.8*1000);
zz3=z3.*(9.8*1000);
for i= 1:(length(t)-1)
xv1(i) = trapz([t(i) t(i+1)],[xx1(i) xx1(i+1)]);
yv2(i) = trapz([t(i) t(i+1)],[yy2(i) yy2(i+1)]);
zv3(i) = trapz([t(i) t(i+1)],[zz3(i) zz3(i+1)]);
end
t_v=t(1:(end-1));
[frqx1,mgx1]=metTH(xv1,fs);
[frqy2,mgy2]=metTH(yv2,fs);
[frqz3,mgz3]=metTH(zv3,fs);
figure();
subplot(3,1,1)
plot(frqx1(2:end),mgx1(2:end),'b');
title('Env Hilbert eje x')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
subplot(3,1,2)
plot(frqy2(2:end),mgy2(2:end),'r');
title('Env Hilbert eje y')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
subplot(3,1,3)
plot(frqz3(2:end),mgz3(2:end),'k');
title('Env Hilbert seÒal eje z')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
xx1=x1.*(9.8*1000); % de G a mm/s^2
yy2=y2.*(9.8*1000);
zz3=z3.*(9.8*1000);
for i= 1:(length(t)-1)
xv1(i) = trapz([t(i) t(i+1)],[xx1(i) xx1(i+1)]);
yv2(i) = trapz([t(i) t(i+1)],[yy2(i) yy2(i+1)]);
zv3(i) = trapz([t(i) t(i+1)],[zz3(i) zz3(i+1)]);
end
t_v=t(1:(end-1));
121
[freqx1,magx1]=metFFT(xv1,fs);
[freqy2,magy2]=metFFT(yv2,fs);
[freqz3,magz3]=metFFT(zv3,fs);
[frqx1,mgx1]=metTH(xv1,fs);
[frqy2,mgy2]=metTH(yv2,fs);
[frqz3,mgz3]=metTH(zv3,fs);
figure();
subplot(3,2,1)
plot(freqx1(2:920),magx1(2:920),'b');
title('FFT seÒal eje x')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
subplot(3,2,3)
plot(freqy2(2:920),magy2(2:920),'r');
title('FFT seÒal eje y')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
subplot(3,2,5)
plot(freqz3(2:920),magz3(2:920),'k');
title('FFT seÒal eje z')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
subplot(3,2,2)
plot(frqx1(2:920),mgx1(2:920),'b');
title('Env Hilbert eje x')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
subplot(3,2,4)
plot(frqy2(2:920),mgy2(2:920),'r');
title('Env Hilbert eje y')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
subplot(3,2,6)
plot(frqz3(2:920),mgz3(2:920),'k');
title('Env Hilbert seÒal eje z')
ylabel('Velocidad [mm/s]')
xlabel('Frecuencia (Hz)')
case 6, %Esprectro
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
xx1=x1.*(9.8*1000); % de G a mm/s^2
yy2=y2.*(9.8*1000);
zz3=z3.*(9.8*1000);
for i= 1:(length(t)-1)
122
xv1(i) = trapz([t(i) t(i+1)],[xx1(i) xx1(i+1)]);
yv2(i) = trapz([t(i) t(i+1)],[yy2(i) yy2(i+1)]);
zv3(i) = trapz([t(i) t(i+1)],[zz3(i) zz3(i+1)]);
end
t_v=t(1:(end-1));
figure()
subplot(3,1,1)
spectrogram(xv1, 256, 3/4*256, [], fs, 'yaxis');
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Tiempo [s]')
ylabel('Frecuencia [Hz]')
title('Spectrogram - Eje X')
h = colorbar;
set(h, 'FontName', 'Times New Roman', 'FontSize', 14)
ylabel(h, 'Magnitud [dB]')
subplot(3,1,2)
spectrogram(yv2, 256, 3/4*256, [], fs, 'yaxis')
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Tiempo [s]')
ylabel('Frecuencia [Hz]')
title('Spectrogram - Eje Y')
h = colorbar;
set(h, 'FontName', 'Times New Roman', 'FontSize', 14)
ylabel(h, 'Magnitud [dB]')
subplot(3,1,3)
spectrogram(zv3, 256, 3/4*256, [], fs, 'yaxis')
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Tiempo [s]')
ylabel('Frecuencia [Hz]')
title('Spectrogram - Eje Z')
h = colorbar;
set(h, 'FontName', 'Times New Roman', 'FontSize', 14)
ylabel(h, 'Magnitud [dB]')
case 7, % Autocorrelacion
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
xx1=x1.*(9.8*1000); % de G a mm/s^2
yy2=y2.*(9.8*1000);
zz3=z3.*(9.8*1000);
for i= 1:(length(t)-1)
xv1(i) = trapz([t(i) t(i+1)],[xx1(i) xx1(i+1)]);
yv2(i) = trapz([t(i) t(i+1)],[yy2(i) yy2(i+1)]);
zv3(i) = trapz([t(i) t(i+1)],[zz3(i) zz3(i+1)]);
end
123
t_v=t(1:(end-1));
% autocorrelation
[Rx1, lags1] = xcorr(xv1, 'coeff'); %Drive
d1 = lags1/fs;
[Rx2, lags2] = xcorr(yv2, 'coeff'); %Fan
d2 = lags2/fs;
[Rx3, lags3] = xcorr(zv3, 'coeff'); %Fan
d3 = lags3/fs;
subplot(3,1,2)
plot(d2, Rx2, 'r') %Eje y
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Delay [s]')
ylabel('coeficiente de Autocorrelacion')
title('Autocorrelacion del Eje y')
subplot(3,1,3)
plot(d3, Rx3, 'k') %Eje z
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Delay [s]')
ylabel('coeficiente de Autocorrelacion')
title('Autocorrelacion del Eje z')
case 8, % Histograma
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
xx1=x1.*(9.8*1000); % de G a mm/s^2
yy2=y2.*(9.8*1000);
zz3=z3.*(9.8*1000);
for i= 1:(length(t)-1)
xv1(i) = trapz([t(i) t(i+1)],[xx1(i) xx1(i+1)]);
yv2(i) = trapz([t(i) t(i+1)],[yy2(i) yy2(i+1)]);
zv3(i) = trapz([t(i) t(i+1)],[zz3(i) zz3(i+1)]);
end
t_v=t(1:(end-1));
figure()
subplot(3,1,1)
histfit(xv1)
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
124
xlabel('Amplitud de la seÒal')
ylabel('Numero de muestras')
title('Probability distribution of the signal')
subplot(3,1,2)
histfit(yv2)
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Amplitud de la seÒal')
ylabel('Numero de muestras')
title('Probability distribution of the signal')
subplot(3,1,3)
histfit(zv3)
grid on
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Amplitud de la seÒal')
ylabel('Numero de muestras')
title('Probability distribution of the signal')
t= FullData(:,1);
x1= FullData(:,2); % datos x
y2= FullData(:,3); % datos y
z3= FullData(:,4); % datos z
xx1=x1.*(9.8*1000); % de G a mm/s^2
yy2=y2.*(9.8*1000);
zz3=z3.*(9.8*1000);
for i= 1:(length(t)-1)
xv1(i) = trapz([t(i) t(i+1)],[xx1(i) xx1(i+1)]);
yv2(i) = trapz([t(i) t(i+1)],[yy2(i) yy2(i+1)]);
zv3(i) = trapz([t(i) t(i+1)],[zz3(i) zz3(i+1)]);
end
t_v=t(1:(end-1));
maxval2 = max(yv2); % y
minval2 = min(yv2);
maxval3 = max(zv3); % z
minval3 = min(zv3);
u2 = mean(yv2); % y
rms12 = sqrt(mean(yv2.^2));
u3 = mean(zv3); % z
rms13 = sqrt(mean(zv3.^2));
125
% Rango Dinamico
D1 = 20*log10(maxval1/min(abs(nonzeros(xv1)))); % x
D2 = 20*log10(maxval2/min(abs(nonzeros(yv2)))); % y
D3 = 20*log10(maxval3/min(abs(nonzeros(zv3)))); % z
% Factor Crest
Q1 = 20*log10(maxval1/rms11); % x
Q2 = 20*log10(maxval2/rms12); % y
Q3 = 20*log10(maxval3/rms13); % z
guidata(hObject, handles);
126