3.4 Experiments and results
4.1.2 Spectral-spatial dimension reduction methods
Los sensores seleccionados son los micrófonos electret que se han estudiado en el último capítulo del apartado anterior debido a su pequeño tamaño y a su correcto funcionamiento, como ya se ha visto.
Se va a diseñar una superficie con 7 micrófonos, y es necesario adquirir los valores de todos ellos de forma simultánea a una frecuencia de 1KHz. Esto permitirá realizar un análisis frecuencial a lo largo del tiempo.
Debido a que se hace uso de 7 sensores, trabajar con Arduino desde Simulink no proporciona la suficiente potencia como para abordar esa velocidad de adquisición de datos. Por esto, se ha decidido trabajar con una tarjeta de adquisición de datos comercial, en concreto con la Humusoft MF624 (Figura 5.1). Se trata de una tarjeta
Peripheral Component Interconnect o PCI con ocho entradas analógicas y un convertidor Analógico-Digital de 14 bits, así como ocho salidas analógicas, ocho entradas digitales y ocho salidas digitales. El fabricante proporciona los tiempos de conversión (Figura 5.2), de la cual se deduce la viabilidad de su uso para los requerimientos aquí planteados. [47]
Figura 5.1 Humusoft MF624 [47]
Figura 5.2 Tiempos de conversión Humusoft MF624 [47]
Por otro lado, es necesario hacer uso de una placa de conexiones conectada con la tarjeta de adquisición de datos que permite realizar el conexionado con el exterior de forma sencilla por medio de conectores con tornillos (Figura 5.3).
La adquisición de datos que se realice con esta tarjeta, también será controlada desde Simulink con un sencillo modelo, igual que en el caso de Arduino, las figuras siguientes muestran el modelo y su configuración.
Figura 5.4 Modelo de Simulink para Humusoft MF624
Figura 5.6 Configuración del solver
Figura 5.7 Configuración de Humusoft MF624 para una o múltiples entradas
Por otro lado, se desarrolla en Matlab otro script que trabaja analizando el espectrograma de la señal muestreada. Un espectrograma es una representación gráfica tridimensional que muestra el espectro de frecuencias de la señal. Es decir, muestra la potencia del contenido frecuencial a lo largo del tiempo (Figura 5.8) [48].
Figura 5.8 Espectrograma [48]
Esta representación se obtiene realizando transformadas de Fourier consecutivas sobre un determinado número de muestras, conocido como ventana. Esa ventana se va desplazando hasta cubrir el número total de muestras. Existe un solape entre ventanas consecutivas, siendo esto un parámetro que se puede modificar, así como el tamaño de la ventana [40].
Como se ha señalado, se trata de una representación tridimensional. Además se suele añadir una gama de colores para el eje que representa la potencia de la señal, y esto permite poder representar el espectrograma en dos dimensiones.
A continuación se muestran unos ejemplos donde se muestran primero los espectrogramas en dos y tres dimensiones para una prueba con un motor funcionando a 3.26 V, y a continuación los mismos pero destacando la banda de mayor potencia.
Figura 5.10 Espectrograma del motor alimentado a 3.26V con banda de potencia máxima
En la Figura 5.11 se muestra una gráfica con las frecuencias instantáneas que contienen la mayor potencia, y que se consideran como frecuencias dominantes, para el mismo ejemplo anterior.
Una vez que se tiene adquirida la información procedente de los micrófonos, es necesario tratar los datos para obtener las señales de mando que controlen los motores de vibración estudiados en el capítulo 3. Se han programado dos script para tal efecto, uno para tratar únicamente la señal de un micrófono y otro para tratar las señales de los siete micrófonos.
En primer lugar es necesario eliminar el ruido ambiente contenido en la señal. Los micrófonos se encuentran grabando durante todo el tiempo que dure la prueba, y por lo tanto, en los instantes en los que no está sucediendo nada sobre ellos, se está registrando ruido ambiente.
Si no se filtra ese ruido ambiente, se analizaría en el dominio de la frecuencia y como resultado indicaría que los motores deberían vibrar a una determinada frecuencia, cosa que no se corresponde con el comportamiento deseado, puesto que los motores deben funcionar únicamente en los instantes en los que se está actuando sobre los micrófonos correspondientes.
En los scripts mencionados se ha desarrollado el algoritmo que realiza ese filtrado del ruido ambiente. Este algoritmo analiza pequeños intervalos de la señal captada por el micrófono, realizando su media y comparándolo con un valor experimental que discrimina entre lo que es ruido y lo que es información relevante.
En la Figura 5.12 se muestra un ejemplo de la señal captada por un micrófono, y la señal filtrada mediante la técnica expuesta.
Tras esto, se procede a realizar el análisis en frecuencia de las señales ya filtradas, mediante el análisis espectral se identifican las frecuencias dominantes instantáneas y se calculan las señales de control.
Se distinguen cuatro formas de calcular las señales de control de los motores, todas ellas están basadas en los datos de los resultados del capítulo 3, en concreto los datos para el caso del motor acoplado al soporte, por tratarse del caso más genérico, ya que siempre se va a utilizar el motor acoplado al soporte mencionado. Por lo tanto, se disponen de unos datos tabulados, donde a cada frecuencia del motor le corresponde una señal de mando para el control por PWM.
Las cuatro formas de calcular las señales de control de los patrones registrados por los micrófonos son las siguientes.
Cálculo mediante mapeo de las frecuencias capturadas por los micrófonos y sin interpolación, esto es, todas las frecuencias que proporcionan los micrófonos son mapeadas entre la frecuencia mínima de los motores (0 Hz) y la máxima, y posteriormente se realiza una comparación con los datos tabulados, asignando la señal de mando de la frecuencia tabulada que sea inmediatamente superior a la frecuencia obtenida por los micrófonos.
Cálculo mediante mapeo de las frecuencias capturadas por los micrófonos y con interpolación, esto es, tras realizar el mapeo comentado en el párrafo anterior, se asignan las señales de mando realizando una interpolación con los valores más cercanos al punto de funcionamiento, mediante los datos tabulados.
Cálculo sin mapeo y sin interpolación, esto es, se calculan las señales de mando realizando comparaciones directamente con los datos tabulados. En el caso de superar los límites del motor, se asignan los valores límite.
Cálculo sin mapeo y con interpolación, esto es, se calculas las señales de mando mediante interpolación con los valores más cercanos al punto de funcionamiento, mediante los datos tabulados.