05_PID1

Embed Size (px)

Citation preview

  • 7/23/2019 05_PID1

    1/12

    Prctica 05.- Implementacin de un PID discreto

    en una planta de segundo orden.

    Francisco Javier Daz GalindoJos ngel Ortiz Len

    19 de octubre de 2013

  • 7/23/2019 05_PID1

    2/12

    ndice general

    1. Introduccin 2

    2. Marco Terico 3

    2.1. Convertidor Analgico-digital (A/D) . . . . . . . . . . . . . . . . 32.2. Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3. Arduino MEGA ADK . . . . . . . . . . . . . . . . . . . . . . . . 42.4. Mtodo Ziegler-Nichols . . . . . . . . . . . . . . . . . . . . . . . . 4

    3. Desarrollo y resultados 6

    4. Conclusiones 9

    Bibliografa 10

    Lista de Figuras 11

    1

  • 7/23/2019 05_PID1

    3/12

    Captulo 1

    Introduccin

    Prcticamente todos los sistemas de control que se implementan hoy en daestn en control computacional. Por lo cual es importante entender perfecta-mente los sistemas controlados por computadora. Un PID es un mecanismo decontrol por realimentacin que calcula la desviacin o error entre un valor me-dido y el valor que se quiere obtener, para aplicar una accin correctora queajuste el proceso.

    2

  • 7/23/2019 05_PID1

    4/12

    Captulo 2

    Marco Terico

    En este captulo se presenta informacin sobre la teora utilizada para eldesarrollo de esta prctica.

    2.1. Convertidor Analgico-digital (A/D)

    Un convertidor analgico-digital, tambin conocido como codificador es undispositivo que convierte una seas analgica en una seal digital, usualmenteuna seal codificada numricamente. Dicho convertidor se necesita como una in-terfaz entre un componente analgico y uno digital. Con frecuencia un circuitode muestre y retencin es una parte integral de un convertidor A/D disponiblecomercialmente. La conversin de una seal analgica en la seal digital corres-pondiente (nmero binario) es una aproximacin, ya que la seal analgica

    puede adoptar un nmero infinito de valores, mientras la seal digitalpuede formar un conjunto de dgitos finitos. Este proceso de aproximacinse pueden formar mediante un conjunto finito de dgitos est limitada. [1]

    2.2. Matlab

    MATLAB es un acrnimo de Matrix Laboratory. Actualmente es uno delos entornos de programacin ms usados en el desarrollo de aplicaciones deingenieria e investigacin.

    Su lenguaje de programacin esta basado en C y C++. Adems cuenta conun entorno grfico amigable, visualizacin de datos, funciones, grficas 2D y 3D,procesamiento de imgenes, video, computacin numrica, etc. Particularmente,

    es una herramienta muy poderosa para realizar aplicaciones en mecatrnica,robtica, control y automatizacin.[2]

    3

  • 7/23/2019 05_PID1

    5/12

    Figura 2.1: Logo de Matlab

    2.3. Arduino MEGA ADK

    El Arduino ADK es una placa basada en el microcontrolador ATmega2560.Tiene una interfaz host USB para conectarse con celulares basados en Android,usando el IC MAX3421e. Cuenta con 54 pines de entrada/salida digital (15 deellos pueden usarse como salida PWM), 16 entradas analgicas, 4 UARTs (hard-ware de puerto serial), un cristal que oscila a 16Mhz, conexin USB, conectorde alimentacin, un ICSP header y un botn de reset. Adems el software de latarjeta es gratuito y se puede programar desde MATLAB.

    Figura 2.2: Placa Arduino MEGA ADK.

    2.4. Mtodo Ziegler-Nichols

    El mtodo de Ziegler-Nichols permite ajustar o sintonizar un regulador PIDde forma emprica, sin necesidad de conocer las ecuaciones de la planta o siste-ma controlado. Estas reglas de ajuste propuestas por Ziegler y Nichols fueronpublicadas en 1942 y desde entonces es uno de los mtodos de sintonizacinms ampliamente difundido y utilizado. Los valores propuestos por este mtodo

    4

  • 7/23/2019 05_PID1

    6/12

    intentan conseguir en el sistema realimentado una respuesta al escaln con unsobrepulso mximo del 25 por ciento, que es un valor robusto con buenas carac-

    tersticas de rapidez y estabilidad para la mayora de los sistemas. El mtodode sintonizacin de reguladores PID de Ziegler-Nichols permite definir las ga-nancias proporcional, integral y derivativa a partir de la respuesta del sistemaen lazo abierto o a partir de la respuesta del sistema en lazo cerrado. Cada unode los dos ensayos se ajusta mejor a un tipo de sistema.

    Usando el mtodo 1 de Ziegler-Nichols se obtiene lo siguiente.

    Kp = 1,2 T/L (2.1)

    Ti = 2 L (2.2)

    Td= 0,5 L (2.3)

    Para encontrar la funcin del controlador PID usamos:

    Gc(s) = Kp

    1 +

    1

    Tis+ Tds

    =Kp+

    Kis

    + Kd s (2.4)

    De donde podemos encontrar los valores deKiy Kd, para expresar la funcinde PID en trminos de s.

    Ki=KpTi

    (2.5)

    Kd= Kp Td (2.6)

    Finalmente obtenemos la funcin de transferencia de lazo cerrado que invo-lucra el control PID y la funcin H de la planta con retroalimentacin.

    Figura 2.3: Diagrama a bloques del sistema de una planta con un control PID.

    5

  • 7/23/2019 05_PID1

    7/12

    Captulo 3

    Desarrollo y resultados

    Para poder aplicar el Mtodo 1 de ZIEGLER NICHOLS, la curva de res-puesta de la funcin debe de tener forma de S. Con un punto de inflexin.Podemos obtener esta grafica en MatLab utilizando el siguiente cdigo.

    Listing 3.1: Creacin de funcin de transferencia en Matlab. 1 num = [ 0 0 2 . 6 8 ] ;2 den = [ 1 . 91 6 2 . 6 8 ] ;3 h=t f (num, den ) ;4 s t ep ( h )

    Para encontrar los parmetros de tiempo de retardo L y constante de tiempoT, dibujamos una recta tangente en el punto de inflexin de la curva. El siguientecdigo encuentra el punto de inflexin en la curva de respuesta de H, a partirde esto se traza una lnea tangente a este punto, y se utiliza la ecuacin de larecta y la pendiente del punto de inflexin, para encontrar los parmetros L yT.

    Listing 3.2: Cdigo en Matlab para obtener T y L. 1 d t = 0. 0 5;2 t = 0: d t : 8 ;3 y=step (h , t ) ;4 dy= d i f f ( y ) / d t ;5 [m, p]=max(dy ) ;6 y i=y ( p ) ;7 t i = t ( p ) ;8 L=t iyi/m

    9 T=(y(end)

    y i ) /m+t i

    L

    Como resultado de este programa se tiene que:

    L= 0,2718

    6

  • 7/23/2019 05_PID1

    8/12

    T = 0,8663

    Y su grfica es la siguiente.

    Figura 3.1: Grfica que muestra los valores T y L.

    Sustituyendo T y L en (2.1),(2.2),(2.3) se obtienen los siguientes valores.

    Kp = 3,8255

    Ti = 0,5435

    Td= 0,1359

    Y sustituyendoKp, Ti y Td en 2.5 y 2.6 se tiene.

    Ki= 7,0386

    Kd= 0,5199

    Lo que finalmente nos da la funcin del PID:

    Gc(s) =0,52s2 + 3,83s + 7,04

    s

    Para poder implementar el PID en su forma discreta se utiliza el siguientepseudo cdigo.

    7

  • 7/23/2019 05_PID1

    9/12

    Inicio

    Inicializar variables y constantes.

    a1,a2,b1e(n) = 0

    e(n-1) = 0

    u(n) = 0

    u(n-1) = 0

    Capturar el valor de la variable

    c(nT) = ADC

    calcular el error:

    e(n) = r(nT)-c(nT)

    evaluar la accin de control:

    m(nT) = a1 e(n) + a2 e(n-1) + b1 u(n-1)

    Emitir la accin de control:

    DAC(m(n) + m(n-1))

    Actualizar variables:

    e(n-1) = e(n)

    m(n-1) = m(n)

    GOTO captura valor de la variable

    Finalmente, aplicando el controlador PID discreto en nuestra planta y le-yendo los resultados en Matlab se obtiene la siguiente grfica:

    Figura 3.2: Grfica del control PID implementado en la planta.

    8

  • 7/23/2019 05_PID1

    10/12

    Captulo 4

    Conclusiones

    El mtodo 1 de Ziegler-Nichols es muy prctico al disear un control PIDpara aproximarse a los valores Ki,Kp y Kd que se necesitan para obtener lascondiciones deseadas. Desarrollar el cdigo para resolver el problema en MatLabayuda bastante, ya que se requiere de varias pruebas experimentales con distintosvalores deKi,Kp y Kd. Para luego, observar la respuesta del sistema con estosvalores, hasta encontrar algunos que cumplan con las condiciones deseadas ennuestra planta.

    9

  • 7/23/2019 05_PID1

    11/12

    Bibliografa

    [1] Ogata, Katsuhiko (1996). Sistemas de Control en Tiempo discreto. 2da.Edicin. Editorial Prentice Hall Hispanoamericana S. A.

    [2] Reyes Corts, F.; Cid Monjaraz, J. & Vargas Soto, E. (2013).Mecatrnica,

    Control y Automatizacin. Alfaomega: Mxico.

    [3] Reyes Corts, F. (2012). MATLAB Aplicado a Robtica y Mecatrnica. Al-faomega: Mxico.

    10

  • 7/23/2019 05_PID1

    12/12

    ndice de figuras

    2.1. Logo de Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2. Placa Arduino MEGA ADK. . . . . . . . . . . . . . . . . . . . . 42.3. Diagrama a bloques del sistema de una planta con un control PID. 5

    3.1. Grfica que muestra los valores T y L. . . . . . . . . . . . . . . . 73.2. Grfica del control PID implementado en la planta. . . . . . . . . 8

    11