Escolar Documentos
Profissional Documentos
Cultura Documentos
PRACTICO
Y AVANZADO
ARTURO ROJAS MORENO, Ph.D.
F
F
F
F
F
F
F
F
Modelado de Procesos
Sistemas de Instrumentaci
on
Elementos Finales de Control
Control PID SISO
Estrategias de Control PID
Sntesis de Controladores SISO y MIMO
Control Fuzzy
Programas fuente en MATLAB
TECSUP
II
Indice general
III
Prefacio
IX
1. Introducci
on
1.1. Sistema de Control a Lazo Cerrado . . . . . . . . . . . . . . . . . . . .
1.2. Sistema de Control a Lazo Abierto . . . . . . . . . . . . . . . . . . . .
1.3. Dinamica Lineal de los Elementos Ideales . . . . . . . . . . . . . . . .
2. El Proceso a Controlar
2.1. Procesos con Comportamiento Proporcional . . . .
2.2. Procesos de Primer Orden . . . . . . . . . . . . . .
2.3. Procesos de Segundo Orden . . . . . . . . . . . . .
2.4. Procesos Integrales . . . . . . . . . . . . . . . . . .
2.5. Procesos con Tiempo Muerto . . . . . . . . . . . .
2.6. Procesos de Orden Superior . . . . . . . . . . . . .
2.7. El Motor DC . . . . . . . . . . . . . . . . . . . . .
2.8. Modelo MIMO del Proceso Tanque Cerrado . . . .
2.8.1. Descripcion del Proceso . . . . . . . . . . .
2.8.2. Modelo Dinamico No Lineal del Proceso . .
2.8.3. Modelo Dinamico de Lagrange del Proceso
2.8.4. Modelo Dinamico Lineal del Proceso . . . .
2.9. Respuesta Transitoria de los Procesos . . . . . . .
2.9.1. Respuesta al Escalon . . . . . . . . . . . . .
2.9.2. Metodo del 28.3 % y 63.2 % . . . . . . . . .
2.9.3. Otras Respuestas al Escalon y al Impulso .
2.10. Problemas . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
5
7
11
11
13
18
20
21
22
26
28
28
30
33
33
34
34
36
37
39
3. El Sistema de Medici
on
45
3.1. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1. Caractersticas Estaticas y Dinamicas . . . . . . . . . . . . . . 46
4. Elementos Finales de Control
4.1. Caractersticas . . . . . . . . . . . . . . . .
4.2. La Valvula de Control Automatica (VCA) .
4.2.1. Dimensionamiento de una VCA . . .
4.2.2. Carcterstica de una VCA Operando
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
51
52
52
55
INDICE GENERAL
VI
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
57
57
59
59
61
66
66
70
71
71
72
73
76
79
79
91
102
114
115
121
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
125
125
129
131
136
138
139
140
141
143
.
.
.
.
.
.
.
.
.
.
147
. 147
. 151
. 152
. 153
. 153
. 161
. 164
. 164
. 165
. 166
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
INDICE GENERAL
8. Control Predictivo
8.1. Control Predictivo Basado en Modelos . . . .
8.2. Principios del Control Predictivo . . . . . . .
8.3. El Modelo del Proceso . . . . . . . . . . . . .
8.4. El Controlador Predictivo . . . . . . . . . . .
8.4.1. Objetivo del Controlador . . . . . . .
8.4.2. Respuesta Libre y Respuesta Forzada
8.4.3. La Ley de Control SISO . . . . . . . .
8.5. Procedimiento de Dise
no . . . . . . . . . . . .
8.6. Ejemplo de Dise
no . . . . . . . . . . . . . . .
8.7. Problemas Propuestos . . . . . . . . . . . . .
VII
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
169
169
170
171
176
176
178
180
182
182
185
9. Control Fuzzy
193
9.1. El Controlador Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
9.2. Dise
no de Sistemas de Control Fuzzy . . . . . . . . . . . . . . . . . . . 194
9.2.1. Control Fuzzy del Manipulador Robotico de 1GDL . . . . . . . 194
A. Sistemas Continuos
A.1. La Transformada Unilateral de Laplace . . . . . . . . . . . . .
A.1.1. Definicion y Ejemplos . . . . . . . . . . . . . . . . . . .
A.1.2. La Transformada Inversa de Laplace . . . . . . . . . . .
A.1.3. La Funcion de Transferencia . . . . . . . . . . . . . . . .
A.1.4. Fracciones Parciales . . . . . . . . . . . . . . . . . . . .
A.1.5. Algebra
de Bloques . . . . . . . . . . . . . . . . . . . . .
A.2. Matrices y Determinantes . . . . . . . . . . . . . . . . . . . . .
A.2.1. Operaciones con Matrices . . . . . . . . . . . . . . . . .
A.2.2. Tipos de Matrices . . . . . . . . . . . . . . . . . . . . .
A.2.3. Determinantes y Matriz Inversa . . . . . . . . . . . . . .
A.2.4. Rango, Eigenvectores y Pseudoinversas . . . . . . . . . .
A.2.5. Diagonalizacion de Matrices y Formas Canonicas . . . .
A.3. Variables de Estado . . . . . . . . . . . . . . . . . . . . . . . .
A.3.1. Ejemplo de Introduccion . . . . . . . . . . . . . . . . . .
A.3.2. Definicion de Variables de Estado . . . . . . . . . . . . .
A.3.3. Matriz de Transferencia y Estabilidad . . . . . . . . . .
A.3.4. Controlabilidad y Observabilidad . . . . . . . . . . . . .
A.3.5. Solucion de la Ecuacion de Estado de SLITs Continuos
A.3.6. Formas Canonicas SISO en el Espacio de Estado . . . .
A.4. Discretizacion Directa . . . . . . . . . . . . . . . . . . . . . . .
A.5. Sistemas con Tiempo Muerto . . . . . . . . . . . . . . . . . . .
A.6. Linealizacion de Sistemas Continuos . . . . . . . . . . . . . . .
A.6.1. Caso SISO . . . . . . . . . . . . . . . . . . . . . . . . .
A.6.2. Caso MIMO . . . . . . . . . . . . . . . . . . . . . . . . .
A.7. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
209
. 209
. 209
. 212
. 213
. 214
. 219
. 220
. 221
. 223
. 224
. 229
. 234
. 235
. 235
. 237
. 238
. 241
. 244
. 251
. 256
. 258
. 260
. 260
. 261
. 264
INDICE GENERAL
VIII
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
275
. 275
. 275
. 276
. 278
. 279
. 286
. 287
. 289
. 292
. 292
. 296
B
. ibliografa
299
Indice
.
alfab
etico
302
Prefacio
Esta publicacion esta dirigida a todos los profesionales, cientficos, especialistas y
estudiantes interesados en familiarizarse con el modelado, la simulacion y el control
de procesos industriales. Tanto modelos lineales como no lineales se emplean en esta
publicacion para representar la dinamica de los procesos tratados.
El libro se denomina Control de Procesos Practico y Avanzado porque su contenido abarca tanto temas relacionados con el dise
no practico de sistemas de control
de una entrada y una salida empleando controladores PID (Proporcional Integral
Derivativo), as como tambien temas avanzados del control de procesos tales como: Control PID multivariable, control de procesos empleando estrategias (cascada,
razon, rango partido, anticipativo, selectivo) y control con inteligencia artificial (control fuzzy y control neuronal).
En todos los Captulo que lo conforman, este libro usa intensivamente el software
MATLABr para el calculo, dise
no y simulacion de sistemas de control de procesos. Tambien se emplea el software Simulinkr , el cual trabaja dentro del entorno
MATLAB. Simulink usa diagramas de bloques en su programacion. El Apendice B:
Fundamentos de MATLAB y Simulink, es lectura primordial para los lectores poco
familiarizados con estos programas.
Todos los programas empleados en este libro se pueden ejecutar sin problemas
en versiones recientes de MATLAB. Estos programas fuente se pueden descargar del
enlace Descargas de: www.ctlima.com.
Para asimilar sin dificultad el contenido de este libro, el lector requiere haber llevado los cursos de matematica, fsica y fundamentos de control automatico dictados
en una Universidad o Instituto. Sin embargo, se recomienda que el lector se remita
al Apendice A: Matematicas para el Control de Procesos, donde, empleando intensivamente la herramienta MATLAB, se hace un repaso de los topicos de matematicas
requeridos en el desarrollo de los Captulos de este libro.
El procedimiento de dise
no de sistemas de control empleado en este libro comprende basicamente: la formulacion del problema a resolver, el modelado del proceso,
el dise
no del algoritmo de control, y verificacion del sistema de control dise
nado va
simulacion.
Esta publicacion puede ser usada como:
Libro texto para cursos relacionados con el Control de Procesos.
Libro texto para cursos relacionados con el Control Avanzado de Procesos.
Libro de consulta en diferentes cursos de instrumentacion y control.
Prefacio
XI
VIENEN AGRADECIMIENTOS.
Captulo 1
Introducci
on
En este Captulo se hace un breve introduccion sobre los sistemas de control a lazo
cerrado y a lazo abierto, describiendo brevemente sus componentes e incluyendo ejemplos
industriales para reforzar la comprension de los conceptos. Tales componentes son: el
proceso cuya variable de salida se desea controlar, el sistema de instrumentacion que
sensa y transmite la variable a controlar, el controlador que procesa la desviacion entre
el valor de la variable a controlar con respecto a una se
nal deseada con el proposito de
generar una se
nal de control, y el elemento de control final que recibe la se
nal generada
por el controlador para efectuar cambios en el proceso con la finalidad de que la desviacion
anteriormente descrita se reduzca a cero.
1.1.
La Fig. 1.1 muestra el diagrama de bloques (la interrelacion entre sus componentes) de un sistema de control a lazo cerrado. A continuacion vamos a describir
sucintamente sus componentes.
SP
r
Controlador de
realimentacin
e
Algoritmo
de Control
MV
u Elemento final
de control
Disturbios
Proceso
PV
y
Sensor ms
Transmisor
Sistema de
medicin
El Proceso
El bloque proceso representa un cambio fsico o qumico de la materia. As tenemos
los procesos de calefaccion, enfriamiento, mezcla, fundicion, separacion, destilacion,
Introducci
on
llenado y vaciado, evaporacion, coccion, entre otros. Los instrumentos son dispositivos
que se emplean en los procesos para monitorearlos y controlarlos, lo cual se logra
mediante la medicion de algunas de sus caractersticas, tambien denominadas los
par
ametros del proceso.
Algunos ejemplos de caractersticas del proceso son: capacitancia, inductancia,
resistencia, voltaje, corriente, peso, presion, aceleracion, sonido, color, nivel, temperatura, humedad, densidad, contenido de humedad, viscocidad, dimension, concentracion de pH, flujo, velocidad, espesor, gravedad especfica, entre otros. La variable
y mostrada en Fig. 1.4, conocida tambien como PV (Process Variable), es la variable
controlada o salida del proceso.
El Sistema de Medici
on
Es com
un que un proceso posea varios parametros que necesitan ser monitoreadas
simultaneamente. Esto se logra por lo general, empleando un sistema de medicion
para cada parametro (ver Fig. 1.1). Cada sistema de medicion consta de un sensor
que proporciona la (variable medida), y de un transmisor que cambia dicha variable
en una se
nal estandarizada que pueda ser transmitida. La variable medida representa
entonces la condicion actual de la variable controlada y.
En algunos casos, la variable medida y la variable controlada es la misma variable.
Por ejemplo, la medicion y control de la variable velocidad de un motor DC (Direct
Current). Sin embargo, en otros casos, la variable medida y la variable controlada
pueden ser diferentes. Este es el caso del control de nivel de un lquido en un tanque,
que puede ser realizado midiendo la presion en el fondo del tanque. Es decir, en este
caso medimos presion para controlar nivel.
Se
nales 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
nales tambien son empleados: 0 a 10 V (volt), 10 a + 10 V, etc. El transmisor
tambien es conocido como convertidor, transductor, y en general como un acondicionador de se
nales. Si fuera necesario, un acondicionador de se
nal se puede dise
nar
empleando opamps (amplificadores operacionales) en su implementacion.
En muchos casos, el sensor y el transmisor son parte de un solo instrumento. Los
sistemas de medicion actuales tambien incluyen hardware para almacenar algoritmos
y rutinas de calculo, y para el procesamiento de se
nales digitales empleando protocolos industriales de comunicacion. Los sistemas de medicion inteligente reciben dicha
denominacion, por que poseen la capacidad de procesamiento de se
nales.
En general, los sistema de medicion se aplican a los procesos para: indicar el
valor de una variable, registrar y almacenar los valores de una variable, controlar una
variable, fijar alarmas en los casos que una variable alcanza un determinado valor,
y como enclavamiento; es decir, haciendo que una variable cause una accion cuando
alcance un valor previamente establecido.
El Controlador
Para lograr control en la Fig. 1.1, se requiere que el valor de la variable medida
tienda a ser el valor de la se
nal de referencia r o SP (Set Point), que es la se
nal
deseada de la variable controlada. En otras palabras, en los sistemas de control a lazo
cerrado, las se
nales r e y son comparadas. La diferencia entre ellas es la se
nal de error
e, llamada tambien se
nal de desviacion. Cuando existe una desviacion, es necesario
actuar para eliminarla. Esta accion incluye el ajuste y la accion de una se
nal o fuerza
de control u, denominada tambien la variable manipulada MV (Manipulated Variable), para minimizar el error; es decir, para hacer que la se
nal y siga a r, cumpliendo
ciertas especificaciones de dise
no (seccion 5.2).
Por ejemplo, la velocidad de un carro se controla comparando el valor indicado
por el velocmetro (la variable medida) con el valor lmite de la velocidad (la variable
deseada o SP). Si existe una desviacion, se tiene que ajustar mediante el pedal del
acelerador una cierta cantidad de gas (la variable manipulada MV) para cambiar la
velocidad (la variable controlada o PV).
El bloque denominado controlador (ver la Fig. 1.1), es el que procesa la se
nal de
error e empleando un algoritmo de control, para generar la ley de control u que va
hacia el elemento de control final. El agregado de la palabra realimentacion, que en
general no es necesario, solo es para indicar en este caso que tal controlador forma
parte de un sistema de control realimentado.
La funcion del controlador mostrado en la la Fig. 1.1 se logra llevando a cabo
tres pasos. El primero consiste en recopilar informacion acerca de la variable del
proceso que se desea controlar. Luego, usar convenientemente dicha informacion para
tomar una decision con relacion a la condicion del proceso. Finalmente, tomar una
accion basada en tal decision, empleando para ello el elemento de control final. Es
importante anotar que para mantener el control, la recopilacion de informacion debe
de ser continua y permanentemente evaluada. Estas acciones aseguran que la variable
controlada se mantenga en el valor deseado previamente establecido.
Considere el sistema de control de temperatura que posee la terma electrica de una
vivienda, en donde la accion de control se realiza conectando o desconectando a la red
la resistencia de calefaccion para aumentar o disminuir la temperatura del agua en la
terma, correspondientemente. En un primer paso, un sensor de temperatura detecta
la temperatura actual y la compara con una temperatura de referencia previamente
establecida. Como resultado de la comparacion, se decide que es necesario cambiar la
condicion del proceso: aumentar o disminuir la temperatura. Finalmente, se toma la
accion correspondiente: conectar la resistencia a la red para aumentar la temperatura
del agua, o desconectarla para disminuirla.
El control se puede realizar en forma manual o en forma automatica. En el control
manual, la decision la realiza la persona, mientras que en el control automatico la
realiza un dispositivo. La terma es un caso de control automatico de la temperatura,
mientras que la conduccion de un carro para mantenerlo a una velocidad constante,
es un caso de control manual.
Introducci
on
las de control motoricas, solenoides, reles, entre otros. Entre los EFC hidraulicos y
neumaticos tenemos: valvulas neumaticas, pistones hidraulicos y neumaticos, motores hidraulicos y neumaticos, etc. Dependiendo del tipo de EFC, en muchos casos
sera necesario incluir un convertidor (o transmisor) de se
nal entre el controlador y el
EFC, tal como se muestra en el ejemplo 1.1.
Los Disturbios
Ademas de la variable manipulada, otros factores pueden afectar la variable controlada. Por ejemplo, la velocidad del carro puede ser afectada por la resistencia del
viento y por la calidad de la pista. Por otro lado, La temperatura del agua en la terma
puede ser afectada por un mal aislamiento del tanque o por la cambiante temperatura
del entorno. En control de procesos, estos factores se denominan disturbios.
Para compensar la accion de los disturbios, se requiere de una continua circulacion
de la informacion sobre el proceso. En el sistema de control a lazo cerrado de la Fig.
1.1, la informacion fluye constantemente hacia los instrumentos. Tal informacion es
denotada como realimentacion. Todos los instrumentos y dispositivos que intervienen
en el control de un proceso son referidos como el lazo de control realimentado.
Ejemplo 1.1
En el sistema de control de flujo mostrado en la Fig. 1.2(a), indicar sus componentes
y las se
nales normalizadas. Este sistema emplea como sensor de flujo una placa de
orificio para producir la cada de presion P = P1 P2, con la finalidad de tener
una medicion indirecta del flujo F, pues sabemos que tal flujo es proporcional a la
raz cuadrada de P.
Soluci
on: Ver Fig. 1.3(b).Observar que se requiere un primer transmisor para realizar la operacion F = C P , donde C es una constante de proporcionalidad, y
luego convertir esta operacion en una se
nal de corriente estandarizada (4 a 20 mA).
El signo raz cuadrada a un costado del transmisor indica esta operacion. Notar tambien que ha sido necesario incluir un segundo transmisor para convertir 4 a 20 mA al
rango de 3 a 15 psi, dado que el actuador de la valvula trabaja con se
nal neumatica
estandarizada.
Ejemplo 1.2
En el sistema de control de temperatura mostrado en la Fig. 1.3, indicar cual es la
se
nal disturbio y porque. Este sistema emplea como sensor una termoresistencia, cuya
salida es un valor de resistencia electrica, la cual es proporcional a la temperatura en
el interior del tanque. Los valores de resistencia se convierten a se
nales estandarizadas
de 4 a 20 mA mediante el transmisor. Observar que la valvula de control posee un
actuador electrico porque trabaja con una se
nal de 4 a 20 mA. Esta se
nal alimenta a
un motor DC (el actuador). El movimiento de rotacion del eje del motor se convierte
en un movimiento de traslacion para hacer desplazar el eje de la valvula.
Soluci
on: El flujo del producto que ingresa al tanque constituye la se
nal de disturbio.
Mientras mas brusca sea la variacion del flujo de producto, mayor sera la dificultad
para que la se
nal PV siga a la se
nal SP.
CONTROLADOR
TRANSMISOR
TRANSMISOR
ACTUADOR
F
P1
P2
PLACA DE ORIFICIO
VLVULA
NEUMTICA
(a)
SP
4 20 mA
4 20 mA
CONTROLADOR
4 20 mA PV
MV
TRANSMISOR
TRANSMISOR
ACTUADOR
P
3 15 psi
PROCESO
P1
P2
SENSOR: PLACA
DE ORIFICIO
EFC: VLVULA
DE CONTROL
NEUMTICA
(b)
Fig. 1.2: (a) Sistema de control de flujo. (b) Solucion al ejercicio 1.1.
Sensor
(ohm)
Producto
Transmisor
MV
420 mA
Controlador
PV
420 mA
SP
420 mA
Agua caliente
1.2.
Introducci
on
SP
r
MV
Controlador u Elemento final
anticipativo
de control
Disturbios
Proceso
PV
y Sensor ms
Transmisor
Sistema de
Instrumentacin
1.3 Din
amica Lineal de los Elementos Ideales
DESFOGUE
V1
V2
V5
SOPLADO
ADICIONAL
ENTRADA DE
PRODUCTO
LT
PT
SOPLADO
INFERIOR
V3
1.3.
Din
amica Lineal de los Elementos Ideales
La Tabla 1.1 describe los modelos dinamicos lineales de los elementos ideales,
mientras que la Fig. 1.6 muestra los smbolos de los mismos. Tal informacion es de
gran utilidad porque explica el comportamiento fsico de los diversos elementos que
son parte de los procesos. Las unidades de medida empleadas corresponden al Sistema
Internacional, la cual usaremos a lo largo de los captulos, salvo indicaciones expresas.
De todas formas, siempre estan disponibles las tablas de conversion de unidades. En
la Tabla 1.1, la energa se expresa en J (joule), la potencia en W (watt) y el tiempo
t en s (segundos).
La Fig. 1.6(a) muestra la inductancia electrica L en H (henrio), en donde se
cumple que la diferencia de potencial v21 = v2 v1 en V (volt) es proporcional a la
variacion de la corriente i en A (ampere) con respecto al tiempo.
La Fig. 1.6(b) ilustra el resorte traslacional de constante K, en donde la variacion
de velocidad v21 en m/s es proporcional a la variacion de la fuerza f en N (newton)
con respecto al tiempo. Teniendo en cuenta que v21 = dx21 /dt donde x21 = x2 x1
es el cambio de posicion, es facil demostrar que f=Kx21 . Por ello, K esta en N/m.
La Fig. 1.6(c) muestra el resorte rotacional de constante K en Nm/rad, en donde
el cambio de velocidad angular 21 en rad/s es proporcional a la variacion del torque
con respecto al tiempo dT/dt en Nm/s (newtonmetro/segundo). Considerando que
Introducci
on
Elemento
fsico
Ecuacion
descriptiva
Energa E o
potencia P
Almacenador
inductivo
Inductancia
electrica L
di
v21 = L dt
E = 12 Li2
Almacenador
inductivo
Resorte
traslacional
v21 =
1 df
K dt
E=
1 F2
2 K
Almacenador
inductivo
Resorte
rotacional
21 =
1 dT
K dt
E=
1 F2
2 K
Almacenador
inductivo
Inercia
fludica
p21 = I dq
dt
E = 12 Iq 2
Almacenador
capacitivo
Capacitancia
electrica
i = C dvdt21
2
E = 12 Cv21
Almacenador
capacitivo
Masa
f = M dv
dt
E = 12 M v 2
Almacenador
capacitivo
Momento
de Inercia
T = J d
dt
E = 12 J 2
Almacenador
capacitivo
Capacitancia
fludica
q21 = Cf dpdt21
E = 12 Cf p22
Almacenador
capacitivo
Capacitancia
termica
q = Ct dT
dt
E = Ct T
Disipador
de energa
Resistencia
electrica
i=
Disipador
de energa
Amortiguador
traslacional
f = Bv21
2
P = Bv21
Disipador
de energa
Amortiguador
rotacional
T = B21
2
P = B21
Disipador
de energa
Resistencia
fludica
q=
1
Rf p21
P=
1 2
Rf p21
Disipador
de energa
Resistencia
termica
q=
1
Rt T21
P=
1
Rt T21
1
R v21
P=
1 2
R v21
1.3 Din
amica Lineal de los Elementos Ideales
v2
(a)
v1
v2
v1
v2
(i)
p1 q
(m)
B
v1
(j)
Rf
Cf
(g)
f
T1
p1
p2
p1
p2
q2
(h)
f
1 T
B T 2
v2
(k)
p2
(d)
q1
(f)
Ct
(c)
(e)
q
v2
(b)
1 T
v1
Rt
q
(l)
T2
(n)
10
Introducci
on
Captulo 2
El Proceso a Controlar
La dinamica de una gran variedad de procesos a ser controlados se puede describir
mediante un conjunto de ecuaciones diferenciales. Tal descripcion matematica se obtiene aplicando las leyes de la fsicas y de la qumica en dicho proceso, tales como la
conservacion de la energa y las leyes de Newton.
Para construir un modelo adecuado para propositos de control, se requiere conocer
bien la dinamica del proceso. No siempre es mejor que un modelo sea lo mas exacto
posible a su comportamiento dinamico. Tener en cuenta que mientras mas complejo sea
el modelo, mas dificultoso sera el analisis y dise
no del sistema de control. Lo recomendable
es que el modelo del proceso mantenga las caractersticas dinamicas de interes para el
rango de operacion del sistema de control a dise
nar.
En este captulo se determinan los modelos dinamicos de varios procesos con tres
propositos fundamentales. El primero, para que sirvan como una fuente de datos de
salida para poder construir curvas de reaccion; el segundo, para que su dinamica sea
usada en el dise
no de controladores avanzados; por u
ltimo, para verificar la funcionalidad
del controlador actuando sobre el proceso.
2.1.
12
El Proceso a Controlar
y
y2 y 1
=
u
u2 u 1
(2.2)
FI
y
Vlvula
de control
u1
(a)
y
y
2
y
t1
t2
t
y
1
t1
t2
t
(b)
Fig. 2.1: (a) Proceso flujo. (b) Respuesta al escalon (curva de reaccion a lazo abierto)
del proceso flujo.
Ejemplo 2.1
Determinar la ganancia proporcional del proceso flujo mostrado en la Fig. 2.1(a),
sabiendo que el recorrido total de la valvula es de 10 mm y que el maximo flujo que
puede pasar por la tubera es de 10 L/min (L: litro). Asumir que el cambio de flujo
y a traves de la valvula es proporcional al cambio de abertura de valvula u.
Soluci
on.- La proporcionalidad se refiere a que y = Kp u. Empleando la ecuacion
(2.2), la ganancia Kp se calcula como:
Kp =
y2 y 1
10 0
L
y
=
=
=1
u
u2 u 1
10 0
min mm
13
Observar que un motor es el que hace girar los ejes de entrada y de salida de dicha
caja.
La respuesta al escalon mostrado en la Fig. 2.1(b) tambien se aplica al proceso
flujo de granos. Considerese que para un tiempo t1 , el flujo que pasa por la banda
es y1 , correspondiente a la velocidad u1 fijada en la caja reductora. Para un tiempo
t2 , incrementamos la velocidad de salida de la caja reductora, fijandola de u 1 a u2 .
Consecuentemente, el flujo aumenta de y1 a y2 , sin experimentar retardo. Entonces,
la ganancia proporcional del proceso flujo de granos es la misma obtenida en (2.2) y
la correspondiente FT esta dada por (2.3).
Silo de
material
Banda transportadora
u
Caja de
reduccin
Motor
2.2.
Un procesos SISO de primer orden se caracterizan por poseer una FT que posee
1
(ver Tabla 2.8); es
una parte proporcional Kp mas un retardo de primer orden T s+1
decir, su salida y(s) esta relacionada con su entrada u(s) como sigue:
y(s) =
Kp
u(s)
Ts + 1
(2.4)
dh
= S h = qC qD
dt
(2.5)
14
El Proceso a Controlar
q
Rebose
Fig. 2.3: Proceso tanque cerrado con orificio de salida en la base y tubera de rebose.
Descripcion
Diametro del tanque
Valor
0.2
Unid.
m
0.0314
m2
m
qC
qC
Estado estacionario de qC
qD
qD
Estado estacionario de qD
Rh
qD es laminar, entonces:
qD =
0.4
1.66104
m3 /s
m3 /s
2.16104
h
Rh
m
m3 /s
m3 /s
s/m2
(2.6)
h
qD
(2.7)
(2.8)
15
h(s) =
Rh
qC (s)
SRh s + 1
(2.9)
Asumiendo que el flujo de entrada es un escalon de amplitud A, entonces, su transformada de Laplace es: qC (s) = A/s. Por consiguiente, de (2.9) se obtiene:
h(s) =
Rh A
s(SRh s + 1)
(2.10)
Aplicando los teoremas del valor inicial y del valor final en h(s), los valores inicial y
final de h(t) resultan:
lm h(t) = lm sh(s) = 0
t0
lm h(t) = lm sh(s) = Rh A
so
La curva de reaccion a lazo abierto del nivel h se determina resolviendo (2.8) o (2.10).
Vamos a intentar tres soluciones. Para una primera solucion, descomponemos (2.10)
en fracciones parciales:
"
#
Rh A
1
1
h(s) =
= Rh A
1
s(SRh s + 1)
s (s + SR
)
h
Tomando transformada inversa de Laplace a cada termino de h(s) se obtiene:
h
i
1 t
h(t) = Rh A 1 e SRh
(2.11)
Los valores inicial y final de h(t) resultan:
lm h(t) = 0
t0
lm h(t) = Rh A
tinf
Notar que estos valores coinciden con los hallados empleando (2.10).
La segunda forma de hallar h(t) es empleando matematica simbolica, tal como se
ilustra en el siguiente programa denominado nivel1simb.m:
% nivel1simb.m DETERMINACI
ON 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))
La tercera forma de hallar h(t) es mediante un programa en MATLAB, el cual tambien grafica la curva de reaccion. Este programa requiere la ecuacion de diferencia
del proceso nivel. Para ello se debe de discretizar la ecuacion de estado dada en (2.8)
como sigue:
1
1
h(k + 1) h(k)
=
h(k) + qC (k)
T
Rh S
S
1
1
h(k + 1) = h(k) + T
h(k) + qC (k)
Rh S
S
1
1
h=h+T
h + qC
Rh S
S
16
El Proceso a Controlar
qC [L/h]
10.5
10
9.5
9
8.5
50
100
150
200
250
TIEMPO
300
[s]
350
400
450
500
50
100
150
200
250
TIEMPO
300
[s]
350
400
450
500
0.4
NIVEL [m]
0.3
0.2
0.1
0
dTo
dt
(2.12)
17
q
Ti
q
T
Tabla 2.2: Parametros y variables del proceso temperatura en un tanque con agitador.
Smbolo
q
Descripcion
Flujo de entrada y de salida
Unidades
m3 /s
kg/m3
Cp
Cv
J
kg K
J
kg K
m3
Ti
oC
To
oC
V Cv
qCp
(2.13)
La curva de reaccion del proceso con Ti (s) = A/s, la cual es semejante al grafico
inferior de la Fig. 2.4, posee la forma:
t
To (t) = A (1 e )
la cual se halla ejecutando el programa en matematica simbolica temp1simb.m, donde
tau = :
% temp1simb.m DETERMINACI
ON DE To(t) USANDO TRANSFORMADA INVERSA DE LAPLACE
clear all; close all; clc; syms s tau A;
To = ilaplace(A/(s*(tau*s+1))); pretty(simplify(To))
18
El Proceso a Controlar
2.3.
Vx (s)
= sC1 1
Vi (s)
R1 + sC
Vo (s)
= sC2 1
Vx (s)
R2 + sC
C2
R2
C1
Vi
Vi
Seguidor de voltaje
Opamp
inversor
C2
Vx
Vo
Opamp
inversor
Tanques en Cascada
La Fig. 2.7 muestra dos tanques unidos por una tubera. Los parametros y variables de este proceso se describen en la Tabla 2.3. Las ecuaciones dinamicas que
gobiernan este sistema son:
q1 =
h1 h 2
R1
C1
dh1
= q q1
dt
h2
dh2
C2
= q1 q2
R2
dt
Pasando al dominio de Laplace con condiciones iniciales nulas, se obtiene:
q2 =
q1 (s =
h1 (s) h2 (s)
R1
h2 (s)
C2 sh2 (s) = q1 (s) q2 (s)
R2
Si la entrada es q(s) y la salida es q2 (s), entonces:
q2 (s) =
q2 (s)
1
=
2
q(s)
R1 C1 R2 C2 s + (R1 C1 + R2 C2 + R2 C1 )s + 1
19
Tabla 2.3: Parametros y variables del proceso temperatura en un tanque con agitador.
Smbolo
Descripcion
Unidades
q, q1 , q2
R1 , R2
Resistencias hidraulicas
C1 , C2
Capacitancias hidraulicas
m3
s
s
m2
m2
h1 , h2
m2
h1
h2
R1
R2
q2
q1
Indicador con N
ucleo de Fierro M
ovil
La Fig. 2.8 muestra un indicador con n
ucleo de fierro movil, donde K es la constante del resorte, B es la constante de viscocidad del amortiguador, M es la masa
del n
ucleo de fierro encerrado por la bobina, y u es la corriente que circula por la
bobina. La fuerza electromagnetica Km u producida por u produce un movimiento
y en el n
ucleo, cuya direccion y magnitud depende de la direccion y magnitud de
la corriente u. El movimiento y, que es tambien el desplazamiento del indicador, es
proporcional a la corriente u. La ecuacion que gobierna el movimiento del n
ucleo es:
Km u = Ky + B
dy
d2 y
+M 2
dt
dt
Km
M
B
Ms
K
M
s2
B
=
2 KM
Kp
+ 2n s + n2
n =
K
M
20
El Proceso a Controlar
u
Resorte
uo
K
Bobina
M
uo
Escala
yo
Corriente
y
y
yo
Amortiguador B
2.4.
Procesos Integrales
Llenado de un Tanque
La Fig. 2.9 muestra un tanque de seccion A que esta siendo llenado por un flujo
u de entrada. Solo cuando el tanque alcanza un nivel maximo, entonces se prende la
bomba de vaciado. El volumen acumulado en el tanque es:
A
dy
=u
dt
Kp =
1
A
u(t)
Flujo u(t)
y(t)
uo
t1
y(t)
y(t)
yo
Bomba
t1
21
Sat
elite
El satelite mostrado en la Fig. 2.10 se puede modelar como:
J = u
donde J es el momento de inercia del satelite, es el angulo de inclinacion y u es
el torque generado por los impulsores para corregir el angulo de inclinacion. En el
dominio de Laplace, el modelo del satelite toma la forma: Js2 (s) = u(s). Luego, la
FT del satelite es un doble integrador:
Kp
(s)
= 2
u(s)
s
Kp =
1
J
entonces
Por otro lado, si seleccionamos como variables de estado x1 = y x2 = ,
las ecuaciones de estado del proceso resultan: x 1 = x2 y x 2 = u/J, mientras que la
salida es: y = x1 . En forma matricial:
x 1
0 1
x1
0
=
+ 1 u
x 2
0 0
x2
J
y = [1 0]
x1
x2
2.5.
L
v
22
El Proceso a Controlar
Kp =
y
u
u(t)
Vlvla decuchilla
u+ u
Motor
t0
v = wr
t1
y(t)
Velocidad w
constante
uo
Tt
y
o
u
t1
y
t
2.6.
Kp =
y
u1 + u2
23
u 1(t)
u 1(t)
[u 1]o
L
Flujo u1 (t)
u2(t)
Flujo y(t) a Sensor
una velocidad de PH
v constante
Flujo u2 (t)
u 2(t)
[u 2]o
t
Tt
y(t)
y(t)
yo
Rebose
Agua fra
qC
TC
C
q
T
TC
Camisa de
enfriamiento
Tanque metlico
Tm
Producto
q
Ti
(a)
ti
K6
tc
i
1
3 s+1
K5
tc
K1
1
2 s+1 t
m
K4
K7
q
1
1 s+1
K2
K3
(b)
Tm . El modelo de este proceso fue extrado de [28]. La Tabla 2.4 muestra las variables
y parametros del proceso.
El balance de energa en el flujo que se procesa se expresa como:
qCp Ti hi Ai T + hi Ai Tm qCp T = V Cv
dT
dt
(2.14)
24
El Proceso a Controlar
Descripcion
Flujo de agua actual, estable y residual
Valor
Unid.
m3 /s
m3 /s
Densidad de q
kg/m3
Densidad de Qc
kg/m3
kg/m3
Cp
Capacidad calorfica de q
Cv
C vm
J
kgK
J
kgK
J
kgK
m3
Vm
T, T , t
Tci , T ci , tci
Ti , T i , t i
Tm , T m , t m
m3
hi
ho
Ai
Area
interna de transferencia de calor
J
m2 sK
J
m2 sK
m2
Ao
Area
externa de transferencia de calor
m2
dT
dt
(2.15)
dt
dt
(2.16)
K1 =
qCp
qCp + hi Ai
K1
K2
ti (s) +
tm (s)
1 s + 1
1 s + 1
K2 =
hi A i
qCp + hi Ai
1 =
(2.17)
V Cp
qCp + hi Ai
25
dTm
dt
(2.18)
dtm
dt
K4
K3
t(s) +
tc (s)
2 s + 1
2 s + 1
hi Ai
hi Ai + h o Ao
K4 =
ho Ao
hi Ai + h o Ao
(2.19)
2 =
V m m C vm
hi Ai + h o Ao
dTc
dt
(2.20)
= 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)
c Cp Qc T ci + ho Ao (T m T c ) c Cp Qc T c = Vc c Cv
dT c
dt
(2.23)
K5 =
K5
K6
K7
tc +
tm +
qc
3 s + 1 i 3 s + 1
3 s + 1
Q c c C p
h o A o + Q c c C p
ho Ao
K7 =
c Cp (T c T ci )
h o A o + Q c c C p
K6 =
3 =
(2.24)
ho Ao
h o A o + Q c c C p
Vc 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 ecuaciones (2.17), (2.20) y (2.24).
26
2.7.
El Proceso a Controlar
El Motor DC
Rf
La
Vb
Lf
Vf
If
Campo
If
1
Rf
Lf s
Km
T
d
Tm
TL
(b)
Armadura
Va
Km
Vb
Im
Ra
Td
Tm
J
B
Ia
(a)
Vf
Va
Ra
TL
L as
Motor ms
carga
1
B
Js
1
s
Motor ms
carga
1
Js
1
s
Kb
(c)
Fig. 2.14: (a) Circuito equivalente del motor DC. (b) Motor DC controlado por campo.
(c) Motor DC controlado por armadura.
(s) = s(s)
2.7 El Motor DC
27
Km
(s)
=
Vf (s)
s(Js + B)(Lf s + Rf )
(2.25)
(s)
Vf (s)
(s)
Vf (s)
K
s( s + 1)
K
=
s + 1
J
B
K=
Km
Rf B
(2.26)
Vb (s) = Kb (s)
(2.27)
Km
(s)
=
Va (s)
s[(Ra + La s)(Js + B) + Kb Km ]
(2.28)
(s)
Va (s)
(s)
Va (s)
K
s( s + 1)
K
Km
; K=
;
=
s + 1
Ra B + Kb Km
Ra J
(2.29)
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 .
Modelo en el Espacio de Estado
En ingeniera de control se emplea mas el motor CC controlado por armadura
debido a la inherente realimentacion que presenta en este caso. Por tal razon nos
ocuparemos del modelo en el espacio de estado para este motor. Si seleccionamos
28
El Proceso a Controlar
x 2 =
B
Km
x2 +
x3
J
J
x 3 =
Kb
1
x3 +
Va
La
La
1
0
0
0
x 1
x 2 = 0 B Km + 0 u
J
J
1
b
a
x 3
0 K
R
La
La
La
y = Cx
y=
(2.30)
1 0 0
x1
x2
x3
x 1
x 2
x = Ax + Bu
0
0 1
+ K u
=
0 1
y = Cx
y=
1 0
(2.31)
x1
x2
2.8.
2.8.1.
El proceso tanque cerrado con agua estudiado aqu se muestra en la Fig. 2.15. La
Fig. 2.16 ilustra el esquema para estudio de este proceso, donde se observa que los
flujos de agua fra qC y de agua caliente qC se mezclan en el interior del tanque con el
proposito de producir el flujo de salida qC a una temperatura . Por consiguiente, el
proceso tanque con agua es multivariable cuadrado debido a que posee dos entradas:
los flujos qC y qH , y dos salidas: el nivel h del agua dentro del tanque y la temperatura
que se asume uniforme en el interior del tanque.
El objetivo del sistema de control a dise
nar, es determinar adecuadas fuerzas de
control qC y qH con la capacidad de estabilizar las salidas controladas h y , cumpliendo ciertas especificaciones de dise
no previamente establecidas. La manipulacion de
las fuerzas de control se realizan mediante dos valvulas de control neumaticas, mientras que el transmisor de nivel LT y el transmisor de temperatura TT se ocupan de
medir y transmitir el nivel y la temperatura respectivamente. La Tabla 2.5 describe
las variables y los parametros valorados del proceso tanque cerrado con agua.
29
Tabla 2.5: Parametros, variables y smbolos del sistema tanque con agua.
Smbolo
dA
Descripcion
Diametro del tanque
qC
qC
Estado estacionario de qC
qH
qH
Estado estacionario de qH
qD
qD
Estado estacionario de qD
Rh
Aceleracion de la gravedad
Valor
0.2
Unid.
m
0.0314
m2
m
0.4
m
m3 /s
1.66104
m3 /s
m3 /s
0.5104
m3 /s
m3 /s
2.16104
m3 /s
s/m2
9.81
m/s2
20 +270
50 +270
Estado estacionario de
K
35+270
998
kg/m3
988
kg/m3
996
kg/m3
6.5
mm
15.9
mm
Cp
4186.8
J
kg K
J/s
J/s
J/s
J/s
LT
Transmisor de nivel
TT
Transmisor de temperatura
FT
Transmisor de flujo
PT
Transmisor de presion
30
El Proceso a Controlar
2.8.2.
Modelo Din
amico No Lineal del Proceso
Balance de Masas
Aplicando balance de masas en el tanque, el cambio de volumen de agua acumulado en su interior se modela como:
A
dh
= Ah = qC + qH qD
dt
(2.33)
p
a = CE d2 D 2g
(2.34)
qD = CE d2 2D p = a h;
4
4
donde hemos usado el hecho de que la cada de presion p en la tubera de diametro
D provocada por la placa de orificio de diametro d se expresa como:
p = D gh
En la expresion (2.34), g es la aceleracion de la gravedad, C = 0.6 es el coeficiente
de descarga del orificio, D es la densidad del agua a una temperatura , = d/D es
31
PT
LT= Transmisor de Nivel
TT = Transmisor de Temperatura
TT
Rebose
LT
Drenaje
Agua Caliente
Agua Fra
FT
FT
una relacion igual a 0.41 y E es una constante de correccion del valor del flujo debido
a consideraciones geometricas, el cual se expresa como:
E = (1 4 )1/2
Despejando h de (2.33), la ecuacion de estado para la variable de estado nivel toma
la forma:
a
1
1
h =
h + qC + qH
(2.35)
A
A
A
Los valores de las densidades del agua en funcion de la temperatura se pueden obtener
de figura 2.17.
Balance de Energa T
ermica
El balance de energa termica dentro del tanque se formula como:
T = D + C + H
(2.36)
= AhD Cp
d
= AhD Cp
dt
32
El Proceso a Controlar
DENSIDAD Kg/m3
1005
1000
995
990
985
980
10
20
30
40
50
60
TEMPERATURA C
= C p C C qC
= C p H H qH
D = C p D q D = C p D a h
(2.37)
Los parametros que aparecen en (2.37) se describen en la tabla 2.5. Observar que se
asume un valor constante para el calor especfico del agua Cp . La ecuacion de estado
(2.38)
x =
x = f (x, u)
qC
u1
x1
h
x 1
=
u=
x=
=
qD
u2
x2
x 2
#
"
Aa x1 + A1 u1 + A1 u2
f1
=
f=
x
u
u
a
f2
A x21 + CD AC x11 + HD AH x12
(2.39)
Dado que las variables de estado son las variables medidas del proceso, entonces la
ecuacion de salida posee la siguiente expresion:
y = Cx
(2.40)
y=
2.8.3.
y1
y2
x1
x2
C=
33
1 0
0 1
Modelo Din
amico de Lagrange del Proceso
El modelo dinamico de Lagrange del proceso tanque cerrado con agua se obtiene
reordenado las ecuaciones de (2.39) en la forma siguiente:
u1 + u2 = Ax 1 + a x1
C C u1 + H H u2 = D Ax1 x 2 + D a x1 x2
Por consiguiente:
1
1
a x1
A
0
x 1
u1
+
=
D a x 1 x 2
x 2
u2
c C H H
0 D Ax1
Operando en la u
ltima ecuacion, es facil demostrar que el modelo dinamico de Lagrange del proceso toma la forma:
u = P x + d
(2.41)
1
H H A D Ax1
P=
(H H C C ) C C A D Ax1
1
H H a x 1 D a x 1 x 2
d=
(H H C C ) C C a x1 + D a x1 x2
2.8.4.
Modelo Din
amico Lineal del Proceso
2h
Rh
(2.42)
h
qD
(2.43)
(2.44)
1
1
2
x 1 + u1 + u2
Rh A
A
A
(2.45)
34
El Proceso a Controlar
Asumiendo que la variacion del nivel h es mnima, entonces podemos hacer las
siguientes sustituciones en la ecuacion de estado (2.38) correspondiente a la temperatura en el tanque:
p
h=h
qD = a h = a h = q D
(2.46)
C C
H H
qD
x2 +
u1 +
u2
AhD
AhD
AhD
(2.47)
La ecuacion de estado lineal del proceso se obtiene juntando las ecuaciones (2.45) y
(2.47):
x = A x + B u
(2.48)
x1
h
u1
qC
x=
=
u=
=
x2
u2
qH
1
0
Rh2 A
A
A
B=
A=
qD
H H
C C
0
Ah
Ah
Ah
D
2.9.
2.9.1.
Kp
y(s)
=
e s
u(s)
(T s + 1)
Kp =
y1 y 0
u1 u 0
(2.49)
35
y
u
u1
u0
t
t1
Proceso
autoregulado
KP
e s
Ts + 1
y
1
P.T.
y0
t1
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
Determinar dos modelos dinamicos que describan el comportamiento velocidad frenada de un motor DC a partir de su curva de reaccion, semejante a la mostrada en la
Fig. 2.18. Esta curva se obtuvo manipulando la entrada u del sistema, un generador
de voltaje continuo. Los datos ledos fueron: u0 = 10 V, u1 = 20 V, y0 = 400 rpm,
y1 = 600 rpm, el tiempo muerto = 2 s y T = 9.2 s. Determinar la ganancia normalizada del sistema sabiendo que la entrada maxima de voltaje es 40 V y el rango
del instrumento de medicion de rpm a la salida es de 0 a 1000 rpm.
Soluci
on: El primer modelo dinamico se halla con la ecuacion (2.49) donde = 2 s
y T = 9.2 s:
G(s) =
Kp
y(s)
=
e s
u(s)
(T s + 1)
Kp =
y1 y 0
600 400
rpm
=
= 20
u1 u 0
20 10
V
El segundo modelo dinamico se refiere a la ecuacion (2.50). Con los datos proporcionados 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:
G(s) =
Kp
y(s)
20
=
=
n
u(s)
(Tn s + 1)
(2.484s + 1)3
600400
10000
2010
400
0.2
= 0.4
0.5
36
El Proceso a Controlar
Caso Especial
Para el caso especial:
0 < /T < 0.104
la dinamica del sistema autoregulado se puede aproximar mediante la siguiente FT
de segundo orden:
G(s) =
KP
Y (s)
=
U (s)
(T1 s + 1)(T2 s + 1)
KP =
y1 y 0
u1 u 0
(2.51)
k>1
/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
Determinar el modelo que describa la dinamica de un sistema mecatronico de velocidad a partir de su curva de reaccion, semejante a la mostrada en la Fig. 2.18. En este
caso, los datos ledos fueron: u0 = 5 V, u1 = 15 V, y0 = 200 rpm, y1 = 300 rpm,
= 2 s, T = 22 s.
Soluci
on: El modelo dinamico se refiere a la ecuacion (2.51). Dado que /T = 0.09,
empleando la Tabla 2.51 se determina que k = 2 y T1 /T = 0.175, lo que implica que
T1 = 3.85 s y T2 = kT1 = 7.7 s. Como KP = (300200)/(155) = 10 rpm/V, la FT
pedida es:
G(s) =
2.9.2.
Y (s)
KP
10
=
=
U (s)
(T1 s + 1)(T2 s + 1)
(3.85s + 1)(7.7s + 1)
M
etodo del 28.3 % y 63.2 %
La Fig. 2.19 muestra la curva de reaccion para el metodo 28.3 % y 63.2 %. En este
metodo se determinan los tiempos t28.3 % y t63.2 % correspondientes a las magnitudes
0.283y y 0.632y, respectivamente. En base a estos valores, los parametros de la
FT dada en la ecuacion (2.49) se determinan de:
T = 1.5(t63.2 % t28.3 % )
= t63.2 % T
(2.52)
37
t 63.2%
u1
u
u0
t
t1
Proceso
autoregulado
KP
e s
Ts + 1
t 28.3
y
1
y
0.632 y
y0
0.283 y
t
t1
2.9.3.
An2 n t
e
sen d t
d
(2.57)
La Fig. 2.20 (grafico superior derecha) muestra y(t) para A = 1 y varios valores de
. Notar tambien que para 1 la respuesta se vuelve sobreamortiguada.
38
El Proceso a Controlar
Una forma alternativa de (2.53) incluye un tiempo muerto . Esto es:
G(s) =
y(s)
2
= 2
es
u(s)
s + 2s + 2
(2.58)
Para una entrada tipo escalon (u(s) = A/s) en (2.58) y aplicando la propiedad (5)
de la Tabla A.2 en (2.55), se obtiene la respuesta y(t) al escalon correspondiente a
(2.58):
n n (t )
y(t) = A 1
e
sen[d (t ) + ]
(2.59)
d
La Fig. 2.20 (grafico inferior izquierda) muestra y(t) para A = 1 y varios valores de
. De nuevo, notar que para 1 la respuesta se vuelve sobreamortiguada.
Si la entrada es un impulso (u(s) = A) en (2.58) y aplicando la propiedad (5)
de la Tabla A.2 en (2.57), se obtiene la respuesta al impulso y(t) correspondiente a
(2.58):
An2 n (t )
y(t) =
e
sen d (t )
(2.60)
d
La Fig. 2.20 (grafico superior derecha) muestra y(t) para A = 1 y varios valores de .
Notar que para 1 la respuesta se vuelve sobreamortiguada. Para obtener la Fig.
2.20, ejecutar el programa r1.m listado abajo.
% r1.m RESPUESTAS AL ESCAL
ON Y AL IMPULSO DE PROCESOS AUTOREGULADOS
clear all; close all; clc; wn=3; tau=2; s=tf(s);
subplot(221), for z=[0.2:0.4:1.8]; G1=wn^2/(s^2+2*z*wn*s+wn^2);
step(G1), hold on, end
subplot(222), for z=[0.2:0.4:1.8]; G2=wn^2/(s^2+2*z*wn*s+wn^2);
impulse(G2), hold on, end
subplot(223), for z=[0.2:0.4:1.8]; G3=wn^2*exp(-tau*s)/(s^2+2*z*wn*s+wn^2);
step(G3), hold on, end
subplot(224), for z=[0.2:0.4:1.8]; G4=wn^2*exp(-tau*s)/(s^2+2*z*wn*s+wn^2);
impulse(G4), hold on, end, print -deps -f r1
Respuesta al Escal
on en Procesos No Autoregulados
Procesos no autoregulados, como es el caso de la posicion angular del eje de un
motor de CC, o el aumento del nivel de un lquido dentro de un tanque sin tubera de
salida, poseen una respuesta al escalon no finita, tal como se ilustra en la Fig. 2.21.
La dinamica de tales procesos se puede modelar como:
Gp (s) =
Kp s
e
s
R = Kp
(2.61)
2.10 Problemas
39
Step Response
Impulse Response
4
1.5
Amplitude
Amplitude
0.2
1
0.5
0
1
0
1.8
0.2
1.8
5
Time (sec)
10
5
Time (sec)
Step Response
Impulse Response
4
1.5
Amplitude
Amplitude
0.2
1
0.5
0
10
1.8
1
0
0.2
1.8
5
Time (sec)
10
5
Time (sec)
10
u
A
Kp
e s
s
R = Kp
y
y
2.10.
Problemas
40
El Proceso a Controlar
Tabla 2.8: FT (Funcion de Transferencia) de varios procesos en funcion de su comportamiento, donde es el tiempo muerto. Otras combinaciones son posibles.
Proceso
FT
Proceso
Proporcional (P)
Kp
Primer orden
Integral (I)
Kp
s
Segundo orden
(primera forma)
Doblemente
integral
Kp
s2
Segundo orden
(segunda forma)
Proporcional
integral (PI)
Proporcional
derivativo (PD)
P+I+D
Kp 1 +
1
Ti s
1
Ti s
+ Td s
Kp
s
Kp
T s+1
e s
Kp
(T s+1)n
(segunda forma)
Integral con
tiempo muerto
e s
Kp
(T1 s+1)(Tn s+1)
De orden n
2do orden con
(1a forma)
Seguidor
de voltaje
2
n
2
s2 +2s+n
De orden n
(primera forma)
Kp e s
Vin
Kp
(T s+1)2
(tercera forma)
Proporcional con
tiempo muerto
Ri
Kp
T s+1
Kp
(T1 s+1)(T2 s+1)
Segundo orden
Kp (1 + Td s)
Kp 1 +
FT
Kp
(T1 s+1)(T2 s+1)
Rf
R
Opamp
inversor
e s
2
n
2
s2 +2s+n
e s
2s
n
2
s2 +2s+n
e s
R
Vo
Opamp
inversor
2.10 Problemas
41
Desague
T = RC
donde Po es la presion del gas dentro del recipiente, Pi es la presion del gas de entrada,
R = (Pi Po )/Q es el la resistencia neumatica, Q es el caudal del gas, C = dm/dp
(variacion de la masa con respecto a la variacion de la presion) es la capacitancia
neumatica, m = V es la masa del gas, V es el volumen del tanque, es la densidad
del gas y T = RC es la constante de tiempo. Se sabe ademas que la capacitancia C
multiplicada por la variacion de la presion de salida dPo , es igual al gas Q a
nadido
al recipiente en un diferencial de tiempo dt.
Problema 2.5 Proceso Mec
anico
La Fig. 2.25 muestra una proceso mecanico traslacional, donde M es la masa de
un cuerpo que esta accionado por una fuerza u. A esta accion se le oponen la fuerza
fK = Kx en el resorte y la fuerza de perdidas fB = Bv en el amortiguador, donde K
42
El Proceso a Controlar
Pi
R
Q
Po
C
x
v
K
B
fK
fB
2.10 Problemas
r1
e1
u1
R1
r2
43
P1
y1
Y1
K1
u2
B1
y
P2
R2
Y2
K2
B2
e2
! "! "! $% "! "! ## "! "! "! "!
##
Ta
qi
RF
CM
CF
TM
RM
TF
VAPOR
qo
44
El Proceso a Controlar
,,- ../
f(t)
M1
B1 /2
B2 /2
()
ACEITE
B1 /2
f1
A1
*+
f2
A2
M2
B2 /2
&' &' &' &' &' &' &' &' &' &' &' &'
K
Ra
q1
P1
T
T
G
G
TT
TG
Rc
V
Turbina
VG
KT
JT
q1
La
K b
Lc
Generador DC en paralelo
Ref
Tm
m
KJK
J ML ML
Vb
Kb I a
Ia
Transductor
d
dt
KT
Captulo 3
El Sistema de Medici
on
En este Captulo se aborda el sistema de medicion de un sistema de control realimentado, el cual comprende la medicion primaria, realizada con sensores, y la conversion
de la se
nal se
nal medida en una se
nal manipulable, estandarizada y transmitible. Esta
conversion la realiza el transmisor.
Es necesario acotar que en el mercado se pueden encontrar tanto sensores como
transmisores (denominados tambien transductores, convertidores o acondicionadores de
se
nal) por separado, as como tambien formando instrumentos unidades completas.
Tambien cabe mencionar que los sistemas de medicion actuales, ademas de tener
disponibles mediciones estandarizadas tales como 4 a 20 mA o 3 a 15 psi, tambien son
capaces de procesar se
nales digitales empleando uno o varios protocolos industriales.
3.1.
Sensores
Recordemos que la Fig. 1.1 ilustra un sistema de control a lazo cerrado (o realimentado) simple, denominado as poseer un solo lazo de realimentacion. El bloque
sistema de medicion para el control de procesos SISO (Single Input Single Output),
consta de un sensor y de un transmisor. El sensor proporciona la variable medida,
la cual representa la condicion actual de la variable controlada y, mientras que el
transmisor cambia tal medicion en una se
nal estandarizada, la cual generalmente es
una se
nal que pueda ser procesada y transmitida. En muchos casos la variable medida
y la variable controlada pueden ser la misma.
Los temas sensores y transmisores se tratan en forma extensa y especilizada en
los textos de instrumentacion industrial. En esta publicacion, tales temas van a ser
tratados con el suficiente nivel que exige un texto de control de procesos.
La medicion del valor actual de la se
nal a controlar se realiza mediante un sensor,
denominado tambien elemento primario de medicion, o un instrumento de medicion
que emplea los sensores adecuados para tal o cual medicion. Un sensor puede estar
caracterizado por una curva de reacci
on la cual relaciona la variable medida con la
se
nal generada. Esta curva se obtiene aplicando una serie de entradas conocidas al
sensor y almacenando las correspondientes respuestas. Un ejemplo tpico esta constituido por las curvas caractersticas de Temperatura ( F) vs mV de las termocuplas.
Seg
un el tipo de se
nal de salida que proporciona, un sensor se puede clasificar en
analogicos (la se
nal de salida es continua dentro del rango de medicion), digital (la
46
El Sistema de Medici
on
se
nal de salida es digital), y ONOFF (la se
nal de salida vara entre los umbrales
ON y OFF). Seg
un la magnitud a medir, el sensor puede ser de nivel, presion, temperatura, proximidad, flujo, etc. Por ejemplo, una termoresistencia proporciona una
se
nal continua en ohms, la cual es proporcional a la temperatura medida, mientras
que un radar proporciona se
nales discretas que son proporcionales a la magnitud de
la variable medida. Por otro lado, las se
nales que abren y cierran completamente una
valvula son del tipo ONOFF.
3.1.1.
Caractersticas Est
aticas y Din
amicas
Un sensor posee tanto caractersticas estaticas como dinamicas. Entre las caractersticas estaticas tenemos: rango, alcance, resolucion, sensibilidad, curva caracterstica, linealidad, saturacion, zona muerta, repetibilidad, histeresis, precision y
exactitud. Las caractersticas dinamicas son: velocidad de respuesta, respuesta en
frecuencia, y estabilidad.
El rango es el campo de medida de la magnitud de entrada del sensor y vara entre
el valor maximo y el valor mnimo detectables, con una tolerancia de error aceptable.
El alcance o span es la diferencia entre el valor maximo y el valor mnimo de interes,
mientras que la resoluci
on es la mnima diferencia entre dos valores proximos que el
sensor es capaz de distinguir. Supongamos que un voltmetro es capaz de medir en
el rango de 0 a 500 V, pero nosotros solo estamos interesados en medir en la escala
de 200 a 300 V, lo cual significa un span de 100 V. El voltmetro usado posee una
resolucion de 0.5 V, es decir, podemos ver sin dificultad lecturas de, por ejemplo,
200.5 V 0 289.5 V.
La sensibilidad es la variacion de la salida debido a una variacion de la entrada. El
grafico de los puntos de sensibilidad define la curva caracterstica o de de calibracion.
Este grafico representa respuesta no lineal. Mientras mayor sea la pendiente de dicha
curva, mejor la sensibilidad. En un sensor con curva de respuesta lineal, la variacion
de la salida producida por una variacion de la entrada es constante; es decir, su
sensibilidad es siempre la misma y su curva caracterstica es lineal. Por ejemplo,
las curvas caractersticas de los diodos en su zona activa son no lineales porque sus
puntos de sensibilidad corriente sobre voltaje no son constantes. En cambio, una
conductancia (la inversa de la resistencia) si posee una curva caracterstica lineal,
porque sus puntos de sensibilidad corriente sobre voltaje son constantes.
La saturaci
on se manifiesta en un sensor debido a la no linealidad producida por
la disminucion de sensibilidad, tpicamente al principio o al final del rango. En las
zonas de saturacion, la medicion no es confiable. La zona muerta de un sensor es el
area de valores de la variable medida que no hace variar la indicacion del instrumento.
Un sensor posee repetibilidad cuando se puede repetir el valor de la medicion de
una variable para una u
nica direccion de medicion. La histerisis en un sensor se parece
a la repetibilidad; sin embargo, el proceso de medicion es en ambos sentidos. Por
ejemplo, un termometro posee repetibilidad porque siempre mide 49 C en un objeto
de 50 C cuando dicho objeto pasa de mas fro a mas caliente. Desafortunadamente,
este termometro posee una histeresis de 1 C porque en un objeto de 50 C mide
49 C cuando dicho objeto pasa de mas fro a mas caliente, y mide 51 C cuando el
objeto pasa de mas caliente a mas fro.
La exactitud de una medicion se refiere a la maxima desviacion en % del valor
3.1 Sensores
47
medido, con respecto al valor ideal. Por otro lado, un instrumento de medicion 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 desviacion
maxima en la medicion es 5 mA con respecto al valor real de 100 mA, la exactitud
del instrumento resulta:
5
100 = 5 %
100
La precision se halla calculando primero la media de las lecturas:
105 + 103 + 105 + 103 + 105
= 104 mA
5
y luego determinando la maxima desviacion 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 mayora de los casos, los sensores poseen un comportamiento dinamico
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 relacion entre la salida resistencia en ohm y la entrada temperatura
en C es constante, mientras que en un flotador empleado para la medicion de nivel,
la relacion entre la salida voltaje en V y la entrada nivel en m es una expresion 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 medicion. La estabilidad
en un sensor se explica como la desviacion que sufre la medicion cuando se varan
ciertos parametros.
La velocidad de respuesta de un sensor es la capacidad para que la se
nal de
salida siga sin retraso a las variaciones de la se
nal de entrada. Una velocidad de
respuesta rapida implica una constante de tiempo T peque
na y viciversa. Por otro
lado, la respuesta en frecuencia de un sensor se determina excitando al sensor con
se
nales 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
umeros imaginarios y = 2f 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
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 frecuencia . MB () es M expresado en dB (decibelios). El grafico de MB () vs en
escala logartmica es la respuesta en frecuencia en magnitud del sensor representado
en 3.1, mientras que el grafico M = arctan(T ) vs en escala logartmica es su
correspondiente respuesta en frecuencia de su angulo o fase. Tales representaciones se
denominan los graficos de Bode en magnitud y fase. Un sensor no es estable cuando
la medicion experimenta desviaciones en los valores medidos debido a la variacion de
ciertos parametros, tales como K y T (ver (3.2)).
M () =
48
El Sistema de Medici
on
Sensores de Temperatura
Los sensores de temperatura, de acuerdo al principio fsico o caracterstica con
que operan, se pueden clasificar en:
1. Termometros de dilatacion, tales como los termometros de vidrio, de bulbo y
bimetalicos.
2. Termometros sensibles a la resistencia, tales como los termometros con resistencia metalica y los termistores.
3. Termocuplas o termopares.
4. Medicion sin contacto, como son los pirometros opticos, de radiacion y de dos
colores.
3.1 Sensores
49
50
El Sistema de Medici
on
Captulo 4
4.1.
Caractersticas
El ECF (Elemento de Control Final) es un dispositivo que posee la potencia necesaria para ejercer cambios en el proceso, cada vez que recibe la se
nal del controlador.
Por lo general, el EFC consta de dos partes: el actuador, que transforma la se
nal
del controlador en un comando para el dispositivo manipulador, y, el mecanismo de
ajuste, el cual dosifica el flujo de masa o de energa que esta siendo manipulado.
Uno de los EFC mas empleados en la indutria es la VCA (Valvula de Control
Automatico). En una VCA neumatica, su actuador (el cabezal de la VCA con su
membrana) recibe la se
nal estandarizada de 3 a 15 psig (o 0.2 a 1 bar) para desplazar
el eje o vastago que esta unido a la membrana. En el extremo libre de este eje
se encuentra el cono u obturador, y a continuacion, el asiento de la VCA. Si esta
valvula esta siendo usada para controlar el paso de un fluido a traves de una tubera,
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
nal
estandarizada que recibe de su actuador.
Dependiendo de la energa auxiliar con la que estan alimentadas, los actuadores
se pueden clasificar en electricos, neumaticos e hidraulicos. Los actuadores electricos
mas empleados son el motor DC, el motor AC, la bobina con n
ucleo de hierro movil, y
el inversor de potencia. Entre los actuadores neumaticos tenemos los de membrana de
simple y doble efecto, el cilindro de membrana, el cilindro (o piston) de doble y simple
efecto. El cilindro hidraulico y el cilindro hidraulico rotatorio son dos actuadores
hidraulicos representativos. La Fig. 4.1 muestra el esquema de los actuadores antes
mencionados.
Los dispositivos de ajuste tambien se clasifican de acuerdo a la energa auxiliar
que los alimenta. A su vez, los dispositivos de ajuste electricos pueden ser continuos
y discontinuos. La resistencia electrica, el transformador y el transistor de potencia
son dispositivos continuos, mientras que el contacto, el micro interruptor, el rele, un
tiristor o un triac son discontinuos.
En las valvulas para gas, vapor, lquidos o granos, el conjunto obturadorasiento
constituye el dispositivo de ajuste.
52
(c)
(b)
XOWXOWXOW XWXWXW
WOXXWOXWOWXXWXW Z
XWOXW ZYZY
(d)
(e)
UOUOUOUOUOVUOUOUOVUOUUVU
UOUOUOVUOVUOVUOVUOVUOVUOVUVUVU
VVOVVOVV
R
S
T
(g)
(f)
(h)
(c)
(b)
(d)
(e)
(f)
(g)
(h)
4.2.
4.2.1.
La V
alvula de Control Autom
atica (VCA)
Dimensionamiento de una VCA
La VCA es uno de los EFC mas empleados en el control de procesos tales como
presion, nivel, temperatura, fluidos (lquidos, gases, vapor), PH, redox, etc. Existen
tres tipos principales de valvula: de aperura y cierre rapido (valvulas ONOFF), de
caracterstica lineal y de caracterstica isoporcentual.
4.2 La V
alvula de Control Autom
atica (VCA)
53
2g
2g
(4.1)
Por continuidad:
Q = V 1 A1 = V 2 A2
V 1 = 2 V2
2 =
A2
A1
(4.2)
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
na.
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:
Q = V 2 A2 = C v
P2 P 1
GF
Cv = A 2
2g
GF (1 4 )H2 O
(4.4)
54
Vstago
Cono
Q, P1 , V1, A 1
Q, P2 , V 2, A 2
Asiento
h2
de de 1 bar (105 Pa). La equivalencia entre los coeficientes Kv y Cv para una VCA
completamente abierta es:
Kv = 0.86 Cv m3 /h
Cv = 1,16 Kv gpm
(4.6)
m
100
(4.8)
Cv = Cvmax R 100 1
(4.9)
Cada de presi
on mnima (v
alvula abierta)
Cada de presi
on m
axima (v
alvula cerrada)
(4.11)
(4.12)
4.2 La V
alvula de Control Autom
atica (VCA)
55
Con las consideraciones anteriores, el caudal Q, que fundamentalmente es proporcional a la raz cuadrada de la cada P = P1 P2 , se formula como:
Q = CE
(4.13)
La Fig. 4.4 muestra las curvas caractersticas de las valvulas ONOFF, lineal (ecuacion
(4.8)) e isoporcentual (ecuacion (4.9)), mientras que la Fig. 4.5 ilustra la forma de
los conos u obturadores.
4.2.2.
La Fig. 4.6(a) muestra una bomba que genera un caudal Q a una presion P 0 . La
cada de presion en la VCA es P = P1 P2 , mientras que las perdidas P1 , P2
y P3 ocurren en otras partes de la linea. Para tal situacion, es evidente que:
P0 = P + P1 + P2 + P3
56
P2
P
P1
P2
P3
(a)
Para mxima
presin nominal
Q Amax
Punto adecuado
ubicado al 70%
u [mm]
0%
100%
A
(b)
Fig. 4.6: (a) Valvula operando en una linea. (b) Operacion de una VCA alrededor
del punto de operacion A.
Captulo 5
D(t) = Kc Td de(t)
dt . Este algoritmo posee muchas variaciones, algunas de las cuales vamos
a explorar en este captulo. Dependiendo de la aplicacion, el controlador en cuestion puede
trabajar como P, PI, PD o PID.
Es importante mencionar que el algoritmo PID es el de mayor aplicacion industrial
(aproximadamente el 90 %) y su modelo dinamico es lineal y de segundo orden. Se emplea
para controlar sistemas caracterizados por tener una entrada y una salida, como son los
casos del control de presion, nivel, flujo, entre otros.
5.1.
Un sistema de control SISO realimentado o a lazo cerrado, sin presencia de disturbios, tal como el que se muestra en la Fig. 5.1(a), comprende el proceso con FT
Gp (s) cuya salida y (la se
nal PV) se desea controlar, un controlador G c (s) que genera
la se
nal de control u (la se
nal MV) y el sistema de medicion Gm (s) que se ocupa de
sensar y transmitir la se
nal y. El comparador que genera la se
nal de error e = r y,
donde r es la se
nal de referencia deseada o SP, es parte del controlador.
El controlador mostrado en las Figs. 5.1(b) y (c) ha sido dividido en dos partes:
Gc1 (s) y Gc2 (s). Para algunas configuraciones Gc1 (s) es del tipo PI mientras que
Gc2 (s) es del tipo D, tal como se vera mas adelante. Notar que el sistema a controlar
Gp (s) mostrado en las Figs. 5.1(a), (b) y (c) es del tipo SISO porque posee una
entrada: u y una salida: y. Los controladores mostrados en las Figs. 5.1(a) y (b) son
parte de un circuito realimentado. En la Fig. 5.1(c), el controlador G c2 (s) es del tipo
anticipativo, mientras que Gc1 (s) es del tipo de realimentacion.
58
Gc (s)
G p(s)
G m (s)
(a)
r
G c1 (s)
G p(s)
G c2 (s)
G m (s)
(b)
G a (s)
r
G c (s)
y
G p(s)
G m (s)
(c)
59
du
Filtro de
entrada
Controlador
Limitador
Proceso ms
u u
u
elemento
u
final de control
dy
y
Sensor ms
transmisor
dm
Fig. 5.2: Sistema de control SISO con filtro de entrada, con limitador de salida y
sujeto a la accion de disturbios.
5.2.
Especificaciones de Dise
no
5.2.1.
Especificaciones de Dise
no en el Dominio del Tiempo
Mp A
100
A
(5.2)
60
el error ess se puede determinar empleando el teorema del valor final, teniendo en
cuenta que r(s) = A/s, como sigue:
Gp (s) =
y(s)
n2
= 2
r(s)
s + 2n s + n2
y(s) = Gp (s)r(s)
A
=A
ess = r yss = A A = 0
s0
s
relaciones exactas para Tp , Mp y P O se expresan como:
Mp A
2
100
= 100e/ 1
A
2
A 1 + e/ 1
p
= arc cos
d = n 1 2
d
2
n
r
s (s
(5.3)
(5.4)
(5.5)
(5.6)
2 n )
(a)
2n
r
s2
2 n s
yss
2n
0 T r Tp
(b)
s1
n
Zona de
estabilidad
Mp
A
e ss
Ts
Plano s
j
d
s2
(c)
Zona de
inestabilidad
(5.7)
61
s2 = n jd
2.16 + 0.16
n
0.3 0.8
(5.8)
Ejemplo 5.1
La Fig. 5.4 muestra un sistema realimentado. Determinar la ganancia K y el polo
p para que se cumplan las siguientes especificaciones de dise
no: el porcentaje de
sobrenivel de la respuesta y(t) a un escalon unitario debe de ser menor del 3 % y el
tiempo para alcanzar el valor estacionario de la respuesta debe de ser menor de 8 s.
r
K
s (s
p)
Soluci
on: La FT y(s)/r(s) en la Fig. 5.4 se expresa como:
y(s)
K
n2
= 2
= 2
r(s)
s + ps + K
s + 2n s + n2
p = 2n
K = n2
c
ln(100/P O)
2
c=
100e/ 1 < P O >
2
1+c
de donde resulta: < 0.745. Dado que Ts = 4n < 8 s, entonces: n > (2)1 = 0.67.
Luego se pueden determinar los parametros p y K pedidos.
5.2.2.
Especificaciones de Dise
no en el Dominio de la Frecuencia
62
Gr
aficos de Bode y Nyquist, y Carta de Nichols
El grafico de Bode en magnitud de una FT G(j) se obtiene graficando la magnitud |G(j)|dB = 20 log(G(j)) expresada en dB (decibelios) versus la frecuencia
representada en una escala logartmica (log ). Si la escala logartmica usada es vulgar
(de base 10), entonces log se representa en decadas. En cambio, si es de base 2, log
se representa en octavas. Una escala de frecuencias en decadas podra ser:
log : 0.01 0.1 1 10 100 - 1000 - 10000
mientras que una escala en octavas sera:
log : 0.25 0.5 1 2 4 8 16 32 64
El grafico de Bode en fase de una FT G(j) se obtiene graficando la fase G(j)
expresada en grados sexagesimales versus la frecuencia log representada en escala
logartmica de base 10 (decadas) o en escala logartmica de base 2 (octavas).
En general, la FT G(j) de un sistema se puede representar como G(j) = u+jv,
donde u es la parte real y v es la parte imaginaria. En un grafico de Nyquist se grafica
la parte real u versus la parte imaginaria v de la FT G(j) del proceso.
El grafico de |G(j)|dB versus en escala logartmica se denomina la carta de
Nichols que tambien se emplea en el dise
no de sistemas de control va la respuesta
en frecuencia.
Ejemplo 5.2
Elaborar los graficos de Bode y Nyquist y la carta Nichols del proceso con FT:
G(s) =
n2
s2 + 2zn s + n2
Especificaciones de Dise
no en Frecuencia
La Fig. 5.8(a) muestra la respuesta del proceso autoregulado de segundo orden
a una entrada sinusoide, mientras que la Fig. 5.8(b) ilustra su grafico de Bode en
magnitud. Sin demostracion, el valor pico M de la magnitud, el cual se puede emplear
como especificacion de dise
no, posee la relacion:
M =
1
2(1 2 )
0.7
(5.9)
63
Bode Diagram
20
z=0.1
z=0.5
Magnitude (dB)
0
20
z=0.9
z=1.3
40
60
z=0.1
z=0.5
z=0.9
z=1.3
45
90
135
180
10
10
10
Frequency (rad/sec)
10
10
Nyquist Diagram
6
z=0.1
2
Imaginary Axis
Phase (deg)
80
0
z=0.9
z=0.5
z=1.3
6
3
0
Real Axis
64
Nichols Chart
20
z=0.1
20
z=0.5
40
z=0.9
z=1.3
60
80
100
180
135
90
OpenLoop Phase (deg)
45
El ancho de banda del sistema se refiere a la frecuencia B para la cual existe una
cada de 3 dB, tal como se observa en la Fig. 5.8(b) y se calcula de:
B = (1.196 + 1.85)n
0.3 0.8
(5.11)
y(s)
G(s)
=
r(s)
1 + GH(s)
y(j)
G(j)
=
r(j)
1 + GH(j)
65
y(j )=Bsen(t+)
r(j)=Asen t
y(j)
2
n
r(j)
(j)2 2 n j n 2
(a)
y(j)/r(j)
(b)
dB
(M) dB
0dB
3dB
0
log
Fig. 5.8: (a) Respuesta de un proceso de segundo orden a una sinusoide. (b) Su grafico
de Bode en magnitud (b).
GH(j) = 1
u
|GH(j)| = 1
Fig. 5.9: (a) Sistema realimentado. (b), (c) y (d): Margenes de fase y de ganancia.
66
1.5
(s + 0.1)(s + 0.3)(s + 0.4)
H(s) = 0.1
Soluci
on: Ver programa mfmg1.m y Fig. 5.11.
% mfmg1.m C
ALCULO DE LOS M
ARGENES DE FASE Y DE GANANCIA
clear all; close all; clc; s=tf(s);
G = (1.5)/((s+0.1)*(s+0.3)*(s+0.4)); H = 0.1; GH = series(G,H);
[Mg,Mf,wMg,wMf] = margin(GH); % GR
AFICA BODE DE GH
[20*log10(Mg),Mf,wMg,wMf] % [-0.5976 -2.1262 0.4359 0.4499]
% SISTEMA INESTABLE PORQUE Mg EN dB Y Mf EN GRADOS SON NEGATIVOS
margin(GH); print -f -deps mfmg1
5.3.
5.3.1.
La Banda Proporcional BP %
La accion P del controlador se expresa como: u(t) = Kc e(t) (ver Fig. 5.13),
donde u(t) es la se
nal de salida del controlador (o MV) que se dirige al elemento
final de control (EFC), Kc es la ganancia proporcional del controlador, y e(t), la
entrada al controlador, es el error de desviacion entre la se
nal deseada (o SP) y la
variable controlada (o PV). En muchos casos practicos no se emplea K c , sino su
G(j)
67
y
G H(j)
H(j)
G(j)
r
(a)
GH dB
GH dB
M g negativo
log
0 dB
log
M g positivo
ang GH
90
180
270
90
180
270
log
M f positivo
log
M f negativo
(b)
M g positivo
M f negativo
jv
1
Mg
jv
M g negativo
1
M f positivo
1
Mg
(c)
GH dB
GH dB M g negativo
M g positivo
0 dB
0 dB
M f positivo
270
180
M f negativo
90
270
180
90
(d)
Fig. 5.10: (a) Sistema realimentado. (b), (c) y (d): Margenes de fase y de ganancia.
68
Magnitude (dB)
20
0
20
40
60
80
Phase (deg)
90
180
270
10
10
10
Frequency (rad/sec)
10
10
69
fg gf
Error
Mx.
Mn.
y yy
sstst
uuxwv uxwv xw
Error
Mx.
Mn.
Abertura de vlvula
100%
Pivote
50%
0%
Abertura de vlvula
100%
50%
Pivote
0%
ed ed
~ ~ ~
Error
Mx.
Abertura de vlvula
100%
50%
Pivote
Mn.
0%
u
U
e
E
(5.13)
donde e es el cambio en la se
nal de error, u es cambio en la se
nal de control, U
es el rango maximo medible (o span) de la salida del controlador y E es el rango
de medicion (o span) de la se
nal controlada. La banda proporcional en porcentaje,
denotada como BP %, se define como la inversa de la ganancia Kc del controlador:
PB % =
100
Kc
(5.14)
Ejemplo 5.4
Determinar la banda proporcional de un controlador PID operando en un sistema
de control de temperatura, sabiendo que un cambio de e = 15o C en la entrada del
controlador produjo un desplazamiento de u = 3 mm en el vastago de la valvula
70
e
E
Controlador
Proporcional
u
U
5.3.2.
100
100
=
= 50 %
Kc
2
Control Proporcional
71
ACCIN PROPORCIONAL
1.4
1.2
SP
AMPLITUD
Kc=2.05; BP%=48.8
0.8
0.6
Kc=1.05; BP%=95.24
0.4
Kc=0.05; BP%=2000
0.2
10
20
30
40
50
60
TIEMPO (sec)
70
80
90
100
5.3.3.
Control Integral
5.3.4.
Control Derivativo
72
1.2
Ti = 3; KI=0.2
AMPLITUD
Ti=9; KI=0.066
0.8
Ti=15; KI=0.04
0.6
0.4
0.2
10
20
30
40
50
60
TIEMPO (sec)
70
80
90
100
La magnitud del ajuste esta determinada por que tan rapido es la desviacion del
error. Esta accion de control se suma a menudo al control proporcional para corregir
cambios rapidos en la variable controlada. As, este modo de control toma el nombre
de PD (Proporcional mas 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:
u(t) = Kc e(t) + KD
de(t)
dt
K D = K c Td
5.3.5.
Control PID
Hemos visto que solo el control PI es capaz de estabilizar la salida del sistema de
control en su SP. Esto significa que los modos de control P y PD no son adecuados
para controlar el proceso de prueba dado en (5.12). Empleando un control PID, las
posibilidades de controlar la mayora de los procesos industriales se acrecienta, si
esta permitido usar todas las combinaciones posibles: P, I, PI, PD y PID.
73
KD=0.06; Td=0.1
0.6
KD=0.3; Td=0.6
AMPPLITUD
0.5
KD=0.66; Td=1.1
0.4
0.3
0.2
0.1
10
20
30
40
50
60
TIEMPO (sec)
70
80
90
100
La Tabla 5.1 muestra la tendencia (a aumentar o disminuir) que tienen los parametros de dise
no, cuando se incrementan las ganancias Kc , Ki o Kd . Es importante anotar
que tal tabla debe de ser aplicada con cuidado, debido a que en un sistema de control
PID, los cambios en en los parametros de dise
no no ocurren por separado, sino tales
cambios pueden estar interconectados. Esto es, cambios en un parametro de de dise
no
pueden afectar el comportamiento de otros.
Tabla 5.1: Variacion de los parametros de dise
no cuando se incrementa: K c , Ki o Kd
Parametro
Tiempo de
de subida Tr
Sobrenivel
(PO %)
Ts : Tiempo de
estabilizacion
ess : Error en
estado estable
Kc
Disminuye
Aumenta
Cambio peque
no
Disminuye
Ki
Disminuye
Aumenta
Aumenta
Elimina
Kd
Cambio peque
no
Disminuye
Disminuye
Cambio peque
no
5.4.
74
de set point, controlando la entrada de vapor por medio de una valvula ONOFF.
Claramente, cuando y(t) sobrepasa el set point, el controlador genera una se
nal U min
para que la valvula se cierre. En cambio, si y(t) se encuentra debajo del set point, el
controlador genera una se
nal Umax para que la valvula se abra. El efecto final es que
la salida controlada y(t) fluct
ua alrededor del set point.
En la Fig. 5.17(C), el controlador es un rele 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 accion de control. De esta manera la zona muerta
minimiza el desgaste y los da
nos debido a que se evita el continuo funcionamiento
cclico del EFC, por ejemplo, la valvula mostrada en la Fig. 5.17(b).
e(t)
Set Point
Control de dos
posiciones
u(t)
Vlvula
ONOFF
Sistema de
Instrumentacin
(a)
u(t)
u(t)
Umax
Umax
e(t)
h1
Umin
y(t)
h2
Umin
e(t)
y(t)
Ymax
Ymax
t Zona
Muerta
Set Point
Ymin
Ymin
Vlvula
Abierta
(Umax)
Vlvula
Abierta
(Umax)
Vlvula
Cerrada
(Umin)
y(t)
Proceso
t
(b)
Vlvula
Cerrada
(Umin)
(c)
Fig. 5.17: (a): Sistema de control de dos posiciones. (b): Controlador ONOFF sin
zona muerta, y (c): con zona muerta.
Ejemplo 5.5
Dise
nar un controlador de dos posiciones sin zona muerta para controlar el siguiente
proceso:
Kp
e s
Gp (s) =
Ts + 1
Soluci
on: 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
nal de
75
control u(t). Este grafico se obtuvo ejecutando el archivo onoff1data.m, cuyo listado
se muestra abajo. El relay empleado posee los parametros Umin = 0.8, Umax = 1.2,
Switch On Point = 0 y Switch Off Point = 0. La FT de la valvula se asume que es
una constante incluida en Kp .
e(t)
u(t)
y(t)
Kp
T.s+1
Step
Relay
Transfer Fcn
Transport
Delay
Scope
rh
R
Clock t
th
uh
yh
Save in format
array
1.4
1.2
u(t)
1
y(t) y u(t)
set point
0.8
y(t)
0.6
0.4
0.2
0
10
20
TIEMPO [s]
30
40
50
% 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
5.5.
u(s)
1
= Kc +
+ Td s
e(s)
Ti s
(5.17)
Notar que los parametros Kc , 1/Ti y Td del controlador PID paralelo dado en (5.17)
corresponden a los parametros Kc , Kc /Ti y Kc Td del controlador PID ideal de (5.16).
Por consiguiente, (5.17) puede ser siempre reemplazado por (5.16).
El controlador PID Ideal Filtrado
Muchas veces es necesario introducir un filtro para suavizar se
nales ruidosas,
antes que se apliquen al algoritmo de control. Para estos casos se recomienda usar el
77
siguiente filtro de primer orden formulado tanto en el dominio del tiempo como en el
dominio de Laplace:
T
def (t)
= e(t) ef (t)
dt
ef (s) =
1
e(s)
1 + Ts
(5.18)
ef (s) =
1
e(s)
1 + Td s
(5.19)
78
(5.25)
T +T
Kc = K c i 0 d
Ti
0
Ti = T i + T d
T T
Td = 0 i d 0
Ti + T d
(5.26)
(5.27)
Kc = 0.5Kc
Ti = 0.5Ti
Td = 0.5Td
Para Td > TI /4, el controlador dependiente nunca sera similar al controlador ideal,
ya que para esta condicion los parametros en (5.27) se vuelven imaginarios.
El Controlador PID Interactivo
El controlador interactivo posee la siguiente estructura (compararla con la estructura del controlador clasico):
!
Td s
1
u(s)
(5.28)
= Kc 1 +
Gc (s) =
e(s)
Ti s
1 + TNd s
El Controlador PID Mejorado
El controlador mejorado posee la siguiente estructura (compararla con la estructura del controlador interactivo):
!
1
Td s
u(s) = Kc 1 +
e(s) Kc
y(s)
(5.29)
Ti s
1 + TNd s
El Controlador PID con Dos Grados de Libertad
El controlador con dos grados de libertad, conocido tambien como controlador
mPID o ISAPID, posee la siguiente estructura:
"
#
#
"
(1 )Td s
1
Td s
1
+
+
e(s)Kc 1 +
y(s) (5.30)
u(s) = Kc (1 ) +
Ti s
Ti s 1 + TNd s
1 + TNd s
5.6 M
etodos de Sintonizaci
on de Controladores PID
5.6.
79
M
etodos de Sintonizaci
on de Controladores PID
5.6.1.
M
etodos Basados en la Curva de Reacci
on
Kp
Ts + 1
Gp (s) =
Kp
(T1 s + 1)(T2 s + 1)
Kp
s(T s + 1)
Gp (s) =
Kp
s(T1 s + 1)(T2 s + 1)
M
etodo de la Constante de Tiempo
El metodo de la constante de tiempo del lazo de control se emplea para procesos
de primer orden dado por la ecuacion (??). Los parametros del controlador PID se
sintonizan con las relaciones siguientes:
Kc =
1
Kp
Ti = T
Td =
1
Ti
4
(5.31)
Ejemplo 5.6
Se desea controlar el siguiente proceso empleando el metodo de la constante de tiempo:
Kp
Gp (s) =
Ts + 1
donde Kp = 2 y T = 5. Para el control emplear la configuracion de la Fig. 5.1(a).
Soluci
on: Ver el archivo ct1.m. La salida controladas se muestran en la Fig. 5.20.
% ct1.m CONTROL DE UN PROCESO DE PRIMER ORDEN
clear all; close all; clc; Kp=2; T=5; s=tf(s); Gp=Kp/(T*s+1); % PROCESO
Kc=1/Kp; Ti=T; Td=T/4; Gc=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gc*Gp,1);
step(PID,k,50); grid; xlabel(TIEMPO); ylabel(SALIDA);
title(CONTROL PID DE UN PROCESO DE PRIMER ORDEN);print -deps -f ct1
80
1.1
0.9
SALIDA
0.8
0.7
0.6
0.5
0.4
0.3
0.2
10
15
20
25
TIEMPO (sec)
30
35
40
45
50
M
etodo 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 sintona para controlar sistemas tipo Gp (s) = Kp e s .
Metodo
Curva de reaccion
Controlador Gc (s)
1+Td s
Kc 1 + T1i s
Td
1+ N s
Kc
Ti
Td
0.7
Kp
2.66
Ejemplo 5.7
Se desea controlar el siguiente proceso empleando la Tabla 5.2:
Gp (s) = Kp e s
donde Kp = 2 y = 2. Para el control emplear el sistema de control de la Fig. 5.1(a).
Soluci
on: Usamos la Tabla 5.2 para calcular los parametros del controlador PID con
N = 3. La Fig. 5.21 muestra el diagrama Simulink del sistema de control (archivo
hartree1.mdl), mientras que la Fig. 5.22 muestra la salida y(t) controlada y la se
nal
de control u(t). Este grafico se obtuvo ejecutando el archivo hartree1graf.m, cuyo
listado se muestra abajo. Notar en el diagrama Simulink que los bloques Kc y Gc1 (s)
forman un controlador PI. Ademas, los bloques rh, yh, uh y th son del tipo To
Workspace y sirven para almacenar datos y estructuras. Como estamos interesados
en crear vectores de datos para luego graficarlos, entonces, luego de hacer doble click
en cada bloque, en la ventana que aparece seleccionar Array en Save Format.
% hartree1graf.m
clear all; close all; clc;
5.6 M
etodos de Sintonizaci
on de Controladores PID
81
hartree 1.mdl
Ti .s+1
Td .s+1
Ti .s
Td /N.s+1
Gc1(s)
Gc2(s)
Kc
Kc
r
rh
Clock
rh
Kp
Scope
tau
Kp
th
uh
yh
th
uh
yh
1.5
SALIDA y(t)
1
0.5
0
0.5
20
40
60
80
100
TIEMPO [s]
120
140
160
180
200
20
40
60
80
100
TIEMPO [s]
120
140
160
180
200
CONTROL u(t)
0.6
0.4
0.2
0
0.2
82
M
etodo de Ziegler y Nichols
El metodo de la curva de reaccion de Ziegler y Nichols emplea la curva de reaccion
de la Fig. 2.18 y se aplica a procesos autoregulados que se pueden modelar como un
proceso de primer orden de ganancia Kp y constante de tiempo T , en cascada con un
tiempo muerto :
Kp
y(s)
=
e s
(5.32)
Gp (s) =
u(s)
Ts + 1
La curva de reaccion se emplea para obtener los parametros y T , que luego son
usados para determinar los parametros Kc , Ti y Td del controlador PID ideal, empleando la Tabla 5.3. Las formulas en dicha tabla fueron el producto de intensivos
trabajos experimentales realizados por los investigadores Ziegler y Nichols en 1942
[15].
Tabla 5.3: Metodo de la curva de reaccion de Ziegler y Nichols para determinar los
parametros Kc , Ti y Td .
Tipo
P
PI
PID
PD
Controlador Gc (s)
100
BP ;
a=
Kp
T
Ti
Td
1/a
0.9/a
10 /3
1.2/a
0.5
Kc (1 + Td s)
1.2/a
0.42
Kc
Kc =
Kc 1 + T1i s
Kc 1 + T1i s + Td s
3
(t2 t1 )
2
= t2 T
(5.33)
Ejemplo 5.8
Se desea controlar el siguiente sistema de quinto orden empleando la tecnica de la
curva de reaccion de Ziegler y Nichols:
Gp (s) =
Kp
(s + Ta )(s + Tb )(s + Tc )(s + Td )(s + Te )
5.6 M
etodos de Sintonizaci
on de Controladores PID
83
y
100%
63.2%
28.3%
t
t2
Soluci
on: La ganancia proporcional del proceso Gp (s) se obtiene en el estado estacionario, es decir, cuando s = 0, resultando:
Kpp =
Kp
= 5.33
Ta Tb Tc Td Te
Este resultado se puede comprobar en el primer grafico de la Fig. 5.24, la cual muestra
la respuesta al escalon (la curva de reaccion) del sistema con una ganancia en estado
estable de aproximadamente 5.5. De esta curva tambien se obtienen los parametros
= 1.7 s y T = 6.7 = 5 s del modelo del proceso:
Gp (s) =
Kpp s
e
Ts + 1
Con estos valores se calculan los parametros de los controladores P, PI, PID y PD
empleando la Tabla 5.3. El segundo grafico de la Fig. 5.24 ilustra la comparacion entre
las salidas controladas. Observar que solo los controladores PI y PID son capaces de
controlar el proceso sin postsintona. Tales resultados se obtienen ejecutando el
programa zn1.m listado abajo.
A LA CURVA DE REACCI
% zn1.m CONTROL P, PI, PID Y PD DE UN PROCESO V I
ON
clear all; close all; clc;
Kp=20; Ta=0.5; Tb=1; Tc=1.5; Td=2; Te=2.5; s=tf(s);
Gp=Kp/(s+Ta)/(s+Tb)/(s+Tc)/(s+Td)/(s+Te); % PROCESO
subplot(211); step(Gp,k); grid;
title(RESPUESTA AL ESCAL
ON); xlabel(TIEMPO); ylabel(AMPLITUD);
tau=1.7; T=6.7-tau; Kpp=5.5; a=Kpp*tau/T; % DE LA CURVA DE REACCI
ON
Kc=1/a; Gc1=Kc; P=feedback(Gp*Gc1,1);
% CONTROL P
Kc=0.9/a; Ti=10*tau/3; Gc2=Kc*(1+1/Ti/s); PI=feedback(Gp*Gc2,1); % PI
Kc=1.2/a; Ti=2*tau; Td=0.5*tau;
Gc3=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc3,1);
% CONTROL PID
Kc=1.2/a; Td=0.42*tau; Gc4=Kc*(1+Td*s); PD=feedback(Gp*Gc4,1);
% PD
subplot(212); step(P,k,PI,k,PID,k,PD,k); grid; xlabel(TIEMPO);
title(SALIDAS CONTROLADAS); ylabel(SALIDA); print -deps -f zn1
Ejemplo 5.9
Se desea controlar el proceso nivel en un tanque de almacenamiento empleando la
tecnica de la curva de reaccion de Ziegler y Nichols. El diagrama de bloques del sistema nivel, extrado de [16], se muestra en la Fig. 5.25(a), donde las funciones de
84
RESPUESTA AL ESCALN
AMPLITUD
Kpp
10
15
TIEMPO (sec)
SALIDAS CONTROLADAS
SALIDA
PID
1.5
PI
1
0.5
0
PD
P
0
20
40
60
TIEMPO (sec)
80
100
120
Fig. 5.24: Respuesta al escalon del sistema (grafico superior) y respuestas controladas
para el ejemplo 5.8 (grafico inferior).
transferencia del actuador hidraulico, del tanque y del flotador se formulan respectivamente:
GH (s) =
10
s+1
GT (s) =
3.15
30s + 1
GF (s) =
1
1
9
s2
+ 31 s + 1
h = 1
Para propositos de comparacion emplear los controladores ideal dado en (5.16), dependiente mostrado en (5.24) y mejorado (ecuacion (5.29)). Para simplificar la notacion, el sistema de control que emplea un controlador ideal sera designado como
control PID, el que emplea un controlador dependiente sera conocido como control
PI D, y el que usa un controlador mejorado recibira la denominacion de control
PI Dy. Los controles PID y PI D emplean el diagrama de bloques de la Fig. 5.1(a),
mientras que el control PI Dy usa el diagrama de bloques de la Fig. 5.1(b). Por otro
lado, en el proceso que nos ocupa, el tiempo muerto se puede calcular usando la
relacion = d/v, donde v es la velocidad del flujo que ingresa al tanque y d es es
la longitud de tubera que existe entre la valvula de control de flujo y el punto de
medicion del flujo.
Soluci
on: El primer grafico de la Fig. 5.26 muestra la respuesta al escalon (la curva
de reaccion) del sistema, de la cual se obtiene = 1 y T = 30 . Con estos valores
se calculan los parametros del controlador PID empleando la Tabla 5.3. El segundo
5.6 M
etodos de Sintonizaci
on de Controladores PID
Controlador
Actuador
v
85
Referencia
(set point)
d
Flotador
GC (s)
GT (s)
e s h
Actuador Tiempo muerto Tanque
G H(s)
Controlador
ym
(a)
GC (s)
ym
(b)
G C i(s)
Flotador
Actuador
Controlador
GF (s)
e s h
G H(s)
G H(s)
GT (s)
Tanque
GF (s)
Flotador
e s h
Actuador
Controlador
proporcional
integral
GT (s)
Tanque
G Cd(s)
ym
Controlador derivativo
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.
grafico de la Fig. 5.26 ilustra la comparacion entre las salidas controladas. Tales
resultados se obtienen ejecutando el programa zn1a.m listado abajo.
% zn1a.m CONTROL PID, PI_D Y PI_Dy EMPLEANDO LA CURVA DE REACCI
ON
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); tauh=1; [num,den]=pade(tauh,3); Gtau=num/den;
Gpo=GH*Gtau*GT*GF; % Gpo: PROCESO A LAZO ABIERTO INCLUYENDO GF (FLOTADOR)
subplot(211); step(Gpo,k); grid
% GENERA LA CURVA DE REACCI
ON
title(RESPUESTA AL ESCAL
ON); xlabel(TIEMPO); ylabel(AMPLITUD);
tau=1; T=30-tau;
% TOMADOS DE LA CURVA DE REACCI
ON
Gp=GH*Gtau*GT; Kp=31.5;
% Kp ES EL PRODUCTO DE 10*31.5
a=Kp*tau/T; Kc=1.2/a; Ti=2*tau; Td=0.5*tau; N=10; % PAR
AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,GF); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,GF); % CONT PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
86
RESPUESTA AL ESCALN
AMPLITUD
20
15
10
5
0
20
40
60
80
100
TIEMPO (sec)
120
140
160
180
45
50
SALIDAS CONTROLADAS
SALIDA
PI__Dy
1.5
1
0.5
0
PID y PI__D
0
10
15
20
25
30
TIEMPO (sec)
35
40
Fig. 5.26: Curva de reaccion del sistema nivel y respuestas controladas para el ejemplo
5.9 (grafico inferior).
PI_Dy=feedback(Gci*Gcd,GF);
% CONTROL PI_Dy
subplot(212); step(PID,k,PI_D,k,PI_Dy,k); grid; ylabel(SALIDA);
title(SALIDAS CONTROLADAS); xlabel(TIEMPO); print -deps -f zn1a
M
etodo de ChienHronesReswick
El metodo de ChienHronesReswick (CHR) [19] ilustrado en la Fig. 5.27(a), se
aplica a sistemas que aceptan un modelo dinamico como el de la ecuacion (5.32). Este
metodo propone un conjunto de reglas de sintonizacion para los casos siguientes (ver
Tabla 5.4):
1. Respuesta aperiodica sin sobrenivel en la se
nal de salida y controlada a cambios
tipo escalon de la entrada de referencia r, sin presencia del disturbio d, y para
un coeficiente de amortiguamiento > 0.8, tal como se muestra en la Fig.
5.27(b).
2. Respuesta aperiodica sin sobrenivel en la salida yd controlada a cambios tipo
escalon del disturbio d, sin presencia de la entrada r, y para un coeficiente de
amortiguamiento > 0.8, tal como se muestra en la Fig. 5.27(c). Observar que
en esta situacion existe rechazo al disturbio, dado que yd tiende a cero.
5.6 M
etodos de Sintonizaci
on de Controladores PID
87
t
r
PID
Proceso
(a)
y
R
R
d=0
d=0
t
t
(d)
(b)
y
d
y
d
r=0
r=0
D
t
(c)
t
(e)
Ejemplo 5.10
Se desea controlar el proceso nivel del ejemplo 5.9 empleando el metodo de Chien
HronesReswick para el caso de rechazo al disturbio (r=0 y d 6= 0) sin presencia de
oscilaciones en la respuesta del sistema (ver Fig. 5.28(a)). Para propositos de comparacion emplear los controladores ideal (PID, ecuacion (5.16)), dependiente (PI D,
ecuacion (5.24)) y mejorado (PI Dy, ecuacion (5.29)), empleando las estructuras (b)
y (c) de la Fig. 5.28, respectivamente.
Soluci
on: Los parametros = 1 y T = 30 se obtuvieron con el primer grafico de
la Fig. 5.26. Con estos valores se calculan los parametros del controlador empleando
la Tabla 5.4 (caso (c), controlador PID). La Fig. 5.28 ilustra la comparacion entre
88
Controlador GC (s)
Kc
PI
PID
Kc 1 +
Kc 1 +
1
Ti s
1
Ti s
+ Td s
Caso (b):
> 0.8
d=0
Caso (c):
> 0.8
r=0
Caso (d):
0.4< < 0.8
d=0
Caso (e):
0.4< < 0.8
r=0
Kc = 0.3/a
Ti =
Td = 0
Kc = 0.3/a
Ti =
Td = 0
Kc = 0.7/a
Ti =
Td = 0
Kc = 0.7/a
Ti =
Td = 0
Kc = 0.35/a
Kc = 0.6/a
Kc = 0.6/a
Kc = 0.7/a
Ti = 1.2T
Td = 0
Ti = 4
Td = 0
Ti = T
Td = 0
Ti = 2.3
Td = 0
Kc = 0.6/a
Kc = 0.95/a
Kc = 0.95/a
Kc = 1.2/a
Ti = T
Td = 0.5
Ti = 2.4
Td = 0.42
Ti = 1.4T
Td = 0.47
Ti = 2
Td = 0.42
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
ETODO 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
ON
a=Kp*tau/T; Kc=0.95/a; Ti=2.4*tau; Td=0.42*tau; N=10; % PAR
AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp,Gc1*GF);
% CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp,Gc2*GF); % 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
etodo de CohenCoon
El metodo de sintonizacion desarrollado por los investigadores G.H. Cohen y G.A.
Coon [20] tambien se aplica a sistemas que aceptan un modelo dinamico como el de
la ecuacion (5.32). Las formulas de sintonizacion se muestran en la Tabla 5.5, donde:
a=
Kp
T
L=
+T
(5.34)
Notar que las formulas de la Tabla 5.5 se asemejan a las de la Tabla 5.3 cuando L es
suficientemente peque
no.
Ejemplo 5.11
Se desea controlar el sistema nivel descrito en el ejemplo 5.9 empleando el metodo de
CohenCoon. El diagrama de bloques del sistema nivel se muestra en la Fig. 5.25(a).
5.6 M
etodos de Sintonizaci
on de Controladores PID
Actuador
Disturbio d
Controlador
89
d
Flotador
(a)
GT (s)
e s h
Actuador Tiempo muerto Tanque
G H(s)
u
(b)
GF (s)
GC (s)
Controlador
d
Flotador
r=0
e s h
G H(s)
Actuador
GT (s)
Tanque
G Cd(s)
Control D
(c)
GF (s)
G C i(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
SALIDA
1
0.8
0.6
PI__Dy
0.4
PID y PI__D
0.2
0
0.2
0.4
10
20
30
40
TIEMPO (sec)
50
60
70
Fig. 5.29: Rechazo al disturbio empleando controladores tipo PID, PID y PIDy.
90
Controlador GC (s)
Kc
PI
Kc 1 +
PD
PID
1
Ti s
Kc (1 + Td s)
Kc 1 + T1i s + Td s
100
Kc = BP
1
0.35L
1
+
a
1L
0.9
0.92L
1
+
a
1L
0.13L
1.24
1
+
a
1L
1.35
0.18L
1
+
a
1L
Ti
Td
3.33L
1+1.2L
2.52L
10.39L
0.270.36L
10.87L
0.370.37L
10.8L
Soluci
on: Los parametros = 1 y T = 30 se obtuvieron del primer grafico de la
Fig. 5.26. Con estos valores se calculan los parametros del controlador empleando la
Tabla 5.5. La Fig. 5.30 muestra las salidas controladas.
SALIDAS CONTROLADAS
1.8
1.6
1.4
SALIDA
1.2
PI__Dy
1
0.8
PID y PI__D
0.6
0.4
0.2
0
10
15
20
TIEMPO (sec)
25
30
35
5.6 M
etodos de Sintonizaci
on de Controladores PID
5.6.2.
91
M
etodos a Lazo Cerrado
M
etodo de Samal
El metodo de sintonizacion de parametros de Samal [21] esta dise
nado para rechazar los disturbios que act
uan principalmente en la se
nal de control, tal como se
muestra en la Fig. 5.31(a), donde el rechazo al disturbio se manifiesta porque la se
nal
de salida y controlada tiende a cero para un tiempo de estabilizacion T s y un sobrenivel de magnitud M . El proceso al cual se aplican los parametros del controlador
PID, poseen un modelo de FT de la forma:
Gp (s) =
Kp
y(s)
=
u(s)
(1 + Tn s)n
(5.35)
Kp
(s + T1 )(s + T2 )(s + T3 )(s + T4 )
92
D
0
r=0
P, I, PI, PID
(a)
y
(1+Ts) n
PI
Vo
20
16
P
12
1
I
1
(c)
5
I
Vo
3
2
PI
PID
Ts
T
0.8
0.6
PI
0.4
16
12
PI
PID
PID
0.2
P
2
20
(e)
2 Td
T
1
PID
PID
(d)
M
Kp D
4
Ti
T
Ts
(b)
5
Kp
Fig. 5.31: Metodo de Samal para hallar los parametros de un controlador PID.
5.6 M
etodos de Sintonizaci
on de Controladores PID
93
RESPUESTA AL ESCALN
AMPLITUD
1.5
0.5
4
5
TIEMPO (sec)
45
50
SALIDAS CONTROLADAS
1.5
SALIDA
PI__Dy
1
0.5
PID y PI__D
0
10
15
20
25
30
TIEMPO (sec)
35
40
Fig. 5.32: Respuesta al escalon (Fig. inferior) y respuestas controladas (Fig. superior)
empleando controladores tipo PID, PI D y PI Dy y el metodo de Samal.
PI_Dy=feedback(Gci*Gcd,1);
% CONTROL PI_Dy
subplot(212); step(PID,k,PI_D,k,PI_Dy,k); grid;ylabel(SALIDA);
title(SALIDAS CONTROLADAS); xlabel(TIEMPO); print -deps -f samal1
M
etodo de la Oscilaci
on Crtica de Ziegler y Nichols
El metodo de la oscilacion crtica de Ziegler y Nichols [15] emplea la configuracion
de un sistema de control a lazo cerrado y se puede aplicar tanto a sistemas que son
modelados con la ecuacion (5.32) y a otros no autoregulados, pero que permiten una
respuesta a lazo cerrado en forma de oscilaciones sostenidas, tal como se muestra en
la Fig. 5.33.
Los parametros Kc , Ti y Td del controlador PID se pueden obtener a partir de tal
respuesta oscilatoria, empleando el siguiente procedimiento:
Fijar los parametros Ti y Td en y 0 respectivamente. Incrementar poco a
poco el parametro Kc hasta obtener una respuesta en forma de oscilaciones
sostenidas (ver la Fig. 5.33).
En dicha respuesta, medir el perodo de oscilacion crtico Tcrit y anotar la
ganancia crtica Kcrit (o ganancia lmite) para la cual se obtuvo dicho perodo.
Los parametros Kc , Ti y Td se calculan luego usando la Tabla 5.6.
Es necesario hacer notar que la magnitud de la oscilacion sostenida, lo que es equivalente a decir la magnitud de variacion de la variable de salida, debe ser mantenida
la mas peque
na posible para evitar problemas en la variable controlada.
94
K crit
PID
Proceso
y
R
T crit
t
Tabla 5.6: Metodo de la oscilacion crtica de Ziegler y Nichols para determinar los
parametros Kc , Ti y Td .
Tipo
P
PI
PID
Controlador Gc (s)
Kc
Kc 1 + T1i s
Kc 1 + T1i s + Td s
100
BP
Ti
Td
0.5Kcrit
0.45 Kcrit
0.85 Tcrit
0.6 Kcrit
0.5 Tcrit
0.125 Tcrit
Kc =
Ejemplo 5.13
Se desea controlar el proceso nivel del problema 5.9 empleando la tecnica de las
oscilacion crtica de Ziegler y Nichols. Para propositos de comparacion emplear los
controladores PID estandar, PI D interactivo y PI Dy mejorado, empleando las estructuras de la Fig. 5.25.
Soluci
on: El primer grafico de la Fig. 5.34 muestra la respuesta al escalon a manera
de una oscilacion sostenida que se obtiene empleando un controlador proporcional
de ganancia GC (s) = Kcrit = 0.85 en la Fig. 5.25(b). Notar que la oscilacion posee
un perodo igual a Tcrit = 8 s. Con estos valores se calculan los parametros del
controlador PID empleando la Tabla 5.6. El segundo grafico de la Fig. 5.34 ilustra la
comparacion entre las salidas controladas. Tales resultados se obtienen ejecutando el
programa zn2.m listado abajo.
TICA
% zn2.m CONTROL PID, PI_D Y PI_Dy MEDIANTE LA OSCILACI
ON CRI
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;
Kcrit=3.95; G_c0=feedback(Kcrit*Gp,GF); subplot(211); step(G_c0,k,20);
grid; title(OSCILACI
ON CR
ITICA); xlabel(TIEMPO); ylabel(AMPLITUD);
Tcrit=4.25; % TOMADOS DE LA OSCILACI
ON SOSTENIDA
Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PAR
AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,GF);
% CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,GF); % CONT PI_D
Gci=Kc*(1+1/Ti/s); Gcd=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); grid; ylabel(SALIDA);
title(SALIDAS CONTROLADAS); xlabel(TIEMPO); print -deps -f zn2
5.6 M
etodos de Sintonizaci
on de Controladores PID
95
OSCILACIN CRTICA
AMPLITUD
Tcrit
1.5
1
0.5
0
10
12
TIEMPO (sec)
14
16
18
20
SALIDAS CONTROLADAS
SALIDA
PI__Dy
1.5
1
0.5
0
PID y PI__D
0
10
20
30
TIEMPO (sec)
40
50
60
Ejemplo 5.14
Se desea controlar un proceso no autoregulado que posee la siguiente FT, empleando
la tecnica de las oscilaciones sostenidas de Ziegler y Nichols.
Gp (s) =
1
s(s + 1)4
Para propositos de comparacion emplear los controladores PID ideal, PI D interactivo y PI Dy mejorado.
Soluci
on: El primer grafico de la Fig. 5.35 muestra la respuesta al escalon a manera
de una oscilacion sostenida que se obtiene empleando un controlador proporcional
de ganancia GC (s) = Kcrit = 0.569. Notar que la oscilacion posee un perodo igual
a crit = 15 s. Con estos valores se calculan los parametros del controlador PID
empleando la Tabla 5.6. El segundo grafico de la Fig. 5.35 ilustra la comparacion
entre las salidas controladas. Tales resultados se obtienen ejecutando el programa
zn2a.m listado abajo.
N CRI
TICA
% zn2a.m CONTROL PID, PI_D Y PI_Dy MEDIANTE LA OSCILACI O
clear all; close all; clc; s=tf(s); Gp=1/(s*(s+1)^4);
Kcrit=0.569; G_c0=feedback(Kcrit*Gp,1); subplot(211); step(G_c0,k,50);
96
OSCILACIN CRTICA
AMPLITUD
Tcrit
1.5
1
0.5
0
10
15
20
25
30
TIEMPO (sec)
35
40
45
50
SALIDAS CONTROLADAS
SALIDA
2
1.5
PI__Dy
PID y PI__D
0.5
0
10
20
30
TIEMPO (sec)
40
50
60
grid; title(OSCILACI
ON CR
ITICA); xlabel(TIEMPO); ylabel(AMPLITUD);
Tcrit=15; % TOMADO DE LA OSCILACI
ON SOSTENIDA
Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PAR
AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1);
% CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); % 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,1); % CONTROL PI_Dy
subplot(212); step(PID,k,PI_D,k,PI_Dy,k); grid; ylabel(SALIDA);
title(SALIDAS CONTROLADAS); xlabel(TIEMPO); print -deps -f zn2a
M
etodo de la Oscilaci
on Crtica de Yu
Las siguientes reglas de sintonizacion atribuidas a Yu (ver referencias de [29]),
se aplican al control de sistemas que poseen una FT de la forma Gp (s) = Kp e s .
El control se realiza empleando la configuracion de la Fig. 5.1(a). El controlador
empleado es el denominado clasico generalizado, cuya FT es:
u(s)
Gc (s) =
= Kc
e(s)
1
Td s
1+
+
Ti s 1 + TNd s
!
bf 0 + bf 1 s + bf 2 s2
1 + a f 1 s + a f 2 s2
5.6 M
etodos de Sintonizaci
on de Controladores PID
97
Ti = 2.3crit
Td = 0
Ejemplo 5.15
Se desea controlar el sistema Gp (s) = Kp e s empleando la tecnica de la oscilacion
crtica y las reglas de sintonizacion arriba formuladas.
Soluci
on: El primer grafico de la Fig. 5.36 muestra la respuesta al escalon a manera
de una oscilacion sostenida que se obtiene empleando un controlador proporcional
de ganancia GC (s) = Kcrit = 0.45 en la Fig. 5.33. Notar que la oscilacion posee un
perodo igual a crit = 4 s. Con estos valores se calculan los parametros del controlador
PID empleando:
Kc = 0.3Kcrit
Ti = 2.3crit
Td = 0
AMPLITUD
Tcrit
5
10
10
20
30
TIEMPO (sec)
40
50
60
SALIDA CONTROLADA
SALIDA
0.5
0.5
50
100
150
TIEMPO (sec)
200
250
Fig. 5.36: Oscilaciones sostenidas (primer grafico) para Kp = Kcrit y respuesta controlada (grafico inferior) para el ejemplo 5.15.
98
M
etodo del Rel
e
El metodo de la oscilacion crtica a lazo cerrado puede ser arriesgado, ya que
en casos reales fuerza a la planta a operar cerca de la inestabilidad. En la practica,
tambien, resulta muy dificultoso mantener la amplitud constante. Una variante de este
metodo se muestra en la Fig. 5.37 [17], en donde se emplea un rele para conseguir una
oscilacion sostenida de perodo Tcrit pero de peque
na amplitud a, para una ganancia
Kcrit = 4La , donde L es la ganancia del rele. Teniendo como datos Tcrit y Kcrit se
puede ahora usar la Tabla 5.6.
+L
u
e
Rel
Gp(s)
Proceso
Tcrit
Ejemplo 5.16
Se desea controlar un sistema no autoregulado que posee la siguiente FT, empleando
la tecnica del rele de Astrom y Hagglund:
1
Gp (s) =
s(s + 1)4
Para propositos de comparacion emplear los controladores PID estandar, PI D interactivo y PI Dy mejorado. Tambien determinar las ecuaciones de estado del sistema.
Soluci
on: La primera parte del programa relay.m listado abajo, el cual usa el diagrama de bloques de la Fig. 5.37(a), permite obtener el primer y segundo grafico de
la Fig. 5.39 para una magnitud del rele de L = 0.1. El diagrama de bloques de la
Fig. 5.38 se emplea para determinar las cinco ecuaciones de estado del sistema:
x 1 = x1 + x2
x 2 = x2 + x3
x 3 = x3 + x4
x 4 = x4 + x5
x 5 = u
De la oscilacion sostenida mostrada en el primer grafico de la Fig. 5.39 se desprenden
los parametros: a = 0.25 y Tcrit = 15, mientras que el segundo grafico ilustra la ley
de control u = L. Conocido los parametros a, Tcrit y L, ahora se puede calcular la
ganancia Kcrit y los parametros PID empleando la Tabla 5.6. El tercer grafico de la
Fig. 5.39 muestra la comparacion entre las salidas controladas. Tales resultados se
obtienen ejecutando la segunda parte del programa relay.m listado abajo.
5.6 M
etodos de Sintonizaci
on de Controladores PID
u
1
s
x5
x4
1
s+1
1
s+1
x3
1
s+1
x2
99
1
s+1
x1 = y
Fig. 5.38: Diagrama de bloques del sistema mostrando sus variables de estado.
SALIDA y
Tcrit
1
0
CONTROL u
a
0
10
20
30
40
TIEMPO
50
60
70
80
30
40
TIEMPO
50
60
70
80
0.1
+L
0
0.1
L
10
20
SALIDAS CONTROLADAS
SALIDA
PI__Dy
PID y PI__D
0
10
20
30
40
50
60
TIEMPO (sec)
70
80
90
100
1
Fig. 5.39: Respuesta al escalon del sistema de control del sistema Gp (s) = s(s+1)
4
empleando un rele (grafico superior), ley de control u (grafico medio) y respuestas
estabilizadas empleando controladores tipo PID, PI D y PI Dy (grafico inferior).
100
M
etodo de las Oscilaciones Amortiguadas
El metodo de las oscilaciones amortiguadas propuesto en [18], se conoce tambien
como el metodo TDQR (Tuning for Quarter Decay Response) o sintonizacion para
un decaimiento de un cuarto de la respuesta. Este metodo se aplica a sistemas que
pueden ser modelados en la forma dada en la ecuacion (5.32) y tambien a otros
sistemas no autoregulados. En ambos casos, la respuesta al escalon a lazo cerrado,
debe ser de modo tal que el segundo maximo sea un cuarto del primer maximo, tal
como se ilustra en la Fig. 5.40, en la cual Ko es la ganancia del controlador para
obtener el decaimiento mostrado y To es el perodo correspondiente. Los parametros
de sintonizacion del controlador se obtienen luego de la Tabla 5.7.
r
Ko
PID
Proceso
To
y
A
A/4
t
Tabla 5.7: Metodo de las oscilaciones amortiguadas de Harriot para hallar los
parametros Kc , Ti y Td .
Tipo
P
PI
PID
Ejemplo 5.17
Controlador Gc (s)
Kc
Kc 1 + T1i s
Kc 1 + T1i s + Td s
Kc =
100
BP
Ti
Td
Ko
Ko
To /1.5
Ko
To /1.5
To /6
5.6 M
etodos de Sintonizaci
on de Controladores PID
101
Se desea controlar el sistema nivel del ejemplo 5.9 empleando la tecnica de las oscilaciones amortiguadas de Harriot. Para propositos de comparacion emplear los controladores ideal (PID, ecuacion (5.16)), dependiente (PI D, ecuacion (5.24)) y mejorado
(PI Dy, ecuacion (5.29)), empleando las estructuras (b) y (c) de la Fig. 5.25.
Soluci
on: El primer grafico de la Fig. 5.41 muestra la respuesta al escalon en donde
el segundo maximo de la oscilacion es un cuarto del primer maximo, la cual se obtiene
empleando un controlador proporcional de ganancia GC (s) = Ko = 0.55 en la Fig.
5.25(a). Notar que la oscilacion posee un perodo igual a To = 10 s. Con estos valores
se calculan los parametros del controlador PID empleando la Tabla 5.7. El segundo
grafico de la Fig. 5.41 ilustra la comparacion entre las salidas controladas. Tales
resultados se obtienen ejecutando el programa harriot.m listado abajo.
OSCILACIN SOSTENIDA
AMPLITUD
1.5
1
0.5
A/4
0
0.5
10
12
TIEMPO (sec)
14
16
18
20
SALIDAS CONTROLADAS
2
SALIDA
PI__Dy
1
PID PI__D
10
15
20
TIEMPO (sec)
25
30
35
TODO DE HARRIOT
% harriot.m CONTROL PID, PI_D Y PI_Dy MEDIANTE EL M E
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
ON SOSTENIDA); xlabel(TIEMPO); ylabel(AMPLITUD);
To=10; Kc = Ko; Ti=To/1.5; Td=To/6; N=10; % PAR
AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,GF);
% CONTROL PID
102
Ejemplo 5.18
Se desea controlar un sistema no autoregulado que posee la siguiente FT, empleando
la tecnica de las oscilaciones amortiguadas de Harriot.
Gp (s) =
1
s(s + 1)4
Para propositos de comparacion emplear los controladores ideal (PID, ecuacion (5.16)),
dependiente (PI D, ecuacion (5.24)) y mejorado (PI Dy, ecuacion (5.29)), empleando las estructuras (b) y (c) de la Fig. 5.25.
Soluci
on: El primer grafico de la Fig. 5.34 muestra la respuesta al escalon a manera
de una oscilacion sostenida que se obtiene empleando un controlador proporcional de
ganancia GC (s) = Kcrit = 0.569. Notar que la oscilacion posee un perodo igual a crit
= 15 s. Con estos valores se calculan los parametros del controlador PID empleando
la Tabla 5.6. El segundo grafico de la Fig. 5.34 ilustra la comparacion entre las salidas
controladas. Tales resultados se obtienen ejecutando el programa zn2.m listado abajo.
% harriota.m CONTROL PID, PI_D Y PI_Dy MEDIANTE OSCILACI
ON AMORTIGUADA
clear all; close all; clc;
s=tf(s); Gp=1/(s*(s+1)^4);
Ko=0.3; G_c0=feedback(Ko*Gp,1); subplot(211); step(G_c0,50);
grid; title(OSCILACI
ON AMORTIGUADA); xlabel(TIEMPO); ylabel(AMPLITUD);
To=20; % TOMADO DE LA OSCILACI
ON AMORTIGUADA
Kc=Ko; Ti=To/1.5; Td=To/6; N=10; % PAR
AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1);
% CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); % CONTROL 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,1); % CONTROL PI_Dy
subplot(212); step(PID,k,PI_D,k,PI_Dy,k); title(SALIDAS CONTROLADAS);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f harriota
5.6.3.
M
etodos Basados en la Minimizaci
on de un Indice
e(s) =
1
r(s);
1 + GH(s)
e(t) = L1 [e(s)]
(5.36)
La idea principal en los metodos de sintonizacion basados en criterios optimos, consiste en minimizar un determinado ndice de rendimiento, en el cual esten involucrados
5.6 M
etodos de Sintonizaci
on de Controladores PID
103
OSCILACIN AMORTIGUADA
AMPLITUD
1.5
A
0.5
A/4
0
10
15
20
25
30
TIEMPO (sec)
35
40
45
50
SALIDAS CONTROLADAS
SALIDA
1.5
PID
0.5
PID
10
20
30
TIEMPO (sec)
40
50
60
Fig. 5.42: Oscilaciones sostenidas (grafico superior) para KC = Ko y respuestas controladas (grafico inferior) para el ejemplo 5.18.
r(s)
e(s)
y(s)
G(s)
H(s)
tanto el tiempo continuo t como el error e(t). Los ndices de rendimiento mas 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 (Integral Square TimeSquare weighted Error). Las formulas de dichos ndices son:
ISE =
e (t)dt
IAE =
IST E =
t e(t)dt
|e(t)|dt
IST E =
IT AE =
t2 e2 (t)dt
t|e(t)|dt
(5.37)
104
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 parametro del cual se desea determinar su valor extremo; por ejemplo, el parametro Ti de un controlador PID. A
continuacion se presentan algunas reglas de sintonizacion basados en diversos ndices
de rendimiento.
M
etodo de Shinskey
Las reglas de sintonizacion 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 configuracion 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 sintona para controlar sistemas tipo Gp (s) = Kp e s .
Metodo
Mnimo ITAE
Mnimo ITAE
Mnimo ITAE
Controlador Gc (s)
Kc
Ti
Td
Indefinido
0.4
1.6Kp
Kp
0.5
0.2635
Kp
0.361
0.1911
Ti s
Kc 1 + T1i s
Kc 1 + T1i s + Td s
Ejemplo 5.19
Se desea controlar el sistema con FT Gp (s) = Kp e s , con Kp = 2 y = 2 usando el
criterio ITAE y un controlador PI.
Soluci
on: La Fig. 5.44 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa shinskey.m listado abajo.
% shinskey.m CONTROL PI USANDO ITAE
clear all; close all; clc;
s=tf(s); Kp=2; tau=2;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp*Gtau;
% Gp: SISTEMA
Kc=0.4/Kp; Ti=0.5*tau; Td=0; % PAR
AMETROS PID
Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID
step(PID); title(CONTROL DE G(s)=Kp*exp(-tau*s) USANDO ITAE);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f shinskey
5.6 M
etodos de Sintonizaci
on de Controladores PID
105
SALIDA
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
10
15
TIEMPO (sec)
Fig. 5.44: Control PI del sistema Gp (s) = Kp e s usando ITAE (ejemplo 5.19).
M
etodo de WangJuangChan
Las formulas de sintonizacion de de WangJuangChan (citadas en [24]) se basan
en el criterio de optimizacion de IT AE y se pueden aplicar a sistemas que aceptan
un modelo dinamico como el de la ecuacion (5.32). Estas formulas son:
(0.7303 + 0.5307T / )(T + 0.5 )
Kp (T + )
= T + 0.5
0.5 T
=
T + 0.5
Kc =
Ti
Td
(5.38)
Td s
Kc
e(s)
y(s) = P (s) + I(s) + D(s)
Ti s
1 + Td s/N
(5.39)
106
0.1< /T <1
ISE
ISTE
IST2 E
ISE
ISTE
IST2 E
a1
b1
0.980
0.892
0.712
0.921
0.569
0.951
1.072
0.560
0.786
0.559
0.628
0.583
a2
b2
0.690
0.155
0.968
0.247
1.023
0.179
0.648
0.114
0.883
0.158
1.007
0.167
a1
b1
1.048
0.897
1.042
0.897
0.968
0.904
1.154
0.567
1.142
0.579
1.061
0.583
a2
b2
1.195
0.386
0.987
0.238
0.977
0.253
1.047
0.220
0.919
0.172
0.892
0.165
a3
b3
0.489
0.888
0.385
0.906
0.316
0.892
0.490
0.708
0.384
0.839
0.315
0.832
Parametro
a1
Kp
PI
Kc =
PI
Ti =
PID
Kc =
PID
Ti =
PID
Td = a3 T
b1
T
T
a2 +b2 ( /T )
a1
Kp
b1
T
T
a2 +b2 ( /T )
b3
T
1.1< /T <2
0.1< /T <1
ISE
ISTE
IST2 E
ISE
ISTE
IST2 E
a1
b1
1.260
0.887
1.053
0.930
0.942
0.933
1.295
0.619
1.120
0.625
1.001
0.624
a2
b2
0.701
0.147
0.736
0.126
0.770
0.130
0.661
0.110
0.720
0.114
0.754
0.116
a3
b3
0.375
0.886
0.349
0.907
0.308
0.897
0.378
0.756
0.350
0.811
0.308
0.813
Parametro
a1
Kp
PID
Kc =
PID
Ti =
PID
Td = a3 T
b1
T
T
a2 +b2 ( /T )
b3
T
1.1< /T <2
Ejemplo 5.20
K
p
e s , donde Kp = 2, = 2 y
Se desea controlar el sistema con FT: Gp (s) = T s+1
T = 20. Emplear el criterio ISE, un controlador PID y las reglas de la Tabla 5.9.
Soluci
on: La Fig. 5.45 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh1.m listado abajo.
5.6 M
etodos de Sintonizaci
on de Controladores PID
107
SALIDA
0.5
0.5
1.5
10
15
20
TIEMPO (sec)
Kp
T s+1
25
30
35
40
M
etodo de Kessler
La Tabla 5.11 muestra las formulas propuestas por C. Kessler [25] para determinar
los parametros de un controlador PID basado en criterios optimos de dise
no.
Ejemplo 5.21
La dinamica simplificada de un avionhelicoptero se puede representar mediante la
siguiente FT:
1
Gp(s) =
(1 + 20s)(1 + 10s)(1 + 0,5s)
Controlar dicho sistema empleando el metodo de Kessler.
108
PI
Controlador Gc (s)
Kc 1 + T1I s
Kp Q
(1+T1 s)(1+T2 s) (1+t s)
PID
Kc 1 +
1
Ti s
Q Kp
s (1+t s)
PI
Kc 1 +
1
Ti s
K
Qp
s(1+T2 s) (1+t s)
PID
Kc 1 +
1
Ti s
(1+T1 s)
Tipo
K
Qp
(1+t s)
T = t ; T1 > 4T
T = t ; T1 > 4T
T1 > T 2 > T
T = t
T = t ; T 2 > T
(1 + Td s)
(1 + Td s)
Kc
Ti
T1
2Kp T
4T
T1
2Kp T
4T
1
2Kp T
4T
1
2Kp T
4T
Td
T2
T2
Soluci
on: La FT del sistema, que es de tercer orden, se puede formular como:
Gp(s) =
Kp
Q
(1 + T1 s)(1 + T2 s) (1 + t s)
Ejemplo 5.22
Se desea controlar un sistema posicionador empleando el metodo de Kessler, sabiendo
que su FT es:
1
Gp(s) =
s(1 + s)(5 + s)
Soluci
on: La FT del sistema se puede reformular como:
Gp(s) =
Kp
0,2
Q
=
s(1 + s)(1 + 0,2s)
s(1 + T2 s) (1 + t s)
5.6 M
etodos de Sintonizaci
on de Controladores PID
109
RESPUESTA AL ESCALN
1
AMPLITUD
0.8
0.6
0.4
0.2
0
20
40
60
80
100
TIEMPO (sec)
120
140
160
180
SALIDA CONTROLADA
SALIDA
1.5
0.5
6
TIEMPO (sec)
10
12
Fig. 5.46: Respuesta al escalon (grafico superior) y respuesta controlada (grafico inferior) empleando un controlador PID de acuerdo al metodo de Kessler.
Este sistema, de acuerdo a Kessler, es del tipo PITn con parametros 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 (grafico inferior), resultado que se obtiene ejecutando
el programa kessler1.m listado abajo. Notar que este sistema es no autoregulado, tal
como se observa en grafico inferior de la Fig. 5.47.
110
AMPLITUD
250
200
150
100
50
0
500
1000
1500
TIEMPO (sec)
SALIDA CONTROLADA
SALIDA
1.5
0.5
0.5
1.5
2.5
TIEMPO (sec)
3.5
4.5
Fig. 5.47: Respuesta al escalon (grafico superior) y respuesta controlada (grafico inferior) empleando un controlador PID de acuerdo al metodo de Kessler.
M
etodo de Xue para Procesos con FT:
Kp
s
e s
El metodo de Xue se aplica a procesos que poseen una FT con parte proporcional,
parte integral y tiempo muerto:
G(s) =
Kp s
Y (s)
=
e
U (s)
s
(5.40)
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 parametros de los controladores PD y PID [27]:
ControladorP D :
Kc =
ControladorP ID :
Kc =
a1
Kp
a3
Kp
Td = a 2
Ti = a 4
Td = a 5
(5.41)
Ejemplo 5.23
Se desea controlar el sistema con FT Gp (s) =
usando el criterio ISE y un controlador PID.
Kp
s
e s , con Kp = 2, T = 20 y = 2
5.6 M
etodos de Sintonizaci
on de Controladores PID
111
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
Soluci
on: La Fig. 5.48 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh2.m listado abajo.
CONTROL PID USANDO ISE
3
SALIDA
10
15
20
TIEMPO (sec)
25
Kp
s
30
35
e s (ejemplo 5.23).
112
M
etodo de Xue para Procesos con FT:
Kp
s(T s+1)
e s
La FT del siguiente sistema posee parte proporcional, parte integral, parte retardo
de primer orden y tiempo muerto:
G(s) =
Kp
y(s)
=
e s
u(s)
s(T s + 1)
(5.42)
Debido a la presencia del integrador, los controladores PD y PID resultan los adecuados para controlar tales sistemas. Las formulas para determinar los parametros
del controlador PD son [27]:
Kc =
2
3Kp
Td = T
(5.43)
1 + T
Td =
Ti
4
(5.44)
Ejemplo 5.24
Kp
s(T s+1)
e s , con Kp = 2, T = 2 y =
Soluci
on: 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
M
etodo de Xue para Procesos con FT:
Kp
T s1
e s
La FT del siguiente sistema posee parte proporcional, parte integral, parte retardo
de primer orden inestable y tiempo muerto:
G(s) =
Kp
y(s)
=
e s
u(s)
Ts 1
(5.45)
5.6 M
etodos de Sintonizaci
on de Controladores PID
113
CONTROL PID
1.6
1.4
1.2
SALIDA
0.8
0.6
0.4
0.2
0.2
50
100
150
TIEMPO (sec)
Kp
s(T s+1)
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
Se desea controlar el sistema con FT Gp (s) =
Kp
T s1
e s , con Kp = 2, T = 2 y = 2.
Soluci
on: La Fig. 5.49 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh3.m listado abajo.
% zh4.m CONTROL PI-D USANDO ISTSE
clear all; close all; clc; s=tf(s); Kp=2; tau=2; T=2; N=10;
a1=1.35; b1=0.95; a2=4.52; b2=1.13; a3=3.7; b3=0.86; gamma=0.97;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp/(T*s-1)*Gtau; % SISTEMA A CONTROLAR
Kc=(a1/Kp)*(tau/T)^b1; Ti=a2*T*(tau/T)^b2;
Td=a3*T*(1-b3*(tau/T)^(-0.02))*(tau/T)^gamma;
Gc=Kc*(1+1/(Ti*s)+Td*s/(1+Td*s/N)); PI_D=feedback(Gc*Gp,1);% CONTROL PI-D
114
SALIDA
10
20
30
40
TIEMPO (sec)
Kp
s1
50
60
70
5.7.
El Efecto Windup
115
yi
Step =1
1.12s
Kc=5
Ti =1.12
t
t
Scope
Clock
yi
10
yi
um =3.5
Transfer Fcn
y
y
Existen diversos metodos para eliminar en gran medida el efecto windup en sistemas de control que emplean controladores PID continuos. Uno de estos metodos
se muestra en el diagrama Simulink de la Fig. 5.53, el cual muestra un controlador
PID con mecanismo anti windup. Los parametros del controlador son los usuales:
tiempo integral Ti , tiempo derivativo Td y ganancia proporcional Kc . La salida y(t)
del sistema controlado y la correspondiente fuerza de control u(t) se muestran en la
Fig. 5.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 automatico, el valor
de la se
nal de control u(t) puede cambiar de un valor a otro, no importando que la
se
nal de error e sea cero. Este salto debe de evitarse y en este caso se dice que la
conmutacion de manual a automatico debe de ser bumpless (sin saltos). Para lograr
conmutacion sin saltos, el algoritmo de control debe de ejecutarse siempre, a
un en el
caso en que la operacion del sistema de control se encuentre en modo manual. Esta
correccion se puede realizar en el correspondiente programa en tiempo real.
5.8.
INTEGRADOR yi(t)
CONTROL u(t)
SALIDA y(t)
116
EFECTO WIND UP
2
t1
1
0
TIEMPO [s]
10
10
10
4
t2
2
0
TIEMPO [s]
10
5
0
TIEMPO [s]
1/1.2
rr
REF.
tt
Clock
GANANCIA 1/Ti
rr
1/1.2
1/Ti
1
s
uu
INTEGRADOR
uu
1
0.5s+1
FILTRO
0.1
Td
SISTEMA A CONTROLAR
yy
du/dt
DERIVADOR
Scope
10
1.3
Kc
tt
yy
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.
117
1.4
SALIDA y(t)
1.2
1
0.8
0.6
0.4
0.2
0
5
TIEMPO [s]
10
5
TIEMPO [s]
10
CONTROL u(t)
3
2.5
2
1.5
1
dy(t)
la se
nal realimentada y en lugar de e. De esta forma, (5.15) con de(t)
dt = dt se
convierte en:
Z
1
dy
u = Kc e +
edt Td
Ti
dt
Otra modificacion importante es filtrar la accion derivativa del controlador PID original mediante un filtro de primer (o segundo) orden para disminuir el ruido derivativo.
Esta caracterstica limita la amplificacion del ruido de medicion de alta frecuencia
en la salida del controlador. La se
nal de control sera as menos ruidosa y la ganancia
en alta frecuencia permanecera dentro de cotas apropiadas. Un termino derivativo
practico, ya que un derivador puro no es realizable, puede aproximarse mediante un
termino de primer orden que posee una constante de tiempo Tf , el cual a menudo se
normaliza con respecto al tiempo derivativo Td . Por consiguiente, el derivador puro
del algoritmo PID se modifica como sigue:
Td s
Td s
1 + Tf s
Tf =
Td
N
K c Td s
Kc
e(s)
y(s) = P (s) + I(s) + D(s)
Ti s
1 + Tf s
I(s) =
Kc
e(s)
Ti s
D(s) =
K c Td s
y(s)
1 + Tf s
(5.47)
Tf =
Td
N
118
(5.48)
Kc
Ti
Rt
0
e(t)dt
k1
Kc X [e(i) + e(i 1)] Kc T [e(k) + e(k 1)]
T
+
Ti
2
Ti
2
i=1
I(k) = I(k 1) +
Kc T
[e(k) + e(k 1)]
2Ti
(5.49)
Kc T d s
y(s) se puede escribir como:
La parte derivativa D(s) = 1+T
f s
(1 + Tf s)D(s) = Kc Td s y(s)
D(t) + Tf D(t)
= Kc Td y(t)
Td
{D(k 1) Kc N [y(k) y(k 1)]}
N T + Td
Tf =
Td
N
(5.50)
(5.51)
donde P (k), I(k) D(k) se dan en (5.48), (5.49) y (5.50) respectivamente. Tambien
se debe de incluir el efecto del limitador, basado en un modelo con presencia de
saturacion con valores maximo y mnimo umax y ulow respectivamente:
v = P + I + D;
if(v < ulow), u = ulow; elseif(v > uhigh), u = uhigh; else u = v;
119
Tabla 5.14: Metodo de la curva de reaccion para determinar los parametros PID. K c ,
Ki y Kd .
Tipo
Controlador Gc (s)
Kc
PI
Kc +
PID
Kc +
Ki
s
100
BP
1
T
Kp +Ts
0.9
T
Kp +0.5Ts 0.5Ki
1.2 T
Kp +Ts 0.5Ki
Kc =
Ki
s
+ Kd s
Ki = Kc /Ti
K d = K c Td
Ts T
0.27
Kp ( +0.5Ts )2
Ts T
0.6
Kp ( +0.5Ts )2
0.5 T
Kp T s
Tabla 5.15: Metodo de las oscilaciones sostenidas para hallar los parametros K C , TI
y TD .
Tipo
Controlador Gc (s)
KC
PI
PID
Kc +
Kc +
Ki
s
Kc =
100
BP
0.5Kcrit
Ki
s
+ Kd s
Ki = Kc /Ti
K d = K c Td
crit
0,54 K
Tcrit
crit
1.2 K
Tcrit
0
0.075Kcrit
Tcrit
Ts
B
n2 KE
nKact
N
x2
+
x2 +
u
M
M
M Ra
Ra M
Soluci
on: En el listado del programa pidposfijo.m se describen todos los parametros
empleados en la ecuacion de estado. Ejecutando este programa se obtiene la respuesta
pedida (Fig. 5.55). Ya se han usado parametros PID previamente determinados.
% pidposfijo.m CONTROL DE POSICION PID DEL MANIPULADOR MR1
clear all; close all; clc;
% PARAMETROS DEL PROCESO NO LINEAL (TABLA 3.3)
JL = 3.5e-7; bL = 1e-5; Ro = 0.01; Jm = 1.9062e-6; bm = 1.8338e-6;
g = 9.81; E = 31.035e-3; Ra = 7.38; m = 0.06377; Kact = 14.9;
K = 31.071e-3; n = 19.741; L = 4.64e-3; Lo = 0.776; Mo = 0.045;
B = n^2*bm + bL; Jeff = n^2*Jm +JL;
M = Jeff + (1/3)*m*Lo^2 + Mo*Lo^2 + (2/5)*Mo*Ro^2; N = g*Lo*(Mo+m/2);
% PERIODO DE MUESTREO Y PARAMETROS PID
T = 0.01; Nn = 10; Kp = 0.1; Ti = 0.4; Td = 0.01; Tf=Td/Nn;
% CONDICIONES INICIALES
ep = 0; x1 = 0; x1p=0; x2 = 0; Ip = 0; Dp=0;
% ******** LAZO DEL SISTEMA DE CONTROL *********
Mm = 5000; T = 0.01; Nn = 10; ulow = -5; uhigh = 5;
for k = 1:Mm
120
1
0.8
0.6
0.4
0.2
0
10
20
30
40
50
60
70
80
90
100
10
20
30
40
50
Tiempo [s]
60
70
80
90
100
0.5
0.4
0.3
0.2
0.1
0
r = 1; R(k) = r; e = r - x1;
P = Kp*e; I = Ip + T*Kp*(e+ep)/(2*Ti);
D = (Td/(Nn*T + Td))*Dp - Kp*Td*Nn*(x1 - x1p)/(Nn*T + Td);
v = P + I + D;
if(v < ulow), u = ulow; elseif( v > uhigh), u = uhigh; else u = v;
end
U(k) = u;
% MODELO DE SEGUNDO ORDEN DEL SISTMA (DISCRETIZACION DIRECTA)
x1 = x1 + T*x2; Y(k) = x1;
x2 = x2 + T*( -(N/M)*x1 - (B/M + n^2*K*E/(M*Ra))*x2 + (n*K*Kact/(Ra*M))*u );
ep = e; x1p=x1; Ip=I;
end
% GRAFICOS
ejex = linspace(0,Mm*T,Mm); subplot(2,1,1)
plot(ejex,R,ejex,Y); grid; ylabel(Posici
on angular (rad))
subplot(2,1,2); plot(ejex,U); grid; ylabel(Se~
nal de control u (V))
xlabel(Tiempo
[s]); print -f -deps pidposfijo
5.9 Problemas
5.9.
121
Problemas
Problema 5.1
Las FTs Ga (s) hasta Gj (s) corresponden a sistemas a ser controlados. Determinar
para cada una de ellas los siguientes modelos dinamicos aproximados:
GA (s) =
Kp s
e
Ts + 1
GC (s) =
Ga (s) =
Gd (s) =
Gf (s) =
Gi (s) =
2
(s + 1)3
GB (s) =
Kp
;
(Tn s + 1)n
Kp
;
(T1 s + 1)(T2 s + 1)
< 0.104
T
3s + 2
(s + 1)3
2
10s + 4
s 3s + 6
Ge (s) =
es/2
2
2
(s + 1)(s + 3s + 6)(s + s + 2)
(s + 1)2 (s + 3)3
6
3
3
Gg (s) =
es
Gh (s) =
e2s
(s + 1)6
(s + 1)(2s + 1)
(s + 1)4
7
3s + 6
e30s
Gj (s) =
es/10
(17s + 1)(6s + 1)3
(s + 1)(4s + 1)
Gb (s) =
4
(s + 1)5
0.104
T
Gc (s) =
Problema 5.2
Realizar los controles PID, PID y PI-Dy de los sistemas Ga (s) al Gj (s) en el dominio
de s empleando MATLAB. Usar al menos cinco distintas reglas de sintonizacion para
cada sistema. El objetivo de control es que la se
nal controlada siga a una referencia
constante.
Problema 5.3
Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) empleando
SIMULINK. Usar al menos una regla de sintonizacion, distinta de las otras, para
cada sistema. El objetivo de control es que la se
nal controlada siga a una referencia
constante.
Problema 5.4
Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) en el dominio
del tiempo discreto k=t/T (T es el tiempo de muestreo) empleando MATLAB. Usar al
menos tres distintas reglas de sintonizacion para cada sistema. El objetivo de control
es que la se
nal controlada (la salida) tienda a cero en presencia de un disturbio tipo
escalon a la entrada del sistema. En esta situacion, denominada rechazo al disturbio,
la se
nal de referencia es nula.
Problema 5.5
122
Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) empleando
SIMULINK. Usar al menos una regla de sintonizacion, distinta de las otras, para cada
sistema. El objetivo de control es que la se
nal controlada (la salida) tienda a cero en
presencia de un disturbio tipo escalon a la entrada del sistema. En esta situacion,
denominada rechazo al disturbio, la se
nal de referencia es nula.
Problema 5.6
Realizar los controles PI o PID seg
un corresponda, de los sistemas G k (s) al Gt (s)
empleando el metodo de Kessler.
Gk (s) =
Gl (s) =
Gm (s) =
Gn (s) =
Go (s) =
Gp (s) =
Gq (s) =
Gr (s) =
Gs (s) =
Gt (s) =
Problema 5.7
2
(1 + 20s) (1 + 0.1s)3 (1 + 0.3s)3
9
Q
(1 + 20s)(1 + 30s) (1 + 0.2s)4 (1 + 0.5s)2
2
Q
s (1 + s)3 (1 + 2s)2
8
Q
s(1 + 20s) (1 + 0.1s)3 (1 + 0.3s)3
5
(1 + 0.1s)(1 + 0.2s)(1 + 30s)(1 + 0.3s)2 (1 + 0.5s)2
3
s(1 + s)(1 + 2s)(1 + 40s)(1 + 0.2s)4 (1 + 0.5s)3
6
(1 + s)(1 + 2s)(1 + 40s)(1 + 50s)(1 + 0.2s)4 (1 + 0.5s)3
8
(s + 10)(s + 9)(s + 2)
4
Q
2
s (s + 3) (s + 5)(s + 6)
4
Q
2
s (1 + s) (1 + 2s)(1 + 0.9s)
Q
5.9 Problemas
123
Captulo 6
Estrategias de Control
En este Captulo se desarrollan y discuten diversas estrategias de control. Algunas de
ellas emplean modos de control PID en sus estructuras, tales como: control en cascada,
control de la razon, control anticipativo, control selectivo, control override, y control de
rango partido. Otras estrategias de control emplean controladores mas avanzados como
son el control con autosintonizacion de parametros (selftuning regulator), el controlador
adaptativo con modelo referencial y el controlador adaptativo con reconocimiento de
patrones.
6.1.
Control en Cascada
126
Estrategias de Control
Controlador
C
T1
u
Transmisor
T2
Transmisor
y
Producto
(a)
r1
y1
u2
T1
C1
Controlador
(b)
r1
u 1= r 2
e1
C1
u1
e2
C2
C2
y2
Proceso P
Medicin
Agua caliente
T2
Producto
T3
u2
P2
y2
P1
y1
M2
u 1= r 2
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).
En el control en cascada, el controlador que controla la variable controlada principal, C1 en este caso, es conocido como controlador maestro, externo o principal.
El controlador que controla la variable controlada secundaria, C 2 en esta situacion,
recibe el nombre de controlador esclavo, interno o secundario. Por lo com
un se prefiere usar la terminologa primario/secundario para referirse a los lazos de control
primario y secundario controlados por los controladores primario C 1 y secundario
C2 , respectivamente. Para sistemas de control con mas de dos lazos en cascada, la
extension es automatica.
La filosofa de dise
no en un sistema de control en cascada consiste en que el lazo de
control secundario debe de ser mas rapido (alrededor de cinco veces) que el primario,
lo cual es un requisito que cae por su propio peso. Esta filosofa de dise
no se puede
generalizar para cualquier cantidad de lazos en cascada. Por ejemplo, en un sistema
con tres lazos de control en cascada, el lazo terciario debe de ser mas rapido que el
secundario, y este tiene que ser mas rapido que el primario. Se sugiere el siguiente
procedimiento de dise
no:
1. Determinar el modelo dinamico del proceso o planta a controlar.
2. Construir un lazo de control simple y sintonizar el controlador PID empleando
cualquier metodo. Realizar postsintona (sintona fina) si fuera necesario.
3. Construir el sistema de control en cascada definiendo los lazos de control primario y secundario.
127
3
1
P1 (s) =
0.8
(4s + 1)(s + 1)
128
Estrategias de Control
OSCILACIN SOSTENIDA
2
y(t)
1.5
0.5
10
15
20
TIEMPOx60 (sec)
25
30
35
40
SALIDA CONTROLADA
TEMPERATURA C
60
50
40
30
20
10
0
10
20
30
TIEMPOx60 (sec)
40
50
60
Fig. 6.2: Oscilaciones sostenidas para Kcrit = 2.18 (grafico superior) y respuesta
controlada (grafico inferior) para el caso control con lazo simple del ejemplo 6.1.
129
y2(t)
4
5
6
TIEMPOx60 (sec)
CONTROL DEL LAZO SECUNDARIO
10
y2(t)
10
15
TIEMPOx60 (sec)
OSCILACIN DEL LAZO PRIMARIO
20
25
y1(t)
TEMPERATURA C
10
15
20
25
TIEMPOx60 (sec)
SALIDA CONTROLADA EN CASCADA
30
35
40
100
50
10
20
30
40
50
60
70
TIEMPOx60 (sec)
Fig. 6.3: Resultados para el caso control en cascada del ejemplo 6.1.
6.2.
Control de la Raz
on
130
Estrategias de Control
Control de la composicion de un producto, tecnica bastante utilizada en las
torres de destilacion.
Observar en la Fig. 6.4 que los flujos q1 y q2 se miden empleando placas de orificio,
las cuales usan el principio de que el flujo es proporcional a la raz cuadrada de la
diferencia de presion producida por la placa. Por otro lado, la filosofa de control de
la razon se basa en las relaciones siguientes (ver Fig. 6.4):
r2 = V y 1
e2 = r 2 y 2 = V y 1 y 2
(6.1)
V
y1
q2
q1
r2
V =
y2
y1
(6.2)
u
y2
Qemador
Horno
Ejemplo 6.2
Dise
nar y simular el sistema de control que mantenga la razon combustibleaire en
10 en la Fig. 6.4. Esto es: q2 /q1 = V = 10.
Soluci
on: La Fig. 6.5 muestra el diagrama Simulink correspondiente a la Fig. 6.4.
Notar que se ha incluido la FT de la valvula de control. El proceso flujo y2 se modela
como una constante proporcional. Para mantener la razon V en 10, se ha usado un
controlador PI con parametros P = Kc = 1 e I = Kc /Ti = 4. El flujo de aire y1 ha
sido considerado como un flujo que vara en forma sinusoidal para mayor generalidad.
La Fig. 6.6 muestra el resultado de la simulacion que se obtiene ejecutando el archivo
razon1graf.m cuyo listado se muestra abajo. Observar que la razon V(t) se mantiene
en el valor 10 previamente establecido.
% razon1graf.m
clear all; close all; clc;
load th; load y1; load y2; load V;
plot(th,y1,th,y2,th,V), xlabel(TIEMPO [s]),
ylabel(RAZ
ON V(t)), title(CONTROL DE LA RAZ
ON V = y2/y1)
print -f -deps razon1r, print -s -deps razon1s
131
razon1.mdl
th
y1
Clock
y1
1
u
Inversa
Aire
r2
1/y1
e2
Set V
Producto
0.5s+1
PI Controller
y2
PID
10
V=y2/y1
th
Vlvula + caudal y 2
y2
Product
Scope
y2
45
40
35
RAZN V(t)
30
25
20
y2(t)
15
V = 10
10
y1(t)
5
0
200
400
600
TIEMPO [s]
800
1000
6.3.
Control Anticipativo
132
Estrategias de Control
(6.3)
Ga (s) =
Gd (s)
Gp (s)
(6.4)
Para tener una idea mas clara de la estructura del controlador anticipativo G a (s)
dise
nado, asumamos que:
Gp (s) =
Kp
ep s
Tp s + 1
Gd (s) =
Kd
ed s
Td s + 1
(6.5)
Por consiguiente:
Ga (s) =
Gd (s)
Kd Tp s + 1 (p d )s
=
e
Gp (s)
K p Td s + 1
(6.6)
Gd(s)
Ga(s)
Gp(s)
El sistema de control anticipativo trabaja bien siempre que Gp (s) y Gd (s) representen lo mas fiel posible al proceso y al disturbio. Evidentemente, en presencia de
errores de modelado, el desempe
no 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:
Gp (s) =
s2
1
+ bs + c
Gd (s) =
1
s+f
s2 + bs + c
Gd (s)
=
Gp (s)
s+f
133
s2
1
es
+ bs + c
Entonces:
Ga (s) =
Gp (s) =
1
e2s
s+f
s+f
Gd (s)
= 2
es
Gp (s)
s + bs + c
s1
s+1
Gd (s) =
1
4s + 1
Gd (s)
s+1
=
Gp (s)
(s 1)(4s + 1)
Ejemplo 6.3
Dise
nar y simular el sistema de control anticipativo mostrado en la Fig. 6.7 para:
Gd (s) =
5
2s + 1
Gp (s) =
3
0.5s + 1
Soluci
on: La Fig. 6.8 muestra el diagrama Simulink correspondiente a la Fig. 6.7.
El controlador anticipativo se determina de:
Ga (s) =
Gd (s)
2.5s + 5
=
Gp (s)
6s + 3
134
Estrategias de Control
antic 1.mdl
Scope 1
2s+1
d
Gd(s)
2.5s5
6s+3
0.5s+1
Ga(s)
Gp(s)
th
Clock
th
d(t),u(t)
1
0
1
2
200
400
600
TIEMPO [s]
SALIDA CONTROLADA y(t)
800
1000
200
400
600
TIEMPO [s]
800
1000
x 10
y(t)
0
2
4
6
Control AnticipativoRealimentado
El control anticipativo posee la capacidad de eliminar el efecto de los disturbios
medibles que act
uan sobre la se
nal controlada. Por otro lado, el control realimentado
puede rechazar el efecto de los disturbios no medibles sobre la se
nal controlada,
as como tambien corregir el efecto de los errores de modelado en el lazo de control.
Cae entonces por su propio peso, que si deseamos sacar ventaja de las bondades
de cada uno de los esquemas descritos, debemos de aplicar simultaneamente control
anticipativo y control realimentado , tal como se ilustra en la Fig. 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) tambien conocida. El disturbio d2 se incluye para dar
mayor generalidad al problema, tal como se trata en el el siguiente ejemplo.
135
Gd1(s)
G a (s)
G c (s)
d2
G p (s)
Gd2(s)
Ejemplo 6.4
Dise
nar y simular el sistema de control anticipativorealimentado mostrado en la Fig.
6.10 cuando:
Gp (s) =
5e2s
0.8s + 1
Gd1 (s) =
3e3s
5s + 1
Gd2 (s) =
6e5s
9s + 1
Soluci
on: La Fig. 6.11 muestra el diagrama Simulink correspondiente a la Fig. 6.10.
El controlador anticipativo se determina de:
Ga (s) =
Gd1 (s)
3 0.8s + 1 s
=
e
Gp (s)
5
5s + 1
3
d1
d1
5s+1
Gd1(s)
Clock
u
Tiempo
muerto : 3
4.8s0.6
5s+1
0.8s+1
Tiempo
muerto : 1
Ga(s)
r = 10
th
Gp(s)
PID
Gc(s)
9s+1
Gd1(s)1
d2
Tiempo
muerto : 2
Scope
r
Tiempo
muerto : 5
136
Estrategias de Control
SALIDA y(t) CONTROLADA
14
12
y(t)
10
8
6
4
2
0
20
40
60
80
100
TIEMPO [s]
120
140
160
180
200
120
140
160
180
200
CONTROL u(t)
3.5
3
u(t)
2.5
2
1.5
1
0.5
20
40
60
80
100
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
6.4.
Control Override
El control override es una estrategia de control que consiste en mantener las variables del proceso bajo control dentro de ciertos limites, generalmente para propositos
de proteccion. Limitando la variable de un proceso en un valor alto o bajo, evita
que ocurran da
nos tanto en el proceso como en el producto. Dichas variables se limitan empleando ciertos tipos de conmutadores de seleccion, tales como el HSS (High
Selector Switch) y el LSS (Low Selector Switch).
La Fig. 6.13 muestra una aplicacion del control override en un sistema de bombeo
de producto. Las Figs. 6.13(a) y (b) ilustran el diagrama de instrumentacion y el
diagrama de bloques del sistema de control respectivamente, donde PT representa
un transmisor de presion, PIC significa indicacion y control de la variable presion y
PY, en este caso, es el conmutador de seleccion, dado que la letra Y indica realizar
un calculo o algoritmo relacionado con P (la presion).
137
Observar que existen dos lazos de control de presion, uno para la aspiracion y el
otro para la impulsion. En condiciones normales, la presion se controla con el lazo
de impulsion. Si por alguna circunstancia de falla, cae la presion de aspiracion de
la bomba por debajo del lmite de seguridad, entonces act
ua el conmutador selector
para que entre en funcionamiento el lazo de aspiracion en lugar del de impulsion.
El conmutador selector trabaja como sigue. En principio, el conmutador selecciona
la mnima de las dos se
nales que le llegan. Ademas, el set point del controlador
de aspiracion tiene que ser inferior a los valores normales de trabajo. En operacion
normal, la se
nal de salida del controlador de impulsion alcanza sus valores de trabajo.
Si la presion de aspiracion baja demasiado hasta llegar a ser inferior a su set point,
entonces el controlador de aspiracion genera una se
nal que es inferior a la que sale
del controlador de impulsion. En esta situacion, el conmutador hace que entre en
operacion el lazo de control de la aspiracion. En este caso, el conmutador es del tipo
LSS (Low Selector Switch).
PIC
PIC
PY
LAZO 2
LAZO 1
PT
PT
IMPULSION
ASPIRACION
BOMBA
(a)
TRANSMISOR
DE IMPULSION
LAZO 1
CONTROLADOR
DE IMPULSION
CONMUTADOR
SELECTOR
CONTROLADOR
VALVULA
DE CONTROL
PROCESO
PRESION
IMPULSION
VALVULA
DE CONTROL
PROCESO
PRESION
ASPIRACION
DE ASPIRACION
TRANSMISOR
(b)
LAZO 2
DE ASPIRACION
La Fig. 6.14 muestra otra aplicacion del control override aplicado a un generador
de vapor, en donde el conmutador selector LSS hara la conmutacion del lazo de
control de presion (Lazo 1) al lazo de control de nivel (Lazo 2), cuando el el nivel del
liquido en el hervidor caiga por debajo del nivel permisible previamente establecido.
Esta conmutacion tambien provoca que se cierre la valvula de control.
138
Estrategias de Control
LINEA DE VAPOR
LIMEA DE DESCARGA
LAZO 2
LT
PT
LAZO 1
LC
LSS
PC
AGUA
CALEFACTOR
(a)
TRANSMISOR
DE PRESION
LAZO 1
CONTROLADOR
DE PRESION
VALVULA
CONMUTADOR
LSS
CONTROLADOR
DE NIVEL
TRANSMISOR
(b)
DE CONTROL
PROCESO
PRESION
VALVULA
DE CONTROL
PROCESO
NIVEL
LAZO 2
DE NIVEL
6.5.
Control Selectivo
En ciertas aplicaciones del control de procesos, solo existe una variable controlada
PV, pero varias variables manipuladas MV. Un ejemplo tpico es el encendido y
operacion de un horno industrial mediante dos combustibles A y B. La selecci
on de
uno de los combustibles se realiza dependiendo de la disponibilidad de uno de ellos.
Por ejemplo, si el combustible A se quema hasta el lmite de su disponibilidad
y cuando tal lmite se alcanza, entonces el combustible B debe de ser quemado en
forma suplementaria. El lmite de disponibilidad se puede se puede fijar manualmente
o mediante un controlador que detecte la cantidad de combustible almacenada.
Un sistema de control como el descrito debe poseer las siguientes caractersticas:
Capacidad de manipular la variable con limitada disponibilidad en cuanto que
su valor se mantenga debajo de su lmite previamente especificado.
Una transicion suave cuando se use una u otra variable manipulable, para no
afectar adversamente la variable controlada.
Otro ejemplo de control selectivo se muestra en el sistema de medicion m
ultiple de
la Fig. 6.15, donde los transmisores de flujo FT1, FT2 y FT3 son dedicados para
medir el flujo A, mientras que los transmisores FT4, FT5 y FT6 son para el flujo
B. El objetivo de tales bateras de transmisores es el de aumentar la confiabilidad de
la medicion, a
un en el caso en que falle uno de los transmisores de una batera.
139
FY
2
FT
4
MS
FIC
2
FT
6
FT
5
A
Flujo A
FY
1
FT
1
FT
2
MS
FY
2
B/ A
FT
3
FIC
1
Flujo B
6.6.
140
Estrategias de Control
Selector
uA
uB
VB
VA
100%
Abertura
de vlvula
Pr
0%
P
VA
Reactor
P
0%
VB
30% 50%
70%
100%
6.7.
ESTIMADOR
DE ESTADOS
ESTIMADOR DE
PARAMETROS
ESTIMACION
DE U
MODELO
LINEAL
+
CONTROLADOR CON
AUTOSINTONIZACION
+
u
PROCESO
NO LINEAL
DISTURBIOS
Notar en la Fig. 6.17 que el proceso puede poseer un modelo dinamico no lineal,
pero debe de ser linealizable. Es decir (ver subseccion A.6.2), el modelo no lineal
141
(6.7)
y = Cx
(6.8)
u=UU
(6.9)
donde X y U son los valores en estado estacionario (o de equilibrio) de X y U, respectivamente. La discretizacion del modelo lineal en (6.8) con un tiempo de muestreo
T , resulta en la siguiente descripcion :
x(k + 1) = Gx(k) + Hu(k)
y(k) = Cx(k)
(6.10)
6.8.
142
Estrategias de Control
MODELO
REFERENCIAL
CONTROLADOR
ADAPTATIVO
SISTEMA
NO LINEAL
qd
q
MECANISMO
DE ADAPTACIN
~q
6.9 Autosintonizaci
on con Reconocimiento de Patrones
143
6.9.
Autosintonizaci
on con Reconocimiento de Patrones
El sistema de control con autosintonizacion basado en el reconocimiento de patrones, emplea la respuesta del proceso a un cambio tipo escalon del SP y/o a la accion
de un disturbio, tal como se muestra en la Fig. 6.19(b) y (c), donde el sobrenivel y
el amortiguamiento se definen como:
e2
e3 e 2
(6.11)
amortiguamiento =
sobrenivel =
e1 e 2
e1
Se supone que el proceso Gp (s) a controlar es del tipo primer orden con ganancia Kp ,
constante de tiempo T y tiempo muerto :
Kp
Gp (s) =
e s
(6.12)
Ts + 1
cuyos parametros se pueden determinar empleando el metodo de la curva de reaccion.
Tambien resulta conveniente calcular el tiempo de espera Wmax , el cual es el tiempo
maximo que el controlador espera para la ocurrencia del segundo pico. Este tiempo
se define como:
Wmax = 5
(6.13)
Autosintonizacion va el reconocimiento de patrones consiste fundamentalmente
en la programacion de un sistema experto para que lleve a cabo en forma automatica,
tal como si lo estuviera haciendo un experto, el procedimiento de sintonizacion del
controlador Gc (s). Este metodo de sintonizacion esta presente en el controlador
Foxboro EXACT (760/761).
La fase de reconocimiento de patrones dentro del procedimiento de autosintonizacion comienza cuando el error e(t) = SP P V excede un nivel maximo de
ruido previamente especificado, debido a cambios en el SP o en los disturbios. El
programa experto entonces busca los tres picos e1 , e2 y e3 en la respuesta, mide sus
amplitudes y tiempos para calcular el amortiguameiento, el sobrenivel, el perodo de
oscilacion Tp y el tiempo maximo Wm = 5 de dicha respuesta. Si los picos e2 y e3
no fueran detectables, entonces el programa de reconocimiento de patrones debe de
estimarlos para usarlos luego en las formulas de sintonizacion. Estas formulas son
similares a las de Ziegler y Nichols:
BP = 120Kp /T
Ti = 1,5
Td = Ti /6
(6.14)
144
Estrategias de Control
disturbio
e(t)
SP
Gc (s)
e(t)
Gp(s)
PV
(a)
e1
e3
t
e(t)
e1
e2
(b)
e3
t
e2
Tp
(c)
Fig. 6.19: (a) Sistema realimentado. (b) Respuesta a un cambio escalon. (c) Respuesta
a un cambio en el disturbio.
Informaci
on Inicial y PreSintona
El controlador necesita tener a priori un conjunto de parametros, los cuales deben
de ser suministrados por el usuario o ser estimados por el modo PreTune (lease
autosintonizacion) del controlador Foxboro. Estos parametros son:
Los valores iniciales de BP , Ti y Td .
La banda de ruido BN . Esta programado que el controlador inicia el procedimiento de adaptacion cuando el error e(t) exceda dos veces BN , la cual se
indica luego como determinarla.
Maximo tiempo de espera Wmax .
La banda de ruido NB se determina durante la u
ltima fase del modo PreTune.
Primero, la se
nal de control vuelve al nivel que tena antes de la ocurrencia del
cambio escalon del SP. Con el controlador a
un en manual y con la se
nal de control
mantenida en un valor constante, la salida controlada se pasa a traves de un filtro
pasa alto. La banda de ruido BN se calcula luego estimando la amplitud pico a pico
de la salida del filtro pasa alto. Este filtro puede poseer la forma (entre otras):
La BN estimada se emplea para inicializar el termino derivativo como sigue:
Calcular la cantidad Z = (3 - 2NB)/2.5;
si Z > 1 entonces fijar Td = Ti /6;
6.9 Autosintonizaci
on con Reconocimiento de Patrones
145
Captulo 7
7.1.
M
etodo de Dahlin
1
y(s)/r(s)
Gp (s) 1 y(s)/r(s)
(7.1)
(7.2)
148
e(s)
Gc (s)
u(s)
Gp(s)
y(s)
H(s)
Proceso Proporcional
Cuando Gp (s) = Kp (proceso proporcional), la ecuacion (7.3) toma la forma:
Gc (s) =
Kc
s
Kc =
1
K p Tc
(7.4)
Kp
Ts + 1
(7.5)
Kp
(T1 s + 1)(T2 s + 1)
(7.7)
donde T1 y T2 son las dos constantes de tiempo del proceso. Con Gp (s) dado por la
ecuacion (7.7), (7.3) toma la forma:
T1
1
(Td s + 1)
Kc =
Ti = T 1
Td = T 2
Gc (s) = Kc 1 +
Ti s
K p Tc
(7.8)
7.1 M
etodo de Dahlin
149
Proceso Integral
Cuando:
Gp (s) =
Kp
s(T s + a)
Kc =
1
K p Tc
Td = T
(7.9)
Kc =
1
K p Tc
(7.10)
(7.12)
Td = T 2
(7.13)
Kp e s
(T s + 1)
(7.14)
(7.15)
150
(7.16)
donde:
Kc =
T
Kp (Tc + )
Ti = T
Td =
Tc
Tc +
Ejemplo 7.1
Verificar los controladores sintetizados empleando el metodo de Dahlin.
Soluci
on: La Fig. 7.2 muestra las respuestas controladas, resultadoS que se obtienen
ejecutando el programa dahlin1.m listado abajo. No se ha considerado el caso G p (s) =
Kp /s2 por simple comodidad.
CONTROL DE UN PROCESO PROPORCIONAL
SALIDA
0.5
4
6
8
TIEMPO [s] (sec)
10
0.5
12
SALIDA
SALIDA
0
4
6
8
TIEMPO [s] (sec)
10
12
0.5
12
4
6
8
TIEMPO [s] (sec)
10
12
2
SALIDA
10
0.5
1
0
1
2
4
6
8
TIEMPO [s] (sec)
0.5
0
0.5
4
6
8
TIEMPO [s] (sec)
10
12
5
10
TIEMPO [s] (sec)
15
TODO DE DAHLIN
% dahlin1.m CONTROL DE PROCESOS: ME
clear all; close all; clc; s=tf(s);
Kp=2; T=5; T1=4; T2=6; T3=3; Tc=2; Tt=2;
151
7.2.
y = Cx + Du
(7.17)
u(s) = Gc (s)e(s)
(7.18)
y(s) = Gp Gc (s)e(s)
(7.19)
152
r(s)
Proceso
MIMO
y(s)
G p (s)
donde Gp (s) es la matriz de transferencia del sistema, Gc (s) es la matriz de transferencia del controlador, e(s) es el vector error del sistema y r(s) es el vector de se
nales
deseadas o set points. En (7.19), el reemplazo de y(s) en e(s) produce:
y(t) = G(s)r(s)
G(s) = (I + Go )1 Go
Go (s) = Gp Gc (s)
(7.20)
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:
..
..
..
G(s) =
.
.
.
Gp1 (s) Gpp (s)
En el dominio de Laplace y para condiciones iniciales nulas, el sistema representado en (7.17) toma la forma:
sx = Ax + Bu
7.2.1.
(7.21)
No Interacci
on
para i 6= j
(7.22)
153
Despejamos Go (s):
Go (s) = Gp (s)Gc (s) = G(s)[I G(s)]1
(7.23)
Dado que G(s) tiene que ser diagonal por para no interaccion, entonces, I G(s)
tambien debe de ser diagonal. Por consiguiente, su matriz inversa [I G(s)] 1 es
tambien diagonal y de la forma:
1
0
1G11 (s)
1G22 (s)
1
[I G(s)] =
..
1
0
1Gpp (s)
Por lo tanto, la relacion (7.23) resulta en la siguiente matriz diagonal:
G11 (s)
0
1G11 (s)
G22 (s)
1G22 (s)
Go (s) =
..
Gpp (s)
0
1Gpp (s)
7.2.2.
(7.24)
Exactitud Est
atica
|r|
s .
|r|
s
Aplicando el
s0
s0
Entonces podemos concluir que para exactitud estatica (error en estado estable nulo)
se requiere:
lm [G(s)] = I
(7.25)
s0
7.2.3.
Estabilidad
Adj (I A)
det(I A)
(7.26)
154
(7.28)
Adj [I + Go (s)]
det[I + Go (s)]
(7.29)
Entonces, el sistema MIMO de la Fig. 7.3 es estable si todas las races caractersticas
de (7.29) se localizan en el semiplano izquierdo del planos. Si existe al menos una
raz en el semiplano derecho del planos, entonces el sistema es inestable. Si todas
las races se localizan en el semiplano izquierdo del planos, excepto al menos una
que se ubique en el eje imaginario (el eje vertical del planos), entonces el sistema es
oscilante, que para fines de operacion del sistema controlado, tambien es inestable.
Ejemplo 7.2 Control PID MIMO del Sistema Tanque Cerrado
Dise
nar un controlador PID MIMO basado en la tecnica de desacoplamiento para
controlar el nivel y la temperatura del sistema tanque cerrado descrito en la subseccion
2.8.4. Las especificaciones de dise
no son: 0 % de sobrenivel y error en estado estable
nulo tanto para el nivel como para la temperatura. Tiempos de estabilizacion menores
de 400 s para el nivel y 1000 s para la temperatura.
Soluci
on: En la subseccion 2.8.4 se determino el modelo dinamico lineal en el espacio
de estado del sistema MIMO tanque, que como sabemos, posee dos entradas y dos
salidas. De acuerdo a (7.26), la matriz de transferencia del sistema se determina de:
Gp11 (s) Gp12 (s)
1
Gp (s) = C(sI A) B + D =
Gp21 (s) Gp22 (s)
155
Gp (s) =
Kp11
Tp11 s+1
Kp11
Tp11 s+1
(7.30)
Para dise
nar la matriz de control Gc (s), podemos asumir una matriz G(s) de la
forma:
1
0
Tniv s+1
G(s) =
(7.31)
1
0
Ttemp s+1
(7.32)
1
1
Kc11 1 + Tc11
1
+
K
c12
s
Tc12 s
GC (s) =
(7.33)
1
1
Kc21 1 + Tc21 s
Kc12 1 + Tc12 s
La Fig. 7.4 muestra en detalle la interconexion de todos los bloques del sistema de
control MIMO del sistema tanque cerrado. Observar que el controlador MIMO se
sintetiza con cuatro controladores PI.
Simulaci
on del Sistema de Control en el Dominio de s
El programa mimopidsimb.m, cuyo listado se muestra abajo, tambien simula el
sistema de control del tanque cerrado. En el resultado de la simulacion (Fig. 7.5)
se observa que el nivel (grafico superior izquierda) y la temperatura (grafico superior derecha) controlados, cumplen las especificaciones de dise
no establecidas en el
enunciado del ejemplo.
156
e1
r1
K c11 1+
T p11 s+1
K p11
K c21 1+
K c12 1+
e2
K p11
T c11 s
K c12 1+
r2
u1
T c12 s
p11
y1
s+1
K p21 (T pas+1)
T c21 s
(T pbs+1)(T pcs+1)
K p21 (T pas+1)
T c12 s
u2
y2
(T pbs+1)(T pcs+1)
Fig. 7.4: Diagrama de bloques del sistema de control PID MIMO dise
nado.
Step Response
From: In(1)
To: Out(1)
0.8
From: In(2)
NIVEL
0.6
0.4
Amplitude
0.2
0
1
To: Out(2)
0.8
0.6
TEMPERATURA
0.4
0.2
0
200
400
600
800
1000 1200 0
Time (sec)
200
400
600
800
1000 1200
%
%
%
%
%
%
%
%
%
157
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));
Simulaci
on del Sistema de Control en el Dominio de t
De la Fig. 7.4 podemos formular las ecuaciones que gobiernan el controlador
MIMO PID:
1
1
) e1 Kc12 (1 +
) e2
u1 = Kc11 (1 +
Tc11 s
Tc12 s
1
1
) e1 + Kc12 (1 +
) e2
(7.34)
u2 = Kc21 (1 +
Tc21 s
Tc12 s
donde:
e1 = r 1 y 1
e2 = r 2 y 2
Kc21
Tc21
i=0
k
X
i=0
Kc12
Tc12
i=0
k
X
T e2 (i)
i=0
k1
k1
Kc12 X
Kc11 X
T e1 (i) Kc12 e2 (k 1)
T e2 (i)
Tc11
Tc12
Kc21
Tc21
i=0
i=0
k1
X
k1
X
i=0
T e1 (i) Kc12 e2 (k 1)
Kc12
Tc12
i=0
T e2 (i)
158
e1 (i) =
i=0
k1
X
k
X
e1 (i) + e1 (k)
i=0
e2 (i) =
i=0
k1
X
e2 (i) + e2 (k)
i=0
entonces:
Kc11
T e1 (k)
Tc11
Kc12
T e2 (k)
Kc12 [e2 (k) e2 (k 1)]
Tc12
Kc21
u2 (k) u2 (k 1) = Kc21 [e1 (k) e1 (k 1)] +
T e1 (k)
Tc21
Kc12
T e2 (k)
Kc12 [e2 (k) e2 (k 1)]
Tc12
u1 (k) u1 (k 1) = Kc11 [e1 (k) e1 (k 1)] +
(7.35)
Kc12
T e2
Tc12
Kc12
T e2
Tc12
(7.36)
x(k) x(k 1)
= A x(k) + B u(k)
T
x(1)
x(2)
y1
y2
u=
u1
u2
qC
qD
Para programacion en tiempo real, la ecuacion de estado discreta del sistema toma
la forma:
x = x + T (A x + B u)
(7.37)
La simulacion 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 simulacion se muestra en la Fig. 7.6. Observar que el controlador PID MIMO estabiliza
simultaneamente el nivel y la temperatura cumpliendo las especificaciones de dise
no
del caso.
% pidmimotanque.m CONTROL PID MIMO DEL SISTEMA TANQUE CERRADO CON AGUA
clear all; close all; clc;
% PAR
AMETROS
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;
159
NIVEL [m]
1
0.5
500
1000
1500
2000
TIEMPO
[s]
500
1000
1500
2000
TIEMPO
[s]
500
1000
1500
2000
TIEMPO
[s]
500
1000
1500
2000
TIEMPO
[s]
2500
3000
3500
4000
2500
3000
3500
4000
2500
3000
3500
4000
2500
3000
3500
4000
0.01
0.005
TEMPERATURA [C]
0
60
40
20
0
0.005
0.01
Fig. 7.6: Resultado de la simulacion del sistema de control PID MIMO del tanque:
nivel y temperatura controladas.
barqD=2.16e-4; Rh=barh/barqD;
% MODELO LINEAL, DONDE: df1/dx1=a11, df1/dx2=a12, etc.
a11=-a/(2*A*sqrt(barh)); a12=0;
a21=a*bartheta*barh^(-1.5)/(2*A) - ...
(rhoC*thetaC*barqC+rhoH*thetaH*barqH)/(rhoD*A*barh^2);
a22=-a/(A*sqrt(barh)); b11=1/A; b12=1/A;
b21=rhoC*thetaC/(rhoD*A*barh); b22=rhoH*thetaH/(rhoD*A*barh);
AA=[a11 0;a21 a22]; BB=[b11 b11;b21 b22]; CC=[1 0;0 1]; DD = [0 0;0 0];
Tniv=60; Ttemp=100;
% PAR
AMETROS 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
UMERO 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
x1
x2
y1
u1
x=
y
=
u
=
x3
y2
u2
x4
Se puede demostrar (problema 2.6) que las ecuaciones de estado y de salida son:
x = Ax + Bu
0
0
A = K1
m1
K1
m2
0
0
B=
m1
1
0
y = Cx
0
0
1
0
0
1
K1
m1
2)
(K1m+K
2
B1
m
1
B1
m
2
B1
m1
2)
(B1m+B
2
0
0
1
m2
C=
1 0 0 0
0 1 0 0
El programa mimopid02.m, cuyo listado se muestra abajo, simula el sistema de control pedido. En el resultado de la simulacion (Fig. 7.7) se observa que las salidas
controladas y1 (grafico superior izquierda) e y2 (grafico superior derecha) controlados, cumplen las especificaciones de dise
no requeridas.
161
Step Response
From: In(1)
From: In(2)
To: Out(1)
0.8
y1
0.6
0.4
Amplitude
0.2
0
1
To: Out(2)
0.8
y2
0.6
0.4
0.2
0
20
40
60
0
Time (sec)
20
40
60
7.3.
162
(7.39)
Gp12 (s)
Gp11 (s)
D2 (s) =
Gp21 (s)
Gp22 (s)
(7.41)
Las ecuaciones que gobiernan la dinamica del sistema mostrado en la Fig. 7.8 son:
e1
r1
r2
e2
u
G c1(s)
G c2 (s)
m1
Gp11(s)
D 1 (s)
G p12(s)
D 2 (s)
G p21(s)
y1
y2
m2
G p22(s)
u2
y1 = Gp11 m1 + Gp12 m2
m 1 = u 1 + D 1 u2
u1 = Gc1 e1
y2 = Gp21 m1 + Gp22 m2
m 2 = D 2 u1 + u 2
u2 = Gc2 e2
Por consiguiente:
y1
y=
y2
m=
m1
m2
u=
u1
u2
e=
e1
e2
y(s) = Gp (s)m(s)
m(s) = D(s)u(s)
u(s) = Gc (s)e(s)
Gc1 0
1 D1
Gp11 Gp12
Gc =
D=
Gp =
D2 1
0 Gc2
Gp21 Gp22
y = Go e
Go = Gp DGc
(7.42)
(7.43)
(7.44)
163
Dise
nar un controlador MIMO con desacopladores para controlar las salidas y 1 e
y2 del sistema de plataformas propuesto en el problema 2.6 y mostrado en la Fig.
2.26. Las especificaciones de dise
no son: 0 % de sobrenivel, error en estado estable
nulo y tiempo de estabilizacion menor de 20 s para ambas salidas. Valorar todos los
parametros de la planta en 1.
Soluci
on: El programa mimopid03.m, cuyo listado se muestra abajo, emplea el modelo del sistema de plataformas del Ejemplo 7.3 y simula el sistema de control pedido.
En el resultado de la simulacion (Fig. 7.9) se observa que las salidas controladas y 1
(grafico superior izquierda) e y2 (grafico superior derecha) controlados, cumplen las
especificaciones de dise
no requeridas.
Step Response
From: In(1)
To: Out(1)
0.8
From: In(2)
y1(t)
0.6
0.4
Amplitude
0.2
0
1
y2(t)
To: Out(2)
0.8
0.6
0.4
0.2
0
20
40
60 0
Time (sec)
20
40
60
164
7.4.
r(s)
e(s)
Controlador
P MIMO
K
u(s)
Sistema
G p (s)
y(s)
r(s)
y(s)
(b)
(a)
Fig. 7.10: (a) Sistema de control MIMO con controlador MIMO Gc . (b) Sistema
equivalente.
y(s) = Gp (s)u(s)
u(s) = Gc e(s)
y(s) = [I + Gp Gc (s)]
Gp Gc (s)
(7.45)
7.4.1.
Procedimiento de Dise
no
..
..
..
Gc (s) = diag[Gc11 , . . . , Gcnn ]
Gp (s) =
.
.
.
Gpn1 (s) Gpnn (s)
2. Determinar la ecuacion caracterstica del sistema a lazo cerrado a partir de:
D(s) = det[T(s)] = sn + a1 sn1 + + an1 s + an = 0
165
7.4.2.
El Criterio de Hurwitz
H=
a1 a3
1 a2
0 a1
0 1
..
..
.
.
0 0
a5
a4
a3
a2
..
.
...
...
...
...
..
.
0
0
0
0
..
.
0
0
0
0
..
.
. . . an2 an
Este criterio de estabilidad establece que para que los ceros de D(s) posean parte real
negativa (requisito indispensable para comportamiento estable del sistema), todos los
menores principales diagonales de H: H1 , H2 , H3 , . . . , Hn , deben de ser positivos,
donde:
a1 a3 a5
a1 a3
Hn = detH
H3 = det 1 a2 a4
H1 = a 1
H2 = det
1 a2
0 a 1 a3
Ejemplo 7.5 Control MIMO de un Proceso
Empleando el procedimiento de dise
no de la subseccion 7.4.1 dise
nar un controlador
P MIMO para un sistema con:
#
"
280
3
K1 0
Gp (s) = 0.s05 s(s+6)(s+30)
K=
200
0 K2
s
s(s+6)(s+30)
las especificaciones de dise
no para los dos canales (salidas) son: tiempo de estabilizacion menor de 2 s, error en estado estable nulo y porcentaje de sobrenivel tambien
nulo.
Soluci
on: Ejecutar el programa pmimo1.m, el cual sigue el procedimiento de dise
no
arriba establecido. La Fig. 7.11 muestra que las salidas controladas del sistema
cumplen las especificaciones de dise
no para las ganancias K1 = 2 y K2 = 1.5.
Es necesario anotar que con estos valores de las ganancias, se satisfacen simultaneamente las condiciones H1 > 0, H2 > 0, H3 > 0 y H4 > 0 establecidas en el criterio
de Hurwitz.
166
To: Out(1)
0.8
From: In(2)
y1(t)
0.6
0.4
Amplitude
0.2
0
To: Out(2)
1.5
y2(t)
0.5
3 0
Time (sec)
7.5.
Problemas
7.5 Problemas
167
168
Basado en las tecnicas descritas en las secciones 7.2, 7.2 y 7.4, dise
nar los controladores PID MIMO para el manipulador robotico traslacional mostrado en la Fig. ??
y descrito en la seccion ??. Las especificaciones de dise
no de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo mas
rapido posible.
Problema 7.9 Manipulador Rob
otico Esf
erico (MRE)
Basado en las tecnicas descritas en las secciones 7.2, 7.2 y 7.4, dise
nar los controladores PID MIMO para el manipulador robotico esferico mostrado en la Fig. ?? y
descrito en la seccion ??. Las especificaciones de dise
no de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo
mas rapido posible.
Captulo 8
Control Predictivo
En este captulo se desarrolla un procedimiento para dise
nar sistemas de control
predictivo SISO basado en modelos. El algoritmo de control predictivo empleado es el
denominado Control Matricial Dinamico (DMC: Dynamic Matrix Control).
Para validar el procedimiento de dise
no propuesto, se presentan varios ejemplos de
dise
no, empleando leyes del Control Matricial Dinamica, en sus versiones escalar y matricial.
8.1.
170
8.2.
Control Predictivo
171
w(t+k/t)
y(t+k/t)
r(t+k/t)
Error
Horizonte de
optimizacin
k+N1
k+N2 k=t/ t
(a)
Actual
u(t+k/t)
Predictivo
Pasado
Horizonte
de control
k
k+Nu 1
k=t/ t
(b)
Entradas y
salidas
pasadas
+ Trayectoria de
Salidas
referencia
predecidas
MODELO
Entradas
futuras
OPTIMIZADOR
Funcion
de costo
restricciones
8.3.
(8.1)
172
Control Predictivo
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
nal de control), x(t) es la salida del modelo y n(t) es el
disturbio en el proceso.
n
u
MODELO
El Disturbio n(t)
La se
nal de disturbio n(t) incluye todos los efectos no deseados en la salida y(t).
Esta se
nal representa el efecto conjunto de todos los disturbios sobre el proceso,
otras entradas no medibles, ruido de medicion, 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
nal de disturbio n(t) de interes, tambien es un
ruido pero coloreado. Los conceptos de ruido blanco y ruido coloreado se detallan a
continuacion.
El ruido blanco e(t) es una se
nal aleatoria cuyos valores poseen una media o valor esperado nulo y una determinada distribucion estadstica f (e). Esta distribucion
puede ser uniforme, tal como se muestra en la Fig. 8.4 o gaussiana (la famosa campana). Si analizamos las se
nales de un ruido blanco en dos bases de tiempo diferentes,
encontraremos que tales valores no guardan correlacion estadstica alguna entre ellas;
es decir, tales valores no estan correlacionados. Sea e un vector de ruido blanco. La
media y la autocorrelacion R( ) de e se expresan como:
E[e] = 0
R( ) = E[eeT ] = 2 I
(8.2)
173
R( )
R( )
Autocorrelacin
0
f(e)
...
...
Ruido
blanco
uniforme
S()
0
f(n)
Filtro
Ruido
coloreado
S()
...
...
Densudad
espectral
de potencia
0
Fig. 8.4: Ruido blanco y ruido coloreado, con sus caractersticas estadsticas.
donde z 1 es el operador de desplazamiento, e(t) es un ruido blanco no correlacionado
con media cero, y los polinomios son de la forma:
C(z 1 ) = 1 + c1 z 1 + + cnc z nc
D(z
) = 1 + d1 z
+ + d nd z
nd
(8.3)
(8.4)
D(z 1 ) = (1 + dz 1 )(1 z 1 )
(8.5)
(8.6)
(8.7)
174
Control Predictivo
donde f (.) es una funcion que puede estructurarse de diversas formas. Es decir,
f (.) puede ser una ecuacion de diferencias, una red neuronal o una caja negra con
parametros 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 ingles Controlled Autoregressive Integrated Moving Average, es un modelo lineal basico y bastante extendido en su aplicacion, y es precisamente el que emplearemos. Tal modelo CARIMA para un determinado proceso
puede ser representado por:
A(z 1 )y(t) = B(z 1 )u(t) +
C(z 1 )
e(t)
D(z 1 )
(8.8)
) = b1 z
+ ... + bnb z
(8.9)
nb
(8.10)
El origen del termino CARIMA se debe a que la ecuacion 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):
y(t) = a1 y(t 1) a2 y(t 2) ... ana y(t na )
el componente promedio temporal de control B(z 1 )u(t), es decir:
+ b0 u(t 1) + b1 u(t 2) + ... + bnb u(t nb 1)
y el componente promedio temporal integrado del error
+
C(z 1 )
e(t):
D(z 1 )
Por ejemplo, para un proceso de segundo orden sin presencia de perturbaciones; esto
es, con C(z 1 ) = 0, la representacion CARIMA toma la forma:
y(t) = x(t) =
b1 z 1 + b2 z 2
B(z 1 )
u(t)
=
u(t)
A(z 1 )
1 + a1 z 1 + a2 z 2
(8.11)
(8.12)
B(z 1 )
C(z 1 )
u(t)
+
e(t)
F (z 1 )
D(z 1 )
(8.13)
Notar en (8.13) que la salida y(t) del modelo tambien cumple que (ver ecuacion (8.1)):
y(t) = x(t) + n(t)
x(t) =
B
u(t)
AF
n(t) =
C
e(t)
AD
175
La representacion predictiva de la u
ltima expresion es:
y(t + k/t) = x(t + k/t) + n(t + k/t)
(8.14)
donde:
x(t + k/t) =
B
u(t + k/t)
AF
n(t + k/t) =
C
e(t + k/t)
AD
Ejemplo 8.1
El modelo lineal de orden dos de un servomotor DC puede ser descrito por las siguientes ecuaciones en el espacio de estado:
q = w
w = c1 q c2 w + c3 u
donde q es la posicion angular y w = dq/dt es la velocidad angular. Asumiendo que
el ruido de medicion n(t) en la posicion del eje del servomotor (la salida del proceso)
es coloreado y de la forma:
1
n(t) =
e(t)
1 z 1
determine su modelo CARIMA.
Soluci
on: La funcion de transferencia de pulso del proceso de segundo orden posee
la forma:
b1 z + b2
b1 z 1 + b2 z 2
B(z 1 )
q(z)
= 2
=
=
u(z)
z + a1 z + a2
1 + a1 z 1 + a2 z 2
A(z 1 )
A
nadiendo el ruido de medicion obtenemos:
y(z) =
B(z 1 )
1
B(z 1 )
u(z)
+
n(t)
=
u(z) +
e(t)
A(z 1 )
A(z 1 )
1 z 1
176
Control Predictivo
8.4.
El Controlador Predictivo
8.4.1.
k = 0, . . . , N2 1
N2
X
k=N1
NX
u 1
[u(t + k/t)]2
(8.15)
k=0
donde :
u(t + k/t) = u(t + k/t) u(t + k 1/t)
(8.16)
u(t) [V]
177
1
0
1
5
TIEMPO [s]
10
5
TIEMPO [s]
10
5
TIEMPO [s]
10
5
TIEMPO [s]
10
e(t) GAUSS.
e(t) [rad]
y(t) [rad]
q(t) [rad]
x 10
0
5
10
0
10
0.5
0
0.5
400
200
0
0.4
0.3
0.2
0.1
0
0.1
< e(t) >
0.2
0.3
0.4
178
Control Predictivo
u(t+k/t)
o o
o o
o
o
o
o
o o o o o o o o o o o o o o o o
o
o o o o
o o o
r=w
y(t+k/t)
N1
PASADO
N2
FUTURO
TIEMPO ACTUAL t
8.4.2.
(8.19)
donde el subndice forz indica forzada. La respuesta libre ylibre (t + k/t) aparece como
consecuencia de los factores siguientes:
El efecto debido a las se
nales 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 superposicion. Desafortunadamente, el principio de superposicion no
es valido para procesos no lineales.
Por consiguiente, el efecto acumulativo de la accion conjunta de los escalones es:
yf orz (t + k/t) = gk u(t/t) + gk1 u(t + 1/t) + + gkNu +1 u(t + Nu 1/t) (8.20)
179
2
1
Respuesta libre
Respuesta forzada
t
0
u
2
1
donde los parametros g1 , . . . , gN2 son los coeficientes de la respuesta del sistema al
escalon unitario. Es decir, la respuesta de la salida del sistema a los cambios tipo
escalon unitario en la entrada.
Para un sistema lineal, la respuesta al escalon unitario no depende del punto de
operacion. Este punto es fijo y puede ser calculado fuera de lnea (off-line) usando
el modelo del sistema.
Para un sistema no lineal, como en el caso de una red neuronal, la respuesta al
escalon unitario es diferente para cada punto de operacion. Esta respuesta tiene que
ser calculada en cada tiempo de muestreo (on-line), aplicando en cada instante de
muestreo un cambio escalon (ficticio) a la entrada actual del proceso y calculando su
efecto en la salida respectiva.
De la ecuacion (8.20) se puede obtener la siguiente expresion para la componente
forzada:
Yf orz = GU
(8.21)
donde:
Yf orz =
U=
g N1
gN1 +1
G=
...
g N2
gN1 1
g N1
...
gN2 1
...
...
...
...
...
...
. . . gN2 Nu +1
T
T
(8.22)
180
Control Predictivo
donde:
Y = [y(t + N1 /t) . . . y(t + N2 /t)]T ;
Ejemplo 8.3
Determinar la respuesta libre y los coeficientes gt de la respuesta al escalon para el
proceso servomotor DC descrito en el ejemplo 8.1.
Soluci
on: La ecuacion de diferencias del proceso es:
y(t) = a1 y(t 1) a2 y(t 2) + b1 u(t 1) + b2 u(t 2)
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:
g(t) = a1 g(t 1) a2 g(t 2) + b1 u(t 1) + b2 u(t 2)
As podemos obtener que g(0) = 0, g(1) = b1 , g(2) = a1 b1 + b1 + b2 , y:
g(t) = a1 g(t 1) a2 g(t 2) + b1 + b2 ;
t3
8.4.3.
(8.24)
181
La optimizacion de la se
nal de control u(t + k/t) es ahora con respecto a los
parametros i .
El control predictivo muestra diferentes propiedades dependiendo de la seleccion
de N1 , N2 y Nu . Por ejemplo:
Si N1 = n, N2 = 2n 1, Nu = n y = 0, la salida entonces alcanza la
referencia despues de n muestras y se mantiene en este estado, proporcionando
una vigorosa accion de control. Este caso es muy apropiada para aplicaciones
que requieran alto rendimiento, como en la robotica.
Si escogemos N1 = Nu = 1, N2 = y = 0, obtendremos una respuesta
transitoria de la variable controlada, caracterizada por un tiempo de subida
rapido y un tiempo de estabilizacion lento. Este hecho es relevante en el control
de procesos industriales.
Ejemplo 8.4
Determinar la matriz dinamica de control para el proceso del ejemplo 8.1 empleando
los datos siguientes: N1 = 7, N2 = 12, Nu = 6.
Soluci
on: La solucion del problema planteado se detalla en el programa lcm1.m
listado a continuacion.
LCULO DE UNA MATRIZ DIN
% lcm1.m CA
AMICA 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
ON
% 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
g(N1+2)
g(N1+3)
g(N1+4)
g(N1+5)
g(N2)
8.5.
g(N1+1)
g(N1+2)
g(N1+3)
g(N1+4)
g(N2-1)
g(N1)
g(N1+1)
g(N1+2)
g(N1+3)
g(N2-2)
g(N1-1)
g(N1)
g(N1+1)
g(N1+2)
g(N2-3)
g(N1-2)
g(N1-1)
g(N1)
g(N1+1)
g(N2-4)
g(N1-3)
g(N1-2)
g(N1-1)
g(N1)
g(N2-5)
g(N1-4)
g(N1-3)
g(N1-2)
g(N1-1)
g(N2-Nu+1)];
Procedimiento de Dise
no
8.6.
Ejemplo de Dise
no
+
v
IR
L
C
+
e
-
IM
K
T
1
T = K t IM ;
e = K e 1
d2
=T
dt
183
A=
y = Cx
1
RC
C1
0
Kt
J
K
LK +Kt Ke
1
RC
B = 0 ;
0
C=
0
Ke K
LK +Kt Ke
0
0 0 1
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
AS LA ECUACI
ON 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
Velocidad [rad/s]
20
40
60
80
100
Tiempo [s]
120
140
160
180
200
20
40
60
80
100
Tiempo [s]
120
140
160
180
200
50
50
%
%
185
8.7.
Problemas Propuestos
=
Vo
s(0.2s + 1)
186
Control Predictivo
Velocidad [rad/s]
20
40
60
80
100
Tiempo [s]
120
140
160
180
200
20
40
60
80
100
Tiempo [s]
120
140
160
180
200
40
20
0
20
40
Desague
187
188
Control Predictivo
Empuje
Impulso
Arrastre
e
z
Peso
0,313
56.7
q = 0.0139 0.426
0
56.7
salida son:
0.232
0 q + 0.0203 e
0
= 0 0 1 q
Dise
nar y simular dos sistemas de control predictivo, uno con ley de control escalar y
otro con ley de control matricial, para controlar la inclinacion del avion mostrado
en la Fig. 8.12, por medio de e , cumpliendo determinadas especificaciones de dise
no
dictadas por el usuario.
Problema 8.8 Tanques en Cascada
La Fig. A.17 muestra dos tanques identicos colocados en cascada. La seccion horizontal A=9 m2 de cada tanque es constante. El objetivo de control es controlar la
altura H2 empleando el flujo Qo . La deduccion del modelo linealizado del proceso se
derivo en el ejemplo A.50. Dise
nar un controlador predictivo del tipo escalar y otro
del tipo matricial, con los requerimientos siguientes: tiempo de estabilizacion menor
que 15 s, sobreimpulso menor al 10 % y error en estado estable nulo. Estas condiciones
de dise
no deben mantenerse cuando se cambie la referencia (por ejemplo de 3 a 2 m).
Ademas, el flujo de entrada (la se
nal de control) no debe sobrepasar los 3 m 3 /s.
189
Controlador
Horno
Sensor
Referencia
d
v
Deposito
v
d/v
1
s+1
Horno
hs
(b)
e -(d/v)s
hr
Tiempo muerto
10
s + 0.5
Sensor
vr
p = m p
Lv = 1
190
Control Predictivo
Angulo de
elevacion
Azimut: angulo
de
posicionamiento horizontal
v =
dv
dt
Dise
nar un sistema de control predictivo con fuerza de control escalar y otro con
fuerza de control matricial, para controlar la velocidad del movil con mnimo tiempo
de estabilizacion y mnimo sobreimpulso. La se
nal de referencia puede ser arbitraria
191
Captulo 9
Control Fuzzy
En este captulo se dise
nan 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
nales
de control.
Intensivos trabajos de simulacion van a validar los dise
nos propuestos.
9.1.
El Controlador Fuzzy
Con el proposito de desarrollar un controlador fuzzy (difuso o borroso en castellano), primero se debe de identificar el problema. Esto es, definir los objetivos de
control para los cuales desarrollaremos tal controlador. Luego, debemos de dise
nar el
sistema de control fuzzy. Para ello podemos usar el sistema de control a lazo cerrado
mostrado en la figura 9.1, donde el controlador convencional del sistema esta siendo
reemplazado por un controlador fuzzy. Tal controlador posee tres partes principales:
1. El fuzzyficador (palabra derivada del ingles fuzzifier), en donde la entrada
al controlador se convierte en variables de entrada tipo fuzzy, usando para ello
funciones de membresia.
2. El conjunto de reglas fuzzy, en donde las variables fuzzy de entrada son evaluadas para generar variables fuzzy de salida. Estas u
ltimas pasan luego al defuzzyficador (palabra derivada del ingles defuzzifier).
3. El defuzzificador, el cual toma como base las variables fuzzy de salida para
generar un conjunto de valores de salida: las se
nales de control.
Las funciones de membresia poseen una forma geometrica caracterstica. Por ejemplo pueden ser de forma triangular, de forma trapezoidal, o de alguna forma arbitraria,
siempre que pueda ser descrita y evaluada mediante una funcion.
El conjunto de reglas fuzzy son las sentencias del tipo if/then que se definen
en conformidad con los objetivos de control. Tales reglas constituyen la clave del
sistema de control fuzzy, ya que ellas deciden el comportamiento del sistema para
diferentes entradas.
Con el fin de generar las se
nales de control, el defuzzyficador puede hacer uso de
varios metodos, todos relacionados con el procesamiento de las variables fuzzy para
194
Control Fuzzy
generar se
nales que se puedan implementar en tiempo real. Por ejemplo, es com
un
tomar el promedio ponderado de las variabes ya procesadas con las reglas fuzzy.
9.2.
9.2.1.
Dise
no de Sistemas de Control Fuzzy
Control Fuzzy del Manipulador Rob
otico de 1GDL
Descripci
on del Proceso
El Manipulador Robotico de 1GDL (MR1), cuyo esquema se muestra en la Fig.
9.2, se compone de un subsistema electrico y un subsistema mecanico. El subsistema
electrico comprende un servomotor DC con decodificador de posicion (encoder en
ingles) incorporado, el cual se emplea para medir la posicion angular del brazo del
manipulador en cada instante de tiempo. El servomotor posee una caja de engranajes
para reducir la velocidad en su eje de salida; de esta manera se facilita el control de
posicion del manipulador.
El subsistema mecanico consiste de un brazo accionado por el torque rotacional
generado en el eje de salida del servomotor DC (el actuador). En el extremo libre del
brazo robotico se puede acoplar un efector final, el cual puede ser una pinza para asir
objetos, una herramienta para soldar, una herramienta para pintar, etc. En nuestro
caso usaremos una pinza con dos grados de libertad: un grado para rotar la pinza y
otro para abrirla y cerrarla. Para propositos de modelado, vamos a suponer que el
efector final y su carga se pueden modelar mediante una masa mh variable. La Tabla
9.1 describe las variables y los valores de los parametros del manipulador mostrado
en la Fig. 9.2.
El sistema MR1 es del tipo SISO ya que solo posee una entrada: el voltaje de
control u aplicado a la armadura del servomotor, y una salida: la posicion angular
del brazo.
9.2 Dise
no de Sistemas de Control Fuzzy
195
m
Kw
Descripcion
Voltaje de entrada al sistema
Ganancia del amplificador
Voltaje de armadura
Resistencia de armadura
Inductancia de armadura
Corriente de armadura
Constante del torque motor
Torque motor
Torque de carga
Torque causado por pesos de la carga
Torque de entrada a los engranajes
Torque de salida de los engranajes
Inercia del motor
Inercia de los engranajes
Inercia de la carga
Constante de friccion del motor
Constante de friccion en engranajes
Constante de friccion en la carga
Masa del efector final
Masa del brazo
Longitud del brazo
Distancia al centro de masa del efector
Voltaje contra electromotriz
Constante contra electromotriz
Aceleracion de la gravedad
N o de dientes de los engranajes
Relacion de engranajes (n = N2 /N1 )
Posicion angular del motor
Posicion angular de la carga
Velocidad angular de la carga
Velocidad angular del motor
Constante de elasticidad
Valor
Unidades
V
8.5
3.5
0.004
0.0436
0.00059
0.066
0.00014
0.0124
0.0023
0.1
0.4
0.25
0.02
0.0565
9.81
N 2 > N1
18.5
m = n
0.052
H
A
N-m/A
N-m
N-m
N-m
N-m
N-m
kg-m2
kg-m2
kg-m2
N-m/rad/s
N-m/rad/s
N-m/rad/s
kg
kg
m
m
V
V/rad/s
m/s2
rad
rad
rad/s
rad/s
N-m/rad
196
Control Fuzzy
La
+
u
KA
ia
m
m
+
V
_b
OOO OOO
OO OO
N1
Tm Bm Tg1
Jm
N2 T
g2
Ra
mh
mh
OO OO
OOOO
OOO OOO
Bg
Jg
L
mb
BL
TL J
L
OOOO
d 2 m
m =
dt2
dm
m =
dt
(9.1)
m
N2
=
N1
m = n
n>1
(9.2)
donde N1 y N2 es el n
umero de dientes de los engranajes y n > 1 es la relacion entre
ellos. Para formular la ecuacion (9.2) se ha tenido en cuenta que el espacio angular
recorrido por el engranaje de menor radio es n veces mayor que el espacio recorrido
por el engranaje de radio mayor. Por otra parte, el principio de la conservacion de la
energa establece que el trabajo realizado por el engranaje de la izquierda debe ser
igual al trabajo realizado por el engranaje de la derecha, es decir:
Tg2 = Tg1 m = Tg1 n;
Tg2 = nTg1
(9.3)
(9.4)
9.2 Dise
no de Sistemas de Control Fuzzy
197
Fig. 9.3):
TL = JL + BL + L
L
L = mb g sen + mh g (L + rh )sen = Q sen
2
L
Q = mb g + mh g (L + rh )
2
(9.5)
(9.6)
rh
_L
2
mhg
_L
mb g
(9.7)
donde Jo es el momento de inercia de m alrededor del eje de rotacion 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 relacion a un eje
perpendicular que pasa por su C.M. es [1]:
Jbo =
1
mb L2
12
(9.8)
198
Control Fuzzy
(9.9)
Del mismo modo, asumiendo que la masa mh del efector esta concentrada en su C.M.,
entonces:
Jh = Jho + mh (L + rh )2
(9.10)
donde Jho es el momento de inercia del efector con relacion a un eje de rotacion
que pasa por su C.M. Si consideramos por ejemplo, sin perder generalidad, que el
efector es una masa esferica de radio rh , su momento de inercia alrededor de un eje
de rotacion que coincide con su diametro [1] es:
2
Jho = mh rh2
5
(9.11)
(9.12)
donde:
Jeq = n2 Jm + Jg + JL
Beq = n2 Bm + Bg + BL
dia
+ Vb
dt
(9.13)
(9.14)
(9.15)
9.2 Dise
no de Sistemas de Control Fuzzy
199
Conversi
on de Energa El
ectrica en Mec
anica
Sabemos que el torque motor Tm (energa mecanica) es proporcional a la corriente
de armadura ia (energa electrica):
Tm = K m i a
(9.16)
(9.17)
ia
dt
La
La
La
(9.18)
(9.19)
Ecuaci
on de Estado del Sistema MR1 con La 6= 0
Las ecuaciones (9.18) y (9.19) describen el modelo no lineal del sistema de tercer
orden. Eligiendo en dichas ecuaciones como variables de estado: x1 = (posicion
angular), x2 = (velocidad angular) y x3 = ia (corriente de armadura), se obtiene:
x 1 = x2
Beq
Q
nKm
senx1
x2 +
x3
Jeq
Jeq
Jeq
nKb
Ra
KA
=
x2
x3 +
u
La
La
La
x 2 =
x 3
(9.20)
nKb
KA
u
x2
Ra
Ra
(9.21)
a2 =
Beq Ra + n2 Km Kb
Jeq Ra
(9.22)
b=
nKm KA
Jeq Ra
200
Control Fuzzy
Dise
no del Controlador Fuzzy
Un sistema de control de posicion angular convencional tradicionalmente emplea
un controlador PD para controlar la posicion del manipulador MR1. Por ello, el
controlador fuzzy empleado es del tipo PD, el cual se logra haciendo que sus entradas
sean el error e(t) y la derivada del error de(t)/dt, y que su salida sea la se
nal de
control u(t).
En este ejemplo empleamos funciones de membresia del tipo triangular para las
entradas y funciones singletons (o u
nicas) para la salida. El procedimiento de fuzzyficacion emplea el metodo de descomposicion mnima de las funciones de membresia,
mientras que el procedimiento de defuzzification emplea el metodo del centroide (ponderacion de las variables promediadas para obtener un valor.
La figura 9.4 muestra las funciones de membresia para el controlador fuzzy tipo
PD, mientras que la tabla 9.2 presenta el conjunto de reglas del controlador en la
forma de una matriz de memoria asociativa fuzzy (en ingles: FAM: Fuzzy Asociative Memory matrix). En dicha matriz, las letras tienen el siguiente significado:
NL: Negative Large (negativo grande), NM: Negative Medium (negativo medio),
NS: Negative Small (negativo peque
no), ZE: zero (cero), PS: Positive Small
(positivo peque
no), PM: Positive Medium (positivo medio), PL: Positive Large
(positivo grande).
Notar que en las funciones de membresia estamos usando los parametros de escalamiento p para el error, f para la derivada del error y uu para la salida. Estos
parametros nos van a permitir sintonizar en tiempo real el controlador difuso para
cumplir el objetivo de control. Debemos anotar que los rangos de e(t) y de(t)/dt son
solo estimaciones. Para el caso de la salida u(t), se debe tener en cuenta que el rango
de salida de 2.5 V a + 2.5 V se convierten usando LabVIEW al rango de salida de
0 a + 5 V, que corresponden a los valores maximo y mnimo que puede soportar el
PIC que estamos usando para generar la se
nal PWM (Pulse Width Modulation)
que requiere el amplificador con configuracion H.
El Proceso de Fuzzyfication
El proceso de fuzzyficacion emplea basicamente la informacion de la figura 9.4. Por
consiguiente, primero definimos los rangos de las funciones de membresia del error,
de la derivada del error y de la salida (tablas 9.3, 9.4 y 9.5), donde las abreviaturas en
min
usculas min, nom y max significan mnimo, nominal y maximo respectivamente.
El valor nominal siempre se sit
ua entre los valores mnimo y maximo de la funcion.
Cabe anotar que esta nomenclatura tambien se emplea en el programa de simulacion
del sistema de control fuzzy.
Para explicar el procedimiento de fuzzyficacion, tomemos como ejemplo los dos
primeros tramos de la funcion de membresia del error e(t), correspondiente a la
funcion NL(t). Podemos observar que para el rango NLmin e(t) NLnom, la
funcion de membresia correspondiente toma el valor NL = 1, mientras que para el
rango NLnom e(t) NLmax, la funcion de membresia correspondiente toma el
valor generico:
e(t) + 0.3p
NL(t) =
0.7p
9.2 Dise
no de Sistemas de Control Fuzzy
201
Fig. 9.4: Funciones de membresia para las entradas (error e(t) y de(t)/dt) y para la
salida u(t).
202
Control Fuzzy
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
NLnom = - 1.0p
NLmax = - 0.3p
NMmin = - 1.0p
NMnom = - 0.3p
NMmax = - 0.1p
NSmin = - 0.3p
NSnom = - 0.1p
NSmax = + 0.0p
ZEmin = - 0.1p
ZEnom = + 0.0p
ZEmax = + 0.1p
PSmin = + 0.0p
PSnom = + 0.1p
PSmax = + 0.3p
PMmin = + 0.1p
PMnom = + 0.3p
PMmax = + 1.0p
PLmin = + 0.3p
PLnom = + 1.0p
PLmax = + 1.2p
9.2 Dise
no de Sistemas de Control Fuzzy
203
Tabla 9.4: Rango de las funciones de membresia para la derivada del error de(t)/dt.
DNLmin = - 6.0f
DNLnom = - 5.0f
DNLmax = - 2.0f
DNMmin = - 5.0f
DNMnom = - 2.0f
DNMmax = - 1.0f
DNSmin = - 2.0f
DNSnom = - 1.0f
DNSmax = + 0.0f
DZEmin = - 1.0f
DZEnom = + 0.0f
DZEmax = + 1.0f
DPSmin = + 0.0f
DPSnom = + 1.0f
DPSmax = + 2.0f
DPMmin = + 1.0f
DPMnom = + 2.0f
DPMmax = + 5.0f
DPLmin = + 2.0f
DPLnom = + 5.0f
DPLmax = + 6.0f
UNL = - 0.6uu
UNM = - 0.4uu
UNS = - 0.2uu
UZE = 0uu
UPS = + 0.2uu
UPM = + 0.4uu
UPL = + 0.6uu
UPX = + 0.7uu
204
Control Fuzzy
1
0.8
0.6
0.4
0.2
0
3
Tiempo en segundos
1.4
1.2
1
0.8
0.6
0.4
0.2
0
Fig. 9.5: Posicion angular controlada en la simulacion del sistema de control fuzzy
del brazo robotico de 1GDL, para una se
nal de referencia fija.
% fuzzyposition.m SIMULACION DEL SISTEMA DE CONTROL DE POSICION FUZZY
clear all; close all; clc;
% PARAMETROS DEL PROCESO
Ra=3.5; Km=0.0436; Kb=Km; KA=8.5; mb=0.4; g=9.81;
L=0.25; mh=0.1; rh=0.02; n=18.5;
Jm=0.00059; Jg=0.066; Bg=0.0124; Bm=0.00014; BL=0.0023;
Jb=mb*L^2/3; Jho=2*mh*rh^2/5; Jh=Jho+mh*(L+rh)^2; JL=Jh+Jb;
Jeq = n^2*Jm + Jg + JL; Beq = n^2*Bm + Bg + BL;
Q = mb*g*L/2 + mh*g*(L+rh);
a1 = Q/Jeq; a2 = (Beq*Ra+n^2*Km*Kb)/(Jeq*Ra); b = n*Km*KA/(Jeq*Ra);
T = 0.001; % PERIODO DE MUESTREO
9.2 Dise
no de Sistemas de Control Fuzzy
% RANGOS DE LAS FUNCIONES DE MEMEBRESIA PARA EL ERROR e
p=1;
NLmin=-1.2*p; NLnom=-1.0*p; NLmax=-0.3*p;
NMmin=-1.0*p; NMnom=-0.3*p; NMmax=-0.1*p;
NSmin=-0.3*p; NSnom=-0.1*p; NSmax=+0.0*p;
ZEmin=-0.1*p; ZEnom=+0.0*p; ZEmax=+0.1*p;
PSmin=+0.0*p; PSnom=+0.1*p; PSmax=+0.3*p;
PMmin=+0.1*p; PMnom=+0.3*p; PMmax=+1.0*p;
PLmin=+0.3*p; PLnom=+1.0*p; PLmax=+1.2*p;
% RANGOS DE LAS FUNCIONES DE MEMEBRESIA PARA LA DERIVADA DEL ERROR de
f=0.7;
DNLmin=-6.0*f; DNLnom=-5.0*f; DNLmax=-2.0*f;
DNMmin=-5.0*f; DNMnom=-2.0*f; DNMmax=-1.0*f;
DNSmin=-2.0*f; DNSnom=-1.0*f; DNSmax=+0.0*f;
DZEmin=-1.0*f; DZEnom=+0.0*f; DZEmax=+1.0*f;
DPSmin=+0.0*f; DPSnom=+1.0*f; DPSmax=+2.0*f;
DPMmin=+1.0*f; DPMnom=+2.0*f; DPMmax=+5.0*f;
DPLmin=+2.0*f; DPLnom=+5.0*f; DPLmax=+6.0*f;
% SALIDAS (FUERZAS DE CONTROL)
ur = 5; UNX=-0.7*ur; UNL=-0.6*ur; UNM=-0.4*ur; UNS=-0.2*ur; UZE=0*ur;
UPS=0.2*ur; UPM=0.4*ur; UPL=0.6*ur; UPX=0.7*ur;
% CONDICIONES INICIALES
ep = 0; x1 = 0; x2 = 0; I = 0; D = 0;
% ******** LAZO DEL SISTEMA DE CONTROL FUZZY *********
Mm = 12000; A = 0.5;
for k = 1:Mm
% SE~NAL DE REFERENCIA
if(k >= 0 && k <= Mm/4)
r = A;
elseif(k >= Mm/4 && k <= Mm/2)
r = 0.5*A;
elseif(k >= Mm/2 && k <= 3*Mm/4)
r = 1*A;
elseif(k >= 3*Mm/4 && k <= Mm)
r = 0.8*A;
end
R(k)=r; % SET POINT
% CALCULO DE LA SE~NAL DE CONTROL u(t)
e = r - x1; Y(k) = x1; de = (e - ep)/T;
% FUZZYFICATION DE LAS FUNCIONES DE MEMEBRESIA DEL ERROR e
NL = 0; if(
e >= NLmin && e <= NLnom), NL = +1;
elseif(e >= NLnom && e <= NLmax), NL = -(e+0.3*p)/(0.7*p); end
NM = 0; if(e >= NMmin && e <= NMnom), NM = +(e+1.0*p)/(0.7*p);
elseif(e >= NMnom && e <= NMmax), NM = -(e+0.1*p)/(0.2*p); end
NS = 0; if(e >= NSmin && e <= NSnom), NS = +(e+0.3*p)/(0.2*p);
elseif(e >= NSnom && e <= NSmax), NS = -(e-0.0)/(0.1*p); end
ZE = 0; if(e >= ZEmin && e <= ZEnom), ZE = +(e+0.1*p)/(0.1*p);
elseif(e >= ZEnom && e <= ZEmax), ZE = -(e-0.1*p)/(0.1*p); end
PS = 0; if(e >= PSmin && e <= PSnom), PS = +(e-0.0)/(0.1*p);
205
206
Control Fuzzy
...
...
...
...
...
9.2 Dise
no de Sistemas de Control Fuzzy
ww= w11 + w12 + w13 + w14 + w15 + w16 + w17 + ...
w21 + w22 + w23 + w24 + w25 + w26 + w27 + ...
w31 + w32 + w33 + w34 + w35 + w36 + w37 + ...
w41 + w42 + w43 + w44 + w45 + w46 + w47 + ...
w51 + w52 + w53 + w54 + w55 + w56 + w57 + ...
w61 + w62 + w63 + w64 + w65 + w66 + w67 + ...
w71 + w72 + w73 + w74 + w75 + w76 + w77; WW(k) = ww;
u = u1/(ww+0.0001);
U(k) = u; U1(k) = u1;
% MODELO DE SEGUNDO ORDEN DEL PROCESO (DISCRETIZACION DIRECTA)
x1 = x1 + T*x2;
x2 = x2 + T*( -a1*x1 - a2*x2 +b*u); ep = e;
end
% ***************** FIN DEL LAZO **********************
% GRAFICOS
ejex = linspace(0,Mm*T,Mm); subplot(2,1,1); plot(ejex,R,ejex,Y); grid
ylabel(POSICI
ON ([rad]); subplot(2,1,2); plot(ejex,U); grid;
ylabel(CONTROL u [V]); xlabel(TIEMPO
[s]);
print -f -deps fuzzyposition
207
Ap
endice A
Sistemas Continuos
Este Captulo presenta la matematica requerida en los Captulos siguientes. Los topicos se desarrollan principalmente en el dominio continuo. El topico discretizacion directa
se desarrolla en el dominio discreto. Los numerosos ejemplos presentados se resuelven en
unos casos analticamente, en otros con ayuda del software MATLAB y en la mayora de
los casos empleando ambos metodos.
Los temas a tratar son: transformada de Laplace, algebra de bloques, matrices y
determinantes, variables de estado, discretizacion directa, sistemas con tiempo muerto,
linealizacion de sistemas continuos y estabilidad.
A.1.
A.1.1.
Definici
on y Ejemplos
donde el n
umero complejo s = + j es la variable Laplaciana. La region de s en la
cual dicha integral converge se denomina Regi
on de Convergencia.
Un sistema representado por la funcion g(t) se denomina causal cuando su salida
y(t) depende solo de la entrada presente u(t) y de las entradas pasadas u(tt i ), donde
t es la variable dependiente tiempo continuo y los ti para i = 0, . . . , n son n
umeros
reales positivo que indican retardos de tiempo. La gran mayora de los sistemas reales
son causales.
La Fig. A.1(a) muestra un tanque con agua calentada mediante vapor. La curva de
reaccion del sistema temperatura y(t) mostrado en la Fig. A.1(b) se obtiene variando
la abertura u(t) de la valvula de vapor. Este sistema es causal porque, por ejemplo,
la salida y en el tiempo t3 , depende de la entrada u en t3 (la actual) y de las entradas
pasadas en t2 , t1 y t0 .
La transformada unilateral de Laplace es u
til para representar en forma algebraica
sistemas causales descritos por ecuaciones diferenciales lineales invariantes con el
tiempo. La Tabla A.1 muestra la transformada unilateral de Laplace de algunas
funciones. Varias de sus propiedades se ilustran en la Tabla A.2.
210
Sistemas Continuos
u
u
Agua
t
y
Vapor
t0
t1
(a)
t2
t3
(b)
Ejemplo A.1
Hallar la transformada de Laplace de la funcion escalon unitario (t) definida como:
1 si t 0
(t) =
0 si t < 0
Soluci
on: Usando la definicion dada en (A.1) con g(t) = (t):
st
Z
Z
e e0
1
e
st
st
G(s) = L[(t)] =
=
(t)e dt =
=
(1)e dt =
s 0
s
s
0
0
Ejemplo A.2
Hallar la transformada de Laplace de la funcion escalon unitario retardado (t T )
donde T es real y positivo. La funcion (t T ) se define como:
1 si t T
(t T ) =
0 si t < T
Soluci
on: La transformada de Laplace de (t T ) se halla empleando la propiedad
(5) (desplazamiento en tiempo) de la Tabla A.2 con t0 = T , sabiendo que G(s) = 1/s
por el ejemplo anterior. Esto es:
L[(t T )] = eT s G(s) = eT s
1
eT s
=
s
s
Ejemplo A.3
Hallar la transformada de Laplace de la funcion exponencial eat , donde a y t son
reales y positivos.
Soluci
on: Usando la definicion dada en (A.1):
#
"
Z
(s+a)t
1
e
=
L[eat ] =
eat est dt =
s+a
s+a
0
0
211
Ejemplo A.4
Hallar la transformada de Laplace de las funciones impulso (t) y (t T ) empleando
la siguiente propiedad fundamental:
Z
g(t)(t T )dt = g(T )
(A.2)
0
donde g(t) es una funcion arbitraria pero continua en t = T . Se sabe ademas que la
funcion impulso unitario o delta de Dirac (t) y delta de Dirac retardada (t T ) se
definen como:
1 si t = T
1 si t = 0
(A.3)
(t T ) =
(t) =
0 si t 6= T
0 si t 6= 0
Soluci
on: Aplicando la propiedad fundamental (A.2) con g(t) = est y T = 0 se
obtiene:
Z
est (t T )dt = esT |T =0 = 1
L[(t)] =
0
donde a es una constante real y positiva, (t) es la funcion escalon unitario definida
en el ejemplo A.1 y g(t) es una funcion arbitraria dependiente del tiempo.
Soluci
on: El programa laplace1.m resuelve el problema.
% laplace1.m TRANSFORMADA SIMB
OLICA DE LAPLACE
clear all; close all; clc;
syms a t s;
G1 =laplace(a,t,s);
% G1 = a/s
G2 = laplace(exp(-a*t),t,s);
% G2 = 1/(s+a)
G3 = laplace(diff(sym(g(t)))); % G3 = s*laplace(g(t),t,s)-g(0)
G4 = laplace(a*sin(t)*cos(t)^2,t,s); pretty(G4)
% G4 = a*(s^2 + 3)/((s^2 + 9)(s^2+1))
g5 = int(t^2+cos(2*t)); G5 = laplace(g5); % G5 =2/s^4 + 1/(s^2+4)
212
A.1.2.
Sistemas Continuos
(A.4)
Ejemplo A.6
Usando matematica simbolica, hallar la transformada inversa de Laplace de las siguientes funciones:
G1 (s) =
s+3
s2
G2 (s) =
Aw
(s a2 ) + w2
Ejemplo A.7
La figura A.2 muestra un movil de masa m = 1000 kg desplazandose con una velocidad
v gracias a la accion de la fuerza u producida por su motor. Si se desprecia la inercia
de las ruedas y se asume que la fuerza de friccion bv es lo u
nico que se opone al
movimiento, donde b= 50 Ns/m es el coeficiente de friccion, entonces la dinamica
del sistema puede modelarse como:
mv(t)
+ bv(t) = u(t)
v(t)
dv(t)
dt
friccion
bv
v velocidad
m
V (s) =
213
v(0)
1/m
+
s(s + b/m) s + b/m
donde hemos usado el hecho de que U (s) = 1s debido a que la entrada u es del tipo
escalon. La salida v(t) se determina usando la Tabla A.1. Para el primer termino de
V (s) empleamos la formula (14) con n = 1, mientras que para el segundo termino
empleamos la formula (3). Por consiguiente:
v(t) = L1 [V (s)] =
b
b
1
(1 e m t ) + v(0)e m t
b
b
1
[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, determinar tales valores para la velocidad del movil del problema anterior.
Soluci
on: El valor inicial de v(t) se determina de:
lm v(t) = lm sV (s) = v(0)
t0
A.1.3.
s0
1
b
La Funci
on de Transferencia
214
Sistemas Continuos
Soluci
on: La FT del sistema se obtiene aplicando la propiedad de derivacion (2) de
la Tabla A.2), con v(0) = 0:
1/m
V (s)
=
U (s)
s + b/m
Observar que resulta una FT de primer orden. Como la entrada es un escalon unitario,
entonces U (s) = 1s . La salida se determina de:
v(t) = L
[V (s)] = L
1/m
s(s + b/m)
Ejemplo A.10
Empleando las propiedades del valor inicial y del valor final de la Tabla A.2, determinar tales valores para la velocidad del movil del problema anterior.
Soluci
on: El valor inicial se determina de:
lm v(t) = lm sV (s) = 0
s
t0
A.1.4.
s0
1
b
Fracciones Parciales
Cs + D
+ bs + c)r
(as2
r = 1, 2., 3, . . .
R(s)
A(s)
resulta propia.
215
No
G(s)
g(t)
(1)
(t)
(2)
1
s
(t)
(3)
1
s+a
eat
(4)
s2 + 2
sen t
(5)
s
s2 + 2
cos t
(6)
s cos sen
s2 + 2
cos(t + )
(7)
(s+a)2 + 2
eat sent
(8)
(s+a)
(s+a)2 + 2
eat cost
(9)
(s+a)cossen
(s+a)2 + 2
eat cos(t + )
(10)
1
s[(s+b)2 +a2 ]
(11)
n!
;
sn+1
(12)
1
(s+a)n+1
tn
n!
(13)
s
(s+a)n+1
(14)
1
s(s+a)n+1
tn+1
(n+1)! (1
h P
1 n
=0
(15)
s2 (s+a)2
(16)
1
(s+a)(s+b)
(17)
s
(s+a)(s+b)
(18)
1
s(s+a)(s+b)
(19)
s2 (s+a)(s+b)
ab
ba
(20)
1
(s+a)(s+b)(s+c)
eat
(ba)(ca)
ebt
(ab)(cb)
ect
(ac)(bc)
(21)
s
(s+a)(s+b)(s+c)
aeat
(ab)(ca)
bebt
(ba)(cb)
cect
(ca)(bc)
n! = n(n 1) . . .
tn
eat
at at
n )e
i
(at)
eat
!
an+1
[at2+(2+at)eat ]
a3
t
ab
1
a2 b
1
ab2
1
ba
1 at
e
a2
1 bt
e
b2
216
Sistemas Continuos
Transformadas unilaterales de Laplace (continuacion)
No
G(s)
g(t)
(22)
s2
(s+a)(s+b)(s+c)
a2 eat
(ba)(ca)
(23)
1
s(s+a)(s+b)(s+c)
1
abc
(24)
1
(s+a)(s+b)2
(25)
s
(s+a)(s+b)2
(26)
s2
(s+a)(s+b)2
(27)
1
s(s+a)(s+b)2
(28)
1
s[(s+b)2 +a2 ]
(29)
2
n
2
s2 +2n s+n
< 1;
(30)
2
sn
2
s2 +2n s+n
< 1; n2 et sen (d t )
(31)
2
n
2)
s(s2 +2n s+n
< 1; 1
(32)
2
n
2)
s(s2 +2n s+n
b2 ebt
(ab)(cb)
c2 ect
(ac)(bc)
i
bceat
caebt
abect
1 (ba)(ca)
(ab)(cb)
(ac)(bc)
at
1
e
[1 + (b a)t]ebt
(ba)2
1
aeat + [a + (b a)bt]ebt
(ba)2
2 at
1
a e
[2ab b2 + (b a)b2 t]ebt
(ba)2
h
i
2aba2 +ab(ba)t bt
1
b2 eat
1
+
e
2
2
2
ab
(ba)
(ba)
1
bt (cos at + b senat)
1
e
2
2
a
a +b
2
n
d
et sen d t
n
d
et sen (d t + )
t/T1 T
> 1; 1 T1 e
p
d = n 1 2
2e
t/T2
T1 T2
1
n
p
2 1)
D
C
+
s+1 s1
217
Descripcion
Propiedad
(1)
Linealidad
(2)
Derivacion
(3)
Derivacion de orden n
= a1 G1 (s) + a2 G2 (s)
h
i
L dg(t)
= sG(s) g(0)
h ndt i
L d dtg(t)
= sn G(s) sn1 g(0) sn2 dg(0)
n
dt
n2
n1
s dgdtn2(0) dgdtn1(0)
i
hR
t
L 0 g(t)dt = G(s)
s
(4)
Integral
(5)
Desplazamiento en tiempo
(6)
Desplazamiento en frecuencia
(7)
Escalamiento
L[g(at)] = a1 G( as )
(8)
Valor inicial
(9)
Valor final
(10)
Multiplicacion por tn
(11)
Division entre t
s = 1 como sigue:
2
10
(7s 2s + 1)(s + 1) (Cs + D)(s + 1) (Es + F )(s + 1)
+
H=
=
2
2
2
2
2
(s + 2s + 4) (s + 1)
(s + 2s + 4)
s + 2s + 4
9
s=1
Comando para Expandir Fracciones Racionales
El comando [r,p,k] = residue(B,A) permite expandir una fraccion racional en la
forma siguiente:
B(s)
r1
r2
rn
=
+
+ +
+ k(s)
A(s)
s p1 s p2
s pn
(A.5)
donde p1 , . . . , pn son los n polos que no se repiten, r1 , . . . , rn son los residuos y k(s)
comprime los terminos directos. Los coeficientes de los polinomios A(s) y B(s) se
introducen como vectores. Por ejemplo, A(s) = s4 + 5s2 s 3 produce el vector:
A = [1 0 5 1 3]. Si B(s)
A(s) posee polos repetidos, por ejemplo, si su polo pj es de
multiplicidad m, entonces la expansion incluye terminos de la forma:
rj+1
rj+m1
rj
+
+ +
s pj
(s pj )2
(s pj )m
donde rj , . . . , rj+m1 son los correspondientes residuos. Si en (A.5) el grado de B(s)
es menor que el de A(s), entonces k(s) = 0. Si son iguales, k(s) es una constante.
Todos los polos y los residuos estan contenidos en los vectores p y r respectivamente.
218
Sistemas Continuos
Ejemplo A.12
El programa fracp1.m descompone en fracciones parciales las expresiones:
B(s)
s2 16
= 2
A(s)
s 1
N (s)
s+6
s+6
=
= 2
M (s)
(s 2)2
s 4s + 4
Por consiguiente:
B(s)
7.5
7.5
=
+
+1
A(s)
s+1 s1
N (s)
1
8
=
+
M (s)
s 2 (s 2)2
Ejemplo A.13
Hallar la transformada inversa de Laplace de:
G(s) =
B(s)
s4 + 2s3 + 3s2 + 2s + 1
= 4
A(s)
s + 4s3 + 7s2 + 6s + 2
Soluci
on: 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
0.5i
2
n2
0.5i
1
1
+
=
=
s+1i s+1+i
2 (s2 + 2s + 2)
2 s2 + 2n s + n2
1
2
2
1
+
+
2
2 (s + 2s + 2) s + 1 (s + 1)2
Empleando los pares (1), (29), (3) y (12) de la Tabla A.1, con n = 1, se obtiene:
n2 t
n2
1
1
L [1] = (t)
L
=
e sen d t
s2 + 2n s + n2
d
1
1
= et
L1
= tet
L1
s+1
(s + 1)2
donde, d = 1 y = 1, se calcularon empleando las formulas al final de la continuacion
de la Tabla A.1. Por consiguiente, juntando los resultados anteriores se obtiene:
g(t) = (t) + et sen t 2et + tet
219
% fracp2.m DESCOMPOSICI
ON EN FRACCIONES PARCIALES
clear all; close all; clc;
B = [1,2,3,2,1]; % POLINOMIO B(s)
A = [1,4,7,6,2]; % POLINOMIO A(s)
[r,p,k] = residue(B,A);
% r = [-0.5i;0.5i;-2;1]; p = [-1+i;-1-i;-1;-1]; k = 1
Ejemplo A.14
Resolver la siguiente ecuacion diferencial:
d2 y(t)
dy(t)
+ 11
+ 24y(t) = e6t
2
dt
dt
con las condiciones iniciales nulas:
dy(0)
dt
= 0, y(0) = 0.
Soluci
on: Empleamos la propiedad de derivacion de la Tabla A.2:
d2 y(t)
dy(t)
+ 24y(t) = L e6t
L
+ 11
2
dt
dt
dy(0)
1
2
s Y (s) sy(0)
+ 11(sY (s) y(0)) + 24Y (s) =
dt
s+6
Y (s) =
1
3/80
1/60
1/48
=
+
+
(s + 3)(s + 8)(s + 6)
s+3 s+8 s+6
y(t) =
A.1.5.
3 3t
1
1
e
+ e8t + e6t
80
60
48
Algebra
de Bloques
La Fig. A.3 muestra las transformaciones validas entre bloques y sus correspondientes diagramas de flujo de se
nales. Cabe anotar que cada bloque representa una
FT. En un diagrama de flujo de se
nales, cada bloque se transforma en una linea con
direccion y ganancia, mientras que cada punto de suma o de derivacion se transforma
en una se
nal, la cual se representa por un crculo.
Por ejemplo, en el diagrama de bloques mostrado en la Fig. A.3(f), las se
nales r,
e e y, se convierten en crculos en su diagrama de flujo de se
nales, mientras que las
ganancias G y H pasan a ser las lneas que conectan los bloques. Notar que estas
lneas poseen direccion y ganancia. La FT entre x1 y x2 , mostrada en su diagrama
equivalente, se deriva como sigue:
x2 (s) = G(s)e(s) = G(s)(x1 (s) H(s))
G(s)
x1 (s)
=
x2 (s)
1 GH(s)
220
Sistemas Continuos
u
u
G1
G2
G1 e G 2
G1 G2
G 1G 2
(a)
r
r 1
y
e G u
1
G
r
r G u 1
y
r
G
G
e
y
G
(e)
1/G
(f)
y
G
1 GH
r 1 e
y
G
H
y
1/G
r 1 e G u
(c)
1/G
y
u
r G u
1
G
r
(d)
r
r
1/G
r
(b)
G
u
G e
e
y
G
1 GH
A.2.
Matrices y Determinantes
a11 . . . a1m
..
A = [aij ] = ...
.
an1 . . . anm
i = 1, . . . , n;
j = 1, . . . , m
x1 (q)
x(q) = ...
xn (q)
y(q) =
y1 (q) yn (q)
221
x1 (q) xn (q)
y1 (q)
yT (q) = ...
yn (q)
x(q) =
x1 (q) xn (q)
T
y1 (q)
y(q) = ...
yn (q)
T
donde el superndice T indica la operacion transpuesta, la cual transforma las columnas en filas y viceversa.
A.2.1.
Una matriz A con todos sus elementos aij iguales a cero se denomina matriz cero
o nula y se denota como A = 0. Dos matrices A = [aij ] y B = [bij ] son iguales si son
del mismo orden y ademas [aij ] = [bij ].
La suma de dos matrices, denotada como C = A B, solo es posible si A y B
son del mismo orden:
C = [cij ] = A B = [aij bij ]
La multiplicacion de dos matrices, expresada como C = AB, solo es posible si el
n
umero de columnas de A es igual al n
umero de filas de B. Si A es de orden n m
y B es de orden m r, entonces C debe ser de orden n r. Los elementos de C se
determinan como sigue:
cij =
m
X
aik bkj ;
i = 1, 2, . . . , n; j = 1, 2, . . . , m
k=1
Por ejemplo, la siguiente multiplicacion es valida: A23 B31 = C21 , tal como se
observa a continuacion.
b11
a11 a12 a13
a11 b11 + a12 b21 + a13 b31
c11
b21 =
=
a21 a22 a23
a21 b11 + a22 b21 + a23 b31
c21
b31
Cuando AB = BA, se dice que A y B son matrices que conmutan. Sin embargo, en
general, la multiplicacion no es conmutativa; es decir:
AB 6= BA
222
Sistemas Continuos
Ejemplo A.15
Determinar si las matrices A
1
A= 0
2
y B conmutan o no.
1 2 3
2 3
4 2
B = 0 4 2
2 6 9
6 9
Soluci
on: Dado C = AB y D = BA, basta demostrar que C 6= D, tal como se
ilustra en el siguiente programa.
% conmat.m CONMUTACI
ON DE MATRICES
clear all; close all; clc;
A = [1 2 3;0 4 -2;2 6 -9]; B = [-1 5 0;1 4 -3;0 -6 -2];
C = A*B; % C = [1 -5 -12;4 28 -8;4 88 0]
D = B*A; % D = [-1 18 -13;-5 0 22;-4 -36 30]
% A Y B NO SON CONMUTATIVAS PORQUE C ES DIFERENTE DE D
(AB)T = BT AT
Un n
umero complejo se designa como s = + j, donde j = 1 es la unidad
de los n
umeros imaginarios y tanto como son n
umeros reales. La operacion
conjugada, denotada como A , toma la conjugada a todos los elementos complejos
de A. Para la operacion conjugada se cumple:
(A ) = A;
(A + B)T = AT + BT ;
(A + B) = A + B ;
(AB) = A B
(A + B)H = AH + BH ;
(AB)H = BH AH
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
Dada la matriz real A y
1
A= 0
2
2 3
1j
3
3+j
4 2
4
2 + j
B= j
6 9
2j 6+j
9
223
Soluci
on:
1 0
2
6
A = A
A H = AT = 2 4
3 2 9
1+j
3
3j
1j
j
2j
4
2 j
4
6+j
B = j
BT = 3
2+j 6j
9
3 + j 2 + j 9
1+j
j
2+j
H
T
3
4
6j
B = (B ) =
3 j 2 j 9
A.2.2.
Tipos de Matrices
d11 0 0 . . . 0
0 d22 0 . . . 0
D = [dii ] = .
..
..
..
.
.
.
.
.
0
0 0 . . . dnn
es la inversa de A si:
A es singular si:
AT = A
(A.6)
A = A
A
(A.7)
= (A ) = (A ) = A
= A
(A.8)
(A.9)
AA
AA
AA = A A = I, entonces: A = A
+1
= A A = I, entonces: A
(A.10)
(A.11)
=A A
(A.12)
= A;
(A.13)
A = 0;
A
=A
es un entero positivo
es un entero positivo
A=I
det(A) = 0
(A.14)
(A.15)
(A.16)
224
Sistemas Continuos
Una matriz compleja cuadrada A puede ser escrita como la suma de una matriz
hermitiana B = 12 (A + AH ) mas otra matriz antihermitiana C = 12 (A AH ). Es
decir:
1
1
A = B + C = (A + AH ) + (A AH )
2
2
Ejemplo A.17
Demostrar que B = 12 (A + AH ) y C = 12 (A AH ) son matrices hermitiana y
antihermitiana respectivamente, donde A es la siguiente matriz compleja:
1+j 2j
A=
6+j 5j
Soluci
on:
1j 6j
A = (A ) =
2+j 5+j
1
1
4j
H
BH = (B )T = B
B = (A + A ) =
4+j
5
2
1
j 2
H
C = (A A ) =
CH = (C )T = C
2 j
2
H
A.2.3.
Determinantes
El determinante de la matriz A = [aij ] de orden 2 es:
det
a11 a12
a21 a22
(A.17)
n
X
j=1
a11 a12 a13
a
a
22
23
1+1
det a21 a22 a23 = (1) a11 det
+
a32 a33
a31 a32 a33
a21 a22
a21 a23
1+3
1+2
(A.18)
+ (1) a13 det
(1) a12 det
a31 a32
a31 a33
Con relacion a dos matrices cuadradas A y B de orden n:
225
Matriz inversa
Si A y B son dos matrices no singulares; es decir, si det(A) 6= 0 y det(B) 6= 0,
entonces:
(AB)1 = B1 A1 ;
(AT )1 = (A1 )T
((A )T )1 = ((A1 ) )T ;
det(A1 ) =
1
det(A)
a b c
A= d e f
g h i
e f
b c
b
det
det
det
h
i
h
i
e
1
d
f
a
c
a
1
det
det
det
A =
g
i
g
i
det(A)
d
d e
a b
a
det
det
det
g h
g h
d
det(A) = aei + gbf + cdh gec ahf idb
c
f
c
f
b
e
(A.19)
(A.20)
Ejemplo A.18
Comprobar simbolicamente las formulas de la inversa y del determinante de A dadas
en (A.20).
Soluci
on: Ejecutar el programa matinv.m mostrado abajo.
226
Sistemas Continuos
La Tabla A.3 muestra los comandos para ejecutar operaciones matriciales con
MATLAB.
Cantidades Complejas
Sea G = Gr + jGi un n
umero o funcion compleja donde <e[G] = Gr es su parte
real e =m[G] = Gi es su parte imaginaria. El valor absoluto o modulo o magnitud
de G se denota como |G| mientras que el angulo o argumento de G se expresa como
G. Luego, G se puede formular como:
G = <e[G] + j=m[G] = |G| G
p
|G| = (<e[G])2 + (=m[G])2
(A.21)
G = arctan
=m[G]
<e[G]
Si G es un vector o matriz compleja con elementos complejos Gij , entonces las operaciones anteriores se ejecutan elemento por elemento; es decir:
<e[G] = <e[Gij ];
G = |G| G = |Gij | Gij ;
=m[G] = =m[Gij ]
|G| = |Gij |;
G = Gij
Ejemplo A.19
Calcular en forma grafica y usando MATLAB el angulo y el modulo de:
1
2
127
1
60
135
j
G 11 = 2 135
3j
G12 = 5 127
G13 = 2 60
227
% trnot.m N
UMEROS COMPLEJOS
clear all; close all; clc;
G11 = -1-j; G12 = -3+4j; G13 = 1-sqrt(3)*j; G = [G11 G12 G13];
anguloG = angle(G)*(180/pi); % (180/pi) CONVIERTE rad A GRADOS
% anguloG = [-135 126.8699 -60]
moduloG = abs(G); % moduloG = [1.4142 5 2]; 1.4142 = sqrt(2)
Angulo
Parte real
Parte imaginaria
Traza
Matriz identidad
A+B
AB
AB
A
A
AT
AT
AH
An
det(A)
A1
|A|
A
<e[A]
=m[A]
Pn
i=1 aii
In
Codigo MATLAB
A + B
A - B
A*B
kappa*A
conj(A)
A
conj(A); A.
A
A^n
det(A)
inv(A)
A*X = B; X = A\ B
X*A = B; X = B/A
abs(A)
angle(A)
real(A)
imag(A)
trace(A)
eye(n)
Ejemplo A.20
Dada la matriz cuadrada A, calcular B.
1j 2j 3j
2 3 + 5j
A = 4j
6 j 7 j 8 + 3j
B=
228
Sistemas Continuos
% calmat.m C
ALCULO MATRICIAL COMPLEJO
clear all; close all; clc;
A = [1-j 2-j 3- j;4j -2 3+5j;6-j 7-j 8+3j]; % MATRIZ DATO
B = (conj(A)+conj(A)-0.7j*A^3)*inv(A)*A*abs(A)* ...
angle(A)*real(A)*imag(A)/((2*j+1)*trace(A)*det(A));
M = (B + B)/2; % M ES HERMITIANA
PORQUE M=M
O M-M=0
N = (B - B)/2; % N ES ANTIHERMITIANA PORQUE M=-M
O M+M=0
Ejemplo A.21
Multiplicaci
on con Partici
on de Matrices. Dos matrices Anm y Bmp (los
subndices indican las dimensiones) pueden ser particionadas como sigue:
B m 1 p1 B m 1 pp
A n 1 m1 A n 1 mm
..
..
..
..
B=
A=
;
.
.
.
.
A n n m1
A n n mm
B m m p1
B m m pp
La condicion necesaria para realizar el producto Cnp = Anm Bmp empleando particiones, 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
Empleando la regla descrita determinar
obtener C = AB.
A22 A23
AB = A32 A33
A42 A43
B22 B23
A21
A31 B32 B33
B12 B13
A41
Soluci
on: Podemos notar que para las filas de A: n = 2 + 3 + 4 = 9, mientras que
para las columnas de A: m = 2 + 3 + 1 = 6. Del mismo modo, para las filas de
B: m = 2 + 3 + 1 = 6, mientras que para las columnas de B: p = 2 + 3 = 5. Por
consiguiente, la particion es correcta. La multiplicacion ahora es directa:
A22 B22 + A23 B32 + A21 B12 A22 B23 + A23 B33 + A21 B13
C = A32 B22 + A33 B32 + A31 B12 A32 B23 + A33 B33 + A31 B13
A42 B22 + A43 B32 + A41 B12 A42 B23 + A43 B33 + A41 B13
Ejemplo A.23
Matriz Aumentada. Si los vectores x, y, v y w son de orden n, m, p y q respectivamente, obtener una sola ecuacion diferencial matricial que reemplace a las dos
ecuaciones diferenciales siguientes:
dx
= x = Ax + Bv;
dt
donde ddtx = x y
respectivamente.
dy
dt
dy
= y = Cy + Dw
dt
229
Soluci
on: Es importante notar que si x es de orden n, entonces A debe ser de
orden n n. Tambien, si v es de orden p, entonces B debe ser de orden n p, y
as sucesivamente. La ecuacion pedida se muestra a continuacion, donde 0 es la matriz
nula. Las dimensiones de los vectores y matrices se indican con subndices.
v
B 0
x
A 0
x
+
=
w
0 D
y
0 C
y
x n1 = Ann xn1 + 0nm ym1 + Bnp vp1 + 0nq wq1
y m1 = 0mn xn1 + Cmm ym1 + 0mp vp1 + Dmq wq1
A.2.4.
18
3
4
u = 28
v= 5
w= 6
29
7
5
Soluci
on: Tal conjunto de vectores es linealmente dependiente si se demuestra que
existen dos constantes y no nulas que verifiquen: u = v + w; es decir:
18
3
4
3 + 4
28 = 5 + 6 = 5 + 6
29
7
5
7 + 5
u= 2
v= 5
w= 6
3
7
5
Soluci
on: Tal conjunto de vectores es linealmente independiente si se demuestra que
no existen dos constantes y no nulas que verifiquen: u = v + w. Si suponemos
que dichas constantes existen, entonces:
4
3 + 4
1
3
2 = 5 + 6 = 5 + 6
5
7 + 5
3
7
El sistema de tres ecuaciones y dos incognitas resultante es incompatible y sin solucion. Entonces, el conjunto de vectores u, v y w es linealmente independiente.
230
Sistemas Continuos
1 2 3
1 3 2
A= 3 5 7
B= 3 8 9
4 6 5
1 2 5
Soluci
on: La matriz A de orden n = 3 posee rango completo (r = n = 3) por dos
razones. La primera es que ning
un vector fila o vector columna es una combinacion
lineal de las restantes. La segunda razon es que A es no singular.
La matriz B de orden n = 3 posee rango r = 2, porque los dos primeros vectores
filas no son linealmente dependientes, pero el tercer vector fila si lo es, debido a que
es igual al segundo vector fila menos el doble del primer vector fila. Por otro lado, se
puede comprobar que det(B) = 0, lo que implica que B no posee rango completo por
ser singular; es decir: rango(B) < n. Los determinantes de los mnimos cuadrados de
B son:
1 3 2
1 3
det([1]) = 1 6= 0
det
= 1 6= 0
det 3 8 9 = 0
3 8
1 2 5
rango(AB) rango(B)
rango(AB) = rango(A),
si A y B son no singulares
rango(AB) = rango(B),
si A y B son no singulares
231
Ejemplo A.27
Sean las matrices Anm , Bmp y Cmm . Demostrar numericamente que:
rango(A) mn(n, m)
rango(A) = rango(AH )
rango(AB) min(rango(A), rango(B))
rango(CB) = rango(B)
Soluci
on: El siguiente programa presenta las demostraciones pedidas.
% proprango.m PROPIEDADES DEL RANGO
clear all
A=[-1+j 3-5j -5+6j -2+5j;8-9j 4-2j -1+j -4;-2+3j 4-6j -2-5j 7j];
B=[1+j -3-5j;8+9j -4+2j;-2+3j -4-6j;-5-6j -2+5j];
C=[-1+j -2+j 3-j -5-7j;4-2j -1+j -4 2;4-6j -2-5j 7j -j;7j -1 9j 4j];
% DIMENSIONES DE A, B Y C SON (3,4), (2,4) Y (4,4) RESPECTIVAMENTE
rA=rank(A); rAH=rank(A); rB=rank(B); rAB = rank(A*B); rCB=rank(C*B);
% rA=3=min(3,4); rAH=rA; rB=2; rAB=2=min(rA,rB); rCB=2=rB;
Eigenvalores y Eigenvectores
Un eigenvalor de una matriz de orden n, conocido tambien como valor propio,
modo, eigenvalue, o raz caracterstica, es un escalar que permite una solucion no
trivial de la ecuacion:
Ax = x
(A.22)
Factorizando x en (A.22) obtenemos la ecuacion caracterstica de A:
det(I A) = 0
(A.23)
E = e1 en =
e11 e1n
..
..
..
.
.
.
en1 enn
e1 se
Un eigenvector normalizado se define como: b
ei = |eeii | . Por ejemplo, el vector b
calcula como:
e11
q
e1
..
b
|e1 | = e211 + + e2n1
e1 =
e1 = .
|e1 |
en1
Ejemplo A.28
232
Sistemas Continuos
= ( 1)( 3) 8 = 0
0
4 3
resultando: 1 = 1 y 2 = 5. Los eigenvectores se calculan de (A.24) para 1 y 2 :
Ae1 = 1 e1 y Ae2 = 2 e2 , obteniendose:
1
1
e11
1
e12
1
Ae1 =
=
Ae2 =
=
e2 =
e1 =
1
2
e11
2e12
1
2
donde
las soluciones e11 = 1 y e12 = 1 son arbitrarias. Dado que |e1 | = 2 y
|e2 | = 5, los eigenvectores normalizados resultan: b
e1 = e1 /|e1 | y b
e2 = e2 /|e2 |.
Ejemplo A.29
1
2j
4
3
j 5j 4 3j
0 7j 2 j
8
6j 4 9j
Soluci
on: Ejecutar el programa eig1.m.
% eig1.m C
ALCULO DE EIGENVALORES Y EIGENVECTORES
clear all; close all; clc;
A = [1 2j 4 -3;-j 5j -4 -3j;0 -7j -2 -j;8 6j -4 -9j];
[E,D]=eig(A); % E: MATRIZ DE EIGENVECTORES NORMALIZADOS
% D: MATRIZ DIAGONAL DE EIGENVALORES
Ejemplo A.30
Si los i son los eigenvalores de la matriz A de orden n, comprobar numericamente:
det(A) = 1 2 . . . n ;
i = 1, . . . , n
Soluci
on: Ver el programa eig2.m.
% eig2.m COMPRUEBA QUE det(A)=L(1)L(2)L(3)L(4)
clear all
A = [1-j
2-j 3-j
-3+8j
4j
-2
3+5j
4-2j
6-j
7-j 8+3j
3+j
2
-1
j
0];
L = eig(A); % DETERMINA LOS EIGENVALORES DE A
detA = det(A); P = L(1)*L(2)*L(3)*L(4); % SE CUMPLE QUE: det(A) = P
233
Pseudoinversas
El concepto de pseudoinversa de una matriz es la generalizacion de su inversa y
resulta u
til para encontrar una solucion en un conjunto de ecuaciones algebraicas en
donde el n
umero de variables desconocidas y el n
umero de ecuaciones linealmente
independientes no son iguales. Sea la ecuacion:
Ax = b
donde A es una matriz de orden n m y de rango n, x es un vector de orden m y b
es un vector de orden n. Se supone que n < m. La solucion de tal ecuacion esta dada
por:
xo = AID b
AID = AT (AAT )1
donde AID es la matriz pseudoinversa derecha (o mnima inversa derecha) de A que
cumple la propiedad: AAID = In .
En forma similar, sea la ecuacion: Ax = b, donde A es una matriz de orden mn
y de rango m, x es un vector de orden n y b es un vector de orden m. Se supone que
n > m. La solucion de tal ecuacion se obtiene de:
xo = AII b
Ejemplo A.32
Resolver el siguiente sistema (mas incognitas que ecuaciones):
(5 j)x1 + (2 + 3j)x2 + (3 j)x3 + (1 + 4j)x4 + (6 + j)x5 = 2 9j
4jx1 2x2 + (3 + 5j)x3 7jx4 + (8 2j)x5 = 4 j
MAS INC
OGNITAS QUE ECUACIONES
-6+j
8-2j
1+4j];
234
Sistemas Continuos
Ejemplo A.33
Resolver el siguiente sistema (mas ecuaciones que incognitas):
(5 j)x1 + (2 + 3j)x2 + (3 j)x3 = 2 9j
4jx1 2x2 + (3 + 5j)x3 = 4 j
Soluci
on: Ejecutar el programa meqi.m.
% meqi.m SISTEMA DE ECUACIONES: MAS ECUACIONES QUE INCOGNITAS
clear all; close all; clc;
A = [5-j
2+3j
3-j
4j
-2
3+5j
6-j
7-j 8-3j
-1+4j
-6+j
3-j
-7j
8-2j 1+4j];
B = [2-9j;4-j;3+j;-3+7j;-9]; X = A\B;
A.2.5.
Diagonalizaci
on de Matrices y Formas Can
onicas
Diagonalizaci
on de Matrices
Si A es una matriz de orden n que posee n eigenvalores distintos i , entonces su
matriz de eigenvectores E = [e1 . . . en ] es unitaria porque: EH = E1 . Sea una
matriz diagonal formada con los eigenvalores de A. Entonces se cumple:
1 0 . . . 0
0 2 . . . 0
(A.25)
E1 AE = = .
..
..
..
.
.
0
. . . n
235
Ejemplo A.34
Hallar la transformacion canonica del siguiente sistema:
2 0
1
x = Ax + Bu =
x+
u
1 1
1
Soluci
on: Ejecutar el programa trancan.m para obtener la siguiente transformacion
canonica:
dx
= x = A x + B u
dt
0
x 1
1 0
x1
=
u
+
x 2
0 2
x2
2
% trancan.m TRANSFORMACI
ON CAN
ONICA
clear all; close all; clc;
A = [2 0;-1 1]; B = [1;-1];
[E,D]=eig(A); % E=[e1 e2]: MATRIZ DE EIGENVECTORES
% EIGENVALORES: D = diag(1, 2)
Aast=inv(E)*A*E; Bast=inv(E)*B; % Aast=[1 0;0 2]; Bast=[0;1.4142};
Ejemplo A.35
En el programa siguiente se diagonalizan varias matrices de rango completo.
% diagmat.m DIAGONALIZACION DE MATRICES DE RANGO COMPLETO
clear all; close all; clc;
A1 = [2 2 -1;2 3 0;-1 0 2]; n1 = 3;
% rank(A1) = 3 (RANGO COMPLETO)
[E1,D1] = eig(A1); DD1=inv(E1)*A1*E1;
% D1=DD1=diag(4.7093,2.1939,0.0968), RA
ICES NO REPETIDAS => inv(E1)=E1
A2 = [-2 -1 -1 -1 2;1 3 1 1 -1;-1 -4 -2 -1 1;-1 -4 -1 -2 1;...
-2 -2 -2 -2 3];
n2 = 5; % rank(A2) = 5 (RANGO COMPLETO)
[E2,D2] = eig(A2); DD2=inv(E2)*A2*E2;
% D2 = DD2 = diag(-1,1.5+0.866i,1.5-0.866i,-1,-1)
% DOS RA
ICES 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
ICES REPETIDAS => inv(E3) ~= E3
A.3.
Variables de Estado
A.3.1.
Ejemplo de Introducci
on
h
Rh
(A.27)
236
Sistemas Continuos
qi
A
qo
Sensor de presin
H
Q
(A.28)
x = A x + B u
(A.29)
(A.31)
donde el producto SRh es la constante de tiempo del sistema nivel. Por consiguiente,
la FT y las ecuaciones de estado y de salida de un determinado sistema SISO (de
una entrada y una salida), son dos formas de describir la dinamica del sistema. Sin
embargo, la representacion en el espacio de estado (variables de estado mas ecuaciones
de estado y de salida), es general porque se puede aplicar tambien a sistemas no
lineales como se vera oportunamente. En cambio, la FT solo es aplicable a sistemas
lineales.
Para sistemas MIMO lineales y con parametros invariantes con el tiempo, las
ecuaciones de estado y de salida toman la forma:
x = Ax + Bu
y = Cx + Du
(A.32)
237
A.3.2.
Definici
on de Variables de Estado
K=1
M=1
z0
x 2 = x1
y = x1
238
Sistemas Continuos
Por consiguiente, las ecuaciones de estado y salida del sistema masaresorte son:
x =
x 1
x 2
x = Ax
x1
x=
x2
y = Cx
0 1
A=
1 0
C=
1 0
x2 (t) = z0 sen t
A.3.3.
Las ecuaciones de estado y de salida multivariables de un Sistema Lineal e Invariante con el Tiempo (SLIT) sujeto a los vectores de disturbio v en los estados y w en
las salidas, los cuales se asumen conocidos, se representan como:
x = Ax + Bu + Ev
y = Cx + Du + Fw
(A.34)
239
PLANO DE FASE x1 VS x2
1
0.8
0.6
VELOCIDAD x2
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1
0.8
0.6
0.4
0.2
0
0.2
POSICIN x1
0.4
0.6
0.8
Fig. A.7: Plano de fase mostrando las trayectorias de estado (Ejemplo A.36).
Donde E y F son matrices disturbio tambien conocidas. El sistema es invariante
con el tiempo porque todas sus matrices son constantes. Si v y/o w fueran vectores
estimados o estadsticos, entonces el SLIT en cuestion sera estocastico. El sistema
SLIT libre de disturbios se determina haciendo v = w = 0 en (A.34):
x = Ax + Bu
y = Cx + Du
(A.35)
(A.36)
(A.37)
240
Sistemas Continuos
Soluci
on: Las ecuaciones de estado y de salida correspondientes son:
x = Ax + Bu
y = Cx + Du
u1
y1
x1
; u=
; y=
x=
u2
y2
x2
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:
5s2 +21s+10
2s+7
2
s2 +4s+1
s +4s+1
G(s) = C(sI A)1 B + D =
2
2s+4
3ss2 +13s+8
+4s+1
s2 +4s+1
% mtransf.m C
ALCULO DE LA MATRIZ DE TRANSFERENCIA
clear all; close all; clc;
syms s;
A=[-1 1;2 -3]; B=[2 -1;1 -2]; C=[1 0;0 -1]; D=[0 -5;-3 0]; I = [1 0;0 1];
G = C*inv(s*I-A)*B + D; pretty(simplify(G))
Estabilidad
Cuando las se
nales y y u son unidimensionales, la ecuacion (A.37) se convierte en
la FT del sistema SLIT y se puede representar como la relacion entre dos polinomios
A(s) y B(s) como sigue:
B(s)
y(s)
= G(s) = [C(sI A)1 B + D] =
u(s)
A(s)
(A.38)
En general, la ecuaci
on caracterstica del sistema SLIT (ecuacion (A.35)) se obtiene de:
A(s) = det(sI A) = 0
(A.39)
Las races de (A.39) son los eigenvalores de la matriz de estado A, tal como se trato en
(A.23). Los eigenvalores de un sistema SLIT determinan la estabilidad del sistema
alrededor de un punto de equilibrio xe en el espacio de estado como sigue:
El sistema SLIT no forzado x = Ax (ecuaci
on (A.35) con u = 0 es estable, siempre
que todos sus eigenvalores (races de (A.39)) posean parte real negativa. Cuando al
menos uno de tales eigenvalores posea parte real positiva o cero, entonces el sistema
es inestable.
Notar que todas las funciones de transferencia de la matriz G del ejemplo A.37
poseen un mismo denominador com
un: el polinomio A(s) = s2 +4s+1. Este polinomio
es tambien la ecuacion caracterstica del sistema multivariable, siendo sus eigenvalores
s1 = 3.7321 y s2 = 0.2679. Por consiguiente, tal sistema es estable.
El sistema no forzado x = Ax posee un solo punto de equilibrio: el origen, debido
a que la solucion de x = Ax = 0 es xe = 0. Por consiguiente, un SLIT no forzado
es estable, cuando el estado x del sistema tiende al estado de equilibrio xe = 0
241
para cualquier estado inicial finito x(t0 ), donde t0 es el tiempo inicial. Por ejemplo,
el sistema de primer orden x = a x donde a > 0, es inestable porque su solucion
x(t) = x(0)eat no tiende al estado de equilibrio xe = 0 cuando t para cualquier
estado inicial x(0).
A.3.4.
Controlabilidad y Observabilidad
Controlabilidad Completa
Se dice que un SLIT continuo es controlable si es que existe un vector u(t) de
orden m realizable y capaz de trasladar el estado x(t) de orden n del sistema, desde un
estado inicial x(t0 ) hacia cualquier estado final x(tN ) en un tiempo finito tN . Si todos
los estados son controlables, se dice que el sistema es completamente controlable o
que posee controlabilidad completa.
Sin demostracion se establece que en general, para que el sistema x = Ax + Bu
sea completamente controlable, la siguiente matriz M de orden n nm:
M=
B AB An1 B
(A.40)
(A.41)
242
Sistemas Continuos
j
x2
x2
x1
1 2
(b)
(a)
j
x2
x1
x2
(d)
j
x2
x1
(c)
x1
1 2
x2
1
x1
x1
(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.
x 1
x 2
..
.
x n
0
2
..
.
n
x1
x2
..
.
xn
b11
b21
..
.
b12
b22
..
.
bn1 bn2
b1m
b2m
..
..
.
.
bnm
u1
u2
..
.
um
(A.42)
243
Observabilidad Completa
Un sistema SLIT es completamente observable si alg
un estado x(t), incluyendo el
estado inicial x(t0 ), se puede determinar partiendo de la observacion de la salida y(t)
en un tiempo finito t0 t t1 . La observabilidad completa en un sistema es de suma
importancia porque permite reconstruir las variables de estado no medibles partiendo
del vector medible y(t). Sin demostracion se establece la condicion de estabilidad
completa. Para que un sistema sea completamente observable, es necesario que el
rango de la denominada matriz de observabilidad N de dimension np p :
C
CA
H
N=
(A.43)
= CH AH CH (AH )n1 CH
..
.
CAn1
posea rango n (rango completo). En (A.43), el superndice H indica operacion hermitiana. Se sabe que si todas las matrices son reales, entonces la operacion hermitiana
se reemplaza por la opercion transpuesta.
Si existe una transformacion lineal x = Ex de modo tal que E1 AE = , donde
es la matriz diagonal cuyos elementos i son los eigenvalores de A, entonces (??)
toma la forma:
x = E1 AEx = x
x = et x (t0 )
Luego:
e 1 t
0
e 2 t
..
.
e n t
x1 (t0 )
x2 (t0 )
..
.
xn (t0 )
Entonces, para que el sistema SLIT sea completamente observable, ninguna de las
columnas de la matriz CE de orden p n debe de ser nula. Si alguna columna i fuera
nula, entonces no se podra reconstruir completamente el vector de estado x, lo que
se contrapone a la definicion de observabilidad completa.
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
A.3.5.
Soluci
on de la Ecuaci
on de Estado de SLITs Continuos
y = Cx + Du
(A.44)
= (t t0 )x(t0 ) +
t0
(t )Bu( )d
(A.45)
donde:
X
A (t t0 )
A2 (t t0 )2 A3 (t t0 )3
+
+
!
2!
3!
=0
(A.46)
A(tt
)
0
es la matriz de transicion o exponencial. La derivada total de e
resulta:
(tt0 ) = eA(tt0 ) =
deA(tt0 )
dt
= I+A(tt0 )+
A3 (t to )2
= A + A2 (t to ) +
+
2!
A2 (t t0 )2
= A I + A(t t0 ) +
+ +
2!
= AeA(tt0 ) = eA(tt0 ) A
(A.47)
245
(A.48)
(A.49)
(A.50)
t
0
Soluci
on: Emplearemos la solucion dada en (A.45) con A = 2 y B = 5. Para
0 t 1, u(t) = 0, t0 = 0 y x(t0 ) = 3. Luego:
x(t) = 3e2t ;
Para 1 t 3, u(t) =
3t
2 , t0
t
1
x(1) = 3e2
e2(t ) 5
=t
3
5
d = 3e2t + e2t 7e2 e2 =1
2
8
5
x(t) = 3e2t + [7 t 6e2(1t) ];
8
5
x(3) = 3e6 + (4 6e4 )
8
246
Sistemas Continuos
3
2.5
RESPUESTA x(t)
1.5
0.5
4
5
6
TIEMPO EN SEGUNDOS
10
Fig. A.10: Respuesta x(t) de un SLIT de primer orden a una entrada arbitraria u(t).
Ejemplo A.41
Dado u(t) = 3et , determinar la respuesta de un sistema descrito por las siguientes
ecuaciones de estado y de salida:
x1 = 7x1 + x2 + 2u;
x2 = 12x1 u
y = 3x1 4x2 2u
3 4
D = [2];
x(0) =
6
1
247
Seg
un la Tabla A.1: u(s) = L[3et ] = 3/(s + 1). Luego, x(s) (ecuacion (A.48)) e y(s)
(ecuacion (A.49)) toman la forma:
1
s + 7 1
2
u(s)
12
s
1
3
1
2
6
s
1
+
= 2
1
1
s + 7s + 12 12 s + 7
s+1
"
#
2
x(s) =
s + 7 1
12
s
1
y(t) =
6s +s2
(s+1)(s+3)(s+4)
s2 +77s14
(s+1)(s+3)(s+4)
6
1
3 4
"
6s2 +s2
(s+1)(s+3)(s+4)
s2 +77s14
(s+1)(s+3)(s+4)
3
s+1
6
297/6 767/2 918/3
22s2 305s + 50
=
+
+
(s + 1)(s + 3)(s + 4) s + 1
s+1
s+3
s+4
297 t 767 3t 918 4t
e +
e
+
e
, t0
6
2
3
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
RESPUESTAS
0
T2 = 0.04 s
10
y(t)
20
30
40
50
TIEMPO [s]
10
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 ecuacion de estado y su ecuacion de salida. (b) Hallar su matriz
de transferencia. (c) Determinar si el sistema es estable. (d) Hallar la controlabilidad
completa, la controlabilidad completa en la salida y la observabilidad completa del
sistema. (e) Usar (A.50) para determinar su matriz de transicion con t 0 = 0. (f) Determinar y(t) para x(t0 ) = 0 usando (A.49). (g) Graficar las respuestas y1 (t) e y2 (t)
a entradas tipo escalon unitario.
249
80
70
y3 = y1 + y2
60
RESPUESTAS
50
y2 = 2y1
40
30
20
y1
10
0
10
20
0.5
1.5
2
2.5
TIEMPO [s]
3.5
1
s+1
u1
u2
x2
2
s+2
4
s+4
5
s+5
u3
3
s+3
x4
y1
x5
y2
x3
Soluci
on: (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)
1
(u1 y1 )
s+1
(s + 1)x1 = x 1 + x1 = u1 y1
Reemplazando y1 de (A.51) en la u
ltima expresion, se obtiene:
x 1 = x1 x2 x3 x4 + x5 u3
Operando del mismo modo con los otros bloques resultan:
(s + 2)x2 = 2(u2 x2 )
x 2 = 4x2 + 2u2
(A.52)
250
Sistemas Continuos
(s + 3)x3 = 3(u3 x5 )
(s + 4)x4 = 4(x1 + u2 x2 )
(s + 5)x5 = 5(x2 + u3 x3 + x3 )
(A.53)
x 1
1 1 1 1 1
x1
1 0 1
x 2 0 4 0
0
0
x 2 0 2 0 u1
x 3 = 0
0 3 0 3
x 3 + 0 0 3 u2
x 4 4 4 0 4 0 x4 0 4 0 u3
x 5
0
5
0
0 5
x5
0 0 5
y1
y2
1 0 1 1 1
1 1 0 0 1
x1
x2
x3
x4
x5
G11 (s) =
s+8
s2 + 5s + 8
G21 (s) =
s+4
2
s + 5s + 8
G22 (s) =
G23 (s) =
u1
+ 0 0 1 u2
0 1 0
u3
G13 (s) =
Los elementos y1 (t) e y2 (t) del vector de salida y (calculados en va.m) resultan:
5 13
17
5
51 5
y1 = e3t + e5t e4t + e 2 t cos
2
4
16
2
16
!
7
111 5 t
7e 2 sen
t
2
112
!
7
t
2
5
3
183 5 t
1 39
e 2 cos
y2 = e3t + e5t e4t +
2
4
16
2
16
!
99 5 t
7
t
7e 2 sen
2
112
!
7
t
2
Por otro lado, la Fig. A.14 muestra las respuestas y1 (t) e y2 (t) (Out(1) y Out(2) en
el grafico) a los escalones u1 = 1, u2 = 1 y u3 = 1 (In(1), In(2) e In(3) en el grafico)
obtenidas con el comando step de MATLAB. Ejecutar el archivo va.m.
251
A.3.6.
Formas Can
onicas SISO en el Espacio de Estado
+
a
y(t)
=
b
+
b
+ + bn u(t) (A.54)
1
n
0
1
dtn
dtn1
dtn
dtn1
La FT correspondiente al sistema (A.54) es:
G(s) =
b0 sn + b1 sn1 + + bn
b0 + b1 s1 + + bn sn
y(s)
= n
=
u(s)
s + a1 sn1 + + an
1 + a1 s1 + + an sn
(A.55)
252
Sistemas Continuos
Step Response
From: In(1)
1.5
From: In(2)
From: In(3)
To: Out(1)
0.5
Amplitude
0.5
1
1.5
To: Out(2)
0.5
2
Time (sec)
0
0
..
.
x =
1
0
..
.
0
1
..
.
0
0
0
an an1 an2
y = bn an b0 bn1 an1 b0
0
0
..
.
x1
x2
..
.
1 xn1
a1
xn
0
0
..
.
+
u
0
1
b 1 a 1 b0 x + b 0 u
(A.56)
x =
0
0
..
.
0
an
1
0
..
.
0
1
..
.
0
0
..
.
x1
x2
..
.
0
0
1 xn1
an1 an2 a1
xn
y = 1 0 0 x + 0 u
1
2
..
.
+
n1
n
(A.57)
253
x =
a1
1
0
..
.
a2
0
1
..
.
an1
0
0
..
.
0
y=
b1 a 1 b0
an
0
0
..
.
x1
x2
..
.
xn1
xn
1
0
..
.
+
0
0
0
b n a n b0 x + b 0 u
b2 a 2 b0
(A.58)
0
1
..
.
0
0
..
.
x =
0
0
0
0
0
0
..
.
0
0
..
.
an
an1
..
.
x1
x2
..
.
bn a n b0
bn1 an1 b0
..
.
1 0
a2 xn1
xn
0 1
a1
y = 0 0 0 1 x + b0 u
b2 a 2 b0
b1 a 1 b0
(A.59)
a1
a2
..
.
x =
an1
an
1
0
..
.
0
1
..
.
0
0
..
.
0
0
0
0
0
0
y=
0
0
..
.
x1
x2
..
.
1 xn1
0
xn
b1 a 1 b0
b2 a 2 b0
..
.
+
bn1 an1 b0
bn a n b0
0 x + b0 u
(A.60)
Forma Can
onica Diagonal (eigenvalores no repetidos)
Formulando (A.55) como:
n
X ci
y(s)
b0 sn + b1 sn1 + + bn1 s + bn
G(s) =
=
= b0 +
u(s)
(s p1 )(s p2 ) (s pn )
s pi
i=1
donde las races pi (los eigenvalores del sistema) son no repetidos, las constantes ci
se pueden hallar en la forma acostumbrada a partir de:
ci = lm [(s pi )G(s)]
spi
x 1
x 2
..
.
x n1
x n
y=
1
0
..
.
0
2
..
.
0
0
..
.
c1
c2
cn
x1
x2
..
.
xn
x + b0 u
1
1
..
.
1
(A.61)
254
Sistemas Continuos
Forma Can
onica de Jordan (eigenvalores repetidos)
Describiremos la forma canonica de Jordan con un ejemplo. Supongamos que
(A.55) toma la forma:
G(s) =
y(s)
b0 sn + b1 sn1 + + bn1 s + bn
B(s)
=
=
3
2
u(s)
(s p1 ) (s p4 ) (s p6 ) (s pn )
A(s)
X ci
c2
c3
c4
c5
c1
+
+
+
+
+
= b0 +
(s p1 )3 (s p1 )2 s p1 (s p2 )2 s p2
s pi
i=6
x1
0
p1 1 0 0 0 0 0 0
0 p 1 1 0 0 0 0 0 x2 0
0 0 p 1 0 0 0 0 0 x3 1
0 0 0 p 2 1 0 0 0 x4 0
x =
x5 + 1 u
0
0
0
0
p
0
0
0
2
0 0 0 0 0 p 6 0 0 x6 1
0 0 0 0 0 0 p 7 0 x7 1
1
0 0 0 0 0 0 0 p8
x8
y = c1 c2 c3 c4 c5 c6 c7 c8 c9 x + b 0 u
(A.62)
8
X ci
y(s)
c1
c2
c3
c4
c5
= b0 +
+
+
+
+
+
(A.63)
u(s)
(s p1 )3 (s p1 )2 s p1 (s p2 )2 s p2
s pi
i=6
Ejemplo A.44
En el programa C2forca1.m se determinan varias formas canonicas para:
G(s) =
NICAS
% C2forca1.m FORMAS CANO
clear all; close all; clc;
b0=1; b1=-2.8; b2=-0.65; b3=6.8; b4=-4.25; b5=-1.3; b6=1.2;
a1=1.3; a2=-1.69; a3=-0.345; a4=0.49; a5=0.02; a6=-0.04;
B = [b0 b1 b2 b3 b4 b5 b6]; % B(s): POLINOMIO DEL NUMERADOR
A =[1 a1 a2 a3 a4 a5 a6];
% A(s): POLINOMIO DEL DENOMINADOR
roots(A); % RA
ICES DE A(s): 0.5, 0.5, 0.5, -0.4, -0.4, -2
% EL SISTEMA ES INESTABLE DEBIDO A LA RA
IZ TRIPLE 0.5
% 2DA FORMA CAN
ONICA CONTROLABLE: dx/dt = Acc*x + Bcc*u; y = Ccc*x + Dcc*u
beta0 = b0;
beta1 = b1-a1*beta0;
beta2 = b2-a1*beta1-a2*beta0;
beta3 = b3-a1*beta2-a2*beta1-a3*beta0;
255
beta4
beta5
beta6
Acc =
%
%
%
= b4-a1*beta3-a2*beta2-a3*beta1-a4*beta0;
= b5-a1*beta4-a2*beta3-a3*beta2-a4*beta1-a5*beta0;
= b6-a1*beta5-a2*beta4-a3*beta3-a4*beta2-a5*beta1-a6*beta0;
[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
ONICA 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
ONICA DE JORDAN: dx/dt = Aj*x + Bj*u; y = Cj*x + Dj*u
[c,p,k] = residue(B,A); % EXPANSI
ON 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
Conocido el sistema x = Ax + Bu, y = Cx + Du, determinar la ecuacion de estado y
la ecuacion de salida en su forma canonica de Jordan: x = Aj x+Bj u, y = Cj x+Dj u.
Demuestre que las matrices A y Aj poseen los mismos eigenvalores y que ambas representaciones de estado generan la misma funcion de transferencia.
Soluci
on: El siguiente programa resuelve las preguntas planteadas.
% C2forca2.m FORMA CANONICA DE JORDAN DE dx/dt + A*x + B*u; y = C*x + D*u
clear all; close all; clc;
A = [0 1 0 3;0 -1 1 1;0 0 0 1;0 0 -1 -2];
B = [1;0;-4;0]; C = [1 0 0 0]; D = [-2];
[num,den] = ss2tf(A,B,C,D);
eigA = eig(A);
% EIGENVALORES DE A: eigA = [-1, -1, -1, 0]
[c,p,k] = residue(num,den); % EXPANSION EN FRACCIONES
% c = [-8 -8 0 9]; p = [-1 -1 -1 0]; k = -2;
c1=c(1); c2=c(2); c3=c(3); c4=c(4); p1=p(1); p2=p(2); p3=p(3); p4=p(4);
256
Sistemas Continuos
A.4.
Discretizaci
on Directa
Discretizaci
on de la Integral
Es bastante u
til discretizar directamente modelos dinamicos que contengan integrales y derivadas. La integral de una curva e(t); es decir, el area debajo de dicha
curva, se puede aproximar empleando una sumatoria de rectangulos de la forma
T e(iT ) (Fig. A.15(a)) o trapezoides de la forma:
T
e(T i) + e(T i + T )
2
e(t)
e(iT)
t=iT
e(iT+T)
e(iT)
t=iT
(a)
(b)
Fig. A.15: (a) Aproximacion del area bajo la curva e(t) mediante rectangulos. (b)
Mediante trapezoides.
Ejemplo A.46
Determinar la ecuacion de diferencias de la siguiente integral usando tanto aproximacion rectangular como trapezoidal.
Z t
e( )d
u(t) =
0
Soluci
on: Si empleamos sumatoria de rectangulos para aproximar el area debajo de
la curva e(t), se obtiene:
u(kT )
k
X
i=0
T e(iT ) = T
k
X
i=0
e(iT ) = T
k1
X
i=0
(A.64)
A.4 Discretizaci
on Directa
257
k1
X
e(kT T ) + e(kT )
e(iT T ) + e(iT )
= T
+T
2
2
i=0
= u(kT T ) + T
e(kT T ) + e(kT )
2
T
[e(kT T ) + e(kT )]
2
T
u(k) = u(k 1) + [e(k 1) + e(k)]
2
u(kT ) u(kT T ) =
(A.65)
Discretizaci
on de la Derivada
Terminos que contengan derivadas pueden discretizarse empleando diferencias
por atraso:
de(t)
dt
de(t)
dt
e(kT )
e(kT ) e(kT T )
e(k) e(k 1)
=
=
T
T
T
e(kT
)
e(t)
e(t
T)
e(kT ) e(kT T )
= e(t)
=
=
T
T
T2
e(k) 2e(k 1) + e(k 2)
e(k) e(k 1) [e(k 1) e(k 2)]
=
=
2
T
T2
..
.
(A.66)
= e(t)
dt
e(kT )
e(kT + T ) e(kT )
e(k + 1) e(k)
=
=
T
T
T
e(kT
)
e(t
+ T ) e(t)
e(kT + T ) e(kT )
= e(t)
=
=
T
T
T2
e(k + 1) e(k) [e(k) e(k 1)]
e(k + 1) 2e(k) + e(k 1)]
=
=
T2
T2
..
.
(A.67)
= e(t)
Ejemplo A.47
El controlador PID se emplea en mas del 90 % de los circuitos de control existentes
en la industria. Este controlador se formula en la ecuacion (A.68), donde K c es la
ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo. Determinar la ecuacion de diferencias de dicho controlador. En un primer caso emplear
aproximacion rectangular y luego usar aproximacion trapezoidal.
Z t
de(t)
1
e(t)dt + TD
u(t) = Kc e(t) +
(A.68)
TI 0
dt
258
Sistemas Continuos
Soluci
on: Empleando las relaciones (A.64) y (A.66) en (A.68) se obtiene:
u(k) = Kc
u(k 1) = Kc
k
T X
TD
e(k) +
[e(k) e(k 1)]
e(i) +
TI
T
i=0
k1
TD
T X
e(i) +
e(k 1) +
[e(k 1) e(k 2)]
TI
T
i=0
Pk
Pk1
Teniendo en cuenta que:
i=0 e(i) =
i=0 e(i) + e(k), restamos las expresiones
anteriores y despejamos u(k) para obtener la siguiente ecuacion de diferencias del
controlador PID:
u(k) = u(k 1) + q0 e(k) + q1 e(k 1) + q2 e(k 2)
(A.69)
donde:
TD
q1 = Kc 1 + 2
;
T
TD
T
;
+
q0 = K c 1 +
Ti
T
q2 = K c
TD
T
u(k 1) = Kc
)
k1
e(i 1) + e(i)
TD
1 X
[e(k 1) e(k 2)]
T
+
e(k 1) +
TI
2
T
i=1
[e(i 1) + e(i)] =
k1
X
i=1
;
q2 = K c
q0 = K c 1 +
T
2TI
T
2TI
T
A.5.
= Ax(t x ) + Bu(t u )
(A.70)
259
y(k + dy ) = Cx(k)
(A.71)
1
1
num(s)
(s )2 (s )3 + =
!2
!3
den(s)
Con una aproximacion de tercer orden podemos acomodar retardos de fase de hasta
200o (3.5 rad) [12], lo cual es suficiente para capturar el efecto del tiempo muerto en
muchas aplicaciones. Tal aproximacion tiene la forma:
e s
num(s)
1 s/2 + ( s)2 /10 ( s)3 /120
=
den(s)
1 + s/2 + ( s)2 /10 + ( s)3 /120
260
Sistemas Continuos
Step Response
10
Amplitude
exp(sD)
0
10
15
20
25
Time (sec)
A.6.
Linealizaci
on de Sistemas Continuos
A.6.1.
Caso SISO
El desarrollo de la serie de Taylor permite expandir una expresion no lineal continua Y = f (X) alrededor de un punto de operacion (o estado de equilibrio) X como
sigue:
df
(X X)
(X X)2
d2 f
Y = f (X) = f (X) +
+
+ (A.72)
dX (X=X)
1!
dX 2 (X=X)
2!
(Xn =X n )
Ejemplo A.49
rA = k0 e RT CA
A.6 Linealizaci
on de Sistemas Continuos
261
r A = k0 e
CA
rA
C1 =
T (T =T )
t=T T
c A = CA C A
rA
C2 =
CA (CA =C A )
(A.74)
A.6.2.
Caso MIMO
Un sistema MIMO no Lineal invariante con el tiempo de orden n se puede representar como:
= f (X, U)
X
Y = g(X, U)
(A.75)
X 1
f1 (X, U)
Y1
g1 (X, U)
U1
..
..
..
..
U = ...
. =
. =
.
.
fn (X, U)
Yp
gp (X, U)
Um
X n
(X X) +
(U U) +
X = f (X, U) +
X
U
U)
1 2 f (X, U)
2 f (X, U)
2 f (X,
2
2
(X X) + 2
(X X)(U U ) +
(U U) +
2!
x2
XU
U2
Despreciando los terminos de orden dos se obtiene:
f
f
(X X) +
(U U)
X = f (X, U) = f (X, U) +
X (X,U)
U (X,U)
f
f
X f (X, U) = x =
x+
u
(A.76)
X
U
(X,U)
(X,U)
Del mismo modo, la ecuacion de salida del sistema se puede formular como:
g
g
y=
x+
u
(A.77)
X (X,U)
U (X,U)
Por consiguiente, las formas linealizadas de (A.76) y (A.77) se puede expresar como:
x = Ax + Bu
y = Cx + Du
(A.78)
262
Sistemas Continuos
..
..
..
..
A = ...
B = ...
.
.
.
.
C =
fn
X1
h1
X1
..
.
hp
X1
fn
Xn
..
.
h1
Xn
..
.
hp
Xn
(X,U)
D=
(X,U)
fn
U1
h1
U1
..
.
hp
U1
fn
Um
..
.
h1
Um
..
.
hp
Um
(X,U)
(A.79)
(X,U)
Ejemplo A.50
La Fig. A.17 muestra dos tanques identicos colocados en cascada. La seccion horizontal S=9 m2 de cada tanque es constante. El objetivo de control es estabilizar
(controlar) la altura H2 empleando como fuerza de control el flujo de alimentacion
Qo . Determinar el modelo linealizado de este sistema hidraulico, su estabilidad y su
funcion de transferencia.
Q
H1
p
H2
Tanque
1
Q
g
1
Tanque
2
A.6 Linealizaci
on de Sistemas Continuos
263
dH1
dt
dH2
dt
Q1 Q 2 = S
g p
1
X 1 = U
X1 = f1 (X, U )
S
S
p
g p
X 2 =
[ X1 X2 ] = f2 (X, U )
S
y su correspondiente ecuacion de salida:
Y = h(X, U ) = X2
Observar que las ecuaciones anteriores poseen las formas dada en (A.75)):
= f(X, U )
X
Y = h(X, U ) = X2
X=
f=
f2
X 2
Definamos las siguientes variables residuales:
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
g
1
X1 = U
X1 = 0
S
S
q
q
g
X2 =
X1 X2 = 0
S
lo que resulta en:
U
X1 = X2 = 2
g
Aplicando el jacobiano, el sistema linealizado resulta:
x = A x + B u
(A.80)
y = h(x, u) = x2 = C x
D = [0]
donde:
x=
B=
x1
x2
f1
U
f2
U
A=
(X 1 ,X 2 ,U )
"
=
f1
X1
f2
X1
1/S
0
f1
X2
f2
X2
(X 1 ,X 2 ,U )
C=
h
X1
2S
X1
g
2S
h
X2
X1
g
2S
X2
= [0 1]
(X 1 ,X 2 ,U )
264
Sistemas Continuos
A.7.
Problemas
Problema A.1
Demostrar que AB 6= BA, cuando:
1 1 1
A = 2 2 1
2 1
0
Problema A.2
1 2 3
B= 2 4 8
1 2 3
2 1 1 2
1 4 1 0
1 3 2
C = 3 2 1 1
B= 2 1 1 1
A = 2 1 3
2 5 1 0
1 2 1 2
4 3 1
Problema A.3
2 3 5
1 3
5
5
A = 1 4
B = 1 3 5
1 3 4
1 3
5
Problema A.4
2 3 5
1 3
5
5
A = 1 4
B = 1 3 5
1 3 4
1 3
5
Problema A.5
1 2 6
9
A = 3 2
2
0 3
A.7 Problemas
265
Problema A.6
Demostrar que la siguientes matriz es nilpotente:
1 3 4
4
A = 1 3
1 3 4
Problema A.7
1
1 + i 2 + 3i
2
i
A= 1i
2 3i
i
0
i
1 + i 2 3i
2i
1
B = 1 + i
2 3i 1
0
3 2
a 1 bcd
a a
3
2
b 1 acd
b b
B
=
3
c c2
c 1 abd
d 1 abc
d3 d2
a
b
c
d
1
1
1
1
x
1
2
x3
A = x2 2x + 1
2
0 3x 2 x + 1
Problema A.11
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
Si la matriz A es antisimetrica e I + A es no singular, entonces B = (I A)(I + A) 1
es ortogonal. Obtenga la matriz ortogonal B de:
0
1 2
A = 1 0 3
2 3 0
Problema A.13
x2 = [i 1 i 0]T ;
x3 = [1 i 1 3i]T
Problema A.14
Si la matriz A es antihermitiana e I+A es no singular, entonces B = (IA)(I+A) 1
es unitaria. Obtenga la matriz unitaria B de:
0
i 1+i
i
0
i
A=
1 + i i
0
Problema A.15
Demostrar que el producto xH Ax es definida positiva y que el producto xH Bx es
semidefinida positiva, donde:
1
1+i
1
1
1 + i 1 + 2i
6
3 + i
3
5
A= 1i
B= 1i
1 3 i
11
1 2i
5
10
Problema A.16
A.7 Problemas
267
Problema A.17
Determinar la ecuacion de estado y la ecuacion de salida de los sistemas:
(a)
x 2 x1 + 8x2 2x3 = u1
(b)
y1 = x1 3x2 u2 ;
x1 8x2 + x3 + x 1 = u1 ;
(c)
y1 = 3x1 x2 + u1 ;
y2 = x1 5x3 5u2
x2 6x3 = x 3 u1 + 9u2
(d)
y1 = x1 u2 + 8u2 ;
donde u1 y u2 son las entradas, y1 e y2 son las salidas y x1 , x2 y x3 son las variables
de estado.
Problema A.18
Graficar la corriente i(t) que circula en un circuito serie RLC alimentado por una
batera E de 12 V, sabiendo que R = 100 , C = 1 F, L = 2 H, i(0) = 5 A y di(0)
dt = 5
A/s. Partiendo de la ecuacion caracterstica del circuito, determine la estabilidad, la
frecuencia natural de oscilacion y el coeficiente de amortiguamiento de dicho circuito.
Problema A.19
Una forma de determinar la estabilidad de un SLIT con entrada x(t) y salida y(t)
conociendo su funcion G(t) de respuesta al impulso (t), es evaluando la siguiente
condicion para estabilidad:
Z
Rt
Por ejemplo, para un integrador y(t) = 0 x( )d con y(0) = 0, su respuesta al
Rt
impulso es: y(t) = G(t) = 0 ( )d = (t), que es la funcion escalon, la cual es igual
a 1 para t 1. El sistema es inestable porque:
Z
Z
|1|d =
|G( )|d =
268
Sistemas Continuos
Problema A.21
Graficar para varios valores del cero c, la respuesta al escalon del sistema:
K(s + c)
y(s)
= 2
u(s)
s + 3s + 100
Para cada c, seleccionar el valor de K que haga: lm y(t)t = 1.
Problema A.22
Determine la transformada inversa de:
G(s) =
3s3 + 20
s2 (s + 1)
Problema A.23
Determine la matriz de transicion, la ecuacion caracterstica, la estabilidad, la controlabilidad, la observabilidad (el primer elemento del vector de estado v es la salida)
y la FT del sistema siguiente:
0 1
3
v =
v+
u
0 2
4
Problema A.24
Hallar varias ecuaciones de estado y de salida canonicas para el sistema:
s3 2s + 1
y(s)
= 3
u(s)
s 2s2 + 3s 4
Problema A.25
Un motor DC empleado en los sistemas de control de posicion angular y de velocidad
angular = , se describe mediante la relacion: = + u, donde u es el voltaje
de entrada al motor que se asume constante y de magnitud A para el intervalo
2T t 3T . Hallar (t) analticamente.
Problema A.26
El siguiente diagrama de bloques corresponde al sistema de control automatico de la
profundidad y de un submarino, el cual se logra generando un angulo de control a
adecuado. Suponga que el submarino debe de navegar manteniendo una profundidad
de r = 250 m. Empleando Simulink, determinar el valor de K usando el metodo de
prueba y error que haga que la salida y siga a la referencia r con suficiente rapidez y
con mnimo error e = r y.
Problema A.27
A.7 Problemas
269
r
(s 1)
1
s
s +1
qR = Ri2
qa = C t
dTi
dt
qp =
Ti T a
Rt
(s+7)(s+8)(s+9)
(s+1)(s+2)(s+3)(s+4)(s+5)
Problema A.30
270
Sistemas Continuos
dTa
= C(Ta To2 )Fo + D(Ta T )
dt
10e3t
4s+1
Kc + Ki/s
2e 2t
Problema A.32
Para el sistema mostrado en la Fig. A.21 investigar empleando Simulink si es posible
hallar las ganancias K1 , K2 y K3 que hagan que y1 siga a r1 y que y2 siga a r3 con
suficiente rapidez.
r1
r2
r3
K1
K2
u2
x1
1
s+1
2
s+2
x2
4
s+4
5
s+5
K3
u3
3
s+3
x3
x4
y1
x5
y2
A.7 Problemas
271
Problema A.33
La funcion de transferencia de un sistema tiene la forma:
G(s) =
y(s)
5s2 0.9167s 0.5417
= 3
u(s)
s + 0.5833s2 + 0.0417s + 0,0417
0 c2
0 c3
c < 1 + c2 + c3
Elaborar un programa en MATLAB para graficar las respuestas P 1 (t), P2 (t) y P3 (t).
Problema A.35
Dada la siguiente ecuacion de estado:
x(t)
= 4x(t) + 2u(t)
graficar x(t) sabiendo que x(0) = 1 y u(t) es la rampa mostrada en la Fig. A.22.
Problema A.36
Para el punto de operacion:
x1 = 1,
x2 = 1,
u1 = 2,
u2 = 1
hallar las ecuaciones de estado y de salida lineales del siguiente sistema no lineal y
determinar su estabilidad.
x 1 = 2x21 + 3x1 x2 u31 + u2
272
Sistemas Continuos
x 2 = 4x31 + 6x21 x2 4u31 2u22
y1 = 3x1 4u1 + 6u22
1
s+1
u2
2
s+2
x1
x2
y1
y2
Problema A.38
Para los sistemas de control mostrados en la Fig. A.24, elabore los respectivos programas 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
nal escalon deseada r(t) en presencia
de la carga (o disturbio) n(t). Tambien debe de verificar que cuando r(t) es nulo, la
salida y(t) debe de tender a cero. La magnitud de r(t) es 10 veces la magnitud de
n(t).
(a) G(s) =
(b)
G(s) =
(c) G(s) =
(d) G(s) =
4(s + 1)(s + 2)
e2s
(s + 3)(s + 4)(s + 5)(s + 6)
2(s + 1)
e3s
(s + 3)(s + 4)(s + 5)(s + 6)(s + 8)
s2 + 2s + 1 s
e
(s + 3)4
8
e4s
(s + 3)(s + 4)(s + 5)(s + 6)(s + 7)2 (s + 8)
A.7 Problemas
273
n(t)
r(t)
PID
G(s)
y(t)
Ap
endice B
Fundamentos de MATLAB y
Simulink
MATLAB es un lenguaje tecnico de computo de alto nivel e interactivo que puede ser
empleado para el desarrollo de algoritmos, visualizacion y analisis de datos y computacion
numerica. MATLAB se emplea mundialmente en diversas aplicaciones que incluyen procesamiento de se
nales e imagenes, telecomunicaciones, dise
no de sistemas de control, pruebas y mediciones, modelado y analisis financiero y biologa computacional. MATLAB
tambien cuenta con una coleccion herramientas (Toolboxes) para propositos especficos,
disponibles por separado, los cuales permiten resolver ciertas clases de problemas en el
area de su aplicacion.
Simulink emplea un lenguaje en bloques y se usa para modelar, simular y analizar
sistemas dinamicos continuos, discretos o hbridos (combinacion de ambas). El modelo
del sistema puede ser lineal o no lineal y puede tener diferentes partes que se discreticen
o se actualicen a diferentes tiempos de muestreo. Esta herramienta permite validar los
modelos dinamicos existentes o aquellos construidos desde cero.
En este Apendice, una seccion esta dedicada a MATLAB y la otra a Simulink.
Todos los archivos de esta publicacion se pueden descargar del link DESCARGAS de
www.ctlima.com.
B.1.
Fundamentos de MATLAB
B.1.1.
Luego de instalar el programa MATLAB, aparece un icono caracterstico del mismo en el escritorio. Para iniciar MATLAB hacer doble click en tal cono para hacer
aparecer la Fig. B.1. La interaccion de MATLAB con el usuario es a traves de ventanas. Las principales son (ver Fig. B.1):
Ventana de comandos (Command Window).- Aqu se ejecutan las instrucciones.
Historial de comandos (Command History).- Ventana que muestra el historial
de las instrucciones introducidas a traves de la ventana de comandos.
Directorio actual (Current Directory).- Ventana que muestra los directorios y
archivos actuales.
276
B.1.2.
277
MATLAB. Los comandos escritos despues del prompt requieren de un ENTER para
que MATLAB los procese. El formato siguiente: >> help roots ENTER , es u
til
cuando se desea tener informacion de un determinado comando. En este caso particular, luego de presionar la tecla ENTER, la VC (Ventana de Comandos) muestra la
ayuda correspondiente al comando roots. En lo que sigue, la introduccion de la tecla
ENTER sera sobreentendida.
El comando format long le dice a MATLAB que se quiere trabajar con 15 dgitos
para doble precision y 5 dgitos para simple precision. Por ejemplo, escribiendo en
la VC: >> format long, 1/3, MATLAB devuelve 0.33333333333333, mientras
que >> format, 1/3 devuelve 0.3333.
Las operaciones fundamentales en MATLAB son suma a+b, resta a-b, multiplicacion a*b, division derecha a/b, division izquierda a\b y exponenciacion a^b. La
division izquierda se emplea mas con matrices. El resultado de la operacion a/b es
igual al resultado de b\a.
El orden de precedencia en las operaciones fundamentales es: ejecutar primero
el parentesis mas interno, luego los exponentes, despues la multiplicacion o division
(ambos tienen igual presedencia), y finalmente la suma y resta. Ejemplo:
>> 0.7854-(0.7854)^3/(1*2*3)+0.785^5/(1*2*3*4*5)...
-(0.785)^7/(1*2*3*4*5*6*7)
ans =
0.7071
Observar que los tres puntos al final de la primera fila indica que la sentencia contin
ua
en la siguiente lnea.
umeros imaginarios. Es decir: i =
MATLAB
reconoce a las letras i y j como n
1 y j = 1. Por ejemplo, >> 4i - 2j devuelve 0 + 2.0000i, mientras que
>> 8i-j4 devuelve Undefined function or variable j4.
Sabemos que la division sobre cero es infinito, mientras que la division 0/0 es
indeterminada. En notacion MATLAB >> 20/0 devuelve Inf , mientras que
>> 0/0 devuelve NaN, donde NaN esta por Not a Number.
A continuacion se describen otros comandos de utilidad general. Se recomienda
leer el help del comando antes de usarlo.
help help Lista topicos de ayuda.
what Lista archivos con extension m, MAT y MEX.
type Lista archivos tipo m.
lookfor Busca archivos m desde el teclado.
which Localiza funciones y archivos.
demo Ejecuta un demo de MatLab.
helpwin Ayuda en lnea. Se muestra en la ventana de ayuda.
who Lista las variables actuales.
whos Lista las variables actuales en forma extendida.
load Carga variables del disco al espacio de trabajo.
save Salvar variables del espacio de trabajo al disco.
clear Limpia variables y funciones de la memoria.
clc Despeja (limpia) la ventana de comandos.
278
c = [8 6 4];
donde las 3 primeras filas corresponden a la matriz formada por el comando a=magic(3),
la fila 5 se origina por el comando b = ones(1, 3)*-5.7 y la u
ltima fila corresponde
al vector c=[8 6 4 2].
B.1.3.
Creaci
on de Archivos Tipo m
279
B.1.4.
Matem
aticas
Funciones Matem
aticas Comunes
% funcionesmat.m FUNCIONES MATEM
ATICAS COMUNES
clear all; close all; clc;
% APROXIMACIONES
x1=5.92;
r1=ceil(x1);
% r1=6 (ceil REDONDEA HACIA INFINITO)
280
%
%
r2=fix (x1);
% r2=5 (fix REDONDEA HACIA CERO)
r3=floor (x1); % r3=5 (floor REDONDEA HACIA MENOS INFINITO)
r4=round([19.54646 13.656 -2.1565 0.78]);
r4=[20 14 -2 1] (round REDONDEA HACIA EL ENTERO M
AS PR
OXIMO)
TRIGONOMETRIA
r5=sin(pi/2); % r5=1 (
ANGULO EN RADIANES)
r6=sind(-90); % r6=-1 (
ANGULO EN GRADOS)
r7=cosd(60); % r7=0.5 (
ANGULO EN GRADOS)
r8=asind(1); % r8=90 (
ANGULO EN GRADOS)
ALGUNAS OPERACIONES
r9=abs (-7);
% VALOR ABSOLUTO, r9=7
r10=sign(10);
% SIGNO, r10=10/abs(10)=10/10=1
r11=gcd (9,12);
% M
AXIMO COM
UN DIVISOR ENTRE 9 Y 12, r11=3
r12=lcm (10,25);
% M
INIMO COM
UN M
ULTIPLO ENTRE 10 Y 25, r12=50
r13=mod (-12,5);
% MODULO, SI y~=0, n=floor(x./y)=-3, r13=x-n.*y=3
r14=rem (12,5);
% RESTO DE LA DIVISI
ON ENTRE 12 Y 5, r14=2
r15=nthroot (8,3); % RA
IZ C
UBICA DE 8, r15=2
CON N
UMEROS COMPLEJOS
x=3+4i;
r16=sign(x); % r16=x/abs(x)=(3+4i)/5=0.6+0.8i
Vectores y Matrices
% vectoresymatrices.m VECTORES Y MATRICES. ELEM = ELEMENTOS
clear all; close all; clc;
% C
OMO DEFINIRLOS
x = [5 7 -2 4 -6]; % VECTOR FILA, ELEM SEPARADOS POR ESPACIOS
y = [2,1,3,7];
% VECTOR FILA, ELEM SEPARADOS POR COMAS
z = [0 1 2,3 4,5]; % IDEM, ELEM SEPARADOS POR COMAS Y ESPACIOS
w = [2;1;3;7];
% VECTOR COLUMNA
A = [1 2 3
% A(1)=1, A(3)=2, A(5)=3
4 5 6];
% A(2)=4, A(4)=3, A(6)=6
B = [1 2 3;4 5 6]; % MATRIZ DE 2 FILAS Y 3 COLUMNAS AL IGUAL QUE A
% DIRECCIONAMIENTO
r1=x(2);
% r1=7
r2=x(end);
% r2=-6
r3=x(2:4);
% r3=[7 -2 4]
r4=x(1:3:5);
% r4=[5, -2 y -6]
r5=x([3 5 1]);
% r5=^[-2, -6, 1]
r6=A(2,1);
% r6=4
r7=A(2,:);
% r7=[4 5 6]
r8=A(2,2:3);
% r8=[5 6] (2da FILA, COLUMNAS DE 2 A LA 3)
r9=A(2,[3 1]);
% r9=[6 4}
r10=A([2 1],2:3); % r10=[5 6] (FILAS 2 y 1, COLUMNAS DE 2 A LA 3)
%
[2 3]
r11=A(end,[1 3]); % r11=[4 6]
% CONSTRUCCI
ON ABREVIADA DE ALGUNOS VECTORES
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
281
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
ITMICAMENTE 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
ON 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
UMEROS ALEATORIOS ENTRE 1 Y 0
r25=rand(2,4);
% MATRIZ 2 x 4 DE N
ON UNIFORME
CON DISTRIBUCI
r26=randn (2,5); % MATRIZ 2 x 5 DE N
UMEROS ALEATORIOS, DISTRIBUCI
ON
NORMAL, MEDIA 0 Y DESVIACI
ON 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
AGICA 3 x 3, CONTIENE N
UMEROS 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
ASICAS 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
ON 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
ALISIS 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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
r47=size(M);
% r47=[3 4]: DIMENSIONES DE M (3 FILAS Y 4 COLUMNAS)
r48=length(M); % DEVUELVE 4 (LA DIMENSI
ON MAYOR DE LA MATRIZ M)
r49=rank(M);
% r49=2 (2 ES EL RANGO DE M, VER help rank)
r50=rref(M);
% REDUCCI
ON MEDIANTE GAUSS
r50 =
1 0 -1 -4.6667
0 1 2 4.3333
0 0 0 0
% rank(M)=2 PORQUE EXISTEN DOS FILAS NULAS
r51=tril(M); % CREA MATRIZ TRIANGULAR SUPERIOR
r52=triu(M); % CREA MATRIZ TRIANGULAR INFERIOR
OTRAS OPERACIONES CON MATRICES
A1=[1 0 0 2
3 4 5 0
2 4 0 0];
INDICES [1;2;3,5;6;8;10]
r52=find(A1); % DEVUELVE VECTOR COLUMNA DE
r54=reshape(A1,2,6); % r54: MATRIZ 2 X 6 A PARTIR DE COLUMNAS DE A1
r54=
1
2
4
0
0
0
3
0
4
5
2
0
r55=rot90(A1); % A1 GIRA 90o , r55 TOMA LA FORMA:
2
0
0
0
5
0
0
4
4
1
3
2
r56=rot90(A1,3);
% A1 gira 270o ( 90o x 3 = 270o )
FORMEMOS LA MATRIA A2:
A2=[A1
2 4 6 3];
r57=funm(A2,@sin); % CALCULA SENO DE CADA ELEMENTO DE A2
r58=expm(A2);
% CALCULA MATRIZ EXPONENCIAL DE A2
Polinomios
% polinomios.m POLINOMIOS
%
%
%
%
283
Operaciones Relacionales y L
ogicas
% operaclogicas.m OPERACIONES RELACIONALES Y L
OGICAS
clear all; close all; clc;
% OPERADORES RELACIONALES: <
<=
>
>=
==
~=
% OPERADORES L
OGICOS: & (AND)
| (OR)
~ (NOT)
% ORDEN DE PRECEDENCIA: ~=
==
<=
>=
<
>
a =1:9; b=5-a; % a=[1 2 3 4 5 6 7 8 9], b=[4 3 2 1 0 -1 -2 -3 -4]
r1=a<6; % r1=[1 1 1 1 1 0 0 0 0], r(i)=1 SI a<6, 0 si a >= 6
r2=a==b; % r2(i)=1 SI a(i)==b(i) ES VERDADERO, 0 SI ES FALSO
r3=a~=b; % r3(i)=1 SI a(i)~=b(i) ES VERDADERO, 0 SI ES FALSO
r4=(a>b)&(b>-3); % r4(i)=1 SI (a(i)>b(i))&(b(i)>-3), 0 SI ES FALSO
c = [Inf 0 5 -8 NaN 94];
% >> exist(c) % DEVUELVE 1 PORQUE c EXISTE
% >> isnan(c)
% DEVUELVE 1 SI c(i) ES NaN Y 0 SI NO ES NaN
% >> isinf(c)
% DEVUELVE 1 SI c(i) ES Inf Y 0 SI NO ES Inf
% >> isfinite(c) % DEVUELVE 1 SI c(i) ES FINITO Y 0 SI NO LO ES
Creaci
on de Funciones
La forma general de una funcion de dos variables es:
function[a,b]=nombre_funci
on(x,y)
Por ejemplo, se desea crear la funcion de nombre calculos para calcular la suma
y la resta de dos n
umeros, 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 calculos.m se muestran a continuacion. Solo es necesario ejecutar el archivo usacalculos.m
para obtener los resultados.
% calculos.m
FUNCI
ON calculos
284
285
else n=n+1;
end
end
if n~=i disp(i)
end
end
An
alisis Num
erico y de Datos
% analisisnumerico.m AN
ALISIS NUM
ERICO
clear all; close all; clc;
ds=diff(sin(7*x) ); % DEVUELVE DERIVADA RESPECTO A x
dp=diff((exp(x)*cos(3*x*y)),y); %DEVUELVE DERIVADA PARCIAL EN y
dd=diff((sin (x^2)),2); % DEVUELVE SEGUNDA DERIVADA RESPECTO A x
ec=feval(cos,pi);
% EVAL
UA EL COSENO EN pi
ep=feval(cos, [0 pi/3 pi] ); % EVAL
UA EL COSENO EN VARIOS PUNTOS
em=feval(@cos,[0 pi/3 pi] );
% EVAL
UA EL COSENO EN VARIOS PUNTOS
INIMO
fm=fminbnd(@sind,0,360); % VALOR ENTRE 0,360, sind TOMA EL M
286
B.1.5.
Gr
aficos
% graficas2D.m GR
AFICAS 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
I 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
% graficas3D.m GR
AFICAS EN 3 DIMENSIONES
clear all; close all; clc;
figure(6)
x3=[-2 0 2 0 -2]; y3=[4 8 4 0 4]; z3=[3 5 10 5 3];
subplot(311), fill3(x3,y3,z3,b) % plot en 3D, b=blue
subplot(312), ezsurf(sin(x*y),[-2 2 -2 2])
subplot(313), x4=-720:720; y4=sind(x4); z4=cosd(x4); plot3(x4,y4,z4)
figure(7)
x = -10:0.5:10; y = -10:0.5:10;
subplot(3,1,1), [X,Y]=meshgrid(x,y); % CREA MATRICES PARA LA MALLA
Z=sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
mesh (X,Y,Z) % DIBUJA LA GR
AFICA
subplot(3,1,2), [X,Y] = meshgrid (-10:0.5:10);
Z=sin(sqrt(X .^2 + Y .^2))./sqrt(X .^ 2 + Y .^2 + 0.1); mesh(X,Y,Z)
287
B.1.6.
Matem
atica Simb
olica
% simbolica.m MATEM
ATICA SIMB
OLICA
clear all; close all; clc
% DERIVADAS E INTEGRALES
syms x n a b t theta y u;
f1=x^n; r1=diff(f1);
% r1=x^n*n/x=n*x^(n - 1), DERIVADA EN x
f2=sin(a*t + b); r2=diff(f2); % r2=a*cos(b + a*t), DERIVADA EN t
f3=exp(i*th); r3=diff(f3); % r3=exp(th*i)*i, DERIVADA EN th
r4=int(f1); % r4=x^(n+1)/(n+1), INTEGRAL INDEFINIDA EN x
f5=y^(-1); r5=int(f5); % r5=1/y, INTEGRAL INDEFINIDA EN y
f6=n^x; r6=int(f6); % r6=n^x/log(n), INTEGRAL INDEFINIDA EN n
288
%
%
%
%
%
%
%
289
% >> pretty(f34)
El comando pretty(f34) devuelve:
1/3
1
6
12
+
+
+8
a3 a2
a
B.1.7.
Simulaci
on de un Sistema de Control
M11
0
0
M22
M11 =
M22 =
P11 =
P12 =
P21 =
P22 =
d21 =
Ra
nKm KA
Ra
nKm KA
Ra
nKm KA
Ra
nKm KA
Ra
nKm KA
Ra
nKm KA
Ra
nKm KA
P=
P11 P12
P21 P22
d=
1
J1 + Jeq + m2 L2 sen2 q2
4
1
J2 + Jeq + m2 L2
4
2
n Km Kb
Beq +
Ra
1
m2 L2 q1 senq2 cos q2
2
1
m2 L2 q1 senq2 cos q2
4
n2 K m K b
Beq +
Ra
1
m2 L2 gsenq2
2
0
d21
El dise
no de un controlador backstepping emplea el procedimiento descrito en la
seccion ??, que en forma breve establece hasta el nivel de simulacion:
(1) Definir las especificaciones de dise
no y determinar el modelo no lineal del sistema 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 :
e = z1 = q q d
q r = q d Kz1
290
Lazo de control
k=1
Seales de referencia
Algoritmo de control
Almacenamiento de datos
k < N?
SI
NO
Grficos de resultados
291
292
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
AFICOS
ejex=linspace(0,N*T,N); % EJE DE TIEMPO
subplot(411)
plot(ejex,Qd1(1:N),ejex,Q1(1:N)), grid on
ylabel(POSICI
ON 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
ON 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
B.2.
Fundamentos de Simulink
B.2.1.
CONTROL u2 [v]
POSICIN q2 [rad]
CONTROL u1 [v]
POSICIN q1 [rad]
293
1
0.5
0
10
15
20
10
15
20
TIEMPO
10
15
20
10
15
20
TIEMPO
25
30
35
40
25
30
35
40
25
30
35
40
25
30
35
40
50
0
50
[S]
1
0.5
0
50
0
50
[S]
Fig. B.3: Resultado de la simulacion del sistema de control backstepping del MRE:
las posiciones de los brazos del manipulador siguen las se
nales de referencia deseada.
294
295
Simulink proporciona una gran variedad de demos para ilustrar las bondades de
este software. Para ingresar a los demos, hacer click en el boton Start ubicado en el extremo inferior izquierdo de la ventana MATLAB y luego ir a Start > Simulink > Demos.
296
B.2.2.
Creaci
on de un Modelo Simulink
Mux
Seal u
Seal v
Proceso
no lineal
grfico
Mux
disnl2_x1
x1
Referencia
r
disnl2_r
Conversin Observador
de x a z
no lineal
297
1
u
Kact
gan 5
L.s+R
sum1 subsistema
elctrico
x3
x2
n*K
1
s
M.s+B
gan 6
subsistema
mecnico
sum2
Integrador
n*E
gan 2
N
gan 3
MATLAB
Function
seno
1
x1
298
Posicin (radianes)
1
0.5
0
0.5
1
8
10
12
Tiempo en segundos
14
16
18
20
8
10
12
Tiempo en segundos
14
16
18
20
2.5
2
1.5
1
0.5
0
0.5
Bibliografa
[1] Murray R. Spiegel, Mathematical handbook, Shaums Outline Series, McGrawHill,Inc., 3ed Edition, New York et. al. 2008.
[2] W. F. Hughes and J. A. Brighton, Theory and Problems of Fluid Dynamics,
Shaums outline series, McGraw-Hill, 3ed edition, Inc., 1999.
[3] H. Goldstain, John L. Safko and Charles P. Poole Classical mechanics, 3ed.
Addison Wesley, 2001.
[4] James Curry, Hamiltonian and Lagrangian Mechanics. AuthorHouse, 2005.
ISBN-10: 1420858564. ISBN-13: 978-1420858563.
[5] Katsuhiko Ogata, Sistemas de Control en Tiempo Discreto. Prentice Hall Hispanoamericana S.A., Mexico, segunda edicion, 1996
[6] Murray R. Spiegel, An
alisis Vectorial, serie de compendios Schaum, McGrawHill Mexico Panama Bogota y otras, 1973 (o ediciones mas recientes).
[7] Murray R. Spiegel, C
alculo Superior, serie de compendios Schaum, McGraw-Hill
Mexico Panama Bogota y otras, 1973 (o ediciones mas recientes).
[8] Donald M. Wiberg, Espacio de Estado y Sistemas Lineales, serie de compendios
Schaum, McGraw-Hill Mexico Panama Bogota y otras, 1973 (o ediciones mas
recientes).
[9] Frank Ayres Jr., Matrices, serie de compendios Schaum, McGraw-Hill Mexico
Panama Bogota y otras, 1973 (o ediciones mas recientes).
[10] Alan V. Oppenheim y Alan S. Willsky, Se
nales y Sistemas Prentice-Hall Hispanoamericana, S.A., Mexico-Englewood Cliffs-Londres-Sidney y otras, 1983.
[11] Murray R. Spiegel, Transformada de Laplace, serie de compendios Schaum,
McGraw-Hill Mexico Panama Bogota y otras, 1973 (o ediciones mas recientes).
[12] A. Rojas-Moreno, Design of Self-tuning Controllers for Processes Having Multiple Unknown Time-varying Delays, Ph.D. Thesis, Utah State University, Logan,
UT, 1995.
[13] Katsuhiko Ogata, Modern Control Engineering (5th Edition), Prentice Hall,
2009.
300
BIBLIOGRAF
IA
[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. 759768, 1942.
[16] Richard C. Dorf y Robert H. Bishop, Sistemas de Control Moderno (10ma Edici
on), Pearson Prentice Hall, 2005.
[17] K.J.
Astrom y T. Hagglund, PID Controllers: Theory, Design, and Tuning.
Instrument Society of America, 1995.
[18] P. Harriot, Process Control, McGrawHill Book Co., 1964.
[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.
[20] G. H. Cohen and G. A. Coon, Theoretical consideration of retarded control,
Trans. ASME, vol. 75, pp. 827-834, 1953.
[21] Erwin Samal, Grundriss der Praktischen Regelungstechnik (11. durchsehene Auflage, R. Oldenbourg Verlag Muenchen Wien 1980.
[22] A. M. Lopez, J. A. Miller, C. L. Smith, and P. W. Murrill, Tuning controllers
with error-integral criteria, Instrumentation Technology, vol. 14, pp. 5762,
1967.
[23] A. Rovira, P. Murrill y C. Smith, Tuning controllers for setpoint changes.
Instruments and Control Systems, 42(12): 6769, diciembre de 1969.
[24] F.S. Wang, W.S. Juang y C.T. Chan,Optimal tuning of PID controllers for
single and cascade control loops. Chemical Engineering Communications, Vol.
132, pp 1534, 1995.
[25] C. Kessler, C., Das symmetrische Optimum, part 1, rt, No.11, pp. 395-400 and
part 2, rt, No.12, pp. 432-436, (1958)
[26] M. Zhuang y D. P. Atherton, Automatic tuning of optimum PID controllers,
IEE ProceedingsPart D: Control Theory and Applications, Vol. 140, No. 3, pp.
216224, 1993.
[27] D. Xue, Y. Q. Chen y D. P. Atherton, Linear Feedback Control: Analysis and
Design with Matlab, SIAM, 2007.
[28] C.A. Smith y A.B. Corripio, Control Autom
atico de Procesos, Limusa Noriega
Editores, 1996.
[29] A. ODwyer, 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 Control Systems, V. 41 (June 1968), p. 77.
BIBLIOGRAF
IA
301
[31] National Instruments, NI Developer Suite: NI LabVIEW 8.5 and Device Drivers,
Third Quarter 2008.
[32] Eduardo F. Camacho y Carlos Bordons, Model Predictive Control, SpringerVerlag London Limited, 2004.
[33] Alberto Isidori, Nonlinear Control Systems, 3ed, Springer-Verlag Berlin, 1995.
[34] A. Barrientos, L. F. Pe
nin, C. Balaguer, and R. Aracil, Fundamentos de Rob
otica,
2nd Edition, McGraw-Hill/Interamericana de Espa
na, S. A., Madrid, Buenos
aires, Caracas, and others, 2007.
[35] S. Kilicaslan, S.P. BanksLocalizacion, A separation theorem for nonlinear systems, A journal of IFAC, ISSN 0005-1098, Vol. 45, No . 4, pags. 928-935, 2009.
[36] M. G. Sofonov, Stability and Robustness of Multivariable Feedback Systems, The
MIT Press Cambridge, MA, and London, England, 1980.
[37] Jeffrey B. Burl , Linear Optimal Control, Prentice Hall, 1998.
[38] D. E. Koditschek, Natural Motion for Robot ArmsProc. 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.
[40] Asif Sabanovic, Variable Structure Systems: From Principles to Implementation,
The Institution of Engineering and Technology; illustrated edition, 2004.
[41] E. Bailey and A. Arapostathis, Simple sliding mode control scheme applied to
robot manipulators, Int. J. Control, vol. 45, No. 4, p. 11971209, 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 351356. New Jersey 07632, 1989.
[45] M. Vidyasagar, Nonlinear Systems Analysis (Second Edition), Society for Industrial and Applied Mathematics Philadelphia, PA, USA , 2001, ISBN:0898715261.
[46] Joseph La Salle and Solomon Lefschetz, Stability by Liapunovs 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.
Indice alfab
etico
Determinante, 151
de una matriz, 151
propiedades, 152
Discretizacion directa, 178
Ecuacion caracterstica, 168
Eigenvalor, 159
Eigenvector, 159
Estabilidad de sistemas, 183
Forma canonica
controlable, 174
de Jordan, 176
diagonal, 175
observable, 175
Formas canonicas, 174
Fracciones parciales, 142
Linealizacion de sistemas, 183
Matrices, 148
diagonalizacion de, 162
multiplicacion de, 148
similares, 162
Matriz
de transferencia, 167
diagonal, 150
eigenvalor de una, 159
identidad, 150
pseudoinversa de una, 160
rango de una, 157
traza de una, 150
triangular inferior, 150
triangular superior, 150
Parametros, variables y smbolos
del sistema Tanque con Agua, 27
Procesos con tiempo muerto, 181
Puntos singulares en PLITs, 168
Sistema causal, 137