Detector De Anomalias Para Ventiladores Usando Machine Learning (proyecto Uvg)

by Watts Matt in Circuits > Arduino

99 Views, 0 Favorites, 0 Comments

Detector De Anomalias Para Ventiladores Usando Machine Learning (proyecto Uvg)

WhatsApp Image 2023-06-01 at 10.38.25 PM.jpeg

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

WhatsApp Image 2023-06-01 at 10.38.25 PM (1).jpeg
WhatsApp Image 2023-05-19 at 10.27.41 PM.jpeg
Picture1.png

Partes:


  1. Ventilador DC
  2. Base pesada
  3. Arduino Nano 33 BLE Sense
  4. Base para Arduino

Enzamblar

WhatsApp Image 2023-06-01 at 10.38.25 PM.jpeg

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

Picture2.png
Picture3.png
Picture4.png

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)

Picture5.png
Picture6.png
Picture7.png
Picture8.png
Picture9.png
Picture10.png
Picture11.png

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)

Picture12.png

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