Anda di halaman 1dari 60

ANLISIS DE UN SISTEMA DE CONTROL

Control de Procesos

M.C. ANTONIO RODRIGUEZ GARCIA

NDICE

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

INTRODUCCIN
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

PORCIENTO INCOMPLETO
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

**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

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

Control de Procesos

100% - Y

T (Min)

100

10

90

0.6

20

80

0.8

30

70

1.1

40

60

1.5

50

50

60

40

2.4

70

30

80

20

3.8

90

10

5.2

M.C. Antonio Rodrguez Garca

Si usted cree necesario, puede


obtener ms valores para as
obtener una mayor resolucin
y exactitud en el grafico

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

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

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

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.

Control de Procesos

M.C. Antonio Rodrguez Garca

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:
Redondeamos el resultado, con la
finalidad de no meternos en
problemas con los decimales, ya que
se est utilizando una escala
logartmica

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.

Control de Procesos

M.C. Antonio Rodrguez Garca

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

10

LUGAR GEOMTRICO DE LAS RACES


(LGR)
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

11

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)

Control de Procesos

No. Asntotas = 2 0

NP = # Polos

No. Asntotas = 2

NZ = # Ceros

M.C. Antonio Rodrguez Garca

12

Valor obtenido al sustituir los


valores de n en la ecuacin

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

Control de Procesos

M.C. Antonio Rodrguez Garca

13

La raz obtenida, es el punto


de quiebre o ruptura.

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:
Control de Procesos

M.C. Antonio Rodrguez Garca

14

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

15

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.

DIAGRAMA DE BODE
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

16

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

17

Ya obtenidas las ecuaciones de magnitud y fase, se sustituyen los valores de frecuencia por
dcadas, para obtener la siguiente tabulacin.

0.1
0.3
0.5
0.7
1
3
5
7
10
30
50
70
100
300
500
700

-0.1811
-1.4320
-3.2735
-5.2147
-7.9588
-20.8008
-28.6465
-34.1668
-40.1811
-59.1053
-67.9661
-73.8076
-80.0018
-99.0850
-107.9588
-113.8039

-14.1723
-39.4945
-59.0362
-73.7523
-90
-136.84
-152.4879
-159.9689
-165.8276
-175.2310
-177.1364
-177.9517
-178.5677
-179.5225
-179.7135
-179.7953

Si usted cree necesario, puede


obtener ms valores para as
obtener una mayor resolucin
y exactitud en los grficos.

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.

Control de Procesos

M.C. Antonio Rodrguez Garca

18

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

19

DIAGRAMA DE NYQUIST
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:

Control de Procesos

M.C. Antonio Rodrguez Garca

Se utilizar una K de 1, porque


en el punto del porciento
20
incompleto se obtuvo que
K=salida/entrada, y esto era
igual a 100/100 = 1.

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

21

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

22


0
1
Infinito
-

Im+Re
1
-3.2735
0
-

0
90
-90
-180
180

0i + 1
-0.4i + 0
0i + 0
-

Si usted cree necesario


puede obtener ms valore
para as obtener una mayo
resolucin y exactitud en lo
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

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

Control de Procesos

M.C. Antonio Rodrguez Garca

23

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

24

CONTROLADORES
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

25

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

26

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

27

MTODOS DE SINTONA
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

28

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

29

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

30

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

PrimeramenteEllecontrolador
asignamos valores
arbitrariostrabaja
a nuestro
y analizamos su respuesta,
PID de SIMULNK
con controlador
valores de ganancias
como se muestra en la siguiente figura:

P= 13
I= 0.5
D= 0.12

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.

Control de Procesos

M.C. Antonio Rodrguez Garca

31

P= 5
I= 3
D=0 .3

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.

P= 10
I= 3
D= 1.5

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.

Control de Procesos

M.C. Antonio Rodrguez Garca

32

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
P
PI
PID

Control de Procesos

Kp

Ti

Td

T/L
.9 T/L
1.2 T/L

L/0.3
2L

0
0
0.5L

M.C. Antonio Rodrguez Garca

33

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

34

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

Kp

Ti

Td

T/L

PI

.9 T/L

L/0.3

PID

1.2 T/L

2L

0.5L

Controlador

Control de Procesos

M.C. Antonio Rodrguez Garca

35

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:

P= 13.68
I= 27.36
D= 1.71

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.

Control de Procesos

M.C. Antonio Rodrguez Garca

36

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

37

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:

P= 3
I= 10
D= 0

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 ,

Control de Procesos

Bu= 6

M.C. Antonio Rodrguez Garca

38

Con los valores obtenidos se obtiene lo siguiente:

P= 6
I= 2
D= 0.5

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.

Control de Procesos

M.C. Antonio Rodrguez Garca

39

SISTEMAS CASCADA
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

40

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
o
o
o

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

Control de Procesos

M.C. Antonio Rodrguez Garca

41

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 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

P= 1
I= 50
D= 0

Por lo tanto los valores obtenidos son los siguientes:

Tu= 0.5 seg , Bu= 1

Control de Procesos

M.C. Antonio Rodrguez Garca

42

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:

P= 1.77
I= 12
D= 0

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

Control de Procesos

M.C. Antonio Rodrguez Garca

43

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


resultados:

P= 0.0001
I= 10
D= 0

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= 1
I= 1.5
D= 0

Control de Procesos

M.C. Antonio Rodrguez Garca

44

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.

P= 4
I= 2
D= 1

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

P= 5
I= 2.2
D= 0.5

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

Control de Procesos

M.C. Antonio Rodrguez Garca

45

ANLISIS COMPUTACIONAL CON


MATLAB
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:
Trazo de LGR
Trazo de Bode
Trazo de Nyquist
Respuesta al escaln/rampa
Clculo de controladores, y posibles controladores estables (para entradas
escaln y rampas)
o Generacin de modelo en SIMULINK de la planta, lista para sintonizar
o
o
o
o
o

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)) )
Es necesario recordar que MATLAB maneja
c. Ganancia Kp (Ej. 1)
ganancias, donde la parte proporcional es
d. Ganancia Ki (Ej. 1)
ganancia, la parte integral son rep/seg, y
e. Ganancia Kd (Ej. 1)
la parte derivativa son seg
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)

Control de Procesos

M.C. Antonio Rodrguez Garca

46

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

47

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

48

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

49

SISTEMA ORIGINAL (LAZO ABIERTO)

SISTEMA ORIGINAL + CONTROL P (LAZO CERRADO)

Control de Procesos

M.C. Antonio Rodrguez Garca

50

SISTEMA ORIGINAL + CONTROL I (LAZO CERRADO)

SISTEMA ORIGINAL + CONTROL D (LAZO CERRADO)

Control de Procesos

M.C. Antonio Rodrguez Garca

51

SISTEMA ORIGINAL + CONTROL PI (LAZO CERRADO)

SISTEMA ORIGINAL + CONTROL PID (LAZO CERRADO)

Control de Procesos

M.C. Antonio Rodrguez Garca

52

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

53

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

Proporcional

Integral

Derivativo

Modelo Real

100 (seg/rep)

2 seg

Modelo en Matlab

0.01 (rep/seg)

2 seg

Control de Procesos

M.C. Antonio Rodrguez Garca

54

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

55

ANEXOS
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

56

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

57

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

58

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

59

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');

Control de Procesos

M.C. Antonio Rodrguez Garca

60