Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PRACTICO Y AVANZADO
ARTURO ROJAS MORENO, Ph.D.
F Modelado de Procesos
F Sistemas de Instrumentacion
F Elementos Finales de Control
F Control PID SISO
F Estrategias de Control PID
F Control PID MIMO
F Control Inteligente
F Programas fuente en MATLAB
TECSUP
II
ISBN
Queda rigurosamente prohibida la reproduccion total o parcial de esta obra por cualquier
medio o procedimiento, sin la autorizacion escrita del propietario del Copyright.
A la Memoria de mis Padres
Indice general
III
Prefacio IX
1. Introduccion 1
1.1. Sistema de Control a Lazo Cerrado . . . . . . . . . . . . . . . . . . . . 1
1.2. Sistema de Control a Lazo Abierto . . . . . . . . . . . . . . . . . . . . 6
1.3. Dinamica Lineal de los Elementos Ideales . . . . . . . . . . . . . . . . 7
2. El Proceso a Controlar 11
2.1. Procesos con Comportamiento Proporcional . . . . . . . . . . . . . . . 11
2.2. Procesos de Primer Orden . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3. Procesos de Segundo Orden . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4. Procesos Integrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5. Procesos con Tiempo Muerto . . . . . . . . . . . . . . . . . . . . . . . 21
2.6. Procesos de Orden Superior . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7. El Motor DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8. Modelo MIMO del Proceso Tanque Cerrado . . . . . . . . . . . . . . . 28
2.8.1. Descripcion del Proceso . . . . . . . . . . . . . . . . . . . . . . 28
2.8.2. Modelo Dinamico No Lineal del Proceso . . . . . . . . . . . . . 29
2.8.3. Modelo Dinamico de Lagrange del Proceso . . . . . . . . . . . 33
2.8.4. Modelo Dinamico Lineal del Proceso . . . . . . . . . . . . . . . 33
2.9. Respuesta Transitoria de los Procesos . . . . . . . . . . . . . . . . . . 34
2.9.1. Respuesta al Escalon . . . . . . . . . . . . . . . . . . . . . . . . 34
2.9.2. Metodo del 28.3 % y 63.2 % . . . . . . . . . . . . . . . . . . . . 37
2.9.3. Otras Respuestas al Escalon y al Impulso . . . . . . . . . . . . 37
2.10. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3. El Sistema de Instrumentacion 45
3.1. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1. Caractersticas Estaticas y Dinamicas . . . . . . . . . . . . . . 46
3.1.2. Principios de los sensores . . . . . . . . . . . . . . . . . . . . . 47
B
. ibliografa 247
Indice
. alfabetico 250
Prefacio
VIENEN AGRADECIMIENTOS.
Introduccion
En este Captulo se hace un breve introduccion sobre los sistemas de control a lazo
cerrado y a lazo abierto, describiendo brevemente sus componentes e incluyendo ejemplos
industriales para reforzar la comprension de los conceptos. Tales componentes son: el
proceso cuya variable de salida se desea controlar, el sistema de instrumentacion que
sensa y transmite la variable a controlar, el controlador que procesa la desviacion entre
el valor de la variable a controlar con respecto a una senal deseada con el proposito de
generar una senal de control, y el elemento de control final que recibe la senal generada
por el controlador para efectuar cambios en el proceso con la finalidad de que la desviacion
anteriormente descrita se reduzca a cero.
Controlador de
realimentacin Disturbios
SP MV PV
r e Algoritmo u Elemento final y
de Control de control Proceso
Sensor ms
Transmisor
Sistema de
Instrumentacin
El Proceso
El bloque proceso representa un cambio fsico o qumico de la materia. As tenemos
los procesos de calefaccion, enfriamiento, mezcla, fundicion, separacion, destilacion,
2 Introduccion
llenado y vaciado, evaporacion, coccion, entre otros. Los instrumentos son dispositivos
que se emplean en los procesos para monitorearlos y controlarlos, lo cual se logra
mediante la medicion de algunas de sus caractersticas, tambien denominadas los
parametros del proceso.
Algunos ejemplos de caractersticas del proceso son: capacitancia, inductancia,
resistencia, voltaje, corriente, peso, presion, aceleracion, sonido, color, nivel, tempe-
ratura, humedad, densidad, contenido de humedad, viscocidad, dimension, concen-
tracion de pH, flujo, velocidad, espesor, gravedad especfica, entre otros. La variable
y mostrada en Fig. 1.4, conocida tambien como PV (Process Variable), es la variable
controlada o salida del proceso.
El Sistema de Instrumentacion
Es comun que un proceso posea varios parametros que necesitan ser monitore-
adas simultaneamente. Esto se logra por lo general, empleando un sistema de in-
strumentacion para cada parametro (ver Fig. 1.1). Cada sistema de instrumentacion
consta de un sensor que proporciona la (variable medida), y de un transmisor que
cambia dicha variable en una senal estandarizada que pueda ser transmitida. La
variable medida representa entonces la condicion actual de la variable controlada y.
En algunos casos, la variable medida y la variable controlada es la misma variable.
Por ejemplo, la medicion y control de la variable velocidad de un motor DC (Direct
Current). Sin embargo, en otros casos, la variable medida y la variable controlada
pueden ser diferentes. Este es el caso del control de nivel de un lquido en un tanque,
que puede ser realizado midiendo la presion en el fondo del tanque. Es decir, en este
caso medimos presion para controlar nivel.
Senales estandarizadas que se emplean en el control de procesos son: 4 a 20 mA
(miliamperio), 3 a 15 psi (libra por pulgada cuadrada) y 0.2 a 1 bar. Otros rangos de
senales tambien son empleados: 0 a 10 V (volt), 10 a + 10 V, etc. El transmisor
tambien es conocido como convertidor, transductor, y en general como un acondi-
cionador de senales. Si fuera necesario, un acondicionador de senal se puede disenar
empleando opamps (amplificadores operacionales) en su implementacion.
En muchos casos, el sensor y el transmisor son parte de un solo instrumento. Los
sistemas de instrumentacion actuales tambien incluyen hardware para almacenar al-
goritmos y rutinas de calculo, y para el procesamiento de senales digitales empleando
protocolos industriales de comunicacion. Los sistemas de instrumentacion inteligente
reciben dicha denominacion, por que poseen la capacidad de procesar senales digi-
tales.
En general, los sistema de instrumentacion se aplican a los procesos para: indicar
el valor de una variable, registrar y almacenar los valores de una variable, controlar
una variable, fijar alarmas en los casos que una variable alcanza un determinado
valor, y como enclavamiento, es decir, haciendo que una variable cause una accion
cuando alcance un valor previamente establecido.
El Controlador
Para lograr control en la Fig. 1.1, se requiere que el valor de la variable medida
tienda a ser el valor de la senal de referencia r o SP (Set Point), que es la senal
deseada de la variable controlada. En otras palabras, en los sistemas de control a lazo
1.1 Sistema de Control a Lazo Cerrado 3
cerrado, las senales r e y son comparadas. La diferencia entre ellas es la senal de error
e, llamada tambien senal de desviacion. Cuando existe una desviacion, es necesario
actuar para eliminarla. Esta accion incluye el ajuste y la accion de una senal o fuerza
de control u, denominada tambien la variable manipulada MV (Manipulated Vari-
able), para minimizar el error; es decir, para hacer que la senal y siga a r, cumpliendo
ciertas especificaciones de diseno (seccion 5.2).
Por ejemplo, la velocidad de un carro se controla comparando el valor indicado
por el velocmetro (la variable medida) con el valor lmite de la velocidad (la variable
deseada o SP). Si existe una desviacion, se tiene que ajustar mediante el pedal del
acelerador una cierta cantidad de gas (la variable manipulada MV) para cambiar la
velocidad (la variable controlada o PV).
El bloque denominado controlador (ver la Fig. 1.1), es el que procesa la senal de
error e empleando un algoritmo de control, para generar la ley de control u que va
hacia el elemento de control final. El agregado de la palabra realimentacion, que en
general no es necesario, solo es para indicar en este caso que tal controlador forma
parte de un sistema de control realimentado.
La funcion del controlador mostrado en la la Fig. 1.1 se logra llevando a cabo
tres pasos. El primero consiste en recopilar informacion acerca de la variable del
proceso que se desea controlar. Luego, usar convenientemente dicha informacion para
tomar una decision con relacion a la condicion del proceso. Finalmente, tomar una
accion basada en tal decision, empleando para ello el elemento de control final. Es
importante anotar que para mantener el control, la recopilacion de informacion debe
de ser continua y permanentemente evaluada. Estas acciones aseguran que la variable
controlada se mantenga en el valor deseado previamente establecido.
Considere el sistema de control de temperatura que posee la terma electrica de una
vivienda, en donde la accion de control se realiza conectando o desconectando a la red
la resistencia de calefaccion para aumentar o disminuir la temperatura del agua en la
terma, correspondientemente. En un primer paso, un sensor de temperatura detecta
la temperatura actual y la compara con una temperatura de referencia previamente
establecida. Como resultado de la comparacion, se decide que es necesario cambiar la
condicion del proceso: aumentar o disminuir la temperatura. Finalmente, se toma la
accion correspondiente: conectar la resistencia a la red para aumentar la temperatura
del agua, o desconectarla para disminuirla.
El control se puede realizar en forma manual o en forma automatica. En el control
manual, la decision la realiza la persona, mientras que en el control automatico la
realiza un dispositivo. La terma es un caso de control automatico de la temperatura,
mientras que la conduccion de un carro para mantenerlo a una velocidad constante,
es un caso de control manual.
Ejemplos de EFC electricos son los motores AC y DC, motores paso a paso, valvu-
las de control motoricas, solenoides, reles, entre otros. Entre los EFC hidraulicos y
neumaticos tenemos: valvulas neumaticas, pistones hidraulicos y neumaticos, mo-
tores hidraulicos y neumaticos, etc. Dependiendo del tipo de EFC, en muchos casos
sera necesario incluir un convertidor (o transmisor) de senal entre el controlador y el
EFC, tal como se muestra en el ejemplo 1.1.
Los Disturbios
Ademas de la variable manipulada, otros factores pueden afectar la variable con-
trolada. Por ejemplo, la velocidad del carro puede ser afectada por la resistencia del
viento y por la calidad de la pista. Por otro lado, La temperatura del agua en la terma
puede ser afectada por un mal aislamiento del tanque o por la cambiante temperatura
del entorno. En control de procesos, estos factores se denominan disturbios.
Para compensar la accion de los disturbios, se requiere de una continua circulacion
de la informacion sobre el proceso. En el sistema de control a lazo cerrado de la Fig.
1.1, la informacion fluye constantemente hacia los instrumentos. Tal informacion es
denotada como realimentacion. Todos los instrumentos y dispositivos que intervienen
en el control de un proceso son referidos como el lazo de control realimentado.
Ejemplo 1.1
Solucion: Ver Fig. 1.3(b).Observar que se requiere un primer transmisor para re-
alizar la operacion F = C P , donde C es una constante de proporcionalidad, y
luego convertir esta operacion en una senal de corriente estandarizada (4 a 20 mA).
El signo raz cuadrada a un costado del transmisor indica esta operacion. Notar tam-
bien que ha sido necesario incluir un segundo transmisor para convertir 4 a 20 mA al
rango de 3 a 15 psi, dado que el actuador de la valvula trabaja con senal neumatica
estandarizada.
Ejemplo 1.2
CONTROLADOR
TRANSMISOR TRANSMISOR
ACTUADOR
F
P1 P2 VLVULA
PLACA DE ORIFICIO NEUMTICA
(a)
4 20 mA 4 20 mA
SP
CONTROLADOR
4 20 mA PV MV
TRANSMISOR TRANSMISOR
ACTUADOR 3 15 psi
P
PROCESO F
P1 P2 EFC: VLVULA
SENSOR: PLACA DE CONTROL
DE ORIFICIO NEUMTICA
(b)
Fig. 1.2: (a) Sistema de control de flujo. (b) Solucion al ejercicio 1.1.
PV
Sensor 420 mA
(ohm) Transmisor
MV Controlador
420 mA SP
Producto 420 mA
Agua caliente
Solucion: El flujo del producto que ingresa al tanque constituye la senal de disturbio.
Mientras mas brusca sea la variacion del flujo de producto, mayor sera la dificultad
para que la senal PV siga a la senal SP.
6 Introduccion
Disturbios
SP MV PV
r y Sensor ms
Controlador u Elemento final
anticipativo de control Proceso Transmisor
Sistema de
Instrumentacin
Fig. 1.4: Sistemas de control a lazo abierto.
Ejemplo 1.3
TRANSPORTE
DESFOGUE
V4 V1
V5 V2
SOPLADO ENTRADA DE LT
ADICIONAL PRODUCTO
PT
SOPLADO
INFERIOR
V3
Almacenador
capacitivo Masa f = M dv
dt E = 12 M v 2
Almacenador Momento
capacitivo de Inercia T = J d
dt E = 12 J 2
Almacenador Capacitancia
capacitivo fludica q21 = Cf dpdt21 E = 12 Cf p22
Almacenador Capacitancia
capacitivo termica q = Ct dT
dt E = Ct T
Disipador Resistencia
1 1 2
de energa electrica i= R v21 P= R v21
Disipador Amortiguador
de energa traslacional f = Bv21 2
P = Bv21
Disipador Amortiguador
de energa rotacional T = B21 2
P = B21
Disipador Resistencia
1 1 2
de energa fludica q= Rf p21 P= Rf p21
Disipador Resistencia
1 1
de energa termica q= Rt T21 P= Rt T21
1.3 Dinamica Lineal de los Elementos Ideales 9
L K 1 T T 2 p1
i f f K I
v v2 q p2
v1 v2 1
2
(a) (b) (c) (d)
J T p1
C Cf
i M f
v1 v2 v q1 p2 q2
f 1 T
q Ct i R B f B T 2
T v1 v2
v1 v2
(i) (j) (k) (l)
Rf Rt
p1 q p2 T1 T2
q
(m) (n)
El Proceso a Controlar
u
u
2
u
FI
u u1
y t1 t2 t
Vlvula y
de control y
(a) 2 y
y
1
t1 t2 t
(b)
Fig. 2.1: (a) Proceso flujo. (b) Respuesta al escalon (curva de reaccion a lazo abierto)
del proceso flujo.
Ejemplo 2.1
Observar que un motor es el que hace girar los ejes de entrada y de salida de dicha
caja.
La respuesta al escalon mostrado en la Fig. 2.1(b) tambien se aplica al proceso
flujo de granos. Considerese que para un tiempo t1 , el flujo que pasa por la banda
es y1 , correspondiente a la velocidad u1 fijada en la caja reductora. Para un tiempo
t2 , incrementamos la velocidad de salida de la caja reductora, fijandola de u 1 a u2 .
Consecuentemente, el flujo aumenta de y1 a y2 , sin experimentar retardo. Entonces,
la ganancia proporcional del proceso flujo de granos es la misma obtenida en (2.2) y
la correspondiente FT esta dada por (2.3).
Silo de
material
u Banda transportadora
Caja de
reduccin y
Motor
Kp
y(s) = u(s) (2.4)
Ts + 1
donde Kp es la ganancia proporcional del proceso y T es la constante de tiempo. Los
siguientes procesos son de primer orden.
dh
S = S h = qC qD (2.5)
dt
q
C
S h
Rebose
q
D
Fig. 2.3: Proceso tanque cerrado con orificio de salida en la base y tubera de rebose.
qD es laminar, entonces:
h
qD = (2.6)
Rh
donde Rh es la resistencia hidraulica del tanque, la cual se puede determinar de [13]:
h
Rh = (2.7)
qD
1 1
h = h + qC (2.8)
Rh S S
La curva de reaccion a lazo abierto del nivel h se determina resolviendo (2.8) o (2.10).
Vamos a intentar tres soluciones. Para una primera solucion, descomponemos (2.10)
en fracciones parciales:
" #
Rh A 1 1
h(s) = = Rh A 1
s(SRh s + 1) s (s + SR )
h
Notar que estos valores coinciden con los hallados empleando (2.10).
La segunda forma de hallar h(t) es empleando matematica simbolica, tal como se
ilustra en el siguiente programa denominado nivel1simb.m:
% nivel1simb.m DETRMINACION DE h(t) USANDO TRANSFORMADA INVERSA DE LAPLACE
clear all; close all; clc; syms s Rh A S;
h=ilaplace(Rh*A*(1/s - 1/(s + 1/(S*Rh)))); pretty(simplify(h))
11
10.5
10
qC [L/h]
9.5
8.5
0 50 100 150 200 250 300 350 400 450 500
TIEMPO [s]
0.4
0.3
NIVEL [m]
0.2
0.1
0
0 50 100 150 200 250 300 350 400 450 500
TIEMPO [s]
Ti
q
T
Tabla 2.2: Parametros y variables del proceso temperatura en un tanque con agitador.
To (s) 1 V Cv
= = (2.13)
Ti (s) s + 1 qCp
La curva de reaccion del proceso con Ti (s) = A/s, la cual es semejante al grafico
inferior de la Fig. 2.4, posee la forma:
t
To (t) = A (1 e )
C1 C2
R1 C1 R2 C2
Vo
Vi
Vi Vx
Seguidor de voltaje Opamp Opamp
inversor inversor
Tanques en Cascada
La Fig. 2.7 muestra dos tanques unidos por una tubera. Los parametros y va-
riables de este proceso se describen en la Tabla 2.3. Las ecuaciones dinamicas que
gobiernan este sistema son:
h1 h 2 dh1
q1 = C1 = q q1
R1 dt
h2 dh2
q2 = C2 = q1 q2
R2 dt
Pasando al dominio de Laplace con condiciones iniciales nulas, se obtiene:
h1 (s) h2 (s)
q1 (s = C1 sh1 (s) = q(s) q1 (s)
R1
h2 (s)
q2 (s) = C2 sh2 (s) = q1 (s) q2 (s)
R2
Si la entrada es q(s) y la salida es q2 (s), entonces:
q2 (s) 1
= 2
q(s) R1 C1 R2 C2 s + (R1 C1 + R2 C2 + R2 C1 )s + 1
2.3 Procesos de Segundo Orden 19
Tabla 2.3: Parametros y variables del proceso temperatura en un tanque con agitador.
h1 h2
R1 R2
q1 q2
dy d2 y
Km u = Ky + B +M 2
dt dt
En el dominio de Laplace y con condiciones iniciales nulas, la ecuacion anterior re-
sulta:
Km u(s) = Ky(s) + Bsy(s) + M s2 y(s)
La FT y(s)/u(s) toma la forma:
Km
y(s) M Kp
= 2 B K
=
u(s) s + Ms + M
s2 + 2n s + n2
r
Km B K
Kp = = n =
M 2 KM M
20 El Proceso a Controlar
Resorte K u
uo
Bobina t
uo u M Escala y
Corriente yo
y y
yo
t
Amortiguador B
y(s) Kp 1
= Kp =
u(s) s A
Satelite
El satelite mostrado en la Fig. 2.10 se puede modelar como:
J = u
(s) Kp 1
= 2 Kp =
u(s) s J
J
u
L
Tt =
v
22 El Proceso a Controlar
ingresa al tanque a una temperatura Ti . Este flujo abandona el tanque por desborde
a una temperatura T . La pared metalica del tanque se encuentra a una temperatura
Tm . El modelo de este proceso fue extrado de [28]. La Tabla 2.4 muestra las variables
y parametros del proceso.
El balance de energa en el flujo que se procesa se expresa como:
dT
qCp Ti hi Ai T + hi Ai Tm qCp T = V Cv (2.14)
dt
La ecuacion (2.14) tambien es valida para el estado estacionario:
dT
qCp T i hi Ai T + hi Ai T m qCp T = V Cv (2.15)
dt
Restando (2.15) de (2.14) y teniendo en cuenta que ti = Ti T i , tm = Tm T m y
t = T T , entonces el modelo lineal residual de (2.14) resulta:
dt
qCp ti hi Ai t + hi Ai tm qCp t = V Cv (2.16)
dt
Pasando (2.16) al dominio de Laplace y operando, se obtiene:
K1 K2
t(s) = ti (s) + tm (s) (2.17)
1 s + 1 1 s + 1
qCp hi A i V Cp
K1 = K2 = 1 =
qCp + hi Ai qCp + hi Ai qCp + hi Ai
24 El Proceso a Controlar
Rebose q
Agua fra T
qC
TC TC
C
Camisa de
Producto enfriamiento
q
Ti Tanque metlico
Tm
(a) ti
K6
K1
tc tc t
i 1 1 1
K5 3 s+1 K4 2 s+1 t K2
1 s+1
m
K7 K3
q
c (b)
Q c Tc i = Q c T c i + T c i qc + Q c tc i
Q c Tc = Q c T c + T c q c + Q c t c (2.21)
2.6 Procesos de Orden Superior 25
dTc
c Cp (Qc T ci +T ci qc +Qc tci )+ho Ao (Tm Tc )c Cp (Qc T c +T c qc +Qc tc ) = Vc c Cv
dt
(2.22)
En el estado estacionario todas las variables residuales son nulas. Por consiguiente,
(2.22) toma la forma:
dT c
c Cp Qc T ci + ho Ao (T m T c ) c Cp Qc T c = Vc c Cv (2.23)
dt
Restando (2.22) de (2.22) y pasando la resultante al dominio de Laplace se obtiene:
K5 K6 K7
tc (s) = tc i + tm + qc (2.24)
3 s + 1 3 s + 1 3 s + 1
Q c c C p ho Ao
K5 = h o A o + Q c c C p K6 =
ho Ao h o A o + Q c c C p
26 El Proceso a Controlar
c Cp (T c T ci ) Vc c C p
K7 = 3 =
h o A o + Q c c C p h o A o + Q c c C p
La Fig. 2.13(b) muestra el diagrama de bloques del proceso construido con las ecua-
ciones (2.17), (2.20) y (2.24). Observar que dicho diagrama de bloques es similar al
del ejemplo ??, en donde se determinaron la funciones de transferencia t(s)/q c (s)
(tipo PT3 ), t(s)/tci (s) (tipo PT3 ) y t(s)/ti (s) (tipo PD2 T3 ).
2.7. El Motor DC
Va
Ra
Rf La
Vf Lf Vb
J
If B
Ia
(a)
Motor ms
Campo carga
T
d
Vf 1 If Tm 1 1
Km
Rf Lf s TL Js B s
(b)
Motor ms
Armadura Td carga
Va Im 1 Tm 1 1
Km
Ra L as TL Js B s
Vb
Kb
(c)
Fig. 2.14: (a) Circuito equivalente del motor DC. (b) Motor DC controlado por campo.
(c) Motor DC controlado por armadura.
2.7 El Motor DC 27
B Km Kb 1
x1 = x2 x2 = x2 + x3 x3 = x3 + Va
J J La La
Si se elige como salida la posicion y = x1 y se designa a Va como la entrada u, la
forma matricial de la ecuacion de estado resulta:
x = Ax + Bu y = Cx (2.30)
x1 1 0 0 0 x1
x2 = 0 B
J KJm + 0 u y= 1 0 0 x2
1
x3 0 K
La
b
RLa
a
La x3
Si se considera que la inductancia de armadura La es despreciable, entonces podemos
usar las FTs dadas en (2.29). Para el caso posicion , seleccionemos x 1 = y x2 =
como las variables de estado del motor, y = como la salida y u = Va como la
senal de entrada. Se deja como ejercicio demostrar que partiendo de la primera FT
de (2.29), la representacion en el espacio de estado resulta:
x = Ax + Bu y = Cx (2.31)
x1 0 1 0 x1
= + u y= 1 0
x2 0 1 K
x2
Para el caso velocidad angular , seleccionemos x = y = como la variable de estado
y a la vez salida y u = Va como la senal de entrada. Se deja como ejercicio demostrar
que partiendo de la segunda FT de (2.29), la representacion en el espacio de estado
toma la forma:
x = Ax + Bu y = Cx (2.32)
1 K
A= B= C=1
Tabla 2.5: Parametros, variables y smbolos del sistema tanque con agua.
PT
LT= Transmisor de Nivel
TT = Transmisor de Temperatura
TT
PT= Transmisor de Presin
FT= Transmisor de Flujo
LT
Reboce
Drenaje
FT
Agua Caliente
FT
Agua Fra
p = D gh
E = (1 4 )1/2
T = D + C + H (2.36)
es el calor que trae consigo el flujo de entrada de agua fra qC . Cabe anotar que se
esta despreciando el calor que se libera al exterior del tanque debido a que tal tanque
es cerrado y suficientemente aislado. Las relaciones que gobiernan los flujos calorficos
descritos anteriormente son:
d
T = AhD Cp = AhD Cp
dt
C = C p C C qC
H = C p H H qH
D = C p D q D = C p D a h (2.37)
Los parametros que aparecen en (2.37) se describen en la tabla 2.5. Observar que se
asume un valor constante para el calor especfico del agua Cp . La ecuacion de estado
de la variable de estado temperatura se obtiene despejando d dt = de (2.36):
a C C qC H H qH
= h+ + (2.38)
Ah D A h D A h
Definamos las siguientes fuerzas de control o variables manipuladas: u1 = qC ,
u2 = qH y las siguientes variables de estado: x1 = h, x2 = y juntando las ecuaciones
(2.35) y (2.38), la ecuacion de estado que describe la dinamica del proceso tanque
cerrado con agua se formula como:
x = f (x, u) (2.39)
x1 h x1 u1 qC
x = = x= u= =
x2 x2 u2 qD
2.8 Modelo MIMO del Proceso Tanque Cerrado 33
" # Aa x1 + 1 1
f1 A u1 + A u2
f= =
f2 x2 C C u 1 H H u 2
Aa x1 + D A x 1 + D A x 1
Dado que las variables de estado son las variables medidas del proceso, entonces la
ecuacion de salida posee la siguiente expresion:
y = Cx (2.40)
y1 x1 1 0
y= = C=
y2 x2 0 1
Por consiguiente:
1 1 u1 A 0 x1 a x1
= +
c C H H u2 0 D Ax1 x2 D a x 1 x 2
Operando en la ultima ecuacion, es facil demostrar que el modelo dinamico de La-
grange del proceso toma la forma:
u = P x + d (2.41)
1 H H A D Ax1
P=
(H H C C ) C C A D Ax1
1 H H a x 1 D a x 1 x 2
d=
(H H C C ) C C a x1 + D a x1 x2
h
Rh = (2.43)
qD
qD C C H H
x2 = x2 + u1 + u2 (2.47)
AhD AhD AhD
La ecuacion de estado lineal del proceso se obtiene juntando las ecuaciones (2.45) y
(2.47):
x = A x + B u (2.48)
x1 h u1 qC
x= = u= =
x2 u2 qH
1
Rh2 A 0 A A
1
A= qD
B= H H
0 Ah C C
Ah Ah
D D D
y(s) Kp y1 y 0
Gp (s) = = e s Kp = (2.49)
u(s) (T s + 1) u1 u 0
u y
Proceso
u1 autoregulado y
1
u KP y
e s P.T.
Ts + 1 y0
u0
t t1 t t t1 T t
0 0
graficamente trazando una tangente que toque el punto de tangencia (P.T.) sobre la
curva de reaccion.
La curva de reaccion mostrada en la Fig. 2.18 tambien se puede aproximar me-
diante una FT de orden n de la forma:
y(s) Kp y1 y 0
G(s) = = Kp = (2.50)
u(s) (Tn s + 1)n u1 u 0
Los parametros n y Tn de (2.50) se determinan empleando la Tabla 2.6.
n 2 3 4 5 6 7 8 9 10
/T 0.104 0.218 0.320 0.410 0.493 0.591 0.641 0.709 0.775
Tn /T 0.368 0.270 0.224 0.195 0.175 0.151 0.148 0.140 0.132
Ejemplo 2.2
y(s) Kp 20
G(s) = = n
=
u(s) (Tn s + 1) (0.54s + 1)3
Caso Especial
Para el caso especial:
0 < /T < 0.104
la dinamica del sistema autoregulado se puede aproximar mediante la siguiente FT
de segundo orden:
Y (s) KP y1 y 0
G(s) = = KP = (2.51)
U (s) (T1 s + 1)(T2 s + 1) u1 u 0
T1 = kT2 k>1
k 1 2 3 4 5 6 7 8 9
/T 0.094 0.090 0.085 0.080 0.075 0.069 0.064 0.058 0.053
T1 /T 0.238 0.175 0.140 0.120 0.107 0.097 0.088 0.081 0.074
Ejemplo 2.3
Y (s) KP 10
G(s) = = =
U (s) (T1 s + 1)(T2 s + 1) (3.85s + 1)(7.7s + 1)
2.9 Respuesta Transitoria de los Procesos 37
u t 63.2%
y
t 23.3%
u1 Proceso y
autoregulado 1
u KP y 0.632 y y
u0 e s
Ts + 1 y0
0.283 y
t t1 t
0 t t1 t
0
An2 n t
y(t) = e sen d t (2.57)
d
La Fig. 2.20 (grafico superior derecha) muestra y(t) para A = 1 y varios valores de
. Notar tambien que para 1 la respuesta se vuelve sobreamortiguada.
Una forma alternativa de (2.53) incluye un tiempo muerto . Esto es:
y(s) 2
G(s) = = 2 es (2.58)
u(s) s + 2s + 2
Para una entrada tipo escalon (u(s) = A/s) en (2.58) y aplicando la propiedad (5)
de la Tabla A.2 en (2.55), se obtiene la respuesta y(t) al escalon correspondiente a
(2.58):
n n (t )
y(t) = A 1 e sen[d (t ) + ] (2.59)
d
La Fig. 2.20 (grafico inferior izquierda) muestra y(t) para A = 1 y varios valores de
. De nuevo, notar que para 1 la respuesta se vuelve sobreamortiguada.
Si la entrada es un impulso (u(s) = A) en (2.58) y aplicando la propiedad (5)
de la Tabla A.2 en (2.57), se obtiene la respuesta al impulso y(t) correspondiente a
(2.58):
An2 n (t )
y(t) = e sen d (t ) (2.60)
d
La Fig. 2.20 (grafico superior derecha) muestra y(t) para A = 1 y varios valores de .
Notar que para 1 la respuesta se vuelve sobreamortiguada. Para obtener la Fig.
2.20, ejecutar el programa r1.m listado abajo.
2 4
1.5
Amplitude
Amplitude
0.2 2 0.2
1
0
0.5 1.8
1 1.8
0 2
0 5 10 0 5 10
Time (sec) Time (sec)
2 4
1.5
Amplitude
Amplitude
0.2 2
0.2
1
0
0.5 1.8
1 1.8
0 2
0 5 10 0 5 10
Time (sec) Time (sec)
salida, poseen una respuesta al escalon no finita, tal como se ilustra en la Fig. 2.21.
La dinamica de tales procesos se puede modelar como:
KI s
Gp (s) = e R = KI (2.61)
s
donde es el tiempo muerto, R es la razon de reaccion unitaria y KI es la ganancia
integral. Los parametros R y se obtienen graficamente, tal como se ilustra en la
Fig. 2.21.
A manera de resumen, la Tabla 2.8 muestra la FT (funcion de transferencia) de
varios procesos en funcion de su comportamiento.
2.10. Problemas
Problema 2.1
u Proceso
no autoregulado y
A u y
KI
e s
s
R = KI R t
Proceso FT Proceso FT
Kp
Proporcional (P) Kp Primer orden T s+1
Kp Kp
Integral (I) s Segundo orden (T1 s+1)(T2 s+1)
(primera forma)
Kp Kp
Doblemente s2
Segundo orden (T s+1)2
integral (segunda forma)
2
1 n
Proporcional Kp 1 + Ti s Segundo orden s2 +2s+n
2
Problema 2.2
La Fig. 2.23 muestra una turbina de agua unido a un generador electrico. De-
2.10 Problemas 41
Rf R
Ri R
Vo
mostrar que:
M (s) Kp
=
(s) Ts + 1
donde M (s) es el momento rotacional generado por la turbina gracias a la eccion
del flujo de agua, (s) es la velocidad angular del generador y T su correspondiente
constante de tiempo. Asumir conocido cualquier otro parametro necesario.
Generador
elctrico
Turbina
Entrada
de agua
M
Desague
Problema 2.3
Problema 2.4
Po (s) 1
= T = RC
Pi (s) Ts + 1
42 El Proceso a Controlar
donde Po es la presion del gas dentro del recipiente, Pi es la presion del gas de entrada,
R = (Pi Po )/Q es el la resistencia neumatica, Q es el caudal del gas, C = dm/dp
(variacion de la masa con respecto a la variacion de la presion) es la capacitancia
neumatica, m = V es la masa del gas, V es el volumen del tanque, es la densidad
del gas y T = RC es la constante de tiempo. Se sabe ademas que la capacitancia C
multiplicada por la variacion de la presion de salida dPo , es igual al gas Q anadido
al recipiente en un diferencial de tiempo dt.
Pi
R
Q
Po
C
Problema 2.5
dv
M = f f K fB
dt
Determine la FT v(s)/u(s) y la ecuacion matricial de estado del proceso sabiendo
que x1 = v, x2 = fK , mientras que la salida es: y = x1 /K.
x
K v
B fK M u
fB
e1
u1
+
+
r1 P1 y1
R1 Y1
K1 u2 B1
+
+
r2
y
P2 2
R2
Y2
K2 B2
e2
El Sistema de Instrumentacion
Este Captulo
3.1. Sensores
Recordemos que la Fig. 1.1 ilustra un sistema de control a lazo cerrado (o real-
imentado) simple, denominado as poseer un solo lazo de realimentacion. El bloque
sistema de instrumentacion para el control de procesos SISO (Single Input Single
Output), consta de un sensor y de un transmisor. El sensor proporciona la variable
medida, la cual representa la condicion actual de la variable controlada y, mientras
que el transmisor cambia tal medicion en una senal estandarizada, la cual general-
mente es una senal que pueda ser procesada y transmitida. En muchos casos la
variable medida y la variable controlada pueden ser la misma.
Los temas sensores y transmisores se tratan en forma extensa y especilizada en
los textos de instrumentacion industrial. En esta publicacion, tales temas van a ser
tratados con el suficiente nivel que exige un texto de control de procesos.
La medicion del valor actual de la senal a controlar se realiza mediante un sensor,
denominado tambien elemento primario de medicion, o un instrumento de medicion
que emplea los sensores adecuados para tal o cual medicion. Un sensor puede estar
caracterizado por una curva de reaccion la cual relaciona la variable medida con la
senal generada. Esta curva se obtiene aplicando una serie de entradas conocidas al
sensor y almacenando las correspondientes respuestas. Un ejemplo tpico esta consti-
tuido por las curvas caractersticas de Temperatura ( F) vs mV de las termocuplas.
Segun el tipo de senal de salida que proporciona, un sensor se puede clasificar en
analogicos (la senal de salida es continua dentro del rango de medicion), digital (la
senal de salida es digital), y ONOFF (la senal de salida vara entre los umbrales
ON y OFF). Segun la magnitud a medir, el sensor puede ser de nivel, presion, tem-
peratura, proximidad, flujo, etc. Por ejemplo, una termoresistencia proporciona una
senal continua en ohms, la cual es proporcional a la temperatura medida, mientras
que un radar proporciona senales discretas que son proporcionales a la magnitud de
la variable medida. Por otro lado, las senales que abren y cierran completamente una
valvula son del tipo ONOFF.
46 El Sistema de Instrumentacion
K
M () = MB () = 20logM () M = arctan(T )
1 + 2T 2
donde M () es la magnitud de 3.1 y M () es el argumento o fase para cada fre-
cuencia . MB () es M expresado en dB (decibelios). El grafico de MB () vs en
escala logartmica es la respuesta en frecuencia en magnitud del sensor representado
en 3.1, mientras que el grafico M = arctan(T ) vs en escala logartmica es su
correspondiente respuesta en frecuencia de su angulo o fase. Tales representaciones se
denominan los graficos de Bode en magnitud y fase. Un sensor no es estable cuando
la medicion experimenta desviaciones en los valores medidos debido a la variacion de
ciertos parametros, tales como K y T (ecuacion 3.2).
Este Captulo
4.1. Caractersticas
El ECF (Elemento de Control Final) es un dispositivo que posee la potencia nece-
saria para ejercer cambios en el proceso, cada vez que recibe la senal del controlador.
Por lo general, el EFC consta de dos partes: el actuador, que transforma la senal
del controlador en un comando para el dispositivo manipulador, y, el mecanismo de
ajuste para realizar la accion de control final.
Uno de los EFC mas empleados en la indutria es la VAC (Valvula de Control
Automatico). En una VAC neumatica, su actuador (el cabezal de la VAC con su
membrana) recibe la senal estandarizada de 3 a 15 psig (o 0.2 a 1 bar) para desplazar
el eje que esta unido a la membrana. En el extremo libre de este eje se encuentra
el cono, y a continuacion, el asiento de la VAC. Si esta valvula esta siendo usada
para controlar el paso de un fluido a traves de una tubera, entonces el mecanismo de
ajuste se manifiesta en la cantidad de abertura que existe entre el cono y su asiento,
en concordancia con la senal estandarizada que recibe su actuador.
Dependiendo de la energa auxiliar con la que estan alimentadas, los actuadores
se pueden clasificar en electricos, neumaticos e hidraulicos. Los actuadores electricos
mas empleados son el motor DC, el motor AC, la bobina con nucleo de hierro movil, y
el inversor de potencia. Entre los actuadores neumaticos tenemos los de membrana de
simple y doble efecto, el cilindro de membrana, el cilindro (o piston) de doble y simple
efecto. El cilindro hidraulico y el cilindro hidraulico rotatorio son dos actuadores
hidraulicos representativos. La Fig. 4.1 muestra el esquema de los actuadores antes
mencionados. Los dispositivos de ajuste tambien se clasifican de acuerdo a la energa
auxiliar que los alimenta. A su vez, los dispositivos de ajuste electricos pueden ser
continuos y discontinuos. La resistencia electrica, el transformador y el transistor de
potencia son dispositivos continuos, mientras que el contacto, el micro interruptor, el
rele, banco de tiristores
52 Elementos Finales de Control
El controlador PID SISO procesa la senal de error e(t), la cual es la diferencia entre
la senal deseada r(t) y la senal controlada y(t) (la salida del sistema), empleando un
algoritmo de control ampliamente difundido en el mundo industrial, cuya forma mas
conocida es:
Z
Kc de(t)
u(t) = Kc e(t) + e(t)dt + Kc Td = P (t) + I(t) + D(t)
Ti dt
donde Kc es la ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo.
En la expresion anterior se puede ver claramente que el algoritmo
R PID posee una parte
proporcional: P (t) = Kc e(t), una parte integral: I(t) = K Ti
c
e(t)dt y una derivativa:
D(t) = Kc Td de(t)
dt . Este algoritmo posee muchas variaciones, algunas de las cuales vamos
a explorar en este captulo. Dependiendo de la aplicacion, el controlador en cuestion puede
trabajar como P, PI, PD o PID.
Es importante mencionar que el algoritmo PID es el de mayor aplicacion industrial
(aproximadamente el 90 %) y su modelo dinamico es lineal y de segundo orden. Se emplea
para controlar sistemas caracterizados por tener una entrada y una salida, como son los
casos del control de presion, nivel, flujo, entre otros.
r e u y
Gc (s) G p(s)
G m (s)
(a)
r e u y
G c1 (s) G p(s)
G c2 (s)
G m (s)
(b)
G c2 (s)
r u y
e
G c1 (s) G p(s)
G m (s)
(c)
du dy
Proceso ms y y y
r Filtro de e u
Controlador elemento
entrada final de control y
Limitador
Sensor y
transmisor
dm
Fig. 5.2: Sistema de control SISO con filtro de entrada, con limitador de salida y
sujeto a la accion de disturbios.
el error ess se puede determinar empleando el teorema del valor final, teniendo en
cuenta que r(s) = A/s, como sigue:
y(s) n2
Gp (s) = = 2 y(s) = Gp (s)r(s)
r(s) s + 2n s + n2
A
lm y(t) = yss = lm sGp (s) =A ess = r yss = A A = 0
t s0 s
Sin demostracion, las relaciones exactas para Tp , Mp y P O se expresan como:
Mp A
2
PO = 100 = 100e/ 1 (5.3)
A
2
Mp = A 1 + e/ 1 (5.4)
p
Tr = d = n 1 2 = arc cos (5.5)
d
Tp = (5.6)
d
r 2 y
n
s (s 2 n )
(a)
r y
2
Mp
A
A r 2n y
yss e ss
s2 2 n s 2n
0 0 T r Tp Ts
(b)
Zona de j
estabilidad Plano s
s1 j
d
n n
s2 Zona de
inestabilidad
(c)
s1 = n + jd s2 = n jd
r K y
s (s p)
y(s) K n2
= 2 = 2 p = 2n K = n2
r(s) s + ps + K s + 2n s + n2
donde se puede determinar de la condicion P O < 3 %, a saber:
c ln(100/P O)
2
100e/ 1 < P O > c=
1+c 2
de donde resulta: < 0.745. Dado que Ts = 4n < 8 s, entonces: n > (2)1 = 0.67.
Luego se pueden determinar los parametros p y K pedidos.
Ejemplo 5.2
Elaborar los graficos de Bode y Nyquist y la carta Nichols del proceso con FT:
n2
G(s) =
s2 + 2zn s + n2
% bode1.m
clear all; close all; clc; s=tf(s);
for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); bode(G), hold on, end
% nyquist1.m
clear all; close all; clc; s=tf(s);
for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); nyquist(G), hold on, end
% nichols1.m
clear all; close all; clc; s=tf(s);
for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); nichols(G), hold on, end
Bode Diagram
20
z=0.1
Magnitude (dB)
0 z=0.5
20
z=0.9
z=1.3
40
60
80
0
z=0.1
z=0.9 z=0.5
45
z=1.3
Phase (deg)
90
135
180
2 1 0 1 2
10 10 10 10 10
Frequency (rad/sec)
Nyquist Diagram
z=0.1
2 z=0.5 z=0.9
Imaginary Axis
2
z=1.3
6
3 2 1 0 1 2 3
Real Axis
Nichols Chart
20
z=0.1
0
OpenLoop Gain (dB)
20
60
80
100
180 135 90 45 0
OpenLoop Phase (deg)
donde u(j) y (j) son la parte real e imaginaria de GH(j), respectivamente. Si tal
EC fuera cero, entonces el sistema tomara un valor muy grande. Esta situacion es
5.2 Especificaciones de Diseno 63
(a)
y(j)/r(j) dB
(M) dB
(b) 0dB
3dB
0 r B log
Fig. 5.8: (a) Respuesta de un proceso de segundo orden a una sinusoide. (b) Su grafico
de Bode en magnitud (b).
1 + GH(j) = 0 GH(j) = 1
jv
GH(j) = 180
1
u
|GH(j)| = 1
Fig. 5.9: (a) Sistema realimentado. (b), (c) y (d): Margenes de fase y de ganancia.
Ejemplo 5.3
Determinar los margenes de fase y de ganancia del sistema mostrado en la Fig. 5.10(a)
sabiendo que:
1.5
G(s) = H(s) = 0.1
(s + 0.1)(s + 0.3)(s + 0.4)
r y
G(j) r G(j) y
1 G H(j)
H(j)
(a)
GH dB GH dB M g negativo
0 dB log log
M g positivo
ang GH
90 log 90
180 180 log
270 270
M f positivo M f negativo
(b)
jv M f negativo jv
M g positivo 1 M g negativo
Mg
1 u 1 u
M f positivo 1
(c) Mg
GH dB GH dB M g negativo
M g positivo
0 dB 0 dB
M f positivo
M f negativo
Fig. 5.10: (a) Sistema realimentado. (b), (c) y (d): Margenes de fase y de ganancia.
66 Control PID SISO
Bode Diagram
Gm = 0.598 dB (at 0.436 rad/sec) , Pm = 2.13 deg (at 0.45 rad/sec)
40
20
0
Magnitude (dB)
20
40
60
80
0
90
Phase (deg)
180
270
3 2 1 0 1
10 10 10 10 10
Frequency (rad/sec)
izquierda del punto medio de la palanca, tal como se observa en la Fig. 5.12(c), en
donde un cambio de 50 % en la entrada es suficiente para provocar un cambio de
100 % (rango completo) en la salida.
Ejemplo 5.4
e Controlador u
E Proporcional U
100 100
PB % = = = 50 %
Kc 2
ACCIN PROPORCIONAL
1.4
1.2
SP
1
Kc=2.05; BP%=48.8
AMPLITUD
0.8
0.6
Kc=1.05; BP%=95.24
0.4
Kc=0.05; BP%=2000
0.2
0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)
1.4
1.2
Ti = 3; KI=0.2
1
Ti=9; KI=0.066
AMPLITUD
0.8
Ti=15; KI=0.04
0.6
0.4
0.2
0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)
0.7
KD=0.06; Td=0.1
0.6
KD=0.3; Td=0.6
0.5
KD=0.66; Td=1.1
AMPPLITUD
0.4
0.3
0.2
0.1
0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)
para controlar el proceso de prueba dado en (5.12). Empleando un control PID, las
posibilidades de controlar la mayora de los procesos industriales se acrecienta, si
esta permitido usar todas las combinaciones posibles: P, I, PI, PD y PID.
La Tabla muestra la tendencia (a aumentar o disminuir) que tienen los parametros
de diseno, cuando se incrementan las ganancias Kc , KI o KD . Es importante anotar
que tal tabla debe de ser aplicada con cuidado, debido a que en un sistema de control
PID, los cambios en en los parametros de diseno no ocurren por separado, sino tales
cambios pueden estar interconectados. Esto es, cambios en un parametro de de diseno
puden afectar el comportamiento de otros.
Ymin Ymin
Vlvula Vlvula
Abierta Abierta
(Umax) (Umax)
t t
Vlvula Vlvula
Cerrada Cerrada
(Umin) (b) (Umin) (c)
Fig. 5.17: (a): Sistema de control de dos posiciones. (b): Controlador ONOFF sin
zona muerta, y (c): con zona muerta.
Ejemplo 5.5
Disenar un controlador de dos posiciones sin zona muerta para controlar el siguiente
5.4 Control de Dos Posiciones 73
proceso:
Kp
e s Gp (s) =
Ts + 1
Solucion: La Fig. 5.18 muestra el diagrama Simulink del sistema de control (archivo
onoff1.mdl), mientras que la Fig. 5.19 muestra la salida y(t) controlada y la senal de
control u(t). Este grafico se obtuvo ejecutando el archivo onoff1data.m, cuyo listado
se muestra abajo. El relay empleado posee los parametros Umin = 0.8, Umax = 1.2,
Switch On Point = 0 y Switch Off Point = 0. La FT de la valvula se asume que es
una constante incluida en Kp .
T.s+1
Step Relay Transfer Fcn Transport Scope
Delay
rh
R
Save in format
th uh yh
array
Clock t t u y
1.2
u(t)
1
set point
0.8
y(t) y u(t)
y(t)
0.6
0.4
0.2
0
0 10 20 30 40 50
TIEMPO [s]
Fig. 5.19: Salida controlada y(t) y senal de control ONOFF u(t) para el ejemplo 5.7.
% onoff1data.m
clear all; close all; clc;
R=1; Kp=1; T=10; tau=2; Umin=0.8; Umax=1.2; swonpoint=0; swoffpoint=0;
load th; load yh; load uh; load rh;
plot(th,rh,k,th,yh,k,th,uh,k), xlabel(TIEMPO [s]), grid
74 Control PID SISO
u(s) 1
Gc (s) = = Kc + + Td s (5.17)
e(s) Ti s
Notar que los parametros Kc , 1/Ti y Td del controlador PID paralelo dado en (5.17)
corresponden a los parametros Kc , Kc /Ti y Kc Td del controlador PID ideal de (5.16).
Por consiguiente, (5.17) puede ser siempre reemplazado por (5.16).
5.5 Estructuras del Controlador PID 75
Para Td > TI /4, el controlador dependiente nunca sera similar al controlador ideal,
ya que para esta condicion los parametros en (5.27) se vuelven imaginarios.
Ejemplo 5.6
Solucion: Ver el archivo ct1.m. La curva de reaccion del proceso y su salida contro-
lada se muestran en la Fig. 5.20.
% ct1.m CONTROL PID DE UN PROCESO VIA EL METODO DE LA CONSTANTE DE TIEMPO
clear all; close all; clc;
Kp=2; T=5; s=tf(s); Gp=Kp/(T*s+1); % PROCESO
subplot(211); step(Gp,k); grid;
title(CURVA DE REACCION); xlabel(TIEMPO); ylabel(AMPLITUD);
Kc=1/Kp; Ti=T; Td=T/4; Gc=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gc*Gp,1);
subplot(212); step(PID,k); grid;
title(CONTROL PID USANDO EL METODO DE LA TANGENTE);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f ct1
CURVA DE REACCIN
1.5
AMPLITUD
0.5
0
0 5 10 15 20 25 30
TIEMPO (sec)
1.5
1
SALIDA
0.5
0
0 5 10 15 20 25 30
TIEMPO (sec)
Fig. 5.20: Respuesta al escalon del proceso (grafico superior) y respuesta controlada
para el ejemplo 5.6 (grafico inferior).
Metodo de Hartree
La Tabla 5.2 atribuida a Hartree et al. (ver referencias de [29]), se aplica para
controlar procesos que poseen una FT de la forma Gp (s) = Kp e s . El control se
realiza empleando el sistema de control de la Fig. 5.1(a).
Ejemplo 5.7
5.6 Metodos de Sintonizacion de Controladores PID 79
Gp (s) = Kp e s
hartree 1.mdl
Ti .s+1 Td .s+1
Kc Kp
Ti .s Td /N.s+1 Scope
r Kc Gc1(s) Gc2(s) Kp tau
rh th uh yh
rh Clock th uh yh
% hartree1graf.m
clear all; close all; clc;
r=1; N=3; Kp=2; tau=2; Kc=0.7/(Kp*tau); Ti=2.66*tau; Td=tau;
load th; load yh; load uh; load rh;
subplot(211), plot(th,rh,th,yh), xlabel(TIEMPO [s]),
ylabel(SALIDA y(t)), title(CONTROL DEL SISTEMA G(s)=Kp*exp(-tau*s))
subplot(212), plot(th,uh), xlabel(TIEMPO [s]), ylabel(CONTROL u(t))
print -f -deps hartree1graf, print -s -deps hartree1
1
SALIDA y(t)
0.5
0.5
0 20 40 60 80 100 120 140 160 180 200
TIEMPO [s]
0.6
0.4
CONTROL u(t)
0.2
0.2
0 20 40 60 80 100 120 140 160 180 200
TIEMPO [s]
La curva de reaccion se emplea para obtener los parametros y T , que luego son
usados para determinar los parametros Kc , Ti y Td del controlador PID ideal, em-
pleando la Tabla 5.3. Las formulas en dicha tabla fueron el producto de intensivos
trabajos experimentales realizados por los investigadores Ziegler y Nichols en 1942
[15].
Tabla 5.3: Metodo de la curva de reaccion de Ziegler y Nichols para determinar los
parametros Kc , Ti y Td .
100 Kp
Tipo Controlador Gc (s) Kc = BP ; a= T Ti Td
P Kc 1/a 0
PI Kc 1 + T1i s 0.9/a 10 /3 0
PID Kc 1 + T1i s + Td s 1.2/a 2 0.5
PD Kc (1 + Td s) 1.2/a 0.42
5.6 Metodos de Sintonizacion de Controladores PID 81
y
100%
63.2%
28.3%
t
t t2
1
Ejemplo 5.8
Kp
Gp (s) =
(s + Ta )(s + Tb )(s + Tc )(s + Td )(s + Te )
RESPUESTA AL ESCALN
6
AMPLITUD
0
0 5 10 15
TIEMPO (sec)
SALIDAS CONTROLADAS
1.5
PID PI
SALIDA
0.5
PD P
0
0 10 20 30 40 50 60
TIEMPO (sec)
Fig. 5.24: Respuesta al escalon del sistema (grafico superior) y respuestas controladas
para el ejemplo 5.8 (grafico inferior).
Ejemplo 5.9
Para propositos de comparacion emplear los controladores ideal dado en (5.16), de-
pendiente mostrado en (5.24) y mejorado (ecuacion (5.29)). Para simplificar la no-
tacion, el sistema de control que emplea un controlador ideal sera designado como
5.6 Metodos de Sintonizacion de Controladores PID 83
Controlador Referencia
Actuador (set point)
v
d
Flotador
r e u y
GC (s) G H(s) e s GT (s)
Controlador Actuador Tiempo muerto Tanque
ym GF (s)
(a)
Flotador
r e u y
GC (s) G H(s) e s GT (s)
Controlador Actuador Tanque
ym GF (s)
(b) Flotador
r e u y
G C i(s) G H(s) e s GT (s)
Controlador Actuador Tanque
proporcional
integral G Cd(s)
Controlador derivativo
ym
GF (s)
(c)
Fig. 5.25: Diagrama de bloques del sistema de control de nivel; (a) Proceso; (b)
estructura para control PID o PI D; (c) estructura para control PI Dy.
control PID, el que emplea un controlador dependiente sera conocido como control
PI D, y el que usa un controlador mejorado recibira la denominacion de control
PI Dy. Los controles PID y PI D emplean el diagrama de bloques de la Fig. 5.1(a),
mientras que el control PI Dy usa el diagrama de bloques de la Fig. 5.1(b). Por otro
lado, en el proceso que nos ocupa, el tiempo muerto se puede calcular usando la
relacion = d/v, donde v es la velocidad del flujo que ingresa al tanque y d es es
la longitud de tubera que existe entre la valvula de control de flujo y el punto de
medicion del flujo.
Solucion: El primer grafico de la Fig. 5.26 muestra la respuesta al escalon (la curva
de reaccion) del sistema, de la cual se obtiene = 1 y T = 27 = 26. Con estos
valores se calculan los parametros del controlador PID empleando la Tabla 5.3. El
segundo grafico de la Fig. 5.26 ilustra la comparacion entre las salidas controladas.
84 Control PID SISO
RESPUESTA AL ESCALN
40
30
AMPLITUD
20
10
0
0 20 40 60 80 100 120 140 160 180
TIEMPO (sec)
SALIDAS CONTROLADAS
1.5
PIDy
SALIDA
PID y PID
0.5
0
0 10 20 30 40 50 60
TIEMPO (sec)
Fig. 5.26: Curva de reaccion del sistema nivel y respuestas controladas para el ejemplo
5.9 (grafico inferior).
Metodo de ChienHronesReswick
El metodo de ChienHronesReswick (CHR) [19] ilustrado en la Fig. 5.27(a), se
aplica a sistemas que aceptan un modelo dinamico como el de la ecuacion (5.33). Este
metodo propone un conjunto de reglas de sintonizacion para los casos siguientes (ver
Tabla 5.4):
Tipo Controlador GC (s) Caso (b): Caso (c): Caso (d): Caso (e):
> 0.8 > 0.8 0.4< < 0.8 0.4< < 0.8
d=0 r=0 d=0 r=0
Ejemplo 5.10
86 Control PID SISO
d
D
r d
t
R r
PID Proceso
e u y
t
(a) y
y
R R
d=0 d=0
t t
(b) (d)
y y
d d
r=0 r=0
D
D
t t
(c) (e)
Se desea controlar el proceso nivel del ejemplo 5.9 empleando el metodo de Chien
HronesReswick para el caso de rechazo al disturbio (r=0 y d 6= 0) sin presencia de
oscilaciones en la respuesta del sistema (ver Fig. 5.28(a)). Para propositos de com-
paracion emplear los controladores ideal (PID, ecuacion (5.16)), dependiente (PI D,
ecuacion (5.24)) y mejorado (PI Dy, ecuacion (5.29)), empleando las estructuras (b)
y (c) de la Fig. 5.28, respectivamente.
Solucion: Los parametros = 2 y T = 32 = 20 se obtuvieron con el primer grafico
de la Fig. 5.26. Con estos valores se calculan los parametros del controlador empleando
la Tabla 5.4 (caso (c), controlador PID). La Fig. 5.28 ilustra la comparacion entre
las salidas controladas, las cuales se obtienen ejecutando el programa chrd.m listado
abajo.
% chrd.m CONTROL PID, PI_D Y PI_Dy POR EL METODO CHR PARA RECHAZO AL DISTURBIO
clear all; close all; clc;
s=tf(s); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1);
[num,den]=pade(1,3); Gtau=num/den; % APROXIMACI ON DEL TIEMPO MUERTO
Gp=GH*Gtau*GT; Kp=31.5; % Kp ES EL PRODUCTO DE 10*31.5
tau=2; T=32-tau; % TOMADOS DE LA CURVA DE REACCI ON
a=Kp*tau/T; Kc=0.95/a; Ti=2.4*tau; Td=0.42*tau; N=10; % PAR AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp,Gc1*GF); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp,Gc2*GF); % CONTROL PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N);
PI_Dy=feedback(Gp,Gci*GF+Gcd); % CONTROL PI_Dy
5.6 Metodos de Sintonizacion de Controladores PID 87
(a)
Flotador
d y
G H(s) e s GT (s)
Actuador Tiempo muerto Tanque
u GF (s)
GC (s)
(b)
Controlador Flotador
r=0
d y
G H(s) e s GT (s)
Actuador Tanque
G Cd(s)
Control D
(c) G C i(s) GF (s)
Control PI
r=0
Fig. 5.28: Estructuras para el rechazo al disturbio en el control del proceso nivel (Fig.
(a)) empleando controladores PID y PI D (Fig. (b))y PI Dy (Fig. (c)).
Metodo de CohenCoon
El metodo de sintonizacion desarrollado por los investigadores G.H. Cohen y G.A.
Coon [20] tambien se aplica a sistemas que aceptan un modelo dinamico como el de
la ecuacion (5.33). Las formulas de sintonizacion se muestran en la Tabla 5.5, donde:
Kp
a= L= (5.35)
T +T
Notar que las formulas de la Tabla 5.5 se asemejan a las de la Tabla 5.3 cuando L es
suficientemente pequeno.
Ejemplo 5.11
SALIDAS CONTROLADAS
1.4
1.2
0.8
SALIDA
0.6
0.4
PIDy
0.2
0
PID y PID
0.2
0.4
0 10 20 30 40 50 60
TIEMPO (sec)
Fig. 5.29: Rechazo al disturbio empleando controladores tipo PID, PID y PIDy.
100
Tipo Controlador GC (s) KC = BP TI TD
1 0.35L
P KC a 1 + 1L 0
1 0.9 0.92L 3.33L
PI KC 1 + TI s a 1 + 1L 1+1.2L 0
1.24 0.13L 0.270.36L
PD KC (1 + TD s) a 1 + 1L 10.87L
1.35 0.18L 2.52L 0.370.37L
PID KC 1 + T1I s + TD s a 1 + 1L 10.39L 10.8L
SALIDAS CONTROLADAS
1.4
PIDy
1.2
PID y PID
0.8
SALIDA
0.6
0.4
0.2
0
0 5 10 15 20 25 30 35 40
TIEMPO (sec)
Metodo de Samal
y(s) Kp
Gp (s) = = (5.36)
u(s) (1 + Tn s)n
Ejemplo 5.12
d (a)
D
d y
0 t M
r=0 e Kp y D
P, I, PI, PID t
u (1+Ts) n 0 Ts
(b) (c)
5 20 5 5
4 16 4 4
P
PI
3 12 3 3
Vo TI I
Vo
2 8 T 2 2 TD
PID PI
PID T
1 4 1 1
I PID
0 0 0
1 2 3 4 n 1 2 3 4 n
(d) (e)
1 Ts 20
M
Kp D T
0.8 I 16
I
0.6 PI 12
P
PI
0.4 8
PID
PID
0.2 4
P
0 0
1 2 3 4 n 1 2 3 4 n
Fig. 5.31: Metodo de Samal para hallar los parametros de un controlador PID.
RESPUESTA AL ESCALN
1.5
AMPLITUD 1
0.5
0
0 1 2 3 4 5 6 7 8 9
TIEMPO (sec)
SALIDAS CONTROLADAS
1.5
PIDy
SALIDA
0.5
PID y PID
0
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)
Fig. 5.32: Respuesta al escalon (Fig. inferior) y respuestas controladas (Fig. superior)
empleando controladores tipo PID, PI D y PI Dy y el metodo de Samal.
K crit
r u y y
r e
PID Proceso
R R
T crit
t t
Ejemplo 5.13
5.6 Metodos de Sintonizacion de Controladores PID 93
Tabla 5.6: Metodo de la oscilacion crtica de Ziegler y Nichols para determinar los
parametros Kc , Ti y Td .
100
Tipo Controlador Gc (s) Kc = BP Ti Td
P Kc 0.5Kcrit 0
PI Kc 1 + T1i s 0.45 Kcrit 0.85 Tcrit 0
PID Kc 1 + T1i s + Td s 0.6 Kcrit 0.5 Tcrit 0.125 Tcrit
Se desea controlar el proceso nivel del problema 5.9 empleando la tecnica de las
oscilacion crtica de Ziegler y Nichols. Para propositos de comparacion emplear los
controladores PID estandar, PI D interactivo y PI Dy mejorado, empleando las es-
tructuras de la Fig. 5.25.
Ejemplo 5.14
Se desea controlar un proceso no autoregulado que posee la siguiente FT, empleando
la tecnica de las oscilaciones sostenidas de Ziegler y Nichols.
1
Gp (s) =
s(s + 1)4
Para propositos de comparacion emplear los controladores PID ideal, PI D interac-
tivo y PI Dy mejorado.
94 Control PID SISO
OSCILACIN SOSTENIDA
Tcrit
1.5
AMPLITUD
0.5
0
0 2 4 6 8 10 12 14 16 18 20
TIEMPO (sec)
SALIDAS CONTROLADAS
1.5
PIDy
SALIDA
0.5
PID y PID
0
0 10 20 30 40 50 60
TIEMPO (sec)
OSCILACIN SOSTENIDA
2
Tcrit
1.5
AMPLITUD
0.5
0
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)
SALIDAS CONTROLADAS
1.5
PIDy
SALIDA
0.5
PID y PID
0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)
Kc = 0.3Kcrit Ti = 2.3crit Td = 0
Ejemplo 5.15
de ganancia GC (s) = Kcrit = 0.45 en la Fig. 5.33. Notar que la oscilacion posee un
perodo igual a crit = 4 s. Con estos valores se calculan los parametros del controlador
PID empleando:
Kc = 0.3Kcrit Ti = 2.3crit Td = 0
OSCILACIN SOSTENIDA
5
AMPLITUD
10
0 10 20 30 40 50 60
TIEMPO (sec)
SALIDA CONTROLADA
0.5
SALIDA
0.5
0 50 100 150 200 250
TIEMPO (sec)
Fig. 5.36: Oscilaciones sostenidas (primer grafico) para Kp = Kcrit y respuesta con-
trolada (grafico inferior) para el ejemplo 5.15.
subplot(212); step(PID);
title(SALIDA CONTROLADA); xlabel(TIEMPO); ylabel(SALIDA);
print -deps -f yu1
y a
u
e +L u y t
r
Gp(s)
e
L
Proceso Tcrit
Rel
Ejemplo 5.16
Solucion: La primera parte del programa relay.m listado abajo, el cual usa el dia-
grama de bloques de la Fig. 5.37(a), permite obtener el primer y segundo grafico de
la Fig. 5.39 para una magnitud del rele de L = 0.1. El diagrama de bloques de la
Fig. 5.38 se emplea para determinar las cinco ecuaciones de estado del sistema:
x1 = x1 + x2 x2 = x2 + x3
x3 = x3 + x4 x4 = x4 + x5 x5 = u
De la oscilacion sostenida mostrada en el primer grafico de la Fig. 5.39 se desprenden
los parametros: a = 0.25 y Tcrit = 15, mientras que el segundo grafico ilustra la ley
de control u = L. Conocido los parametros a, Tcrit y L, ahora se puede calcular la
ganancia Kcrit y los parametros PID empleando la Tabla 5.6. El tercer grafico de la
Fig. 5.39 muestra la comparacion entre las salidas controladas. Tales resultados se
obtienen ejecutando la segunda parte del programa relay.m listado abajo.
98 Control PID SISO
u x5 1 x4 x3 x2 x1 = y
1 1 1 1
s s+1 s+1 s+1 s+1
Fig. 5.38: Diagrama de bloques del sistema mostrando sus variables de estado.
2
SALIDA y
Tcrit
1
r a
0
0 10 20 30 40 50 60 70 80
TIEMPO
0.1
CONTROL u
0.1
0 10 20 30 40 50 60 70 80
TIEMPO
SALIDAS CONTROLADAS
2
PIDy
SALIDA
PID y PID
0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)
1
Fig. 5.39: Respuesta al escalon del sistema de control del sistema Gp (s) = s(s+1) 4
Ko y To
r r e u y
PID Proceso A
R R
A/4
t t
Tabla 5.7: Metodo de las oscilaciones amortiguadas de Harriot para hallar los
parametros KC , TI y TD .
100
Tipo Controlador GC (s) KC = BP TI TD
P KC Ko 0
PI KC 1 + T1I s Ko To /1.5 0
PID KC 1 + T1I s + TD s Ko To /1.5 To /6
Ejemplo 5.17
100 Control PID SISO
Se desea controlar el sistema nivel del ejemplo 5.9 empleando la tecnica de las oscila-
ciones amortiguadas de Harriot. Para propositos de comparacion emplear los contro-
ladores ideal (PID, ecuacion (5.16)), dependiente (PI D, ecuacion (5.24)) y mejorado
(PI Dy, ecuacion (5.29)), empleando las estructuras (b) y (c) de la Fig. 5.25.
Solucion: El primer grafico de la Fig. 5.41 muestra la respuesta al escalon en donde
el segundo maximo de la oscilacion es un cuarto del primer maximo, la cual se obtiene
empleando un controlador proporcional de ganancia GC (s) = Ko = 0.55 en la Fig.
5.25(a). Notar que la oscilacion posee un perodo igual a To = 10 s. Con estos valores
se calculan los parametros del controlador PID empleando la Tabla 5.7. El segundo
grafico de la Fig. 5.41 ilustra la comparacion entre las salidas controladas. Tales
resultados se obtienen ejecutando el programa harriot.m listado abajo.
OSCILACIN SOSTENIDA
1.5
AMPLITUD
1
A
0.5
A/4
0
0 2 4 6 8 10 12 14 16 18 20
TIEMPO (sec)
SALIDAS CONTROLADAS
1.5
PIDy
SALIDA
1
PID
PID
0.5
0
0 2 4 6 8 10 12 14 16 18
TIEMPO (sec)
Ejemplo 5.18
Se desea controlar un sistema no autoregulado que posee la siguiente FT, empleando
la tecnica de las oscilaciones amortiguadas de Harriot.
1
Gp (s) =
s(s + 1)4
Para propositos de comparacion emplear los controladores ideal (PID, ecuacion (5.16)),
dependiente (PI D, ecuacion (5.24)) y mejorado (PI Dy, ecuacion (5.29)), emplean-
do las estructuras (b) y (c) de la Fig. 5.25.
Solucion: El primer grafico de la Fig. 5.34 muestra la respuesta al escalon a manera
de una oscilacion sostenida que se obtiene empleando un controlador proporcional de
ganancia GC (s) = Kcrit = 0.569. Notar que la oscilacion posee un perodo igual a crit
= 15 s. Con estos valores se calculan los parametros del controlador PID empleando
la Tabla 5.6. El segundo grafico de la Fig. 5.34 ilustra la comparacion entre las salidas
controladas. Tales resultados se obtienen ejecutando el programa zn2.m listado abajo.
OSCILACIN AMORTIGUADA
1.5
AMPLITUD
1
A
0.5
A/4
0
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)
SALIDAS CONTROLADAS
1.5
SALIDA
PID
PID
0.5
0
0 10 20 30 40 50 60
TIEMPO (sec)
Metodo de Shinskey
La Tabla 5.8 se aplica al control de sistemas que poseen una FT de la forma
Gp (s) = Kp e s . En esta tabla, las reglas de sintonizacion que emplean controladores
I y PI, se atribuyen a Shinskey [?] (ver referencias de [29]). Las reglas que emplean
un controlador PID se atribuyen a Nomura et al. (ver referencias de [29]). El control
se realiza empleando la configuracion de la Fig. 5.1(a).
Ejemplo 5.19
5.6 Metodos de Sintonizacion de Controladores PID 103
1.2
0.8
0.6
0.4
SALIDA
0.2
0.2
0.4
0.6
0.8
0 5 10 15
TIEMPO (sec)
Fig. 5.43: Control PI del sistema Gp (s) = Kp e s usando ITAE (ejemplo 5.19).
Metodo de WangJuangChan
Las formulas de sintonizacion de de WangJuangChan (citadas en [24]) se basan
en el criterio de optimizacion de IT AE y se pueden aplicar a sistemas que aceptan
un modelo dinamico como el de la ecuacion (5.33). estas formulas son:
(0.7303 + 0.5307T / )(T + 0.5 )
Kc =
Kp (T + )
Ti = T + 0.5
0.5 T
Td = (5.38)
T + 0.5
104 Control PID SISO
a1
b1
PI Kc = Kp T a1 0.980 0.712 0.569 1.072 0.786 0.628
b1 0.892 0.921 0.951 0.560 0.559 0.583
T
PI Ti = a2 +b2 ( /T ) a2 0.690 0.968 1.023 0.648 0.883 1.007
b2 0.155 0.247 0.179 0.114 0.158 0.167
a1
b1
PID Kc = Kp T a1 1.048 1.042 0.968 1.154 1.142 1.061
b1 0.897 0.897 0.904 0.567 0.579 0.583
T
PID Ti = a2 +b2 ( /T ) a2 1.195 0.987 0.977 1.047 0.919 0.892
b2 0.386 0.238 0.253 0.220 0.172 0.165
b3
PID Td = a3 T T a3 0.489 0.385 0.316 0.490 0.384 0.315
b3 0.888 0.906 0.892 0.708 0.839 0.832
Ejemplo 5.20
K
p
Se desea controlar el sistema con FT Gp (s) = T s+1 e s , con Kp = 2, = 2 y T = 20
usando el criterio ITAE y un controlador PID.
Solucion: La Fig. 5.44 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh1.m listado abajo.
% zh1.m CONTROL PID USANDO ISE
clear all; close all; clc; s=tf(s); Kp=2; tau=2; T=20; % tau/T=0.1
a1=1.048; b1=-0.897; a2=1.195; b2=-0.386; a3=0.489; b3=0.888; N=10;
5.6 Metodos de Sintonizacion de Controladores PID 105
a1
b1
PID Kc = Kp T a1 1.260 1.053 0.942 1.295 1.120 1.001
b1 0.887 0.930 0.933 0.619 0.625 0.624
T
PID Ti = a2 +b2 ( /T ) a2 0.701 0.736 0.770 0.661 0.720 0.754
b2 0.147 0.126 0.130 0.110 0.114 0.116
b3
PID Td = a3 T T a3 0.375 0.349 0.308 0.378 0.350 0.308
b3 0.886 0.907 0.897 0.756 0.811 0.813
1.5
0.5
SALIDA
0.5
1.5
0 5 10 15 20 25 30 35 40
TIEMPO (sec)
Kp
Fig. 5.44: Control PID del sistema Gp (s) = T s+1 e s usando ISE (ejemplo 5.20).
Metodo de Kessler
La Tabla 5.11 muestra las formulas propuestas por C. Kessler [25] para determinar
los parametros de un controlador PID basado en criterios optimos de diseno.
Ejemplo 5.21
RESPUESTA AL ESCALN
0.8
AMPLITUD
0.6
0.4
0.2
0
0 20 40 60 80 100 120 140 160 180
TIEMPO (sec)
SALIDA CONTROLADA
1.5
1
SALIDA
0.5
0
0 2 4 6 8 10 12
TIEMPO (sec)
Fig. 5.45: Respuesta al escalon (grafico superior) y respuesta controlada (grafico in-
ferior) empleando un controlador PID de acuerdo al metodo de Kessler.
Ejemplo 5.22
RESPUESTA AL ESCALN
300
250
AMPLITUD
200
150
100
50
0
0 500 1000 1500
TIEMPO (sec)
SALIDA CONTROLADA
1.5
1
SALIDA
0.5
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
TIEMPO (sec)
Fig. 5.46: Respuesta al escalon (grafico superior) y respuesta controlada (grafico in-
ferior) empleando un controlador PID de acuerdo al metodo de Kessler.
Kp
Metodo de Xue para Procesos con FT: s
e s
El metodo de Xue se aplica a procesos que poseen una FT con parte proporcional,
parte integral y tiempo muerto:
Y (s) Kp s
G(s) = = e (5.40)
U (s) s
Debido a la presencia del integrador, los controladores PD y PID resultan ser los
adecuados para controlar tales sistemas. La Tabla 5.12 muestra los valores de los
5.6 Metodos de Sintonizacion de Controladores PID 109
Criterio a1 a2 a3 a4 a5
ISE 1.03 0.49 1.37 1.496 0.59
ITSE 0.96 0.45 1.36 1.66 0.53
ISTSE 0.9 0.45 1.34 1.83 0.49
Ejemplo 5.23
Kp
Se desea controlar el sistema con FT Gp (s) = s e s , con Kp = 2, T = 20 y = 2
usando el criterio ISE y un controlador PID.
Solucion: La Fig. 5.47 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh2.m listado abajo.
% zh2.m CONTROL PID USANDO ISE
clear all; close all; clc; s=tf(s); Kp=2; tau=2; T=20; % tau/T=0.1
a1=1.03; a2=0.49; a3=1.37; a4=1.496; a5=0.59; N=10;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp/(s)*Gtau; % SISTEMA A CONTROLAR
Kc=a3/(Kp*tau); Ti=a4*tau; Td=a5*tau;
Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID
step(PID,k); title(CONTROL PID USANDO ISE);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f zh2
Kp
Metodo de Xue para Procesos con FT: s(T s+1)
e s
La FT del siguiente sistema posee parte proporcional, parte integral, parte retardo
de primer orden y tiempo muerto:
y(s) Kp
G(s) = = e s (5.42)
u(s) s(T s + 1)
Debido a la presencia del integrador, los controladores PD y PID resultan los ade-
cuados para controlar tales sistemas. Las formulas para determinar los parametros
del controlador PD son [27]:
2
Kc = Td = T (5.43)
3Kp
110 Control PID SISO
0
SALIDA
5
0 5 10 15 20 25 30 35
TIEMPO (sec)
Kp
Fig. 5.47: Control PID del sistema Gp (s) = s e s (ejemplo 5.23).
Ejemplo 5.24
Kp
Se desea controlar el sistema con FT Gp (s) = s(T s+1) e s , con Kp = 2, T = 2 y =
2.
Solucion: La Fig. 5.48 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh3.m listado abajo.
CONTROL PID
1.6
1.4
1.2
1
SALIDA
0.8
0.6
0.4
0.2
0.2
0 50 100 150
TIEMPO (sec)
Kp
Fig. 5.48: Control PID del sistema Gp (s) = s(T s+1) e s usando ISE (ejemplo 5.24).
Kp
Metodo de Xue para Procesos con FT: T s1
e s
La FT del siguiente sistema posee parte proporcional, parte integral, parte retardo
de primer orden inestable y tiempo muerto:
y(s) Kp
G(s) = = e s (5.45)
u(s) Ts 1
Ejemplo 5.25
Kp
Se desea controlar el sistema con FT Gp (s) = T s1 e s , con Kp = 2, T = 2 y = 2.
Solucion: La Fig. 5.48 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh3.m listado abajo.
112 Control PID SISO
Criterio a1 b1 a2 b2 a3 b3
ISE 1.32 0.92 4.00 0.47 3.78 0.84 0.95
ITSE 1.38 0.90 4.12 0.90 3.62 0.85 0.93
ISTSE 1.35 0.95 4.52 1.13 3.70 0.86 0.97
3
SALIDA
3
0 10 20 30 40 50 60 70
TIEMPO (sec)
Kp
Fig. 5.49: Control PI-D del sistema Gp (s) = s1 e s usando ISTSE (ejemplo 5.25).
Gc (s) G s (s)
r(s) = R e(s) I m(s) Kt (s)
s Ki
Kp+ + Kd s
s Js 2 + Bs + K
Fig. 5.50: (a) Sistema SDA compensado con un controlador PID mejorado. (b) Sis-
tema SDA simplificado.
(s) Gc Gs (s)
=
r(s) 1 + Gc Gs (s)
Por consiguiente:
(s) Kt (Kp s + Ki + Kd s2 )
= (5.49)
r(s) Js3 + (B + Kd Kt )s2 + (K + Kt Kp )s + Kt Ki
n2 1 n2
= (5.50)
(s2 + 2n s + n2 ) (s + po ) s3 + (2n )s2 + (n2 + 2n po )s + n2 po
114 Control PID SISO
J(n2 + 2n po ) K n2 po J
2n J B + po J
Kc = Ki = Kd =
Kt Kt Kt
(5.51)
donde n2 y se dan en (5.47). La Fig. 5.51 muestra la salida del sistema controlada.
Este resultado se obtiene ejecutando el sdapid1.m cuyo listado se muestra abajo.
0.9
0.8
0.7
0.6
NGULO
0.5
0.4
0.3
0.2
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6
TIEMPO [s] (sec)
Fig. 5.51: Salida controlada del sistema SDA empleando un controlador PID.
G pi(s) G i (s)
Ir K ii Vm Im
1
K pp +
s L ms + R m
(a)
(b)
Fig. 5.52: (a) Actuador de corriente Ga (s). (b) Sistema SDA mejorado con la inclusion
del actuador de corriente .
tipo escalon en la senal de referencia r(t) (primer grafico), la senal de error positiva
inicial (1 y(t)) se hace bastante grande, provocando que la senal de control u(t)
(segundo grafico) alcance rapidamente el valor lmite de saturacion u m . A pesar de
que la senal de salida y(t) iguala al valor de referencia en el tiempo t1 , lo cual genera
una senal de error (1 y(t)) negativa debido al valor grande de la senal y i en la salida
del integrador, la senal de control u(t) permanece en el valor de saturacion maximo
um . Esto causa que la salida y(t) se incremente continuamente hasta que se alcance
el tiempo t2 , y la accion negativa de la senal de error comience a tener efecto.
Observar en el primer grafico de la Fig. 5.54 que el efecto windup provoca un
aumento del sobreimpulso y del tiempo de estabilizacion en la senal controlada y(t).
Por otro, si el algoritmo PID empleado es del tipo discreto, el fenomeno windup
no es tan notorio, aun cuando la senal de control este limitada, debido a que el
algoritmo discreto no emplea la suma de los errores para generar el termino integral
del controlador. Lo que se emplea es el calculo recursivo como veremos mas adelante.
yi
u Scope
y
Step =1 yi
u
1 10
5
1.12s yi u s4 +10s3 +35s2 +50s+24
Kc=5 Ti =1.12 um =3.5
Transfer Fcn
y
t
Clock y
t
Existen diversos metodos para eliminar en gran medida el efecto windup en sis-
temas de control que emplean controladores PID continuos. Uno de estos metodos
se muestra en el diagrama Simulink de la Fig. 5.55, el cual muestra un controlador
PID con mecanismo anti windup. Los parametros del controlador son los usuales:
tiempo integral Ti , tiempo derivativo Td y ganancia proporcional Kc . La salida y(t)
del sistema controlado y la correspondiente fuerza de control u(t) se muestran en la
Fig. 5.56, las cuales se obtienen ejecutando primero el programa antiwindup.mdl y
luego el programa antiwindupgraf.m.
Por otra parte, cuando el controlador conmuta de manual a automatico, el valor
de la senal de control u(t) puede cambiar de un valor a otro, no importando que la
senal de error e sea cero. Este salto debe de evitarse y en este caso se dice que la
conmutacion de manual a automatico debe de ser bumpless (sin saltos). Para lograr
conmutacion sin saltos, el algoritmo de control debe de ejecutarse siempre, aun en el
caso en que la operacion del sistema de control se encuentre en modo manual. Esta
correccion se puede realizar en el correspondiente programa en tiempo real.
5.9 El Algoritmo PID Discreto Modificado 117
EFECTO WIND UP
2
SALIDA y(t)
t1
1
0
0 2 4 6 8 10
TIEMPO [s]
4
CONTROL u(t)
t2
2
0
0 2 4 6 8 10
TIEMPO [s]
INTEGRADOR yi(t)
10
0
0 2 4 6 8 10
TIEMPO [s]
1/1.2 tt
rr
REF. Clock tt
rr GANANCIA 1/Ti
1
1/1.2 Scope
s uu
1/Ti INTEGRADOR uu
10
1.3
s4 +10s3 +35s2 +50s+24
Kc SATURACIN
SISTEMA A CONTROLAR
1 yy
0.1 du/dt
0.5s+1 yy
FILTRO Td DERIVADOR antiwindup .m CONTROLADOR PID CON MECANISMO
ANTI WINDUP. EL FILTRO SE PUEDE SELECCIONAR
A VOLUNTAD.
Fig. 5.55: Diagrama Simulink que muestra un controlador PID con mecanismo anti
windup.
1.2
1
SALIDA y(t)
0.8
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]
2.5
CONTROL u(t)
1.5
1
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]
de(t) d
= (r(t) y(t))
dt dt
Este fenomeno es conocido en ingles como derivative kick (puntapie derivativo) y
su efecto se puede apaciguar si es que utilizamos como senal de entrada unicamente
la senal realimentada y en lugar de e. De esta forma, (5.15) con de(t) dy(t)
dt = dt se
convierte en: Z
1 dy
u = Kd e + edt Td
Ti dt
Otra modificacion importante es filtrar la accion derivativa del controlador PID origi-
nal mediante un filtro de primer (o segundo) orden para disminuir el ruido derivativo.
Esta caracterstica limita la amplificacion del ruido de medicion de alta frecuencia
en la salida del controlador. La senal de control sera as menos ruidosa y la ganancia
en alta frecuencia permanecera dentro de cotas apropiadas. Un termino derivativo
practico, ya que un derivador puro no es realizable, puede aproximarse mediante un
termino de primer orden que posee una constante de tiempo Tf , el cual a menudo se
normaliza con respecto al tiempo derivativo Td . Por consiguiente, el derivador puro
del algoritmo PID se modifica como sigue:
Td s Td
Td s Tf =
1 + Tf s N
5.9 El Algoritmo PID Discreto Modificado 119
Kc K c Td s Td
P (s) = Kc e(s) I(s) = e(s) D(s) = y(s) Tf =
Ti s 1 + Tf s N
Los terminos P , I y D representan las partes proporcional, integral y derivativa del
controlador PID modificado, respectivamente.
Sea k el tiempo discreto, el cual esta relacionado con el tiempo continuo t mediante
la relacion t = T k, donde T es el tiempo de muestreo o discretizacion. La parte
proporcional P = Kc e(s) de (5.54) se discretiza directamente, obteniendose:
P = Kc e(k) (5.55)
Rt
Para la parte integral I(s) = TKics e(s), o lo que es lo mismo: I(t) = Kc
Ti 0 e(t)dt
empleamos la aproximacion trapezoidal (ver ejemplo A.46):
k k1
Kc X [e(i) + e(i 1)] Kc X [e(i) + e(i 1)] Kc [e(k) + e(k 1)]
I(k) = T = T +
Ti 2 Ti 2 Ti T 2
i=1 i=1
Kc T
I(k) = I(k 1) + [e(k) + e(k 1)] (5.56)
2Ti
Kc T d s
La parte derivativa D(s) = 1+T f s
y(s) se puede escribir como:
(1 + Tf s)D(s) = Kc Td s y(s)
Td Td
D(k) = {D(k 1) Kc N [y(k) y(k 1)]} Tf = (5.57)
N T + Td N
El algoritmo PID discreto usado en las implementaciones en tiempo real resulta:
donde P (k), I(k) D(k) se dan en (5.55), (5.56) y (5.57) respectivamente. Tambien
se debe de incluir el efecto del limitador, basado en un modelo con presencia de
saturacion con valores maximo y mnimo umax y ulow respectivamente:
v = P + I + D;
if(v < ulow), u = ulow; elseif(v > uhigh), u = uhigh; else u = v;
120 Control PID SISO
Tabla 5.14: Metodo de la curva de reaccion para determinar los parametros PID. K c ,
Ki y Kd .
100
Tipo Controlador Gc (s) Kc = BP Ki = Kc /Ti K d = K c Td
1 T
P Kc Kp +Ts 0 0
Ki 0.9 T 0.27 Ts T
PI Kc + s Kp +0.5Ts 0.5Ki Kp ( +0.5Ts )2 0
Ki 1.2 T 0.6 Ts T 0.5 T
PID Kc + s + Kd s Kp +Ts 0.5Ki Kp ( +0.5Ts )2 Kp T s
Tabla 5.15: Metodo de las oscilaciones sostenidas para hallar los parametros K C , TI
y TD .
100
Tipo Controlador Gc (s) Kc = BP Ki = Kc /Ti K d = K c Td
P KC 0.5Kcrit 0
Ki
PI Kc + s 0.45 Kcrit 0.5Ki 0,54 K crit
Tcrit 0
Ki
PID Kc + s + Kd s 0.6 Kcrit 0,5Ki 1.2 K crit
Tcrit 0.075Kcrit Tcrit
Ts
Ejemplo 5.26
x1 = x2
N B n2 KE nKact
x2 = x2 + x2 + u
M M M Ra Ra M
0.8
0.4
0.2
0
0 10 20 30 40 50 60 70 80 90 100
0.5
0.4
Seal de control u (V)
0.3
0.2
0.1
0
0 10 20 30 40 50 60 70 80 90 100
Tiempo [s]
5.10. Problemas
Problema 5.1
Las FTs Ga (s) hasta Gj (s) corresponden a sistemas a ser controlados. Determinar
para cada una de ellas los siguientes modelos dinamicos aproximados:
Kp s Kp
GA (s) = e GB (s) = ; 0.104
Ts + 1 (Tn s + 1)n T
Kp
GC (s) = ; < 0.104
(T1 s + 1)(T2 s + 1) T
2 4 3s + 2
Ga (s) = Gb (s) = Gc (s) =
(s + 1)3 (s + 1)5 (s + 1)3
2
s 3s + 6 10s + 4
Gd (s) = 2 2
Ge (s) = es/2
(s + 1)(s + 3s + 6)(s + s + 2) (s + 1)2 (s + 3)3
6 3 3
Gf (s) = Gg (s) = es Gh (s) = e2s
(s + 1)6 (s + 1)(2s + 1) (s + 1)4
7 3s + 6
Gi (s) = e30s Gj (s) = es/10
(17s + 1)(6s + 1)3 (s + 1)(4s + 1)
Problema 5.2
Realizar los controles PID, PID y PI-Dy de los sistemas Ga (s) al Gj (s) en el dominio
de s empleando MATLAB. Usar al menos cinco distintas reglas de sintonizacion para
cada sistema. El objetivo de control es que la senal controlada siga a una referencia
constante.
Problema 5.3
Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) empleando
SIMULINK. Usar al menos una regla de sintonizacion, distinta de las otras, para
cada sistema. El objetivo de control es que la senal controlada siga a una referencia
constante.
Problema 5.4
Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) en el dominio
del tiempo discreto k=t/T (T es el tiempo de muestreo) empleando MATLAB. Usar al
menos tres distintas reglas de sintonizacion para cada sistema. El objetivo de control
es que la senal controlada (la salida) tienda a cero en presencia de un disturbio tipo
escalon a la entrada del sistema. En esta situacion, denominada rechazo al disturbio,
la senal de referencia es nula.
Problema 5.5
5.10 Problemas 123
Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) empleando
SIMULINK. Usar al menos una regla de sintonizacion, distinta de las otras, para cada
sistema. El objetivo de control es que la senal controlada (la salida) tienda a cero en
presencia de un disturbio tipo escalon a la entrada del sistema. En esta situacion,
denominada rechazo al disturbio, la senal de referencia es nula.
Problema 5.6
Realizar los controles PI o PID segun corresponda, de los sistemas G k (s) al Gt (s)
empleando el metodo de Kessler.
2
Gk (s) = Q
(1 + 20s) (1 + 0.1s)3 (1 + 0.3s)3
9
Gl (s) = Q
(1 + 20s)(1 + 30s) (1 + 0.2s)4 (1 + 0.5s)2
2
Gm (s) = Q
s (1 + s)3 (1 + 2s)2
8
Gn (s) = Q
s(1 + 20s) (1 + 0.1s)3 (1 + 0.3s)3
5
Go (s) =
(1 + 0.1s)(1 + 0.2s)(1 + 30s)(1 + 0.3s)2 (1 + 0.5s)2
3
Gp (s) =
s(1 + s)(1 + 2s)(1 + 40s)(1 + 0.2s)4 (1 + 0.5s)3
6
Gq (s) =
(1 + s)(1 + 2s)(1 + 40s)(1 + 50s)(1 + 0.2s)4 (1 + 0.5s)3
8
Gr (s) =
(s + 10)(s + 9)(s + 2)
4
Gs (s) = Q 2
s (s + 3) (s + 5)(s + 6)
4
Gt (s) = Q 2
s (1 + s) (1 + 2s)(1 + 0.9s)
Problema 5.7
Para el sistema del ejemplo ??, disenar controladores PID, PID y PIDy que cum-
plan el siguiente objetivo de control: la senal controlada x1 debe de seguir a la senal
en estado estable x1e con un porcentaje de de sobrenivel menor del 5 %, tiempo de
estabilizacion menor de 8 s y error en estado estable nulo. Tener en cuenta que para
la situacion descrita, y1 = x1 x1e debe de ser nulo.
Problema 5.8
Para el sistema del ejemplo ??, disenar controladores PID, PID y PIDy que cum-
plan el siguiente objetivo de control: la senal controlada y = 2 debe de seguir una
senal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiem-
po de estabilizacion menor de 4 s y error en estado estable nulo.
Problema 5.9
124 Control PID SISO
Para el sistema del ejemplo ??, disenar controladores PID, PID y PIDy que cum-
plan el siguiente objetivo de control: la senal controlada x1 debe de seguir una senal
de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de
estabilizacion menor de 4 s y error en estado estable nulo.
Problema 5.10
Para el sistema de la Fig. 2.14(c), disenar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la senal controlada debe de seguir una
senal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 4 s y error en estado estable nulo.
Problema 5.11
Para el sistema de la Fig. ??(b), disenar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la senal controlada debe de seguir una
senal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 10 s y error en estado estable nulo.
Problema 5.12
Para el sistema del ejemplo ??, disenar controladores PID, PID y PIDy que cum-
plan el siguiente objetivo de control: la senal controlada q3 debe de seguir una senal
de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de
estabilizacion menor de 4 s y error en estado estable nulo.
Problema 5.13
Para el sistema del problema ??, disenar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la senal controlada debe de seguir una
senal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 4 s y error en estado estable nulo.
Problema 5.14
Para el sistema del problema ??, disenar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la senal controlada iR debe de seguir una
senal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 4 s y error en estado estable nulo.
Captulo 6
Este Captulo
r Controlador
y u r e u y
Controlador Proceso P
Convertidor Medicin
Producto
Agua caliente (b)
(a)
r1 C1 r1 y2 y1
u 1= r 2 e1 u1 e 2 u2
C1 C2 P2 P1
y1 u C2
2
y2 M2
u 1= r 2
Producto M1
Agua caliente
(d)
(c)
Fig. 6.1: Circuito de control simple (a) y su diagrama de bloques (b). Circuito de
Control en cascada. (c) y su diagrama de bloques (d).
Ejemplo 6.1
6.1 Control en Cascada 127
OSCILACIN SOSTENIDA
1.5
y(t)
0.5
0
0 5 10 15 20 25 30 35 40
TIEMPOx60 (sec)
SALIDA CONTROLADA
60
TEMPERATURA C
50
40
30
20
10
0
0 10 20 30 40 50 60
TIEMPOx60 (sec)
Fig. 6.2: Oscilaciones sostenidas para Kcrit = 2.18 (grafico superior) y respuesta
controlada (grafico inferior) para el caso control con lazo simple del ejemplo 6.1.
2
y2(t)
0
0 1 2 3 4 5 6 7 8 9 10
TIEMPOx60 (sec)
CONTROL DEL LAZO SECUNDARIO
2
y2(t)
0
0 5 10 15 20 25
TIEMPOx60 (sec)
OSCILACIN DEL LAZO PRIMARIO
2
y1(t)
0
0 5 10 15 20 25 30 35 40
TIEMPOx60 (sec)
SALIDA CONTROLADA EN CASCADA
TEMPERATURA C
100
50
0
0 10 20 30 40 50 60 70
TIEMPOx60 (sec)
Fig. 6.3: Resultados para el caso control en cascada del ejemplo 6.1.
Tcrit 13
= = 5.41
Tcrit1 2.4
Observar en la Fig. 6.4 que los flujos q1 y q2 se miden empleando placas de orificio,
las cuales usan el principio de que el flujo es proporcional a la raz cuadrada de la
diferencia de presion producida por la placa. Por otro lado, la filosofa de control de
la razon se basa en las relaciones siguientes (ver Fig. 6.4):
r2 = V y 1 e2 = r 2 y 2 = V y 1 y 2
u
V r2
y1 y2
q2
Qemador
q1
Horno
Ejemplo 6.2
% razon1graf.m
clear all; close all; clc;
load th; load y1; load y2; load V;
plot(th,y1,th,y2,th,V), xlabel(TIEMPO [s]),
ylabel(RAZON V(t)), title(CONTROL DE LA RAZON V = y2/y1)
print -f -deps razon1r, print -s -deps razon1s
6.3 Control Anticipativo 131
razon1.mdl
th
y1
Clock th
y1 1
u V
1/y1 V=y2/y1
Aire Inversa
r2 e2 2
PID
10 0.5s+1
Product Scope
Producto PI Controller
Set V y2 Vlvula + caudal y 2
y2
y2
40
35
30
RAZN V(t)
25
20
15 y2(t)
V = 10
10
y1(t)
5
0
0 200 400 600 800 1000
TIEMPO [s]
Para tener una idea mas clara de la estructura del controlador anticipativo G a (s)
disenado, asumamos que:
Kp Kd
Gp (s) = ep s Gd (s) = ed s
Tp s + 1 Td s + 1
Por consiguiente:
Gd (s) Kd Tp s + 1 (p d )s
Ga (s) = = e
Gp (s) K p Td s + 1
En conclusion, el controlador anticipativo resulta ser un compensador de adelanto
atraso.
d
Gd(s)
u y
Ga(s) Gp(s)
El sistema de control anticipativo trabaja bien siempre que Gp (s) y Gd (s) repre-
senten lo mas fiel posible al proceso y al disturbio. Evidentemente, en presencia de
errores de modelado, el desempeno del sistema de control anticipativo va a disminuir.
Existen dos casos notables para los que no se debe de emplear el control anticipativo.
El primero ocurre cuando el grado del polinomio del denominador de Gp (s) es mayor
que el grado del polinomio del denominador de Gd (s). Por ejemplo, sean:
1 1
Gp (s) = Gd (s) =
s2 + bs + c s+f
donde a, b, c y f son constantes. El controlador anticipativo se calcula como:
Gd (s) s2 + bs + c
Ga (s) = =
Gp (s) s+f
6.3 Control Anticipativo 133
1 1
Gd (s) = es Gp (s) = e2s
s2 + bs + c s+f
Entonces:
Gd (s) s+f
Ga (s) = = 2 es
Gp (s) s + bs + c
Notar que el controlador anticipativo resultante es no implementable fsicamente
debido a que su tiempo muerto es positivo.
En el diseno de Ga (s) puede resultar en una funcion de transferencia inestable.
Esto sucede cuando el modelo Gp (s) del proceso no es de mnima fase. Es decir,
cuando posee al menos un cero positivo. Para ilustrar esta situacion asumamos que
(notar que Gp (s) es de mnima fase):
s1 1
Gp (s) = Gd (s) =
s+1 4s + 1
Gd (s) s+1
Ga (s) = =
Gp (s) (s 1)(4s + 1)
Ejemplo 6.3
5 3
Gd (s) = Gp (s) =
2s + 1 0.5s + 1
Gd (s) 2.5s + 5
Ga (s) = =
Gp (s) 6s + 3
% antic1graf.m
clear all; close all; clc; load th; load d; load u; load y;
subplot(211), plot(th,d,th,u), xlabel(TIEMPO [s]), ylabel(d(t),u(t)),
title(VARIABLES d(t) y u(t) EN EL CONTROL ANTICIPATIVO)
subplot(212), plot(th,y), xlabel(TIEMPO [s]), ylabel(y(t)),
title(SALIDA CONTROLADA y(t))
print -f -deps antic1r, print -s -deps antic1s
134 Otras Estrategias de Control
antic 1.mdl
d
d 5
2s+1 Scope 1
d Gd(s) u
y
2.5s5 3
th
6s+3 0.5s+1
Clock th
Ga(s) Gp(s)
1
d(t),u(t)
0
u
d
1
2
0 200 400 600 800 1000
TIEMPO [s]
x 10
3 SALIDA CONTROLADA y(t)
2
0
y(t)
6
0 200 400 600 800 1000
TIEMPO [s]
Control AnticipativoRealimentado
El control anticipativo posee la capacidad de eliminar el efecto de los disturbios
medibles que actuan sobre la senal controlada. Por otro lado, el control realimentado
puede rechazar el efecto de los disturbios no medibles sobre la senal controlada,
as como tambien corregir el efecto de los errores de modelado en el lazo de control.
Cae entonces por su propio peso, que si deseamos sacar ventaja de las bondades
de cada uno de los esquemas descritos, debemos de aplicar simultaneamente control
anticipativo y control realimentado , tal como se ilustra en la Fig. ??, donde d 1 es un
disturbio medible con FT Gd1(s) conocida, mientras que d2 es un disturbio no medible
pero con FT Gd1(s) conocida. El disturbio d2 se incluye para dar mayor generalidad
al problema, tal como se trata en el el siguiente ejemplo.
6.3 Control Anticipativo 135
d1 Gd1(s)
G a (s)
r e u y
G c (s) G p (s)
d2 Gd2(s)
Ejemplo 6.4
anticreal 1.mdl
th
3
Clock th
d1 5s+1
d1 Gd1(s) Tiempo u
y
muerto : 3
4.8s0.6 5
5s+1 0.8s+1
Ga(s) Tiempo Gp(s) Tiempo
Scope
muerto : 1 muerto : 2
6 r
PID
9s+1
r = 10 Gc(s)
Gd1(s)1 Tiempo
muerto : 5
d2
12
10
8
y(t)
0
0 20 40 60 80 100 120 140 160 180 200
TIEMPO [s]
CONTROL u(t)
3.5
2.5
u(t)
1.5
0.5
0 20 40 60 80 100 120 140 160 180 200
TIEMPO [s]
% anticreal1graf.m
clear all; close all; clc; load th; load r; load u; load y;
subplot(211), plot(th,y,k,th,r,k), xlabel(TIEMPO [s]), ylabel(y(t)),
title(SALIDA y(t) CONTROLADA), grid
subplot(212), plot(th,u,k), xlabel(TIEMPO [s]), ylabel(u(t)),
title(CONTROL u(t)), grid
print -f -deps anticreal1r, print -s -deps anticreal1s
Observar que existen dos lazos de control de presion, uno para la aspiracion y el
otro para la impulsion. En condiciones normales, la presion se controla con el lazo
de impulsion. Si por alguna circunstancia de falla, cae la presion de aspiracion de
la bomba por debajo del lmite de seguridad, entonces actua el conmutador selector
para que entre en funcionamiento el lazo de aspiracion en lugar del de impulsion.
El conmutador selector trabaja como sigue. En principio, el conmutador selecciona
la mnima de las dos senales que le llegan. Ademas, el set point del controlador
de aspiracion tiene que ser inferior a los valores normales de trabajo. En operacion
normal, la senal de salida del controlador de impulsion alcanza sus valores de trabajo.
Si la presion de aspiracion baja demasiado hasta llegar a ser inferior a su set point,
entonces el controlador de aspiracion genera una senal que es inferior a la que sale
del controlador de impulsion. En esta situacion, el conmutador hace que entre en
operacion el lazo de control de la aspiracion. En este caso, el conmutador es del tipo
LSS (Low Selector Switch).
PIC
PIC PY
LAZO 2 LAZO 1
PT
PT
IMPULSION
ASPIRACION
BOMBA
(a)
TRANSMISOR
DE IMPULSION
LAZO 1
CONTROLADOR
DE IMPULSION PROCESO
VALVULA
PRESION
DE CONTROL
CONMUTADOR IMPULSION
SELECTOR PROCESO
VALVULA
PRESION
CONTROLADOR DE CONTROL ASPIRACION
DE ASPIRACION
LAZO 2
TRANSMISOR
DE ASPIRACION
(b)
La Fig. 6.14 muestra otra aplicacion del control selectivo aplicado a un generador
de vapor, en donde el conmutador selector LSS hara la conmutacion del lazo de
control de presion (Lazo 1) al lazo de control de nivel (Lazo 2), cuando el el nivel del
liquido en el hervidor caiga por debajo del nivel permisible previamente establecido.
Esta conmutacion tambien provoca que se cierre la valvula de control.
138 Otras Estrategias de Control
PT
LAZO 2 LAZO 1
LT LC PC
LSS
AGUA
CALEFACTOR (a)
TRANSMISOR
DE PRESION
LAZO 1
CONTROLADOR
DE PRESION
VALVULA PROCESO
DE CONTROL PRESION
CONMUTADOR
LSS
VALVULA PROCESO
CONTROLADOR DE CONTROL NIVEL
DE NIVEL
LAZO 2
TRANSMISOR
DE NIVEL
(b)
Selector VA VB
uA uB 100%
Abertura
de vlvula
Pr
0% P
P 15 psig
VA VB 3 7.5 9 11.5
Reactor
u u
1. No interaccion.
2. Exactitud estatica.
3. Estabilidad.
x = Ax + Bu y = Cx + Du (7.1)
Controlador
PID MIMO Sistema
r(s) e(s) u(s) y(s)
G c(s) G p (s)
donde G(s) y Go son las matrices de transferencia de lazo cerrado y de lazo abierto
del sistema. La matriz G(s) posee la forma:
G11 (s) G1p (s)
.. .. ..
G(s) = . . .
Gp1 (s) Gpp (s)
7.1.1. No Interaccion
Los elementos ubicados fuera de la diagonal principal de G(s) determinan el grado
de interaccion entre las diferentes entradas de referencia ri con respecto a las salidas
yi . Para obtener desacoplamiento completo entre tales entradas y salidas, se requiere
que G(s) sea diagonal, esto es:
Despejamos Go (s):
Dado que G(s) tiene que ser diagonal por para no interaccion, entonces, I G(s)
tambien debe de ser diagonal. Por consiguiente, su matriz inversa [I G(s)] 1 es
tambien diagonal y de la forma:
1
1G11 (s) 0
1
1G22 (s)
1
[I G(s)] =
..
.
1
0 1Gpp (s)
Entonces podemos concluir que para exactitud estatica (error en estado estable nulo)
se requiere:
lm [G(s)] = I (7.9)
s0
7.1.3. Estabilidad
Para el caso de condiciones iniciales nulas, de (7.10) sabemos que:
Adj [I + Go (s)]
[I + Go (s)]1 =
det[I + Go (s)]
Entonces, el sistema MIMO de la Fig. 7.1 es estable si todas las races caractersticas
de (7.13) se localizan en el semiplano izquierdo del planos. Si existe al menos una
raz en el semiplano derecho del planos, entonces el sistema es inestable. Si todas
las races se localizan en el semiplano izquierdo del planos, excepto al menos una
que se ubique en el eje imaginario (el eje vertical del planos), entonces el sistema es
oscilante, que para fines de operacion del sistema controlado, tambien es inestable.
Para disenar la matriz de control Gc (s), podemos asumir una matriz G(s) de la
forma:
1
Tniv s+1 0
G(s) = (7.15)
1
0 Ttemp s+1
La Fig. 7.2 muestra en detalle la interconexion de todos los bloques del sistema de
control multivariable PID del sistema tanque.
e1 1 u1 K p11
K c11 1+
r1 T c11 s T p11 s+1 y1
1 K p11
K c12 1+
T c12 s T p11 s+1
1 K p21 (T pas+1)
K c21 1+
T c21 s (T pbs+1)(T pcs+1)
r2 y2
1 K p21 (T pas+1)
K c12 1+
e2 T c12 s u2 (T pbs+1)(T pcs+1)
Fig. 7.2: Diagrama de bloques del sistema de control PID MIMO disenado.
Step Response
0.8
NIVEL
To: Out(1)
0.6
0.4
0.2
Amplitude
0
1
0.8
To: Out(2)
0.6 TEMPERATURA
0.4
0.2
0
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time (sec)
df2dx1=a*bartheta*barh^(-1.5)/(2*A) ...
- (rhoC*thetaC*barqC+rhoH*thetaH*barqH)/(rhoD*A*barh^2);
df2dx2=-a/(A*sqrt(barh)); df1du1=1/A; df1du2=1/A;
df2du1=rhoC*thetaC/(rhoD*A*barh); df2du2=rhoH*thetaH/(rhoD*A*barh);
AA=[df1dx1 df1dx2;df2dx1 df2dx2]; BB=[df1du1 df1du2;df2du1 df2du2];
CC=[1 0;0 1]; DD = [0 0;0 0]; I = CC; Tniv=60; Ttemp=100; s=tf(s);
Gp = CC*inv(s*eye(2) -AA)*BB+DD; G=[1/(Tniv*s+1) 0;0 1/(Ttemp*s+1)];
Gc = inv(Gp)*G*inv(I-G); Go=Gp*Gc; step(feedback(Go,I))
print -deps -f mimopid01
syms s a11 a21 a22 b11 b21 b22 Tniv Ttemp;
AA=[a11 0;a21 a22]; BB=[b11 b11;b21 b22];
Gp = CC*inv(s*eye(2) -AA)*BB+DD; G=[1/(Tniv*s+1) 0;0 1/(Ttemp*s+1)];
Gc = inv(Gp)*G*inv(I-G); pretty(simple(Gp)), pretty(simple(Gc))
% Gc = [-a21 b11 - b22 s + b22 a11 s - a22 ]
% [-------------------------- --------------------]
% [ (-b22 + b21) b11 s Tniv (-b22 + b21) s Ttemp]
% [ ]
% [a21 b11 + b21 s - b21 a11 -s + a22 ]
% [------------------------- --------------------]
% [ (-b22 + b21) b11 s Tniv (-b22 + b21) s Ttemp]
% Gc11= Kc11*(1+1/(Ti11*s)); Gc12= -Kc12*(1+1/(Ti21*s));
% Gc21= -Kc21*(1+1/(Ti21*s)); Gc22= Kc12*(1+1/(Ti22*s));
entonces:
Kc11
u1 (k) u1 (k 1) = Kc11 [e1 (k) e1 (k 1)] + T e1 (k)
Tc11
Kc12
Kc12 [e2 (k) e2 (k 1)] T e2 (k)
Tc12
Kc21
u2 (k) u2 (k 1) = Kc21 [e1 (k) e1 (k 1)] + T e1 (k)
Tc21
Kc12
Kc12 [e2 (k) e2 (k 1)] T e2 (k) (7.19)
Tc12
Para programacion en tiempo real prescindimos del argumento k. Por consiguiente,
las ecuaciones anteriores toman la forma:
Kc11 Kc12
u1 = u1 + Kc11 (e1 e1p ) + T e1 Kc12 (e2 e2p ) T e2
Tc11 Tc12
Kc21 Kc12
u2 = u2 + Kc21 (e1 e1p ) + T e1 Kc12 (e2 e2p ) T e2 (7.20)
Tc21 Tc12
donde e1p y e2p son los errores pasados de e1 y e2 respectivamente. La ecuacion de
estado del sistema se discretiza como:
x(k) x(k 1)
x
= = A x(k) + B u(k)
T
x(k) = x(k 1) + T (A x(k) + B u(k))
donde:
x(1) y1 h u1 qC
x= = = u= =
x(2) y2 u2 qD
Para programacion en tiempo real, la ecuacion de estado discreta del sistema toma
la forma:
x = x + T (A x + B u) (7.21)
La simulacion del sistema se logra ejecutando el programa pidmimotanque.m, el cual
toma en cuenta las ecuaciones discretas (7.20) y (7.21). El resultado de la simu-
lacion se muestra en la Fig. 7.4. Observar que el controlador PID MIMO estabiliza
simultaneamente el nivel y la temperatura cumpliendo las especificaciones de diseno
del caso.
% pidmimotanque.m CONTROL PID MIMO DEL SISTEMA TANQUE CERRADO CON AGUA
clear all; close all; clc;
% PARAMETROS
C=0.6; D=0.0159; d=0.0065; beta=d/D; E=(1-beta^4)^(-1/2); rhoD=996;
g=9.81; a=C*E*pi*d^2*rhoD*sqrt(2*g)/4; A=0.0314; rhoH=988; Cp=4186.8;
rhoC=998; thetaH=50+270.15; thetaC=20+270.15;
% VALORES ESTACIONARIOS
barh=0.4; bartheta=35+270.15; barqC=2.16e-4; barqH=0.5e-4;
7.1 Control MIMO va Desacoplamiento 149
1
NIVEL [m]
0.5
0
0 500 1000 1500 2000 2500 3000 3500 4000
TIEMPO [s]
AGUA FRA [m /s]
0.01
3
0.005
0
0 500 1000 1500 2000 2500 3000 3500 4000
TIEMPO [s]
TEMPERATURA [C]
60
40
20
0 500 1000 1500 2000 2500 3000 3500 4000
AGUA CALIENTE [m /s]
TIEMPO [s]
3
0.005
0.01
0 500 1000 1500 2000 2500 3000 3500 4000
TIEMPO [s]
Fig. 7.4: Resultado de la simulacion del sistema de control PID MIMO del tanque:
nivel y temperatura controladas.
barqD=2.16e-4; Rh=barh/barqD;
% MODELO LINEAL, DONDE: df1/dx1=a11, df1/dx2=a12, etc.
a11=-a/(2*A*sqrt(barh)); a12=0;
a21=a*bartheta*barh^(-1.5)/(2*A) - ...
(rhoC*thetaC*barqC+rhoH*thetaH*barqH)/(rhoD*A*barh^2);
a22=-a/(A*sqrt(barh)); b11=1/A; b12=1/A;
b21=rhoC*thetaC/(rhoD*A*barh); b22=rhoH*thetaH/(rhoD*A*barh);
AA=[a11 0;a21 a22]; BB=[b11 b11;b21 b22]; CC=[1 0;0 1]; DD = [0 0;0 0];
Tniv=60; Ttemp=100;
% PARAMETROS DEL CONTROLADOR: SE SETERMINAN DE Gc EN mimopidsimb.m
Kc11=b22/((b22-b21)*b11*Tniv); Ti11=b22/(a21*b11-b22*a11);
Kc12=1/((b22-b21)*Ttemp); Ti12=-1/a22; Kc22=Kc12; Ti22=Ti12;
Kc21=b21/((b22-b21)*b11*Tniv); Ti21=b21/(a21*b11-b21*a11);
% CONDICIONES INICIALES
e1p=0; e2p=0; u1=0; u2=0; x = [0.4;20+270.15]; % NIVEL + TEMPERATURA
T = 0.2; M = 20000; % PERIODO DE MUESTREO Y NUMERO DE MUESTRAS M
for k = 1:M % INICIO DEL LAZO DE CONTROL
if(k >= 0 && k <= M/4), r1 = 0.5; r2=20+273.15; % SE ~
NALES DE REFERENCIA
elseif(k >= M/4 && k <= M/2), r1 = 0.2; r2=40+273.15;
elseif(k >= M/3 && k <= 3*M/4), r1 = 0.4; r2=70+273.15;
elseif(k >= 3*M/4 && k <= M), r1 = 0.3; r2=20+273.15; end
R1(k) = r1; R2(k) = r2;
150 Control PID Multivariable
x = Ax + Bu y = Cx
0 0 1 0
0 0 0 1
A = K1 K1 B1
m B1
m1 m1 1 m1
K1
m2 (K1m+K
2
2) B1
m 2
(B1m+B
2
2)
0 0
0 0 1 0 0 0
B=
m1
C=
1
0 0 1 0 0
1
0 m2
El programa mimopid02.m, cuyo listado se muestra abajo, simula el sistema de con-
trol pedido. En el resultado de la simulacion (Fig. 7.5) se observa que las salidas
controladas y1 (grafico superior izquierda) e y2 (grafico superior derecha) controla-
dos, cumplen las especificaciones de diseno requeridas.
7.2 Control PID MIMO con Desacopladores 151
Step Response
0.8
y1
To: Out(1)
0.6
0.4
0.2
Amplitude
0
1
0.8
y2
To: Out(2)
0.6
0.4
0.2
0
0 20 40 60 0 20 40 60
Time (sec)
y1 (s) = Gp11 (s)[u1 (s) + D1 (s)u2 (s)] + Gp12 (s)[u2 (s) + D2 (s)u1 (s)]
y2 (s) = Gp22 (s)[u2 (s) + D2 (s)u1 (s)] + Gp21 (s)[u1 (s) + D1 (s)u2 (s)] (7.22)
e1 u 1 m1
G c1(s) Gp11(s)
r1 y1
D 1 (s) G p12(s)
D 2 (s) G p21(s)
r2 m2 y2
G c2 (s) G p22(s)
e2 u2
Disenar un controlador PID MIMO con desacopladores para controlar las salidas y 1
e y2 del sistema de plataformas propuesto en el problema 2.6 y mostrado en la Fig.
2.26. Las especificaciones de diseno son: 0 % de sobrenivel, error en estado estable
nulo y tiempo de estabilizacion menor de 20 s para ambas salidas. Valorar todos los
parametros de la planta en 1.
Solucion: El programa mimopid03.m, cuyo listado se muestra abajo, emplea el mod-
elo del sistema de plataformas del Ejemplo 7.2 y simula el sistema de control pedido.
En el resultado de la simulacion (Fig. 7.7) se observa que las salidas controladas y 1
(grafico superior izquierda) e y2 (grafico superior derecha) controlados, cumplen las
especificaciones de diseno requeridas.
Step Response
0.8
y1(t)
To: Out(1)
0.6
0.4
0.2
Amplitude
0
1
0.8 y2(t)
To: Out(2)
0.6
0.4
0.2
0
0 20 40 60 0 20 40 60
Time (sec)
Controlador
P MIMO Sistema
r(s) e(s) u(s) y(s) r(s) 1
y(s)
K G p (s) (I+KG p (s)) KG p (s)
(a) (b)
Fig. 7.8: (a) Sistema de control MIMO con controlador P. (b) Sistema equivalente.
1
y(s) = Gp (s)u(s) u(s) = Ke(s) y(s) = [I + KGp (s)] KGp (s)
las especificaciones de diseno para los dos canales (salidas) son: tiempo de estabi-
lizacion menor de 2 s, error en estado estable nulo y porcentaje de sobrenivel tambien
nulo.
Solucion: Ejecutar el programa pmimo1.m, el cual sigue el procedimiento de diseno
arriba establecido. La Fig. 7.9 muestra que las salidas controladas del sistema cumplen
las especificaciones de diseno para las ganancias K1 = 2 y K2 = 1.5. Es necesario
anotar que con estos valores de las ganancias, se satisfacen simultaneamente las condi-
ciones H1 > 0, H2 > 0, H3 > 0 y H4 > 0 establecidas en el criterio de Hurwitz.
156 Control PID Multivariable
Step Response
0.8
y1(t)
0.6
To: Out(1)
0.4
0.2
Amplitude
1.5
1
To: Out(2)
y2(t)
0.5
0
0 1 2 3 0 1 2 3
Time (sec)
7.4. Problemas
Problema 7.1 Sistema Tanque Cerrado
Basado en las tecnicas descritas en las secciones 7.2 y 7.3, disenar los controladores
MIMO para controlar el nivel y la temperatura del sistema tanque cerrado descrito
en la subseccion ??. Las especificaciones de diseno tanto para el nivel como para
la temperatura son: 0 % de sobrenivel, error en estado estable nulo y tiempos de
estabilizacion lo mas rapido posible.
Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador polar vertical mostrado en la La Fig. ?? y
descrito en el problema ??. Las especificaciones de diseno de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo mas
rapido posible.
Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador polar horizontal mostrado en la La Fig. ??
y descrito en el problema ??. Las especificaciones de diseno de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo mas
rapido posible.
Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador robotico traslacionalesferico mostrado en
la Fig. ?? y descrito en el problema ??. Las especificaciones de diseno de las sal-
idas controladas son: 0 % de sobrenivel, error en estado estable nulo y tiempos de
estabilizacion lo mas rapido posible.
Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador robotico esferico de 3GDL mostrado en la
Fig. ?? y descrito en el problema ??. Las especificaciones de diseno de las salidas
controladas son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabi-
lizacion lo mas rapido posible.
Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el motor sncrono de iman permanente descrito en el prob-
lema ??. Las especificaciones de diseno de las corrientes iq e id controladas son: 0 %
de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo mas rapido
posible.
Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador robotico traslacional mostrado en la Fig. ??
y descrito en la seccion ??. Las especificaciones de diseno de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo mas
rapido posible.
Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador robotico esferico mostrado en la Fig. ?? y
descrito en la seccion ??. Las especificaciones de diseno de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo
mas rapido posible.
Apendice A
Este Captulo presenta la matematica requerida en los Captulos siguientes. Los topi-
cos se desarrollan principalmente en el dominio continuo. El topico discretizacion directa
se desarrolla en el dominio discreto. Los numerosos ejemplos presentados se resuelven en
unos casos analticamente, en otros con ayuda del software MATLAB y en la mayora de
los casos empleando ambos metodos.
Los temas a tratar son: transformada de Laplace, matrices y determinantes, variable
de estado, discretizacion directa, sistemas con tiempo muerto y linealizacion de sistemas
continuos.
u
u
Agua
t
y
y
Vapor
t
t0 t1 t2 t3
(a) (b)
Ejemplo A.1
Ejemplo A.2
1 eT s
L[(t T )] = eT s G(s) = eT s =
s s
Ejemplo A.3
Ejemplo A.4
Hallar la transformada de Laplace de las funciones impulso (t) y (t T ) empleando
la siguiente propiedad fundamental:
Z
g(t)(t T )dt = g(T ) (A.2)
0
donde g(t) es una funcion arbitraria pero continua en t = T . Se sabe ademas que la
funcion impulso unitario o delta de Dirac (t) y delta de Dirac retardada (t T ) se
definen como:
1 si t = 0 1 si t = T
(t) = (t T ) = (A.3)
0 si t 6= 0 0 si t 6= T
Ejemplo A.6
s+3 Aw
G1 (s) = G2 (s) =
s2 (s a2 ) + w2
Ejemplo A.7
La figura A.2 muestra un movil de masa m = 1000 kg desplazandose con una velocidad
v gracias a la accion de la fuerza u producida por su motor. Si se desprecia la inercia
de las ruedas y se asume que la fuerza de friccion bv es lo unico que se opone al
movimiento, donde b= 50 Ns/m es el coeficiente de friccion, entonces la dinamica
del sistema puede modelarse como:
dv(t)
mv(t) + bv(t) = u(t) v(t) =
dt
Determine la velocidad v(t) y la aceleracion v(t) del carro como respuesta a una
fuerza u(t) tipo escalon de 1 N. Considere que la fuerza comienza a actuar para una
velocidad inicial del carro de 2 m/s.
v velocidad
friccion
bv m u
Solucion: Teniendo en cuenta que v(0) = 2 m/s, V (s) = L[v(t)] y U (s) = L[u(t)],
apliquemos la propiedad de derivacion (2) de la Tabla A.2 en la ecuacion dinamica
del carro:
m(sV (s) v(0)) + bV (s) = U (s)
A.1 La Transformada Unilateral de Laplace 163
1/m v(0)
V (s) = +
s(s + b/m) s + b/m
donde hemos usado el hecho de que U (s) = 1s debido a que la entrada u es del tipo
escalon. La salida v(t) se determina usando la Tabla A.1. Para el primer termino de
V (s) empleamos la formula (14) con n = 1, mientras que para el segundo termino
empleamos la formula (3). Por consiguiente:
1 b b
v(t) = L1 [V (s)] = (1 e m t ) + v(0)e m t
b
La derivada de v(t) produce la aceleracion pedida:
1 b
v = [1 bv(0)] e m t
m
Ejemplo A.8
Empleando las propiedades del valor inicial y del valor final de la Tabla A.2, deter-
minar tales valores para la velocidad del movil del problema anterior.
Solucion: El valor inicial de v(t) se determina de:
Y (s) K
=
U (s) s + 1
Ejemplo A.9
Determinar la FT del movil del ejemplo A.7. Luego determine la velocidad v(t) del
movil partiendo de su FT, como respuesta a una fuerza u(t) tipo escalon de 1 N.
164 Matematica para Sistemas Continuos
V (s) 1/m
m[sV (s) v(0)] + bV (s) = (ms + b)V (s) = U (s); =
U (s) s + b/m
Observar que resulta una FT de primer orden. Como la entrada es un escalon unitario,
entonces U (s) = 1s . La salida se determina de:
1 1 1/m
v(t) = L [V (s)] = L
s(s + b/m)
1 b
v(t) = (1 e m t )
b
Ejemplo A.10
Empleando las propiedades del valor inicial y del valor final de la Tabla A.2, deter-
minar tales valores para la velocidad del movil del problema anterior.
Solucion: El valor inicial se determina de:
lm v(t) = lm sV (s) = 0
t0 s
B(s) R(s)
=k+
A(s) A(s)
R(s)
donde k es una constante y la fraccion A(s) resulta propia.
Ejemplo A.11
A.1 La Transformada Unilateral de Laplace 165
No G(s) g(t)
(1) 1 (t)
1
(2) s (t)
1
(3) s+a eat
(4) s2 + 2
sen t
s
(5) s2 + 2
cos t
s cos sen
(6) s2 + 2
cos(t + )
(7) (s+a)2 + 2
eat sent
(s+a)
(8) (s+a)2 + 2
eat cost
(s+a)cossen
(9) (s+a)2 + 2
eat cos(t + )
s [at2+(2+at)eat ]
(15) s2 (s+a)2 a3
1
(16) (s+a)(s+b) (eat ebt )/(b a)
s
(17) (s+a)(s+b) (bebt aeat )/(b a)
s 1 beat aebt
(18) s(s+a)(s+b) ab 1 ba
s t 1 a 1 1 at 1 bt
(19) s2 (s+a)(s+b) ab a2 b
b2
+ ba a2
e b2
e
1 eat ebt ect
(20) (s+a)(s+b)(s+c) (ba)(ca) + (ab)(cb) + (ac)(bc)
s aeat bebt cect
(21) (s+a)(s+b)(s+c) (ba)(ca) + (ab)(cb) + (ac)(bc)
166 Matematica para Sistemas Continuos
No G(s) g(t)
p
d = n 1 2
= n
1
p
T1,2 = n ( 2 1)
3s + 2 C D E F
2
= + + 2
+
s(4s + 3)(2s + 5) s 4s + 3 (2s + 5) (2s + 5)
7s2 2s + 1 Cs + D Es + F H
2 2
= 2 2
+ 2 +
(s + 2s + 4) (s + 1) (s + 2s + 4) s + 2s + 4 s + 1
s2 9 8 C D
2
=1 =1 +
s 1 (s + 1)(s 1) s+1 s1
A manera de ilustracion, el valor de H del segundo ejemplo se calcula multiplicando
ambos miembros de la igualdad por el factor (s + 1), para poder aislar H. La relacion
resultante se evalua con la solucion de la ecuacion (s + 1) = 0; es decir, se evalua en
A.1 La Transformada Unilateral de Laplace 167
No Descripcion Propiedad
s = 1 como sigue:
2
(7s 2s + 1)(s + 1) (Cs + D)(s + 1) (Es + F )(s + 1) 10
H= 2 2
2 2
+ 2
=
(s + 2s + 4) (s + 1) (s + 2s + 4) s + 2s + 4 s=1 9
Ejemplo A.12
El programa fracp1.m descompone en fracciones parciales las expresiones:
B(s) s2 16 N (s) s+6 s+6
= 2 = = 2
A(s) s 1 M (s) (s 2)2 s 4s + 4
% fracp1.m DESCOMPOSICION EN FRACCIONES PARCIALES
clear all; close all; clc;
B = [1 0 -16]; A = [1 0 -1]; % PRIMER CASO
[r,p,k] = residue(B,A); % r = [7.5;-7.5]; p = [-1;1]; k = 1
M = [1 6]; N = [1 -4 4]; % SEGUNDO CASO
[rr,pp,kk] = residue(M,N); % rr = [1;8]; pp = [2;2]; kk = 0;
Por consiguiente:
B(s) 7.5 7.5 N (s) 1 8
= + +1 = +
A(s) s+1 s1 M (s) s 2 (s 2)2
Ejemplo A.13
Hallar la transformada inversa de Laplace de:
B(s) s4 + 2s3 + 3s2 + 2s + 1
G(s) = = 4
A(s) s + 4s3 + 7s2 + 6s + 2
Solucion: El programa fracp2.m calcula los vectores r, p y k:
r = [ r1 ; r2 ; rj ; rj+1 ] = [ 0.5i ; 0.5i ; 2 ; 1 ]
p = [ p1 ; p2 ; pj ; pj+1 ] = [(1 + i) ; (1 i) ; 1 ; 1] k=1
Dado que todas las races en el vector r son distintas:
r1 r2 rj rj+1
G(s) = k + + + +
s p1 s p2 s pj (s pj )2
0.5i 0.5i 2 1
= 1+ + + +
s + 1 i s + 1 + i s + 1 (s + 1)2
Es facil demostrar que:
0.5i 0.5i 1 2 1 n2
+ = =
s+1i s+1+i 2 (s2 + 2s + 2) 2 s2 + 2n s + n2
donde, por igualacion: n = 2, = 1/ 2. Por consiguiente:
1 2 2 1
G(s) = 1 + + +
2 (s + 2s + 2) s + 1 (s + 1)2
2
Empleando los pares (1), (29), (3) y (12) de la Tabla A.1, con n = 1, se obtiene:
1 1 n2 n2 t
L [1] = (t) L = e sen d t
s2 + 2n s + n2 d
1 1
L1 = et L1 = tet
s+1 (s + 1)2
donde, d = 1 y = 1, se calcularon empleando las formulas al final de la continuacion
de la Tabla A.1. Por consiguiente, juntando los resultados anteriores se obtiene:
g(t) = (t) + et sen t 2et + tet
A.2 Matrices y Determinantes 169
Ejemplo A.14
T
y1 (q) y1 (q)
yT (q) = ... y(q) = ...
yn (q) yn (q)
donde el superndice T indica la operacion transpuesta, la cual transforma las colum-
nas en filas y viceversa.
Por ejemplo, la siguiente multiplicacion es valida: A23 B31 = C21 , tal como se
observa a continuacion.
b11
a11 a12 a13 c11 a11 b11 + a12 b21 + a13 b31
b21 = =
a21 a22 a23 c21 a21 b11 + a22 b21 + a23 b31
b31
A = [aij ] = [aij ]
La multiplicacion es asociativa:
y distributiva:
(A + B)(C + D) = AC + AD + BC + BD
Cuando AB = BA, se dice que A y B son matrices que conmutan. Sin embargo, en
general, la multiplicacion no es conmutativa; es decir:
AB 6= BA
Ejemplo A.15
A.2 Matrices y Determinantes 171
(A ) = A; (A + B) = A + B ; (AB) = A B
AH = (A )T = (AT )
Por consiguiente:
Si A es una matriz real; es decir, si todos sus elementos son reales, entonces A = A
y AH = (A )T = AT .
Ejemplo A.16
Solucion:
1 0 2
A = A A H = AT = 2 4 6
3 2 9
1j j 2j 1+j 3 3j
BT = 3 4 6+j B = j 4 2 j
3 + j 2 + j 9 2+j 6j 9
1+j j 2+j
H T
B = (B ) = 3 4 6j
3 j 2 j 9
Una matriz cuadrada se denomina matriz diagonal cuando los elementos que no
pertenecen a su diagonal son todos ceros:
d11 0 0 . . . 0
0 d22 0 . . . 0
D = [dii ] = . .. .. ..
.. . . .
0 0 0 . . . dnn
Una matriz compleja cuadrada A puede ser escrita como la suma de una matriz
hermitiana B = 12 (A + AH ) mas otra matriz antihermitiana C = 12 (A AH ). Es
decir:
1 1
A = B + C = (A + AH ) + (A AH )
2 2
Ejemplo A.17
Solucion:
H 1j 6j
T
A = (A ) =
2+j 5+j
1 H 1 4j
B = (A + A ) = BH = (B )T = B
2 4+j 5
1 H j 2
C = (A A ) = CH = (C )T = C
2 2 j
Matriz inversa
Si A y B son dos matrices no singulares; es decir, si det(A) 6= 0 y det(B) 6= 0,
entonces:
(AB)1 = B1 A1 ; (AT )1 = (A1 )T
1
((A )T )1 = ((A1 ) )T ; det(A1 ) =
det(A)
Si A es una matriz no singular de orden 2, vale recordar que:
a b 1 1 d b
A= ; A = (A.19)
c d ad bc c a
Del mismo modo, si A es una matriz no singular de orden 3:
a b c
A= d e f
g h i
e f b c b c
det det det
h i h i e f
1 d f a c a c
1
A = det det det (A.20)
det(A)
g i g i d f
d e a b a b
det det det
g h g h d e
det(A) = aei + gbf + cdh gec ahf idb
Ejemplo A.18
La Tabla A.3 muestra los comandos para ejecutar operaciones matriciales con
MATLAB.
Cantidades Complejas
Sea G = Gr + jGi un numero o funcion compleja donde <e[G] = Gr es su parte
real e =m[G] = Gi es su parte imaginaria. El valor absoluto o modulo o magnitud
de G se denota como |G| mientras que el angulo o argumento de G se expresa como
G. Luego, G se puede formular como:
Ejemplo A.19
4j
127
5
1 1
3 60
2
135
2
j
3j
Ejemplo A.20
Solucion: El programa calmat.m calcula la matriz B pedida. Ademas, por ser her-
mitiana: M = MH , y por ser antihermitiana: N = NH . Entonces basta comprobar
que M MH = 0 y que N + NH = 0.
A.2 Matrices y Determinantes 177
Ejemplo A.21
La condicion necesaria para realizar el producto Cnp = Anm Bmp empleando parti-
ciones, es que las columnas de A y las filas de B sean particionadas en la misma
forma. Por lo tanto, n = n1 + + nn , m = m1 + + mm y p = p1 + + pp .
Ejemplo A.22
Ejemplo A.23
Ejemplo A.26
Ejemplo A.27
rango(A) mn(n, m)
rango(A) = rango(AH )
rango(AB) min(rango(A), rango(B))
rango(CB) = rango(B)
Eigenvalores y Eigenvectores
Un eigenvalor de una matriz de orden n, conocido tambien como valor propio,
modo, eigenvalue, o raz caracterstica, es un escalar que permite una solucion no
trivial de la ecuacion:
Ax = x (A.22)
Factorizando x en (A.22) obtenemos la ecuacion caracterstica de A:
det(I A) = 0 (A.23)
Ejemplo A.28
A.2 Matrices y Determinantes 181
Ejemplo A.29
Ejemplo A.30
det(A) = 1 2 . . . n ; i = 1, . . . , n
Pseudoinversas
El concepto de pseudoinversa de una matriz es la generalizacion de su inversa y
resulta util para encontrar una solucion en un conjunto de ecuaciones algebraicas en
donde el numero de variables desconocidas y el numero de ecuaciones linealmente
independientes no son iguales. Sea la ecuacion:
Ax = b
Ejemplo A.32
Ejemplo A.33
dx
= x = Ax + Bu
dt
en otro sistema descrito por la ecuacion:
dx
= x = A x + B u
dt
donde: x = Ex es una transformacion lineal, A = E1 AE = y B = E1 B.
Esta transformacion se denomina canonica.
Por otro lado, si A es una matriz de orden n de rango completo que posee eingen-
valores repetidos, entonces A se puede diagonalizar mediante la relacion E 1 AE = .
Sin embargo, la matriz de eigenvectores E no es unitaria (EH 6= E1 ).
184 Matematica para Sistemas Continuos
Ejemplo A.34
Ejemplo A.35
En el programa siguiente se diagonalizan varias matrices de rango completo.
% diagmat.m DIAGONALIZACION DE MATRICES DE RANGO COMPLETO
clear all; close all; clc;
A1 = [2 2 -1;2 3 0;-1 0 2]; n1 = 3; % rank(A1) = 3 (RANGO COMPLETO)
[E1,D1] = eig(A1); DD1=inv(E1)*A1*E1;
% D1=DD1=diag(4.7093,2.1939,0.0968), RA ICES NO REPETIDAS => inv(E1)=E1
A2 = [-2 -1 -1 -1 2;1 3 1 1 -1;-1 -4 -2 -1 1;-1 -4 -1 -2 1;...
-2 -2 -2 -2 3]; n2 = 5; % rank(A2) = 5 (RANGO COMPLETO)
[E2,D2] = eig(A2); DD2=inv(E2)*A2*E2;
% D2 = DD2 = diag(-1,1.5+0.866i,1.5-0.866i,-1,-1)
% DOS RAICES REPETIDAS => inv(E2) ~= E2
A3 = [-2 3 3 -1 -6 -2;1 0 -1 0 2 1;1 -2 0 1 2 0;1 1 -1 -1 2 1;...
1 -2 -1 1 3 1;1 0 -1 0 2 0]; n3 = 6; % rank(A3)=6 (RANGO COMPLETO)
[E3,D3] = eig(A3); DD3=inv(E3)*A3*E3;
% D3 = diag(-1,-1,1,1,1,-1), TRES RAICES REPETIDAS => inv(E3) ~= E3
d
d
cd
c qi
c
A
ee qo
Sensor de presin
x = Ax + Bu y = Cx + Du (A.32)
186 Matematica para Sistemas Continuos
xn1 = Ann xn1 + Bnm um1 yp1 = Cpn xn1 + Dpm um1
Ejemplo A.36
La Fig. A.5 muestra un sistema masaresorte compuesto por una masa M unida
a un resorte de constante K. Determinar analtica y graficamente su plano de fase
mostrando las correspondientes trayectorias de estado y sus puntos de equilibrio.
Notar que el sistema masaresorte es no forzado porque no existe fuerza exterior
alguna actuando sobre el mismo.
z
K=1
M=1 z0
x1 = x2 x2 = x1 y = x1
A.3 Variables de Estado 187
Por consiguiente, las ecuaciones de estado y salida del sistema masaresorte son:
x = Ax y = Cx
x1 x1 0 1
x = x= A= C= 1 0
x2 x2 1 0
Asumamos que estiramos el resorte hasta que M se encuentre en la posicion inicial
z0 . Luego soltamos el resorte, lo cual produce un movimiento oscilatorio que puede
modelarse como z(t) = z0 cos t. Es facil comprobar que la solucion z(t) = z0 cos t
verifica el modelo dinamico dado en (A.33). Usando las variables de estado definidas
anteriormente resulta:
x1 (t) = z0 cos t x2 (t) = z0 sen t
Elevando al cuadrado y sumando se obtiene:
x21 + x22 = z02 (cos2 t + sen2 t) = z02
La ultima ecuacion representa un crculo de radio z0 . Por consiguiente, las trayectorias
de estado en el plano de fase x1 versus x2 son crculos cuyos radios dependen de la
posicion inicial de reposo z0 . tales trayectorias se muestran en la Fig. A.6. Para
obtener dichas trayectorias de fase, ejecutar el programa pfl.m.
Los eigenvalores del sistema masaresorte se determinan de:
1
det(I A) = det = 2 + 1 = 0
1
Por lo tanto: 1 = i, 2 = i, ambas races imaginarias, lo cual nos informa del
caracter oscilante de la respuesta del sistema, tal como se discute en la siguiente
seccion. El unico punto de equilibrio xe = 0 del sistema se determina de:
e
x1 0
xe = Axe = 0 xe = =
xe2 0
% C2pfl.m PLANO DE FASE EN UN SISTEMA LINEAL
clear all; close all; clc;
g = inline([x(2);-x(1)],t,x); % MODELO MATEM ATICO
vectfield(g,-1:0.2:1,-1:0.2:1) % RANGOS DE LOS EJES HORIZONTAL Y VERTICAL
hold on
for x20=-1:0.2:1 % SIMULACION PARA ESTAS CONDICIONES INICIALES DE y(2)
[ts,xs]=ode45(g,[0,10],[0;x20]); % [0,10]: SIMULACI ON DE 0 A 10 s
plot(xs(:,1),xs(:,2)); grid;
end
hold off, ylabel(x2(t)), xlabel(x1(t)),
title(PLANO DE FASE x2(t) VS x1(t)), print -deps -f C2pfl
PLANO DE FASE x1 VS x2
0.8
0.6
0.4
0.2
VELOCIDAD x2
0.2
0.4
0.6
0.8
Fig. A.6: Plano de fase mostrando las trayectorias de estado (Ejemplo A.36).
x = Ax + Bu
y = Cx + Du (A.35)
Ejemplo A.37
y1 = x1 5u2 y2 = x2 3u1
A.3 Variables de Estado 189
x = Ax + Bu y = Cx + Du
x1 y1 u1
x= ; y= ; u=
x2 y2 u2
1 1 2 1 1 0 0 5
A= ; B= ; C= ; D=
2 3 1 2 0 1 3 0
El programa mtrans.m determina la MT pedida. El resultado es:
2s+7 5s2 +21s+10
2 s2 +4s+1
s +4s+1
G(s) = C(sI A)1 B + D =
2
3ss2 +13s+8
+4s+1
2s+4
s2 +4s+1
Estabilidad
Cuando las senales y y u son unidimensionales, la ecuacion (A.37) se convierte en
la FT del sistema SLIT y se puede representar como la relacion entre dos polinomios
A(s) y B(s) como sigue:
y(s) B(s)
= G(s) = [C(sI A)1 B + D] = (A.38)
u(s) A(s)
Notar que todas las funciones de transferencia de la matriz G del ejemplo A.37
poseen un mismo denominador comun: el polinomio A(s) = s2 +4s+1. Este polinomio
es tambien la ecuacion caracterstica del sistema multivariable, siendo sus eigenvalores
s1 = 3.7321 y s2 = 0.2679. Por consiguiente, tal sistema es estable.
El sistema no forzado x = Ax posee un solo punto de equilibrio: el origen, debido
a que la solucion de x = Ax = 0 es xe = 0. Por consiguiente, un SLIT no forzado
es estable, cuando el estado x del sistema tiende al estado de equilibrio xe = 0
190 Matematica para Sistemas Continuos
para cualquier estado inicial finito x(t0 ), donde t0 es el tiempo inicial. Por ejemplo,
el sistema de primer orden x = a x donde a > 0, es inestable porque su solucion
x(t) = x(0)eat no tiende al estado de equilibrio xe = 0 cuando t para cualquier
estado inicial x(0).
x = E1 AEx + E1 Bu = x + B u (A.41)
A.3 Variables de Estado 191
j x2 j x2
x1 x1
1 2 1 2
(a) (b)
j x2 j x2
1
x1 x1
1 2
2
(c) (d)
j x2 j x2
1
1
x1 x1
2
2 (f)
(e)
Fig. A.7: Tipos de puntos singulares en un sistema lineal de segundo orden: (a)
nodo estable, (b) nodo inestable, (c) punto silla de montar, (d) foco estable, (e) foco
inestable, (f) punto centro.
x1 1 0 x1 b11 b12 b1m u1
x2 2 x2 b21 b22 b2m u2
.. = .. .. + .. .. .. .. ..
. . . . . . . .
xn 0 n xn bn1 bn2
bnm um
de donde claramente se observa que ninguna fuerza de control esta actuando sobre
la variable x2 .
Ejemplo A.38
Observabilidad Completa
Un sistema SLIT es completamente observable si algun estado x(t), incluyendo el
estado inicial x(t0 ), se puede determinar partiendo de la observacion de la salida y(t)
en un tiempo finito t0 t t1 . La observabilidad completa en un sistema es de suma
importancia porque permite reconstruir las variables de estado no medibles partiendo
del vector medible y(t). Sin demostracion se establece la condicion de estabilidad
completa. Para que un sistema sea completamente observable, es necesario que el
rango de la denominada matriz de observabilidad N de dimension np p :
C
CA H
N= .. = CH AH CH (AH )n1 CH (A.43)
.
CAn1
Entonces, para que el sistema SLIT sea completamente observable, ninguna de las
columnas de la matriz CE de orden p n debe de ser nula. Si alguna columna i fuera
nula, entonces no se podra reconstruir completamente el vector de estado x, lo que
se contrapone a la definicion de observabilidad completa.
A.3 Variables de Estado 193
Ejemplo A.39
En el programa observ1.m se determina la observabilidad completa de varios SLITs.
% observ1.m OBSERVABILIDAD COMPLETA DE SLITs
clear all; close all; clc;
A1 = [2 0 0;0 2 0;0 3 1]; B1 = [0 1;1 0;0 1]; C1 = [1 2 1;2 0 3]; n1 = 3;
[E1,D1] = eig(A1); DD1 = inv(E1)*A1*E1; % D1 = diag(2,1,2)
N1 = obsv(A1,C1); % RETORNA MATRIZ DE OBSERVABILIDAD [C1; C1*A1; C1*A1^2]
rankN1=rank(N1); % rankN1=3=n1 => SISTEMA COMPLETAMENTE OBSERVABLE
A2 = [-1 1 -1;0 1 -4;0 1 -3]; B2 = [0 2 1]; C2 = [0 1 -1]; n2 = 3;
[E2,D2] = eig(A2); DD2 = inv(E2)*A2*E2; % D2 = diag(-1,-1,-1)
N2 = obsv(A2,C2); % RETORNA MATRIZ DE OBSERVABILIDAD [C2; C2*A2; C2*A2^2]
rankN2=rank(N2); % rankN2=2<n2 => SISTEMA NO ES COMPLETAMENTE OBSERVABLE
A3 = [2 2 -1;2 3 0;-1 0 2]; B3 = [0 1;1 0;0 1]; C3 = [1 2 1;2 0 3]; n3=3;
[E3,D3] = eig(A3); DD3 = inv(E3)*A3*E3; % D3 = diag(0.0968,2.1939,4.7093)
N3 = obsv(A3,C3); % RETORNA MATRIZ DE OBSERVABILIDAD [C3; C3*A3; C3*A3^2]
rankN3=rank(N3); % rankN3=3=n3 => SISTEMA COMPLETAMENTE OBSERVABLE
donde:
X A (t t0 ) A2 (t t0 )2 A3 (t t0 )3
(tt0 ) = eA(tt0 ) = = I+A(tt0 )+ + +
! 2! 3!
=0
(A.46)
es la matriz de transicion o exponencial. La derivada total de e A(tt 0 ) resulta:
deA(tt0 ) A3 (t to )2
= A + A2 (t to ) + +
dt 2!
A2 (t t0 )2
= A I + A(t t0 ) + + +
2!
= AeA(tt0 ) = eA(tt0 ) A (A.47)
Derivando ahora (A.45) con respecto al tiempo t se obtiene:
Z
A(tt0 ) d At t A
x = Ae x(t0 ) + e e Bu( )d
dt t0
Z t
A(tt0 )
= Ae x(t0 ) + Ae At
eA Bu( )d + eAt eAt Bu = Ax + Bu
t0
194 Matematica para Sistemas Continuos
y(s) = Cx(s) + Du(s) = C(sI A)1 x(t0 ) + [C(sI A)1 B + D]u(s) (A.49)
Comparando (A.48) con (A.45) podemos afirmar que:
Ejemplo A.40
1 u(t)
t
0 1 2 3 4
5 5
x(t) = 3e2t + [7 t 6e2(1t) ]; x(3) = 3e6 + (4 6e4 )
8 8
Para t 3 , u(t) = 0, t0 = 3 y x(t0 ) = x(3). Luego:
x(t) = x(3)e2(t3)
2.5
RESPUESTA x(t)
1.5
0.5
0
0 1 2 3 4 5 6 7 8 9 10
TIEMPO EN SEGUNDOS
Fig. A.9: Respuesta x(t) de un SLIT de primer orden a una entrada arbitraria u(t).
Ejemplo A.41
Dado u(t) = 3et , determinar la respuesta de un sistema descrito por las siguientes
ecuaciones de estado y de salida:
Segun la Tabla A.1: u(s) = L[3et ] = 3/(s + 1). Luego, x(s) (ecuacion (A.48)) e y(s)
(ecuacion (A.49)) toman la forma:
1
1
s + 7 1 6
s + 7 1 2
x(s) = + u(s)
12 s 12 1
s 1
1 s 1 6 2 3
= 2 +
s + 7s + 12 12 s + 7 1 1 s+1
" 2 #
6s +s2
(s+1)(s+3)(s+4)
= s2 +77s14
(s+1)(s+3)(s+4)
" #
6s2 +s2
(s+1)(s+3)(s+4) 3
y(s) = Cx(s) + Du(s) = 3 4 s2 +77s14 2
(s+1)(s+3)(s+4)
s+1
22s2 305s + 50 6 297/6 767/2 918/3
= = + +
(s + 1)(s + 3)(s + 4) s + 1 s+1 s+3 s+4
297 t 767 3t 918 4t
y(t) = e + e + e , t0
6 2 3
Las respuestas mostradas en la Fig. A.10 se realizaron con el programa crpta.m.
Notar que se emplea la siguiente aproximacion de la derivada:
x(k + 1) x(k)
x
= = Ax + Bu x = x + T (Ax + Bu)
T
Ejemplo A.42
A.3 Variables de Estado 197
20
T1 = 0.1 s
10
T2 = 0.04 s
RESPUESTAS
10
y(t)
20
30
40
50
0 2 4 6 8 10
TIEMPO [s]
En el ejemplo anterior sean u1 (t) = 3et , u2 (t) = 2u1 (t) y u3 (t) = u1 (t) + u2 (t) y
sean las salidas respectivas y1 (t), y2 (t) e y3 (t). El programa C2prosup.m demuestra
graficamente (ver figura A.11) los principios de proporcionalidad: y 2 (t) = 2y1 (t), y
de superposicion: y3 (t) = y1 (t) + y2 (t).
Ejemplo A.43
En el sistema de la Fig. A.12 ya se han definido las variables de estado xi del sistema,
las cuales se han fijado a la salida de cada bloque de primer orden. Para este sistema:
(a) Determinar su ecuacion de estado y su ecuacion de salida. (b) Hallar su matriz
de transferencia. (c) Determinar si el sistema es estable. (d) Hallar la controlabilidad
completa, la controlabilidad completa en la salida y la observabilidad completa del
sistema. (e) Usar (A.50) para determinar su matriz de transicion con t 0 = 0. (f) De-
terminar y(t) para x(t0 ) = 0 usando (A.49). (g) Graficar las respuestas y1 (t) e y2 (t)
a entradas tipo escalon unitario.
198 Matematica para Sistemas Continuos
80
70
y3 = y1 + y2
60
50
y2 = 2y1
RESPUESTAS
40
30
20 y1
10
10
20
0 0.5 1 1.5 2 2.5 3 3.5 4
TIEMPO [s]
1 x1
u1 s+1
x4 y1
4
s+4
u2 2 x2
s+2
x5 y2
5
s+5
u3 3
s+3 x3
Solucion: (a) Del diagrama de bloques se puede comprobar que las salidas y1 e y2
poseen las expresiones:
y1 = x 2 + x 3 + x 4 x 5 + u 3 y2 = x 1 x 2 + x 5 + u 2 (A.51)
Operando en el bloque que tiene como salida la variable de estado x1 , se obtiene:
1
x1 = (u1 y1 ) (s + 1)x1 = x1 + x1 = u1 y1
s+1
Reemplazando y1 de (A.51) en la ultima expresion, se obtiene:
x1 = x1 x2 x3 x4 + x5 u3 (A.52)
Operando del mismo modo con los otros bloques resultan:
(s + 2)x2 = 2(u2 x2 ) x2 = 4x2 + 2u2
A.3 Variables de Estado 199
! !
1 39 5 3 183 5 t 7 99 5 t 7
y2 = e3t + e5t e4t + e 2 cos t 7e 2 sen t
2 4 16 2 16 2 112 2
Por otro lado, la Fig. A.13 muestra las respuestas y1 (t) e y2 (t) (Out(1) y Out(2) en
el grafico) a los escalones u1 = 1, u2 = 1 y u3 = 1 (In(1), In(2) e In(3) en el grafico)
obtenidas con el comando step de MATLAB. Ejecutar el archivo va.m.
200 Matematica para Sistemas Continuos
y(s) b0 sn + b1 sn1 + + bn b0 + b1 s1 + + bn sn
G(s) = = n = (A.55)
u(s) s + a1 sn1 + + an 1 + a1 s1 + + an sn
y(s)
= G(s) = [C(sI A)1 B + D]
u(s)
Step Response
0.5
To: Out(1)
0.5
Amplitude
1.5
1
To: Out(2)
0.5
0
0 1 2 3 0 1 2 3 0 1 2 3
Time (sec)
n = bn a1 n1 an1 1 an 0
202 Matematica para Sistemas Continuos
donde las races pi (los eigenvalores del sistema) son no repetidos, las constantes ci
se pueden hallar en la forma acostumbrada a partir de:
ci = lm [(s pi )G(s)]
spi
Ejemplo A.44
beta4 = b4-a1*beta3-a2*beta2-a3*beta1-a4*beta0;
beta5 = b5-a1*beta4-a2*beta3-a3*beta2-a4*beta1-a5*beta0;
beta6 = b6-a1*beta5-a2*beta4-a3*beta3-a4*beta2-a5*beta1-a6*beta0;
Acc = [0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
-a6 -a5 -a4 -a3 -a2 -a1];
Bcc = [beta1;beta2;beta3;beta4;beta5;beta6];
Ccc = [1 0 0 0 0 0]; Dcc =[beta0];
% 1RA FORMA CANONICA OBSERVABLE: dx/dt = Aco*x + Bco*u; y = Coo*x + Doo*u
Aoo = [0 0 0 0 0 -a6
1 0 0 0 0 -a5
0 1 0 0 0 -a4
0 0 1 0 0 -a3
0 0 0 1 0 -a2
0 0 0 0 1 -a1];
Aco = [b6-a6*b0;b5-a5*b0;b4-a4*b0;b3-a3*b0;b2-a2*b0;b1-a1*b0];
Cco = [0 0 0 0 0 1]; Dco=[b0];
% FORMA CANONICA DE JORDAN: dx/dt = Aj*x + Bj*u; y = Cj*x + Dj*u
[c,p,k] = residue(B,A); % EXPANSION EN FRACCIONES PARCIALES
% c = [-1.89 3.6133 -1.0136 0.1111 -5.8233 -0.5323];
% p = [-2 0.5 0.5 0.5 -0.4 -0.4]; k = 1;
c1=c(1); c2=c(2); c3=c(3); c4=c(4); c5=c(5); c6=c(6);
p1=p(1); p2=p(2); p2=p(3); p2=p(4); p3=p(5); p3=p(6);
Aj = [p1 0 0 0 0 0
0 p2 1 0 0 0
0 0 p2 1 0 0
0 0 0 p2 0 0
0 0 0 0 p3 1
0 0 0 0 0 p3];
Bj = [1;0;0;1;0;1];
Cj = [c1 c2 c3 c4 c5 c6]; Dj = [k];
Ejemplo A.45
T t=iT T t=iT
(a) (b)
Fig. A.14: (a) Aproximacion del area bajo la curva e(t) mediante rectangulos. (b)
Mediante trapezoides.
Ejemplo A.46
Determinar la ecuacion de diferencias de la siguiente integral usando tanto aproxi-
macion rectangular como trapezoidal.
Z t
u(t) = e( )d
0
Solucion: Si empleamos sumatoria de rectangulos para aproximar el area debajo de
la curva e(t), se obtiene:
k
X k
X k1
X
u(kT ) T e(iT ) = T e(iT ) = T e(iT ) + T e(kT ) = u(kT T ) + T e(kT )
i=0 i=0 i=0
Discretizacion de la Derivada
Terminos que contengan derivadas pueden discretizarse empleando diferencias
por atraso:
de(t) e(kT ) e(kT ) e(kT T ) e(k) e(k 1)
= e(t) = =
dt T T T
de(t) e(kT ) e(t) e(t T ) e(kT ) e(kT T )
= e(t) = =
dt T T T2
e(k) e(k 1) [e(k 1) e(k 2)] e(k) 2e(k 1) + e(k 2)
= 2
=
T T2
..
. (A.66)
Ejemplo A.47
donde:
T TD TD TD
q0 = K c 1 + + ; q1 = Kc 1 + 2 ; q2 = K c
Ti T T T
1 1 num(s)
e s = 1 s + (s )2 (s )3 + =
!2 !3 den(s)
Con una aproximacion de tercer orden podemos acomodar retardos de fase de hasta
200o (3.5 rad) [12], lo cual es suficiente para capturar el efecto del tiempo muerto en
muchas aplicaciones. Tal aproximacion tiene la forma:
Ejemplo A.48
y(s) 10 5.8s
= e
u(s) 2s + 1
Step Response
10
6
Amplitude
exp(sD)
0
Pad de 3er orden
2
0 5 10 15 20 25
Time (sec)
Ejemplo A.49
Linealizar la siguiente taza de reaccion rA para el punto de operacion (T , C A ):
E
rA = k0 e RT CA
210 Matematica para Sistemas Continuos
r A = r A + C 1 t + C 2 cA t=T T c A = CA C A
E
r A = k0 e CA
RT
rA rA
C1 = C2 = (A.74)
T (T =T ) CA (CA =C A )
Del mismo modo, la ecuacion de salida del sistema se puede formular como:
g g
y= x+ u (A.77)
X (X,U) U (X,U)
Por consiguiente, las formas linealizadas de (A.76) y (A.77) se puede expresar como:
x = Ax + Bu y = Cx + Du (A.78)
Ejemplo A.50
La Fig. A.16 muestra dos tanques identicos colocados en cascada. La seccion hori-
zontal S=9 m2 de cada tanque es constante. El objetivo de control es estabilizar
(controlar) la altura H2 empleando como fuerza de control el flujo de alimentacion
Qo . Determinar el modelo linealizado de este sistema hidraulico, su estabilidad y su
funcion de transferencia.
Q p
0 0
Tanque
H1
p 1
1
g
Q
p 1
0
Tanque
H2
p 2
2
Q
2
Y = h(X, U ) = X2
Observar que las ecuaciones anteriores poseen las formas dada en (A.75)):
X = f(X, U ) Y = h(X, U ) = X2
x1 = X 1 X 1 x2 = X 2 X 2 u=U U
Conociendo que U = 3 m3 /s, el estado estable del sistema se puede obtener de:
q
1 g
X1 = U X1 = 0
S S
q q
g
X2 = X1 X2 = 0
S
lo que resulta en:
2
U
X1 = X2 = 2 (A.80)
g
Aplicando el jacobiano, el sistema linealizado resulta:
x = A x + B u y = h(x, u) = x2 = C x D = [0]
donde:
" #
g
f1 f1 0
x1 2S
X1
x= ; A= X1
f2
X2
f2 = g
g
x2 X1 X2
(X 1 ,X 2 ,U ) 2S X1 2S X2
f1
U 1/S h h
B= f2 = ; C= = [0 1]
U
0 X1 X2 (X 1 ,X 2 ,U )
(X 1 ,X 2 ,U )
La estabilidad y la funcion de transferencia del sistema se computan con el programa
C2tqh.m.
A.7 Problemas 213
A.7. Problemas
Problema A.1
Problema A.2
Problema A.3
Problema A.4
Problema A.5
Problema A.6
Demostrar que la siguientes matriz es nilpotente:
1 3 4
A = 1 3 4
1 3 4
Problema A.7
Dada las matrices:
1 1 + i 2 + 3i i 1 + i 2 3i
A= 1i 2 i B = 1 + i 2i 1
2 3i i 0 2 3i 1 0
demostrar que A, iB y A son hermitianas, y que B y B son antihermitianas.
Problema A.8
Empleando matematica simbolica demostrar que:
n n
1 nn1
=
0 0 n
Problema A.9
Empleando matematica simbolica demostrar que las matrices:
2 3 2
a a 1 bcd a a a 1
b2 b 1 acd 3 2 1
A= B = b b b
c2 c 1 abd c c2
3 c 1
d2 d 1 abc d3 d2 d 1
poseen el mismo determinante: (a b)(a c)(a d)(b c)(b d)(c d).
Problema A.10
Empleando matematica simbolica hallar la derivada con respecto a x del determinante
de la matriz:
x 1 2
A = x2 2x + 1 x3
0 3x 2 x + 1 2
Problema A.11
Examine la dependencia o independencia lineal del siguiente conjunto de vectores. Si
el conjunto es dependiente, seleccione el maximo subconjunto linealmente indepen-
diente y exprese cada uno de los vectores dependientes como una combinacion lineal
de los independientes.
2 4 0 6
1 2 0 3
x1 =
3 ; x2 = 1 ; x3 = 5 ; x4 = 1
2 2 6 6
1 3 5 7
A.7 Problemas 215
Problema A.12
Problema A.13
Problema A.14
Problema A.15
Problema A.16
Problema A.17
donde u1 y u2 son las entradas, y1 e y2 son las salidas y x1 , x2 y x3 son las variables
de estado.
Problema A.18
Graficar la corriente i(t) que circula en un circuito serie RLC alimentado por una
batera E de 12 V, sabiendo que R = 100 , C = 1 F, L = 2 H, i(0) = 5 A y di(0)
dt = 5
A/s. Partiendo de la ecuacion caracterstica del circuito, determine la estabilidad, la
frecuencia natural de oscilacion y el coeficiente de amortiguamiento de dicho circuito.
Problema A.19
Una forma de determinar la estabilidad de un SLIT con entrada x(t) y salida y(t)
conociendo su funcion G(t) de respuesta al impulso (t), es evaluando la siguiente
condicion para estabilidad: Z
|G( )|d <
Rt
Por ejemplo, para un integrador y(t) = 0 x( )d con y(0) = 0, su respuesta al
Rt
impulso es: y(t) = G(t) = 0 ( )d = (t), que es la funcion escalon, la cual es igual
a 1 para t 1. El sistema es inestable porque:
Z Z
|G( )|d = |1|d =
0
Problema A.20
Problema A.21
Graficar para varios valores del cero c, la respuesta al escalon del sistema:
y(s) K(s + c)
= 2
u(s) s + 3s + 100
Problema A.22
Problema A.23
Problema A.24
y(s) s3 2s + 1
= 3
u(s) s 2s2 + 3s 4
Problema A.25
Problema A.26
Problema A.27
218 Matematica para Sistemas Continuos
r e a (s 1)
2
1 y
K 2 s
s +1
h At i
Sabiendo que: dedt = A, hallar la matriz de estado A de un sistema cuya matriz
t=0
de transicion es: t
2e cos(t + 0,7) 3et cos(t + 1,5)
et cos(t 1,5) 2et cos(t 0,7)
Problema A.28
dTi Ti T a
qR = q a q p qR = Ri2 qa = C t qp =
dt Rt
Problema A.29
R (s+7)(s+8)(s+9) Y
Kc + Ki/s
(s+1)(s+2)(s+3)(s+4)(s+5)
Problema A.30
A.7 Problemas 219
dT dTa
= A(T To1 )Fo B(T Ta ) = C(Ta To2 )Fo + D(Ta T )
dt dt
donde A = C = 0.08, B = D = 0.05. Tambien, Fo = 0.01 m3 /min, To1 = 280K y To2
= 350 K son perturbaciones tipo escalon.
Problema A.31
R Y
10e3t
Kc + Ki/s
4s+1
2e 2t
Problema A.32
1 x1
K1
r1 u 1
s+1
x4 y1
4
s+4
r2 u2 2 x2
K2
s+2
x5 y2
5
s+5
r3 3
K3
u3 s+3 x3
Problema A.33
Problema A.34
Elaborar un programa en MATLAB para graficar las respuestas P 1 (t), P2 (t) y P3 (t).
Problema A.35
graficar x(t) sabiendo que x(0) = 1 y u(t) es la rampa mostrada en la Fig. A.21.
u(t)
f 1 g
g f g f g f gf
gfg f g f g f gf
gfg f g f g f gf
gfg f g f g f gf
f
g f g f g f g fg
gfg f g f g f gf
gfg f g f g f gf
gfg f g f g f gf
gfg f g f g f gf
0 1 t
Problema A.36
x1 = 1, x2 = 1, u1 = 2, u2 = 1
hallar las ecuaciones de estado y de salida lineales del siguiente sistema no lineal y
determinar su estabilidad.
Problema A.37
u1 y1
1
4
s+1
u2 2 y2
6
s+2
Problema A.38
Para los sistemas de control mostrados en la Fig. A.23, elabore los respectivos pro-
gramas en Simulink. Por tanteo, determine los valores de P, I y D que debe de poseer
el bloque PID para que la salida y(t) siga a la senal escalon deseada r(t) en presencia
de la carga (o disturbio) n(t). Tambien debe de verificar que cuando r(t) es nulo, la
salida y(t) debe de tender a cero. La magnitud de r(t) es 10 veces la magnitud de
n(t).
4(s + 1)(s + 2)
(a) G(s) = e2s
(s + 3)(s + 4)(s + 5)(s + 6)
2(s + 1)
(b) G(s) = e3s
(s + 3)(s + 4)(s + 5)(s + 6)(s + 8)
s2 + 2s + 1 s
(c) G(s) = e
(s + 3)4
8
(d) G(s) = e4s
(s + 3)(s + 4)(s + 5)(s + 6)(s + 7)2 (s + 8)
222 Matematica para Sistemas Continuos
n(t)
r(t) y(t)
PID G(s)
Fundamentos de MATLAB y
Simulink
MATLAB es un lenguaje tecnico de computo de alto nivel e interactivo que puede ser
empleado para el desarrollo de algoritmos, visualizacion y analisis de datos y computacion
numerica. MATLAB se emplea mundialmente en diversas aplicaciones que incluyen proce-
samiento de senales e imagenes, telecomunicaciones, diseno de sistemas de control, prue-
bas y mediciones, modelado y analisis financiero y biologa computacional. MATLAB
tambien cuenta con una coleccion herramientas (Toolboxes) para propositos especficos,
disponibles por separado, los cuales permiten resolver ciertas clases de problemas en el
area de su aplicacion.
Simulink emplea un lenguaje en bloques y se usa para modelar, simular y analizar
sistemas dinamicos continuos, discretos o hbridos (combinacion de ambas). El modelo
del sistema puede ser lineal o no lineal y puede tener diferentes partes que se discreticen
o se actualicen a diferentes tiempos de muestreo. Esta herramienta permite validar los
modelos dinamicos existentes o aquellos construidos desde cero.
En este Apendice, una seccion esta dedicada a MATLAB y la otra a Simulink.
Todos los archivos de esta publicacion se pueden descargar del link DESCARGAS de
www.ctlima.com.
MATLAB. Los comandos escritos despues del prompt requieren de un ENTER para
que MATLAB los procese. El formato siguiente: >> help roots ENTER , es util
cuando se desea tener informacion de un determinado comando. En este caso partic-
ular, luego de presionar la tecla ENTER, la VC (Ventana de Comandos) muestra la
ayuda correspondiente al comando roots. En lo que sigue, la introduccion de la tecla
ENTER sera sobreentendida.
El comando format long le dice a MATLAB que se quiere trabajar con 15 dgitos
para doble precision y 5 dgitos para simple precision. Por ejemplo, escribiendo en
la VC: >> format long, 1/3, MATLAB devuelve 0.33333333333333, mientras
que >> format, 1/3 devuelve 0.3333.
Las operaciones fundamentales en MATLAB son suma a+b, resta a-b, multipli-
cacion a*b, division derecha a/b, division izquierda a\b y exponenciacion a^b. La
division izquierda se emplea mas con matrices. El resultado de la operacion a/b es
igual al resultado de b\a.
El orden de precedencia en las operaciones fundamentales es: ejecutar primero
el parentesis mas interno, luego los exponentes, despues la multiplicacion o division
(ambos tienen igual presedencia), y finalmente la suma y resta. Ejemplo:
>> 0.7854-(0.7854)^3/(1*2*3)+0.785^5/(1*2*3*4*5)...
-(0.785)^7/(1*2*3*4*5*6*7)
ans =
0.7071
Observar que los tres puntos al final de la primera fila indica que la sentencia continua
en la siguiente lnea.
MATLAB reconoce a las letras i y j como numeros imaginarios. Es decir: i =
1 y j = 1. Por ejemplo, >> 4i - 2j devuelve 0 + 2.0000i, mientras que
>> 8i-j4 devuelve Undefined function or variable j4.
Sabemos que la division sobre cero es infinito, mientras que la division 0/0 es
indeterminada. En notacion MATLAB >> 20/0 devuelve Inf , mientras que
>> 0/0 devuelve NaN, donde NaN esta por Not a Number.
A continuacion se describen otros comandos de utilidad general. Se recomienda
leer el help del comando antes de usarlo.
Hay tres formas de ejecutar el archivo m generado: (1) presionando la tecla F5;
(2) haciendo click en Debug Run en el menu del editor; (3) haciendo click
en el icono Run and Save del editor, el cual se ubica debajo de la lnea que
contiene el menu del editor.
B.1.4. Matematicas
Funciones Matematicas Comunes
% funcionesmat.m FUNCIONES MATEMATICAS COMUNES
clear all; close all; clc;
% APROXIMACIONES
x1=5.92;
r1=ceil(x1); % r1=6 (ceil REDONDEA HACIA INFINITO)
228 Fundamentos de MATLAB y Simulink
Vectores y Matrices
r12=(1:7); % r12=[1 2 3 4 5 6 7]
r13=[1:7]; % r13=[1 2 3 4 5 6 7]
r14=(1:3:10); % r14=[1 4 7 10] (ENTRE 1 Y 10 CON INCREMENTO 3)
r15=(1:4:10); % r15=[1 5 9] (ENTRE 1 Y 10 CON INCREMENTO 4)
r16=(50:-7:1); % r16=[50 43 36 29 22 15 8 1]
r17=linspace(2,6,3); % r17=[2 4 6] (LINEAL ENTRE 2 Y 6, 3 ELEM.)
r18=linspace(2,6,4); % r17=[2.0000 3.3333 4.6667 6.0000]
r19=linspace(2,6); % VECTOR LINEAL ENTRE 2 Y 6 CON 100 ELEM.
r20=logspace(0,2,4); % r20=[1.0000 4.6416 21.5443 100], VECTOR
% LOGARITMICAMENTE ESPACIADO 10^0 Y 10^2 CON 4 ELEM. EQUIDISTANTES
r21=logspace (0,2); % VECTOR LOG. ENTRE 10^0 Y 10^2 CON 50 ELEM.
% CONSTRUCCION DE ALGUNAS MATRICES
r22=zeros(3); % MATRIZ CUADRADA DE 3x3 LLENA DE CEROS
r23=zeros(2,5); % MATRIZ 2 x 5 DE CEROS
r24=ones(2,3); % MATRIZ 2 x 3 DE CEROS
r25=rand(2,4); % MATRIZ 2 x 4 DE NUMEROS ALEATORIOS ENTRE 1 Y 0
% CON DISTRIBUCION UNIFORME
r26=randn (2,5); % MATRIZ 2 x 5 DE NUMEROS ALEATORIOS, DISTRIBUCION
% NORMAL, MEDIA 0 Y DESVIACION 1: NORMAL(0,1)
r27=eye(2); % MATRIZ IDENTIDAD 2 X 2
r28=eye(4,2); % MATRIZ 4 X 2 DE 1s EN LA DIAGONAL, 0s EN EL RESTO
r29=magic(3); % MATRIZ MAGICA 3 x 3, CONTIENE NUMEROS 1 AL 3^2,
% DONDE: SUMA ELEM FILAS = SUMA ELEM COLUMNAS = SUMA ELEM DIAGONAL:
% 8 1 6
% 3 5 7
% 4 9 2
r30=hilb(3); % MATRIZ DE HILBERT 3 x 3
r40=invhilb(3); % INVERSA DE LA MATRIZ DE HILBERT 3 x 3
% OPERACIONES BASICAS CON MATRICES
P=[1 2;3 4]; Q=[1 1;0 1]; R=[1+i 2+2i;3+i 4+7i];
r41=P*Q; % r41=[1 3;3 7]
r42=P.*Q; % r42=[1 2;0 4] (MULTIPLICACION ELEMENTO A ELEMENTO)
r43=R; % CONJUGADA Y TRANSPUESTA DE R Y VICIVERSA
r44=R.; % TRANSPUESTA DE R
r45=P+2; % SUMA 2 A CADA ELEMENTO DE A
% FUNCIONES PARA OPERAR CON VECTORES
% SEAN LOS VECTORES: x = [x1 x2 x3]; y = [y1 y2 y3];
% PRODUCTO VECTORIAL:
% cross(x,y)=[(x2*y3-y2*x3) -(x1*y3-y1*x3) (x1*y2-y1*x2)]
x1 = [1 2 3]; y1 = [4 5 6]; xcy=cross(x1,y1); % xcy=[-3 6 -3]
% PRODUCTO ESCALAR: dot(x,y)=x1*y4+x2*y5+x3*y6
xdy=dot(x1,y1); % xdy=32
% FUNCIONES PARA EL ANALISIS DE MATRICES
v = [1 2 3];
% >> diag (v) % CREA MATRIZ DIAGONAL CON ELEMENTOS 1, 2 Y 3
M = [1 2 3 4; 7 8 9 2; 2 4 6 8];
r46=diag(M); % r46=[1;8;6]: VECTOR CON ELEMENTOS DE LA DIAGONAL
230 Fundamentos de MATLAB y Simulink
Polinomios
% polinomios.m POLINOMIOS
B.1 Fundamentos de MATLAB 231
Creacion de Funciones
La forma general de una funcion de dos variables es:
function[a,b]=nombre_funcion(x,y)
Por ejemplo, se desea crear la funcion de nombre calculos para calcular la suma
y la resta de dos numeros, vectores o matrices (x,y). Los resultados los devuelve en
[a,b]. Los listados del archivo calculos.m y el archivo usacalculo.m para usar calcu-
los.m se muestran a continuacion. Solo es necesario ejecutar el archivo usacalculos.m
para obtener los resultados.
Programacion
% programacion.m PROGRAMACION EN MATLAB
clear all; close all; clc;
% SENTENCIA FOR
for x = 1:5
disp(x toma el valor) % DEVUELVE x toma el valor PARA CADA x
disp(x) % DEVUELVE EL VALOR DE x
end
% SENTENCIA WHILE
a=3;
while a < 5
disp(a es menor que 5 porque su valor es:)
disp(a)
a = a + 1;
end
% SENTENCIA IF
b = 5;
if b == 0 % SE USA == PORQUE ES UNA EXPRESION LOGICA
disp (el valor de b es 0)
elseif b == 1
disp (el valor de b es 1)
elseif b == 2
disp (el valor de b es 2)
elseif b == 3
disp (el valor de b es 3)
else
disp (b no es ni 0 ni 1 ni 2 ni 3)
end
% GENERACION DE NUMEROS PRIMOS MENORES DE 100
disp(Estos son los numeros primos menores de 100)
disp(2)
for i=2:100
n=2;
while n <= sqrt(i)
if rem(i,n)==0
n=i;
B.1 Fundamentos de MATLAB 233
else n=n+1;
end
end
if n~=i disp(i)
end
end
B.1.5. Graficos
% graficas2D.m GRAFICAS EN 2 DIMENSIONES
clear all; close all; clc;
figure(1) % CREA figure(1)
x=[-2 -1 0 1 2 3]; y=[4 1 0 1 4 9]; z=[6 5 3 7 5 2];
w=[-2 -1 0 0.5 1.5 2.5];
plot(x,y,*,x,z,-), xlabel(eje x), ylabel(eje y),
title(x vs y), grid, text(1,4,HOLA>&$), axis([-3 3 -1 10]),
gtext(AQUI COLOCO TEXTO)
figure(2)
x1 = pi*(-1:0.01:1); y1=x1.*sind(x1); y2=cosd(x1);
y3=sin(x1).*exp(x1); y4=exp(-x1);
subplot(2,2,1), plot(X1,Y1), title (x1*seno(x1)*)
subplot(2,2,2), plot(x1,y2), title (cos(x1))
subplot(2,2,3), plot(x1,y3), title (sen(x1)*exp(x1))
subplot(2,2,4), plot(x1,y4), title (-exp(x1))
figure(3)
plot(x1,y1), title (x1*seno(x1)*),
hold on
plot (x1,y2), title (cos(x1)), plot (x1,y3),
title (sen(x1)*exp(x1)), hold off
figure(4)
subplot(221), fplot(sind(x),[0 180]),
title(sen(x) de 0 a 360 grados)
subplot(222), fplot(x^2*sin(1/x),[-0.05 0.05]),
title(x^2 * sin(1/x))
subplot(223), ezplot(exp(x)) % EASY PLOT DE exp(x)
subplot(224), ezplot(sin(t),cos(t),[0 pi])
figure(5)
subplot(2,1,1), ezplot(x^2 - y^2 - 1)
x3=[-2 0 2 0 -2]; y3=[4 8 4 0 4];
subplot(2,1,2), plot(x3,y3), fill(x3,y3,r) % r=RED
% >> pretty(f34)
Ra 1
M11 = J1 + Jeq + m2 L2 sen2 q2
nKm KA 4
Ra 1
M22 = J2 + Jeq + m2 L2
nKm KA 4
2
Ra n Km Kb
P11 = Beq +
nKm KA Ra
Ra 1
P12 = m2 L2 q1 senq2 cos q2
nKm KA 2
Ra 1
P21 = m2 L2 q1 senq2 cos q2
nKm KA 4
Ra n2 K m K b
P22 = Beq +
nKm KA Ra
Ra 1
d21 = m2 L2 gsenq2
nKm KA 2
El diseno de un controlador backstepping emplea el procedimiento descrito en la
seccion ??, que en forma breve establece hasta el nivel de simulacion:
(1) Definir las especificaciones de diseno y determinar el modelo no lineal del sis-
tema a controlar en la forma dada en (??).
(2) Determinar la ley de control backstepping dada en (??). Para ello, definir el
vector de referencias deseadas qd , formular el vector de error e y el vector qr :
e = z1 = q q d qr = qd Kz1
b se puede
donde Ld es una matriz diagonal con elemento ` positivos. El vector q
b La ley de control backstepping posee la forma:
calcular integrando q.
b qr + d(q) Kd (q
u = M(q)q + P(q, q) b qr ) K1 z1
Inicio
Lazo de control
k=1
Seales de referencia
Algoritmo de control
Almacenamiento de datos
SI
k < N?
NO
Grficos de resultados
P21 = -Ra*m2*L2*dq1*sin(q2)*cos(q2)/(4*n*Km*KA);
d21 = -Ra*m2*L2*g*sin(q2)/(2*n*Km*KA);
dq1 = dq1 + T*(u1 - P11*dq1 - P12*dq2- d11)/M11;
dq2 = dq2 + T*(u2 - P21*dq1 - P22*dq2- d21)/M22;
q1 = q1 + T*dq1; Q1(k) = q1;
q2 = q2 + T*dq2; Q2(k) = q2;
end % FINALIZA EL LAZO DE CONTROL
% GRAFICOS
ejex=linspace(0,N*T,N); % EJE DE TIEMPO
subplot(411)
plot(ejex,Qd1(1:N),ejex,Q1(1:N)), grid on
ylabel(POSICION q1 [rad])
subplot(412)
plot(ejex,U1(1:N)),grid on
xlabel(TIEMPO [S])
ylabel(CONTROL u1 [v])
subplot(413)
plot(ejex,Qd2(1:N),ejex,Q2(1:N)), grid on
ylabel(POSICION q2 [rad])
subplot(414)
plot(ejex,U2(1:N)), grid on
xlabel(TIEMPO [S])
ylabel(CONTROL u2 [v])
print -f -deps dfsimr % GENERA FIGURA dfsimr.eps
POSICIN q1 [rad]
1
0.5
0
0 5 10 15 20 25 30 35 40
CONTROL u1 [v]
50
50
0 5 10 15 20 25 30 35 40
TIEMPO [S]
POSICIN q2 [rad]
0.5
0
0 5 10 15 20 25 30 35 40
CONTROL u2 [v]
50
50
0 5 10 15 20 25 30 35 40
TIEMPO [S]
Fig. B.3: Resultado de la simulacion del sistema de control backstepping del MRE:
las posiciones de los brazos del manipulador siguen las senales de referencia deseada.
Simulink proporciona una gran variedad de demos para ilustrar las bondades de
este software. Para ingresar a los demos, hacer click en el boton Start ubicado en el ex-
tremo inferior izquierdo de la ventana MATLAB y luego ir a Start > Simulink > Demos.
244 Fundamentos de MATLAB y Simulink
disnl2_u
u
Mux
grfico
Seal u Proceso Mux
Seal v no lineal
disnl2_x1
x1
Referencia disnl2_r
r Conversin Observador r
de x a z no lineal
Por otro lado, el bloque Referencia r es una senal sinusoide que se arrastra desde su
ubicacion en la ventana SLB: Simulink > Sources > Sine Wave (Fig. B.8), hacia
la ventana de trabajo.
Haciendo doble click en cualquier subsistema, aparece una ventana con el con-
tenido del mismo. Por ejemplo, la Fig. B.9 muestra el contenido del subsistema Proce-
so no lineal. Sus componentes se arrastran desde la ventana SLB a la ventana de la Fig.
B.9. Observar en dicha Fig. que los crculos x1, x2 y x3 son las variables de salida del
sistema, mientras que el crculo u es la entrada. La entrada u se genera arrastrando la
elipse In1 ubicada en la ventana SLB: Simulink > Commonly Used Blocks > In1,
mientras que para las tres salidas se requiere arrastrar tres veces la elipse Out1 ubica-
da en la ventana SLB: Simulink > Commonly Used Blocks > Out1. El subsistema
Proceso no lineal se crea seleccionando con el click derecho todo el contenido de
la Fig. B.9 y luego tipeando Ctr + G o seleccionando en el menu de MATLAB:
Edit > Create Subsystem.
Los rectangulos u, x1 y r mostrados en la Fig. B.7, que sirven para almacenar
datos, se crean arrastrando tres veces el rectangulo To File ubicado en la ventana SLB:
Simulik > Sinks > To File. Haciendo doble click en cada rectangulo, se introduce
un nombre a eleccion por ejemplo, disnl2_u, disnl2_x1 y disnl2_r. En la Fig. B.7,
Scope es un graficador que se obtiene de la ventana SLB: Simulink > Sinks > Scope.
El procedimiento para obtener el resultado de este programa: los graficos de la salida
x1 controlada u la fuerza de control u, es el siguiente:
3 2
x3 x2
1 Kact 1
n*K 1 1
u L.s+R 1
gan 5 s
sum1 subsistema gan 6 M.s+B
x1
elctrico sum2 subsistema Integrador
mecnico
n*E
gan 2 MATLAB
N
Function
gan 3
seno
1
Posicin (radianes)
0.5
0.5
1
0 2 4 6 8 10 12 14 16 18 20
Tiempo en segundos
2.5
Seal de control (voltios)
1.5
0.5
0.5
0 2 4 6 8 10 12 14 16 18 20
Tiempo en segundos
[3] H. Goldstain, John L. Safko and Charles P. Poole Classical mechanics, 3ed.
Addison Wesley, 2001.
[5] Katsuhiko Ogata, Sistemas de Control en Tiempo Discreto. Prentice Hall His-
panoamericana S.A., Mexico, segunda edicion, 1996
[9] Frank Ayres Jr., Matrices, serie de compendios Schaum, McGraw-Hill Mexico
Panama Bogota y otras, 1973 (o ediciones mas recientes).
[13] Katsuhiko Ogata, Modern Control Engineering (5th Edition), Prentice Hall,
2009.
248 BIBLIOGRAFIA
[14] TecQuipment Ltd, TE37 Control and Instrumentation Study Station, User
Guide, 2009.
[15] J.G. Ziegler y N.B. Nichols, Optimum Setting for Automatic Controllers,
Transactions of the American Society Mechanical Engineering, Vol 64, pp. 759-
768, 1942.
[16] Richard C. Dorf y Robert H. Bishop, Sistemas de Control Moderno (10ma Edi-
cion), Pearson Prentice Hall, 2005.
[17] K.J. Astrom y T. Hagglund, PID Controllers: Theory, Design, and Tuning.
Instrument Society of America, 1995.
[21] Erwin Samal, Grundriss der Praktischen Regelungstechnik (11. durchsehene Au-
flage, R. Oldenbourg Verlag Muenchen Wien 1980.
[24] F.S. Wang, W.S. Juang y C.T. Chan,Optimal tuning of PID controllers for
single and cascade control loops. Chemical Engineering Communications, Vol.
132, pp 1534, 1995.
[25] C. Kessler, C., Das symmetrische Optimum, part 1, rt, No.11, pp. 395-400 and
part 2, rt, No.12, pp. 432-436, (1958)
[28] C.A. Smith y A.B. Corripio, Control Automatico de Procesos, Limusa Noriega
Editores, 1996.
[29] A. ODwyer, Handbook of PI and PID Controller Tuning Rules, 3rd edition,
Imperial College Press, 2009.
[30] National Instruments, NI Developer Suite: NI LabVIEW 8.5 and Device Drivers,
Third Quarter 2008.
BIBLIOGRAFIA 249
[32] Alberto Isidori, Nonlinear Control Systems, 3ed, Springer-Verlag Berlin, 1995.
[37] D. E. Koditschek, Natural Motion for Robot ArmsProc. 23rd I.E.E.E. Conf.
on Decision and Control, Las Vegas, p. 733, 1984.
[38] Jean-Jacques E. Slotine and Weiping Li, Applied Nonlinear Control, Prentice
Hall, 2006, ISBN: 0130408905, ISBN-13: 9780130408907, 978-0130408907.
[40] E. Bailey and A. Arapostathis, Simple sliding mode control scheme applied to
robot manipulators, Int. J. Control, vol. 45, No. 4, p. 11971209, 1987.
[41] Lin, Y. and E.D. Sontag, Lin, Y. and E.D. Sontag, A universal formula for
stabilization with bounded controls, Report 90-10, SYCON-Rutgers Center for
Systems and Control, July 1990.
[42] Jie Yu, Ali Jadbabaie, James Primbs and Yun Huang, Comparison of nonlinear
control design techniques on a model of the Caltech ducted fan, Automatica
Volume 37, Issue 12, Pages 1971-1978 , December 2001.
[43] Fang-Shiung Chen and Jung-Shan Lin, Nonlinear backstepping design of robot
manipulators with velocity estimation feedback,5th Asian Control Conference,
July 2004, vol. 1, no. 6, pp 351356. New Jersey 07632, 1989.
[44] M. Vidyasagar, Nonlinear Systems Analysis (Second Edition), Society for Indus-
trial and Applied Mathematics Philadelphia, PA, USA , 2001, ISBN:0898715261.
[45] Joseph La Salle and Solomon Lefschetz, Stability by Liapunovs Direct Method
With Applications, Academic Press new York, London, 1961.
[46] National Instruments, NI Developer Suite: NI LabVIEW 8.5 and Device Drivers,
Third Quarter 2008.
Indice alfabetico
Matrices, 148
diagonalizacion de, 162
multiplicacion de, 148
similares, 162
Matriz
de transferencia, 167
diagonal, 150
eigenvalor de una, 159
identidad, 150
pseudoinversa de una, 160
rango de una, 157
traza de una, 150
triangular inferior, 150
triangular superior, 150