martes, 7 de junio de 2011

Sistema de levitación magnética

NOTA: este articulo ha sido extraído del original proveniente del sitio web varper-tech.com en la dirección http://varper-tech.com/articulo.php?idart=1Allí podrás conseguir informacion mas detallada sobre la descarga de los archivos de código del microcontrolador y los archivos de simulación. 

Resumen

El desarrollo de este proyecto da una muestra de la aplicación de los controladores PID en un sistema de levitación magnética, el cual es un sistema no lineal e inestable por naturaleza. El controlador PID será implementado en un sistema digital diseñado bajo un microcontrolador donde el usuario podrá modificar la altura del objeto, así como también podrá variar manualmente el valor de las constantes que rigen el comportamiento del controlador. El mismo esta configurado por compensación en serie, que es una de las más comúnmente usadas en sistemas de lazo cerrado, sin embargo existen otras configuraciones que podrían ser puestas en práctica. El sistema esta constituido por un modulo de control, un sensor de distancia, un modulo de potencia, y una fuente de alta potencia. Antes de adentrarse en este proyecto es importante que el lector tenga conocimientos sobre sistemas de control automáticorealimentaciónestabilidad de un sistema y algunos otros términos básicos acerca de los elementos de control automático, previo a esto es también necesario hacer una revisión acerca de la teoría electromagnética debido a que es el tema principal que se maneja en este proyecto.

Introducción

Actualmente existe un sin fin de aplicaciones practicas para el fenómeno del magnetismo, tan impactante y tan complejo que ha fascinado a cientos de científicos que se dedican al estudio de sus orígenes, las ecuaciones que lo rigen y el sus posibles aplicaciones en las maquinas que día a día nos hacen la vida más fácil.
No obstante, por ser un fenómeno de alta complejidad incita a los humanos a tener un dominio sobre sus fuerzas, a controlarlo completamente y hacer de este una fuente de energía aplicable a cualquier cosa que se quiera construir. En los motores eléctricosse ve como el uso de los electroimanes y/o imanes permanentes es indispensable para el movimiento de los mismos, dichas fuerzas actúan sincronizadamente para crear fuerzas de atracción y repulsión que convierten a estas en un movimiento angular que se transfiere a un eje y lo hace girar; algunos sensores utilizan este fenómeno para detectar objetos metálicos próximos al sensor valiéndose de las propiedades de los metales de alterar las líneas de campo magnético, en los monitores y televisores el campo magnético generado por un electroimán dirige a los electrones hacia un punto especifico en la pantalla en un periodo de tiempo definido. Estas aplicaciones hacen notable la gran importancia que tiene este fenómeno en nuestra vida cotidiana.
Sin embargo para estas fuerzas ser aprovechadas es necesario controlarlas y hacerlas estables para un rendimiento optimo del dispositivo en el que se intente implementar. Es por esto que se plantea el desarrollo de un Sistema de Levitación Magnética el cual hará uso de controladores PID para estabilizar la fuerza del electroimán que “suspenderá” un objeto de metal en el aire permaneciendo en un punto fijo, es decir, el objeto se mantendrá estable en un punto a cierta altura que podrá ser variada manualmente. Estos sistemas de levitación son muy útiles en túneles de viento en donde se requiere hacer que un objeto flote en el aire mientras el aire circula libremente por dicho túnel, este sistema es aplicable cuando se necesita un mínimo de perturbación en las mediciones por objetos externos al objeto a evaluar, como cables o soportes que podrían alterar el curso del viento y alterar así las mediciones. No obstante el uso de estas fuerzas magnéticas puede significar la solución a la variación de variables físicas en sistemas electromecánicos como discos duros, lectores de CD-ROM, trenes de levitación magnética, entre otros; todo esto sin dejar a un lado el uso de los controladores para la estabilización de los campos electromagnéticos.
Entre otras aplicaciones esta la de fines instructivos y demostración, este dispositivo podría ser implementado en los laboratorios para la capacitación de los estudiantes de ingeniería de control y otras carreras a fines.
El desarrollo de este sistema promueve la aplicación de controladores PID para estabilizar sistemas que por naturaleza son inestables o para controlar variables de manera precisa y con pocas perturbaciones. Ya que estos controladores son utilizados ampliamente en muchos campos, es importante la comprensión de estos y por tal motivo serán aplicados a este proyecto en particular.

Diseño de la Investigación

En este segmento se describirá cada uno de los criterios que se tomaron en cuenta a la hora de diseñar este trabajo. Se hará una descripción de los procedimientos matemáticos que se llevaron a cabo antes de proceder con el desarrollo del circuito. Por otro lado también se describirán los pasos para la puesta a punto del levitador magnético.

Análisis Matemático

Inicialmente se debe proceder con un análisis matemático del sistema para evaluar las diferentes respuestas que tendrá ante diferentes excitaciones y así poder establecer predicciones bastante aproximadas del comportamiento del mismo, asimismo se establecerá una comparación antes y después de aplicar el controlador PID así como el efecto que tendrá la variación de las constantes.

Modelado Matemático

En este punto se comenzara por representar el sistema físico con las ecuaciones que definen su comportamiento para así establecer un análisis en el dominio de la frecuencia y ver las respuestas que tendrá el sistema.
Debido a que el sistema naturalmente representa una complejidad bastante significativa y el motivo de este proyecto es representar de la manera más simple el sistema para determinar si es posible lograr la estabilidad del mismo mediante la implementación de un controlador PID entonces se tomaran las siguientes consideraciones antes de continuar:
  • El sistema tendrá un mínimo de oscilaciones en su punto de equilibrio.
  • La fricción viscosa entre la masa y el aire es despreciable.
  • El núcleo del electroimán no posee histéresis.
  • El núcleo del electroimán no posee saturación magnética.
  • La inductancia de la bobina es constante en todo momento.
  • La resistencia de la bobina es constante en todo momento.
  • El objeto se moverá solamente alrededor del eje y.
  • El elemento de realimentación es lineal en todo su rango de operación.
En el gráfico 8 se representan las variables que interactúan en el sistema físico.
Modelo del sistema
Gráfico 8. Representación de las variables físicas del sistema.
Las ecuaciones que representan al sistema están dadas por:
Objeto39 (1)
Objeto40 (2)
Donde Objeto41
Objeto42 = Permeabilidad del núcleo magnético.
Objeto43= Permeabilidad del vació.
N = Numero de espiras del electroimán.
Reacomodando las ecuaciones resulta:
Objeto44 (3)
Objeto45 (4)
Nótese que el término Objeto46 es no lineal, por lo tanto antes de continuar debemos hacer una aproximación lineal de este término, para esto tomamos la primera iteración de la serie de Taylor:
Siendo, Objeto47 tenemos:
Objeto48 (5)
Objeto49Objeto50
Es importante recordar que este modelo matemático será usado para el análisis y diseño, puede representar con precisión la dinámica de un sistema real para ciertas condiciones de operación, pero puede no ser preciso para otras.
Después de aplicar el método de linealización, podemos escribir las ecuaciones en forma matricial.
Ahora ya se conocen las ecuaciones del sistema, definiendo las variables de estado.
Objeto51
De acuerdo con estas ecuaciones, las ecuaciones de estado quedan de la siguiente manera:
Objeto52
Al linealizar las ecuaciones se obtiene la matriz A:
Objeto53 (6)
Debido a que se desea trabajar en el punto de equilibrio Objeto54
Objeto55
Objeto56 (7)
A partir de esto se puede obtener el valor de Objeto57, sustituyendo la ecuación (7) en la ecuación (4) se obtiene:
Objeto58
Reemplazando esto en la matriz A se obtiene
Objeto59 (8)
Objeto60 (9)
Con esto se puede escribir la matriz de transición de estados.
Objeto61
Y la salida correspondería a la posición de la esfera
Objeto62
Por lo tanto, en forma matricial, la salida del sistema viene dada por:
Objeto63 (10)
Donde:
Objeto64Objeto65 (11)
Todo el proceso descrito anteriormente, representa el modelado del sistema, se representaron las variables de estado y sus respectivas matrices A, B, C, D.

Función de transferencia.

Anteriormente se menciono que el levitador magnético es un sistema lineal en invariante en el tiempo (después de aplicar linealizar aplicando Taylor), gracias a esto se sabe que la relación, entrada-salida, cuando el estado es cero es:
Objeto66 (12)
De acuerdo con las propiedades de la convolución, la ecuación (12) queda:
Objeto67 (13)
Como ya se conocen las matrices Objeto68 y Objeto69, la matriz de transferencia es:
Objeto70 (14)
Donde la existencia de Objeto71 esta garantizada por la independencia lineal de los vectores Objeto72.
Considerando ahora el sistema general definido por las ecuaciones
Objeto73 (15)
Objeto74 (16)
Debido a que las matrices A, B, C, D son constantes, el patrón de peso del sistema es:
Objeto75 (17)
Pero: Objeto76
Entonces: Objeto77
Es decir, la matriz de transferencia para el sistema de las ecuaciones (15) y (16) es:
Objeto78 (18)
Al sustituir los valores de las matrices A, B, C y D en la ecuación (18), se tiene lo siguiente:
Objeto79 (19)
Donde:
Objeto80 (20)
Objeto81 (21)
Objeto82 (22)
Al realizar las operaciones correspondientes se obtiene:
Objeto83 (23)
Esta ecuación obtenida representa la función de transferencia de la planta, la cual será utilizada a partir de ahora en los restantes cálculos.

Aplicación del controlador PID

El objetivo del diseño es que las variables controladas, representadas por el vector de salida Objeto84, se comporten en cierta forma deseada. El problema esencialmente involucra el determinar la señal de control Objeto85dentro de un intervalo prescrito para que todos los objetivos de diseño sean satisfechos.
La mayoría de los métodos de diseño de sistemas de control convencionales se basan en el diseño de una configuración fija, en el que en un principio el diseñador decide la configuración básica del sistema diseñado con el proceso controlado. Entonces, el problema involucra el diseño de los elementos del controlador. Debido a que la mayoría de los esfuerzos de control involucran la modificación o compensación de las características de desempeño del sistema, el diseño general que emplea una configuración fija también es llamado compensación.
Para el diseño de este sistema la configuración a utilizar para el controlador es Compensación en serie (ver gráfico 26) donde el controlador se coloca en serie con el proceso controlado.
Compensación en serie
Gráfico 9. Modelo de sistema con compensación en serie.
Como se ha venido mencionado antes uno de los controladores mas ampliamente empleados en estos tipos de sistemas es el controlador PID, el cual aplica una señal al proceso que es una combinación proporcional, integral y derivativa de la señal de actuación. Debido a que estos componentes de la señal se pueden realizar y visualizar con facilidad en el dominio del tiempo, los controladores PID se diseñan comúnmente empleando métodos en el dominio del tiempo.
Después que se ha escogido una configuración del controlador, el diseñador debe escoger un tipo de controlador que con la selección adecuada de los valores de sus elementos satisfacera todas las especificaciones de diseño. Una vez elegido el controlador, la siguiente tarea es determinar los valores de los parámetros del controlador. Estos parámetros son típicamente coeficientes de una o mas funciones de transferencia que componen el controlador. Con base en esta información, se determinan los parámetros del controlador para que cumplan todas las especificaciones de diseño.

Diseño del controlador PID

Es importante tener en cuenta que el controlador PID consiste en una parte PI conectada en cascada con una parte PD. La función de transferencia del controlador PID se escribiría como:
Objeto86 (12)
La función de transferencia nueva resultaría:
Objeto87
Habiendo obtenido las ecuaciones de la planta y del compensador es conveniente dar uso de los valores reales de la planta para así obtener los valores mas óptimos para las constantes del controlador PID, en la práctica mediante mediciones realizadas se han obtenido los siguientes valores.
Objeto88
Objeto89
Objeto90
Objeto91
Objeto92
Objeto93
Al sustituir los valores de estas variables en la función de transferencia de la planta tenemos:
Objeto94
Expresado en forma de polos y ceros resultaría:
Objeto95
Como se puede apreciar existe un polo al lado derecho del plano, por lo tanto se podría considerar automáticamente que es un sistema inestable.

Estabilización

Para poder estabilizar el sistema se procede a la obtención de una nueva función de transferencia agregando K al sistema con retroalimentación.
Representación de la constante K
Gráfico 10. Representación de la constante K en un sistema realimentado.
La función de transferencia resultante viene dada por:
Objeto96
Objeto97
Para hallar los valores de K para los cuales el sistema es estable se utilizara el método re Ruth. Sin embargo una sola constante no es suficiente para estabilizar el sistema. Para satisfacer esto se implementara primero un controlador PD.

Controlador PD

Objeto98 (1)
Objeto99 (2)
Aplicando el método de Ruth los valores para las constantes son:
Objeto100
Objeto101
En el Gráfico 11 se muestra la respuesta que tiene el sistema si se aplica un controlador PD únicamente. Cabe destacar que el controlador PD, a pesar de hacer el sistema estable tiene un grave problema, denominado error estacionario. Este se puede compensar al aplicar un controlador PI o combinar ambos, ese es el objetivo de este tipo de compensadores. En esta simulación se estableció como valor para las constantes Kp = -1500 y la constante Kd = -20. Lo que en concordancia con los cálculos, permite que para este rango de operación sea estable. De no tomar estos valores el sistema tendría una salida con una respuesta exponencial sin límite.
gráficos38
Gráfico 11. Respuesta del controlador PD.

Controlador PI

Para el caso del controlador PI tenemos la siguiente función de transferencia:
Objeto102
Aplicando el método de Ruth los valores para las constantes son:
Objeto103
Objeto104
En el Gráfico 12 se muestra la respuesta del sistema ante un controlador PI, en el caso de este controlador por si solo no logra estabilizar el sistema, se necesita una combinación de ambos para lograr generar una señal que se estabilice alrededor del setpoint con un margen de error muy cercano a cero.
gráficos39
Gráfico 12. Respuesta del sistema ante un controlador PI.
Una vez visto la respuesta del sistema ante cada controlador por separado es conveniente visualizar el comportamiento ante una combinación de ambos y ver el rendimiento del mismo. En el Gráfico 13 se muestra el comportamiento del sistema ante la aplicación de un controlador PID. Para esta simulación se tomaron los siguientes valores de las constantes: Kp = -10000, Ki = -3000, Kd = -1500
gráficos40
Gráfico 13. Respuesta del sistema con un controlador PID.
En esta grafica se puede notar que se tiene una respuesta mucho más estable y próxima al punto de operación, sin embargo, para el intervalo de 0 a 0,2 seg. Esta no logra mantener el error en 0, debido a que la respuesta de del controlador se hace algo lenta, esto se debe a la gran inestabilidad que presenta el sistema cuando este se aleja mucho del punto de operación.

Representación del controlador PID en un sistema digital

En la sección anterior se logro estudiar el comportamiento del sistema en presencia de un controlador PID, sin embargo, todos los análisis que se hicieron son en tiempo continuo. Debido a que en la práctica el sistema se implementara en dispositivos digitales, seria imposible lograr un tiempo continuo, por lo tanto se debe aplicar las conversiones necesarias para pasar de tiempo continuo a tiempo discreto e implementar dicho sistema en el microcontrolador.
Antes de continuar con el diseño del controlador PID es necesario establecer una representación algoritmica de cómo se calcularan cada uno de los términos. Como se mostró en la sección Controlador PID en tiempo discreto, las ecuaciones pueden ser implementadas en cualquier sistema digital, realizando las operaciones matemáticas necesarias. En dicha sección se vio como era posible representar el termino proporcional como la multiplicación del error por la constante Kp, asimismo el termino integrativo es el resultado de sumar todos los errores que van transcurriendo por la constante Ki y del mismo modo el termino derivativo era la resta del error actual menos el error anterior. Estas operaciones pueden ser fácilmente implementadas en la practica, basta con implementar los algoritmos matemáticos necesarios para obtener los resultados correctos.

Diagrama de bloques

Habiendo descrito anteriormente los criterios de diseño del controlador y mostrado gráficamente el comportamiento del sistema antes distintas configuraciones, es momento de comenzar con el desarrollo del circuito electrónico donde se implementarán los estudios anteriormente realizados. A continuación se describirá de forma detallada cada uno de los modelos que componen todo el sistema, luego se presentara un diagrama circuital correspondiente a cada uno de los bloques.
Diagrama de bloques
Gráfico 14. Diagrama de bloques del Levitador Magnético.

Fuente de Poder

Este es una de las partes más importantes de todo el sistema debido a que es quien suministra toda la corriente necesaria al electroimán, y brinda alimentación al los demás módulos. Este módulo aunque esta descrito como un solo bloque en si esta compuesto por dos circuitos aislados totalmente uno de otro, para efectos de este proyecto debido a que el transformador de potencia posee solamente un secundario el cual suministra aproximadamente 34 Vp a la carga (electroimán). Se procedió a utilizar dos transformadores, el descrito anteriormente y un transformador de soporte que servirá para la alimentación del resto del circuito, el por que de esto se debe principalmente al aislamiento del circuito de control con el circuito de potencia ya que se van a manejar amperajes que están por encima de los 10 amperios y se manejaran cargas inductivas, entonces se quiere evitar que los picos inducidos por la corriente almacenada en la bobina en un determinado instante afecten el rendimiento del circuito de control, así como en el peor de los casos pudiera dañarlo y estropear todo. A continuación se presentara el diagrama circuital de este módulo y se explicara el funcionamiento del mismo.
gráficos41
Gráfico 15. Fuente de alimentación para el electroimán.
En este diagrama se representa el circuito correspondiente a la fuente que alimentara el electroimán. El funcionamiento es bastante sencillo, consta de un transformador un puente rectificador y condensadores electrolíticos. El puente rectificador tolera una corriente máxima de 35 amperios y debe llevar consigo un buen disipador de calor debido a que cuando esta en pleno funcionamiento se calienta bastante, los condensadores son 8 de 15000uF por 50V que suman unos 120000uF más 3 capacitores de 4700uF que suman 14100uF sumados a los 120000 anteriores equivalen a un capacitor de 134100uF. Estos capacitares son los responsables del filtrado de la señal saliente del rectificador que es el valor absoluto de la señal de entrada, el por que de esta capacitáncia tan alta se debe a la cantidad de corriente que deberá pasar por la terminal Vo lo que sugiere un descarga muy violenta de los capacitares cuando el la señal saliente del rectificador comienza a bajar desde su valor pico hasta cero. Cabe destacar que en este circuito no se muestra ningún otro elemento de regulación de voltaje, esto se debe a que para evitar la mayor cantidad de perdidas posibles el electroimán se alimentara directamente desde los 34V salientes de la terminal Vo permitiendo controlar la corriente promedio que circulara por el electroimán mediante un circuito PWM y su correspondiente transistor de potencia (MOSFET para este caso), esta parte será descrita con más detalle en el módulo de potencia.
Por otro lado en el diagrama siguiente se explicara los elementos que componen la fuente que alimentara los restantes módulos
gráficos42
Gráfico 16. Fuente de alimentación para los circuitos restantes.
Como se logra apreciar esta es una fuente de poder dual, esto se debe a que en el circuito de sensado se utilizaran amplificadores operacionales que requieren alimentación dual para su correcto funcionamiento.
En este circuito se puede apreciar tres etapas: rectificación, filtrado y regulación. La primera consta del puente rectificador que obtiene el valor absoluto de la señal de entrada proveniente del transformador, seguido de este en la salida de dicho rectificador le sigue dos condensadores de 100uF que harán que se obtenga una señal completamente recta, esta a su ves será la entrada del circuito de regulación compuesto principalmente por el circuito integrado LM7805 que es un regulador de voltaje muy popular con una entrada de hasta 37V y una salida regulada de 5 voltios, en la terminal 3 de este CI se encuentra un capacitor necesario para estabilizar la señal de salida del regulador (es requerido) y los diodos D1 y D2 son diodos de protección para conducir las corrientes que circulen en sentido contrario a tierra mediante el diodo D1 y los sobrevoltajes (voltajes por encima del voltaje que se encuentra en la terminal 1 del 7805) los conducirá hacia la fuente mediante el diodo D2.

Módulo de Potencia

Este módulo es de vital importancia para el manejo del electroimán ya que este se encargará de suministrar la corriente necesaria al mismo, asimismo brindara un aislamiento total del circuito de control para evitar problemas de ruido y transientes que puedan incidir sobre el funcionamiento de dicho circuito y/o su destrucción. A continuación se mostrara el diagrama circuital y una explicación detallada de cada una de las partes que lo componen.
gráficos43
Gráfico 17. Módulo de potencia con optoacoplador.
Como se menciono antes este circuito cumple con dos funciones: aislamiento y potencia. La primera esta compuesta por el optoacoplador que tomará una señal de entrada desde la terminal 1 para excitar el LED que esta en su interior y a su ves el fototransistor, este por su lado cumple con la puesta a tierra de la resistencia R4, llevando así la base del transistor Q1 a tierra y por tanto poniendo el transistor en corte. Cuando el transistor interno del optoacoplador esta en corte entonces en la base del transistor Q1 se ve un voltaje que es el resultado de aplicar un divisor de tensión entre la resistencia R4 y R5, este voltaje es suficiente para excitar la compuerta del transistor Q1 y poner el mismo en saturación y permitir que por la bobina circule una gran corriente; el diodo tener dispuesto entre la compuerta de Q1 y tierra compone un sistema de protección contra sobrevoltajes para evitar que Q1 se dañe debido a que el voltaje máximo que tolera es de 20 V. El diodo D1 es un diodo Schottky que esta dispuesto allí para evitar que las corrientes transitorias de la bobina dañen el transistor, se escogió un diodo de este tipo debido a que se requiere que la velocidad de conmutación sea lo mas rápida posible para evitar que pasen corrientes a través del mismo cuando el circuito trabaja a altas frecuencias.
Aparte de esto se logra notar que esta dispuesto una pequeña fuente de poder, la misma será utilizada para alimentar un cooler que enfriara el disipador tanto del propio regulador (7812) como del transistor Q1.

El Electroimán

Este módulo es uno de los más sencillos ya que solamente consta de un solo inductor con un núcleo ferroso de forma cilindrica con una resistencia interna de 1.1 Ohm a 25 °C, una inductancia de 11.61 mH, y 625 espiras, por tal motivo no se describirá diagrama circuital del mismo.
Para la excitación del electroimán se contara con un circuito de potencia activado por una señal PWM proveniente del microcontrolador. Para que circule una corriente igual a 0 Amps por el electroimán inicialmente el valor del ciclo útil deberá ser de aproximadamente 44,92%, esto se debe a que la respuesta en frecuencia de este es bastante pobre por los tipos de materiales que se emplean, por ser un núcleo macizo de hierro y un bajo porcentaje de acero, este no responde bien a velocidades muy altas, es por eso que para el diseño se configuro la frecuencia del PWM para ser la mínima entregada por el microcontrolador.

Módulo de realimentación (Sensor de Distancia)

Este módulo es quien se encarga de aportar la información sobre la posición del objeto en el eje vertical, este módulo esta compuesto principalmente por circuito que consta de una serie de 4 LEDs IR dispuestos en línea recta y en su frente 4 fotodiodos infrarrojos, el conjunto completo conforma un sistema de sensado mediante interrupción del haz de luz infrarroja.
gráficos44
Gráfico 18. Módulo de realimentación (Sensado).
En este circuito se logra apreciar la sencillez del mismo, simplemente consta de 4 pares emisor-receptor infrarrojo (el objeto se desplazará entre los sensores). La salida de los fotodiodos es sumada y filtrada previamente antes mediante un filtro pasabajas pasivo y luego es amplificada para ofrecer un valor de operación aceptable por el ADC del microcontrolador.
Es importante considerar que este sensor (e incluso la mayoría de los que se pudiera conseguir en el mercado) es no lineal, esto es importante considerarlo a la hora de realizar pruebas y simulaciones, debido a que debemos operar en las zonas mas próximas a una región lineal para que el sistema no sea mas inestable de lo que es por naturaleza. Para saber que zonas de trabajo del sensor son las más ideales se debe obtener una función que represente la salida del sensor en función de la altura del objeto. Para lograr esto se implemento una herramienta de graficación de Microsoft Excel (ver gráfico 37). La función descrita es la siguiente:
Objeto105 (1)
gráficos45
Gráfico 19. Respuesta del sensor.
La ecuación (1) describe el comportamiento del sensor en función de la altura medida desde la base de la maqueta, sin embargo para efectos de cálculos se necesita obtener la medida de la distancia desde el objeto hasta el electroimán (ver gráfico 38), lo que indica que la ecuación quedaría de la siguiente forma:
Objeto106
gráficos46
Gráfico 20. Respuesta del sensor ante h-y.
Donde el termino h-y representa la distancia que hay desde el objeto hasta el electroimán (h = altura del electroimán; y = altura del objeto).

Módulo de control

Este módulo llevará a cabo todo el trabajo "pesado" del sistema, este es quien se encargará de evaluar los datos y las condiciones para generar una salida que será aplicada al electroimán (planta), el corazón de este módulo es el microcontrolador PIC18F4550, el circuito de este módulo se describe en el siguiente diagrama:
gráficos47
Gráfico 21. Módulo de control.
Este circuito esta compuesto por varios módulos que controlan cada uno de los parámetros para hacer los cálculos correspondientes en el microcontrolador. En la parte superior se aprecia una LCD que servirá para monitorear la posición del objeto, el setpoint, así como también los valores de las constantes del controlador PID.
Por otro lado se encuentran los 9 pulsadores que serán utilizados para controlar las constantes Kp, Ki y Kd, y la posición deseada para el objeto (setpoint).
El microcontrolador generará una señal PWM que variara su ciclo útil de acuerdo del resultado obtenido al calcular los términos delcontrolador PID, esta señal va directamente al módulo de potencia y será la responsable de que el electroimán se excite correctamente al pasar por el pulsos electrónicos de ancho variable.
Habiendo descrito la configuración del hardware de este módulo, se procederá ahora con una descripción resumida del software en diagramas de flujo que maneja el microcontrolador. Para efectos de simplicidad se reducirá al máximo la cantidad de bloques y se hará énfasis sobretodo en aquellos bloques que intervengan en el cálculo de los valores del PID.
Diagrama de flujo cuerpo principal
Gráfico 22. Diagrama de flujo del cuerpo principal.
Acá se muestra un diagrama de flujo bastante simplificado de la rutina que realiza el cuerpo principal, en este cuerpo solamente se ejecutan procedimientos de inicialización y actualización de las constantes que pueden ser modificadas por los seis pulsadores dispuestos en el puerto B. En el primer bloque se tiene la configuración del modo en que trabajara el microcontrolador, estas configuraciones van desde la selección del oscilador hasta la configuración de los periféricos que serán utilizados para llevar a cabo el desarrollo del programa. El botón llamado escalón se encarga de introducir a la entrada del sistema lo mas próximo a una señal escalón unitario, esto para poder ver algunos de los efectos y el comportamiento del controlador PID, como por ejemplo las oscilaciones, el sobreimpulso, entre otros. A continuación se describirán las configuraciones de de cada uno de estos módulos, así como la fuente de reloj, entre otros.

Selección del Reloj

Antes de empezar a trabajar con el microcontrolador se debe seleccionar que señal de reloj gobernara al mismo. Para este caso particular se selecciono una frecuencia de reloj de 48 MHz, lo que indica que ejecutara 12 MIPS (Millones de Instrucciones Por Segundo) según las especificaciones del fabricante. Para obtener tal configuración se utiliza un cristal de cuarzo de 4 MHz y el multiplicador de frecuencia interno de microcontrolador (obtenido a base de un PLL) llevará estos 4 MHz a 96 MHz, asimismo el microcontrolador posee internamente un divisor de frecuencia que lleva esos 96MHz a los 48MHz que se necesitan.
A partir de esta configuración se puede establecer el “comportamiento” del microcontrolador, los puertos se configuran de la siguiente forma:
PUERTO A
-
D – O
D – O
D – O
D – O
D – O
D – O
A – I
Bit 7

Bit 0

Leyenda:
A: Entrada Analógica
D: Entrada/Salida Digital
O: Salida
I: Entrada
Tabla 1. Configuración del Puerto A.
PUERTO B
D – I
D – I
D – I
D – I
D – I
D – O
D – O
D – O
Bit 7

Bit 0

Leyenda:
A: Entrada Analógica
D: Entrada/Salida Digital
O: Salida
I: Entrada
Tabla 2. Configuración del Puerto B.
PUERTO C
D – I
D – O
D – I
D – I
-
D – O
D – O
D – O
Bit 7

Bit 0
Leyenda:
A: Entrada Analógica
D: Entrada/Salida Digital
O: Salida
I: Entrada
Tabla 3. Configuración del Puerto C.
PUERTO D
D – O
D – O
D – O
D – O
D – O
D – O
D – O
D – O
Bit 7

Bit 0
Leyenda:
A: Entrada Analógica
D: Entrada/Salida Digital
O: Salida
I: Entrada
Tabla 4. Configuración del Puerto D.
PUERTO E
D – O
D – O
D – O
Bit 7

Bit 0
Leyenda:
A: Entrada Analógica
D: Entrada/Salida Digital
O: Salida
I: Entrada
Tabla 5. Configuración del Puerto E.

Conversor A/D

El conversor A/D es un modulo integrado en el microcontrolador que se encargara de tomar la lectura del voltaje presente en su entrada, dicho voltaje será el proveniente del sensor de posición, al ser convertido a un valor digital este podrá ser procesado por la rutina matemática del microcontrolador.
De esta manera quedan configurados los puertos para intercambiar información con el exterior. Luego de esto se procede con la configuración del convertidor A/D el cual quedo configurado de la siguiente forma:
CONVERSOR A/D
Canal 0:
RA0/AN0 – PIN 2
FCLK
Fosc/64
Interrupción
No
Tabla 6. Configuración del Conversor A/D.

Configuración de Interrupciones

En el desarrollo del software se manejan dos procesos de interrupciones; uno de alta prioridad que corresponde a la base de tiempo que tomará el controlador PID para realizar los cálculos matemáticos y generar un valor para el controlador PID, el otro es una interrupción que se utiliza para el refresco periódico de la pantalla LCD. La interrupción de prioridad es configurada mediante el TIMER 1 y esta programada para que se ejecute aproximadamente cada 1 ms. Dentro de esta rutina se le da una prioridad exclusiva al cálculo de los términos del PID y la lectura de la posición del objeto, convirtiendo el valor del voltaje que tiene el sensor en su salida.

Configuración del TIMER 1

Este timer de 16 bits esta configurado para tener un retardo aproximado a 1 ms. que representa el tiempo de muestreo que se necesita para que el modulo realice los cálculos matemáticos., una vez que se han desbordado los registros de este timer activaran automáticamente una interrupción que atenderá las rutinas de calculo de los términos del controlador PID. Cabe destacar que el tiempo de muestreo puede variar algunos microsegundos, dependiendo de la necesidad de atender algunas condiciones establecidas en el algoritmo para el cálculo de los valores del PID.
Para la configuración de este timer se tomaron en cuenta los siguientes datos expresados en la siguiente tabla:
TIMER 1
Preescalador
No
Precarga inicial
0xD147 (Puede Variar)
Tabla 7. Configuración del Timer 1

Configuración del módulo PWM

Este periférico será el encargado en suministrar una señal de pulso al electroimán, en este caso mediante la señal PWM se podrá controlar la corriente promedio que circula por el electroimán haciendo variaciones en el ciclo útil de la señal. Inicialmente se procede a activar el módulo con un ciclo útil igual a 44,92% (la razón del porque se carga con este valor fue explicada en la sección El Electroimán) de modo que en el primer milisegundo no haya corriente en el electroimán sino hasta que se haya calculado el primer valor del termino PID, luego que esto haya ocurrido se asignara el valor correspondiente al PWM para dar una respuesta al sistema. La frecuencia de trabajo del PWM es de 2929.6 Hz valor que se obtuvo al emplear la formula descrita por el fabricante:
Objeto107
Donde:
PS = Preescalador del Timer2
Tosc = Periodo del reloj
PR2 = valor de el registro PR2
Asimismo al tomar los siguientes valores la frecuencia resulta:
Objeto108

Calculo de los Términos del controlador PID

Una vez establecido todos los parámetros iniciales y la configuración de cada uno de los módulos que se utilizarán para el desarrollo de la aplicación es conveniente proceder a explicar el algoritmo que se siguió para la implementación del controlador PID en un sistema digital.
Para comenzar se debe hacer uso de la representación en el plano Z del controlador PID, lo cual fue descrito anteriormente (Controladores PID en tiempo discreto), en donde se demuestra que el termino integrativo puede expresarse como la sumatoria de todos los errores que han transcurrido hasta el instante actual por la constante Ki y el termino derivativo se puede expresar como la diferencia entre el error actual y el error anterior por la constante Kd, asimismo el termino proporcional es la multiplicación del error por la constante Kp.
Teniendo estos conocimientos básicos sobre la representación de un controlador PID en un modelo discreto se puede establecer un algoritmo para el cálculo del valor del controlador PID para un instante de tiempo, dicho algoritmo toma como intervalo de tiempo 1ms y es ejecutado cada vez que se produce una interrupción por desbordamiento del timer 1. Todo esto se realizo en MPLAB C18, una herramienta muy poderosa para programación y depuración de microcontroladores Microchip en lenguaje C.
En la siguiente tabla se muestra la definición de los registros más importantes para llevar a cabo el desarrollo de los cálculos y correcto funcionamiento del controlador PID.
Registros Comunes
Nombre
Tamaño (bytes)
Descripción
tMuestreo
const unsigned int
Constante que definirá el valor de precarga del timer 1, para así establecer el tiempo de muestreo de la interrupción de prioridad.
limite_pid
const signed long
Establece el límite del controlador PID para que este no produzca desbordamientos o sobreexceda los valores óptimos.
limite_pwm
const unsigned int
Similar al anterior pero aplicado al PWM. Se explicara con mas detalle en los siguientes párrafos
lim_inf_pwm
const unsigned int
Similar al anterior pero en este caso denota el limite inferior del PWM
limite_acum_error
const signed short long
Establece un límite para el error acumulado, para que este no tienda al infinito.
kp
unsigned int
Denota el valor de la constante Kp.
ki
unsigned int
Denota el valor de la constante Ki.
kd
unsigned int
Denota el valor de la constante Kd.
posición
unsigned int
Aquí se guarda el valor de la posición leído por el ADC.
setpoint
unsigned int
Es el punto deseado por el usuario para que se encuentre el objeto.
error
signed int
Significa el resultado de restar el setpoint menos la posición actual.
error_anterior
signed int
Guarda el valor del error obtenido anteriormente.
error_acumulado
signed long
Contiene el valor del error acumulado hasta el momento.
prop_term
signed long
Almacena el valor del término proporcional.
int_term
signed long
Almacena el valor del termino integrativo.
deriv_term
signed long
Almacena el valor del término derivativo.
pid
signed long
Es el resultado de la suma de las tres variables anteriores.
pwm_val
signed long
Contiene el valor actual del PWM.
Tabla 8. Registros usados en el código fuente.
Como ya se había comentado anteriormente el desarrollo de la rutina del PID (ver gráfico 41) se lleva a cabo en un servicio de interrupción generado por el desbordamiento del timer 0 cada 1 ms. En el siguiente diagrama de flujo se muestra un resumen de dicha rutina y posteriormente serán definidos cada uno de los procedimientos que la componen.
Diagrama de flujo de las interrupciones
Gráfico 23. Diagrama de flujo de la rutina del PID.
Esta rutina básicamente obtiene los valores de las variables SP y POS que son el setpoint y la posición del objeto respectivamente y se calculan los términos necesarios para obtener un resultado final.

Descripción de los bloques

Leer posición: En el primer bloque se lee la posición del objeto que será obtenida a partir de la lectura del valor de la salida del sensor a través del conversor A/D del microcontrolador.
Error_anterior = error: Acá se mueve el valor del error actual a la variable error_anterior con el fin de realizar un nuevo cálculo del error actual y utilizar ambas variables a futuro para la realización del cálculo del término derivativo.
Error = setpoint – posición: Luego de finalizar el bloque anterior se procede a calcular el nuevo valor del error y esto se consigue restando el setpoint con la posición actual.
Calcular Término Proporcional: En este bloque se procede a calcular el valor del término proporcional efectuando una operación de multiplicación con signo del valor de la constante Kp por el valor del error actual (error).
Calcular Termino Integrativo: El termino integrativo se calcula acumulando los errores (error_acumulado) que se van leyendo a lo largo del desarrollo de la rutina y multiplicando con signo a este por la constante Ki.
Calcular Término Derivativo: Este término se calcula restando el valor del error actual (error) con el valor del error anterior (error_anterior) y multiplicando con signo a este por el valor de la constante Kd.
Obtener Resultado PID: Una vez que se han calculado todos los términos anteriores, es hora de devolver un resultado del PID (PID), esto se obtiene sumando algebraicamente todos los términos anteriores, primero se suma el termino proporcional con el termino integrativo y luego el resultado de estos se suma con el termino derivativo, el signo de este resultado se devuelve en el registro signos.

Datos sobre el consumo del sistema

En esta sección se dará a conocer algunos datos importantes sobre el consumo del sistema completo y en caso de que sea posible efectuar las mediciones en algunos módulos aislados también se mostrara. La comprensión del consumo de energía es de suma importancia porque da una idea del gasto de energía que este dispositivo tiene, es importante recordar que actualmente el ahorro de energía es uno de los temas mas analizados a nivel mundial. Aunque se tomo en cuenta el consumo de energía, la minimización del mismo tiene sus limites, es de recordar que el electroimán es un elemento que requiere mucha potencia para que pueda tener una fuerza suficiente para elevar cualquier objeto, es por eso que el ahorro de energía del levitador se ve limitado por el electroimán básicamente. A continuación se mostrara una tabla más detallada sobre estos datos.
Consumo
Elemento
Condición
Máx
Tip
Min
Unidad
Corriente Electroimán
V = 34V
14
12

A
Corriente Mod. Control
V = 5V
115
65

mA
Corriente Fuente
V = 110Vrms; Sin Carga
20
15

A
Tabla 9. Datos sobre el consumo del equipo.

Pruebas y Resultados

En esta sección se presenta un resumen acerca de los tipos de pruebas que se hicieron sobre los elementos, los fallos y el por que de los mismos, así como también algunas recomendaciones de diseño para futuras aplicaciones. Cabe destacar que por ser un sistema complejo, es casi imposible llegar a una solución del mismo en un solo intento, para el desarrollo de este proyecto se tuvo que evaluar el comportamiento de diversos elementos y verificar si estos cumplían con las especificaciones que requiere este sistema, no obstante, a pesar de los diferentes fallos presentados a lo largo de este proyecto se pudo obtener al final un desempeño optimo que cumple con las expectativas pautadas.
A continuación se presentara una lista de algunas de las pruebas más relevantes hechas para el desarrollo de este sistema.

Pruebas realizadas con los sensores de distancia

  • Sensor de distancia Sharp GP2D02: este es un sensor bastante versátil y muy práctico por su salida analógica con una sensibilidad bastante alta y un rango de operación suficientemente amplio (hasta 80cm). Sin embargo, a pesar de su versatilidad y practicidad, este tiene un defecto lo suficientemente significativo como para ser tomado en cuenta en el desarrollo del experimento, su velocidad de muestreo; aunque parezca extraño los términos velocidad de muestreo en un sensor analógico, es así, este sensor opera haciendo muestreos cada 38 ms., lo que es demasiado lento para el modulo de control, el cual necesita una respuesta de un máximo de 5ms aproximadamente (mediante pruebas realizadas se llego a este valor). En resumen, si el modulo de control cuenta con un elemento de realimentación muy lento, este tendrá una respuesta retardada a lo que esta sucediendo en la realidad, entonces el modulo de control emitirá valores desfasados, lo que hará que el sistema continúe siendo inestable.
  • Circuito para sensor analógico (véase gráfico 42): en vista de los problemas de retardo presentados con el sensor anterior, es considerable la opción de diseñar un sensor analógico que actúe en tiempo real a la respuesta del sistema. El sensor es de tipo reflectivo, consiste en un LED emisor infrarrojo y un fotodiodo receptor, el fotodiodo se encarga de sensar la cantidad de luz reflejada sobre el objeto. A pesar del desempeño del sensor, de su alta fidelidad y su bajo nivel de ruido, además de solucionar el problema de retardo, este no cumplió con las especificaciones requeridas por el circuito. El problema de este sensor radica en que la salida es totalmente no-lineal y presenta un incremento exponencial cuando se le aproxima un objeto, esto presenta una gran desventaja ya que el sistema requiere que se tenga la respuesta más lineal posible del sensor. En el siguiente gráfico se anexara el circuito desarrollado para este propósito.
gráficos48
Gráfico 24. Circuito del sensor.

Pruebas realizadas con los módulos de potencia

  • Modulo de potencia: este quizás fue uno de los módulos con más inconvenientes sobre todo el proyecto. Debido a la cantidad de corriente suministrada por la fuente al electroimán, es de imaginar que se requerirían elementos de alta potencia, sin embargo, conseguirlos e implementar el mejor circuito para ello represento un gran problema. Se hicieron varias pruebas con diferentes circuitos para llegar al más óptimo, inicialmente se probó con transistores mosfet de alta corriente (IRF540N) sin aislamiento (véase gráfico 43)del circuito de control. Esto ultimo representaba un gravísimo problema, debido a que por el manejo de altas corrientes, existían corrientes que se fugaban y creaban diferencias de voltaje entre los terminales de tierra del circuito de control y del sensor, lo que causaba que el microcontrolador se reseteara a cada momento y que el sensor tuviera salidas indeseadas, provocando que el levitador se comportara de manera irregular.
gráficos49
Gráfico 25. Circuito de potencia sin aislamiento.
Finalmente, debido a este grave problema se opto por aislar el modulo de potencia del circuito de control mediante un optoacoplador, esta fue una solución radical al problema de las fugas de corriente, logrando que el sistema se comportara lo mas estable posible, sin percances.

Conclusiones

El empleo de los controladores PID puede ser una solución muy viable a la hora de querer resolver un problema de estabilidad, hoy en día son muchos los elementos y sistemas que requieren un control preciso y bastante estable de las variables que lo rigen. El motivo por el cual se desarrollo este proyecto fue la implementación de estos tipos de controladores, el estudio y comprensión del mismo, así como las variaciones que este puede tener.
Se pudo notar que el comportamiento de este tipo de controladores es bastante preciso incluso en sistemas no lineales, como es el caso de este proyecto, esto quiere decir que se puede aplicar en la mayoría de los casos. Sin embargo los controladores PID tienen sus limites, en la practica se demostró que es importante hacer un estudio matemático previo a la puesta en marcha del controlador, se debe estudiar el comportamiento que este tendrá en el sistema a controlar, si su respuesta es lo suficiente rápida para ofrecer una acción a la variación de un parámetro. Es posible también la combinación de este controlador con otros controladores, e incluso se pueden colocar en cascada varios controladores PID en un sistema, todo depende de las necesidades que haya.
Por otro lado, el tema de la levitación magnética es bastante interesante ya que actualmente ha venido ganando campo en sistemas físicos por el hecho de que en lo posible reduce la fricción estática o roce con elementos sólidos, tal ejemplo es el de los trenes levitadores o Maglev, estos se basan en ese principio para alcanzar tales velocidades, otro hecho curioso es la eliminación del peso del objeto, lo que hace parecer una situación de ingravidez.
Para finalizar, se espera que el desarrollo de este proyecto se pueda implementar para fines didácticos e ilustrativos ya que este es un sistema bastante interesante además de lo complejo que resulta dominar las fuerzas magnéticas.

Anexos

Modulo de alimentacion del controlador PID
Gráfico 26. Modulo de alimentación del controlador PID
Modulo de control PID
Gráfico 27. Modulo de control PID
Modulo de potencia
Gráfico 28. Modulo de potencia
Fuente de alta potencia
Gráfico 29. Fuente de alta potencia
Objeto levitando
Gráfico 30. Sistema funcionando

No hay comentarios:

Publicar un comentario