practicapidlabview-141020202100-conversion-gate02.pdf

19
Trabajo Práctico N° 10 IMPLEMENTACIÓN EN LabView DE UN CONTROLADOR PID Breve introducción teórica: PID = Proporcional – Integral – Derivativo Es un tipo de control analógico, un controlador que satisfaga el modo de control analógico PID se caracteriza por una salida del controlador p(t) relacionada con la señal de error e(t) mediante la expresión: dt t de K p dt t e K t e K t p D t I I P ) ( . . ) 0 ( ) ( . ) ( . ) ( 0 + + + = (1) Donde KP no tiene dimensiones, K I se da en seg -1 y K D en seg. También se utiliza en muchas ocasiones el tiempo integral T I y el derivativo T D , los cuales vienen relacionados mediante expresiones inversas de KI y KD respectivamente: I I K T 1 = y D D K T 1 = (2)

Upload: bibiano-parra-hurtado

Post on 17-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

  • Trabajo Prctico N 10

    IMPLEMENTACIN EN LabView DE UN CONTROLADOR PID

    Breve introduccin terica:

    PID = Proporcional Integral Derivativo

    Es un tipo de control analgico, un controlador que satisfaga el modo de control analgico PID se caracteriza por una salida del controlador p(t) relacionada con la seal de error e(t) mediante la expresin:

    dttdeKpdtteKteKtp D

    t

    IIP)(

    ..)0()(.)(.)(0 +++= (1)

    Donde KP no tiene dimensiones, KI se da en seg-1 y KD en seg. Tambin se utiliza en muchas ocasiones el tiempo integral TI y el derivativo TD, los cuales vienen relacionados mediante expresiones inversas de KI y KD respectivamente:

    II K

    T 1= y D

    D KT 1= (2)

  • Usaremos las expresiones (3) y (4) ms adelante para implementar en LabView los modos integral y derivativo. Vemos, del grfico que en rigor podemos implementar 4 tipos de control:

    Proporcional Proporcional + integral Proporcional + integral + derivativo Proporcional + derivativo

    El quinto posible (integral + derivativo) no es posible, pues carece de la amplificacin de la seal de error. 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:

    CP(s) = KP (1) 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). 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.

    =t

    I deKtu0

    )()(

    Que en el dominio de Laplace ser:

    s

    KsC II =)(

    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. PI: accin de control proporcional-integral, se define mediante:

    +=t

    i

    PP deT

    KteKtu

    0

    )()()(

    Lo que en el dominio de Laplace ser:

  • )11()(sT

    KsCi

    PPI +=

    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 negativa 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. PD: accin de control proporcional-derivativa, se define mediante:

    dttdeTKteKtu DPP)()()( +=

    Lo que en el dominio de Laplace queda:

    DPpPD TSKKsC +=)( 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. 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:

    dttdeTKde

    TK

    teKtu DPt

    I

    PP

    )()()()(0 ++=

    Que en el dominio de Laplace quedara:

    )11()( sTsT

    KsC DI

    pPID ++=

  • No vamos a entrar en el anlisis de los mtodos de Oscilacin, o de Respuesta en frecuencia, o de la curva de reaccin o de la respuesta al escaln (ajustes de Ziegler and Nichols). Por no ser tema de este curso, pero nos baste con saber lo siguiente: Desde una perspectiva moderna, un controlador PID es simplemente un controlador de hasta segundo orden, conteniendo un integrador. Descubrimientos empricos demuestran que la estructura del PID por lo general tiene la suficiente flexibilidad como para alcanzar excelentes resultados en muchas aplicaciones. El trmino bsico es el trmino proporcional, P, que genera una actuacin de control correctivo proporcional al error. El trmino integral, I, genera una correccin proporcional a la integral del error. Esto nos asegura que si aplicamos un esfuerzo de control suficiente, el error de seguimiento se reduce a cero. El trmino derivativo, D, genera una accin de control proporcional al cambio de rango del error. Esto tiende a tener un efecto estabilizante pero por lo general genera actuaciones de control grandes.

    Aplicaciones / Ejemplo

    Un ejemplo muy sencillo que ilustra la funcionalidad bsica de un PID es cuando una persona entra a una ducha. Inicialmente abre la llave de agua caliente para aumentar la temperatura hasta un valor aceptable (tambin llamado "Setpoint"). El problema es que puede llegar el momento en que la temperatura del agua sobrepase este valor as que la persona tiene que abrir un poco la llave de agua fra para contrarrestar el calor y mantener el balance. El agua fra es ajustada hasta llegar a la temperatura deseada. En este caso, el humano es el que est ejerciendo el control sobre el lazo de control, y es el que toma las decisiones de abrir o cerrar alguna de las llaves; pero no sera ideal si en lugar de nosotros, fuera una maquina la que tomara las decisiones y mantuviera la temperatura que deseamos?

  • Esta es la razn por la cual los lazos PID fueron inventados. Para simplificar las labores de los operadores y ejercer un mejor control sobre las operaciones. Algunas de las aplicaciones ms comunes son:

    Lazos de Temperatura (Aire acondicionado, Calentadores, Refrigeradores, etc.)

    Lazos de Nivel (Nivel en tanques de lquidos como agua, lcteos, mezclas, crudo, etc.)

    Lazos de Presin (para mantener una presin predeterminada en tanques, tubos, recipientes, etc.)

    Lazos de Flujo (mantienen la cantidad de flujo dentro de una lnea o tubo)

    Al implementar mediante software los trminos integral y derivativo hay que tener en cuenta que para poder representar de forma discreta mediante las instrucciones del software que se utilice los valores deben aproximarse. El trmino integral se aproxima teniendo en cuenta el mtodo numrico trapezoidal de integracin (figura 1).

    De la figura 1, es posible aproximar el trmino integral (rea sombreada) mediante la funcin:

    TTkeTkedtten n

    k.

    2))1(().()(

    0 0

    =

    ++= (3)

  • Por otra parte, la accin derivativa puede aproximarse mediante la regla de la diferencia finita (figura 2).

    El trmino derivativo se aproxima, por tanto mediante la expresin:

    TTkeTke

    dttde )).1(().()(

    = (4)

    Para ver la eficiencia del control PID, en esta direccin se puede ver un video de equilibrio de una pelota en una bandeja, con y sin PID, implementado en labview:

    http://www.youtube.com/watch?v=uERF6D37E_o

    DESCRIPCIN DE LA PRCTICA.

    Vamos a disear un IV que realice el clsico algoritmo de control PID (proporcional-integral-derivativo). La prctica consta de 5 ejercicios. En los primeros disearemos los VI que realicen por separado los modos proporcional, integral y derivativo. En el cuarto se implementar el tiempo entre muestra y muestra de las variables involucradas en el controlador PID, y el quinto y ltimo utilizar los cuatro anteriores para realizar el algoritmo con el nombre PID. Ejercicio 1: Creacin de un sub-IV para implementar el modo proporcional.

    Panel frontal:

  • Abrir un instrumento virtual en blanco y crear el panel frontal de la figura 3. En este panel colocamos dos controles y un indicador con las etiquetas Error, Kp y Accin proporcional, respectivamente. Diagrama de bloques: Cableamos como muestra la figura, luego de definir a los elementos como de doble precisin, con lo que llegamos a algo como lo de la figura 3.

    Panel Frontal Diagrama de bloques

    Figura 3

    Este VI se encargar de realizar la accin proporcional. Para ello editaremos el cono y lo cablearemos para guardarlo como un Sub VI, con el nombre de

    Proporcional.vi Para lo que ejecutamos los siguientes pasos, dados en forma muy resumida, dado que y fueron vistos oportunamente.

    Editamos el cono para dejarlo como se indica en la figura:

    A continuacin definimos y cableamos los conectores de

  • entrada y de salida al VI, y procedemos a salvarlo con el nombre de proporcional.vi.

    Con lo que nos quedara:

  • Ejercicio 2: Creacin de un sub-IV para implementar el modo integral.

    Panel frontal: Abrir un instrumento virtual en blanco y crear el panel frontal de la figura 4. En este panel colocamos tres controles, un indicador y una booleana con las etiquetas Error, Dt, KI y Accin integral, respectivamente. Diagrama de bloques: Armamos el diagrama que muestra la figura 5.

    Figura 4

    Figura 5

  • Veamos ahora el nico bloque que nos puede resultar desconocido:

    Functions Numeric Compound Arithmetic Click derecho Change Mode Multiply.

    Este bloque es un operador aritmtico de varias entradas, donde la operacin seleccionada es la multiplicacin.

    Al crear la estructura repetitiva While, en ella aparecen estos dos conos. Un ndice de repeticin (es el cuadrado azul i) y un icono rojo de finalizacin. El bucle repetitivo While se ejecuta mientras el icono rojo sea evaluado a Verdadero. Nosotros haremos lo siguiente: click derecho sobre el botn rojo y seleccionamos:

    Continue if True Create Constant

    Otros elementos que pueden resultar novedosos son los elementos que estn en los bordes de la estructura y se llaman registros de desplazamiento. Su misin es la de incorporar en la iteracin siguiente los valores obtenidos en la iteracin anterior. Para que aparezcan, hay que situar el cursor y con click del ratn sobre el borde del bucle y mediante su botn derecho seleccionar Add Shift Register.

    Una vez hecho esto, editamos el cono para dejarlos como se indica en la figura:

  • Definicin de conectores: En el panel frontal, con el ratn situado en el rea del icono y hacemos click derecho y tomamos las siguientes opciones:

    Disconnect All Terminals Patterns

    Seleccionamos el que tenga 4 entradas y 1 salida.

    Y cableamos los terminales en forma secuencial el conector y el terminal del cono del panel frontal que se desea asignar a dicho conector. Realizando, en particular, las siguientes asignaciones:

    Ahora lo salvamos con el nombre de Integral.vi, para usarlos luego:

  • Ejercicio 3: Creacin de un sub-IV para implementar el modo derivativo.

    Panel frontal: Abrir un instrumento virtual en blanco y crear el panel frontal de la figura 6. En este panel colocamos tres controles y un indicador con las etiquetas Valor anterior, Dt, Kd y Accin derivativa, respectivamente. Diagrama de bloques: Armamos el diagrama que muestra la figura 6.

    Figura 6

    Editamos el cono para que nos quede como muestra la figura

    Hacemos la seleccin del cono de terminales como se vio en el caso anterior y cableamos como vemos en esta figura.

    Salvamos con el nombre de Derivativa.vi

  • Ejercicio 4: Creacin de un sub-IV para implementar el tiempo entre muestras.

    Panel frontal: Abrir un instrumento virtual en blanco y crear el panel frontal de la figura 7. En este panel colocamos un indicador con la etiqueta Dt. Diagrama de bloques: Armamos el diagrama que muestra la figura 7.

    Figura 7 Donde el tiempo lo tomamos de la paleta:

    Functions Timing Tick Count (ms).

    Ahora creamos nuestro sub VI modificando el cono como lo vemos en la figura.

    Y lo cableamos de la siguiente manera

    Y lo guardamos con el nombre de Tiempo.vi:

  • Ejercicio 5: Creacin de un sub-IV para implementar el control PID. Panel frontal: Abrir un instrumento virtual en blanco y crear el panel frontal de la figura 8. Dicho panel est formado por iconos de tres tipos: indicadores, controles y waveform chart.

    Figura 8 Diagrama de bloques: Armamos el diagrama que muestra la figura 9.

    Figura 9

  • Los elementos que pueden resultarnos nuevos:

    Functions Comparison In Range and Coerce.

    Que evala el rango de la salida.

    , , , Functions Select a VI Buscar la carpeta donde est guardado el VI correspondiente.

    Ahora editaremos el cono para crear el smbolo de nuestro VI.

    Lo cablearemos:

    Y lo guardaremos bajo el nombre de PID bsico.vi

  • Ejercicio 6: Control de lazo cerrado con PID y NI USB 6008

    Vamos a trabajar con nuestra placa USB 6008. Para ello vamos a adquirir datos de entrada, ejecutar un algoritmo de control (PID) y con ello generar una respuesta por la salida analgica. Para ello vamos a colocar en el panel frontal un Wave Form chart (Modern Graph Wave form chart). Configuramos el valor mnimo (0) y el mximo (6) que queremos mostrar. Con click derecho seleccionamos Y Scale y destildamos Austoscale Y.

    En la ventana de los diagramas de bloques abrimos el DAQ assistant y seleccionamos como entrada analgica de tensin a ai0, en la configuracin mantengo el rango de -10 V a 10 V y elijo entrada referencial (RSE), y en el modo de adquisicin, una muestra a la vez:

  • De la misma forma, creamos ahora nuestra salida, eligiendo el canal ao0, en la configuracin seleccionamos entrada referencial (RSE), y en el modo de adquisicin, una muestra a la vez, si es que no est definida por defecto.

  • Y ahora seleccionamos el algoritmo de control, para ello vamos a usar el que desarrollamos, para ello hacemos click derecho para desplegar el men y seleccionamos Select a VI . . .

    Y en la pantalla que se abre seleccionamos: PID Basico.vi:

    Quedndonos ahora la siguiente pantalla en el diagrama de bloques:

  • Adaptar el sistema para que la entrada provista por la placa genere la salida de correccin a travs de instrumento PID Bsico y muestre ambas en el indicador grfico.