ControlDeProcesosV10 PDF
ControlDeProcesosV10 PDF
ControlDeProcesosV10 PDF
PRÁCTICO Y AVANZADO
ARTURO ROJAS MORENO, Ph.D.
F Modelado de Procesos
F Sistemas de Instrumentación
F Elementos Finales de Control
F Control PID SISO
F Estrategias de Control PID
F Sı́ntesis de Controladores SISO y MIMO
F Control Fuzzy
F Programas fuente en MATLAB
TECSUP
II
ISBN
Queda rigurosamente prohibida la reproducción total o parcial de esta obra por cualquier
medio o procedimiento, sin la autorización escrita del propietario del “Copyright”.
A la Memoria de mis Padres
Índice general
III
Prefacio IX
1. Introducción 1
1.1. Sistema de Control a Lazo Cerrado . . . . . . . . . . . . . . . . . . . . 1
1.2. Sistema de Control a Lazo Abierto . . . . . . . . . . . . . . . . . . . . 5
1.3. Dinámica 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. Descripción del Proceso . . . . . . . . . . . . . . . . . . . . . . 28
2.8.2. Modelo Dinámico No Lineal del Proceso . . . . . . . . . . . . . 30
2.8.3. Modelo Dinámico de Lagrange del Proceso . . . . . . . . . . . 33
2.8.4. Modelo Dinámico Lineal del Proceso . . . . . . . . . . . . . . . 33
2.9. Respuesta Transitoria de los Procesos . . . . . . . . . . . . . . . . . . 34
2.9.1. Respuesta al Escalón . . . . . . . . . . . . . . . . . . . . . . . . 34
2.9.2. Método del 28.3 % y 63.2 % . . . . . . . . . . . . . . . . . . . . 36
2.9.3. Otras Respuestas al Escalón y al Impulso . . . . . . . . . . . . 37
2.10. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3. El Sistema de Medición 45
3.1. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1. Caracterı́sticas Estáticas y Dinámicas . . . . . . . . . . . . . . 46
B
. ibliografı́a 299
Indice
.́ alfabético 302
Prefacio
VIENEN AGRADECIMIENTOS.
Introducción
En este Capı́tulo se hace un breve introducción sobre los sistemas de control a lazo
cerrado y a lazo abierto, describiendo brevemente sus componentes e incluyendo ejemplos
industriales para reforzar la comprensión de los conceptos. Tales componentes son: el
proceso cuya variable de salida se desea controlar, el sistema de instrumentación que
sensa y transmite la variable a controlar, el controlador que procesa la desviación entre
el valor de la variable a controlar con respecto a una señal deseada con el propósito de
generar una señal de control, y el elemento de control final que recibe la señal generada
por el controlador para efectuar cambios en el proceso con la finalidad de que la desviación
anteriormente descrita se reduzca a cero.
Controlador de
realimentación Disturbios
SP MV PV
r e Algoritmo u Elemento final y
de Control de control Proceso
Sensor más
Transmisor
Sistema de
medición
El Proceso
El bloque proceso representa un cambio fı́sico o quı́mico de la materia. Ası́ tenemos
los procesos de calefacción, enfriamiento, mezcla, fundición, separación, destilación,
2 Introducción
llenado y vaciado, evaporación, cocción, entre otros. Los instrumentos son dispositivos
que se emplean en los procesos para monitorearlos y controlarlos, lo cual se logra
mediante la medición de algunas de sus caracterı́sticas, también denominadas los
parámetros del proceso.
Algunos ejemplos de caracterı́sticas del proceso son: capacitancia, inductancia,
resistencia, voltaje, corriente, peso, presión, aceleración, sonido, color, nivel, tempe-
ratura, humedad, densidad, contenido de humedad, viscocidad, dimensión, concen-
tración de pH, flujo, velocidad, espesor, gravedad especı́fica, entre otros. La variable
y mostrada en Fig. 1.4, conocida también como PV (Process Variable), es la variable
controlada o salida del proceso.
El Sistema de Medición
Es común que un proceso posea varios parámetros que necesitan ser monitoreadas
simultáneamente. Esto se logra por lo general, empleando un sistema de medición
para cada parámetro (ver Fig. 1.1). Cada sistema de medición consta de un sensor
que proporciona la (variable medida), y de un transmisor que cambia dicha variable
en una señal estandarizada que pueda ser transmitida. La variable medida representa
entonces la condición actual de la variable controlada y.
En algunos casos, la variable medida y la variable controlada es la misma variable.
Por ejemplo, la medición 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 lı́quido en un tanque,
que puede ser realizado midiendo la presión en el fondo del tanque. Es decir, en este
caso medimos presión para controlar nivel.
Señales 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
señales también son empleados: 0 a 10 V (volt), − 10 a + 10 V, etc. El transmisor
también es conocido como convertidor, transductor, y en general como un acondi-
cionador de señales. Si fuera necesario, un acondicionador de señal se puede diseñar
empleando opamps (amplificadores operacionales) en su implementación.
En muchos casos, el sensor y el transmisor son parte de un solo instrumento. Los
sistemas de medición actuales también incluyen hardware para almacenar algoritmos
y rutinas de cálculo, y para el procesamiento de señales digitales empleando protoco-
los industriales de comunicación. Los sistemas de medición inteligente reciben dicha
denominación, por que poseen la capacidad de procesamiento de señales.
En general, los sistema de medición 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 acción 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 señal de referencia r o SP (Set Point), que es la señal
deseada de la variable controlada. En otras palabras, en los sistemas de control a lazo
cerrado, las señales r e y son comparadas. La diferencia entre ellas es la señal de error
1.1 Sistema de Control a Lazo Cerrado 3
las de control motóricas, solenoides, relés, entre otros. Entre los EFC hidráulicos y
neumáticos tenemos: válvulas neumáticas, pistones hidráulicos y neumáticos, mo-
tores hidráulicos y neumáticos, etc. Dependiendo del tipo de EFC, en muchos casos
será necesario incluir un convertidor (o transmisor) de señal entre el controlador y el
EFC, tal como se muestra en el ejemplo 1.1.
Los Disturbios
Además 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 acción de los disturbios, se requiere de una continua circulación
de la información sobre el proceso. En el sistema de control a lazo cerrado de la Fig.
1.1, la información fluye constantemente hacia los instrumentos. Tal información es
denotada como realimentación. Todos los instrumentos y dispositivos que intervienen
en el control de un proceso son referidos como el lazo de control realimentado.
Ejemplo 1.1
Solución: Ver Fig. 1.3(b).√Observar que se requiere un primer transmisor para re-
alizar la operación F = C ∆P , donde C es una constante de proporcionalidad, y
luego convertir esta operación en una señal de corriente estandarizada (4 a 20 mA).
El signo raı́z cuadrada a un costado del transmisor indica esta operación. Notar tam-
bién 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 válvula trabaja con señal neumática
estandarizada.
Ejemplo 1.2
Solución: El flujo del producto que ingresa al tanque constituye la señal de disturbio.
Mientras mas brusca sea la variación del flujo de producto, mayor será la dificultad
para que la señal PV siga a la señal SP.
1.2 Sistema de Control a Lazo Abierto 5
CONTROLADOR
TRANSMISOR TRANSMISOR
ACTUADOR
F
P1 P2 VÁLVULA
PLACA DE ORIFICIO NEUMÁTICA
(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: VÁLVULA
SENSOR: PLACA DE CONTROL
DE ORIFICIO NEUMÁTICA
(b)
Fig. 1.2: (a) Sistema de control de flujo. (b) Solución al ejercicio 1.1.
PV
Sensor 4−20 mA
(ohm) Transmisor
MV Controlador
4−20 mA SP
Producto 4−20 mA
Agua caliente
Disturbios
SP MV PV
r y Sensor más
Controlador u Elemento final
anticipativo de control Proceso Transmisor
Sistema de
Instrumentación
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 fluı́dica q21 = Cf dpdt21 E = 12 Cf p22
Almacenador Capacitancia
capacitivo térmica q = Ct dT
dt E = Ct T
Disipador Resistencia
1 1 2
de energı́a eléctrica i= R v21 P= R v21
Disipador Amortiguador
de energı́a traslacional f = Bv21 2
P = Bv21
Disipador Amortiguador
de energı́a rotacional T = Bω21 2
P = Bω21
Disipador Resistencia
1 1 2
de energı́a fluı́dica q= Rf p21 P= Rf p21
Disipador Resistencia
1 1
de energı́a térmica q= Rt T21 P= Rt T21
1.3 Dinámica 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)
ω21 = dθ21 /dt donde θ21 en rad es el cambio de posición angular, es fácil demostrar
que T = Kθ21 . Por ello, K está en N–m/rad.
En la Fig. 1.6(d) se cumple que el cambio de presión p21 en N/m2 es proporcional
a la variación del flujo q en m3 /s con respecto al tiempo. La constante de propor-
cionalidad I es la inercia fluı́dica, la cual posee las unidades N–s2 /m5 puesto que la
inercia fluı́dica se expresa como:
p21
I=
dq/dt
La Fig. 1.6(e) ilustra la capacitancia eléctrica C en F (faradio), en donde la
corriente i en A (ampere) que circula a través de C es proporcional a la diferencia de
potencial v21 en V (volt) con respecto al tiempo.
La Fig. 1.6(f) muestra la masa M en kg (kilogramo), en donde la fuerza f en N
(newton) que actúa sobre M produce la aceleración a=dv/dt en m/s 2 , donde v en
m/s es la velocidad de la masa M.
En la Fig. 1.6(g) se cumple que el torque de torsión T en N–m es proporcional a
la aceleración angular α = dω/dt en rad/s2 . La constante de proporcionalidad J en
N–m–s2 /rad se denomina momento de inercia y es caracterı́stico para cada cuerpo
dependiendo de su forma.
El flujo q en m/s3 de un fluido que existe en un conducto o recipiente (ver Fig.
1.6(h)), es proporcional a la caı́da o cambio de presión p21 con respecto al tiempo.
La proporcionalidad mencionada define a la capacitancia fluı́dica Cf en m5 /N.
El flujo de calor q en J/s (joule/segundo) que circula en un conducto, es propor-
cional al cambio de temperatura T en grados K (kelvin) con respecto al tiempo. La
10 Introducción
El Proceso a Controlar
u
u
2
∆u
FI
u u1
y t1 t2 t
Válvula y
de control y
(a) 2 ∆y
y
1
t1 t2 t
(b)
Fig. 2.1: (a) Proceso flujo. (b) Respuesta al escalón (curva de reacción 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 escalón mostrado en la Fig. 2.1(b) también se aplica al proceso
flujo de granos. Considérese 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, fijándola 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 está dada por (2.3).
Silo de
material
u Banda transportadora
Caja de
reducción 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 ḣ = 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 tuberı́a de rebose.
qD es laminar, entonces:
h
qD = (2.6)
Rh
donde Rh es la resistencia hidráulica del tanque, la cual se puede determinar de [13]:
h
Rh = (2.7)
qD
1 1
ḣ = − h + qC (2.8)
Rh S S
La curva de reacción a lazo abierto del nivel h se determina resolviendo (2.8) o (2.10).
Vamos a intentar tres soluciones. Para una primera solución, 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 matemática simbólica, tal como se
ilustra en el siguiente programa denominado nivel1simb.m:
% nivel1simb.m DETERMINACIÓN 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: Parámetros 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 reacción del proceso con Ti (s) = A/s, la cual es semejante al gráfico
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 tuberı́a. Los parámetros y va-
riables de este proceso se describen en la Tabla 2.3. Las ecuaciones dinámicas 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: Parámetros 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 ecuación 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 + 2ζωn 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
dy
A =u
dt
y(s) Kp 1
= Kp =
u(s) s A
u(t)
Flujo u(t)
y(t)
uo
t
t1
y(t)
y(t)
yo
Bomba t
t1
Satélite
El satélite 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
L
u(t)
u
Válvla decuchilla uo
u+ u
t
t0 t1
y(t)
Motor
r
y
o
Tt
y
t
Velocidad w v = wr t t1
u 0
constante
u 1(t)
u 1(t)
[u 1]o
L t
Flujo u1 (t)
u2(t)
u 2(t)
Flujo y(t) a Sensor [u 2]o
una velocidad de PH t
v constante
Flujo u2 (t)
Tt
y(t)
y(t)
yo
t
Rebose q
Agua fría T
qC
TC TC
ρC
Camisa de
Producto enfriamiento
q
Ti Tanque metálico
ρ 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)
Tm . El modelo de este proceso fue extraı́do de [28]. La Tabla 2.4 muestra las variables
y parámetros del proceso.
El balance de energı́a en el flujo que se procesa se expresa como:
dT
qρCp Ti − hi Ai T + hi Ai Tm − qρCp T = V ρCv (2.14)
dt
24 El Proceso a Controlar
dT
qρCp T i − hi Ai T + hi Ai T m − qρCp T = V ρCv (2.15)
dt
dt
qρCp ti − hi Ai t + hi Ai tm − qρCp t = V ρCv (2.16)
dt
K1 K2
t(s) = ti (s) + tm (s) (2.17)
τ1 s + 1 τ1 s + 1
qρCp hi A − i V ρCp
K1 = K2 = τ1 =
qρCp + hi Ai qρCp + hi Ai qρCp + hi Ai
2.6 Procesos de Orden Superior 25
dTm
hi Ai (T − Tm ) − ho Ao (Tm − Tc ) = Vm ρm CVm (2.18)
dt
dtm
hi Ai (t − tm ) − ho Ao (tm − tc ) = Vm ρm CVm
dt
K3 K4
tm (s) = t(s) + tc (s) (2.19)
τ2 s + 1 τ2 s + 1
hi Ai ho Ao V m ρ m C vm
K3 = K4 = τ2 =
hi Ai + h o Ao hi Ai + h o Ao hi Ai + h o Ao
El balance de energı́a en la camisa de enfriamiento se formula como:
dTc
Qc ρc Cp Tci + ho Ao (Tm − Tc ) − Qc ρc Cp Tc = Vc ρc Cv (2.20)
dt
La ecuación (2.20) es no lineal debido a los productos Qc Tci y Qc Tc , los cuales se
pueden linealizar siguiendo el procedimiento de la subsección A.6.1, ejemplo A.49,
sabiendo que: qc = Qc − Qc . Esto es:
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)
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 + tm + qc (2.24)
τ3 s + 1 i τ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
ρ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).
26 El Proceso a Controlar
2.7. El Motor DC
La Fig. 2.14(a) muestra el circuito equivalente de un motor DC (direct current),
donde Rf , Lf , If y Vf son la resistencia, la inductancia, la corriente y el voltaje de
campo respectivamente, Ra , La , Ia y Va son la resistencia, la inductancia, la corriente
y el voltaje de armadura respectivamente, Tm , TL y Td son el torque motor, el torque
de carga y el torque de disturbio respectivamente, Km es la constante de motor, Kb
es la constante contraelectromotriz, ω es la velocidad angular, θ es la posición angular
del eje, J es el momento de inercia del motor más carga y B es la constante de fricción
del motor más carga.
Va
Ra
Rf La
Vf Lf Vb
J
If B
Ia ω
θ
(a)
Motor más
Campo carga
T
d
Vf 1 If Tm 1 ω 1 θ
Km
Rf Lf s TL Js B s
(b)
Motor más
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.
θ(s) Km
Gp (s) = = (2.25)
Vf (s) s(Js + B)(Lf s + Rf )
θ(s) ∼ K
Gp (s) = =
Vf (s) s(τ s + 1)
ω(s) ∼ K J Km
Gp (s) = = τ= K= (2.26)
Vf (s) τs + 1 B Rf B
θ(s) Km
Gp (s) = = (2.28)
Va (s) s[(Ra + La s)(Js + B) + Kb Km ]
θ(s) ∼ K
Gp (s) = =
Va (s) s(τ s + 1)
ω(s) ∼ K Km Ra J
Gp (s) = = ; K= ; τ= (2.29)
Va (s) τs + 1 Ra B + Kb Km Ra B + Kb Km
Notar que tanto para el motor controlado por campo como por armadura, las FTs
para θ y para ω dadas en (2.26) y (2.29) poseen la misma estructura cuando se
desprecia ya sea Lf o La .
Tabla 2.5: Parámetros, variables y sı́mbolos del sistema tanque con agua.
∆p = ρD gh
PT
LT= Transmisor de Nivel
TT = Transmisor de Temperatura
TT
PT= Transmisor de Presión
FT= Transmisor de Flujo
LT
Rebose
Drenaje
FT
Agua Caliente
FT
Agua Fría
una relación igual a 0.41 y E es una constante de corrección del valor del flujo debido
a consideraciones geométricas, el cual se expresa como:
E = (1 − β 4 )−1/2
ΦT = −ΦD + ΦC + ΦH (2.36)
DENSIDAD Kg/m3
1005
1000
995
990
985
980
0 10 20 30 40 50 60
TEMPERATURA ° C
Φ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 parámetros que aparecen en (2.37) se describen en la tabla 2.5. Observar que se
asume un valor constante para el calor especı́fico del agua Cp . La ecuación 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 ecuación de estado que describe la dinámica del proceso tanque
cerrado con agua se formula como:
ẋ = f (x, u) (2.39)
ẋ1 ḣ x1 u1 qC
ẋ = = x= u= =
ẋ2 θ̇ x2 u2 qD
√
" # − Aa x1 + A1 u1 + A1 u2
f1
f= =
f2 a x ρ θ u ρ θ u
− A √x21 + ρCD AC x11 + ρHD AH x12
Dado que las variables de estado son las variables medidas del proceso, entonces la
ecuación de salida posee la siguiente expresión:
y = Cx (2.40)
2.8 Modelo MIMO del Proceso Tanque Cerrado 33
y1 x1 1 0
y= = C=
y2 x2 0 1
Por consiguiente:
√
1 1 u1 A 0 ẋ1 a x1
= + √
ρc θ C ρH θ H u2 0 ρD Ax1 ẋ2 ρD a x 1 x 2
u = P ẋ + 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
2h
qD = (2.42)
Rh
h
Rh = (2.43)
qD
2 1 1
ḣ = − h + qC + qH (2.44)
Rh A A A
2 1 1
ẋ1 = − x 1 + u1 + u2 (2.45)
Rh A A A
34 El Proceso a Controlar
Asumiendo que la variación del nivel h es mı́nima, entonces podemos hacer las
siguientes sustituciones en la ecuación de estado (2.38) correspondiente a la tempe-
ratura en el tanque:
√ p
h=h qD = a h = a h = q D
donde el valor estacionario q D se calcula de (2.42). Tales reemplazos nos permiten
obtener la siguiente descripción lineal de la dinámica de la temperatura:
qD ρC θ C ρH θ H
θ̇ = − θ+ qC + qH (2.46)
AhρD hρD AhρD
Empleando las variables de estado definidas anteriormente, (2.46) toma la forma:
qD ρC θ C ρH θ H
ẋ2 = − x2 + u1 + u2 (2.47)
AhρD AhρD AhρD
La ecuación de estado lineal del proceso se obtiene juntando las ecuaciones (2.45) y
(2.47):
ẋ = 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
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
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
El segundo modelo dinámico se refiere a la ecuación (2.50). Con los datos propor-
cionados en el ejemplo se obtiene: τ /T = 0.217. Empleando la Tabla 2.6 se puede
determinar: n = 3 y Tn /T = 0.270, lo que implica: Tn = 2.484 s. La FT resulta:
y(s) Kp 20
G(s) = = n
=
u(s) (Tn s + 1) (2.484s + 1)3
Caso Especial
Para el caso especial:
0 < τ /T < 0.104
la dinámica 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
donde T1 y T2 son dos constantes de tiempo que se relacionan mediante la ecuación:
T2 = kT1 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
u t 63.2%
y
t 28.3
u1 Proceso y
autoregulado 1
∆u
u KP y 0.632 ∆y ∆y
u0 e τs
Ts + 1 y0
0.283 ∆ y
t t1 t
0 t t1 t
0
y(s) ω2
G(s) = = 2 e−sτ (2.58)
u(s) s + 2ζωs + ω 2
Para una entrada tipo escalón (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 escalón correspondiente a
(2.58):
ωn −ζωn (t−τ )
y(t) = A 1 − e sen[ωd (t − τ ) + θ] (2.59)
ωd
La Fig. 2.20 (gráfico 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):
Aωn2 −ζωn (t−τ )
y(t) = e sen ωd (t − τ ) (2.60)
ωd
La Fig. 2.20 (gráfico 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.
Kp −τ s
Gp (s) = e R = Kp τ (2.61)
s
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)
u Proceso
no autoregulado y
A u y
Kp
e τs
s
τ R = Kp τ R t
τ
2.10. Problemas
Problema 2.1 Amplificador de Opamps
La Fig. 2.22 muestra un amplificador un seguidor de voltaje y dos opamps inversores.
Demostrar que este proceso es proporcional con ganancia K p = Rf /Ri , donde Rf ,
Ri y R son resistencias.
40 El Proceso a Controlar
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 +2ζωs+ωn
2
Rf R
Ri R
Vo
La Fig. 8.11 muestra una turbina de agua unido a un generador eléctrico. De-
mostrar que:
M (s) Kp
=
ω(s) Ts + 1
2.10 Problemas 41
Generador
eléctrico
Turbina
Entrada
de agua
M
ω
Desague
Po (s) 1
= T = RC
Pi (s) Ts + 1
donde Po es la presión del gas dentro del recipiente, Pi es la presión del gas de entrada,
R = (Pi − Po )/Q es el la resistencia neumática, Q es el caudal del gas, C = dm/dp
(variación de la masa con respecto a la variación de la presión) es la capacitancia
neumática, 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 además que la capacitancia C
multiplicada por la variación de la presión de salida dPo , es igual al gas Q añadido
al recipiente en un diferencial de tiempo dt.
Pi
R
Q
Po
C
ρ
x
K v
B fK M u
fB
e1
+
u1
r1 +
P1 y1
R1 Y1
−
− K1 u2 B1
+
+
r2
P2
y
2
R2
−
Y2
−
e2
K2 B2
Fig. 2.26: Plataformas acopladas.
! "! "! $% "! "! ## "! "! "! "!
##
qi Ta
RF
CM RM
h
CF TM
TF Q
VAPOR
qo
B1 /2
,,- ../f(t)
M1 B1 /2
A1 f1 x1
B2 /2
() ACEITE
A2
M2
f2
*+ B2 /2
x2
&' &' &' &' &' &' &' &' &' &' &' &'
K B
q
Po A Ra La
θT θG
ωT ωG Rc
P1 q1 TT TG
V
Turbina VG K bω Lc
KT
JT
q1
Generador DC en paralelo
Ref e R
223232 E3232 E3232 EE 889 89 x
J ML ML
u Vb K b ωm
KT r
El Sistema de Medición
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 realimentación. El bloque
sistema de medición 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 condición actual de la variable controlada y, mientras que el
transmisor cambia tal medición en una señal estandarizada, la cual generalmente es
una señal 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 instrumentación industrial. En esta publicación, tales temas van a ser
tratados con el suficiente nivel que exige un texto de control de procesos.
La medición del valor actual de la señal a controlar se realiza mediante un sensor,
denominado también elemento primario de medición, o un instrumento de medición
que emplea los sensores adecuados para tal o cual medición. Un sensor puede estar
caracterizado por una curva de reacción la cual relaciona la variable medida con la
señal generada. Esta curva se obtiene aplicando una serie de entradas conocidas al
sensor y almacenando las correspondientes respuestas. Un ejemplo tı́pico está consti-
tuido por las curvas caracterı́sticas de Temperatura (◦ F) vs mV de las termocuplas.
Según el tipo de señal de salida que proporciona, un sensor se puede clasificar en
analógicos (la señal de salida es continua dentro del rango de medición), digital (la
46 El Sistema de Medición
señal de salida es digital), y ON–OFF (la señal de salida varı́a entre los umbrales
ON y OFF). Según la magnitud a medir, el sensor puede ser de nivel, presión, tem-
peratura, proximidad, flujo, etc. Por ejemplo, una termoresistencia proporciona una
señal continua en ohms, la cual es proporcional a la temperatura medida, mientras
que un radar proporciona señales discretas que son proporcionales a la magnitud de
la variable medida. Por otro lado, las señales que abren y cierran completamente una
válvula son del tipo ON–OFF.
medido, con respecto al valor ideal. Por otro lado, un instrumento de medición es
preciso cuando puede reproducir la lectura medida con una exactitud previamente
determinada. Supongamos que se mide una corriente conocida de 100 mA empleando
5 lecturas, las cuales resultan: 104, 103, 105, 103 y 105 mA. Dado que la desviación
máxima en la medición es 5 mA con respecto al valor real de 100 mA, la exactitud
del instrumento resulta:
5
× 100 = 5 %
100
La precisión se halla calculando primero la media de las lecturas:
105 + 103 + 105 + 103 + 105
= 104 mA
5
y luego determinando la máxima desviación de las lecturas con respecto a dicha
media, en este caso: ± 1 mA, que equivale al 1 % con respecto a la medida real de
100 mA.
En la mayorı́a de los casos, los sensores poseen un comportamiento dinámico
constante o proporcional, pero en otros casos, el comportamiento es similar al de un
proceso de primer orden. Por ejemplo, en un sensor PT 100 empleado para medir la
temperatura, la relación entre la salida resistencia en ohm y la entrada temperatura
en ◦ C es constante, mientras que en un flotador empleado para la medición de nivel,
la relación entre la salida voltaje en V y la entrada nivel en m es una expresión de
primer orden:
voltaje K
= (3.1)
nivel Ts + 1
donde K es la ganancia del sensor, s es la variable de Laplace y T es la constante de
tiempo, la cual se interpreta como el tiempo que demora la medición. La estabilidad
en un sensor se explica como la desviación que sufre la medición cuando se varı́an
ciertos parámetros.
La velocidad de respuesta de un sensor es la capacidad para que la señal de
salida siga sin retraso a las variaciones de la señal de entrada. Una velocidad de
respuesta rápida implica una constante de tiempo T pequeña y viciversa. Por otro
lado, la respuesta en frecuencia de un sensor se determina excitando al sensor con
señales senoidales de amplitud constante y frecuencia variable. √ Si el sensor recibe
excitaciones senoidales, entonces en 3.1: s = jω, donde j = −1 es la unidad de
números imaginarios y ω = 2πf es la frecuencia angular. Luego:
K K K
= =√ arctan(−T ω) = M (ω)∠M (ω) (3.2)
T s + 1 s=jω T jω + 1 1 + ω2T 2
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 gráfico de MB (ω) vs ω en
escala logarı́tmica es la respuesta en frecuencia en magnitud del sensor representado
en 3.1, mientras que el gráfico ∠M = arctan(−T ω) vs ω en escala logarı́tmica es su
correspondiente respuesta en frecuencia de su ángulo o fase. Tales representaciones se
denominan los gráficos de Bode en magnitud y fase. Un sensor no es estable cuando
la medición experimenta desviaciones en los valores medidos debido a la variación de
ciertos parámetros, tales como K y T (ver (3.2)).
48 El Sistema de Medición
Sensores de Temperatura
Los sensores de temperatura, de acuerdo al principio fı́sico o caracterı́stica con
que operan, se pueden clasificar en:
Este Capı́tulo
4.1. Caracterı́sticas
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 señal del controlador.
Por lo general, el EFC consta de dos partes: el actuador, que transforma la señal
del controlador en un comando para el dispositivo manipulador, y, el mecanismo de
ajuste, el cual dosifica el flujo de masa o de energı́a que está siendo manipulado.
Uno de los EFC más empleados en la indutria es la VCA (Válvula de Control
Automático). En una VCA neumática, su actuador (el cabezal de la VCA con su
membrana) recibe la señal estandarizada de 3 a 15 psig (o 0.2 a 1 bar) para desplazar
el eje o vástago que está unido a la membrana. En el extremo libre de este eje
se encuentra el cono u obturador, y a continuación, el asiento de la VCA. Si esta
válvula está siendo usada para controlar el paso de un fluido a través de una tuberı́a,
entonces el mecanismo de ajuste dosifica el caudal que pasa por la VCA aumentando
o disminuyendo la abertura entre el cono y su asiento, en concordancia con la señal
estandarizada que recibe de su actuador.
Dependiendo de la energı́a auxiliar con la que están alimentadas, los actuadores
se pueden clasificar en eléctricos, neumáticos e hidráulicos. Los actuadores eléctricos
más empleados son el motor DC, el motor AC, la bobina con núcleo de hierro móvil, y
el inversor de potencia. Entre los actuadores neumáticos tenemos los de membrana de
simple y doble efecto, el cilindro de membrana, el cilindro (o pistón) de doble y simple
efecto. El cilindro hidráulico y el cilindro hidráulico rotatorio son dos actuadores
hidráulicos representativos. La Fig. 4.1 muestra el esquema de los actuadores antes
mencionados.
Los dispositivos de ajuste también se clasifican de acuerdo a la energı́a auxiliar
que los alimenta. A su vez, los dispositivos de ajuste eléctricos pueden ser continuos
y discontinuos. La resistencia eléctrica, el transformador y el transistor de potencia
son dispositivos continuos, mientras que el contacto, el micro interruptor, el relé, un
tiristor o un triac son discontinuos.
En las válvulas para gas, vapor, lı́quidos o granos, el conjunto obturador–asiento
constituye el dispositivo de ajuste.
52 Elementos Finales de Control
P1 V12 P2 V22
+ + h1 = + + h2 (4.1)
γ 2g γ 2g
Por continuidad:
A2
Q = V 1 A1 = V 2 A2 → V 1 = β 2 V2 β2 = (4.2)
A1
Notar en la Fig. 4.3 que la altura h1 es cero porque coincide con el eje horizontal de
referencia a trazos, mientras que la altura h2 se puede despreciar por ser pequeña.
Reemplazando V1 de (4.2) en (4.1) produce:
s s
(P2 − P1 )2g γH2 O (P2 − P1 )2g γ
V2 = × = GF = (4.3)
γ(1 − β 4 ) γH 2 O GF γ(1 − β 4 )γH2 O γH 2 O
Por consiguiente:
r s
P2 − P 1 2g
Q = V 2 A2 = C v Cv = A 2 (4.4)
GF GF (1 − β 4 )γH2 O
Esta última expresión se corrige multiplicándola por factores que toman en cuenta
pérdidas, ruido, caracterı́stica del fluido, etc. Notar que cuando P 2 − P1 = GF = 1,
entonces: Q = Cv ; es decir, el caudal iguala al tamaño de la válvula.
Bajo ciertas consideraciones, la constante Cv de la válvula ha sido adoptado por
los fabricantes y usuarios como un coeficiente de dimensionamiento. En este sentido,
esta constante se define como el caudal en galones USA por minuto (gpm) que pasa
a través de la válvula en posición completamente abierta y con una pérdida de carga
(caı́da de presión) de una libra por pulgada cuadrada (psi).
En aquellos paı́ses donde se emplean el sistema métrico, la constante de la válvula
se denomina Kv y se define como el caudal de agua (de 5 a 40◦ C) en m3 /h que pasa
a través de una válvula a una determinada apertura y con una pérdida de carga
54 Elementos Finales de Control
Vástago
Cono
Q, P2 , V 2, A 2
Q, P1 , V1, A 1 h2
Asiento
de de 1 bar (105 Pa). La equivalencia entre los coeficientes Kv y Cv para una VCA
completamente abierta es:
La Fig. 4.4 muestra las curvas caracterı́sticas de las válvulas ON–OFF, lineal (ecuación
(4.8)) e isoporcentual (ecuación (4.9)), mientras que la Fig. 4.5 ilustra la forma de
los conos u obturadores.
P1 P2
Presión de la P P1 P2 P3
bomba: P0
(a)
Q Para máxima
presión nominal
Q Amax
Punto adecuado
ubicado al 70%
u [mm]
0% A 100%
(b)
Fig. 4.6: (a) Válvula operando en una linea. (b) Operación de una VCA alrededor
del punto de operación A.
Capı́tulo 5
El controlador PID SISO procesa la señal de error e(t), la cual es la diferencia entre
la señal deseada r(t) y la señal controlada y(t) (la salida del sistema), empleando un
algoritmo de control ampliamente difundido en el mundo industrial, cuya forma más
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 expresión 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 capı́tulo. Dependiendo de la aplicación, el controlador en cuestión puede
trabajar como P, PI, PD o PID.
Es importante mencionar que el algoritmo PID es el de mayor aplicación industrial
(aproximadamente el 90 %) y su modelo dinámico 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 presión, 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 a (s)
r u y
e
G c (s) G p(s)
G m (s)
(c)
du dy
Limitador
r Filtro de e u u u Proceso más y
Controlador elemento
entrada u final de control
Sensor más
transmisor
dm
Fig. 5.2: Sistema de control SISO con filtro de entrada, con limitador de salida y
sujeto a la acción 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 + 2ζωn s + ωn2
A
lı́m y(t) = yss = lı́m sGp (s) =A ess = r − yss = A − A = 0
t→∞ s→0 s
Sin demostración, 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)
r K y
s (s p)
y(s) K ωn2
= 2 = 2 p = 2ζωn K = ωn2
r(s) s + ps + K s + 2ζωn s + ωn2
donde ζ se puede determinar de la condición 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 parámetros p y K pedidos.
Ejemplo 5.2
Elaborar los gráficos de Bode y Nyquist y la carta Nichols del proceso con FT:
ωn2
G(s) =
s2 + 2zωn 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
−4
−6
−3 −2 −1 0 1 2 3
Real Axis
Nichols Chart
20
z=0.1
0
Open−Loop Gain (dB)
−20
−60
−80
−100
−180 −135 −90 −45 0
Open−Loop 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 tomarı́a un valor muy grande. Esta situación es
5.2 Especificaciones de Diseño 65
(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 gráfico
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): Márgenes de fase y de ganancia.
Ejemplo 5.3
Determinar los márgenes 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): Márgenes de fase y de ganancia.
68 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)
Error
¬¦¬¦ ¬ ¡ ¡
Abertura de válvula
Máx.
®§®§ fg gf
100%
ª©¨«ª© ¨«ª© «ª ¤¥£ ¢¥¤£ ¢¥ ¤£ ¢ 50%
Mín.
Pivote
0%
(a) PB% = 100%
Error
y yy }|}|{z }|}|{z }|}|{z }|}|{z }|}|{z i}|}|{z i}|}|n{z imlk n im lk
Abertura de válvula
sstst
Máx.
}||}{z{z }||}{z{z }||}{z{z }||}{z{z cbb }||}{z{z }||}{z{z j}||}{z{z jj
100%
Error
Abertura de válvula
ed ed
Máx. 100%
~ ~ ~
50%
Pivote
Mín. 0%
(c) PB% = 50%
Ejemplo 5.4
∆e Controlador ∆u
E Proporcional U
100 100
PB % = = = 50 %
Kc 2
ACCIÓN 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)
La magnitud del ajuste está determinada por qué tan rápido es la desviación del
error. Esta acción de control se suma a menudo al control proporcional para corregir
cambios rápidos en la variable controlada. Ası́, este modo de control toma el nombre
de PD (Proporcional más Derivativo).
La Fig. 5.16, elaborada con el programa mcpd.m mostrado abajo, ilustra tres
curvas de respuesta del sistema de control realimentado, empleando un controlador
PD de la forma:
de(t)
u(t) = Kc e(t) + KD K D = K c Td
dt
donde KD es la ganancia derivativa y Td es el tiempo derivativo o rate. Observar que
para todos los casos, el offset es el mismo (y de gran magnitud), ası́ como también lo
es el tiempo de estabilización (flecha horizontal de doble punta). Notar también que
conforme aumenta KD (aumenta Td ), el sobrenivel también crece.
% mcpd.m MODO DE CONTROL PD CON P CONSTANTE
clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(’s’);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6; % PROCESO
for Td=0.1:0.5:1.1; KD=Kc*Td; Gc=Kc+KD*s; PD=feedback(Gc*Gp,1); % CONT PD
step(PD,’k’,Tf); hold on; end; hold off; grid; xlabel(’TIEMPO’);
ylabel(’AMPLITUD’); title(’ACCIÓN PROPORCIONAL MÁS DERIVATIVA’);
print -deps -f mcpd
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)
La Tabla 5.1 muestra la tendencia (a aumentar o disminuir) que tienen los parámet-
ros de diseño, 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 parámetros de diseño no ocurren por separado, sino tales
cambios pueden estar interconectados. Esto es, cambios en un parámetro de de diseño
pueden afectar el comportamiento de otros.
de set point, controlando la entrada de vapor por medio de una válvula ON–OFF.
Claramente, cuando y(t) sobrepasa el set point, el controlador genera una señal U min
para que la válvula se cierre. En cambio, si y(t) se encuentra debajo del set point, el
controlador genera una señal Umax para que la válvula se abra. El efecto final es que
la salida controlada y(t) fluctúa alrededor del set point.
En la Fig. 5.17(C), el controlador es un relé con zona muerta de magnitud h 1 − h2
alrededor del set point. Notar que si la variable controlada y(t) se encuentra dentro de
la zona muerta, no ocurre ninguna acción de control. De esta manera la zona muerta
minimiza el desgaste y los daños debido a que se evita el continuo funcionamiento
cı́clico del EFC, por ejemplo, la válvula mostrada en la Fig. 5.17(b).
Ymin Ymin
Válvula Válvula
Abierta Abierta
(Umax) (Umax)
t t
Válvula Válvula
Cerrada Cerrada
(Umin) (b) (Umin) (c)
Fig. 5.17: (a): Sistema de control de dos posiciones. (b): Controlador ON–OFF sin
zona muerta, y (c): con zona muerta.
Ejemplo 5.5
Diseñar un controlador de dos posiciones sin zona muerta para controlar el siguiente
proceso:
Kp
Gp (s) = e−τ s
Ts + 1
Solución: 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 señal de
5.4 Control de Dos Posiciones 75
control u(t). Este gráfico se obtuvo ejecutando el archivo onoff1data.m, cuyo listado
se muestra abajo. El relay empleado posee los parámetros Umin = 0.8, Umax = 1.2,
Switch On Point = 0 y Switch Off Point = 0. La FT de la válvula 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 señal de control ON–OFF 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
ylabel(’y(t) y u(t)’), title(’CONTROL ON-OFF DEL PROCESO’)
print -f -deps onoff1r, print -s -deps onoff1
76 Control PID SISO
u(s) 1
Gc (s) = = Kc + + Td s (5.17)
e(s) Ti s
Notar que los parámetros Kc , 1/Ti y Td del controlador PID paralelo dado en (5.17)
corresponden a los parámetros Kc , Kc /Ti y Kc Td del controlador PID ideal de (5.16).
Por consiguiente, (5.17) puede ser siempre reemplazado por (5.16).
siguiente filtro de primer orden formulado tanto en el dominio del tiempo como en el
dominio de Laplace:
def (t) 1
T = e(t) − ef (t) ef (s) = e(s) (5.18)
dt 1 + Ts
donde T es la constante de tiempo del filtro. Dado que el ruido en el sistema se
amplifica principalmente por la acción derivativa, entonces T se puede formular pro-
porcional al tiempo derivativo como sigue:
1
T = α Td → ef (s) = e(s) (5.19)
1 + α Td s
Para Td > TI /4, el controlador dependiente nunca será similar al controlador ideal,
ya que para esta condición los parámetros en (5.27) se vuelven imaginarios.
1.2
1.1
0.9
0.8
SALIDA
0.7
0.6
0.5
0.4
0.3
0.2
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)
Método 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).
Tabla 5.2: Reglas de sintonı́a para controlar sistemas tipo Gp (s) = Kp e−τ s .
Ejemplo 5.7
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
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]
Tabla 5.3: Método de la curva de reacción de Ziegler y Nichols para determinar los
parámetros 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τ
3
T = (t2 − t1 ) τ = t2 − T (5.33)
2
Ejemplo 5.8
Kp
Gp (s) =
(s + Ta )(s + Tb )(s + Tc )(s + Td )(s + Te )
y
100%
63.2%
28.3%
t
t t2
1
Ejemplo 5.9
RESPUESTA AL ESCALÓN
AMPLITUD 6
4
Kpp
2
0
0 5 10 15
TIEMPO (sec)
SALIDAS CONTROLADAS
2
PID
1.5
SALIDA
PI
1
0.5
P PD
0
0 20 40 60 80 100 120
TIEMPO (sec)
Fig. 5.24: Respuesta al escalón del sistema (gráfico superior) y respuestas controladas
para el ejemplo 5.8 (gráfico inferior).
transferencia del actuador hidráulico, del tanque y del flotador se formulan respecti-
vamente:
10 3.15 1
GH (s) = GT (s) = GF (s) = 1 τh = 1
s+1 30s + 1 9 s2 + 31 s + 1
Para propósitos de comparación emplear los controladores ideal dado en (5.16), de-
pendiente mostrado en (5.24) y mejorado (ecuación (5.29)). Para simplificar la no-
tación, el sistema de control que emplea un controlador ideal será designado como
control PID, el que emplea un controlador dependiente será conocido como control
PI D, y el que usa un controlador mejorado recibirá la denominación 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
relación τ = d/v, donde v es la velocidad del flujo que ingresa al tanque y d es es
la longitud de tuberı́a que existe entre la válvula de control de flujo y el punto de
medición del flujo.
Solución: El primer gráfico de la Fig. 5.26 muestra la respuesta al escalón (la curva
de reacción) del sistema, de la cual se obtiene τ = 1 y T = 30 − τ . Con estos valores
se calculan los parámetros del controlador PID empleando la Tabla 5.3. El segundo
5.6 Métodos de Sintonización de Controladores PID 85
Controlador Referencia
Actuador (set point)
v
d
Flotador
r e u y
GC (s) G H(s) e −sτ h GT (s)
Controlador Actuador Tiempo muerto Tanque
ym GF (s)
(a)
Flotador
r e u y
GC (s) G H(s) e −sτ h GT (s)
Controlador Actuador Tanque
ym GF (s)
(b) Flotador
r e u y
G C i(s) G H(s) e −sτ h 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.
gráfico de la Fig. 5.26 ilustra la comparación entre las salidas controladas. Tales
resultados se obtienen ejecutando el programa zn1a.m listado abajo.
RESPUESTA AL ESCALÓN
20
15
AMPLITUD
10
0
0 20 40 60 80 100 120 140 160 180
TIEMPO (sec)
SALIDAS CONTROLADAS
2
PI__Dy
1.5
SALIDA
0.5
PID y PI__D
0
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)
Fig. 5.26: Curva de reacción del sistema nivel y respuestas controladas para el ejemplo
5.9 (gráfico inferior).
Método de Chien–Hrones–Reswick
El método de Chien–Hrones–Reswick (CHR) [19] ilustrado en la Fig. 5.27(a), se
aplica a sistemas que aceptan un modelo dinámico como el de la ecuación (5.32). Este
método propone un conjunto de reglas de sintonización para los casos siguientes (ver
Tabla 5.4):
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)
Ejemplo 5.10
Se desea controlar el proceso nivel del ejemplo 5.9 empleando el método de Chien–
Hrones–Reswick 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 propósitos de com-
paración emplear los controladores ideal (PID, ecuación (5.16)), dependiente (PI D,
ecuación (5.24)) y mejorado (PI Dy, ecuación (5.29)), empleando las estructuras (b)
y (c) de la Fig. 5.28, respectivamente.
Solución: Los parámetros τ = 1 y T = 30 − τ se obtuvieron con el primer gráfico de
la Fig. 5.26. Con estos valores se calculan los parámetros del controlador empleando
la Tabla 5.4 (caso (c), controlador PID). La Fig. 5.28 ilustra la comparación entre
88 Control PID SISO
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
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 MÉTODO CHR (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; Gp=GH*Gtau*GT; Kp=31.5; % Kp=10*31.5
tau=2; T=30-tau; % TOMADOS DE LA CURVA DE REACCI ÓN
a=Kp*tau/T; Kc=0.95/a; Ti=2.4*tau; Td=0.42*tau; N=10; % PAR ÁMETROS 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); % CONTR PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Td*s/(1+Td*s/N); PI_Dy=feedback(Gp,Gci*GF+Gcd);
step(PID,’k’,PI_D,’k’,PI_Dy,’k’); grid; title(’SALIDAS CONTROLADAS’);
xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f chrd
Método de Cohen–Coon
El método de sintonización desarrollado por los investigadores G.H. Cohen y G.A.
Coon [20] también se aplica a sistemas que aceptan un modelo dinámico como el de
la ecuación (5.32). Las fórmulas de sintonización se muestran en la Tabla 5.5, donde:
Kp τ τ
a= L= (5.34)
T τ +T
Notar que las fórmulas de la Tabla 5.5 se asemejan a las de la Tabla 5.3 cuando L es
suficientemente pequeño.
Ejemplo 5.11
(a)
Flotador
d y
G H(s) e −sτ h GT (s)
Actuador Tiempo muerto Tanque
u GF (s)
GC (s)
(b)
Controlador Flotador
r=0
d y
G H(s) e −sτ h 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)).
SALIDAS CONTROLADAS
1.6
1.4
1.2
0.8
SALIDA
0.6
PI__Dy
0.4
PID y PI__D
0.2
−0.2
−0.4
0 10 20 30 40 50 60 70
TIEMPO (sec)
Fig. 5.29: Rechazo al disturbio empleando controladores tipo PID, PI–D y PI–Dy.
100
Tipo Controlador GC (s) Kc = BP Ti Td
1 0.35L
P Kc a 1 + 1−L ∞ 0
1 0.9 0.92L 3.3−3L
PI Kc 1 + Ti s a 1 + 1−L 1+1.2L τ 0
1.24 0.13L 0.27−0.36L
PD Kc (1 + Td s) a 1 + 1−L ∞ 1−0.87L τ
1.35 0.18L 2.5−2L 0.37−0.37L
PID Kc 1 + T1i s + Td s a 1 + 1−L 1−0.39L τ 1−0.8L τ
SALIDAS CONTROLADAS
1.8
1.6
1.4
1.2
PI__Dy
SALIDA
0.8
PID y PI__D
0.6
0.4
0.2
0
0 5 10 15 20 25 30 35
TIEMPO (sec)
Método de Samal
El método de sintonización de parámetros de Samal [21] está diseñado para re-
chazar los disturbios que actúan principalmente en la señal de control, tal como se
muestra en la Fig. 5.31(a), donde el rechazo al disturbio se manifiesta porque la señal
de salida y controlada tiende a cero para un tiempo de estabilización T s y un so-
brenivel de magnitud M . El proceso al cual se aplican los parámetros del controlador
PID, poseen un modelo de FT de la forma:
y(s) Kp
Gp (s) = = (5.35)
u(s) (1 + Tn s)n
Ejemplo 5.12
Kp
Gp(s) =
(s + T1 )(s + T2 )(s + T3 )(s + T4 )
d
D
d y
0 t M
r=0 e Kp y D
P, I, PI, PID t
u (1+Tns) n 0 Ts
(a)
5 20 5 5
4 16 4 4
P I
PI
3 12 3 3
Vo Ti
Vo
2 8 Tn 2 2 Td
PID PI Tn
1 4 1 1
PID
0 PID 0 0
1 2 3 4 n 1 2 3 4 n
(b) n (c)
1 Ts 20
M
Kp D I Tn
0.8 16 I
0.6 PI 12
P PI
0.4 PID 8
PID
0.2 4
P
0 0
1 2 3 4 n 1 2 3 4 n
(d) (e)
Fig. 5.31: Método de Samal para hallar los parámetros de un controlador PID.
RESPUESTA AL ESCALÓN
1.5
AMPLITUD
0.5
0
0 1 2 3 4 5 6 7 8 9
TIEMPO (sec)
SALIDAS CONTROLADAS
1.5
1
SALIDA
0.5
0
0 2 4 6 8 10 12 14 16 18 20
TIEMPO (sec)
Fig. 5.32: Respuesta al escalón (Fig. inferior) y respuestas controladas (Fig. superior)
empleando controladores tipo PID, PI D y PI Dy y el método de Samal.
K crit
r u y y
r e
PID Proceso
R R
T crit
t t
Tabla 5.6: Método de la oscilación crı́tica de Ziegler y Nichols para determinar los
parámetros 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
Ejemplo 5.13
Se desea controlar el proceso nivel del problema 5.9 empleando la técnica de las
oscilación crı́tica de Ziegler y Nichols. Para propósitos de comparación emplear los
controladores PID estándar, PI D interactivo y PI Dy mejorado, empleando las es-
tructuras de la Fig. 5.25.
OSCILACIÓN CRÍTICA
2
Tcrit
1.5
AMPLITUD
0.5
0
0 2 4 6 8 10 12 14 16 18 20
TIEMPO (sec)
SALIDAS CONTROLADAS
2
PI__Dy
1.5
SALIDA
0.5
PID y PI__D
0
0 10 20 30 40 50 60
TIEMPO (sec)
Ejemplo 5.14
de ganancia GC (s) = Kcrit = 0.569. Notar que la oscilación posee un perı́odo igual
a τcrit = 15 s. Con estos valores se calculan los parámetros del controlador PID
empleando la Tabla 5.6. El segundo gráfico de la Fig. 5.35 ilustra la comparación
entre las salidas controladas. Tales resultados se obtienen ejecutando el programa
zn2a.m listado abajo.
OSCILACIÓN CRÍTICA
Tcrit
1.5
AMPLITUD
0.5
0
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)
SALIDAS CONTROLADAS
1.5
SALIDA
PI__Dy
1
PID y PI__D
0.5
0
0 10 20 30 40 50 60
TIEMPO (sec)
Kc = 0.3Kcrit Ti = 2.3τcrit Td = 0
Ejemplo 5.15
Kc = 0.3Kcrit Ti = 2.3τcrit Td = 0
OSCILACIÓN CRÍTICA
AMPLITUD
0
Tcrit
−5
−10
0 10 20 30 40 50 60
TIEMPO (sec)
SALIDA CONTROLADA
1
SALIDA
0.5
−0.5
0 50 100 150 200 250
TIEMPO (sec)
Fig. 5.36: Oscilaciones sostenidas (primer gráfico) para Kp = Kcrit y respuesta con-
trolada (gráfico inferior) para el ejemplo 5.15.
y a
u
e +L u y t
r
Gp(s)
e
−L
Proceso Tcrit
Relé
Ejemplo 5.16
Solución: 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 gráfico de
la Fig. 5.39 para una magnitud del relé de L = 0.1. El diagrama de bloques de la
5.6 Métodos de Sintonización de Controladores PID 99
Fig. 5.38 se emplea para determinar las cinco ecuaciones de estado del sistema:
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
r
SALIDA y
Tcrit
1
a
0
0 10 20 30 40 50 60 70 80
TIEMPO
0.1
CONTROL u
0 +L
−L
−0.1
0 10 20 30 40 50 60 70 80
TIEMPO
SALIDAS CONTROLADAS
2
SALIDA
PI__Dy
1
PID y PI__D
0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)
1
Fig. 5.39: Respuesta al escalón 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
Ejemplo 5.17
5.6 Métodos de Sintonización de Controladores PID 101
Tabla 5.7: Método de las oscilaciones amortiguadas de Harriot para hallar los
parámetros 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
Se desea controlar el sistema nivel del ejemplo 5.9 empleando la técnica de las oscila-
ciones amortiguadas de Harriot. Para propósitos de comparación emplear los contro-
ladores ideal (PID, ecuación (5.16)), dependiente (PI D, ecuación (5.24)) y mejorado
(PI Dy, ecuación (5.29)), empleando las estructuras (b) y (c) de la Fig. 5.25.
Solución: El primer gráfico de la Fig. 5.41 muestra la respuesta al escalón en donde
el segundo máximo de la oscilación es un cuarto del primer máximo, la cual se obtiene
empleando un controlador proporcional de ganancia GC (s) = Ko = 0.55 en la Fig.
5.25(a). Notar que la oscilación posee un perı́odo igual a To = 10 s. Con estos valores
se calculan los parámetros del controlador PID empleando la Tabla 5.7. El segundo
gráfico de la Fig. 5.41 ilustra la comparación entre las salidas controladas. Tales
resultados se obtienen ejecutando el programa harriot.m listado abajo.
% harriot.m CONTROL PID, PI_D Y PI_Dy MEDIANTE EL M ÉTODO DE HARRIOT
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=tf(num,den); % TIEMPO MUERTO exp(-tau*s)
Gp=GH*Gtau*GT; % Gp: PROCESO, GH: FLOTADOR
Ko=0.55; G_c0=feedback(Ko*Gp,GF); subplot(211); step(G_c0,’k’,20); grid
title(’OSCILACIÓN SOSTENIDA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
To=10; Kc = Ko; Ti=To/1.5; Td=To/6; N=10; % PAR ÁMETROS 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); % CONTR PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gcd,GF); % CONTROL PI_Dy
subplot(212); step(PID,’k’,PI_D,’k’,PI_Dy,’k’); xlabel(’TIEMPO’); grid
title(’SALIDAS CONTROLADAS’); ylabel(’SALIDA’); print -deps -f harriot
Ejemplo 5.18
Para propósitos de comparación emplear los controladores ideal (PID, ecuación (5.16)),
dependiente (PI D, ecuación (5.24)) y mejorado (PI Dy, ecuación (5.29)), emplean-
do las estructuras (b) y (c) de la Fig. 5.25.
102 Control PID SISO
OSCILACIÓN SOSTENIDA
1.5
1
AMPLITUD
A
0.5
A/4
0
−0.5
0 2 4 6 8 10 12 14 16 18 20
TIEMPO (sec)
SALIDAS CONTROLADAS
2
PI__Dy
SALIDA
0 PID PI__D
−1
0 5 10 15 20 25 30 35
TIEMPO (sec)
OSCILACIÓN 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
PI−D
0.5
0
0 10 20 30 40 50 60
TIEMPO (sec)
1
e(s) = r(s)−y(s) = r(s)−H(s)G(s)e(s); e(s) = r(s); e(t) = L−1 [e(s)]
1 + GH(s)
(5.36)
La idea principal en los métodos de sintonización basados en criterios óptimos, con-
H(s)
tanto el tiempo continuo t como el error e(t). Los ı́ndices de rendimiento más usados
son: ISE (Integral Squared Error), IAE (Integral Absolute Error), IT AE (Integral
Time Absolute Error), IST E (Integral Square Time weighted Error) e IST 2 E (In-
tegral Square Time–Square weighted Error). Las fórmulas de dichos ı́ndices son:
Z ∞ Z ∞ Z ∞
2
ISE = e (t)dt IAE = |e(t)|dt IT AE = t|e(t)|dt
0 0 0
Z ∞ Z ∞
IST E = t2 e(t)dt IST 2 E = t2 e2 (t)dt (5.37)
0 0
donde el error e(t) puede ser de la forma dada en (5.36). Una vez formulado el ı́ndice
de rendimiento, por ejemplo ISE, el siguiente paso consiste en minimizar dicho ı́ndice:
∂ISE
=0
∂z
donde z puede ser una determinada variable o parámetro del cual se desea deter-
minar su valor extremo; por ejemplo, el parámetro Ti de un controlador PID. A
continuación se presentan algunas reglas de sintonización basados en diversos ı́ndices
de rendimiento.
Método de Shinskey
Las reglas de sintonización de la Tabla 5.8, atribuidas Shinskey (control I y PI) y
Nomura et al. (control PID), se aplican a procesos que poseen una FT de la forma:
Gp (s) = Kp e−τ s . El control se realiza empleando la configuración de la Fig. 5.1(a).
Los trabajos de Shinskey Nomura et al. se encuentran en las referencias de [29].
Tabla 5.8: Reglas de sintonı́a para controlar sistemas tipo Gp (s) = Kp e−τ s .
Ejemplo 5.19
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.44: Control PI del sistema Gp (s) = Kp e−τ s usando ITAE (ejemplo 5.19).
Método de Wang–Juang–Chan
Las fórmulas de sintonización de de Wang–Juang–Chan (citadas en [24]) se basan
en el criterio de optimización de IT AE y se pueden aplicar a sistemas que aceptan
un modelo dinámico como el de la ecuación (5.32). Estas fórmulas son:
como el de la ecuación (5.32) y que estén sujetos a cambios tipo escalón en la señal
de referencia del sistema de control, tal como se muestra en la Fig. 5.1(a).
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
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
−1.5
0 5 10 15 20 25 30 35 40
TIEMPO (sec)
Kp
Fig. 5.45: Control PID del sistema Gp (s) = T s+1 e−τ s usando ISE (ejemplo 5.20).
Método de Kessler
La Tabla 5.11 muestra las fórmulas propuestas por C. Kessler [25] para determinar
los parámetros de un controlador PID basado en criterios óptimos de diseño.
Ejemplo 5.21
108 Control PID SISO
Kp
Gp(s) = Q
(1 + T1 s)(1 + T2 s) µ (1 + tµ s)
Ejemplo 5.22
5.6 Métodos de Sintonización de Controladores PID 109
RESPUESTA AL ESCALÓN
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.46: Respuesta al escalón (gráfico superior) y respuesta controlada (gráfico in-
ferior) empleando un controlador PID de acuerdo al método de Kessler.
0,2 Kp
Gp(s) = = Q
s(1 + s)(1 + 0,2s) s(1 + T2 s) µ (1 + tµ s)
Este sistema, de acuerdo a Kessler, es del tipo PITn con parámetros Kp = 0.2, T2 = 1,
µ = 1, tµ = t1 = Tσ = 0.2, y T2 > Tσ , se puede estabilizar con un controlador PID, tal
como se observa en la Fig. 5.47 (gráfico inferior), resultado que se obtiene ejecutando
el programa kessler1.m listado abajo. Notar que este sistema es no autoregulado, tal
como se observa en gráfico inferior de la Fig. 5.47.
% kessler1.m CONTROL PID EMPLEANDO EL MÉTODO DE KESSLER
clear all; close all; clc;
Kp=0.2; T2=1; mu=1; tmu=0.2; Tsigma=tmu; s=tf(’s’);
Gp=Kp/s/(1+T2*s)/(1+tmu*s); % PROCESO
subplot(211); step(Gp); grid;
110 Control PID SISO
RESPUESTA AL ESCALÓN
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.47: Respuesta al escalón (gráfico superior) y respuesta controlada (gráfico in-
ferior) empleando un controlador PID de acuerdo al método de Kessler.
Kp
Método de Xue para Procesos con FT: s
e−τ s
El método 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
coeficientes empleados por los parámetros de los controladores PD y PID [27]:
a1
ControladorP D : Kc = Td = a 2 τ
Kp τ
5.6 Métodos de Sintonización de Controladores PID 111
a3
ControladorP ID : Kc = Ti = a 4 τ Td = a 5 τ (5.41)
Kp τ
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.
Solución: La Fig. 5.48 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh2.m listado abajo.
0
SALIDA
−1
−2
−3
−4
−5
0 5 10 15 20 25 30 35
TIEMPO (sec)
Kp
Fig. 5.48: Control PID del sistema Gp (s) = s e−τ s (ejemplo 5.23).
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
Método 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 fórmulas para determinar los parámetros
del controlador PD son [27]:
2
Kc = Td = T τ (5.43)
3Kp τ
mientras que para el controlador PID, se tiene:
" 0.65 #
1.111T 1 T Ti
Kc = h i2 Ti = 2τ 1 + Td = (5.44)
Kp τ 2 0.65 τ 4
1 + Tτ
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.
Solución: La Fig. 5.49 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh3.m listado abajo.
% zh3.m CONTROL PID
clear all; close all; clc; s=tf(’s’); Kp=2; tau=2; T=2;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp/(s*(T*s+1))*Gtau; % SISTEMA A CONTROLAR
Kc=1.111*T/(Kp*tau^2)/(1+(T/tau^(0.65)))^2; Ti=2*tau*(1+(T/tau)^(0.65));
Td=Ti/4;
Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID
step(PID,’k’); title(’CONTROL PID’);
xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f zh3
Kp
Método de Xue para Procesos con FT: T s−1
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
5.6 Métodos de Sintonización de Controladores PID 113
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.49: Control PID del sistema Gp (s) = s(T s+1) e−τ s usando ISE (ejemplo 5.24).
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
Ejemplo 5.25
Kp
Se desea controlar el sistema con FT Gp (s) = T s−1 e−τ s , con Kp = 2, T = 2 y τ = 2.
114 Control PID SISO
3
SALIDA
−1
−2
−3
0 10 20 30 40 50 60 70
TIEMPO (sec)
Kp
Fig. 5.50: Control PI-D del sistema Gp (s) = s−1 e−τ s usando ISTSE (ejemplo 5.25).
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 métodos para eliminar en gran medida el efecto windup en sis-
temas de control que emplean controladores PID continuos. Uno de estos métodos
se muestra en el diagrama Simulink de la Fig. 5.53, el cual muestra un controlador
PID con mecanismo anti windup. Los parámetros 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.54, 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 automático, el valor
de la señal de control u(t) puede cambiar de un valor a otro, no importando que la
señal de error e sea cero. Este salto debe de evitarse y en este caso se dice que la
conmutación de manual a automático debe de ser bumpless (sin saltos). Para lograr
116 Control PID SISO
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 SATURACIÓN
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.53: 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 fenómeno es conocido en inglés como derivative kick (puntapié derivativo) y
su efecto se puede apaciguar si es que utilizamos como señal de entrada únicamente
la señal 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 = Kc e + edt − Td
Ti dt
Otra modificación importante es filtrar la acción derivativa del controlador PID origi-
nal mediante un filtro de primer (o segundo) orden para disminuir el ruido derivativo.
Esta caracterı́stica limita la amplificación del ruido de medición de alta frecuencia
en la salida del controlador. La señal de control será ası́ menos ruidosa y la ganancia
en alta frecuencia permanecerá dentro de cotas apropiadas. Un término derivativo
práctico, ya que un derivador puro no es realizable, puede aproximarse mediante un
término de primer orden que posee una constante de tiempo Tf , el cual a menudo se
118 Control PID SISO
P = Kc e(k) (5.48)
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 aproximación trapezoidal (ver ejemplo A.46):
k k−1
Kc X [e(i) + e(i − 1)] Kc X [e(i) + e(i − 1)] Kc T [e(k) + e(k − 1)]
I(k) = T = T +
Ti 2 Ti 2 Ti 2
i=1 i=1
Kc T
I(k) = I(k − 1) + [e(k) + e(k − 1)] (5.49)
2Ti
Kc T d s
La parte derivativa D(s) = − 1+T f s
y(s) se puede escribir como:
v = P + I + D;
if(v < ulow), u = ulow; elseif(v > uhigh), u = uhigh; else u = v;
Tabla 5.14: Método de la curva de reacción para determinar los parámetros 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: Método de las oscilaciones sostenidas para hallar los parámetros 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
ẋ1 = x2
N B n2 KE nKact
ẋ2 = − 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
Señal 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.9. 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 dinámicos 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) = e−s/2
(s + 1)(s + 3s + 6)(s + s + 2) (s + 1)2 (s + 3)3
6 3 3
Gf (s) = Gg (s) = e−s Gh (s) = e−2s
(s + 1)6 (s + 1)(2s + 1) (s + 1)4
7 3s + 6
Gi (s) = e−30s Gj (s) = e−s/10
(17s + 1)(6s + 1)3 (s + 1)(4s + 1)
Problema 5.2
Realizar los controles PID, PI–D 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 sintonización para
cada sistema. El objetivo de control es que la señal controlada siga a una referencia
constante.
Problema 5.3
Realizar los controles PID, PI–D y PI–Dy de los sistemas Ga (s) al Gj (s) empleando
SIMULINK. Usar al menos una regla de sintonización, distinta de las otras, para
cada sistema. El objetivo de control es que la señal controlada siga a una referencia
constante.
Problema 5.4
Realizar los controles PID, PI–D y PI–Dy 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 sintonización para cada sistema. El objetivo de control
es que la señal controlada (la salida) tienda a cero en presencia de un disturbio tipo
escalón a la entrada del sistema. En esta situación, denominada rechazo al disturbio,
la señal de referencia es nula.
Problema 5.5
5.9 Problemas 123
Realizar los controles PID, PI–D y PI–Dy de los sistemas Ga (s) al Gj (s) empleando
SIMULINK. Usar al menos una regla de sintonización, distinta de las otras, para cada
sistema. El objetivo de control es que la señal controlada (la salida) tienda a cero en
presencia de un disturbio tipo escalón a la entrada del sistema. En esta situación,
denominada rechazo al disturbio, la señal de referencia es nula.
Problema 5.6
Realizar los controles PI o PID según corresponda, de los sistemas G k (s) al Gt (s)
empleando el método 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 ??, diseñar controladores PID, PI–D y PI–Dy que cum-
plan el siguiente objetivo de control: la señal controlada x1 debe de seguir a la señal
en estado estable x1e con un porcentaje de de sobrenivel menor del 5 %, tiempo de
estabilización menor de 8 s y error en estado estable nulo. Tener en cuenta que para
la situación descrita, y1 = x1 − x1e debe de ser nulo.
Problema 5.8
Para el sistema del ejemplo ??, diseñar controladores PID, PI–D y PI–Dy que cum-
plan el siguiente objetivo de control: la señal controlada y = ω2 debe de seguir una
señal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiem-
po de estabilización menor de 4 s y error en estado estable nulo.
Problema 5.9
124 Control PID SISO
Para el sistema del ejemplo ??, diseñar controladores PID, PI–D y PI–Dy que cum-
plan el siguiente objetivo de control: la señal controlada x1 debe de seguir una señal
de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de
estabilización menor de 4 s y error en estado estable nulo.
Problema 5.10
Para el sistema de la Fig. 2.14(c), diseñar controladores PID, PI–D y PI–Dy que
cumplan el siguiente objetivo de control: la señal controlada ω debe de seguir una
señal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilización menor de 4 s y error en estado estable nulo.
Problema 5.11
Para el sistema de la Fig. ??(b), diseñar controladores PID, PI–D y PI–Dy que
cumplan el siguiente objetivo de control: la señal controlada ω debe de seguir una
señal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilización menor de 10 s y error en estado estable nulo.
Problema 5.12
Para el sistema del ejemplo ??, diseñar controladores PID, PI–D y PI–Dy que cum-
plan el siguiente objetivo de control: la señal controlada q3 debe de seguir una señal
de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de
estabilización menor de 4 s y error en estado estable nulo.
Problema 5.13
Para el sistema del problema ??, diseñar controladores PID, PI–D y PI–Dy que
cumplan el siguiente objetivo de control: la señal controlada θ debe de seguir una
señal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilización menor de 4 s y error en estado estable nulo.
Problema 5.14
Para el sistema del problema ??, diseñar controladores PID, PI–D y PI–Dy que
cumplan el siguiente objetivo de control: la señal controlada iR debe de seguir una
señal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilización menor de 4 s y error en estado estable nulo.
Capı́tulo 6
Estrategias de Control
r Controlador
y C
T1 u r y
e u
Transmisor Controlador Proceso P
T2
Producto Transmisor Medición
Agua caliente
(a) (b)
r1 u 1= r 2 r1 e1 u1 e2 u2 y2 y1
T1 C1 C1 C2 P2 P1
y1 C2
u2 T2 y2 M2
T3 u 1= r 2
Producto M1
Agua caliente
(c) (d)
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
OSCILACIÓN 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 (gráfico superior) y respuesta
controlada (gráfico inferior) para el caso control con lazo simple del ejemplo 6.1.
y2(t)
1
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)
OSCILACIÓN 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.
r2 = V y 1 e2 = r 2 − y 2 = V y 1 − y 2 (6.1)
u
V r2
y1 y2
q2
Qemador
q1
Horno
Ejemplo 6.2
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 Válvula + caudal y 2
y2
y2
40
35
30
RAZÖN V(t)
25
20
15 y2(t)
V = 10
10
y1(t)
5
0
0 200 400 600 800 1000
TIEMPO [s]
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 más fiel posible al proceso y al disturbio. Evidentemente, en presencia de
errores de modelado, el desempeño 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) = e−s Gp (s) = e−2s
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 fı́sicamente
debido a que su tiempo muerto es positivo.
En un determinado diseño, Ga (s) puede resultar en una función de transferencia
inestable. Esto sucede cuando el modelo Gp (s) del proceso no es de mı́nima fase. Es
decir, cuando posee al menos un cero positivo. Para ilustrar esta situación asumamos
que (notar que Gp (s) es de mı́nima fase):
s−1 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 Estrategias de Control
antic 1.mdl
d
d 5
2s+1 Scope 1
d Gd(s) u
y
−2.5s−5 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)
−2
−4
−6
0 200 400 600 800 1000
TIEMPO [s]
Control Anticipativo–Realimentado
El control anticipativo posee la capacidad de eliminar el efecto de los disturbios
medibles que actúan sobre la señal controlada. Por otro lado, el control realimentado
puede rechazar el efecto de los disturbios no medibles sobre la señal controlada,
ası́ como también 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 simultáneamente control
anticipativo y control realimentado , tal como se ilustra en la Fig. 6.10, 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) también 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.8s−0.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 presión, uno para la aspiración y el
otro para la impulsion. En condiciones normales, la presión se controla con el lazo
de impulsion. Si por alguna circunstancia de falla, cae la presión de aspiración de
la bomba por debajo del lı́mite de seguridad, entonces actúa el conmutador selector
para que entre en funcionamiento el lazo de aspiración en lugar del de impulsión.
El conmutador selector trabaja como sigue. En principio, el conmutador selecciona
la mı́nima de las dos señales que le llegan. Además, el set point del controlador
de aspiración tiene que ser inferior a los valores normales de trabajo. En operación
normal, la señal de salida del controlador de impulsion alcanza sus valores de trabajo.
Si la presión de aspiración baja demasiado hasta llegar a ser inferior a su set point,
entonces el controlador de aspiración genera una señal que es inferior a la que sale
del controlador de impulsion. En esta situación, el conmutador hace que entre en
operación el lazo de control de la aspiración. 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 aplicación del control override aplicado a un generador
de vapor, en donde el conmutador selector LSS hará la conmutación del lazo de
control de presión (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 conmutación también provoca que se cierre la valvula de control.
138 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)
MS
FY
2
FIC
2
FT FT FT
4 5 6 A
Flujo A
FY
B 2
MS B/ A
FY
1
FIC
1
FT FT FT
1 2 3
Flujo B
Selector VA VB
uA uB 100%
Abertura
de válvula
Pr
0% P
P
VA VB 0% 30% 50% 70% 100%
Reactor
u u
^x ^
ESTIMADOR θ ESTIMADOR DE
DE ESTADOS PARAMETROS
U ESTIMACION MODELO
DE U LINEAL
+
Y CONTROLADOR CON + PROCESO Y
+ AUTOSINTONIZACION u U NO LINEAL
-
DISTURBIOS
Notar en la Fig. 6.17 que el proceso puede poseer un modelo dinámico no lineal,
pero debe de ser linealizable. Es decir (ver subsección A.6.2), el modelo no lineal
6.8 Control Adaptativo con Modelo Referencial 141
ẋ = Ax + Bu) y = Cx (6.8)
[G,H,D,C]=c2dm(A,B,C,D,’zoh’);
MODELO
REFERENCIAL
− qd
r
CONTROLADOR u SISTEMA +
ADAPTATIVO NO LINEAL
q
~q
MECANISMO
DE ADAPTACIÓN
disturbio
SP e(t) PV
Gc (s) Gp(s)
e(t) (a)
e1
e3
e2
e(t) (b)
e1
e3
t
e2
Tp
(c)
Fig. 6.19: (a) Sistema realimentado. (b) Respuesta a un cambio escalón. (c) Respuesta
a un cambio en el disturbio.
También existen una serie de parámetros opcionales, a parte de los requeridos, que
deben de ser proporcionados por el usuario. En caso contrario, el programa usa los
valores por defecto, mostrados entre paréntesis en la siguiente lista:
Lı́mite de cambio (10). Este factor hace que los valores de los parámetros del
controlador caigan entre ciertos lı́mites. Si se usa el valor 10 para el factor
lı́mite de cambio, entonces los valores de los parámetros BP, Ti y Td no serán
más grande que diez veces,k o más pequeños que un décimo de sus valores
iniciales.
Capı́tulo 7
H(s)
Proceso Proporcional
Cuando Gp (s) = Kp (proceso proporcional), la ecuación (7.3) toma la forma:
Kc 1
Gc (s) = Kc = (7.4)
s K p Tc
donde T1 y T2 son las dos constantes de tiempo del proceso. Con Gp (s) dado por la
ecuación (7.7), (7.3) toma la forma:
1 T1
Gc (s) = Kc 1 + (Td s + 1) Kc = Ti = T 1 Td = T 2
Ti s K p Tc
(7.8)
7.1 Método de Dahlin 149
Proceso Integral
Cuando:
Kp
Gp (s) =
s(T s + a)
el cual corresponde a un proceso integral, la ley de control (7.3) toma la forma:
1
Gc (s) = Kc (Td s + 1) Kc = Td = T (7.9)
K p Tc
y(s) 1 − T3 s
= (7.12)
r(s) Tc s + 1
Kp e−τ s
Gp (s) = (7.14)
(T s + 1)
En este caso conviene forzar que la señal controlada y(t) sea la curva de reacción de
un sistema de de primer orden con tiempo muerto y ganancia unitaria, de la forma:
y(s) e−τ s
= (7.15)
r(s) Tc s + 1
150 Sı́ntesis de Controladores SISO y MIMO
donde:
T τ Tc
Kc = Ti = T Td = α=
Kp (Tc + τ ) 2 Tc + τ
Ejemplo 7.1
1 1
SALIDA
SALIDA
0.5 0.5
0 0
0 2 4 6 8 10 12 0 2 4 6 8 10 12
TIEMPO [s] (sec) TIEMPO [s] (sec)
CONTROL DE UN PROCESO DE 2do ORDEN CONTROL DE UN PROCESO INTEGRATIVO
1 1
SALIDA
SALIDA
0.5 0.5
0 0
0 2 4 6 8 10 12 0 2 4 6 8 10 12
TIEMPO [s] (sec) TIEMPO [s] (sec)
PROCESO CON RPTA INVERSA O SOBRENIVEL CONTROL DE UN PROCESO CON TIEMPO MUERTO
2 1
SALIDA
SALIDA
1 0.5
0 0
−1 −0.5
−2 −1
0 2 4 6 8 10 12 0 5 10 15
TIEMPO [s] (sec) TIEMPO [s] (sec)
1. No interacción.
2. Exactitud estática.
3. Estabilidad.
ẋ = Ax + Bu y = Cx + Du (7.17)
Controlador Proceso
MIMO MIMO
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.2.1. No Interacción
Los elementos ubicados fuera de la diagonal principal de G(s) determinan el grado
de interacción 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 interacción, entonces, I − G(s)
también debe de ser diagonal. Por consiguiente, su matriz inversa [I − G(s)] −1 es
también diagonal y de la forma:
1
1−G11 (s) 0
1
1−G22 (s)
−1
[I − G(s)] =
..
.
1
0 1−Gpp (s)
Entonces podemos concluir que para exactitud estática (error en estado estable nulo)
se requiere:
lı́m [G(s)] = I (7.25)
s→0
7.2.3. Estabilidad
Para el caso de condiciones iniciales nulas, de (7.26) sabemos que:
Adj [I + Go (s)]
[I + Go (s)]−1 =
det[I + Go (s)]
Entonces, el sistema MIMO de la Fig. 7.3 es estable si todas las raı́ces caracterı́sticas
de (7.29) se localizan en el semiplano izquierdo del plano–s. Si existe al menos una
raı́z en el semiplano derecho del plano–s, entonces el sistema es inestable. Si todas
las raı́ces se localizan en el semiplano izquierdo del plano–s, excepto al menos una
que se ubique en el eje imaginario (el eje vertical del plano–s), entonces el sistema es
oscilante, que para fines de operación del sistema controlado, también es inestable.
Para diseñar la matriz de control Gc (s), podemos asumir una matriz G(s) de la
forma:
1
Tniv s+1 0
G(s) = (7.31)
1
0 Ttemp s+1
La Fig. 7.4 muestra en detalle la interconexión de todos los bloques del sistema de
control MIMO del sistema tanque cerrado. Observar que el controlador MIMO se
sintetiza con cuatro controladores PI.
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.4: Diagrama de bloques del sistema de control PID MIMO diseñado.
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.35)
Tc12
Para programación 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.36)
Tc21 Tc12
donde e1p y e2p son los errores pasados de e1 y e2 respectivamente. La ecuación de
estado del sistema se discretiza como:
x(k) − x(k − 1)
ẋ ∼
= = 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 programación en tiempo real, la ecuación de estado discreta del sistema toma
la forma:
x = x + T (A x + B u) (7.37)
La simulación del sistema se logra ejecutando el programa pidmimotanque.m, el cual
toma en cuenta las ecuaciones discretas (7.36) y (7.37). El resultado de la simu-
lación se muestra en la Fig. 7.6. Observar que el controlador PID MIMO estabiliza
simultáneamente el nivel y la temperatura cumpliendo las especificaciones de diseño
del caso.
% pidmimotanque.m CONTROL PID MIMO DEL SISTEMA TANQUE CERRADO CON AGUA
clear all; close all; clc;
% PARÁMETROS
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.2 Control MIMO vı́a Desacoplamiento 159
1
NIVEL [m]
0.5
0
0 500 1000 1500 2000 2500 3000 3500 4000
TIEMPO [s]
AGUA FRÍA [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.6: Resultado de la simulación 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;
% PARÁMETROS 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 NÚMERO 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;
160 Sı́ntesis de Controladores SISO y MIMO
ẋ = 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 simulación (Fig. 7.7) se observa que las salidas
controladas y1 (gráfico superior izquierda) e y2 (gráfico superior derecha) controla-
dos, cumplen las especificaciones de diseño requeridas.
7.3 Control MIMO con Desacopladores 161
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.38)
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
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.10: (a) Sistema de control MIMO con controlador MIMO Gc . (b) Sistema
equivalente.
−1
y(s) = Gp (s)u(s) u(s) = Gc e(s) y(s) = [I + Gp Gc (s)] Gp Gc (s)
las especificaciones de diseño para los dos canales (salidas) son: tiempo de estabi-
lización menor de 2 s, error en estado estable nulo y porcentaje de sobrenivel también
nulo.
Solución: Ejecutar el programa pmimo1.m, el cual sigue el procedimiento de diseño
arriba establecido. La Fig. 7.11 muestra que las salidas controladas del sistema
cumplen las especificaciones de diseño para las ganancias K1 = 2 y K2 = –1.5.
Es necesario anotar que con estos valores de las ganancias, se satisfacen simultánea-
mente las condiciones H1 > 0, H2 > 0, H3 > 0 y H4 > 0 establecidas en el criterio
de Hurwitz.
166 Sı́ntesis de Controladores SISO y MIMO
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.5. Problemas
Problema 7.1 Sistema Tanque Cerrado
Basado en las técnicas descritas en las secciones 7.3 y 7.4, diseñar los controladores
MIMO para controlar el nivel y la temperatura del sistema tanque cerrado descrito
en la subsección ??. Las especificaciones de diseño tanto para el nivel como para
la temperatura son: 0 % de sobrenivel, error en estado estable nulo y tiempos de
estabilización lo más rapido posible.
Basado en las técnicas descritas en las secciones 7.2, 7.2 y 7.4, diseñar los contro-
ladores PID MIMO para el manipulador polar vertical mostrado en la La Fig. ?? y
descrito en el problema ??. Las especificaciones de diseño de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilización lo más
rapido posible.
Basado en las técnicas descritas en las secciones 7.2, 7.2 y 7.4, diseñar los contro-
ladores PID MIMO para el manipulador polar horizontal mostrado en la La Fig. ??
y descrito en el problema ??. Las especificaciones de diseño de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilización lo más
rapido posible.
Basado en las técnicas descritas en las secciones 7.2, 7.2 y 7.4, diseñar los contro-
ladores PID MIMO para el manipulador robótico traslacional–esférico mostrado en
la Fig. ?? y descrito en el problema ??. Las especificaciones de diseño de las sal-
idas controladas son: 0 % de sobrenivel, error en estado estable nulo y tiempos de
estabilización lo más rapido posible.
Basado en las técnicas descritas en las secciones 7.2, 7.2 y 7.4, diseñar los contro-
ladores PID MIMO para el manipulador robótico esférico de 3GDL mostrado en la
Fig. ?? y descrito en el problema ??. Las especificaciones de diseño de las salidas
controladas son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabi-
lización lo más rapido posible.
Basado en las técnicas descritas en las secciones 7.2, 7.2 y 7.4, diseñar los contro-
ladores PID MIMO para el motor sı́ncrono de imán permanente descrito en el prob-
lema ??. Las especificaciones de diseño de las corrientes iq e id controladas son: 0 %
de sobrenivel, error en estado estable nulo y tiempos de estabilización lo más rapido
posible.
Basado en las técnicas descritas en las secciones 7.2, 7.2 y 7.4, diseñar los contro-
ladores PID MIMO para el manipulador robótico traslacional mostrado en la Fig. ??
y descrito en la sección ??. Las especificaciones de diseño de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilización lo más
rapido posible.
Basado en las técnicas descritas en las secciones 7.2, 7.2 y 7.4, diseñar los contro-
ladores PID MIMO para el manipulador robótico esférico mostrado en la Fig. ?? y
descrito en la sección ??. Las especificaciones de diseño de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilización lo
más rapido posible.
Capı́tulo 8
Control Predictivo
Con relación a la figura 8.1, el principio del control predictivo se caracteriza por
la siguiente estrategia:
w(t+k/t)
r(t+k/t) y(t+k/t)
Error
Horizonte de
optimización
k k+Nu −1 k=t/ t
(b)
Fig. 8.1: Estrategia del control predictivo. (a) Señales: deseada (w(t)), de referencia
(r(t)) y de salida predictiva (y(t + k/t)). (b) Señal de control predictivo u(t).
Entradas y
salidas Salidas + Trayectoria de
pasadas predecidas referencia
MODELO -
Entradas
futuras
OPTIMIZADOR
Funcion
’ de costo restricciones
tal como se ilustra en la Fig. 8.3, donde y(t) es la salida medible del proceso, u(t) es
la entrada al proceso (la señal de control), x(t) es la salida del modelo y n(t) es el
disturbio en el proceso.
n
u x y
MODELO
El Disturbio n(t)
La señal de disturbio n(t) incluye todos los efectos no deseados en la salida y(t).
Esta señal representa el efecto conjunto de todos los disturbios sobre el proceso,
otras entradas no medibles, ruido de medición, errores de modelado, incertidumbres,
etc. Una forma de modelar al disturbio consiste en introducir un ruido blanco e(t)
a un filtro. La salida del filtro, la señal de disturbio n(t) de interés, también es un
ruido pero coloreado. Los conceptos de ruido blanco y ruido coloreado se detallan a
continuación.
El ruido blanco e(t) es una señal aleatoria cuyos valores poseen una media o val-
or esperado nulo y una determinada distribución estadı́stica f (e). Esta distribución
puede ser uniforme, tal como se muestra en la Fig. 8.4 o gaussiana (la famosa cam-
pana). Si analizamos las señales de un ruido blanco en dos bases de tiempo diferentes,
encontraremos que tales valores no guardan correlación estadı́stica alguna entre ellas;
es decir, tales valores no están correlacionados. Sea e un vector de ruido blanco. La
media y la autocorrelación R(τ ) de e se expresan como:
n(t) C(z −1 )
= (8.2)
e(t) D(z −1 )
8.3 El Modelo del Proceso 173
R(τ ) R(τ )
σ2 Autocorrelación
τ τ
0 0
f(e) f(n)
... ... e n
e Filtro e
0 Ruido Ruido 0
blanco coloreado
uniforme
S(ω) S(ω)
Densudad
... ... espectral
de potencia
ω
0 0 ω
Fig. 8.4: Ruido blanco y ruido coloreado, con sus caracterı́sticas estadı́sticas.
donde f (.) es una función que puede estructurarse de diversas formas. Es decir,
f (.) puede ser una ecuación de diferencias, una red neuronal o una caja negra con
parámetros a ser estimados. Notar en (8.7) que cuando no se considera n(t), entonces:
x(t) = y(t), x(t − 1) = y(t − 1), y ası́ sucesivamente.
El Modelo CARIMA
El modelo CARIMA, del inglés Controlled Autoregressive Integrated Moving Av-
erage, es un modelo lineal básico y bastante extendido en su aplicación, y es pre-
cisamente el que emplearemos. Tal modelo CARIMA para un determinado proceso
puede ser representado por:
C(z −1 )
A(z −1 )y(t) = B(z −1 )u(t) + e(t) (8.8)
D(z −1 )
donde z es la variable de desplazamiento de la transformada Z, y:
El origen del término CARIMA se debe a que la ecuación de diferencias del modelo
del proceso presenta tres componentes, a saber, la componente salida autoregresiva
A(z −1 )y(t), de donde despejamos y(t):
donde:
B C
x(t + k/t) = u(t + k/t) n(t + k/t) = e(t + k/t)
AF AD
Ejemplo 8.1
El modelo lineal de orden dos de un servomotor DC puede ser descrito por las si-
guientes ecuaciones en el espacio de estado:
q̇ = w
ẇ = −c1 q − c2 w + c3 u
Ejemplo 8.2
Comparar las respuestas no ruidosa q(t) y ruidosa y(t) del ejemplo anterior. Los
parámetros requeridos se derivan de un proceso de segundo orden cuyas ecuaciones
de estado y de salida son conocidas. La respuesta q(t) se obtiene cuando la entrada al
proceso es una sinusoide u(t), mientras que la ruidosa y(t) se debe a un ruido blanco
gaussiano que se añade a q(t). Asumir un tiempo de muestreo de T = 0.01 s.
Solución: La solución del problema planteado se detalla en el programa ejruido.m.
Los resultados se muestran en la Fig. 8.5. Observar en la Fig. inferior que el ruido
e(t) empleado posee media cero y una función de distribución gaussiana.
176 Control Predictivo
u(t + k/t), k = 0, . . . , N2 − 1
donde :
∆u(t + k/t) = u(t + k/t) − u(t + k − 1/t) (8.16)
con ∆u(t + k/t) = 0 para k ≥ Nu . La trayectoria de referencia está representada por
la ecuación:
r(t + k/t) = αr(t + k − 1/t) + (1 − α)w(t + k/t) (8.17)
evaluada para k = 1, . . . , N2 , con r(t/t) = y(t). Los parámetros de diseño son:
u(t) [V] 1
0
−1
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]
−3
x 10
5
q(t) [rad]
0
−5
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]
10
y(t) [rad]
0
−10
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]
0.5
e(t) [rad]
0
−0.5
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]
e(t) GAUSS.
400
200
0
−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4
<−−−−−− e(t) −−−−−−>
2. El filtro para w(t) se puede implementar fuera del lazo de control, no afectando
de esta manera a la estabilidad del sistema, pero sı́ contribuyendo al rechazo
del ruido.
178 Control Predictivo
N u =4
³±²± µ u
À¾²¿¾ ²ÁÀ ²Âà ŠƲÇÆ È²ÈÉ Ê²ËÊ Ì²ÌÍ Î²ÏΠвÐÑ
u(t+k/t)
donde el subı́ndice forz indica forzada. La respuesta libre ylibre (t + k/t) aparece como
consecuencia de los factores siguientes:
El efecto debido a las señales de control pasadas u(t − 1), u(t − 2), . . .
El efecto debido a un escenario de control futuro. Por defecto se tiene u(t/t) =
u(t − 1), u(t + 1/t) = u(t − 1), u(t + 2/t) = u(t − 1), . . .; esto es, ∆u(t/t) =
∆u(t + 1/t) = . . . = ∆u(t + Nu − 1/t) = 0.
El efecto debido a las perturbaciones futuras del ruido n(t + k/t).
Las condiciones iniciales a tomar son: y(t), y(t − 1), . . . , y(t − n), donde n es el orden
del proceso.
La componente forzada yf orz (t+k/t) aparece debido al efecto causado por cambios
consecutivos de la variable manipulada, tanto en el tiempo actual como en el tiempo
futuro. Es decir, originado por las acciones de control ∆u(t/t), ∆u(t + 1/t), . . . ,
∆u(t + Nu − 1/t), con las condiciones iniciales: y(k) = y(k − 1) = · · · = y(k − n) = 0.
La Fig. (Fig. 8.7(c)) muestra el efecto conjunto de las respuestas libre y forzada
en un proceso lineal, donde tales respuestas se pueden sumar gracias a que se cumple
el principio de superposición. Desafortunadamente, el principio de superposición no
es válido para procesos no lineales.
Por consiguiente, el efecto acumulativo de la acción conjunta de los escalones es:
yf orz (t + k/t) = gk ∆u(t/t) + gk−1 ∆u(t + 1/t) + · · · + gk−Nu +1 ∆u(t + Nu − 1/t) (8.20)
8.4 El Controlador Predictivo 179
y
3
Respuestas libre más forzada
2 Señal de referencia
1
Respuesta libre
0 Respuesta forzada
t
u Señales de control para
2 la respuesta lforzada
1
Señales de control para
0 la respuesta libre
t
donde los parámetros g1 , . . . , gN2 son los coeficientes de la respuesta del sistema al
escalón unitario. Es decir, la respuesta de la salida del sistema a los cambios tipo
escalón unitario en la entrada.
Para un sistema lineal, la respuesta al escalón unitario no depende del punto de
operación. Este punto es fijo y puede ser calculado fuera de lı́nea (“off-line”) usando
el modelo del sistema.
Para un sistema no lineal, como en el caso de una red neuronal, la respuesta al
escalón unitario es diferente para cada punto de operación. Esta respuesta tiene que
ser calculada en cada tiempo de muestreo (“on-line”), aplicando en cada instante de
muestreo un cambio escalón (ficticio) a la entrada actual del proceso y calculando su
efecto en la salida respectiva.
De la ecuación (8.20) se puede obtener la siguiente expresión para la componente
forzada:
Yf orz = GU (8.21)
donde:
T
Yf orz = yf orz (t + N1 /t) yf orz (t + N1 + 1/t) · · · yf orz (t + N2 /t)
g N1 gN1 −1 ... ...
gN1 +1 g N1 ... ...
G=
...
... ... ...
g N2 gN2 −1 . . . gN2 −Nu +1
T
U= ∆u(t/t) ∆u(t + 1/t) · · · ∆u(t + Nu − 1/t)
y empleando la ecuación (8.19), podemos escribir:
Y = Ȳ + GU (8.22)
180 Control Predictivo
donde:
Ejemplo 8.3
Cuando la entrada es u(k) = 1 para todo k ≥ 0, entonces y(k) = g(k) para todo
t ≥ 0. Luego, los coeficientes g(t) se determinan de:
(R − Y)T (R − Y) + λUT U = [(R − Ȳ) − GU]T [(R − Ȳ) − GU] + λUT U (8.23)
Ejemplo 8.4
Determinar la matriz dinámica de control para el proceso del ejemplo 8.1 empleando
los datos siguientes: N1 = 7, N2 = 12, Nu = 6.
Solución: La solución del problema planteado se detalla en el programa lcm1.m
listado a continuación.
% lcm1.m CÁLCULO DE UNA MATRIZ DINÁMICA DE CONTROL
clear all; close all; clc;
% PROCESO CONTINUO DE SEGUNDO ORDEN Y SU MODELO DISCRETO
Ac=[0 1;-14.4007 -1.2707]; Bc=[0;30.4696]; Cc=[1 0]; Dc=[0];
T=0.01; [G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,’zoh’); [num,den]=ss2tf(G,H,C,D);
a1=den(2); a2=den(3); b1=num(2); b2=num(3);
% CONDICIONES INICIALES NULAS
qp=0; qpp=0; up=0; upp=0;
yp=0; ypp=0; yppp=0; ep=0; epp=0;
N1=6; N2 =12; Nu =7; % HORIZONTES DE CONTROL Y DE OPTIMIZACI ÓN
% RESPUESTA AL ESCALON
g(1) = b1; g(2) = -a1*b1 + b1 + b2;
for k=3:12; g(k) = -a1*g(k-1) -a2*g(k-2) + b1 + b2; end
% LUEGO, LA MATRIZ G TIENE LA FORMA:
G = [g(N1) g(N1-1) g(N1-2) g(N1-3) g(N1-4) g(N1-5) 0
g(N1+1) g(N1) g(N1-1) g(N1-2) g(N1-3) g(N1-4) g(N1-5)
182 Control Predictivo
IR R L IM
+ Kω
+
v C e
-
-
T ω2
J
ω1
ẋ = Ax + Bu; y = Cx
1
− RC − C1 0
Kω −Ke Kω
A= LKω +Kt Ke 0 LKω +Kt Ke
Kt
0 J 0
1
RC
B = 0 ; C= 0 0 1
0
Siguiendo el procedimiento de diseño propuesto, en el programa p11pred1.m, cuyo
listado se muestra abajo, se diseña un sistema de control predictivo con fuerza de
control escalar, para controlar la velocidad angular x3 = ω2 del eje del motor mediante
el voltaje de entrada v, el cual puede variar entre ± 100 volt. Las especificaciones de
diseño alcanzadas son: tiempo de estabilización de la señal controlada x 3 , menor que
6 s, respuesta con sobrepico máximo de 5 %, y error en estado estacionario nulo, tal
como se ilustra en la Fig. 8.9.
% p11pred1.m CONTROL DE LA VELOCIDAD DE UN PROCESO ELECTROMEC ÁNICO
clear all; close all; clc;
% MODELO DEL PROCESO EN TIEMPO CONTINUO
J = 0.01; Ke = 0.01; Kt = 0.01; R = 12; C = 0.5; L = 0.5; Kw = 1.8;
Ac = [-1/(R*C) -1/C 0;Kw/(L*Kw+Kt*Ke) 0 -Ke*Kw/(L*Kw+Kt*Ke);0 Kt/J 0];
Bc = [1/(R*C);0;0]; Cc = [0 0 1]; Dc = [0]; T=0.2; % TIEMPO DE MUESTREO
% MODELO LINEAL DISCRETO
[G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,’zoh’); [numd,dend]=ss2tf(G,H,C,D);
a1=dend(2); a2=dend(3); a3=dend(4); b1=numd(2); b2=numd(3); b3=numd(4);
% RESPUESTA AL ESCALON
% RESPUESTA AL ESCALON Y MATRIZ GANANCIA GG
g(1) = b1; g(2) =-a1*b1+b1+b2; g(3)=-a1*g(2)-a2*g(1)+b1+b2+b3;
for k=4:10; g(k) =-a1*g(k-1)- a2*g(k-2)-a3*g(k-3)+b1+b2+b3; end;
N1 =1; N2 =10; Nu =1; % HORIZONTES
for k=1:4
yf(k)=0; y(k)=0; r(k)=0; u(k)=0; % CONDICIONES Y PAR ÁMETROS INICIALES
end
du(1)=0; alf = 0.85; lambda = 0; MM=1000;
% LAZO DE CONTROL
for t =4:MM+3
for k=1:N2
W(t+k)= 4*sign(sin(0.01*t)); % TRAYECTORIA DESEADA
r(t+k) = alf*r(t+k-1) + (1-alf)*W(t+k); % TRAYECTORIA DE REFERENCIA
yf(t+k) = -a1*yf(t+k-1)-a2*yf(t+k-2)-a3*yf(t+k-3)+(b1+b2+b3)*u(t-1);
end % yf ES LA RESPUESTA LIBRE
% LEY DE CONTROL ESCALAR
du(t) = (...
g(1)*(r(t+1)-yf(t+1))+g(2)*(r(t+2)-yf(t+2))+g(3)*(r(t+3)-yf(t+3))+ ...
184 Control Predictivo
g(4)*(r(t+4)-yf(t+4))+g(5)*(r(t+5)-yf(t+5))+g(6)*(r(t+6)-yf(t+6))+ ...
g(7)*(r(t+7)-yf(t+7))+g(8)*(r(t+8)-yf(t+8))+g(9)*(r(t+9)-yf(t+9))+ ...
g(10)*(r(t+10)-yf(t+10)))/(g(1)^2+g(2)^2+g(3)^2+g(4)^2+g(5)^2+ ...
g(6)^2+g(7)^2+g(8)^2+g(9)^2+g(10)^2+lambda);
u(t) = u(t-1) + du(t);
% LIMITADOR MÁS LA ECUACIÓN DE DIFERENCIAS DEL PROCESO
if(u(t) > 100); u(t)=100; elseif(u(t) < -100); u(t) = - 100; end
y(t+1)=-a1*y(t)-a2*y(t-1)-a3*y(t-2)+b1*u(t)+b2*u(t-1)+b3*u(t-2);
end % FIN DEL LAZO
% GRAFICOS
ejex=linspace(0,MM*T,MM-3);
subplot(2,1,1); plot(ejex,W(4:MM),ejex,y(4:MM)); grid
ylabel(’Velocidad [rad/s]’); xlabel(’Tiempo [s]’); subplot(2,1,2)
plot(ejex,u(4:MM)); grid; xlabel(’Tiempo [s]’);
ylabel(’Voltaje de control [V]’); print -deps -f p11pred1
5
Velocidad [rad/s]
−5
0 20 40 60 80 100 120 140 160 180 200
Tiempo [s]
50
Voltaje de control [V]
−50
0 20 40 60 80 100 120 140 160 180 200
Tiempo [s]
θ 1.5
=
Vo s(0.2s + 1)
186 Control Predictivo
Velocidad [rad/s]
0
−5
0 20 40 60 80 100 120 140 160 180 200
Tiempo [s]
40
Voltaje de control [V]
20
−20
−40
0 20 40 60 80 100 120 140 160 180 200
Tiempo [s]
La Fig. 8.11 muestra una turbina de agua unido a un generador eléctrico, cuya
FT es:
M (s) 6
=
ω(s) 3,2s + 1
donde M (s) es el momento rotacional generado por la turbina gracias a la acción
del flujo de agua y ω(s) es la velocidad angular del generador. Diseñar y simular dos
sistemas de control predictivo, uno con ley de control escalar y otro con ley de control
matricial, para controlar el momento M (s), cumpliendo determinadas especificaciones
de diseño dictadas por el usuario.
Generador
eléctrico
Turbina
Entrada
de agua
M
ω
Desague
Diseñar y simular dos sistemas de control predictivo, uno con ley de control escalar
y otro con ley de control matricial, para controlar la posición x 2 (t) de la masa M2 del
proceso hidráulico mostrado en la Fig. 2.28, cumpliendo determinadas especificaciones
de diseño dictadas por el usuario. Se sabe que M1 = 500 kg, A1 = 0.4 m2 , M2 =
2.2M1 , A2 = 2.1A1 , B = B1 = B2 = 12.3 N/m/s, y K 3.8 N/m.
Diseñar y simular dos sistemas de control predictivo, uno con ley de control es-
calar y otro con ley de control matricial, para controlar el voltaje V (t) del generador
mostrado en la Fig. 2.29, actuando sobre el flujo de agua q1 (t), cumpliendo determi-
nadas especificaciones de diseño dictadas por el usuario. Se sabe que el radio de la
sección del tanque es de 0.7 m, Ra = Rc = 2.4 ohm, La = Lc = 3.5 H, Kb = 2.7
V/rad/s y JT = 5.1 N–m/rad/s2 .
Diseñar y simular dos sistemas de control predictivo, uno con ley de control es-
calar y otro con ley de control matricial, para controlar la posición angular θ(s) del
sistema electromecánico mostrado en la Fig. 2.30, cumpliendo determinadas especi-
ficaciones de diseño dictadas por el usuario. Cada controlador predictivo a diseñar,
debe sustituir al amplificador de ganancia A. Datos adicionales: R = 4 ohm, L =
0.7 H, KT = 1.8 N–m/rad, B = N/rad/s, M = 20 kg, Km = 0.7 N–m/A, J = 4.8
N–m/rad/s2 y r = 0.1 m.
La dinámica de un avión puede ser descrita por varios conjuntos acoplados de ecua-
ciones diferenciales no lineales. Sin embargo, bajo ciertas suposiciones, tales ecua-
ciones pueden ser desacopladas y linealizadas para obtener dos conjuntos: las ecua-
ciones longitudinales y las ecuaciones laterales. El control de la inclinación θ del
avión mostrado en la Fig. 8.12 es un problema longitudinal. Asumiendo que el avión
está en su velocidad de crucero (altura y velocidad constantes), entonces la resistencia
de arrastre y la fuerza impulsora se cancelan mientras que el empuje de elevación se
iguala con el peso (ver figura 8.12). Con tales consideraciones, se puede asumir que
188 Control Predictivo
Empuje
x
θ
Impulso α
γ
e
x’
Arrastre
δe
z
Peso
z’
las ecuaciones longitudinales del movimiento del avión (los datos corresponden a un
avión comercial Boeing) son:
α̇ = −0.313α + 56.7q + 0.232δe
q̇ = −0.0139α − 0.426q + 0.0203δe
θ̇ = 56.7q
donde α es el ángulo de ataque, q es la relación de inclinación, θ es el ángulo de
inclinación y δe es el ángulo del deflector de elevación. La función de transferencia
del proceso es:
θ(s) 1,151s + 0,1774
= 3
δe (s) s + 0,739ss + 0,921s
mientras que sus ecuaciones de estado y de salida son:
α̇ −0,313 56.7 0 α 0.232
q̇ = −0.0139 −0.426 0 q + 0.0203 δe
θ̇ 0 56.7 0 θ 0
α
θ= 0 0 1 q
θ
Diseñar y simular dos sistemas de control predictivo, uno con ley de control escalar y
otro con ley de control matricial, para controlar la inclinación θ del avión mostrado
en la Fig. 8.12, por medio de δe , cumpliendo determinadas especificaciones de diseño
dictadas por el usuario.
La Fig. A.17 muestra dos tanques idénticos colocados en cascada. La sección hori-
zontal A=9 m2 de cada tanque es constante. El objetivo de control es controlar la
altura H2 empleando el flujo Qo . La deducción del modelo linealizado del proceso se
derivó en el ejemplo A.50. Diseñar un controlador predictivo del tipo escalar y otro
del tipo matricial, con los requerimientos siguientes: tiempo de estabilización menor
que 15 s, sobreimpulso menor al 10 % y error en estado estable nulo. Estas condiciones
de diseño deben mantenerse cuando se cambie la referencia (por ejemplo de 3 a 2 m).
Además, el flujo de entrada (la señal de control) no debe sobrepasar los 3 m 3 /s.
8.7 Problemas Propuestos 189
d
v
v Deposito
(b)
d/v
u hs hr vr
1 10
e -(d/v)s
s+1 s + 0.5
Horno Tiempo muerto Sensor
Las especificaciones de diseño para ambos sistemas de control son: tiempo de estabi-
lización menor que 40 s, error en estado estacionario nulo y porcentaje de sobreimpul-
so menor al 5 %. La selección del tiempo de muestreo y de los horizontes de control
es a conveniencia del diseño.
Las ecuaciones del modelo linealizado para controlar la posición angular del cañón
ubicado en la la torreta de un tanque mediante un actuador hidráulico son las si-
guientes (ver figura 8.14):
θ̇ = ω
ω̇ = p + dτ
Km Km
ṗ = −Ωm p − q+ ω + dp
J J
q̇ = −Kv Lv q − Kv K∆p Jp + Kv u + dq ; Lv = 1
Angulo de
θ ’
elevacion
’
Azimut: angulo de
posicionamiento horizontal
(a) Diseñar un sistema de control predictivo con fuerza de control escalar y otro
con fuerza de control matricial, para controlar el ángulo de elevación θ con
las especificaciones siguientes: tiempo de estabilización menor que 5 s, mı́nimo
sobreimpulso y error en estado estacionario nulo. Los disturbios tipo escalón
pueden actuar simultáneamente y pueden ser positivos o negativos. El sistema
de control diseñado debe ser capaz de minimizar sus efectos. La selección de los
horizontes de control es a conveniencia del problema planteado.
(b) Lo mismo que (a), pero en este caso para controlar el ángulo azimutal.
Problema 8.11
La Fig. A.2 muestra un carro de masa m = 1000 kg desplazándose con una velocidad
v gracias a la acción de la fuerza u producida por su motor. Si se desprecia la inercia
de las ruedas y se asume que la fuerza de fricción bv, donde b= 50 N-s/m es el
coeficiente de fricción, es lo único que se opone al movimiento del carro, entonces la
dinámica del proceso puede modelarse como (ver ejemplo A.9):
dv
mv̇(t) + bv(t) = u(t); v̇ =
dt
Diseñar un sistema de control predictivo con fuerza de control escalar y otro con
fuerza de control matricial, para controlar la velocidad del móvil con mı́nimo tiempo
de estabilización y mı́nimo sobreimpulso. La señal de referencia puede ser arbitraria
8.7 Problemas Propuestos 191
Control Fuzzy
En este capı́tulo se diseñan varios sistemas de control fuzzy, donde el controlador del
sistema es del tipo fuzzy. Tal controlador se compone de un fuzzyficador que convierte
las variables de entrada en variables fuzzy de entrada, un conjunto de reglas fuzzy para
convertir las entradas fuzzy en salidas fuzzy, y un defuzzificador para generar las señales
de control.
Intensivos trabajos de simulación van a validar los diseños propuestos.
generar señales que se puedan implementar en tiempo real. Por ejemplo, es común
tomar el promedio ponderado de las variabes ya procesadas con las reglas fuzzy.
La ia mh
θm mh
ωm
ÕOÔÕOÔÕOÔ ÕOÔÕOÔÕOÔ ÕÔÕÔÕÔ
+ +
×OÖ×OÖ ×OÖ×OÖ ×Ö×Ö
N1
OØØOÙØ ØOØOÙØ ØØÙØ θ L θ
u KA V
_b ÙOÙOÙOÙOÙÙ ω mb
ÒOÒOÒOÒOÓÓ ÒÒÓÓ
L
ÛÚOÛÚOÛOÚ ÛOÚÛOÚÛOÚ ÛÚÛÚÛÚ
_
Tm Bm Tg1 τ
L
Jm BL
N2 T Bg TL J
Ra g2 L
Jg
Tg2 = Jg θ̈ + Bg θ̇ + TL (9.4)
Fig. 9.3):
TL = JL θ̈ + BL θ̇ + τL (9.5)
L
τL = mb g senθ + mh g (L + rh )senθ = Q sen θ (9.6)
2
L
Q = mb g + mh g (L + rh )
2
donde JL y BL representan el momento de inercia y la constante de fricción viscosa
de la carga no lineal (brazo más efector final), g es la constante gravitacional, m b
y mh denotan las masas del brazo y del efector final (esta masa también incluye la
masa de la carga en el efector) respectivamente, y rh denota la distancia desde el
extremo del brazo al centro de masa de mh . Notar en (9.6) que el torque τL se debe
rh
θ _L
2
mhg
_L τL
2
mb g
a las fuerzas ejercidas por los pesos del brazo y de la esfera. Ası́, el torque m b g L senθ
2
es el producto del peso mb g del brazo por su brazo de palanca L senθ 2 , mientras que
el torque mh g (L + rh )senθ es el producto del peso mh g del efector por su brazo de
palanca (L + rh )senθ.
El momento de inercia JL de la carga es la suma del momento de inercia del brazo
Jb más el momento de inercia del efector Jh . Por otra parte, el teorema de los ejes
paralelos, establece que el momento de inercia de una masa m alrededor de un eje de
rotación que no pasa por su C.M. está dado por:
J = Jo + m a 2 (9.7)
donde Jo es el momento de inercia de m alrededor del eje de rotación que pasa por
su centro de masa y a es la distancia entre los dos ejes. Asumiendo que la masa
mb del brazo se concentra en su C.M., su momento de inercia con relación a un eje
perpendicular que pasa por su C.M. es [1]:
1
Jbo = mb L2 (9.8)
12
Considerando que la masa del brazo está distribuida a lo largo de su longitud y
aplicando el teorema de los ejes paralelos, el momento de inercia Jb con respecto al
198 Control Fuzzy
Del mismo modo, asumiendo que la masa mh del efector está concentrada en su C.M.,
entonces:
Jh = Jho + mh (L + rh )2 (9.10)
donde Jho es el momento de inercia del efector con relación a un eje de rotación
que pasa por su C.M. Si consideramos por ejemplo, sin perder generalidad, que el
efector es una masa esférica de radio rh , su momento de inercia alrededor de un eje
de rotación que coincide con su diámetro [1] es:
2
Jho = mh rh2 (9.11)
5
donde:
Jeq = n2 Jm + Jg + JL Beq = n2 Bm + Bg + BL
dia
Va = ia Ra + La + Vb (9.13)
dt
Vb = Kb ωm = Kb nω = Kb nθ̇ (9.14)
Va = K A u (9.15)
El Proceso de Fuzzyfication
Fig. 9.4: Funciones de membresia para las entradas (error e(t) y de(t)/dt) y para la
salida u(t).
Tabla 9.2: Conjunto de reglas del controlador fuzzy mostradas en la forma de una
matriz de memoria asociativa fuzzy (“FAM-matrix”).
de \ e NL NM NS ZE PS PM PL
DNL NX NX NX NX NS XE PX
DNM NX NX NL NL NS PS PX
DNS NX NL NL NM PS PS PX
DZE NX NL NL ZE PL PL PX
DPS NX NS NS PM PL PL PX
DPM NX NS PS PL PL PX PX
DPL NX ZE PS PX PX PX PX
Tabla 9.4: Rango de las funciones de membresia para la derivada del error de(t)/dt.
Tabla 9.5: Rango de las funciones de membresia para la señal de control u(t).
0.8
Posición angular (rad)
0.6
0.4
0.2
0
0 1 2 3 4 5 6
1.4
Señal de control u (voltios)
1.2
0.8
0.6
0.4
0.2
0
0 1 2 3 4 5 6
Tiempo en segundos
Fig. 9.5: Posición angular controlada en la simulación del sistema de control fuzzy
del brazo robótico de 1GDL, para una señal de referencia fija.
u1=(w11*UNX+w12*UNX+w13*UNX+w14*UNX+w15*UNS+w16*UZE+w17*UPX+ ...
w21*UNX+w22*UNX+w23*UNL + w24*UNL + w25*UNS + w26*UPS + w27*UPX + ...
w31*UNX+w32*UNL+w33*UNL + w34*UNM + w35*UPS + w36*UPS + w37*UPX + ...
w41*UNX+w42*UNL+w43*UNL + w44*UZE + w45*UPL + w46*UPL + w47*UPX + ...
w51*UNX+w52*UNS+w53*UNS + w54*UPM + w55*UPL + w56*UPL + w57*UPX + ...
w61*UNX+w62*UNS+w63*UPS + w64*UPL + w65*UPL + w66*UPX + w67*UPX + ...
w71*UNX+w72*UNS+w73*UPS + w74*UPL + w75*UPL + w76*UPX + w77*UPX);
9.2 Diseño de Sistemas de Control Fuzzy 207
Sistemas Continuos
Este Capı́tulo presenta la matemática requerida en los Capı́tulos siguientes. Los tópi-
cos se desarrollan principalmente en el dominio continuo. El tópico discretización directa
se desarrolla en el dominio discreto. Los numerosos ejemplos presentados se resuelven en
unos casos analı́ticamente, en otros con ayuda del software MATLAB y en la mayorı́a de
los casos empleando ambos métodos.
Los temas a tratar son: transformada de Laplace, álgebra de bloques, matrices y
determinantes, variables de estado, discretización directa, sistemas con tiempo muerto,
linealización de sistemas continuos y estabilidad.
u
u
Agua
t
y
y
Vapor
t
t0 t1 t2 t3
(a) (b)
Ejemplo A.1
Ejemplo A.4
donde g(t) es una función arbitraria pero continua en t = T . Se sabe además que la
función 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.5
donde a es una constante real y positiva, µ(t) es la función escalón unitario definida
en el ejemplo A.1 y g(t) es una función arbitraria dependiente del tiempo.
Ejemplo A.6
s+3 Aw
G1 (s) = G2 (s) =
s2 (s − a2 ) + w2
Ejemplo A.7
La figura A.2 muestra un móvil de masa m = 1000 kg desplazándose con una velocidad
v gracias a la acción de la fuerza u producida por su motor. Si se desprecia la inercia
de las ruedas y se asume que la fuerza de fricción bv es lo único que se opone al
movimiento, donde b= 50 N–s/m es el coeficiente de fricción, entonces la dinámica
del sistema puede modelarse como:
dv(t)
mv̇(t) + bv(t) = u(t) v̇(t) =
dt
Determine la velocidad v(t) y la aceleración v̇(t) del carro como respuesta a una
fuerza u(t) tipo escalón 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
Solución: Teniendo en cuenta que v(0) = 2 m/s, V (s) = L[v(t)] y U (s) = L[u(t)],
apliquemos la propiedad de derivación (2) de la Tabla A.2 en la ecuación dinámica
del carro:
m(sV (s) − v(0)) + bV (s) = U (s)
A.1 La Transformada Unilateral de Laplace 213
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
escalón. La salida v(t) se determina usando la Tabla A.1. Para el primer término de
V (s) empleamos la fórmula (14) con n = 1, mientras que para el segundo término
empleamos la fórmula (3). Por consiguiente:
1 b b
v(t) = L−1 [V (s)] = (1 − e− m t ) + v(0)e− m t
b
La derivada de v(t) produce la aceleración 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 móvil del problema anterior.
Solución: El valor inicial de v(t) se determina de:
Y (s) K
=
U (s) τs + 1
Ejemplo A.9
Determinar la FT del móvil del ejemplo A.7. Luego determine la velocidad v(t) del
móvil partiendo de su FT, como respuesta a una fuerza u(t) tipo escalón de 1 N.
214 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 escalón 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 móvil del problema anterior.
Solución: El valor inicial se determina de:
B(s) R(s)
=k+
A(s) A(s)
R(s)
donde k es una constante y la fracción A(s) resulta propia.
Ejemplo A.11
A.1 La Transformada Unilateral de Laplace 215
No G(s) g(t)
(1) 1 δ(t)
1
(2) s µ(t)
1
(3) s+a e−at
ω
(4) s2 +ω 2
sen ωt
s
(5) s2 +ω 2
cos ωt
s cos α−ωsenα
(6) s2 +ω 2
cos(ωt + α)
ω
(7) (s+a)2 +ω 2
e−at senωt
(s+a)
(8) (s+a)2 +ω 2
e−at cosωt
(s+a)cosα−ωsenα
(9) (s+a)2 +ω 2
e−at cos(ωt + α)
s [at−2+(2+at)e−at ]
(15) s2 (s+a)2 a3
1
(16) (s+a)(s+b) (e−at − e−bt )/(b − a)
s
(17) (s+a)(s+b) (be−bt − ae−at )/(b − a)
1 1 be−at −ae−bt
(18) s(s+a)(s+b) ab 1 − b−a
1 t 1 1 1 1 −at 1 −bt
(19) s2 (s+a)(s+b) ab − a2 b
− ab2
+ b−a a2
e − b2
e
1 e−at e−bt e−ct
(20) (s+a)(s+b)(s+c) (b−a)(c−a) + (a−b)(c−b) + (a−c)(b−c)
s ae−at be−bt ce−ct
(21) (s+a)(s+b)(s+c) (a−b)(c−a) + (b−a)(c−b) + (c−a)(b−c)
216 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 s−1
A manera de ilustración, 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 relación
resultante se evalúa con la solución de la ecuación (s + 1) = 0; es decir, se evalúa en
A.1 La Transformada Unilateral de Laplace 217
No Descripción 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 s−1 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
Solución: 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 raı́ces 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 fácil demostrar que:
−0.5i 0.5i 1 2 1 ωn2
+ = =
s+1−i s+1+i 2 (s2 + 2s + 2) 2 s2 + 2ζωn s + ωn2
√ √
donde, por igualación: ω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 + 2ζωn s + ωn2 ωd
1 1
L−1 = e−t L−1 = te−t
s+1 (s + 1)2
donde, ωd = 1 y δ = 1, se calcularon empleando las fórmulas al final de la continuación
de la Tabla A.1. Por consiguiente, juntando los resultados anteriores se obtiene:
g(t) = δ(t) + e−t sen t − 2e−t + te−t
A.1 La Transformada Unilateral de Laplace 219
Ejemplo A.14
d2 y(t) dy(t)
2
+ 11 + 24y(t) = e−6t
dt dt
dy(0)
con las condiciones iniciales nulas: dt = 0, y(0) = 0.
2 dy(0) 1
s Y (s) − sy(0) − + 11(sY (s) − y(0)) + 24Y (s) =
dt s+6
3 −3t 1 1
y(t) = e + e−8t + e−6t
80 60 48
x1 (s) G(s)
x2 (s) = G(s)e(s) = G(s)(x1 (s) ± H(s)) → =
x2 (s) 1 ∓ GH(s)
220 Sistemas Continuos
u e y u y r e r e
G1 G2 G1 G2 G G
r r
u G1 e G 2 y u y 1/G
G 1G 2 r e
G r e
(a) G
1
r e u r u r (d) r 1/G
G G
y r e
y G u r u
G G
r 1 e G u r G u 1 u y y
u 1/G
1 G r G u
y 1 r 1 e G u
y
(b)
1
r y y
r e e (e) 1/G
G G
r r r e y
G G r G y
r G e r e 1 GH
G H
1
e G r 1 e y r y
e G
G
(c) H (f) 1 GH
Los elementos de una matriz pueden ser números reales o complejos, funciones, otras
matrices, etc. Cuando n = 1, A se convierte en un vector fila. Cuando m = 1, A
toma la forma de un vector columna. Los vectores se denotan en negrita. Por ejemplo,
los vectores columna x(q) y fila y(q) de orden n y dependiente del argumento q se
representan como:
x1 (q)
x(q) = ... y(q) = y1 (q) · · · yn (q)
xn (q)
A.2 Matrices y Determinantes 221
Por ejemplo, la siguiente multiplicación es válida: A2×3 B3×1 = C2×1 , tal como se
observa a continuación.
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 multiplicación 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 multiplicación no es conmutativa; es decir:
AB 6= BA
222 Sistemas Continuos
Ejemplo A.15
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
Solución:
1 0 2
A∗ = A A H = AT = 2 4 6
3 −2 −9
1−j j 2−j 1+j 3 3−j
BT = 3 4 6+j B∗ = −j 4 −2 − j
3 + j −2 + j −9 2+j 6−j −9
1+j −j 2+j
H T ∗
B = (B ) = 3 4 6−j
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 ) más otra matriz antihermitiana C = 12 (A − AH ). Es
decir:
1 1
A = B + C = (A + AH ) + (A − AH )
2 2
Ejemplo A.17
Solución:
H 1−j 6−j
∗ T
A = (A ) =
2+j 5+j
1 H 1 4−j
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 = B−1 A−1 ; (AT )−1 = (A−1 )T
1
((A∗ )T )−1 = ((A−1 )∗ )T ; det(A−1 ) =
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 número o función compleja donde <e[G] = Gr es su parte
real e =m[G] = Gi es su parte imaginaria. El valor absoluto o módulo o magnitud
de G se denota como |G| mientras que el ángulo 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
Solución: El programa calmat.m calcula la matriz B pedida. Además, por ser her-
mitiana: M = MH , y por ser antihermitiana: N = −NH . Entonces basta comprobar
que M − MH = 0 y que N + NH = 0.
228 Sistemas Continuos
Ejemplo A.21
La condición 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) ≤ mı́n(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 también como valor propio,
modo, eigenvalue, o raı́z caracterı́stica, es un escalar λ que permite una solución no
trivial de la ecuación:
Ax = λx (A.22)
Factorizando x en (A.22) obtenemos la ecuación caracterı́stica de A:
det(λI − A) = 0 (A.23)
Ejemplo A.28
232 Sistemas Continuos
Ejemplo A.29
Ejemplo A.30
det(A) = λ1 λ2 . . . λn ; i = 1, . . . , n
Pseudoinversas
El concepto de pseudoinversa de una matriz es la generalización de su inversa y
resulta útil para encontrar una solución en un conjunto de ecuaciones algebraicas en
donde el número de variables desconocidas y el número de ecuaciones linealmente
independientes no son iguales. Sea la ecuación:
Ax = b
Ejemplo A.32
Ejemplo A.33
dx
= ẋ = Ax + Bu
dt
en otro sistema descrito por la ecuación:
dx∗
= ẋ∗ = A∗ x∗ + B∗ u
dt
donde: x = Ex∗ es una transformación lineal, A∗ = E−1 AE = Λ y B∗ = E−1 B.
Esta transformación se denomina canónica.
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 relación E −1 AE = Λ.
Sin embargo, la matriz de eigenvectores E no es unitaria (EH 6= E−1 ).
A.3 Variables de Estado 235
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 ÍCES 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 RAÍCES 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 RAÍCES REPETIDAS => inv(E3) ~= E3’
ÝÝÜÝ
ÜÜ qi
àßàßàß
àßàßàß
A
ẋ = Ax + Bu y = Cx + Du (A.32)
A.3 Variables de Estado 237
ẋn×1 = An×n xn×1 + Bn×m um×1 yp×1 = Cp×n xn×1 + Dp×m um×1
Ejemplo A.36
La Fig. A.6 muestra un sistema masa–resorte compuesto por una masa M unida
a un resorte de constante K. Determinar analı́tica y gráficamente su plano de fase
mostrando las correspondientes trayectorias de estado y sus puntos de equilibrio.
Notar que el sistema masa–resorte es no forzado porque no existe fuerza exterior
alguna actuando sobre el mismo.
z
K=1
M=1 z0
Por consiguiente, las ecuaciones de estado y salida del sistema masa–resorte son:
ẋ = Ax y = Cx
ẋ1 x1 0 1
ẋ = x= A= C= 1 0
ẋ2 x2 −1 0
Asumamos que estiramos el resorte hasta que M se encuentre en la posición inicial
z0 . Luego soltamos el resorte, lo cual produce un movimiento oscilatorio que puede
modelarse como z(t) = z0 cos t. Es fácil comprobar que la solución z(t) = z0 cos t
verifica el modelo dinámico 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 última ecuación representa un cı́rculo de radio z0 . Por consiguiente, las trayectorias
de estado en el plano de fase x1 versus x2 son cı́rculos cuyos radios dependen de la
posición inicial de reposo z0 . tales trayectorias se muestran en la Fig. A.7. Para
obtener dichas trayectorias de fase, ejecutar el programa pfl.m.
Los eigenvalores del sistema masa–resorte se determinan de:
λ 1
det(λI − A) = det = λ2 + 1 = 0
−1 λ
Por lo tanto: λ1 = i, λ2 = −i, ambas raı́ces imaginarias, lo cual nos informa del
carácter oscilante de la respuesta del sistema, tal como se discute en la siguiente
sección. El único punto de equilibrio xe = 0 del sistema se determina de:
e
x1 0
ẋe = 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 ÁTICO
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 % SIMULACIÓN PARA ESTAS CONDICIONES INICIALES DE y(2)
[ts,xs]=ode45(g,[0,10],[0;x20]); % [0,10]: SIMULACI ÓN 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
−1
Fig. A.7: Plano de fase mostrando las trayectorias de estado (Ejemplo A.36).
ẋ = Ax + Bu
y = Cx + Du (A.35)
Ejemplo A.37
ẋ = 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 señales y y u son unidimensionales, la ecuación (A.37) se convierte en
la FT del sistema SLIT y se puede representar como la relación 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 común: el polinomio A(s) = s2 +4s+1. Este polinomio
es también la ecuación caracterı́stica del sistema multivariable, siendo sus eigenvalores
s1 = –3.7321 y s2 = –0.2679. Por consiguiente, tal sistema es estable.
El sistema no forzado ẋ = Ax posee un solo punto de equilibrio: el origen, debido
a que la solución de ẋ = 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
A.3 Variables de Estado 241
para cualquier estado inicial finito x(t0 ), donde t0 es el tiempo inicial. Por ejemplo,
el sistema de primer orden ẋ = a x donde a > 0, es inestable porque su solución
x(t) = x(0)eat no tiende al estado de equilibrio xe = 0 cuando t → ∞ para cualquier
estado inicial x(0).
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.8: 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.
ẋ∗1 λ1 0 x∗1 b∗11 b∗12 · · · b∗1m u1
ẋ∗2 λ2 x∗2 b∗21 b∗22 · · · b∗2m u2
.. = .. .. + .. .. .. .. ..
. . . . . . . .
ẋ∗n 0 λn x∗n b∗n1 b∗n2 ∗
· · · bnm um
de donde claramente se observa que ninguna fuerza de control está actuando sobre
la variable x∗2 .
Ejemplo A.38
Observabilidad Completa
Un sistema SLIT es completamente observable si algún estado x(t), incluyendo el
estado inicial x(t0 ), se puede determinar partiendo de la observación 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 demostración se establece la condición de estabilidad
completa. Para que un sistema sea completamente observable, es necesario que el
rango de la denominada matriz de observabilidad N de dimensión np × p :
C
CA H
N= .. = CH AH CH · · · (AH )n−1 CH (A.43)
.
CAn−1
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 podrı́a reconstruir completamente el vector de estado x, lo que
se contrapone a la definición de observabilidad completa.
244 Sistemas Continuos
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
Φ(t−t0 ) = eA(t−t0 ) = = I+A(t−t0 )+ + +· · ·
ν! 2! 3!
ν=0
(A.46)
es la matriz de transición o exponencial. La derivada total de e A(t−t 0 ) resulta:
deA(t−t0 ) A3 (t − to )2
= A + A2 (t − to ) + + ···
dt 2!
A2 (t − t0 )2
= A I + A(t − t0 ) + + +···
2!
= AeA(t−t0 ) = eA(t−t0 ) A (A.47)
Derivando ahora (A.45) con respecto al tiempo t se obtiene:
Z
A(t−t0 ) d At t −Aτ
ẋ = Ae x(t0 ) + e e Bu(τ )dτ
dt t0
Z t
A(t−t0 )
= Ae x(t0 ) + Ae At
e−Aτ Bu(τ )dτ + eAt e−At Bu = Ax + Bu
t0
A.3 Variables de Estado 245
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
Graficar la respuesta x(t) del sistema: ẋ = −2x + 5u con x(0) = 3. La entrada u(t)
tiene la forma mostrada en la Fig. A.9.
1 u(t)
t
0 1 2 3 4
5 5
x(t) = 3e−2t + [7 − t − 6e2(1−t) ]; x(3) = 3e−6 + (4 − 6e−4 )
8 8
Para t ≥ 3 , u(t) = 0, t0 = 3 y x(t0 ) = x(3). Luego:
x(t) = x(3)e−2(t−3)
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.10: Respuesta x(t) de un SLIT de primer orden a una entrada arbitraria u(t).
Ejemplo A.41
Dado u(t) = 3e−t , determinar la respuesta de un sistema descrito por las siguientes
ecuaciones de estado y de salida:
Según la Tabla A.1: u(s) = L[3e−t ] = 3/(s + 1). Luego, x(s) (ecuación (A.48)) e y(s)
(ecuación (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 +s−2
(s+1)(s+3)(s+4)
= s2 +77s−14
(s+1)(s+3)(s+4)
" #
−6s2 +s−2
(s+1)(s+3)(s+4) 3
y(s) = Cx(s) + Du(s) = 3 −4 s2 +77s−14 −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 , t≥0
6 2 3
Las respuestas mostradas en la Fig. A.11 se realizaron con el programa crpta.m.
Notar que se emplea la siguiente aproximación de la derivada:
x(k + 1) − x(k)
ẋ ∼
= = Ax + Bu → x = x + T (Ax + Bu)
T
Ejemplo A.42
248 Sistemas Continuos
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) = 3e−t , 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
gráficamente (ver figura A.12) los principios de proporcionalidad: y 2 (t) = 2y1 (t), y
de superposición: y3 (t) = y1 (t) + y2 (t).
Ejemplo A.43
En el sistema de la Fig. A.13 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 ecuación de estado y su ecuación 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 transición 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 escalón unitario.
A.3 Variables de Estado 249
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
Solución: (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 = ẋ1 + x1 = u1 − y1
s+1
Reemplazando y1 de (A.51) en la última expresión, se obtiene:
ẋ1 = −x1 − x2 − x3 − x4 + x5 − u3 (A.52)
Operando del mismo modo con los otros bloques resultan:
(s + 2)x2 = 2(u2 − x2 ) → ẋ2 = −4x2 + 2u2
250 Sistemas Continuos
√ ! √ !
1 39 5 3 183 − 5 t 7 99 √ − 5 t 7
y2 = − e−3t + e−5t − e−4t + e 2 cos t − 7e 2 sen t
2 4 16 2 16 2 112 2
Por otro lado, la Fig. A.14 muestra las respuestas y1 (t) e y2 (t) (Out(1) y Out(2) en
el gráfico) a los escalones u1 = 1, u2 = 1 y u3 = 1 (In(1), In(2) e In(3) en el gráfico)
obtenidas con el comando step de MATLAB. Ejecutar el archivo va.m.
A.3 Variables de Estado 251
y(s)
= G(s) = [C(sI − A)−1 B + D]
u(s)
Step Response
0.5
To: Out(1)
−0.5
Amplitude
−1
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 βn−1 − · · · − an−1 β1 − an β0
A.3 Variables de Estado 253
donde las raı́ces pi (los eigenvalores del sistema) son no repetidos, las constantes ci
se pueden hallar en la forma acostumbrada a partir de:
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 CANÓNICA 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 CANÓNICA DE JORDAN: dx/dt = Aj*x + Bj*u; y = Cj*x + Dj*u
[c,p,k] = residue(B,A); % EXPANSIÓN 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.15: (a) Aproximación del área bajo la curva e(t) mediante rectángulos. (b)
Mediante trapezoides.
Ejemplo A.46
Determinar la ecuación de diferencias de la siguiente integral usando tanto aproxi-
mación rectangular como trapezoidal.
Z t
u(t) = e(τ )dτ
0
Solución: Si empleamos sumatoria de rectángulos para aproximar el área debajo de
la curva e(t), se obtiene:
k
X k
X k−1
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
Discretización de la Derivada
Términos que contengan derivadas pueden discretizarse empleando diferencias
por atraso:
de(t) ∆e(kT ) e(kT ) − e(kT − T ) e(k) − e(k − 1)
= ė(t) ≈ = =
dt T T T
dė(t) ∆ė(kT ) ė(t) − ė(t − T ) ∆e(kT ) − ∆e(kT − T )
= ë(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 aproximación 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 aproximación 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 reacción rA para el punto de operación (T , C A ):
E
rA = k0 e− RT CA
A.6 Linealización de Sistemas Continuos 261
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 ecuación 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:
ẋ = Ax + Bu y = Cx + Du (A.78)
Ejemplo A.50
La Fig. A.17 muestra dos tanques idénticos colocados en cascada. La sección 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 alimentación
Qo . Determinar el modelo linealizado de este sistema hidráulico, su estabilidad y su
función 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)):
Ẋ = 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:
ẋ = A x + B u y = h(x, u) = x2 = C x D = [0]
donde:
" # √
γ ρg
∂f1 ∂f1 − √ 0
x1 2S
√ X̄1
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 función de transferencia del sistema se computan con el programa
C2tqh.m.
264 Sistemas Continuos
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= 1−i 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 matemática simbólica demostrar que:
n n
λ 1 λ nλn−1
=
0 λ 0 λn
Problema A.9
Empleando matemática simbólica 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 matemática simbólica 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 máximo subconjunto linealmente indepen-
diente y exprese cada uno de los vectores dependientes como una combinación 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
266 Sistemas Continuos
Problema A.12
Problema A.13
Problema A.14
Problema A.15
Problema A.16
Problema A.17
(a) 2x1 + 3x2 − 5x3 = 4u1 − 3u2 + ẋ1 ; ẋ2 − x1 + 8x2 − 2x3 = −u1
2x2 − 5x3 = −3u1 − 4u2 − ẋ3
y1 = x1 − 3x2 − u2 ; y2 = −3x1 + 7x3 + u1 − 5u2
(b) −x1 − 8x2 + x3 + ẋ1 = u1 ; 2x1 + 4x2 − 2x3 = −3u2 − u2 + ẋ2
2x2 − 5x3 = −3u1 + 3u2 + ẋ3
y1 = 3x1 − x2 + u1 ; y2 = −x1 − 5x3 − 5u2
(c) 6x1 + 7x2 + ẋ1 = 4u2 ; ẋ2 − 3x1 + 5x2 + 62x3 = −u1 − 7u2
x2 − 6x3 = ẋ3 − u1 + 9u2
y1 = 4x1 + x2 − u1 + u2 ; y2 = −3x1 + 7x2 − 5u2
(d) 3x2 − 5x3 + ẋ1 = −3u1 + 3u2 ; ẋ2 − 6x1 + 5x2 − 7x3 = −3u2
x1 − 2x2 − 5x3 + ẋ3 = −3u1
y1 = x1 − u2 + 8u2 ; y2 = −3x2 + 7x3 − 9u1 − 2u2
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
baterı́a 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 ecuación caracterı́stica del circuito, determine la estabilidad, la
frecuencia natural de oscilación 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 función G(t) de respuesta al impulso δ(t), es evaluando la siguiente
condición 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 función escalón, 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 escalón 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
A.7 Problemas 269
r e α (s − 1)
2
1 y
Kc + Kd s
2
s +1 s
h At i
Sabiendo que: dedt = A, hallar la matriz de estado A de un sistema cuya matriz
t=0
de transición es: −t
2e cos(t + 0,7) 3e−t cos(t + 1,5)
e−t cos(t − 1,5) 2e−t 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 Y
10e −3s
Kc + Ki/s
4s+1
2e −2s
Problema A.30
270 Sistemas Continuos
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. También, Fo = 0.01 m3 /min, To1 = 280K y To2
= 350 K son perturbaciones tipo escalón.
Problema A.31
R Y
10e−3t
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.22.
Problema A.36
hallar las ecuaciones de estado y de salida lineales del siguiente sistema no lineal y
determinar su estabilidad.
Problema A.37
u1 x1 y1
1
4
s+1
u2 2 x2 y2
6
s+2
Problema A.38
Para los sistemas de control mostrados en la Fig. A.24, 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 señal escalón deseada r(t) en presencia
de la carga (o disturbio) n(t). También 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) = e−2s
(s + 3)(s + 4)(s + 5)(s + 6)
2(s + 1)
(b) G(s) = e−3s
(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) = e−4s
(s + 3)(s + 4)(s + 5)(s + 6)(s + 7)2 (s + 8)
A.7 Problemas 273
n(t)
r(t) y(t)
PID G(s)
Fundamentos de MATLAB y
Simulink
MATLAB es un lenguaje técnico de cómputo de alto nivel e interactivo que puede ser
empleado para el desarrollo de algoritmos, visualización y análisis de datos y computación
numérica. MATLAB se emplea mundialmente en diversas aplicaciones que incluyen proce-
samiento de señales e imágenes, telecomunicaciones, diseño de sistemas de control, prue-
bas y mediciones, modelado y análisis financiero y biologı́a computacional. MATLAB
también cuenta con una colección herramientas (Toolboxes) para propósitos especı́ficos,
disponibles por separado, los cuales permiten resolver ciertas clases de problemas en el
área de su aplicación.
Simulink emplea un lenguaje en bloques y se usa para modelar, simular y analizar
sistemas dinámicos continuos, discretos o hı́bridos (combinación 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 dinámicos existentes o aquellos construidos desde cero.
En este Apéndice, una sección está dedicada a MATLAB y la otra a Simulink.
Todos los archivos de esta publicación se pueden descargar del link DESCARGAS de
www.ctlima.com.
MATLAB. Los comandos escritos después del prompt requieren de un ENTER para
que MATLAB los procese. El formato siguiente: >> help roots ENTER , es útil
cuando se desea tener información 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 introducción de la tecla
ENTER será sobreentendida.
El comando format long le dice a MATLAB que se quiere trabajar con 15 dı́gitos
para doble precisión y 5 dı́gitos para simple precisión. 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-
cación a*b, división derecha a/b, división izquierda a\b y exponenciación a^b. La
división izquierda se emplea más con matrices. El resultado de la operación a/b es
igual al resultado de b\a.
El orden de precedencia en las operaciones fundamentales es: ejecutar primero
el paréntesis más interno, luego los exponentes, después la multiplicación o división
(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 continúa
en la siguiente lı́nea.
√ MATLAB √ reconoce a las letras i y j como números 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 división sobre cero es infinito, mientras que la división 0/0 es
indeterminada. En notación MATLAB >> 20/0 devuelve Inf , mientras que
>> 0/0 devuelve NaN, donde NaN está por Not a Number.
A continuación 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 menú del editor; (3) haciendo click
en el icono Run and Save del editor, el cual se ubica debajo de la lı́nea que
contiene el menú del editor.
B.1.4. Matemáticas
Funciones Matemáticas Comunes
% funcionesmat.m FUNCIONES MATEMÁTICAS COMUNES
clear all; close all; clc;
% APROXIMACIONES
x1=5.92;
r1=ceil(x1); % r1=6 (ceil REDONDEA HACIA INFINITO)
280 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
% LOGARÍTMICAMENTE 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.
% CONSTRUCCIÓN 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 NÚMEROS ALEATORIOS ENTRE 1 Y 0
% CON DISTRIBUCIÓN UNIFORME
r26=randn (2,5); % MATRIZ 2 x 5 DE NÚMEROS ALEATORIOS, DISTRIBUCIÓN
% NORMAL, MEDIA 0 Y DESVIACIÓN 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 MÁGICA 3 x 3, CONTIENE NÚMEROS 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 BÁSICAS 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] (MULTIPLICACIÓN 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 ANÁLISIS 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
282 Fundamentos de MATLAB y Simulink
Polinomios
% polinomios.m POLINOMIOS
B.1 Fundamentos de MATLAB 283
Creación de Funciones
La forma general de una función de dos variables es:
function[a,b]=nombre_función(x,y)
Por ejemplo, se desea crear la función de nombre calculos para calcular la suma
y la resta de dos números, 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 continuación. Sólo es necesario ejecutar el archivo usacalculos.m
para obtener los resultados.
Programación
% programacion.m PROGRAMACIÓN 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 EXPRESIÓN LÓGICA
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
% GENERACIÓN DE NÚMEROS PRIMOS MENORES DE 100
disp(’Estos son los números 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 285
else n=n+1;
end
end
if n~=i disp(i)
end
end
B.1.5. Gráficos
% graficas2D.m GRÁFICAS 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(’AQUÍ 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 q̇1 senq2 cos q2
nKm KA 2
Ra 1
P21 = − m2 L2 q̇1 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 diseño de un controlador backstepping emplea el procedimiento descrito en la
sección ??, que en forma breve establece hasta el nivel de simulación:
(1) Definir las especificaciones de diseño 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 q̇r :
b se puede
donde Ld es una matriz diagonal con elemento ` positivos. El vector q
ḃ La ley de control backstepping posee la forma:
calcular integrando q.
ḃ q̇r + d(q) − Kd (q
u = M(q)q̈ + P(q, q) ḃ − q̇r ) − K1 z1
Inicio
Lazo de control
k=1
Señales de referencia
Algoritmo de control
Almacenamiento de datos
SI
¿k < N?
NO
Gráficos 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
% GRÁFICOS
ejex=linspace(0,N*T,N); % EJE DE TIEMPO
subplot(411)
plot(ejex,Qd1(1:N),ejex,Q1(1:N)), grid on
ylabel(’POSICIÓN 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(’POSICIÓN 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
POSICIÓN 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]
POSICIÓN 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 simulación del sistema de control backstepping del MRE:
las posiciones de los brazos del manipulador siguen las señales 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 botón Start ubicado en el ex-
tremo inferior izquierdo de la ventana MATLAB y luego ir a Start > Simulink > Demos.
296 Fundamentos de MATLAB y Simulink
disnl2_u
u
Mux
gráfico
Señal u Proceso Mux
Señal v no lineal
disnl2_x1
x1
Referencia disnl2_r
r Conversión Observador r
de x a z no lineal
Por otro lado, el bloque Referencia r es una señal sinusoide que se arrastra desde su
ubicación 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 cı́rculos x1, x2 y x3 son las variables de salida del
sistema, mientras que el cı́rculo 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 menú de MATLAB:
Edit > Create Subsystem.
Los rectángulos u, x1 y r mostrados en la Fig. B.7, que sirven para almacenar
datos, se crean arrastrando tres veces el rectángulo To File ubicado en la ventana SLB:
Simulik > Sinks > To File. Haciendo doble click en cada rectángulo, se introduce
un nombre a elección 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 gráficos 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
eléctrico sum2 subsistema Integrador
mecánico
n*E
gan 2 MATLAB
N
Function
gan 3
seno
1
Posición (radianes)
0.5
−0.5
−1
0 2 4 6 8 10 12 14 16 18 20
Tiempo en segundos
2.5
Señal 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., México, segunda edición, 1996
[9] Frank Ayres Jr., Matrices, serie de compendios Schaum, McGraw-Hill México
Panamá Bogotá y otras, 1973 (o ediciones más recientes).
[13] Katsuhiko Ogata, Modern Control Engineering (5th Edition), Prentice Hall,
2009.
300 BIBLIOGRAFÍA
[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-
ción), Pearson Prentice Hall, 2005.
[17] K.J. Åström y T. Hägglund, “PID Controllers: Theory, Design, and Tuning”.
Instrument Society of America, 1995.
[19] K.L. Chien, J. A. Hrones, and J. B. Reswick, “On the automatic control of
generalized passive systems”, Trans. ASME, vol. 74, pp. 175-185, 1952.
[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 15–34, 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 Automático de Procesos, Limusa Noriega
Editores, 1996.
[29] A. O’Dwyer, Handbook of PI and PID Controller Tuning Rules, 3rd edition,
Imperial College Press, 2009.
[30] E. B. Dahlin, “Designing and Tuning Digital Controllers,” Instruments and Con-
trol Systems, V. 41 (June 1968), p. 77.
BIBLIOGRAFÍA 301
[31] National Instruments, NI Developer Suite: NI LabVIEW 8.5 and Device Drivers,
Third Quarter 2008.
[33] Alberto Isidori, Nonlinear Control Systems, 3ed, Springer-Verlag Berlin, 1995.
[38] D. E. Koditschek, “Natural Motion for Robot Arms´´Proc. 23rd I.E.E.E. Conf.
on Decision and Control, Las Vegas, p. 733, 1984.
[39] Jean-Jacques E. Slotine and Weiping Li, Applied Nonlinear Control, Prentice
Hall, 2006, ISBN: 0130408905, ISBN-13: 9780130408907, 978-0130408907.
[41] E. Bailey and A. Arapostathis, “Simple sliding mode control scheme applied to
robot manipulators,” Int. J. Control, vol. 45, No. 4, p. 1197–1209, 1987.
[42] 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.
[43] 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.
[44] 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 351–356. New Jersey 07632, 1989.
[45] M. Vidyasagar, Nonlinear Systems Analysis (Second Edition), Society for Indus-
trial and Applied Mathematics Philadelphia, PA, USA , 2001, ISBN:0898715261.
[46] Joseph La Salle and Solomon Lefschetz, Stability by Liapunov’s Direct Method
With Applications, Academic Press new York, London, 1961.
[47] National Instruments, NI Developer Suite: NI LabVIEW 8.5 and Device Drivers,
Third Quarter 2008.
Índice alfabético
Matrices, 148
diagonalización de, 162
multiplicación 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