análisis de un sistema de control

60
M.C. ANTONIO RODRIGUEZ GARCIA ANÁLISIS DE UN SISTEMA DE CONTROL Control de Procesos

Upload: jesus-leobardo-garza-garza

Post on 17-Dec-2015

28 views

Category:

Documents


3 download

DESCRIPTION

Porciento Incompleto

TRANSCRIPT

  • M.C. ANTONIO RODRIGUEZ GARCIA

    ANLISIS DE UN SISTEMA DE CONTROL Control de Procesos

  • Control de Procesos M.C. Antonio Rodrguez Garca 2

    N D I C E

    ndice.... 2

    Introduccin. 3

    Porciento Incompleto. 4

    Lugar Geomtrico De Las Races (LGR)... 9

    Diagrama de Bode ... 14

    Diagrama de Nyquist .... 17

    Controladores. 20

    Mtodos De Sintona...... 23

    Sistemas Cascada ........ 32

    Anlisis Computacional con MATLAB..... 37

    Anexos. 45

  • Control de Procesos M.C. Antonio Rodrguez Garca 3

    II NN TT RR OO DD UU CC CC II NN

    En este trabajo, se expondr paso a paso la manera adecuada de analizar un sistema de control a

    partir de una grafica determinada que nos muestre la respuesta de dicho sistema en el tiempo, de

    dnde iremos obteniendo diversos datos del sistema, como sus constantes de tiempo, su funcin

    de transferencia, el comportamiento del sistema ante la frecuencia y la manera correcta de

    sintonizar nuestro sistema para que trabaje de acuerdo nuestros estndares deseados.

    Tambin se ver el anlisis necesario para la aplicacin de algn controlador en los sistemas,

    adems de diferentes mtodos de sintona para los mismos.

    Otra de las actividades que se expondrn en este trabajo ser la de llevar a cabo todas estas

    operaciones mediante el uso de software, en especfico Matlab, para obtener una respuesta ms

    exacta y rpida.

    En este trabajo se vern todas las operaciones necesarias para el anlisis de un sistema de control,

    con todo y los controladores; esto hacindolo de 2 maneras:

    Forma Manual Forma Automtica (mediante Matlab)

    Primero veremos todos los pasos de forma manual, al final veremos el proceso haciendo uso de

    una librera especial de Matlab (incluida en este mismo trabajo) que nos facilitar el anlisis del

    sistema.

    Por ltimo se hablara acerca de los sistemas de tipo cascada adems de su demostracin en

    cuanto a la forma de anlisis de los mismos.

  • Control de Procesos M.C. Antonio Rodrguez Garca 4

    PP OO RR CC II EE NN TT OO II NN CC OO MM PP LL EE TT OO

    El porciento incompleto es un mtodo grfico que nos sirve para obtener la funcin de

    transferencia de un sistema a partir de su grafico de respuesta a una entrada de tipo escaln.

    Su base est en graficar el porcentaje de lo que falta para que el proceso se complete con respecto

    al tiempo. Es decir del 100% del proceso sustraer el porcentaje del proceso que ya se haya

    completado.

    La grfica del porciento incompleto se grafica en una hoja semilogartmica, donde el porciento

    incompleto se grafica en el eje vertical; mientras que el tiempo se grafica en el eje horizontal.

    Para poder realizar la curva denominada como A se necesitan tabular los valores del porcentaje

    del proceso completado, Y, y restrselos al 100%. Es decir, que al inicio del proceso tendremos

    una Y de 0% y por lo tanto el porciento incompleto ser de un 100%.

    Una vez con estos datos, veremos tambin en que tiempo se realiza cada uno de estos puntos

    para poder as pasarlos al papel semilogartmico.

    Ya con la primera curva, tendremos que realizar la curva denominada como B. Esta curva se

    obtiene extendiendo la parte linear de la curva A hasta el tiempo 0.

    Al hacer esto, esta nueva curva tendr un origen diferente a la primera curva. Este nuevo origen es

    el denominado punto 1 P1

    La constante de tiempo del sistema se obtiene encontrando el 36.8% de P1. Al encontrar este

    determinado valor en la grafica podremos ver el valor en el tiempo, y ese ser nuestra primera

    constante de tiempo.

    Para obtener la segunda constante de tiempo obtendremos la curva C, la cual es la diferencia de

    las curvas A y B (C= B-A). El punto de origen de esta curva, ser nuestro punto 4 y nos ayudar

    a obtener la segunda constante de tiempo.

    Para la segunda constante de tiempo hacemos el procedimiento anterior, obteniendo el 36.8% de

    este punto y encontrando un nuevo punto que nos determinar la segunda constante de tiempo.

    Para corroborar aproximadamente los resultados, los puntos se pueden obtener en base a las

    constantes de tiempo obtenidas, es decir:

    Ya que se obtuvieron las dos constantes de tiempo, ya se puede obtener la funcin de

    transferencia del sistema tomando en cuenta la siguiente formula.

  • Control de Procesos M.C. Antonio Rodrguez Garca 5

    **NOTA: Este mtodo se utiliza para obtener la funcin de transferencia de un sistema

    forzndolo a ser un sistema de segundo orden, ya que si se realiza un anlisis detallado del

    sistema es seguro que este sea de orden superior o muy complejo.

    A continuacin se muestra un ejemplo en el cual se obtendr la funcin de transferencia de un

    sistema a partir de su grafico de respuesta.

    Ejemplo:

    A partir del siguiente grafico de la respuesta a una entrada escaln (Step) de un sistema, obtenga

    su funcin de transferencia.

  • Control de Procesos M.C. Antonio Rodrguez Garca 6

    A partir del grafico, se obtienen y tabulan los siguientes valores:

    Y 100% - Y T (Min)

    0 100 0

    10 90 0.6

    20 80 0.8

    30 70 1.1

    40 60 1.5

    50 50 2

    60 40 2.4

    70 30 3

    80 20 3.8

    90 10 5.2

    Si usted cree necesario, puede

    obtener ms valores para as

    obtener una mayor resolucin

    y exactitud en el grafico

  • Control de Procesos M.C. Antonio Rodrguez Garca 7

    Ya obtenida nuestra tabla, se grafica nuestra curva A en el papel semilogartmico de la siguiente

    manera:

    Ya graficada nuestra curva A, para obtener la curva B, se traza una lnea recta que toque la

    mayor cantidad de puntos de la curva A, tal y como se muestra en la figura anterior.

    Ya que se obtuvo la curva B, se obtiene el P1, el cual es el cruce de la curva B en el tiempo cero.

    Para nuestro ejemplo, el P1 es en 133.

  • Control de Procesos M.C. Antonio Rodrguez Garca 8

    Para obtener el P2 (Punto con el cual se obtendr la primera constante de tiempo), se utiliza la

    siguiente frmula:

    La primer constante de tiempo, se obtiene segn el tiempo que hay en el P2 de cero hasta la curva

    A como se mostro en el grafico anterior, para nuestro ejemplo, la Tao 1 es de 2 minutos.

    Para obtener la curva C primero hay que obtener P3 (el cual nos marca el inicio de la curva C),

    y despus se obtiene la diferencia entre la curva B y la curva A:

    Despus, se continua obteniendo la diferencia entre las curvas B y A, y el resultado de la traza de

    la curva C nos quedara de la siguiente manera como se muestra en el grafico.

    En este caso redondeamos el resultado,

    con la finalidad de no meternos en

    problemas con los decimales, ya que se

    est utilizando una escala logartmica

  • Control de Procesos M.C. Antonio Rodrguez Garca 9

    Ya que se obtuvo y grafico la curva C, se obtiene P4.

    Para obtener el P4 (Punto con el cual se obtendr la segunda constante de tiempo), se utiliza la

    siguiente frmula:

    La segunda constante de tiempo, se obtiene segn el tiempo que hay en el P4 de cero hasta la

    curva C como se mostr en el grafico anterior, para nuestro ejemplo, la Tao 2 es de 0.5 minutos.

    Redondeamos el resultado, con la

    finalidad de no meternos en

    problemas con los decimales, ya que

    se est utilizando una escala

    logartmica

  • Control de Procesos M.C. Antonio Rodrguez Garca 10

    Para comprobar nuestros resultados, se pueden utilizar las siguientes formulas:

    Segn las ecuaciones, se comprob que nuestros puntos obtenidos son correctos, ya con esto, se

    puede obtener nuestra funcin de transferencia mediante la siguiente ecuacin:

    La K se obtiene mediante la relacin de la entrada escaln que le suministramos al sistema y la

    salida que obtenemos en estado estable.

    Para este caso supngase que nuestro escaln fue de 100%, por lo tanto:

    Por lo tanto la funcin de transferencia seria:

  • Control de Procesos M.C. Antonio Rodrguez Garca 11

    LL UU GG AA RR GG EE OO MM TT RR II CC OO DD EE LL AA SS RR AA CC EE SS (( LL GG RR ))

    En el lugar geomtrico de las races podemos obtener diversos datos del comportamiento del

    sistema a diversas ganancias. En qu momento se alcanza, si es posible, la inestabilidad, donde se

    localizan sus polos, sus ceros, como afectan estos al sistema, etc.

    A continuacin se mostrara el mtodo para obtener el LGR de un sistema mediante un ejemplo.

    Ejemplo:

    Utilizando la ecuacin obtenida en el punto del Porciento Incompleto, se obtiene:

    Esta funcin de transferencia es

    la misma que la obtenida

    anteriormente, con la diferencia

    que en esta forma si se puede

    introducir en Matlab.

  • Control de Procesos M.C. Antonio Rodrguez Garca 12

    Puntos de Inicio

    Las trayectorias de LGR empiezan en los polos de GH(s).

    Polos = 2 Localizados en -0.5 y -2

    Puntos de Fin

    Las trayectorias del LGR terminan en los ceros del GH(s).

    No hay ceros

    Nmero, Centro y ngulo de las Asntotas

    Cuando hay ceros en el infinito se identifican por asntotas:

    No. Asntotas = (NP - NZ)

    No. Asntotas = 2 0

    No. Asntotas = 2

    NP = # Polos

    NZ = # Ceros

  • Control de Procesos M.C. Antonio Rodrguez Garca 13

    Punto de Quiebre (q)

    Lugar en el eje real donde las trayectorias se juntan o separan:

    Se despeja K de 1 + GH(s) = 0 Se deriva con respecto a s: dk/ds = 0, se obtienen las races Se iguala a cero dk/ds y se obtienen races De los valores obtenidos en dk/ds se determinan los puntos de quiebre

    Valor obtenido al sustituir los

    valores de n en la ecuacin

  • Control de Procesos M.C. Antonio Rodrguez Garca 14

    Ntese que el punto de quiebre y el centro de las asntotas, coinciden en el mismo punto,

    para este ejemplo.

    Ganancia de Quiebre (Kq)

    Esta es la ganancia en la cual el sistema empieza a tener componente en el eje imaginario

    (ganancia en la cual llega el sistema al punto de quiebre)

    Se sustituyen los valores de los puntos de quiebre en la ecuacin de K obtenida anteriormente.

    Ya con los puntos anteriores, se puede obtener nuestro grafico de LGR de nuestro sistema, el cual

    nos quedara de la siguiente forma:

    La raz obtenida, es el punto

    de quiebre o ruptura.

  • Control de Procesos M.C. Antonio Rodrguez Garca 15

    Ganancia Crtica (Kc)

    Es la ganancia requerida requiere para que la trayectoria cruce el eje imaginario; es decir que el

    sistema sea crticamente estable.

    Se determina usando el criterio de Routh-Hurwitz, el cual nos establece un rango de estabilidad.

    En los lmites de ese rango est la ganancia crtica.

    En este ejemplo, como el sistema SIEMPRE es estable, NO existe una ganancia crtica (el LGR

    nunca pasa al eje x positivo); en otras palabras, sin importar la ganancia del sistema (k), nunca

    se va a volver inestable.

    Frecuencia Crtica (c)

  • Control de Procesos M.C. Antonio Rodrguez Garca 16

    Lugar en el eje imaginario en donde cruza una trayectoria. Se determina sustituyendo

    Kc en la ecuacin auxiliar de segundo orden y resolviendo.

    En este ejemplo como NO existe ganancia crtica, en consecuencia tampoco existe una

    frecuencia crtica.

    DD II AA GG RR AA MM AA DD EE BB OO DD EE

    El diagrama de Bode nos muestra el comportamiento de la respuesta en frecuencia del sistema en

    base a una determinada ganancia.

    Las grficas de bode consisten en graficar el logaritmo de la magnitud de la funcin de

    transferencia contra la frecuencia y el ngulo de fase contra la frecuencia.

    La ventaja de este mtodo es que la multiplicacin de magnitudes se convierte en suma y adems

    cuenta con un mtodo simple, para dibujar una curva aproximada de magnitud logartmica,

    basado en aproximaciones asintticas.

    A continuacin se muestra con un ejemplo como se obtienen las trazas de bode.

    Ejemplo:

    Utilizando la ecuacin obtenida en el punto del Porciento Incompleto, se obtiene:

    Se utilizar una K de 1, porque

    en el punto del porciento

    incompleto se obtuvo que

    K=salida/entrada, y esto era

    igual a 100/100 = 1.

  • Control de Procesos M.C. Antonio Rodrguez Garca 17

    Para obtener Bode, es necesario pasar nuestra ecuacin en funcin de S a una

    ecuacin en funcin de la frecuencia.

    Ya que obtuvimos nuestra ecuacin en funcin de la frecuencia, obtenemos nuestras ecuaciones

    respectivas para dibujar bode, las cuales son la ecuacin caracterstica para obtener magnitud

    (esta ser en decibeles) y la ecuacin para obtener el ngulo de fase del sistema.

    Ecuacin de Magnitud

    Ecuacin de Fase

  • Control de Procesos M.C. Antonio Rodrguez Garca 18

    Ya obtenidas las ecuaciones de magnitud y fase, se sustituyen los valores de frecuencia por

    dcadas, para obtener la siguiente tabulacin.

    Ya que obtuvimos nuestra tabulacin, ya se pueden realizar nuestras trazas de Bode.

    ** NOTA: Las valores que se obtuvieron, fueron para las trazas de bode en LAZO ABIERTO, esto

    debido a que se utilizo nuestra ecuacin de funcin de transferencia en lazo abierto, para

    obtener las trazas de bode para lazo cerrado, es necesario pasar la funcin de transferencia en

    lazo cerrado y obtener las ecuaciones de bode de la forma que se mostro en este punto.

    0.1 -0.1811 -14.1723 0.3 -1.4320 -39.4945 0.5 -3.2735 -59.0362 0.7 -5.2147 -73.7523 1 -7.9588 -90 3 -20.8008 -136.84 5 -28.6465 -152.4879 7 -34.1668 -159.9689 10 -40.1811 -165.8276 30 -59.1053 -175.2310 50 -67.9661 -177.1364 70 -73.8076 -177.9517 100 -80.0018 -178.5677 300 -99.0850 -179.5225 500 -107.9588 -179.7135 700 -113.8039 -179.7953

    Si usted cree necesario, puede

    obtener ms valores para as

    obtener una mayor resolucin

    y exactitud en los grficos.

  • Control de Procesos M.C. Antonio Rodrguez Garca 19

    Ya con el grafico, se puede determinar el margen de fase y el margen de ganancia de nuestro

    sistema.

    **NOTA: Un margen de ganancia infinito junto con un margen de fase positivo (arriba de -180)

    nos demuestra que el sistema es ESTABLE

    A continuacin mostramos la grfica que nos ayudar a determinar la estabilidad de un sistema en

    base al trazo de Bode:

  • Control de Procesos M.C. Antonio Rodrguez Garca 20

    DD II AA GG RR AA MM AA DD EE NN YY QQ UU II SS TT

    A diferencia de las trazas de Bode, el diagrama de Nyquist es obteniendo las ecuaciones de

    magnitud sin ser expresadas en decibeles, y la relacin de magnitud y fase se dibuja en un mismo

    grafico, no como en las trazas de Bode que se obtenan dos grficos, el cual es el plano cartesiano

    de S, en el cual el eje horizontal es la componente real y el vertical la parte imaginaria desde una

    frecuencia de cero hasta infinito.

    A continuacin se muestra con un ejemplo como se obtienen las trazas de Nyquist.

    Ejemplo:

    Utilizando la ecuacin obtenida en el punto del Porciento Incompleto, se obtiene:

    Se utilizar una K de 1, porque

    en el punto del porciento

    incompleto se obtuvo que

    K=salida/entrada, y esto era

    igual a 100/100 = 1.

  • Control de Procesos M.C. Antonio Rodrguez Garca 21

    Para obtener Nyquist, es necesario pasar nuestra ecuacin en funcin de S a una ecuacin en

    funcin de la frecuencia.

    Ya que obtuvimos nuestra ecuacin en funcin de la frecuencia, obtenemos nuestras ecuaciones

    respectivas para dibujar Nyquist, las cuales son la ecuacin caracterstica para obtener magnitud y

    la ecuacin para obtener el ngulo de fase del sistema

    Ecuacin de Magnitud

  • Control de Procesos M.C. Antonio Rodrguez Garca 22

    Ecuacin de Fase

    Ya obtenidas las ecuaciones de magnitud y fase, se sustituyen los valores de frecuencia desde cero

    hasta infinito para obtener la siguiente tabulacin.

    **TIP: Como el sistema que se va a graficar, es de segundo orden, el grafico de Nyquist que se

    obtendr no ser muy complejo, por lo tanto una forma de graficarlo sencillamente es

    obteniendo los valores para los cuales se obtiene un ngulo de 0, -90, -180 principalmente, o

    bien los cruces por los ejes del plano.

  • Control de Procesos M.C. Antonio Rodrguez Garca 23

    Ya que obtuvimos nuestra tabulacin, ya se pueden realizar nuestras trazas de Nyquist. Ya con el

    grafico, se puede determinar el margen de fase y el margen de ganancia de nuestro

    Im+Re 0 1 0 0i + 1 - - 90 - 1 -3.2735 -90 -0.4i + 0 Infinito 0 -180 0i + 0 - - 180 -

    Si usted cree necesario,

    puede obtener ms valores

    para as obtener una mayor

    resolucin y exactitud en los

    grficos

    La seccin de Im + Re se obtiene convirtiendo la magnitud y

    fase de su forma polar, a la forma rectangular

    Estos valores rectangulares, sern los que se emplearan para

    graficar Nyquist

  • Control de Procesos M.C. Antonio Rodrguez Garca 24

    A continuacin mostramos la grfica que nos ayudar a determinar la estabilidad de un sistema en

    base al trazo de Nyquist:

  • Control de Procesos M.C. Antonio Rodrguez Garca 25

    CC OO NN TT RR OO LL AA DD OO RR EE SS

    Un controlador nos ayuda a mejorar las caractersticas de un sistema adems de reducir o eliminar

    el error en estado estable del mismo.

    A continuacin se mostraran las ecuaciones generales de un controlador PID, a partir de estas, se

    puede obtener las ecuaciones de un controlador P, I, D, PI y PD segn la seccin que sea omitida

    del mismo

    Ecuacin en funcin de ganancias

    Ecuacin en funcin de tiempos

    Cuando se aplica un controlador a un sistema, es necesario utilizar el anlisis de las ecuaciones de

    Error en Estado Estable, ya que si el sistema ya con un controlador aplicado, presenta error en

    estado estable, significa que no podr ser controlado y por lo tanto el controlador no es el

    adecuado.

    A continuacin se muestra un ejemplo en el cual se utilizara un controlador PI

    Ejemplo

    Utilizando la ecuacin obtenida en el punto del Porciento Incompleto, se obtiene:

    La ecuacin de un controlador PI es la siguiente (Funcin de ganancias):

  • Control de Procesos M.C. Antonio Rodrguez Garca 26

    Por lo tanto nuestra nueva ecuacin del sistema ser:

    Siendo nuestro sistema en lazo cerrado con retroalimentacin unitaria, para determinar si nuestro

    controlador es el adecuado para nuestro sistema, encontraremos su error en estado estable al

    aplicarle un escaln unitario como entrada al sistema.

  • Control de Procesos M.C. Antonio Rodrguez Garca 27

    Como el error en estado estable para nuestro sistema al aplicarle un controlador PI

    resulto ser cero para una entrada escaln, significa que nuestro controlador va a funcionar

    debidamente al aplicarle una entrada escaln.

    **NOTA: Este mtodo funciona para cualquier tipo de control y/o entrada, solo sera necesario

    cambiar la G(s) para que reflejara otro control, y cambiar la entrada (en este caso s/1) para

    cambiar a otro tipo, como por ejemplo rampa (s2/1). Para este ejemplo en especfico, los

    controladores estables para una entrada ESCALN seran: P, PI y PID.

    Para obtener los resultados deseados en el comportamiento, es necesario analizar mtodos de

    sintona.

    **NOTA: Otro dato importante es hacer notar que el manejo de las ganancias proporcional,

    integral y derivativa en MATLAB es igual a como se manejara a la manera matemtica, a

    diferencia de lo empleado en ejemplos prcticos, por ejemplo un valor de 200 seg/rep para el

    valor integral para MATLAB seran 1/200, es decir 0.005 de ganancia integral.

    La siguiente tabla ejemplifica la nota anterior:

    Proporcional Integral Derivativo

    Modelo Real Kp (banda) Ti (seg/rep) Td (seg/rep)

    Modelo en Matlab Kp (banda) Ki (rep/seg) Kd (seg)

    Aqu se puede observar que MATLAB maneja ganancias, en consecuencia, al querer sintonizar

    algn controlador se tendr que tomar esta consideracin al establecer los valores tanto en

    Matlab como en el sistema fsico.

  • Control de Procesos M.C. Antonio Rodrguez Garca 28

    MM TT OO DD OO SS DD EE SS II NN TT OO NN AA

    Los mtodos de sintona nos sirven para que nuestro sistema tenga una mejor respuesta conforme

    a lo que nosotros deseamos que realice. A continuacin se presentan cuatro mtodos los cuales

    sern aplicados al sistema con el que hemos estado trabajando, para as obtener una respuesta

    ms rpida en nuestro sistema. Lamentablemente no todos los mtodos son idneos para todos

    los sistemas, existen mtodos que son mejores para determinado sistema que otros.

    El controlador que se utilizara ser un PID, en este punto no se mostraran los anlisis necesarios

    de Error en estado estable con la finalidad de hacer menos extenso este punto, pero no hay que

    olvidar que es necesario realizarlas para determinar si el controlador funcionara; Para el sistema

    que se mostrara, se encontr que el error en estado estable (Ess) del controlador PID es de cero.

    Mtodo a Prueba y Error

    Primero se coloca nuestro sistema en operacin normal de forma manual, una vez hecho esto,

    pasamos nuestro controlador en modo automtico y aplicamos un cambio de tipo escaln en el

    Set Point y observamos el comportamiento en la salida.

    Dependiendo el comportamiento que se haya obtenido ser la forma de sintonizar nuestro

    controlador. A continuacin se muestra un grafico en el cual se puede observar como afectaran

    las componentes proporcional, integral y derivativa en la respuesta de nuestro sistema.

    Segn los parmetros deseados en el comportamiento del sistema, ser la forma de decidir la

    forma en que se deber sintonizar nuestro sistema.

  • Control de Procesos M.C. Antonio Rodrguez Garca 29

    Para demostrar este mtodo de sintona, se adjuntara con el siguiente mtodo (Mapas

    de sintona) ya que es necesario utilizar la prueba y error en conjunto de los mapas de sintona

    para poder sintonizar un sistema.

    Mapas de sintona

    Asumiendo que nuestro sistema se encuentra controlado y nuestro controlador se

    encuentra en modo automtico. En este mtodo los ajustes de sintona se basan

    ms en la experiencia y entrenamiento de prueba y error.

    A continuacin se mostrara una tabla la cual nos mostrara que tipo de ajustes

    sern necesarios en nuestra sintona segn el comportamiento del sistema.

  • Control de Procesos M.C. Antonio Rodrguez Garca 30

    A continuacin se enunciaran los pasos a seguir en este mtodo de sintona

    Determinar cual mapa de sintona se aproxima a nuestra grafica obtenida del sistema Seleccionar el mapa de sintona que, segn nuestro juicio, es ms satisfactoria para la

    respuesta deseada. Ajustar la banda proporcional, integral y derivativa en la direccin indicada en el mapa

    de sintona para obtener nuestro comportamiento del sistema de la manera ms satisfactoria.

    A continuacin se muestra un ejemplo en el cual se utilizara este mtodo de sintona.

    Ejemplo:

    Nuestro sistema a sintonizar ser el obtenido en el punto del Porciento Incompleto con un

    controlador PID:

  • Control de Procesos M.C. Antonio Rodrguez Garca 31

    Primeramente le asignamos valores arbitrarios a nuestro controlador y analizamos su respuesta,

    como se muestra en la siguiente figura:

    Como se puede ver en el grafico anterior, se aprecia que se tarde en llegar a su estado estable,

    para corregir eso, es necesario reducir nuestro tiempo de integracin, como SIMULINK trabaja con

    ganancias, esto equivale a aumentar la ganancia de integracin; al haber reasignado valores, se

    obtiene lo siguiente.

    La sintona se realizara con la ayuda del toolbox SIMULINK de MATLAB

    El controlador PID de SIMULNK trabaja con valores de ganancias

    P= 13 I= 0.5 D= 0.12

  • Control de Procesos M.C. Antonio Rodrguez Garca 32

    En el grafico anterior, aparentemente el sistema luce mejor, con dichos valores se puede

    considerar el sistema sintonizado, pero intentaremos encontrar una mejor respuesta, una ms

    rpida, para esto dejaremos la ganancia de integracin tal y como se encuentra, aumentaremos la

    ganancia proporcional y le aumentaremos un poco la ganancia derivativa para ver el

    comportamiento del sistema.

    Ya con estos valores se puede considerar el sistema sintonizado y con un mejor tiempo de

    respuesta a comparacin del obtenido con los valores mostrados anteriormente.

    P= 5 I= 3 D=0 .3

    P= 10 I= 3 D= 1.5

  • Control de Procesos M.C. Antonio Rodrguez Garca 33

    Ziegler-Nichols

    Este mtodo se puede aplicar cuando la respuesta del sistema ante un escaln unitario presenta

    en su grfica una forma de s.

    Para este mtodo ocuparemos encontrar grficamente el tiempo de retardo L y la constante de

    tiempo T; las cuales se sabrn al proyectar una lnea tangente en el punto de inflexin de la

    curva desde el 0 hasta el valor del escaln.

    De esta manera nuestra grfica quedara dividida en dos y siendo la primera parte el retardo y la

    segunda hasta el punto donde cruza el escaln la constante de tiempo.

    Mediante este mtodo podemos encontrar los valores de los controladores gracias a unas tablas

    de formulas, las cuales pueden variar segn de la forma de resolver este mtodo. A continuacin

    se muestra la tabla con las formulas de valores para los diversos controladores:

    Tipo de Controlador

    Kp Ti Td

    P T/L 0 PI .9 T/L L/0.3 0

    PID 1.2 T/L 2L 0.5L

  • Control de Procesos M.C. Antonio Rodrguez Garca 34

    A continuacin se muestra un ejemplo en el cual se utilizara este mtodo de sintona.

    Ejemplo:

    A continuacin se muestra el grafico obtenido del sistema al aplicarle una entrada escaln.

    Ya teniendo nuestro grafico de respuesta a un escaln, se traza una lnea recta por su punto de

    inflexin (Punto en el cual tiende a hacer forma de S) la cual toque la mayor cantidad de puntos

    posibles, tal y como se muestra en la figura anterior.

  • Control de Procesos M.C. Antonio Rodrguez Garca 35

    A partir de esa traza se determina nuestra L y nuestra T.

    L= 0.25, T= 2.85

    Aplicando nuestra tabla para un controlador PID se obtiene que:

    Tipo de

    Controlador

    Kp Ti Td

    P T/L 0

    PI .9 T/L L/0.3 0

    PID 1.2 T/L 2L 0.5L

    L T

  • Control de Procesos M.C. Antonio Rodrguez Garca 36

    Kp = 13.68 Ti = 0.5 seg/rep Td = 0.125 seg/rep

    Debido a que el controlador PID de SIMULINK opera con ganancias, los valores a utilizar serian:

    Con los valores obtenidos se obtiene lo siguiente:

    Segn este mtodo, se puede considerar con dichos valores que nuestro sistema se encuentra

    sintonizado, pero como se puede observar, se puede lograr una mejor sintona del sistema. Para

    mayor detalle ver mtodos de Prueba y Error y Mapas de Sintona.

    P= 13.68 I= 27.36 D= 1.71

  • Control de Procesos M.C. Antonio Rodrguez Garca 37

    Ultimo periodo

    Para este mtodo nuestro sistema debe ser de lazo cerrado. Este mtodo se basa en hacer oscilar nuestro sistema con una ganancia unitaria para obtener nuestros valores de sintona.

    El procedimiento es el siguiente Poner el tiempo de integracin al mximo Poner el tiempo derivativo en el mnimo Poner la banda proporcional al mximo Poner el controlador en modo automtico Reduzca la banda proporcional hasta que el sistema empiece a oscilar con una

    ganancia unitaria (Ultima banda proporcional, Bu) y con una amplitud A lo ms pequea posible.

    Mida el periodo de oscilacin, Tu Ajuste las configuraciones de la siguiente forma:

    o Para un controlador nicamente proporcional, B=2Bu para un 0.25 de amortiguamiento. Si el controlador tiene unidades de ganancia, la ganancia deber ser uno y medio del valor que causo la oscilacin.

    o En los tres modos de controlador, en el cual la integral est en fase con la contante de tiempo, la componente integral y derivativa debern tener los mismos valores de tiempo. Esto deber de producir un desfasamiento mnimo. Tiempo integral = Tiempo derivativo = Tu/2 o aproximadamente Tu/6

    o Despus de que son establecidos los tiempos de la integral y derivativa, ajuste la banda proporcional o ganancia para obtener el amortiguamiento deseado. Si se desea un amortiguamiento del 0.25, B= aproximadamente 1.77Bu.

    A continuacin se muestra un ejemplo en el cual se utilizara este mtodo de sintona.

    Ejemplo Nuestro sistema a sintonizar ser el obtenido en el punto del Porciento Incompleto con un

    controlador PID:

  • Control de Procesos M.C. Antonio Rodrguez Garca 38

    Primero se hace oscilar nuestro sistema segn los parmetros mencionados por el mtodo

    (Tiempo derivativo en cero y el integral al mximo, despus ir bajando la banda proporcional),

    como SIMULINK trabaja con ganancias, en el caso de la banda proporcional, el bajarla, implica

    tener una ganancia menor.

    Segn lo mencionado, se obtuvo lo siguiente:

    Con el grafico anterior se puede observar que se tienen los siguientes valores:

    Tu= 4 Seg Bu=3

    Los valores que se debern utilizar en el controlador son los siguientes, segn los clculos

    sugeridos por el mtodo:

    Td = Ti= 0.5 seg/rep , Bu= 6

    Debido a que el controlador PID de SIMULINK opera con ganancias, los valores a utilizar serian:

    D = 0.5 seg , I = 2 rep/seg , Bu= 6

    P= 3 I= 10 D= 0

  • Control de Procesos M.C. Antonio Rodrguez Garca 39

    Con los valores obtenidos se obtiene lo siguiente:

    Segn este mtodo, se puede considerar con dichos valores que nuestro sistema se encuentra

    sintonizado, a diferencia de los dems mtodos, este obtuvo una mejor sintona de una manera

    ms rpida y eficiente de tiempo requerido, pero la nica desventaja de este mtodo es que no

    siempre se puede utilizar en campo, debido a la necesidad de producir oscilaciones en los

    sistemas.

    P= 6 I= 2 D= 0.5

  • Control de Procesos M.C. Antonio Rodrguez Garca 40

    S I S T E M A S C A S C A D A

    La finalidad de este tipo de sistemas es la de controlar rpidamente las variables intermedias,

    corrigiendo el efecto de las perturbaciones de entradas antes de que estas afecten a la salida del

    proceso.

    La estructura bsica es la siguiente:

    Para poder realizar un sistema tipo cascada, se deben tener la siguiente caracterstica; la dinmica

    (constante de tiempo) del lazo interno debe ser mucho ms rpida que la del lazo externo.

  • Control de Procesos M.C. Antonio Rodrguez Garca 41

    A continuacin se muestra con un ejemplo la forma de analizar este tipo de sistemas:

    Ejemplo Nuestro sistema a sintonizar ser el siguiente:

    Este es un sistema cascada en el cual, el proceso esclavo cuenta con dos constantes de tiempo de

    0.2 min y 0.05 min respectivamente y el proceso maestro tambin cuanta con dos constantes de

    tiempo de 2 min y 0.5 min.

    Para el anlisis y sintona de este tipo de sistemas, es necesario analizar primero el sistema de

    mayor rapidez primero. Para sintonizar este sistema primero se analizara el proceso esclavo.

    Una vez sintonizado nuestro sistema esclavo, se pasara a sintonizar el controlador maestro ya con

    el controlador esclavo sintonizado.

    El mtodo de sintonizacin que se utilizara ser el de ltimo periodo, esto con la finalidad de

    facilitar el trabajo, adems que con la ayuda del programa SIMULINK de Matlab, este mtodo se

    puede utilizar sin ningn problema.

    Ultimo periodo

    (Recordando el mtodo)

    Para este mtodo nuestro sistema debe ser de lazo cerrado. Este mtodo se basa en hacer oscilar

    nuestro sistema con una ganancia unitaria para obtener nuestros valores de sintona.

    El procedimiento es el siguiente

    o Poner el tiempo de integracin al mximo o Poner el tiempo derivativo en el mnimo o Poner la banda proporcional al mximo o Poner el controlador en modo automtico

  • Control de Procesos M.C. Antonio Rodrguez Garca 42

    o Reduzca la banda proporcional hasta que el sistema empiece a oscilar con una ganancia

    unitaria (Ultima banda proporcional, Bu) y con una amplitud A lo ms pequea posible. o

    o Mida el periodo de oscilacin, Tu o Ajuste las configuraciones de la siguiente forma:

    o Para un controlador nicamente proporcional, B=2Bu para un 0.25 de amortiguamiento. Si el controlador tiene unidades de ganancia, la ganancia deber ser uno y medio del valor que causo la oscilacin.

    o En los tres modos de controlador, en el cual la integral est en fase con la contante de tiempo, la componente integral y derivativa debern tener los mismos valores de tiempo. Esto deber de producir un desfasamiento mnimo. Tiempo integral = Tiempo derivativo = Tu/2 o aproximadamente Tu/6.

    o Despus de que son establecidos los tiempos de la integral y derivativa, ajuste la

    banda proporcional o ganancia para obtener el amortiguamiento deseado. Si se

    desea un amortiguamiento del 0.25, B= aproximadamente 1.77Bu.

    Para nuestro sistema esclavo se presentaron los siguientes resultados

    Por lo tanto los valores obtenidos son los siguientes:

    Tu= 0.5 seg , Bu= 1

    P= 1 I= 50 D= 0

  • Control de Procesos M.C. Antonio Rodrguez Garca 43

    Los valores que se debern utilizar en el controlador son los siguientes, segn los

    clculos sugeridos por el mtodo:

    Ti= 0.083 seg/rep , Bu= 1.77

    Debido a que el controlador PID de SIMULINK opera con ganancias, los valores a utilizar serian:

    I= 12 rep/seg , Bu= 1.77

    Debido a que nuestro sistema es demasiado rpido, no ser necesario aplicar una accin derivada

    en el controlador.

    El grafico del sistema esclavo sintonizado es el siguiente:

    Ya que tenemos nuestro sistema esclavo sintonizado, ya se puede sintonizar el sistema maestro.

    P= 1.77 I= 12 D= 0

  • Control de Procesos M.C. Antonio Rodrguez Garca 44

    Siguiendo utilizando el mtodo del ltimo periodo, se muestran los siguientes

    resultados:

    Por lo tanto los valores obtenidos son los siguientes:

    Tu= 4 seg , Bu= Indefinido

    Los valores que se debern utilizar en el controlador son los siguientes, segn los clculos

    sugeridos por el mtodo:

    Ti= 0.66 seg/rep , Bu= indefinido

    Debido a que el controlador PID de SIMULINK opera con ganancias, los valores a utilizar serian:

    I= 1.5 rep/seg , Bu= Indefinido

    En el grafico anterior se observo que el sistema no se logro hacer oscilar de forma unitaria, por lo

    tanto para esta etapa del sistema, no se puede utilizar el mtodo de ltimo periodo, as que se

    tendr que asignar el valor de la ganancia y de ser necesario cambiar los valores de sintona por

    medio de la ayuda de los mtodos de prueba y error y de los mapas de sintona.

    P= 0.0001 I= 10 D= 0

    P= 1 I= 1.5 D= 0

  • Control de Procesos M.C. Antonio Rodrguez Garca 45

    En el grafico anterior se observa que nuestra respuesta es muy lenta, para mejorar

    esto, aumentaremos la ganancia integral y se aumentara la ganancia proporcional adems de

    aplicarle una derivada pequea.

    En el grafico anterior se puede observar que la estabilizacin del sistema se encuentra

    amortiguada, para esto se le reducir la accin derivativa y se aumentara ligeramente la integral y

    la proporcional

    Ya con este ltimo grafico se puede concluir que ya nuestro Proceso en cascada se encuentra

    debidamente sintonizado.

    P= 4 I= 2 D= 1

    P= 5 I= 2.2 D= 0.5

  • Control de Procesos M.C. Antonio Rodrguez Garca 46

    A N L I S I S C O M P U T A C I O N A L C O N M A T L A B

    En esta seccin vamos a ver cmo llevar a cabo la mayora de los pasos anteriores, utilizando una

    funcin de usuario (archivo .m) de Matlab.

    Las acciones que lleva a cabo esta funcin son las siguientes:

    o Trazo de LGR o Trazo de Bode o Trazo de Nyquist o Respuesta al escaln/rampa o Clculo de controladores, y posibles controladores estables (para entradas

    escaln y rampas) o Generacin de modelo en SIMULINK de la planta, lista para sintonizar

    pasos a seguir

    1. Asegurar que se tienen instalados los archivos necesarios para la ejecucin del archivo .m llamado determinarControlador; para llevar a cabo esto es necesario copiar todo lo contenido en el siguiente archivo a la carpeta de trabajo de Matlab, la cual se obtiene escribiendo el comando CD.

    2. Ya teniendo instalado todo lo necesario, se necesita ejecutar Matlab, y declarar una variable simblica s de la siguiente manera: syms s

    3. Ya teniendo declarada la variable, solo basta llamar la funcin determinarControlador, la cual tiene como entrada 5 parmetros, los cuales son:

    a. Numerador de la funcin, con variable s obligatoria (Utilizando la FT obtenida en este trabajo sera: 0*s + 1 )

    b. Denominador de la funcin, con variable s obligatoria (Utilizando la FT obtenida en este trabajo sera: ((s+2)*(s+0.5)) )

    c. Ganancia Kp (Ej. 1) d. Ganancia Ki (Ej. 1) e. Ganancia Kd (Ej. 1)

    Para este ejercicio, la funcin determinarControlador se deber de llamar de la siguiente manera: determinarControlador(0*s + 1, ((s+2)*(s+0.5)), 1, 1, 1)

    Es necesario recordar que MATLAB maneja ganancias, donde la parte proporcional es ganancia, la parte integral son rep/seg, y la parte derivativa son seg

  • Control de Procesos M.C. Antonio Rodrguez Garca 47

    Habiendo seguido estos pasos, ya se van a tener resultados, los cuales para la funcin de transferencia de este trabajo son los siguientes, pero antes, recordaremos la FT. Donde K es igual a 1 en este caso, recordando que es salida/entrada, que es 100/100

    resultados

  • Control de Procesos M.C. Antonio Rodrguez Garca 48

    En esta pantalla se muestra el mismo sistema original ordenado; y los posibles controles estables, esto utilizando el mtodo del lmite; es decir, calculando el lmite cuando s tiende a ser cero, y verificando si el resultado final es cero o no. (cero = estable) Como podemos ver, para esta planta los posibles controladores estables (pero no precisamente

    sintonizados con ganancias unitarias) para una entrada ESCALN seran:

    Control I Control PI Control PID

    Para una entrada RAMPA, para este preciso sistema no habra un controlador estable. Luego de mostrar esta pantalla saldrn unos dilogos de preguntas, acerca de qu tipo de resultados queremos ver; sin embargo, si presionamos Si a todos esos mensajes, podremos ver las siguientes ventanas.

  • Control de Procesos M.C. Antonio Rodrguez Garca 49

    En esta ventana se muestran TODAS las respuestas de TODOS los sistemas (original, con P, con PI, con PID, etc) a una entrada escaln, de manera predeterminada, ya que si se presiona botn derecho se puede seleccionar el tipo de entrada a analizar (escaln, rampa, etc), as como tambin seleccionar los sistemas a mostrar. A continuacin veremos todas las ventanas de las grficas de cada uno de los sistemas generados, es decir, el sistema original, con P, con PI, con PID, etc. Estas mismas grficas son exportadas a alguna carpeta de nuestro sistema; esta carpeta se nos es preguntada al momento de presionar Si a generar las grficas de LGR. **NOTA: Si por alguna razn (versin de Matlab no compatible) no llegase a mostrarse el dilogo para la seleccin de la carpeta de donde guardar las imgenes exportadas; ests sern guardadas de manera predeterminada en C:\

  • Control de Procesos M.C. Antonio Rodrguez Garca 50

    SISTEMA ORIGINAL (LAZO ABIERTO)

    SISTEMA ORIGINAL + CONTROL P (LAZO CERRADO)

  • Control de Procesos M.C. Antonio Rodrguez Garca 51

    SISTEMA ORIGINAL + CONTROL I (LAZO CERRADO)

    SISTEMA ORIGINAL + CONTROL D (LAZO CERRADO)

  • Control de Procesos M.C. Antonio Rodrguez Garca 52

    SISTEMA ORIGINAL + CONTROL PI (LAZO CERRADO)

    SISTEMA ORIGINAL + CONTROL PID (LAZO CERRADO)

  • Control de Procesos M.C. Antonio Rodrguez Garca 53

    Esta funcionalidad de ver todas las grficas necesarias de cada uno de los

    controladores es bastante til al momento de analizar de manera superficial y rpida el

    comportamiento de estos mismos; ya que sin mucho esfuerzo se puede obtener informacin

    como el rango de estabilidad, ganancia crtica, etc.

    Cabe sealar que los sistemas antes graficados todos son a lazo cerrado, con excepcin el

    sistema original, es decir, el sistema sin control alguno, ya que este es a lazo abierto. El lazo se cierra con una retroalimentacin unitaria.

    Otra funcin ms del sistema es la opcin de generar el modelo de SIMULINK, listo para

    sintonizar mediante los mtodos de sintona vistos anteriormente en este mismo trabajo.

    Con este modelo ya solo es cuestin de ajustar las ganancias de cada una de las etapas

    (Proporcional, Derivativo e Integral) para poder sintonizar de manera terica el sistema con

    su respectivo controlador.

    **NOTA: Al momento de cerrar el modelo en simulink, les preguntar si desean guardar

    cambios; es necesario que presionen que NO, o que lo guarden con otro nombre, ya que ese

    mismo modelo ser utilizado en la siguiente corrida de la funcin determinarControlador, y si

    guardan los cambios no ser un modelo en blanco lo que se abrir.

  • Control de Procesos M.C. Antonio Rodrguez Garca 54

    En este caso, los valores necesarios para sintonizar el sistema del trabajo seran:

    Proporcional Integral Derivativo

    Modelo Real 9 100 (seg/rep) 2 seg

    Modelo en Matlab 9 0.01 (rep/seg) 2 seg

  • Control de Procesos M.C. Antonio Rodrguez Garca 55

    Con una respuesta a una entrada escaln igual a:

    Conclusiones

    A manera de conclusin de esta seccin, podemos decir que una manera bastante de sencilla de

    analizar un sistema es mediante el uso de software computacional como MATLAB, aunque puede

    llegar a ser aun ms sencillo con el uso de funciones ya diseadas especficamente para esto,

    como el caso de la funcin utilizada en esta seccin (determinarControlador). Lo que nos puede

    llevar ms de una hora en hacer a mano, nos puede llevar menos de 10 min en hacerlo con algn

    software especializado.

  • Control de Procesos M.C. Antonio Rodrguez Garca 56

    A N E X O S

    A.- Ejemplo de uso de la funcin determinarControlador

    determinarControlador(0*s + 1, ((s+2)*(s+0.5)), 1, 1, 1)

    B.- Cdigo fuente de la funcin determinarControlador

    function determinarControlador(numerador, denonimador, gain_kp, gain_ki, gain_kd)

    try

    %Borramos la pantalla

    clc

    %Declaramos la variable del CD

    dirOriginal = '';

    %Convertimos las variables principales

    planta = numerador/denonimador;

    num = sym2poly(numerador);

    den = sym2poly(denonimador);

    %Declaracin de variables simblicas

    syms 's';

    syms 'kp';

    syms 'ki';

    syms 'kd';

    %Declaracin de controladores a determinar

    control_p = kp;

    control_i = ki/s;

    control_d = kd*s;

    control_pi = control_p + control_i;

    control_pid = control_pi + control_d;

    %Controladores utilizados al momento de generar las grficas

    NUM_control_p = [0 gain_kp];

    DEN_control_p = [0 1];

    NUM_control_i = [0 gain_ki];

    DEN_control_i = [1 0];

    NUM_control_d = [gain_kd 0];

    DEN_control_d = [0 1];

    NUM_control_pi = [gain_kp gain_ki];

    DEN_control_pi = [1 0];

    NUM_control_pid = [gain_kd gain_kp gain_ki];

    DEN_control_pid = [1 0];

    %Declaracin de tipos de entradas al sistema

    escalon = 1/s;

    rampa = 1/(s^2);

    %Mostramos el sistema original (sin controladores)

    fprintf('\n\nLa planta original:');

    pretty(planta);

    fprintf('\n\nLa planta original (desarrollada):');

    ['Numerador' poly2sym(num); 'Denominador' poly2sym(den)]

    %Preguntamos si requieren generar las grficas

    generarGraficasDlg = questdlg('Generar las grficas?', 'Grficas de los

    controladores');

    switch generarGraficasDlg

    case 'Yes'

    generarGraficas = 1;

    otherwise

    generarGraficas = 0;

  • Control de Procesos M.C. Antonio Rodrguez Garca 57

    end;

    %Determinamos si se mandaron los parmetros necesarios para generar las grficas (NUM y

    DEN)

    if (generarGraficas == 1)

    %Preguntamos si requieren generar las grficas del LGR

    generarGraficasDlg = questdlg('Desea que una de las grficas que se generen sean

    las grficas del LGR?', 'Grficas de los controladores');

    switch generarGraficasDlg

    case 'Yes'

    generarGraficasLgr = 1;

    otherwise

    generarGraficasLgr = 0;

    end;

    %Preguntamos si requieren generar las grficas de la respuesta en el tiempo

    generarGraficasDlg = questdlg('Desea que una de las grficas que se generen sean

    las grficas de la respuesta en el tiempo?', 'Grficas de los controladores');

    switch generarGraficasDlg

    case 'Yes'

    generarGraficasResp = 1;

    otherwise

    generarGraficasResp = 0;

    end;

    scrsz = get(0,'ScreenSize');

    sys_Original_LazoAbierto= TF(num,den); %Lazo Abierto

    fprintf('\n\nSe generarn las grficas del sistema original y sus controladores...');

    %Calculamos los sistemas con los controles

    numCtrl = sym2poly(poly2sym(num) * poly2sym(NUM_control_p));

    denCtrl = sym2poly(poly2sym(den) * poly2sym(DEN_control_p));

    sys_ControlP_LazoCerrado= feedback(TF(numCtrl, denCtrl), 1);

    numCtrl = sym2poly(poly2sym(num) * poly2sym(NUM_control_i));

    denCtrl = sym2poly(poly2sym(den) * poly2sym(DEN_control_i));

    sys_ControlI_LazoCerrado = feedback(TF(numCtrl, denCtrl), 1);

    numCtrl = sym2poly(poly2sym(num) * poly2sym(NUM_control_d));

    denCtrl = sym2poly(poly2sym(den) * poly2sym(DEN_control_d));

    sys_ControlD_LazoCerrado = feedback(TF(numCtrl, denCtrl), 1);

    numCtrl = sym2poly(poly2sym(num) * poly2sym(NUM_control_pi));

    denCtrl = sym2poly(poly2sym(den) * poly2sym(DEN_control_pi));

    sys_ControlPI_LazoCerrado = feedback(TF(numCtrl, denCtrl), 1);

    numCtrl = sym2poly(poly2sym(num) * poly2sym(NUM_control_pid));

    denCtrl = sym2poly(poly2sym(den) * poly2sym(DEN_control_pid));

    sys_ControlPID_LazoCerrado = feedback(TF(numCtrl, denCtrl), 1);

    if (generarGraficasResp == 1)

    ltiview('step', sys_Original_LazoAbierto, sys_ControlP_LazoCerrado,

    sys_ControlPI_LazoCerrado, sys_ControlPID_LazoCerrado)

    end;

    %Verificamos si se van a graficar lo LGR...

    if (generarGraficasLgr == 1)

    %Cambiamos de directorio actual, para guardar las imgenes en el lugar especificado

    dirOriginal = cd;

    %Intentamos cargar el dalogo para donde guardar las grficas

    try

    dirImg = uigetfolder('Carpeta para guardar las grficas');

    catch

    dirImg = 'C:\';

    end

    if (isempty(dirImg))

    dirImg = 'C:\';

    end;

    cd(dirImg);

    %Graficamos el sistema original

  • Control de Procesos M.C. Antonio Rodrguez Garca 58

    fig_Original = figure('Position',[20 40 scrsz(3)-40 scrsz(4)-100],

    'Name', 'Original - Lazo Abierto');

    subplot(2,1,1), rlocus(sys_Original_LazoAbierto), title('LGR - Original - Lazo

    Abierto');

    subplot(2,4,5), step(sys_Original_LazoAbierto), title('Entrada Escaln');

    subplot(2,4,6), impulse(sys_Original_LazoAbierto), title('Entrada Rampa');

    subplot(2,4,7), bode(sys_Original_LazoAbierto), title('Diagrama de BODE');

    subplot(2,4,8), nyquist(sys_Original_LazoAbierto), title('Diagrama de Nyquist');

    set(gcf,'PaperPositionMode','auto')

    print -djpeg -zbuffer -r100 'Original.jpg';

    %Graficamos el sistema original con controlador P

    fig_CtrlP = figure('Position',[20 40 scrsz(3)-40 scrsz(4)-100], 'Name', 'Control

    P - Lazo Cerrado');

    subplot(2,1,1), rlocus(sys_ControlP_LazoCerrado), title('LGR - Control P - Lazo

    Cerrado');

    subplot(2,4,5), step(sys_ControlP_LazoCerrado), title('Entrada Escaln');

    subplot(2,4,6), impulse(sys_ControlP_LazoCerrado), title('Entrada Rampa');

    subplot(2,4,7), bode(sys_ControlP_LazoCerrado), title('Diagrama de BODE');

    subplot(2,4,8), nyquist(sys_ControlP_LazoCerrado), title('Diagrama de Nyquist');

    set(gcf,'PaperPositionMode','auto')

    print -djpeg -zbuffer -r100 'Control_P.jpg';

    %Graficamos el sistema original con controlador I

    fid_CtrlI = figure('Position',[20 40 scrsz(3)-40 scrsz(4)-100], 'Name', 'Control

    I - Lazo Cerrado');

    subplot(2,1,1), rlocus(sys_ControlI_LazoCerrado ), title('LGR - Control I - Lazo

    Cerrado');

    subplot(2,4,5), step(sys_ControlI_LazoCerrado ), title('Entrada Escaln');

    subplot(2,4,6), impulse(sys_ControlI_LazoCerrado ), title('Entrada Rampa');

    subplot(2,4,7), bode(sys_ControlI_LazoCerrado ), title('Diagrama de BODE');

    subplot(2,4,8), nyquist(sys_ControlI_LazoCerrado ), title('Diagrama de

    Nyquist');

    set(gcf,'PaperPositionMode','auto')

    print -djpeg -zbuffer -r100 'Control_I.jpg';

    %Graficamos el sistema original con controlador D

    fig_CtrlD = figure('Position',[20 40 scrsz(3)-40 scrsz(4)-100], 'Name', 'Control

    D - Lazo Cerrado');

    subplot(2,1,1), rlocus(sys_ControlD_LazoCerrado ), title('LGR - Control D - Lazo

    Cerrado');

    subplot(2,4,5), step(sys_ControlD_LazoCerrado ), title('Entrada Escaln');

    subplot(2,4,6), impulse(sys_ControlD_LazoCerrado ), title('Entrada Rampa');

    subplot(2,4,7), bode(sys_ControlD_LazoCerrado ), title('Diagrama de BODE');

    subplot(2,4,8), nyquist(sys_ControlD_LazoCerrado ), title('Diagrama de

    Nyquist');

    set(gcf,'PaperPositionMode','auto')

    print -djpeg -zbuffer -r100 'Control_D.jpg';

    %Graficamos el sistema original con controlador PI

    fig_CtrlPI = figure('Position',[20 40 scrsz(3)-40 scrsz(4)-100], 'Name', 'Control

    PI - Lazo Cerrado');

    subplot(2,1,1), rlocus(sys_ControlPI_LazoCerrado ), title('LGR - Control PI -

    Lazo Cerrado');

    subplot(2,4,5), step(sys_ControlPI_LazoCerrado ), title('Entrada Escaln');

    subplot(2,4,6), impulse(sys_ControlPI_LazoCerrado ), title('Entrada Rampa');

    subplot(2,4,7), bode(sys_ControlPI_LazoCerrado ), title('Diagrama de BODE');

    subplot(2,4,8), nyquist(sys_ControlPI_LazoCerrado ), title('Diagrama de

    Nyquist');

    set(gcf,'PaperPositionMode','auto')

    print -djpeg -zbuffer -r100 'Control_PI.jpg';

    %Graficamos el sistema original con controlador PID

    fig_CtrlPID = figure('Position',[20 40 scrsz(3)-40 scrsz(4)-100], 'Name',

    'Control PID - Lazo Cerrado');

    subplot(2,1,1), rlocus(sys_ControlPID_LazoCerrado ), title('LGR - Control PID -

    Lazo Cerrado');

    subplot(2,4,5), step(sys_ControlPID_LazoCerrado ), title('Entrada Escaln');

    subplot(2,4,6), impulse(sys_ControlPID_LazoCerrado ), title('Entrada Rampa');

    subplot(2,4,7), bode(sys_ControlPID_LazoCerrado ), title('Diagrama de BODE');

  • Control de Procesos M.C. Antonio Rodrguez Garca 59

    subplot(2,4,8), nyquist(sys_ControlPID_LazoCerrado ), title('Diagrama

    de Nyquist');

    set(gcf,'PaperPositionMode','auto')

    print -djpeg -zbuffer -r100 'Control_PID.jpg';

    end;

    else

    sys_Original_LazoAbierto= 0;

    fprintf('\n\nNo se generarn las grficas de cada controlador');

    end;

    %%%%%%%%%%%%%%%%%%%%%%%% CALCULOS PARA UNA ENTRADA ESCALN %%%%%%%%%%%%%%%%%%%%%%%%

    %Calculamos los lmites de los sistemas con los controladores cuando 's' tiende a '0'

    res_escalon_control_p = limit((1/(1+(control_p*planta)))*s*escalon, s, 0);

    res_escalon_control_i = limit((1/(1+(control_i*planta)))*s*escalon, s, 0);

    res_escalon_control_d = limit((1/(1+(control_d*planta)))*s*escalon, s, 0);

    res_escalon_control_pi = limit((1/(1+(control_pi*planta)))*s*escalon, s, 0);

    res_escalon_control_pid = limit((1/(1+(control_pid*planta)))*s*escalon, s, 0);

    fprintf('\n\nControladores estables para una entrada ESCALON:\n');

    if (res_escalon_control_p == 0) fprintf('Control P\n'); end

    if (res_escalon_control_i == 0) fprintf('Control I\n'); end

    if (res_escalon_control_d == 0) fprintf('Control D\n'); end

    if (res_escalon_control_pi == 0) fprintf('Control PI\n'); end

    if (res_escalon_control_pid == 0) fprintf('Control PID\n'); end

    %%%%%%%%%%%%%%%%%%%%%%%% CALCULOS PARA UNA ENTRADA RAMPA %%%%%%%%%%%%%%%%%%%%%%%%

    %Calculamos los lmites de los sistemas con los controladores cuando 's' tiende a '0'

    res_rampa_control_p = limit((1/(1+(control_p*planta)))*s*rampa, s, 0);

    res_rampa_control_i = limit((1/(1+(control_i*planta)))*s*rampa, s, 0);

    res_rampa_control_d = limit((1/(1+(control_d*planta)))*s*rampa, s, 0);

    res_rampa_control_pi = limit((1/(1+(control_pi*planta)))*s*rampa, s, 0);

    res_rampa_control_pid = limit((1/(1+(control_pid*planta)))*s*rampa, s, 0);

    fprintf('\n\nControladores estables para una entrada RAMPA:\n');

    if (res_rampa_control_p == 0) fprintf('Control P\n'); end

    if (res_rampa_control_i == 0) fprintf('Control I\n'); end

    if (res_rampa_control_d == 0) fprintf('Control D\n'); end

    if (res_rampa_control_pi == 0) fprintf('Control PI\n'); end

    if (res_rampa_control_pid == 0) fprintf('Control PID\n'); end

    %Preguntamos si quieren abrir el modelo en blanco

    generarModeloDlg = questdlg('Generar el modelo en simulink, en blanco?', 'Modelo en

    Simulink');

    switch generarModeloDlg

    case 'Yes'

    generarModelo = 1;

    otherwise

    generarModelo = 0;

    end;

    if (generarModelo == 1)

    PID

    end;

    cd(dirOriginal) %Regresamos al directorio original

    catch

    if ~isempty(dirOriginal)%(dirOriginal ~= '')

    cd(dirOriginal) %Regresamos al directorio original

    end;

    end

    %--------------- Pasamos las variables al workspace BASE ---------------%

    % get list of variable names in the current workspace

    varNames = who;

    % loop through all variables in the current workspace

  • Control de Procesos M.C. Antonio Rodrguez Garca 60

    for varNamesii = 1:length(varNames)

    % convert variable name from cell to string

    varName = char(varNames(varNamesii));

    % assign variable to the base workspace

    assignin('base', varName, eval(varName));

    end

    %-----------------------------------------------------------------------%

    fprintf('\n\n\n');