• No se han encontrado resultados

5. Prototipo del pez articial

5.1. Control velocidad del motor

Durante esta fase también se experimentó con la posibilidad de utilizar motores paso a paso para un control más exhaustivo del ujo en un futuro, con una programación similar

a la de los motores DC pero sustituyendo la velocidad por el número de vueltas, el cual es gestionado en Arduino de nuevo.

5.3. Control con Labview

Tras la realización de estas pruebas y con objeto de reducir al máximo los dispositivos utilizados, se decide eliminar el Arduino del montaje pues desde el módulo NI 9381 se observa que se puede generar un PWM similar al que se genera con Arduino para los motores. A partir de este momento se utilizarán únicamente los módulos CompactRIO para la lectura y el control del sistema.

En estas condiciones se realiza la primera prueba para el control automático de ambos motores en base a los umbrales establecidos en el capítulo anterior para las soluciones participantes. Se va a prescindir inicialmente de la utilización real de las mismas para comprobar que el control se realiza correctamente, utilizando un terminal slide dentro del Front Panel de LabVIEW que sustituya la lectura del sensor.

Figura 5.4: Block Diagram y Frontal Panel del control de motores con Slide Como se puede observar en la gura 5.4, los parámetros de entrada serían el umbral de la solución ácida o básica y la diferencia con el umbral de la solución neutra (Amplitud). De esta manera, si los valores seleccionados con el indicador del slide son superiores al umbral del ácido o base, se activará la bomba con el agua y hasta que no se rebase inferiormente el umbral del agua, no se detendrá la bomba de agua y se activará de nuevo la primera bomba.

Además se añadieron dos leds en la parte inferior para indicar el motor que debería funcionar en cada momento. Todos estos datos se irán mostrando visualmente en la gráca superior del Front Panel mientras que en la inferior se podrán observar los impulsos generados por la acción de sobrepasar el umbral de la solución ácida o básica.

5.4. Cálculo de la frecuencia

Una vez se cierre el bucle de control con la bra SMA, será necesario conocer la frecuencia de los impulsos que le vamos a enviar para su contracción, por lo que en esta etapa se desarrolla la programación del cálculo de la frecuencia en función del número de pulsos generados.

Partiendo del programa anterior vamos a añadir al diagrama funciones relacionadas con el tiempo. En la gura 5.5 se muestra la programación para mostrar por pantalla el tiempo de la simulación, en este caso utilizando una estructura while loop con dos contadores, los cuales devuelven el tiempo en milisegundos del timer. Por ello situaremos uno fuera y otro dentro de tal manera que el de fuera establezca el instante exacto en que se inicia la simulación y restando el valor del contador interior se pueda calcular el tiempo real en segundos.

Figura 5.5: Contador del tiempo de la simulación

Para este programa se va a establecer un tiempo base de cálculo de la frecuencia de 10 segundos. Esto quiere decir que se irán contando los pulsos y calculando la frecuencia sobre un tiempo total de 10 segundos y, una vez alcanzados se resetea el cálculo y comienza la cuenta de pulsos de nuevo. Este cambio se produce porque se establece como condición dentro del while loop interno que el terminal condicional de parada tenga un valor de 1 al superar los 10 segundos.

Para el cálculo de los pulsos se ha utilizado el terminal 'Select' de la paleta de funciones. Tiene tres entradas, una booleana y las otras dos numéricas, y una salida numérica, que irá indicando el número de pulsos hasta el momento. Como referencia para determinar un pulso se elige la condición de que este sea generado si la lectura supera el umbral de la solución, activando de esta manera el bloque 'Enciendo Agua'.

Este valor es el que va a ser comparado, mediante un registro, de tal manera que si pasa de 0 a 1 la entrada booleana sea TRUE y la salida sea la entrada numérica superior. Si por el contrario el valor pasa de 1 a 0, la salida será la entrada numérica inferior. Gracias a la utilización del registro solo se contará un pulso independientemente del tiempo que la señal esté por encima del umbral.

Por último, para el cálculo de la frecuencia se utiliza el tiempo de la muestra (siempre inferior a 10 segundos) y el número de pulsos registrados. Dividiendo el tiempo entre los pulsos se obtiene el periodo para el lapso de tiempo calculado y calculando su inverso de obtiene la frecuencia.

En la gura 7.5 se muestra el detalle del programa realizado con todos los bloques anteriormente mencionados.

Figura 5.6: Block Diagram para el cálculo de la frecuencia La interfaz del programa quedaría de la siguiente manera:

Figura 5.7: Front Panel para el cálculo de la frecuencia

5.5. Introducción de los componentes químicos

En esta etapa del desarrollo, con un control preciso de ambos motores, se introduce la parte química del proyecto. Utilizando el montaje descrito en el capítulo 5.3 con las bombas, el sensor, la celdilla y la válvula anti-retorno se procede a la creación del primer programa que contemple nuestro entorno "húmedo".

Esta VI consiste en la lectura del sensor con el primer terminal mostrado en la gura 5.8 y la activación de las bombas en función de esa lectura. El ciclo es similar al planteado

en la etapa anterior: en la situación inicial la bomba que dirige el agua se encuentra en continuo movimiento. Se establece un umbral de tal manera que cada vez que se supere por la parte inferior del mismo, se detenga esta bomba y se active la bomba que contiene la solución. Esta seguirá funcionando hasta que, de nuevo, se supere el umbral establecido para la solución. En este punto de detendría y comenzaría a funcionar la primera otra vez.

Figura 5.8: Terminales de E/S de los módulos de NI

Con este sistema es el usuario el que establece ambos umbrales, de tal manera que se puede modicar la velocidad de accionamiento o 'disparo' de las bombas. Esto será de vital importancia durante la generación de impulsos para el control de la bra, aunque siempre existirá una diferencia máxima de, aproximadamente, 50 mV.

Al prescindir del Arduino, la señal PWM se obtiene directamente de la programación en LabVIEW. Para ello se utilizan dos terminales del módulo NI 9381, uno para cada motor, mostrados en la gura 5.8. El esquema de la programación del PWM sería la siguiente:

Figura 5.9: Programación PWM en LabVIEW El bloque PWM se ha congurado con dos entradas y una salida:

PWM Period: se introduce el periodo de la señal PWM en ticks, con la equivalencia de 1 tick = 25 nanosegundos.

Duty Cycle: ciclo de trabajo del PWM, también en ticks. Si su valor es 0 el motor no se acciona por lo que controla su funcionamiento. Por ese motivo se introduce en una estructura tipo 'Case' que depende de un interruptor situado en el Front Panel. PWM DO: salida de la señal PWM a través del puerto DIO correspondiente. Además se han creado dos modos de prueba, uno manual para la calibración de los umbra- les, y otro automático para el control en bucle abierto. Por este motivo la programación de ambos motores se encuentra dentro de otra estructura 'Case'.

5.5.1. Modo Calibración

La calibración se realiza con el accionamiento del motor que haga uir la solución de la cual se quiere establecer el umbral mediante interruptores.

Los valores para el PWM de los motores también se establecen desde el Front Panel y, como queremos que exista un ujo continuo bañando el sensor, se establece un ciclo de trabajo para el motor que controla la sustancia neutra de valor 1 (el ciclo de trabajo debe ser un valor entre 0 y 1).

Por otro lado, se pretende que el accionamiento del motor de las otras soluciones actúe como un disparo y no como una señal continua pues el sensor se encuentra cerca de la salida de las soluciones para obtener la lectura más inmediata posible. De esta manera el ciclo de trabajo variará entre 0,1 y 0,5 aproximadamente, para que con el disparo se utilice la mínima cantidad de solución posible detectada por el sensor.

Figura 5.10: Primer programa de calibración

Las soluciones utilizadas en el proyecto tienen un pH establecido, sin embargo, este puede verse modicado por factores como la temperatura o la luz, los cuales son complica- dos de controlar sin las instalaciones apropiadas. Este es el motivo por el que previamente a cada prueba se deba realizar una calibración de los umbrales pues estos pueden verse modicados de una a otra.

Como ya se observó en la gura 4.3, la diferencia de potencial entre las soluciones neutra y básica era pequeña. Este hecho unido a las ligeras variaciones del pH hace que, durante las pruebas de calibración con la solución básica, se observe que apenas se nota el salto de una a otra, tomando valores muy similares que pueden llevar a un funcionamiento erróneo de los motores.

Figura 5.11: Comparación del salto con los distintos pH

Por este motivo se decide dejar de utilizar la solución básica, pues a pesar de haber dado resultados positivos en la fase 0, no se consigue una diferencia signicativa en las siguientes fases que permita un desarrollo correcto del trabajo.

5.5.2. Modo Control

Tras el establecimiento de los umbrales en el modo calibración, se pasa al modo de control automático. Éste se realiza siguiendo la línea de programación desarrollada hasta el momento de accionar el motor del umbral contrario superado por la lectura del pH.

Además, y como se ha mencionado previamente, de la lectura del sensor se va a ir obteniendo otra señal formada por pulsos, de amplitud la unidad, pero en este caso se va a establecer un nuevo umbral intermedio entre los calculados en la fase de calibración para que cada vez que éste sea superado se envíe un pulso.

Durante las pruebas en esta etapa se observa que no todas las lecturas que se realizan son correctas a causa de la celdilla, pues el hecho de haber diseñado la misma con un volumen interior mínimo llega a entorpecer la lectura, por lo que se necesitaría una nueva con un volumen interior algo superior. Sin embargo, para poder seguir realizando las pruebas se decide introducir el sensor dentro de los tubos que guían los distintos líquidos, de nuevo lo más cerca de la salida de ambos posible, obteniendo resultados positivos ya que se bañan los electrodos por completo. De esta manera se ja el sensor al tubo por medio de un termofusible y se continúa con el desarrollo para en el futuro diseñar una nueva celdilla de resina más apropiada.

Figura 5.12: Detalle del control automático

De esta manera el control de los motores queda establecido y se da paso a la siguiente fase para el control de la bra.

Capítulo 6

Control Fase II

6.1. Introducción

En esta fase del proyecto se va a introducir en el montaje la bra SMA y el sensor de estiramiento para completar el esquema de la gura 3.1. Se explicará el conexionado de ambos y se procederá a la realización del control en bucle abierto de la bra.

Figura 6.1: Conguración SMA - Strech Sensor

6.2. SMA y sensor de estiramiento

Como se ha visto en el esquema de conexiones, la bra SMA y el sensor de estiramiento se encontrarán en paralelo unidos por un pequeño módulo de plástico, como se muestra en la gura 6.1, de tal forma que la contracción que sufra la bra en longitud sea la misma

que el estiramiento sufrido por el sensor. De esta manera podremos obtener una medida precisa de la contracción pues la resistencia del sensor varía con la elongación.

Como ya se ha comentado anteriormente, la simplicación del funcionamiento de la bra sería el siguiente:

Figura 6.2: Comportamiento SMA libre de carga

El hecho de que pase corriente o no por la bra es lo que hace que se caliente o enfríe siguiendo su ciclo de histéresis, ya que son conmutaciones relativamente rápidas entre un estado y otro. De esta manera será la generación de un pulso la que establezca el paso de corriente por la bra, y de ahí el interés en conocer la frecuencia con la que se 'disparen' los motores para el control en bucle cerrado.

Es cierto que las ecuaciones de la bra por las que se va a regir en este proyecto están contempladas para una bra sin carga, que se distensione por enfriamiento natural por convección con el medio, sin embargo, al no disponer de un medio de enfriamiento lo su- cientemente rápido para el sistema, la fuerza mínima que ejerce el sensor de estiramiento sobre la bra provocará que esta se alargue durante el enfriamiento, midiendo así una contracción lineal. Es importante a la hora de valorar los resultados nales tener esta información en cuenta.

La bra, además, necesita de un driver para su funcionamiento, en este caso el Miga Analog Driver (gura 2.5), que actúa como un MOSFET, de tal manera que conduce corriente a través de él si aplicamos tensión en la entrada GATE, funcionando como un interruptor que se activa por tensión. De esta manera podemos realizar la calibración de la etapa anterior sin tener que involucrar a la bra para después introducirla en el control automático.

Figura 6.3: Funcionamiento MOSFET

el mismo a la fuente de tensión y en vez de utilizar el terminal GATE, presionamos el interruptor incluido en el propio componente, observando que, efectivamente, cada vez que es pulsado la bra se contrae hasta un máximo establecido por la tensión de entrada seleccionada.

Para el control de la misma se va a utilizar otra señal del PWM generada de la misma manera que en los motores. En esta ocasión el ciclo de trabajo se establecerá en 0,5 pero la frecuencia será mayor, de 16 Hz. La programación de este bloque se muestra en la siguiente gura.

Figura 6.4: Block Diagram SMA

Al igual que la programación de los motores, se encuentra dentro de una estructura 'Case', donde se deben cumplir dos condiciones para su activación: que el 'Modo bra' esté encendido y que haya un pulso. Si se dan ambas, a través del terminal DIO0 del módulo NI 9381 se enviará la señal de PWM programada. En caso de que alguna no se cumpla, no se conseguirá la tensión mínima en la puerta GATE y se abrirá el circuito.

Figura 6.5: Generación pulsos frente a generación PWM

En la interfaz, el módulo de la bra quedaría diseñado como se muestra en la gura 6.6. De esta manera el usuario puede controlar el encendido y apagado de la señal así

como variar la frecuencia y el ciclo de trabajo.

Figura 6.6: Front Panel SMA

Una vez iniciamos el modo automático, con una entrada de 8 V en la bra, se observa cómo, en función de la situación del umbral intermedio, va variando la velocidad de disparos, con ella aumenta la frecuencia y a su vez se aumenta el número de contracciones - elongaciones en la bra. Cabe destacar que para esta etapa, el tiempo de muestra para medir la frecuencia se aumenta a 50 segundos.

Sin embargo, debido a su ciclo de histéresis, la bra no se transforma de una fase a otra inmediatamente, sino que deben alcanzar las temperaturas de transformación para ello. De esta manera, si la frecuencia de disparo es lo sucientemente rápida, se alcanza una situación en la que la bra se termina contrayendo una longitud constante y manteniéndose en esa posición.

El cálculo de esa frecuencia es uno de los objetivos de este proyecto, ya que con ella podremos controlar la contracción de la bra para una corriente determinada.

Una vez programada la bra, se procede al desarrollo de bloques para el sensor de estiramiento. De éste podemos conocer su resistencia interna en estado relajado pero como apoyo en la medida vamos a introducir una pequeña resistencia en serie con el sensor para, en base a la tensión calculada sobre ella, conocer en todo momento la resistencia en el sensor.

Para ello se van a utilizar dos entradas analógicas del módulo NI 9215, AI1 y AI2. Con ellas se va a medir la tensión total entre uno de los terminales de la resistencia ja y otro del sensor y con el otro se medirá la tensión entre los bornes de la resistencia ja. Con el cálculo de la intensidad sobre esta y conocida la tensión en cada momento sobre el sensor, se calcula el valor de su resistencia variable a lo largo del tiempo. El diagrama de bloques realizado para estas mediciones se observa en la gura 6.7.

Figura 6.7: Block Diagram del sensor de estiramiento

La disposición en la interfaz se correspondería con la gura 6.8, de tal manera que cada contracción en la bra supone un aumento en el valor de la resistencia y cada distensión una disminución del valor.

Figura 6.8: Front Panel del sensor de estiramiento

Aunando estos diagramas de bloques junto con todos los creados en fases anteriores, obtendremos la interfaz global del proyecto, la cual corresponde con las guras 6.10, 6.9, 6.11 y 6.12.

Se ha añadido un pequeño módulo para la exportación de datos a Excel, pues al ser mostrados en tiempo real, estos necesitan ser almacenados para luego poder analizarlos.

Con esta programación nal se inicia un período de pruebas para determinar la fre- cuencia que se busca, llegando a la siguiente serie de conclusiones:

Cuanto mayor es la tensión establecida en la fuente, mayor será la contracción en la bra.

Cuanto más cerca se encuentre el umbral intermedio del superior, menor será la frecuencia.

Para llegar a una contracción constante hay que encontrar un equilibrio entre tensión y frecuencia, ya que con valores extremos no se alcanza una posición ja.

A pesar de establecer los umbrales en el modo calibración, a medida que pasa el tiempo, los valores extremos en la lectura van cambiando debido a las ligeras va- riaciones de pH producidas por el medio. Este hecho hace que sea muy complicado cerrar un bucle de control pues no se consigue una señal homogénea para el tren de pulsos y se necesitarían hacer varias calibraciones a lo largo de una prueba en espacios de tiempo muy pequeños. Estas variaciones se pueden observar en la gura 5.12.

El rango de frecuencias se encuentra en torno a 0,04 Hz y por las características físicas y químicas del montaje no se puede aumentar esta frecuencia, por lo que, a pesar de conseguir aproximaciones, el movimiento es ondulatorio y nunca se alcanza una posición ja.

Teniendo en cuenta todo lo anterior, se decide realizar una simulación del comporta- miento de la bra SMA para realizar el cálculo de la frecuencia que se necesitaría para

Documento similar