Hernndez Trejo Ernesto Ramrez Garibay Carlos Gerardo Ruiz Garca Vctor Hugo
Presentan:
Prctica 1: Control de posicin angular con un motor de corriente directa
26/06/2014
Integracin de sistemas mecatrnicos ANTECEDENTES TERICOS.
CONTROLADOR PID.
Consideremos un lazo de control de una entrada y una salida (SISO) de un grado de libertad:
Los miembros de la familia de controladores PID, incluyen tres acciones: proporcional (P), integral (I) y derivativa (D). Estos controladores son los denominados P, I, PI, PD y PID.
o P: accin de control proporcional, da una salida del controlador que es proporcional al error, es decir: u(t) = KP.e(t), que descripta desde su funcin transferencia queda:
Donde Kp es una ganancia proporcional ajustable. Un controlador proporcional puede controlar cualquier planta estable, pero posee desempeo limitado y error en rgimen permanente (off-set).
o I: accin de control integral: da una salida del controlador que es proporcional al error acumulado, lo que implica que es un modo de controlar lento.
La seal de control u(t) tiene un valor diferente de cero cuando la seal de error e(t) es cero. Por lo que se concluye que dada una referencia constante, o perturbaciones, el error en rgimen permanente es cero.
o PI: accin de control proporcional-integral: se define mediante
Donde Ti se denomina tiempo integral y es quien ajusta la accin integral. La funcin de transferencia resulta:
Con un control proporcional, es necesario que exista error para tener una accin de control distinta de cero. Con accin integral, un error pequeo positivo siempre nos dar una accin de control creciente, y si fuera negativo la seal de control ser decreciente. Este razonamiento sencillo nos muestra que el error en rgimen permanente ser siempre cero. Muchos controladores industriales tienen solo accin PI. Se puede demostrar que un control PI es adecuado para todos los procesos donde la dinmica es esencialmente de primer orden. Lo que puede demostrarse en forma sencilla, por ejemplo, mediante un ensayo al escaln.
o PD: accin de control proporcional-derivativa, se define mediante:
Donde Td es una constante de denominada tiempo derivativo. Esta accin tiene carcter de previsin, lo que hace ms rpida la accin de control, aunque tiene la desventaja importante que amplifica las seales de ruido y puede provocar saturacin en el actuador. La accin de control derivativa nunca se utiliza por s sola, debido a que slo es eficaz durante perodos transitorios. La funcin transferencia de un controlador PD resulta:
Cuando una accin de control derivativa se agrega a un controlador proporcional, permite obtener un controlador de alta sensibilidad, es decir que responde a la velocidad del cambio del error y produce una correccin significativa antes de que la magnitud del error se vuelva demasiado grande. Aunque el control derivativo no afecta en forma directa al error en estado estacionario, aade amortiguamiento al sistema y, por tanto, permite un valor ms grande que la ganancia K, lo cual provoca una mejora en la precisin en estado estable.
o PID: accin de control proporcional-integral-derivativa, esta accin combinada rene las ventajas de cada una de las tres acciones de control individuales. La ecuacin de un controlador con esta accin combinada se obtiene mediante:
Y su funcin de transferencia resulta:
Mtodos clsicos de ajuste de Ziegler and Nichols
En esta seccin veremos dos mtodos de ajuste de las ganancias de un controlador PID, el Mtodo de Oscilacin o Mtodo de Respuesta en Frecuencia y el Mtodo Basado en la Curva Reaccin o Mtodo de Respuesta al Escaln. El primero se basa en un lazo de control slo con ganancia proporcional y de acuerdo a la ganancia utilizada para que el sistema empiece a oscilar y al periodo de esas oscilaciones, podemos establecer las ganancias del controlador PID. El otro mtodo se resume en ensayar al sistema a lazo abierto con un escaln unitario, se calculan algunos parmetros, como la mxima pendiente de la curva y el retardo, y con ellos establecemos las ganancias del controlador PID. Estos mtodos fueron propuestos por Ziegler y Nichols (Z-N) en 1942, quienes se basaron en la prctica para desarrollarlos.
Mtodo de oscilacin
Este procedimiento es vlido solo para plantas estables a lazo abierto y se lleva a cabo siguiendo los siguientes pasos:
1. Utilizando slo control proporcional, comenzando con un valor de ganancia pequeo, incrementar la ganancia hasta que el lazo comience a oscilar. Notar que se requieren oscilaciones lineales y que estas deben ser observadas en la salida del controlador. 2. Registrar la ganancia crtica del controlador Kp = Kc y el periodo de oscilacin de la salida del controlador, Pc. (en el diagrama de Nyquist, corresponde a que KcG(jw) cruza el punto (1, 0) cuando Kp = Kc). 3. Ajustar los parmetros del controlador segn la Tabla 1:
Dicha tabla fue obtenida por Ziegler y Nichols quienes buscaban una respuesta al escaln de bajo amortiguamiento para plantas que puedan describirse satisfactoriamente por un modelo de la forma:
LECTURA DATOS ENCONDER. Los codificadores rotatorios (conocidos genricamente como encoders) son mecanismos utilizados para entregar la posicin, velocidad y aceleracin del rotor de un motor. Sus principales aplicaciones incluyen aplicaciones en robtica, lentes fotogrficas, aplicaciones industriales que requieren medicin angular, militares, etc. Un codificador rotatorio es un dispositivo electromecnico que convierte la posicin angular de un eje, directamente a un cdigo digital. Los tipos ms comunes de encoders se clasifican en: absolutos y relativos (conocidos tambin como incrementales). Los encoders absolutos pueden venir codificados en binario o gray. Dentro de los encoders incrementales, se encuentran los encoders en cuadratura, ampliamente utilizados en motores de alta velocidad y en aplicaciones en las que interesa conocer la direccin del movimiento del eje. Encoder en Cuadratura Corresponde a un tipo de encoder incremental que utiliza dos sensores pticos posicionados con un desplazamiento de de ranura el uno del otro, generando dos seales de pulsos digitales desfasada en 90 o en cuadratura. A estas seales de salida, se les llama comnmente A y B. Mediante ellas es posible suministrar los datos de posicin, velocidad y direccin de rotacin del eje. Si se incluye la seal de referencia, se le denomina I (ndice). Usualmente, si la seal A adelanta a la seal B (la seal A toma valor lgico 1 antes que la seal B, por ejemplo), se establece el convenio de que el eje est rotando en sentido horario, mientras que si B adelanta a A, el sentido ser anti-horario.
El disco de un encoder generalmente da una vuelta por revolucin del motor o eje al cual se encuentra adosado. Pero podra estar acoplado a travs de un sistema de transmisin con una proporcin conocida de reduccin o elevacin. De esta manera la frecuencia de la seal A o B variar de manera proporcional a la velocidad del rotor. As, midiendo la frecuencia de dichas seales y conociendo la manera de cmo se encuentra acoplado, es posible determinar la velocidad de giro del eje.
Objetivo
Aplicar tcnicas de control digital para controlar la posicin angular de un motor de corriente directa. El alumno demostrar los conceptos y su aplicacin en el desarrollo de un control digital de posicin angular. Analizar las diferentes herramientas de hardware y software e integrar las que resulten ms adecuadas a la aplicacin.
DESARROLLO
Programar un microcontrolador para medir la posicin angular del rotor de un motor con un encoder de cuadratura. Implementar una comunicacin digital entre el microcontrolador y una computadora (RS-232, USB, etc.) Encontrar la funcin de transferencia del motor. Aplicar alguna tcnica analtica o emprica para la sintonizacin del control digital. Simular la respuesta del motor aplicando el control y obtener o Error en estado estable o Tiempo de respuesta o Amplitud del sobre impulso (en caso de presentarse) Implementar un control digital en LABVIEW, (se dar mayor puntuacin si no se usa el toolkit) y medir nuevamente la respuesta transitoria. Medir los siguientes valores o Error en estado estable o Tiempo de respuesta o Amplitud del sobre impulso (en caso de presentarse) Comparar los resultados de la simulacin y de la implementacin. Presentar sus conclusiones.
RESULTADOS La primera parte de la prctica se realiz configurando nuestra comunicacin USB, esto lo hicimos con el siguiente cdigo, pero utilizando el siguiente nombre:
Con est a lti ma part e de nue stro pro gra ma con figuramos nuestro cable USB para que cada vez que este estuviera conectado con la computadora esta lo identificara como Los pepinots. A partir de esta parte solo corroboramos que la comunicacin USB ya fuera viable, para posteriormente hacer la lectura de nuestro PID. Una vez teniendo de una manera viable nuestra comunicacin con nuestro USB, utilizamos el siguiente programa para dar paso a la lectura de nuestro encoder, esto lo hacemos con un programa que se enfoca en las interrupciones que nuestro PID genera. El programa utilizado fue el siguiente:
Una vez teniendo est parte lo siguiente fue ubicar la direccin en el NI max para que nuestra interfaz con LABVIEW funcionar de una manera correcta. La direccin que se obtuvo y con la que nuestro programa corri correctamente fue la siguiente:
El siguiente paso que realizamos en nuestra prctica fue programar nuestro microcontrolador 18F4550-A, con el fin de que se pudiera obtener el control de nuestro motor con encoder de cuadratura. 1.- Primero declaramos las variables que utilizaremos y llamamos a las libreras.
2.- La segunda parte de nuestro programa trata de la lectura de datos del encoder, esto se realiz con interrupciones, y posteriormente de estos datos fue que se realiz el cont rola dor PID.
3.- En la siguiente parte del programa se elimina la letra P la cual sirve como indicador para la introduccin del valor asignado al PWM, si se introduce algn otro carcter, entonces el valor no ser enviado al PWM.
4.- Por ltimo se establece la comunicacin del PIC con LabView:
Se realiz una programacin en LabView para poder leer los datos del encoder y dentro del mismo realizar el control PID de nuestro motor, esto control ya viene dentro de la programacin de LabView. La interfaz que ocupamos fue la siguiente:
Dentro de esta interfaz obtenemos las grficas del control de nuestro motor, para de aqu obtener los valores de Ziegler Nichols.
A partir de estos datos aplicamos el mtodo analtico de Ziegler Nichols y obtuvimos los siguientes datos: KP TI TD P Kc/2 0 0 PI Kc/2.2 Tu/1.2 0 PID Kc/1.7 Tu/2 Tu/8
Kc= valor de ganancia proporcional critica en el cual el sistema oscila. Tu= tiempo entre oscilaciones en ciclo completo. Kc= 17 Tu= 5.44x10 -3
KP TI TD P 17/2 0 0 PI 17/2.2 5.44x10 -3 /1.2 0 PID 17/1.7 5.44x10 -3 /2 5.44x10 -3 /8
KP TI TD P 8.5 0 0 PI 7.7272 4.53x10 -3 0 PID 10 2.72x10 -3 6.8x10 -3 /8
Segundo mtodo: Herramienta IDENT de Matlab
Este mtodo estima una funcin de transferencia a partir de la respuesta generada al escaln del motor. El procedimiento para llevar a cabo este mtodo se describe en el anexo 1. Los resultados obtenidos fueron los siguientes:
ANEXO1.
Haciendo uso de la herramienta de LABview, exportamos la grfica generada en un formato de Excel, despus le quitamos los ttulos para dejar solamente los valores y lo guardamos como formato de texto para exportarlo a Matlab. En Matlab cargamos el archivo llamndolo desde la ventana principal, despus cargamos cada columna independientemente asignndole un nombre de variable. Posteriormente abrimos la herramienta IDENT y seleccionamos Import Data, cargamos los valores de nuestras grficas (Input, Output) y en la lectura de datos le damos 4 milisegundos. n para coincidir con el delay de procesamiento y obtener una grfica igual.
Importamos los valores y nos genera una grfica aproximada, con esta le indicamos que genere una funcin de transferencia. Nos pide la cantidad de polos y ceros con que quiere que la cree, seleccionando valores aleatorios buscando que se aproxime lo ms posible a la respuesta del sistema.
Elegimos la funcin con 4 ceros y 3 polos.
Le pedimos la funcin de transferencia.
Hacemos uso de la funcin de Simulink para realizar una sintonizacin automtica del PID a partir de la funcin de transferencia obtenida.
Pedimos que realice la sintonizacin automtica obteniendo estos valores:
Nos devuelve una grfica con la respuesta, y corroboramos que es la adecuada para nuestro sistema.
Al aplicar el control PID nos damos cuenta que es eficiente ya que se disminuye el sobre impulso como se muestra en las siguientes grficas, donde comparamos los resultados de nuestra simulacin y nuestra implementacin.
Siendo la primera grfica nuestra implementacin con los datos que se muestran en la figura, y la segunda imagen corresponde a la simulacin con sus datos correspondientes, y nos damos cuenta como lo habamos mencionado que nuestro control es eficiente, ya que se reduce de manera notable el sobreimpulso.
CONCLUSIONES
Al realizar esta prctica podemos concluir que es posible generar un control PID por medio de LABview, utilizando un microcontrolador como medio de comunicacin entre nuestro sistema o planta y el ordenador, estableciendo comunicacin mediante el puerto USB, adems de poder implementar distintos mtodos para calcular los valores de ganancias para el control PID, por ejemplo, en este caso por el mtodo de Ziegler-Nichols y utilizando la herramienta IDENT de la plataforma MATLAB, todo esto en conjunto para controlar la posicin de un motor con la acoplacion de un encoder. REFERENCIAS.
1.- Controladores PID. Virginia Mazzone http://www.eng.newcastle.edu.au/~jhb519/teaching/caut1/Apuntes/PID.pdf 2.- El controlador bsico PID. http://lra.unileon.es/es/book/export/html/268 3.- Sistemas de Control Automtico. Gua 6 http://www.udb.edu.sv/udb/archivo/guia/electronica-ingenieria/sistemas-de-control- automatico/2013/i/guia-6.pdf