Detector De Anomalias Para Ventiladores Usando Machine Learning (proyecto Uvg)
by Watts Matt in Circuits > Arduino
105 Views, 0 Favorites, 0 Comments
Detector De Anomalias Para Ventiladores Usando Machine Learning (proyecto Uvg)
En este Instructable se usara un Arduino Nano 33 BLE Sense para detectar anomalías utilizando ayuda de inteligencia artificial. El modelo de machine learning que se busca implementar es aquel capaz de detectar anomalías en el funcionamiento cotidiano de un ventilador. Dicho modelo debe ser desarrollado por medio de Edge Impulse y debe tener la capacidad de detectar dos estados de funcionamiento del ventilador:
1. Ventilador apagado (sin movimiento)
2. Ventilador funcionando normalmente
El modelo debe entonces tener la capacidad de detectar si el funcionamiento del ventilador se sale de esos dos estados de funcionamiento mostrando así una anomalía en el funcionamiento de la misma.
Supplies
Partes:
- Ventilador DC
- Base pesada
- Arduino Nano 33 BLE Sense
- Base para Arduino
Enzamblar
Se debe ensamblar de tal manera que el Arduino este firmemente sujetado al ventilador de modo que cualquier vibración generada por el movimiento de las aspas del ventilador sea transmitida directamente al Arduino sin ningún tipo de amortiguación. Similarmente, el Ventilador debe estar sujetado a una base suficientemente pesada para que no se mueva con las vibraciones.
Recoleccion De Datos
1. En la pestaña de “devices” se enlazó el Arduino Nano 33 BLE a Edge Impulse.
(ver primera imagen)
1. Luego, en la pestaña “Data acquisition” se comienzan a recabar datos de 5s de duración. Se recopilan alrededor de 100 datos mientras el ventilador está en reposo, 100 datos mientras está en funcionamiento nominal y 100 datos con la anomalía presente.
2. Luego, se escogen el 69% de los datos para el entrenamiento del modelo y 31% para probar el modelo.
(ver imagenes 2 y 3)
Desarrollar El Modelo (impulso)
1. En la pestaña de “Impulse design” creamos el modelo, asignamos mediciones cada 500 ms con incrementos de 200 ms a una frecuencia de 100 Hz.
(ver imagen 4)
2. Luego se añade un análisis espectral en donde se recabarán datos solamente del acelerómetro en sus tres ejes dejando fuera los “inputs” del giroscopio y del magnetómetro.
(ver imagen 5)
3. Se añadió el bloque de clasificación en el cuál se tienen tres outputs que son encendido, apagado y anomalía.
4. Finalmente agregamos el bloque de detección de anomalías y guardamos el impulso o modelo.
(ver imagenes 6 y 7)
5. Luego, bajo “Spectral features” no vamos a cambiar los parámetros default y podemos observar gráficas de los datos luego de aplicado un filtro.
(ver imagen 8)
6. Bajo la pestaña “classifier” podemos entrenar el modelo asignando 30 ciclos a una razón de 0.0005. Obtenemos la siguiente gráfica luego de entrenar el modelo con los datos recabados.
(ver imagen 9)
7. Finalmente, es posible observar si el modelo entrenado fue capaz de detectar alguna anomalía.
(ver imagen 10)
Probar El Modelo (impulso)
En esta etapa se pone a prueba el impulso generado anteriormente con los datos ya procesados. Se inicia la prueba y el modelo arrojará los resultados obtenidos lo cuál nos da la siguiente gráfica.
(ver imagen 11)
Es posible observar que el modelo funcionó correctamente ya que durante le prueba se obtuvo una precisión del 100%, para los tres movimientos.
Trabajo realizado por:
Luis Rodriguez
Daniel Morales
Matthew Kummerfeldt