Professional Documents
Culture Documents
DISEO DE CONTROLADOR PID, FUZZY Y PI-FUZZY PARA UNA PLANTA DE LUZ MEDIANTE SOFTWARE MATLAB Y LABVIEW
Xavier Villamar
e-mail: xavillamar@espe.edu.ec
Santiago Jimnez
e-mail: svjimenez@espe.edu.ec
El artculo presenta la fomra detallada de como disear de la mejor manera diferentes tipos de controladores para una planta de luz, que fue construida en una caja de madera y utilizando como principal microcontrolador AVR y la placa de diseo ARDUINO, tambin un shield para poder colocar los leds y el acondicionamiento de los sensores (LDR) que servirn para la emisin y recepcin de luz en el interior de la caja, para el control PID se utiliz el software MATLAB para la recepcin de los datos, realizar el control, y enviar nuevamente al microcontrolador para su salida posterior PWM y modificar la intensidad de la luz segn el valor de referencia. Los otros controladores se los realiz de una manera similar, para el envo y recepcin de la seal pero utilizando diferentes criterios para el algoritmo y posterior programacin en MATLAB y LABIEW ya que la programacin en el microcontrolador es la misma para todos. PALABRAS CLAVE: PID, Fuzzy, Labiew, Matlab, PWM, LDR.
RESUMEN:
en estado estacionario, tomando en cuenta el valor de referencia o perturbaciones que se presenten en la planta. Estabilizar la planta de tal manera que se llegue a obtener un valor muy cercano a cero, de error en estado estacionario.
1 INTRODUCCIN
El artculo presenta las caractersticas de cada uno de los controladores, as como el criterio para poder disear de una manera lgica distintos tipos de controladores para una planta de luz con sensores LDR y una salida desde le microcontrolador PWM.
2 GENERALIDADES
2.1 ARDUINO
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseada para facilitar el uso de la electrnica en proyectos multidisciplinares. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores ms usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de mltiples diseos. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de
2.2 MATLAB
MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es una herramienta de software matemtico que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programacin propio (lenguaje M).
2.3 LABVIEW
LabVIEW (acrnimo de Laboratory Virtual Instrumentation Engineering Workbench) es una plataforma y entorno de desarrollo para disear sistemas, con un lenguaje de programacin visual grfico. Recomendado para sistemas hardware y software de pruebas, control y diseo, simulado o real y embebido, pues acelera la productividad. El lenguaje que usa se llama lenguaje G, donde la G simboliza que es lenguaje Grfico.
2.7 LDR
Una fotorresistencia o LDR es un componente electrnico cuya resistencia disminuye con el aumento de intensidad de luz incidente.
3 DESARROLLO
3.1 DISEO DE LA PLANTA
Para el control se requiere en primer lugar de una planta, la cual fue diseada con el fin de obtener un cuarto obscuro y a la cual se la pueda aadir en cualquir momento perturbaciones para verificar la velocidad de respuesta que tiene el sistema. La caja tiene una tapa principal, que es para poder remover los elementos que se coloquen en su interior y dos tapas pequeas que, como se dijo antes, es para simular perturbaciones. En la cara superior de la caja se coloc la placa de diseo ARDUINO y en ella se instal un shield para ubicar en ste los leds, su acondicionamiento y tambien las LDR, stos sensores fueron colocados en la cara inferior de la caja (frente a los leds) para que la medida de stos sea mejor. Adems se utilizaron dos LDR con el fin de promediar su valor medido y as obtener una seal mucho mas precisa y minimizar el error que se genera al trabajar con ste tipo de sensores. Otra de las caractersticas que posee sta planta, es la de tener en su interior una Cmara Web con la cual se puede observar que est sucediendo con los leds y cual es la accin del PWM que est actuando en ellos.
PID
UTILIZANDO
Los resultados que se obtienen despus de varias modificaciones en las constantes fueron:
El controlador PID se lo realiz mediante un algoritmo base de programacin. Hay que mencionar que la implementacin de ste algoritmo se la realiz exclusivamente para MATLAB, pero se lo podra realizar en otrosoftware con caractersticas similares. La frmula para calcular la seal de control, se la puede definir, de manera general, de la siguiente manera.
Figura 1: Controlador PI
El Algoritmo de control es el siguiente: 1. 2. 3. 4. 5. 6. 7. 8. 9. Determinar Kp, Ki y Kd. Determinar valores iniciales: en-1 (error), Int prev (Integracin previa) y Ts (tiempo de muestreo). Reestablecimiento del tiempo de muestreo. Introduccion del error en. Calcular Un Actualizar la parte integral, sin la constante Ki (todo lo que esta en corchetes). Actualizar: en-1 - en. Esperar tiempo de muestro. Ir a 3. Y repetir el ciclo
Como podemos observar en la Fig 1, el sobrepico que se obtuvo fue muy pequeo y la velocidad a la cual se estabiliza es muy alta.
Figura 2: Perturbaciones
Con ste algoritmo, utilizando la formula para encontrar el valor de la variable de control se logra un control de una manera rpida y muy precisa. El procedimiento que se sigue para el envio y recepcin de datos se la puede establecer de la siguiente manera: en primer lugar se le da un valor de referencia y damos inicio al sistema, por esta razn se tendr un valor de error muy elevado, ste dato de informacin de la cantidad de luz que se tiene, es leido por los sensores de luz e inmediatamente enviado al MATLAB, por medio de comunicacin serial. Los datos que ingresan al MATLAB se modifican para que puedan entrar al algoritmo de control, de esta manera actan al mismo tiempo las tres varibles del controlador, obteniendo as el error que se debe corregir, ste valor es enviado nuevamente hacia el microcontrolador como PWM para que afecte la intensidad lumnica de los leds, y el ciclo se reinicie, pero con un nuevo valor ledo por las LDR. Las constantes que se utilizaron para el control, fueron las siguientes: Kp = 0.4; Ki = 0.008; Kd = 0; Con un tiempo de muestreo: Ts = 0.145;
En la Fig 2 se puede observar en los picos elevados, la reaccion que tiene la planta a las perturbaciones que se le dio, dando como resultado un control muy bueno. La intensidad de luz que se observa es muy alta con referencia al set point elegido, esto se debe a que se tap ligeramente las LDR razon por la cual el controlador intenta dar mayor luz y llegar as al valor de referencia deseado, y como nos podemos dar cuenta no se observan picos y esto nos hace entender que el control es muy rpido.
La Fig 3 muestra la respuesta que a distintos valores de referencia en toempo real, de la misma manera que la respuesta a las perturbaciones, la velocidad de respuesta es muy alta, y el error es mnimo.
LAZO
Medio Alto
Para el controlador Fuzzy, en lazo abierto, se deben tener varias consideraciones, ya que aqu no hay un seal de realimentacin con la cual se pueda comparar el valor que se obtiene, es por sta razn que ste tipo de controlador no es muy exacto como el anterior, sin embargo, mediante las reglas que se implementen, se podr obtener un controlador, un poco ms exacto. Para la determinacin de la cantidad de luz que leen las LDR y poder relacionar con la salida PWM, se colocaron los siguientes rangos. Rangos para el sensor, se colocaron cinco diferentes para obtener as un mayor rea de control. Muy Oscuro Oscuro Media Luz Claro Muy Claro
De esta manera lo que se quiere es que para cada uno de los rangos que se obtienen, tenga una accion la salida de PWM y asi poder tener un control, sin embargo, al no tener una realimentacin, no es posible obtener datos acerca del error, en este caso no interesa si el control no llega al set point sino que al iniciar, su valor sea el ms cercano posible. Los rangos para la salida se los menciona de la siguiente manera: Bajo
Se puede observar en la Fig. 8 que el control llega aproximadamente al valor de referencia e intenta mantenerce en ese estado.
El controlador difuso funciona como uno convencional puesto que a partir de la entrada, por medio de algn algoritmo, genera una salida, llamndose este proceso inferencia difusa y se lleva a cabo en tres partes: Fusificacin, donde la seal de entrada real es convertida en un valor difuso. Evaluacin mediante reglas, en donde los valores de la salida difusos se calculan. Defusificacin, donde el valor de la salida difusa se convierte a un valor de salida real. En la fusificacin, la diferencia con un esquema convencional es la manera en que la variable de entrada es considerada, en lugar de usar su valor, se usan funciones de membreca. Para nuestro estudio se consideraran que para un valor muy bajo de error se dir que es negativo, si el error se disminuye, se dir que es negativo bajo, y asi progresivamente si los valores de error sigue disminuyendo hasta llegar a cero y luego van aumentando se dir que es cero, positivo bajo y positivo alto. Es por sta razn que el rango que se determin para el error va de un valor negativo a un valor positivo.
correspondientes a un valor que depende del valor de pertenencia de la entrada. Lo anterior se puede hacer de varias maneras. Por ejemplo, se puede considerar el centro de gravedad de la figura geomtrica resultante y de ese valor inferir la salida.
Los resultados que se obtuvieron a partir de ste tipo de controlador fueron, sin duda, los mejores de todos, ya que se elimina en un gran porcentaje el sobrepico, y aumenta relativamente la velocidad.
Como se puede observar en la Fig 13 la respuesta de ste controlador es muy buena, con diferentes valores de referencia se puede observar que se eliminan los sobrepicos, y a las perturbaciones responde muy bien.
En la defusificacin, la salida del sistema difuso se calcula mediante el disparo de las reglas