Você está na página 1de 314

CONTROL DE PROCESOS

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

CONTROL DE PROCESOS PRACTICO


Y AVANZADO
c 2011 Arturo Rojas-Moreno. Todos los derechos reservados.
Copyright
ISBN
Queda rigurosamente prohibida la reproduccion total o parcial de esta obra por cualquier
medio o procedimiento, sin la autorizacion escrita del propietario del Copyright.

A la Memoria de mis Padres

Indice general
III

Prefacio

IX

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

5. Control PID SISO


5.1. Sistema de Control SISO . . . . . . . . . . . . . . . . . . . . . . .
5.2. Especificaciones de Dise
no . . . . . . . . . . . . . . . . . . . . . .
5.2.1. Especificaciones de Dise
no en el Dominio del Tiempo . . .
5.2.2. Especificaciones de Dise
no en el Dominio de la Frecuencia
5.3. Modos de Control PID . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1. La Banda Proporcional BP % . . . . . . . . . . . . . . . .
5.3.2. Control Proporcional . . . . . . . . . . . . . . . . . . . . .
5.3.3. Control Integral . . . . . . . . . . . . . . . . . . . . . . .
5.3.4. Control Derivativo . . . . . . . . . . . . . . . . . . . . . .
5.3.5. Control PID . . . . . . . . . . . . . . . . . . . . . . . . .
5.4. Control de Dos Posiciones . . . . . . . . . . . . . . . . . . . . . .
5.5. Estructuras del Controlador PID . . . . . . . . . . . . . . . . . .
5.6. Metodos de Sintonizacion de Controladores PID . . . . . . . . .
5.6.1. Metodos Basados en la Curva de Reaccion . . . . . . . . .
5.6.2. Metodos a Lazo Cerrado . . . . . . . . . . . . . . . . . . .
5.6.3. Metodos Basados en la Minimizacion de un Indice . . . .
5.7. El Efecto Windup . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8. El Algoritmo PID Discreto Modificado . . . . . . . . . . . . . . .
5.9. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6. Estrategias de Control
6.1. Control en Cascada . . . . . . . . . . . . . . . . . .
6.2. Control de la Razon . . . . . . . . . . . . . . . . .
6.3. Control Anticipativo . . . . . . . . . . . . . . . . .
6.4. Control Override . . . . . . . . . . . . . . . . . . .
6.5. Control Selectivo . . . . . . . . . . . . . . . . . . .
6.6. Control de Rango Partido . . . . . . . . . . . . . .
6.7. Control con Autosintonizacion de Parametros . . .
6.8. Control Adaptativo con Modelo Referencial . . . .
6.9. Autosintonizacion con Reconocimiento de Patrones
7. Sntesis de Controladores SISO y MIMO
7.1. Metodo de Dahlin . . . . . . . . . . . . . . . . .
7.2. Control MIMO va Desacoplamiento . . . . . . .
7.2.1. No Interaccion . . . . . . . . . . . . . . .
7.2.2. Exactitud Estatica . . . . . . . . . . . . .
7.2.3. Estabilidad . . . . . . . . . . . . . . . . .
7.3. Control MIMO con Desacopladores . . . . . . . .
7.4. Control MIMO empleando el Criterio de Hurwitz
7.4.1. Procedimiento de Dise
no . . . . . . . . .
7.4.2. El Criterio de Hurwitz . . . . . . . . . . .
7.5. Problemas . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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

B. Fundamentos de MATLAB y Simulink


B.1. Fundamentos de MATLAB . . . . . . . . .
B.1.1. El Entorno de Trabajo de MATLAB
B.1.2. Comandos y Funciones Generales . .
B.1.3. Creacion de Archivos Tipo m . . . .
B.1.4. Matematicas . . . . . . . . . . . . .
B.1.5. Graficos . . . . . . . . . . . . . . . .
B.1.6. Matematica Simbolica . . . . . . . .
B.1.7. Simulacion de un Sistema de Control
B.2. Fundamentos de Simulink . . . . . . . . . .
B.2.1. Fundamentos del Software Simulink
B.2.2. Creacion de un Modelo Simulink . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

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

Libro de consulta en temas relacionados con el dise


no e implementacion de
sistemas de control.
La organizacion de este libro comprende los captulos siguientes:
Captulo 1: Introducci
on. Este captulo presenta una introduccion sucinta sobre los sistemas de control a lazo cerrado y a lazo abierto, describiendo brevemente
sus componentes. Antes de abordar los siguientes captulos se recomienda leer los
Apendices A y B.
Captulo 2: Sistemas de Instrumentaci
on. Algunos topicos relevantes de los
sistemas de instrumentacion se tratan en este Captulo, incluyendo el calculo de placas de orificio y el dise
no de circuitos acondicionadores de se
nal.
Captulo 3: Elementos Finales de Control. Diferentes tipos de elementos de
control final son descritos en este Captulo, que tambien incluye el calculo de valvulas
de control.
Captulo 4: Modelado de Sistemas Lineales. En este captulo se elaboran y
simulan los modelos dinamicos de varios procesos de comportamiento lineal.
Captulo 5: Modelado de Sistemas No Lineales. Los modelos dinamicos no
lineales de diversos procesos son desarrollados y simulados en este captulo.
Captulo 6: Control PID. El control PID (Proporcional Integral Derivativo)
de procesos SISO (Single Input Single Output) es el mas usado en la industria. Por
ello, esta publicacion le dedica un Captulo.
Captulo 7: Control PID MIMO. Varios metodos de control PID aplicados
a procesos MIMO (Multiple Input Multiple Output), caracterizados por m
ultiples
entradas y m
ultiples salidas, se tratan en este captulo.
Captulo 8: Control Fuzzy. El control de procesos empleando inteligencia artificial esta cobrando mayor importancia en la industria en razon a sus m
ultiples
aplicaciones exitosas. Este Captulo trata sobre el control fuzzy (difuso o borroso), el
cual es una tecnica de control inteligente.
Captulo 8: Control Neuronal. Este Captulo se ocupa del control neuronal
de procesos, el cual es otra tecnica de control que emplea inteligencia artificial en su
dise
no.
Ap
endice A: Matem
atica para el Control de Procesos. Este Apendice
trata algunos topicos de matematica aplicada que son necesarios para el mejor entendimiento de los captulos presentados. Se pone enfasis en la solucion de problemas
matematicos empleando software.
Ap
endice B: Fundamentos de MATLAB y Simulink. Este captulo se ocupa de la teora y aplicaciones del paquete MATLAB/SIMULINK.

XI

VIENEN AGRADECIMIENTOS.

Arturo Rojas Moreno, Ph.D.


ctlima33@gmail.com
www.ctlima.com

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.

Sistema de Control a Lazo Cerrado

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

Fig. 1.1: Sistema de control a lazo cerrado.

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

1.1 Sistema de Control a Lazo Cerrado

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.

El Elemento Final de Control (EFC)


El controlador genera una se
nal que por si misma no posee la potencia necesaria
para provocar cambios en el proceso. Por tal razon, la se
nal de salida del controlador
va hacia el elemento final de control (EFC), el cual s posee la capacidad de efectuar
cambios en el proceso con el proposito de disminuir el error e = ry. Por consiguiente,
el EFC es el hardware que implementa la decision tomada por el controlador.
La fuente de energa com
un del EFC puede ser electrica, neumatica e hidraulica.
Ejemplos de EFC electricos son los motores AC y DC, motores paso a paso, valvu-

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.

1.2 Sistema de Control a Lazo Abierto

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

Fig. 1.3: Sistema de control de temperatura.

1.2.

Sistema de Control a Lazo Abierto

La Fig. 1.4 muestra el diagrama de bloques de un sistema de control a lazo


abierto, donde podemos observar que no existe un lazo de realimentacion. Dicho lazo
si esta presente en el sistema de control de la Fig. 1.1.
Cuando el controlador de la Fig. 1.4 se reemplaza, por ejemplo, por un PLC
(Programmable Logic Controller), entonces el sistema de control a lazo abierto se

Introducci
on

SP
r

MV
Controlador u Elemento final
anticipativo
de control

Disturbios
Proceso

PV
y Sensor ms
Transmisor
Sistema de
Instrumentacin

Fig. 1.4: Sistemas de control a lazo abierto.

convierte en un mando programable, el cual se emplea en la industria en muchas


tareas de automatizacion que tienen que ver principalmente con aperturas y cierres
temporizados de valvulas y otros actuadores. La programacion de los tiempos de la
entrada en operacion de los compresores que conforman un sistema de generacion de
aire comprimido, es un ejemplo tpico de mando programable.
El control a lazo abierto de la Fig. 1.1 se convierte en un sistema de control
anticipativo, cuando el controlador es del tipo anticipativo. En esta clase de control,
los sensores miden los valores de los disturbios, mientras que la variable manipulada
(la se
nal de control) se ajusta antes de que ocurran cambios en la variable controlada.
La estrategia de control anticipativo se trata en detalle en la seccion 6.3. Sin
embargo, cabe mencionar que este esquema de control presenta ventajas y desventajas
comparado con el control realimentado. Por una parte, es deseable porque evita la
ocurrencia de errores antes de que se reflejen en la variable controlada. Sin embargo,
para lograr aquello, se requiere de un analisis dinamico complejo de los disturbios
para que la estrategia de control trabaje efectivamente. Solo en muy pocos casos en
la industria, el control anticipativo es relevante.
Existen otras estrategias de control, ademas del control anticipativo, tales como
control de la razon de dos variables, control en cascada, control de rango partido y
control selectivo, todas las cuales seran abordadas en detalle en el Captulo 6.
Ejemplo 1.3
La Fig. 1.5 muestra un tanque empleado en la industria para el soplado (transporte)
de un producto en forma de polvo. En dicha Fig., LT y PT son transmisores para
medir el nivel del producto y la presion dentro del tanque, respectivamente. Este
ejemplo es un caso tpico de mando programable, el cual se implementa con un PLC
y valvulas ONOFF (de apertura y cierre). La apertura y cierre de tales valvulas
se realiza con un programa elaborado para tal proposito. Este programa se puede
elaborar empleando diversos metodos. Uno de los mas populares es el metodo de la
escalera. No es proposito de este libro entrar en detalles de este metodo de programacion.
Luego de elaborado y probado el programa, este se almacena en la memoria del
PLC. Para el caso que nos ocupa, tal programa satisface la siguiente secuencia logica:
ESTADO 0 (REPOSO): V2 OFF
ESTADO 1 (LLENAR PRODUCTO): V1 ON

ESTADO 2 (TANQUE LLENO): LT MAXIMO,


V1 OFF, V2 OFF, V3 ON

1.3 Din
amica Lineal de los Elementos Ideales

ESTADO 3 (TRANSPORTAR PRODUCTO): PT MAXIMO,


V4 ON, V5 ON

ESTADO 4 (SOPLAR NITROGENO):


PT MINIMA, V3 OFF, V4 OFF
ESTADO 5 (DESFOGUE/REPOSO): V2 ON, V5 OFF
TRANSPORTE
V4

DESFOGUE
V1
V2

V5
SOPLADO
ADICIONAL

ENTRADA DE
PRODUCTO

LT
PT

SOPLADO
INFERIOR
V3

Fig. 1.5: Tanque del ejemplo 1.3 para el soplado de un producto.

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

Tabla 1.1: Modelos dinamicos para elementos ideales.


Almacenador
o disipador

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)

Fig. 1.6: Smbolos de los elementos ideales.

21 = d21 /dt donde 21 en rad es el cambio de posicion angular, es facil demostrar


que T = K21 . Por ello, K esta en Nm/rad.
En la Fig. 1.6(d) se cumple que el cambio de presion p21 en N/m2 es proporcional
a la variacion del flujo q en m3 /s con respecto al tiempo. La constante de proporcionalidad I es la inercia fludica, la cual posee las unidades Ns2 /m5 puesto que la
inercia fludica se expresa como:
p21
I=
dq/dt
La Fig. 1.6(e) ilustra la capacitancia electrica C en F (faradio), en donde la
corriente i en A (ampere) que circula a traves de C es proporcional a la diferencia de
potencial v21 en V (volt) con respecto al tiempo.
La Fig. 1.6(f) muestra la masa M en kg (kilogramo), en donde la fuerza f en N
(newton) que act
ua sobre M produce la aceleracion a=dv/dt en m/s 2 , donde v en
m/s es la velocidad de la masa M.
En la Fig. 1.6(g) se cumple que el torque de torsion T en Nm es proporcional a
la aceleracion angular = d/dt en rad/s2 . La constante de proporcionalidad J en
Nms2 /rad se denomina momento de inercia y es caracterstico para cada cuerpo
dependiendo de su forma.
El flujo q en m/s3 de un fluido que existe en un conducto o recipiente (ver Fig.
1.6(h)), es proporcional a la cada o cambio de presion p21 con respecto al tiempo.
La proporcionalidad mencionada define a la capacitancia fludica Cf en m5 /N.
El flujo de calor q en J/s (joule/segundo) que circula en un conducto, es proporcional al cambio de temperatura T en grados K (kelvin) con respecto al tiempo. La

10

Introducci
on

proporcionalidad mencionada define a la capacitancia termica C t en J/K, la cual se


muestra en la Fig. 1.6(i).
La Fig. 1.6(j) muestra una resistencia electrica R en (ohm), en donde la corriente
i en A es proporcional a la cada de voltaje v21 . Notar que la proporcionalidad es la
inversa de R, la cual se denomina conductancia G=1/R y su unidad es f (mho).
La fuerza f en N que se ejerce en el amortiguador traslacional mostrado en la
Fig. 1.6(k), es proporcional al cambio de velocidad v21 . La proporcionalidad B se
denomina la constante de friccion viscosa traslacional, cuya unidad es Ns/m.
El torque T en Nm que se ejerce en el amortiguador rotacional mostrado en la
Fig. 1.6(l), es proporcional al cambio de velocidad angular 21 . La proporcionalidad
B se denomina la constante de friccion viscosa rotacional, cuya unidad es Nms/rad.
La resistencia fludica Rf se define como la variacion de la presion p21 en un
conducto o recipiente, con respecto al flujo q del fluido en m3 /s, tal como se muestra
en la Fig. 1.6(m). Por ello, Rf = p21 /q se expresa en Ns/m5 .
De igual manera, la resistencia termica Rt se define como la variacion de la temperatura T21 en grados K (kelvin) en un conducto, con respecto al flujo q de calor
en J/s, tal como se observa en la Fig. 1.6(n). Por ello, Rt posee las unidades K/J.

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.

Procesos con Comportamiento Proporcional

Un proceso SISO con comportamiento proporcional se caracteriza por poseer una


FT constante (ver Tabla 2.8), es decir, su salida y(t) es proporcional a su entrada
u(t):
y(t) = Kp u(t)
(2.1)
donde Kp es la ganancia proporcional del proceso. Los dos siguientes procesos poseen
comportamiento proporcional.

Flujo en una Tubera


La Fig. 2.1(a) muestra un tramo de tubera seccion uniforme por donde circula un
flujo y, cuya magnitud esta gobernada por la abertura u de la valvula de control. Las
letras FI (Flow Indication) dentro del crculo indican la presencia de un instrumento
de indicacion de flujo.
La respuesta al escalon (su curva de reaccion a lazo abierto) del proceso flujo se
ilustra en la Fig. 2.1(b). Considerese que para un tiempo t1 , el flujo que pasa por

12

El Proceso a Controlar

la valvula es y1 = A1 v, donde A1 es la seccion transversal correspondiente a la


abertura u1 de la valvula, v es la velocidad del flujo considerada constante y es la
densidad lquido, tambien considerada constante. Para un tiempo t2 , incrementamos
la abertura de la valvula de u1 a u2 . Consecuentemente, el flujo aumenta de y1 a y2 =
A2 v, sin experimentar retardo, donde A2 es la seccion transversal correspondiente
a la abertura u2 . La ganancia proporcional del proceso flujo es entonces:
Kp =

y
y2 y 1
=
u
u2 u 1

(2.2)

En el dominio de Laplace, la expresion generica de la FT del proceso flujo toma la


forma:
y(s) = Kp u(s)
(2.3)
donde s es el operador de Laplace.
u
u
u

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

Flujo en una Faja de Transporte


La Fig. 2.2 muestra una faja transportando un flujo de material granulado y. cuya
magnitud esta gobernada por la velocidad u en el eje de salida de una caja reductora.

2.2 Procesos de Primer Orden

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

Fig. 2.2: Proceso flujo de granos sobre una banda de transporte.

2.2.

Procesos de Primer Orden

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)

donde Kp es la ganancia proporcional del proceso y T es la constante de tiempo. Los


siguientes procesos son de primer orden.

Nivel en un Tanque Cerrado


La Fig. 2.3 muestra un tanque cerrado de seccion uniforme S, en el cual ingresa
un flujo de agua qC y sale otro flujo qD a traves de un orificio ubicado en la base
del tanque. La Tabla 2.1 describe las variables y parametros en juego. Aplicando
balance de masas en el tanque se tiene que el cambio de volumen de agua acumulado
en el interior del tanque se puede modelar como:
S

dh
= S h = qC qD
dt

(2.5)

donde h es la altura del agua y S h es el cambio de volumen de agua en el tiempo t


dentro del tanque. Para variaciones peque
nas de h y asumiendo que el flujo de salida

14

El Proceso a Controlar
q

Rebose

Fig. 2.3: Proceso tanque cerrado con orificio de salida en la base y tubera de rebose.

Tabla 2.1: Parametros y variables del proceso nivel en un tanque cerrado.


Smbolo
dS

Descripcion
Diametro del tanque

Seccion circular del tanque

Nivel del agua

Nivel del agua en estado estacionario

Valor
0.2

Unid.
m

0.0314

m2
m

qC

Flujo de agua fra hacia el tanque

qC

Estado estacionario de qC

qD

Flujo de salida desde el tanque

qD

Estado estacionario de qD

Rh

Resistencia hidraulica del tanque: Rh = h/q D

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)

donde Rh es la resistencia hidraulica del tanque, la cual se puede determinar de [13]:


Rh =

h
qD

(2.7)

donde h y q D son los valores en estado estacionario de h y qD respectivamente.


Reemplazando (2.6) en (2.44), se obtiene la ecuaci
on de estado lineal del nivel:
1
1
h =
h + qC
Rh S
S

(2.8)

En el dominio de Laplace: h = s h h(0), donde s es el operador de Laplace. Si se


tiene en cuenta que h(0) = 0 (requisito indispensable para hallar la FT del proceso),

2.2 Procesos de Primer Orden

15

(2.8) toma la forma:


Rh
h(s)
=
qC (s)
SRh s + 1

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

donde k = t/T es el tiempo discreto y T es el tiempo de muestreo. La u


ltima notacion
es mas conveniente para programacion en tiempo real. Ejecutar el programa curvah.m
para obtener la curva de reaccion de la Fig. 2.4.

16

El Proceso a Controlar

% curvah.m CURVA DE REACCI


ON DEL NIVEL DEL AGUA EN EL TANQUE CERRADO
clear all; close all; clc;
% PAR
AMETROS DEL PROCESO TANQUE CERRADO
S=0.0314; hbar=0.5; qCbar=1.666e-4; qDbar=2.16e-4; Rh=hbar/qDbar;
h=0; T=1; M=500; % PERIODO DE MUESTREO Y N
UMERO DE MUESTRAS M
for k=1:M; QC(k)=qCbar; h=h+T*(-(1/(Rh*S))*h+(1/S)*qCbar); H(k)=h; end
ejet = linspace(0,M*T,M);
subplot(2,1,1), plot(ejet,QC*6e4); grid
% CONVERSI
ON A L/min
ylabel(Flujo qC [L/min]), xlabel(TIEMPO [s])
subplot(2,1,2), plot(ejet,H); grid, ylabel(NIVEL [m]),
xlabel(TIEMPO [s]), print -f -deps curvah % GENERA FIGURA curvah.eps
11

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

Fig. 2.4: Proceso nivel en un tanque cerrado.

Temperatura en un Tanque con Agitador


La Fig. 2.5 muestra un proceso termico: temperatura en un tanque con agitador. A
este tanque ingresa un flujo q a una temperatura Ti y sale el mismo flujo q pero a una
temperatura To . Asumiendo cero perdidas se va a demostrar que la FT Ti (s)/To (s)
es de primer orden. La Tabla 2.2 describe las variables y parametros en juego.
Asumiendo que el lquido en el tanque se agita uniformemente, que los flujos
volumetricos de entrada y de salida, la densidad y capacidad calorfica del lquido
son todos constantes, y que el proceso es adiabatico (sin perdidas) debido a que el
tanque posee buen aislamiento, entonces, la ecuacion del balance de energa es:
qCp Ti qCp To = V Cv

dTo
dt

En el dominio de Laplace s, (2.12) resulta:


qCp Ti (s) qCp To (s) = V Cv (sTo To (0))

(2.12)

2.2 Procesos de Primer Orden

17

q
Ti

q
T

Fig. 2.5: Proceso temperatura en un tanque con agitador.

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

Densidad del lquido en q

Cp

Capacidad calorfica a presion constante

Cv

Capacidad calorfica a volumen constante

Volumen del lquido en el tanque

J
kg K
J
kg K
m3

Ti

Temperatura del flujo de entrada

oC

To

Temperatura del flujo de salida

oC

Sabemos que la determinacion de la FT de cualquier proceso requiere que todas las


condiciones iniciales sean nulas. En el caso que nos ocupa, tal requerimiento se cumple
si: To (0) = 0. Por lo tanto, su correspondiente FT To (s)/Ti (s) resulta:
To (s)
1
=
Ti (s)
s + 1

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.

Procesos de Segundo Orden

Circuito con Opamps


La Fig. 2.6 muestra un seguidor de voltaje y dos amplificadores operacionales
(opamps) inversores conectados en cascada. La ganancia del seguidor de voltaje es
uno. Las ganancias de los amplificadores son respectivamente:
1

Vx (s)
= sC1 1
Vi (s)
R1 + sC

Vo (s)
= sC2 1
Vx (s)
R2 + sC

Este proceso es de segundo orden porque:


1
Vo (s)
=
Vi (s)
(R1 C1 s + 1)(R2 C2 s + 1)
C1
R1

C2
R2

C1

Vi

Vi
Seguidor de voltaje

Opamp
inversor

C2

Vx

Vo
Opamp
inversor

Fig. 2.6: Proceso de segundo orden con opamps.

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

C1 sh1 (s) = q(s) q1 (s)

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

2.3 Procesos de Segundo Orden

19

Tabla 2.3: Parametros y variables del proceso temperatura en un tanque con agitador.
Smbolo

Descripcion

Unidades

q, q1 , q2

Flujos de entrada, intermedio y de salida

R1 , R2

Resistencias hidraulicas

C1 , C2

Capacitancias hidraulicas

m3
s
s
m2
m2

h1 , h2

Niveles en los tanques

m2

h1

h2

R1

R2
q2

q1

Fig. 2.7: Proceso de segundo orden con tanques en cascada.

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

En el dominio de Laplace y con condiciones iniciales nulas, la ecuacion anterior resulta:


Km u(s) = Ky(s) + Bsy(s) + M s2 y(s)
La FT y(s)/u(s) toma la forma:
y(s)
= 2
u(s)
s +
Km
Kp =
M

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

Fig. 2.8: Indicador con n


ucleo de fierro movil.

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

En el dominio de Laplace: Asy(s) = u(s). Por lo tanto, la FT de este proceso es:


Kp
y(s)
=
u(s)
s

Kp =

1
A

u(t)

Flujo u(t)

y(t)

uo
t1

y(t)

y(t)
yo

Bomba

t1

Fig. 2.9: Llenado de un tanque.

2.5 Procesos con Tiempo Muerto

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

Fig. 2.10: Esquema simplificado de un satelite.

2.5.

Procesos con Tiempo Muerto

Faja de Transporte con Tiempo Muerto


La Fig. 2.11 muestra una faja transportando granos. Observar que en el intervalo
t0 hasta t1 , el flujo de granos y0 es producido por la abertura u0 de la valvula
de cuchilla. En el tiempo t1 se incrementa la abertura de la valvula en un u, lo
cual se traduce en un incremento del flujo en un y, solo cuando dicho incremento
recorra la distancia L. Sabemos que la faja se mueve a una velocidad constante v.
Por consiguiente, el tiempo muerto que demora el flujo y en recorrer L es:
Tt =

L
v

22

El Proceso a Controlar

La FT de este proceso resulta entonces:


y(s)
= Kp eTt s
u(s)



















 





 

































































































































 




 















































 












































































 



 
 






















































 
 
 
 
 
  
 
 
 
 

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

Fig. 2.11: Faja de transporte con tiempo muerto.

Flujos en Tuberas con Tiempo Muerto


La Fig. 2.12 muestra dos flujos y1 (t) e y2 (t) que circulan por dos tuberas que
luego se juntan en una sola, en la cual se ha instalado un sensor de PH. En la tubera
com
un de longitud L, el flujo suma y(t) = y1 (t) + y2 (t) circula a una velocidad v.
Hasta el tiempo t1 , las aberturas de valvulas [u1 ]o y [u2 ]o dejan circular un flujo de yo .
En el tiempo t1 se incrementan las aberturas de las valvulas en un u1 (t) y u2 (t),
respectivamente, lo cual se traduce en un incremento del flujo total en un y(t). Este
incremento de flujo debe de recorrer una distancia L para que sea detectado por el
sensor de PH. Por lo tanto, el tiempo muerto que demora el flujo y(t) en recorrer
L es:
L
Tt =
v
La FT de este proceso toma la forma:
y(s)
= Kp eTt s
u1 (s)

2.6.

Kp =

y
u1 + u2

Procesos de Orden Superior

Proceso de Enfriamiento de Tercer Orden


En la Fig. 2.13(a), Qc es el flujo de agua a una temperatura Tc que ingresa a la
camisa de enfriamiento del tanque, con el proposito de enfriar el flujo q constante que
ingresa al tanque a una temperatura Ti . Este flujo abandona el tanque por desborde
a una temperatura T . La pared metalica del tanque se encuentra a una temperatura

2.6 Procesos de Orden Superior

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

Fig. 2.12: Flujos en tuberas con tiempo muerto.

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)

Fig. 2.13: Proceso de enfriamiento.

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

Tabla 2.4: Parametros y variables del proceso de enfriamiento en un tanque con


camisa de enfriamiento. En la Tabla, C.T.C. significa Coeficiente de Transferencia
Calorfica.
Smbolo
Qc , Qc , qc

Descripcion
Flujo de agua actual, estable y residual

Valor

Unid.
m3 /s
m3 /s

Flujo actual del producto que ingresa

Densidad de q

kg/m3

Densidad de Qc

kg/m3

Densidad de la pared de metal del tanque

kg/m3

Cp

Capacidad calorfica de q

Cv

Capacidad calorfica en el tanque

C vm

J
kgK
J
kgK
J
kgK
m3

Capacidad calorfica del metal de la pared

Volumen del producto en el tanque

Vm

Volumen de la pared de metal del tanque

T, T , t
Tci , T ci , tci
Ti , T i , t i
Tm , T m , t m

m3

Temp. actual, estable y residual de q

Temp. actual, estable y residual de Qc

Temp. actual, estable y residual de q

Temp. actual, estable y residual del metal

hi

C.T.C. de la cara interna del tanque

ho
Ai

C.T.C. de la cara externa del tanque

Area
interna de transferencia de calor

J
m2 sK
J
m2 sK
m2

Ao

Area
externa de transferencia de calor

m2

La ecuacion (2.14) tambien es valida para el estado estacionario:


qCp T i hi Ai T + hi Ai T m qCp T = V Cv

dT
dt

(2.15)

Restando (2.15) de (2.14) y teniendo en cuenta que ti = Ti T i , tm = Tm T m y


t = T T , entonces el modelo lineal residual de (2.14) resulta:
qCp ti hi Ai t + hi Ai tm qCp t = V Cv

dt
dt

(2.16)

Pasando (2.16) al dominio de Laplace y operando, se obtiene:


t(s) =

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

2.6 Procesos de Orden Superior

25

El balance de energa para la pared del tanque se formula como:


hi Ai (T Tm ) ho Ao (Tm Tc ) = Vm m CVm

dTm
dt

(2.18)

Como en el caso anterior y sabiendo que tc = Tc T c , se encuentra:


hi Ai (t tm ) ho Ao (tm tc ) = Vm m CVm
tm (s) =
K3 =

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

El balance de energa en la camisa de enfriamiento se formula como:


Qc c Cp Tci + ho Ao (Tm Tc ) Qc c Cp Tc = Vc c Cv

dTc
dt

(2.20)

La ecuacion (2.20) es no lineal debido a los productos Qc Tci y Qc Tc , los cuales se


pueden linealizar siguiendo el procedimiento de la subseccion A.6.1, ejemplo A.49,
sabiendo que: qc = Qc Qc . Esto es:
Q c Tc i

= Q c T c i + T c i qc + Q c tc i

Q c Tc = Q c T c + T c q c + Q c t c

(2.21)

Reemplazando las ecuaciones de (2.21) en (2.20) se obtiene:


dTc
dt
(2.22)
En el estado estacionario todas las variables residuales son nulas. Por consiguiente,
(2.22) toma la forma:

c Cp (Qc T ci +T ci qc +Qc tci )+ho Ao (Tm Tc )c Cp (Qc T c +T c qc +Qc tc ) = Vc c Cv

c Cp Qc T ci + ho Ao (T m T c ) c Cp Qc T c = Vc c Cv

dT c
dt

(2.23)

Restando (2.22) de (2.22) y pasando la resultante al dominio de Laplace se obtiene:


tc (s) =

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

La Fig. 2.14(a) muestra el circuito equivalente de un motor DC (direct current),


donde Rf , Lf , If y Vf son la resistencia, la inductancia, la corriente y el voltaje de
campo respectivamente, Ra , La , Ia y Va son la resistencia, la inductancia, la corriente
y el voltaje de armadura respectivamente, Tm , TL y Td son el torque motor, el torque
de carga y el torque de disturbio respectivamente, Km es la constante de motor, Kb
es la constante contraelectromotriz, es la velocidad angular, es la posicion angular
del eje, J es el momento de inercia del motor mas carga y B es la constante de friccion
del motor mas carga.

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.

Motor DC Controlado por el Campo


Cuando el motor DC esta controlado por el campo, entonces la corriente de campo
If es variable, mientras que la corriente de armadura Ia permanece constante. Las
ecuaciones en el dominio de Laplace que rigen la dinamica del motor CC en este caso
son:
Vf (s) = (Rf + Lf s)If (s)
Tm (s) = Km If (s) = TL (s) + Td (s)
TL (s) = Js(s) + B(s)

(s) = s(s)

2.7 El Motor DC

27

El diagrama de bloques para este caso se muestra en la Fig. 2.14(b). Considerando


que el torque de disturbio Td es despreciable, la FT resulta:
Gp (s) =

Km
(s)
=
Vf (s)
s(Js + B)(Lf s + Rf )

(2.25)

Si la inductancia de campo Lf es suficientemente peque


na, entonces la FT para la
posicion y para la velocidad angular toman la forma:
Gp (s) =
Gp (s) =

(s)
Vf (s)
(s)
Vf (s)

K
s( s + 1)
K

=
s + 1

J
B

K=

Km
Rf B

(2.26)

Motor DC Controlado por la Armadura


Si el motor DC esta controlado por la armadura, entonces la corriente de armadura Ia es variable, mientras que la corriente de campo If permanece constante. Las
ecuaciones en el dominio de Laplace que rigen la dinamica del motor DC en este caso
son:
Va (s) = (Ra + La s)Ia (s) + Vb (s)

Vb (s) = Kb (s)

Tm (s) = Km Ia (s) = TL (s) + Td (s)


TL (s) = Js(s) + B(s)
(s) = s(s)

(2.27)

El diagrama de bloques para esta situacion se muestra en la Fig. 2.14(c). Asumiendo


que el torque de disturbio Td es despreciable, la FT resulta:
Gp (s) =

Km
(s)
=
Va (s)
s[(Ra + La s)(Js + B) + Kb Km ]

(2.28)

Si la inductancia de armadura La es suficientemente peque


na, entonces la FT para
la posicion y para la velocidad angular toman la forma:
Gp (s) =
Gp (s) =

(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

como variables de estado x1 = , x2 = y x3 = Ia y asumimos que Td = 0 en (2.27),


se obtienen las siguientes ecuaciones diferenciales de primer orden:
x 1 = x2

x 2 =

B
Km
x2 +
x3
J
J

x 3 =

Kb
1
x3 +
Va
La
La

Si se elige como salida la posicion y = x1 y se designa a Va como la entrada u, la


forma matricial de la ecuacion de estado resulta:
x = Ax + Bu

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

Si se considera que la inductancia de armadura La es despreciable, entonces podemos


usar las FTs dadas en (2.29). Para el caso posicion , seleccionemos x 1 = y x2 =
como las variables de estado del motor, y = como la salida y u = Va como la
se
nal de entrada. Se deja como ejercicio demostrar que partiendo de la primera FT
de (2.29), la representacion en el espacio de estado resulta:


x 1
x 2

x = Ax + Bu

 

0
0 1
+ K u
=
0 1

y = Cx
y=

1 0

(2.31)


x1
x2

Para el caso velocidad angular , seleccionemos x = y = como la variable de estado


y a la vez salida y u = Va como la se
nal de entrada. Se deja como ejercicio demostrar
que partiendo de la segunda FT de (2.29), la representacion en el espacio de estado
toma la forma:
x = Ax + Bu
y = Cx
(2.32)
1
K
A=
B=
C=1

2.8.
2.8.1.

Modelo MIMO del Proceso Tanque Cerrado


Descripci
on del Proceso

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.

2.8 Modelo MIMO del Proceso Tanque Cerrado

29

Tabla 2.5: Parametros, variables y smbolos del sistema tanque con agua.
Smbolo
dA

Descripcion
Diametro del tanque

Seccion circular del tanque

Nivel del agua

Nivel del agua en estado estacionario

qC

Flujo de agua fra hacia el tanque

qC

Estado estacionario de qC

qH

Flujo de agua caliente hacia el tanque

qH

Estado estacionario de qH

qD

Flujo de salida desde el tanque

qD

Estado estacionario de qD

Rh

Resistencia hidraulica del tanque: Rh = h/q D

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

Temperatura del flujo qC

20 +270

Temperatura del flujo qH

50 +270

Temperatura del flujo qD y en el tanque

Estado estacionario de

K
35+270

Densidad del agua para qC

998

kg/m3

Densidad del agua para qH

988

kg/m3

Densidad del agua para qD

996

kg/m3

Diametro del orificio de la placa en qD

6.5

mm

Diametro de la placa de orificio en qD

15.9

mm

Cp

Calor especfico del agua

4186.8

J
kg K

Calor entregado por qH

J/s

Calor del agua en el interior del tanque

J/s

Calor que toma el flujo de salida qD

J/s

Calor que trae consigo qC

J/s

LT

Transmisor de nivel

TT

Transmisor de temperatura

FT

Transmisor de flujo

PT

Transmisor de presion

30

El Proceso a Controlar

Fig. 2.15: Sistema tanque con agua.

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)

donde A es la seccion del tanque, h es la altura del agua, Ah es el cambio de volumen


de agua en el tiempo t, qC (agua fra) y qH (agua caliente) son los flujos de entrada
al tanque y qD (agua calentada) es el flujo de salida, el cual se calcula de [14]:

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

2.8 Modelo MIMO del Proceso Tanque Cerrado

31

PT
LT= Transmisor de Nivel
TT = Transmisor de Temperatura

TT

PT= Transmisor de Presin


FT= Transmisor de Flujo

Rebose

LT

Drenaje
Agua Caliente
Agua Fra

FT

FT

Fig. 2.16: Esquema de estudio del sistema tanque con agua.

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)

donde H es calor entregado por el flujo de agua caliente qH , T es el calor del


agua en el interior del tanque, D es el calor que toma el flujo de salida qD y C
es el calor que trae consigo el flujo de entrada de agua fra qC . Cabe anotar que se
esta despreciando el calor que se libera al exterior del tanque debido a que tal tanque
es cerrado y suficientemente aislado. Las relaciones que gobiernan los flujos calorficos
descritos anteriormente son:
T

= 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

Fig. 2.17: Valores de la densidad del agua versus la temperatura.

= 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

de la variable de estado temperatura se obtiene despejando d


dt = de (2.36):
a
H H qH
C C qC
=
h+
+
Ah
D A h
D A h

(2.38)

Definamos las siguientes fuerzas de control o variables manipuladas: u1 = qC ,


u2 = qH y las siguientes variables de estado: x1 = h, x2 = y juntando las ecuaciones
(2.35) y (2.38), la ecuacion de estado que describe la dinamica del proceso tanque
cerrado con agua se formula como:

x =

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)

2.8 Modelo MIMO del Proceso Tanque Cerrado

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

La placa de orificio instalada en la tubera del flujo de salida qD produce un flujo


turbulento que para variaciones peque
nas del nivel h se puede aproximar como [13]:
qD =

2h
Rh

(2.42)

donde Rh es la resistencia hidraulica del tanque, la cual se puede determinar de [13]:


Rh =

h
qD

(2.43)

donde h y q D son los valores en estado estacionario de h y qD respectivamente.


Reemplazando (2.42) en (2.35), se obtiene la ecuacion lineal de estado del nivel:
1
1
2
h + qC + qH
h =
Rh A
A
A

(2.44)

En funcion de las variables de estado definidas anteriormente, (2.44) toma la forma:


x 1 =

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

donde el valor estacionario q D se calcula de (2.42). Tales reemplazos nos permiten


obtener la siguiente descripcion lineal de la dinamica de la temperatura:
q
C C
H H
= D +
qC +
qH
AhD
hD
AhD

(2.46)

Empleando las variables de estado definidas anteriormente, (2.46) toma la forma:


x 2 =

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

La ecuacion de salida es la misma expresion dada en (2.40).

2.9.
2.9.1.

Respuesta Transitoria de los Procesos


Respuesta al Escal
on

Asumamos que la respuesta de un sistema (su curva de reaccion) a una entrada


tipo escalon posee la forma mostrada en la Fig. 2.18, el cual es el caso en muchos
sistemas industriales denominados autoregulados. Observar en la Fig. 2.18 que la
respuesta y0 en el tiempo t1 se debe a la entrada tipo escalon u0 . Cuando la se
nal
escalon de entrada cambia de u0 a u1 , entonces se produce la curva de reaccion y(t)
mostrada, la cual empieza en t1 . Este tipo de respuesta se puede aproximar mediante
una FT de primer orden en cascada con una FT del tiempo muerto:
Gp (s) =

Kp
y(s)
=
e s
u(s)
(T s + 1)

Kp =

y1 y 0
u1 u 0

(2.49)

donde Kp es la ganancia proporcional, T es el retardo de primer orden o la constante


de tiempo y es el tiempo muerto o retardo puro. Los parametros T y se obtienen
graficamente trazando una tangente que toque el punto de tangencia (P.T.) sobre la
curva de reaccion.
La curva de reaccion mostrada en la Fig. 2.18 tambien se puede aproximar mediante una FT de orden n de la forma:
Kp
y(s)
y1 y 0
G(s) =
=
Kp =
(2.50)
n
u(s)
(Tn s + 1)
u1 u 0

Los parametros n y Tn de (2.50) se determinan empleando la Tabla 2.6.

2.9 Respuesta Transitoria de los Procesos

35
y

u
u1

u0
t

t1

Proceso
autoregulado

KP
e s
Ts + 1

y
1
P.T.
y0

t1

Fig. 2.18: Curva de reaccion de un sistema.

Tabla 2.6: Determinacion de los parametro n y Tn de (2.50).


n

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

La ganancia normalizada Kpn se determina de:


Kpn =

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)

donde T1 y T2 son dos constantes de tiempo que se relacionan mediante la ecuacion:


T1 = kT2

k>1

La constante k se determina usando la Tabla 2.7.


Tabla 2.7: Determinacion de los parametro T1 y T2 de (2.51).
k

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

2.9 Respuesta Transitoria de los Procesos

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

Fig. 2.19: Curva de reaccion para el metodo 28.3 % y 63.2 %.

2.9.3.

Otras Respuestas al Escal


on y al Impulso

Los sistemas autoregulados presentan una respuesta finita (constante o cero) a


entradas de prueba escalon o impulso. Sabemos que cuando la entrada u(t) es un
escalon o un impulso de magnitud A, sus correspondientes transformadas de Laplace
son u(s) = A/s y u(s) = A respectivamente.
El siguiente proceso de segundo orden se emplea para explicar las especificaciones
de dise
no en el dominio del tiempo como veremos en la siguiente seccion. La FT de
este sistema es:
y(s)
n2
Gp (s) =
= 2
(2.53)
r(s)
s + 2n s + n2
donde n es conocida como la frecuencia natural de oscilacion y es el coeficiente de
amortiguamiento. Cuando r(s) = A/s (entrada tipo escalon de magnitud A), y(s) en
(2.53) toma la forma:
An2
(2.54)
y(s) =
s(s2 + 2n s + n2 )
Tomando la transformada inversa de Laplace (formula (31) de la Tabla A.1) se obtiene:


n n t
y(t) = A 1
e
sen(d t + )
(2.55)
d
La Fig. 2.20 (grafico superior izquierda) muestra y(t) para A = 1 y varios valores de
. Notar que para 1 la respuesta se vuelve sobreamortiguada. La transformada
inversa de laplace de (2.54) para 1 se obtiene empleando la formula (32) de la
Tabla A.1.
Cuando u(s) = A (entrada tipo impulso), y(s) en la ecuacion (2.53) se formula
como:
An2
(2.56)
y(s) = 2
s + 2n s + n2
Tomando la transformada inversa de Laplace (formula (29) de la Tabla A.1) resulta:
y(t) =

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)

donde es el tiempo muerto, R es la razon de reaccion unitaria y Kp es la ganancia


proporcional. Los parametros R y se obtienen graficamente, tal como se ilustra en
la Fig. 2.21.
A manera de resumen, la Tabla 2.8 muestra la FT (funcion de transferencia) de
varios procesos en funcion de su comportamiento.

2.10 Problemas

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

Fig. 2.20: Respuestas al escalon y al impulso de procesos de segundo orden en funcion


del parametro .
Proceso
no autoregulado

u
A

Kp
e s
s
R = Kp

y
y

Fig. 2.21: Respuesta al escalon de un proceso no autoregulado.

2.10.

Problemas

Problema 2.1 Amplificador de Opamps


La Fig. 2.22 muestra un amplificador un seguidor de voltaje y dos opamps inversores.
Demostrar que este proceso es proporcional con ganancia K p = Rf /Ri , donde Rf ,
Ri y R son resistencias.

40

El Proceso a Controlar

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

2do orden con


(2a forma)

1er orden con


tiempo muerto

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)

2do orden con


y derivativo

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

Fig. 2.22: Circuito con opamps.

Problema 2.2 Turbina


La Fig. 8.11 muestra una turbina de agua unido a un generador electrico. Demostrar que:
Kp
M (s)
=
(s)
Ts + 1

2.10 Problemas

41

donde M (s) es el momento rotacional generado por la turbina gracias a la accion


del flujo de agua, (s) es la velocidad angular del generador y T su correspondiente
constante de tiempo. Asumir conocido cualquier otro parametro necesario.
Generador
elctrico
Turbina
Entrada
de agua
M

Desague

Fig. 2.23: Generador accionado por una turbina de agua.

Problema 2.3 Proceso Tanque Cerrado


En la subseccion 2.8.1 se determinaron el modelo de Lagrange y la ecuacion de estado
del proceso tanque cerrado
con agua. Ahora consideremos que se desea controlar el

flujo de salida qD = a h y la temperatura en el tanque . Las fuerzas de control (las


entradas), siguen siendo las mismas: qC y qH . Determinar la ecuacion de estado y el
modelo de Lagrange del proceso para esta situacion.
Problema 2.4 Tanque para Gas
La Fig. 2.24 muestra un tanque de almacenamiento de gas. Demostrar que:
1
Po (s)
=
Pi (s)
Ts + 1

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

Fig. 2.24: Tanque almacenador de gas.

es la constante del resorte, B es la constante de perdidas, v = dx/dt es la velocidad


de la masa M y x su posicion. La ecuacion dinamica de este proceso es:
dv
= u f K fB
dt
Determine la FT v(s)/u(s) y la ecuacion matricial de estado del proceso sabiendo
que x1 = v, x2 = fK , mientras que la salida es: y = x1 /K.
M

x
v

K
B

fK

fB

Fig. 2.25: Proceso mecanico traslacional.

Problema 2.6 Sistema de Plataformas


La Fig. 2.26 muestra dos plataformas P1 y P2 de masas m1 y m2 acopladas por
resorte y amortiguador. El sistema de plataformas descrito tiene como entradas de
control las se
nales u1 y u2 generadas por dos actuadores. Las se
nales de control son
capaces de llevar a cero con suficiente rapidez los errores de posicion e 2 = r2 y2 ,
donde r1 y r2 son las se
nales de referencia e y1 e y2 , las se
nales de salida a controlar,
son las posiciones individuales de las plataformas. Asuma Usted los valores de los
parametros del sistema. (a) Determinar las ecuaciones de estado y de salida del
sistema. (b) Determine el modelo de Lagrange del sistema.
Problema 2.7 Proceso T
ermico
En el sistema termico mostrado en la Fig. 2.27 se desea determinar su ecuacion
de estado, sabiendo que las entradas al sistema son el flujo de agua q1 (t) y el flujo de
calor Qi (t), mientras que las salidas son las temperaturas TM y TF . Considerar que
la temperatura Ta del medio ambiente es constante. Se sabe ademas que TF > TM ,
TF > Ta . Considerar que el flujo de salida qo es laminar. Los parametros CF y CM son
los calores especficos del fluido en el tanque y de la masa respectivamente, mientras
que RF y R : F son las resistencias hidraulicas.

2.10 Problemas

r1

 

e1

u1

R1

r2



   
   
 

43

              

 
 
 

P1

y1

Y1
K1

u2

B1
y

P2

R2

Y2
K2

B2

e2

Fig. 2.26: Plataformas acopladas.

! "! "!  $% "! "! ## "! "! "! "!  
##  

 

 

             

Ta

qi

RF

CM

CF

TM

RM

TF

VAPOR

qo

Fig. 2.27: Sistema hidraulico del problema 2.7.

Problema 2.8 Proceso Hidr


aulico
En el proceso hidraulico mostrado en la Fig. 2.28 se desea determinar su ecuacion
de estado, sabiendo que la entrada al sistema es la fuerza f (t) aplicada sobre la masa
M1 de seccion A1 y la salida es el desplazamiento x2 de la masa M2 de de seccion
A2 . B, B1 y B2 son los coeficientes de friccion viscosa mientras K es la constante del
resorte.
Problema 2.9 Proceso Hbrido
En el proceso hbrido mostrado en la Fig. 2.29 se desea determinar su ecuacion
de estado, sabiendo que la entrada al sistema es el flujo de agua q1 (t) y la salida
es el voltaje V (t) del generador. Tomar como variables de estado la presion P 1 , la
velocidad angular T del eje del motor y la corriente de armadura iG del motor.
Problema 2.10 Proceso Electromec
anico

44

El Proceso a Controlar

,,- ../
f(t)

M1

B1 /2

B2 /2

()

ACEITE

B1 /2

f1

A1

*+

f2

A2
M2

B2 /2

&' &' &' &' &' &' &' &' &' &' &' &'
K

Fig. 2.28: Sistema hidraulico del problema 2.8.


q
Po

Ra

q1

P1

T
T

G
G

TT

TG

Rc
V

Turbina

VG
KT

JT

q1

La

K b

Lc

Generador DC en paralelo

Fig. 2.29: Proceso hbrido del problema 2.9.

En el sistema electromecanico mostrado en la Fig. 2.30 se desea determinar las


funciones de transferencia (s)/R(s) y (s)/R(s). Notar que la barra dentada posee
una masa M y gira a rad/s

Ref

Tm
m

KJK

J ML ML

22A@ DC3232 A@ BDC3232 A@ BDC3232 A@ B DC


223232 E3232 E3232 EE 889 89
232 32 4432 01 5454 5454 <5454 ;:=< ;:=<
445454 >GF5454 ?>IH GF5454 ?>IH GF ?>IH GF
445445 5445 65445 76 76

Vb

Kb I a
Ia

Transductor

d
dt

KT

Fig. 2.30: Sistema electromecanico del problema 8.6.

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

Fig. 3.1: Principios de los sensores.

50

El Sistema de Medici
on

Fig. 3.2: Principios de los sensores.

Captulo 4

Elementos Finales de Control


Este Captulo

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

Elementos Finales de Control

`O_`O_aa `O_`O_ `_`_ O[\O[\ \O[\O[ ^]]^]^ \[\[


]^]^]^
aaa
]^
a
(a)

(c)

(b)

XOWXOWXOW XWXWXW
WOXXWOXWOWXXWXW Z
XWOXW ZYZY

(d)

(e)

PTSONOPNOPON RQTS PNPNPN


TSOTS

UOUOUOUOUOVUOUOUOVUOUUVU
UOUOUOVUOVUOVUOVUOVUOVUOVUVUVU
VVOVVOVV

R
S
T
(g)

(f)

(h)

Fig. 4.1: Actuadores.


(a)

(c)

(b)

(d)
(e)

(f)

(g)

(h)

Fig. 4.2: Actuadores.

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

La abertura o posicion del vastago en una valvula ONOFF esta restringida a


dos posiciones: apertura y cierre, mientras que en las valvulas de caracterstica lineal
e isoporcentual, las posicion m del vastago responde a una ecuacion que es funcion
de la constante Cv o tama
no de la valvula. Para un mejor entendimiento del tema, a
continuacion se deduce la expresion de CV para un fluido que fluye en una VCA.
La porcion de la valvula que muestra la Fig. 4.3 corresponde al cono y al asiento
de la misma, por donde fluye un producto de caudal Q, que posee un peso especfico
y una densidad . El fluido ingresa a valvula con una velocidad V1 , cruzando una
una seccion A1 y produciendo una presion P1 . El flujo sale por la abertura vastago
cono de seccion A2 , a una velocidad V2 y generando una presion P2 . El principio de
Bernoulli nos permite formular:
P1 V12
P2 V22
+
+ h1 =
+
+ h2

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)

donde la constante Cv , conocida tambien como tama


no o dimensionamiento de la
valvula, posee la expresion:
s
s
2g
GF
=Q
(4.5)
Cv = A 2
4
GF (1 )H2 O
(P2 P1 )
Esta u
ltima expresion se corrige multiplicandola por factores que toman en cuenta
perdidas, ruido, caracterstica del fluido, etc. Notar que cuando P 2 P1 = GF = 1,
entonces: Q = Cv ; es decir, el caudal iguala al tama
no de la valvula.
Bajo ciertas consideraciones, la constante Cv de la valvula ha sido adoptado por
los fabricantes y usuarios como un coeficiente de dimensionamiento. En este sentido,
esta constante se define como el caudal en galones USA por minuto (gpm) que pasa
a traves de la valvula en posicion completamente abierta y con una perdida de carga
(cada de presion) de una libra por pulgada cuadrada (psi).
En aquellos pases donde se emplean el sistema metrico, la constante de la valvula
se denomina Kv y se define como el caudal de agua (de 5 a 40 C) en m3 /h que pasa
a traves de una valvula a una determinada apertura y con una perdida de carga

54

Elementos Finales de Control

Vstago
Cono
Q, P1 , V1, A 1

Q, P2 , V 2, A 2
Asiento

h2

Fig. 4.3: Cono y asiento en una valvula de control automatica.

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)

El rango de control R de la valvula ((rangeability en ingles) se define por la


relacion:
Kvs
(4.7)
R=
Kv0
donde Kvs es la constante para valvula completamente abierta, mientras que K v0 es
el mnimo valor de la misma. El rango R toma un valor de 30 a 1 en VCAs del tipo
isoporcentual, y de 15 a 1 o de 30 a 1 en VCAs lineales.
La curva caracterstica de una VCA lineal esta regida por la relacion:
Cv = Cvmax

m
100

(4.8)

mientras que para una VCA isoporcentual:


m

Cv = Cvmax R 100 1

(4.9)

donde m es la posicion del eje o vastago de la valvula expresado en % y C vmax es el


valor maximo de Cv . El denominado factor CL , que represente la restriccion a fluir
ofrecida por la linea (tubera) y por otros elementos del proceso en la linea, se puede
calcular de:
r
B
CL = Cvmax
(4.10)
1B
donde B es la razon de cada de presion, definida como:
B=

Cada de presi
on mnima (v
alvula abierta)
Cada de presi
on m
axima (v
alvula cerrada)

(4.11)

Un factor de flujo combinado, denominado CE , se puede formular como:


CL Cv
CE = q
CL2 + Cv2

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

Fig. 4.4: Curvas caractersticas de las VCAs.

Fig. 4.5: Tipos de conos (obturadores).

4.2.2.

Carcterstica de una VCA Operando

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

Elementos Finales de Control

La experiencia dicta dicta que una cada de presion conveniente a considerar en la


VCA sera:
P0
P
2
En el rango de P = (0.1 a 0.3)P0 , es posible obtener un buen control. Sin embargo,
cuando P < 0.1, no se puede garantizar un buen rendimiento.
Por otra parte, la capacidad de regulacion de la VCA debe de mantenerse, a
un
cuando la presion nominal en la linea sea maxima. En esta situacion, como se ilustra
en la Fig. 4.6(b), pueden ocurrir oscilaciones del caudal a ambos lados del punto de
operacion A de la VCA. Esto significa que el caudal QAmax tiene que poder oscilar
a ambos lados de A. Entonces, resulta conveniente que tal punto de operacion se
ubique en el rango de 50 % al 80 % de la abertura de la valvula u. Si el punto A se
ubicara en el rango de 20 % al 40 %, entonces es posible obtener un valor adecuado
de la ganancia del sistema de control realimentado.
P1
Presin de la
bomba: P0
Q

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

Control PID SISO


El controlador PID SISO procesa la se
nal de error e(t), la cual es la diferencia entre
la se
nal deseada r(t) y la se
nal controlada y(t) (la salida del sistema), empleando un
algoritmo de control ampliamente difundido en el mundo industrial, cuya forma mas
conocida es:
Z
de(t)
Kc
= P (t) + I(t) + D(t)
e(t)dt + Kc Td
u(t) = Kc e(t) +
Ti
dt
donde Kc es la ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo.
En la expresion anterior se puede ver claramente que el algoritmo
PID posee una parte
R
c
proporcional: P (t) = Kc e(t), una parte integral: I(t) = K
e(t)dt
y una derivativa:
Ti

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.

Sistema de Control SISO

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

Control PID SISO


r

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)

Fig. 5.1: Sistemas de control realimentados.

El objetivo de control consiste en dise


nar una se
nal de control u, generada por el
algoritmo de control, que sea capaz de estabilizar la salida y del sistema con respecto
a una se
nal de referencia r. En otras palabras, que la se
nal de control u sea capaz de
minimizar la se
nal de error e = r y, cumpliendo ciertas especificaciones de dise
no
previamente establecidas, ya sea en el dominio del tiempo o en el dominio de la
frecuencia.
El sistema de control SISO realimentado mostrado en la Fig. 5.2 toma en cuenta
la accion de los disturbios dy , du y dm actuando en la salida del sistema, en la salida
del controlador y en la salida del transmisor, respectivamente, los cuales no fueron
considerados en el sistema de la 5.1(a). El objetivo de control del sistema en este caso
es m
ultiple: dise
nar una se
nal de control u que sea capaz de estabilizar la salida y
con respecto a la se
nal de referencia r, cumpliendo ciertas especificaciones de dise
no
(ver seccion 5.2) previamente establecidas, rechazando al mismo tiempo la accion de
los disturbios que act
uan sobre el sistema.
El filtro de entrada sirve para eliminar las componentes de alta frecuencia, cuya
presencia puede ser da
nina durante el funcionamiento del sistema de control realimentado. Por otro lado, para evitar posibles da
nos en el actuador del elemento final
de control, se debe de incluir un limitador, tal como el mostrado en la Fig. 5.2. La
presencia de dicho limitador puede provocar el efecto denominado windup, el cual
sera tratado en la seccion 5.7.

5.2 Especificaciones de Dise


no

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

Todo sistema de control debe de cumplir ciertas especificaciones de dise


no. Estas
especificaciones se establecen tanto en el dominio del tiempo como en el de la frecuencia. las especificaciones mas usadas en el dominio del tiempo son: error en estado
estable ess , tiempo de estabilizacion Ts , porcentaje de sobrenivel P.O. y tiempo de
subida Tr . En el dominio de la frecuencia, las especificaciones de mas aplicacion son:
ancho de banda B , margen de fase Mf y margen de ganancia Mg .

5.2.1.

Especificaciones de Dise
no en el Dominio del Tiempo

Para explicar las especificaciones de dise


no en el dominio del tiempo, se acostumbra emplear el sistema de segundo orden con realimentacion unitaria mostrado
en la Fig. 5.3(a). En la Fig. 5.3(b) se observa la respuesta transitoria a un escalon
de entrada, donde n es la frecuencia natural de oscilacion, < 1 es el coeficiente
de amortiguamiento, A es la magnitud de la entrada tipo escalon r, Mp es el valor
maximo de la salida y, Tr es el tiempo de subida, Tp es el tiempo pico, Ts es el tiempo
de estabilizacion y ess es el error en estado estable.
El tiempo Ts se define como el tiempo necesario para que la amplitud de la salida
y se mantenga dentro de una banda de magnitud (2 en total). Para la respuesta
mostrada en la Fig. 5.3(b), la magnitud de la banda 2 se mantiene en 2 % de la
magnitud A del set point, luego de transcurridas 4 veces la constante de tiempo
del sistema. Esto es:
4
(5.1)
Ts = 4
=
n
Para una referencia tipo escalon de magnitud A, el P O (porcentaje de sobrenivel)
del sistema se define como:
PO =

Mp A
100
A

(5.2)

El error en estado estable ess = r yss es la diferencia entre la se


nal de referencia
r y el valor en estado estacionario yss de la salida. Este error debe de permanecer
dentro de la banda 2 preestablecida. Para la situacion mostrada en la Fig. 5.3(b),

60

Control PID SISO

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

lm y(t) = yss = lm sGp (s)

Sin demostracion, las


PO =
Mp =
Tr =
Tp =

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

Fig. 5.3: Respuesta al escalon de un sistema de segundo orden autoregulado.

La ecuacion caracterstica del sistema de segundo orden es el denominador de la


FT mostrada en la Fig. 5.3(b):
s2 + 2n s + n2 = 0

(5.7)

5.2 Especificaciones de Dise


no

61

Sus races caractersticas o eigenvalues, ilustradas en la Fig. 5.3(c), se expresan como:


s1 = n + jd

s2 = n jd

De la Fig. 5.3(c) es facil deducir la relacion: = arc cos usada en (5.5).


En los sistemas sobreamortiguados, cuyas respuestas al escalon ocurren cuando
1, tal como se muestran en las partes superior e inferior izquierda de la Fig.
2.20, el tiempo de subida Tr se define como el tiempo en que se alcanza el 90 % de la
magnitud A de la entrada tipo escalon, y se calcula de:
Tr =

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)

Fig. 5.4: Sistema realimentado del ejemplo 5.1.

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

donde se puede determinar de la condicion P O < 3 %, a saber:

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

La repuesta en frecuencia de un sistema se define como la respuesta estacionaria


del sistema a una se
nal sinusoide de entrada. Para determinar la respuesta en frecuencia de un sistema que posee una FT G(s) = y(s)/u(s), basta reemplazar la variable
laplaciana s por j, es decir, G(j) = y(j)/u(j), donde j es la unidad de los
n
umeros imaginarios, es la frecuencia de la sinusoide de entrada u(j) = Asent,
e y(j) = Bsen(t + ) es la salida. Si se mantiene constante la amplitud A de la
entrada, para cada frecuencia de esta se
nal, la salida y(j) puede experimentar
cambios, tanto en su amplitud B como en su fase .

62

Control PID SISO

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

donde n = 1 y el coeficiente de amortiguamiento z es variable.


Soluci
on: Las Figs. 5.5, 5.6 y 5.7 muestran los graficos pedidos, los cuales se realizaron ejecutando los programas bode1.m, nyquist1.m y nichols1.m
% bode1.m
clear all; close all; clc; s=tf(s);
for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); bode(G), hold on, end
% nyquist1.m
clear all; close all; clc; s=tf(s);
for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); nyquist(G), hold on, end
% nichols1.m
clear all; close all; clc; s=tf(s);
for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); nichols(G), hold on, end

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)

5.2 Especificaciones de Dise


no

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

Fig. 5.5: Graficos de Bode para el ejemplo 5.2.

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

Fig. 5.6: Grafico de Nyquist para el ejemplo 5.2.

64

Control PID SISO

Nichols Chart
20

z=0.1

OpenLoop Gain (dB)

20

z=0.5

40

z=0.9

z=1.3

60

80

100
180

135

90
OpenLoop Phase (deg)

45

Fig. 5.7: Carta de Nichols para el ejemplo 5.2.

La frecuencia r en la que ocurre M se denomina frecuencia de resonancia y su


expresion es:
p
r = n 1 2 2
0.7
(5.10)

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)

En el sistema realimentado mostrado en la Fig. 5.10(a), las FTs a lazo abierto y


a lazo cerrado se definen como:
y(s)
= G(s)H(s) = GH(s)
e(s

y(s)
G(s)
=
r(s)
1 + GH(s)

En el dominio de la frecuencia, tales FTs se expresan como:


y(j)
= G(j)H(j) = GH(j)
e(j

y(j)
G(j)
=
r(j)
1 + GH(j)

La ecuacion caracterstica (EC) del sistema de la Fig. 5.10(b) es su denominador:


1 + GH(j) = 1 + u(j) + jv(j)
donde u(j) y (j) son la parte real e imaginaria de GH(j), respectivamente. Si tal
EC fuera cero, entonces el sistema tomara un valor muy grande. Esta situacion es

5.2 Especificaciones de Dise


no

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

denominada crtica, porque se produce cuando el sistema posee ya un comportamiento


inestable. Un sistema es estable cuando las races de la EC 1 + GH(s) = 0 poseen
parte real positiva. Las races nulas provocan tambien comportamiento inestable del
sistema realimentado.
En general:
p
v
GH(j) = arctan
GH(j) = |GH(j)|GH(j)
|GH(j)| = u2 + v 2
u
Se ha mencionado que en el lmite de estabilidad, la EC toma la forma:
1 + GH(j) = 0

GH(j) = 1

La Fig. 5.9 grafica tal situacion, donde u = 1, v = 0, |GH(j)| = 1 y GH(j) =


180 .
jv
GH(j) = 180
1

u
|GH(j)| = 1

Fig. 5.9: (a) Sistema realimentado. (b), (c) y (d): Margenes de fase y de ganancia.

El margen de ganancia Mg se define como el recproco de la ganancia |GH(j)|


para la frecuencia en que la fase de GH(j) alcanza 180o . Dado que GH(j) = u+jv,

66

Control PID SISO

dicho angulo ocurre cuando v = 0. El Mg se puede interpretar como un factor por


el cual tiene que aumentarse la ganancia del sistema para que el grafico de GH(j)
pase por el punto crtico (u, v) = (1, 0), tal como se muestra en las Figs. 5.10(b),
(c) y (d). Los sistemas estables poseen Mg positivos, mientras que el Mg es negativo
para los sistemas inestables.
El margen de fase Mf se define como el angulo de fase que debe de girar el
grafico de GH(j) = u + jv para que el punto de magnitud |GH(j)| = 1, pase a
traves del punto (u, v) = (1, 0), tal como se muestran en las Figs. 5.10(b), (c) y (d).
Los sistemas estables poseen Mf positivos, mientras que el Mf es negativo para los
sistemas inestables.
Ejemplo 5.3
Determinar los margenes de fase y de ganancia del sistema mostrado en la Fig. 5.10(a)
sabiendo que:
G(s) =

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.

Modos de Control PID

El algoritmo de control PID es la suma de las acciones o modos de control P


(proporcional), I (integral) y D (derivativo). En esta seccion abordaremos estos modos
de control. Para un mejor entendimiento del tema, emplearemos un sistema de control
con realimentacion unitaria y SP igual a la unidad,cuyo proceso posee la siguiente
FT:
s + Tz
Gp (s) =
(5.12)
(s + T1 )(s + T2 )(s + T3 )(s + T4 )(s + T5 )
En este proceso seran aplicadas las acciones de control PID. La accion de control
ONOFF se trata por separado en la siguiente seccion.

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

5.3 Modos de Control PID

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

Control PID SISO


Bode Diagram
Gm = 0.598 dB (at 0.436 rad/sec) , Pm = 2.13 deg (at 0.45 rad/sec)
40

Magnitude (dB)

20
0
20
40
60
80

Phase (deg)

90

180

270

10

10

10
Frequency (rad/sec)

10

10

Fig. 5.11: Margenes de fase y de ganancia para el ejemplo 5.3.

inversa expresada en porcentaje: BP % = 100/Kc , donde BP % es conocida como la


banda proporcional. Dicha BP se puede definir como la cantidad necesaria de cambio
porcentual en la entrada del controlador para provocar un cambio de rango completo
(100 %) en su salida, debido a la accion del control proporcional.
Es posible ajustar la cantidad de accion proporcional suministrada por el controlador. Este ajuste se refiere al cambio del ancho de la PB %, tal como se ilustra en
la Fig. 5.12, en donde la accion proporcional esta representada por la palanca y el
ajuste del ancho de la PB % se realiza desplazando el punto pivote de la palanca.
En la Fig. 5.12(a) el punto pivote esta ubicado en el centro de la palanca. Observar
que es necesario que la se
nal de error, la entrada, haga un recorrido completo (desde
su valor mnimo hasta su valor maximo) para mover el EFC (la valvula automatica
de control) desde su posicion completamente abierta a completamente cerrada. En
este caso, la PB % es 100 % porque se requiere un cambio de 100 % en la entrada para
provocar un cambio de 100 % en la salida (salida de rango completo).
Notar en la Fig. 5.12(b) que un cambio de 100 % en la entrada provoca un cambio
de 50 % en la salida. Por consiguiente, para provocar una salida de rango completo en
la salida, se requiere en teora un cambio de 200 % en la entrada, es decir, una PB %
de 200 %. En un caso real, no es posible cambiar la entrada a 200 % debido a que
100 % es lo maximo que se puede modificar. Por lo tanto, si el EFC es una valvula,
esta nunca estara ni completamente abierta ni completamente cerrada.
Para obtener una PB % de 50 %, el punto pivote debe de desplazarse hacia la
izquierda del punto medio de la palanca, tal como se observa en la Fig. 5.12(c), en

5.3 Modos de Control PID

69

donde un cambio de 50 % en la entrada es suficiente para provocar un cambio de


100 % (rango completo) en la salida.


 fg gf
 

Error
Mx.

Mn.

y yy
sstst
uuxwv uxwv xw

Error
Mx.

Mn.


 
  


Abertura de vlvula
100%

Pivote

(a) PB% = 100%

}|}|{z }|}|{z }|}|{z }|}|{z }|}|{z i}|}|{z i}|}|n{z imlk n im lk


}||}{z{z }||}{z{z }||}{z{z }||}{z{z cbb }||}{z{z }||}{z{z j}||}{z{z jj
}|}|{z{z}|}|{z{z}|}|{z{z}|}|{z{z}|}|{z{z}|}|{z{z}|}|{z{z qp oqp o
{z {z {z {z {z {z h{z rhr h

50%
0%

Abertura de vlvula
100%
50%

Pivote

0%

(b) PB% = 200%

         
  ed  ed       
          ~  ~ ~

Error
Mx.

Abertura de vlvula
100%
50%

Pivote

Mn.

(c) PB% = 50%

0%

Fig. 5.12: Cambio en la PB % para modificar la accion proporcional del controlador.


La Fig. 5.13 muestra el diagrama en bloque de un controlador P (proporcional)
caracterizado por su ganancia Kc , la cual se define como la relacion de cambios entre
la entrada y la salida:
Kc =

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

Control PID SISO

e
E

Controlador
Proporcional

u
U

Fig. 5.13: Controlador tipo P (proporcional).

de control. Se sabe ademas que el desplazamiento maximo del vastago es de U = 40


mm y que el rango de medicion de la variable del sistema controlado es de 100 o C a
500o C, lo cual significa que E = 500o C - 100o C = 400o C.
Soluci
on.- La ganancia Kc del controlador para el punto de operacion en estudio se
determina de (5.13):
3 mm/40 mm
u/U
=
=2
Kc =
e/E
15o C/400o C
mientras que la PB % se calcula de (5.14):
PB % =

5.3.2.

100
100
=
= 50 %
Kc
2

Control Proporcional

La cantidad de accion proporcional que se emplea en un proceso depende de las


caractersticas y variables propias de tal proceso. Por lo tanto, cada proceso va a
requerir una determinada BP %, dentro de la cual va a operar en la mejor forma.
En general podemos decir que si la BP es angosta (Kc suficientemente grande),
entonces un cambio peque
no en e(t) puede provocar que la se
nal u(t) haga oscilar
la salida y(t), volviendo inestable al sistema de control realimentado, tal como se
observa cuando la BP % es 48.8 (Kc = 2.05) en la Fig. 5.14. Por el contrario, una
BP muy ancha (Kc muy peque
na), genera un cambio a rango completo en e(t),
que a la vez ocasiona que u(t) apenas haga variar la salida y(t), como es el caso
cuando BP %=2000 (Kc = 0.05) en la Fig. 5.14. En conclusion, una BP muy ancha
proporciona poca accion de control proporcional, mientras que cuando la BP es muy
angosta, la accion de control es muy grande.
En muchos casos, la accion proporcional de control es la causante del fenomeno
offset o ess (error en estado estable), el cual se traduce en una desviacion permanente
entre las se
nales SP y PV. En la Fig. 5.14, las flechas con doble punta indican la
magnitud del offset para cada curva. Recordar que el SP es la unidad. Para obtener
los resultados anteriores, ejecutar el programa mcp.m listado abajo.
% mcp.m MODOS DE CONTROL P
clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(s);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5);
% PROCESO
for Kc=0.05:1:2.05; P=feedback(Kc*Gp,1); step(P,k,Tf);
% CONTROL P
hold on; end; hold off; grid; title(ACCI
ON PROPORCIONAL);
xlabel(TIEMPO); ylabel(AMPLITUD); print -deps -f mcp

5.3 Modos de Control PID

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

Fig. 5.14: Modo de control proporcional.

5.3.3.

Control Integral

La accion de control integral, o control reset, es necesaria cuando la cantidad de


offset en un proceso sujeto al control proporcional es inaceptable. Esta accion de
control se suma a menudo al control proporcional para minimizar el offset o e ss . As,
este modo de control toma el nombre de PI (Proporcional mas Integral).
La Fig. 5.16, elaborada con el programa mcpi.m mostrado abajo, muestra tres
curvas de respuesta del sistema de control realimentado, empleando un controlador
PI de la forma:
Z
Kc
KI =
u(t) = Kc e(t) + KI e(t)dt
Ti
donde KI es la ganacia integral y Ti es el tiempo reset o integral. Observar que
en todos los casos, el offset desaparece, y, conforme aumenta KI (disminuya Ti ), el
tiempo de estabilizacion, indicadas por flechas horizontales de dos puntas, disminuye,
pero, el sobrenivel tiende a aumentar. Esto u
ltimo es mas notorio para el caso K I =
0.2.
% mcpi.m MODO DE CONTROL PI CON P CONSTANTE
clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(s);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6;
% PROCESO
for Ti=3:6:15; KI=Kc/Ti; Gc=Kc+KI/s; PI=feedback(Gc*Gp,1); % CONTROL PI
step(PI,k,Tf); hold on; end; hold off; grid; xlabel(TIEMPO);
ylabel(AMPLITUD); title(ACCI
ON PROPORCIONAL M
AS INTEGRAL);
print -deps -f mcpi

5.3.4.

Control Derivativo

La accion de control derivativa, o control rate, emplea la razon de cambio de


la se
nal controlada y(t) de un proceso, para ajustar la salida u(t) del controlador.

72

Control PID SISO

ACCIN PROPORCIONAL MS INTEGRAL


1.4

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

Fig. 5.15: Modo de control proporcional mas integral.

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

donde KD es la ganancia derivativa y Td es el tiempo derivativo o rate. Observar que


para todos los casos, el offset es el mismo (y de gran magnitud), as como tambien lo
es el tiempo de estabilizacion (flecha horizontal de doble punta). Notar tambien que
conforme aumenta KD (aumenta Td ), el sobrenivel tambien crece.
% mcpd.m MODO DE CONTROL PD CON P CONSTANTE
clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(s);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6;
% PROCESO
for Td=0.1:0.5:1.1; KD=Kc*Td; Gc=Kc+KD*s; PD=feedback(Gc*Gp,1); % CONT PD
step(PD,k,Tf); hold on; end; hold off; grid; xlabel(TIEMPO);
ylabel(AMPLITUD); title(ACCI
ON PROPORCIONAL M
AS DERIVATIVA);
print -deps -f mcpd

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.

5.4 Control de Dos Posiciones

73

ACCIN PROPORCIONAL MS DERIVATIVA


0.7

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

Fig. 5.16: Modo de control proporcional mas derivativo.

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.

Control de Dos Posiciones

La accion de control de dos posiciones se implementa con un dispositivo que


posee dos condiciones de operacion: completamente ON (por ejemplo: valvula 100 %
abierta, rele activado) y completamente OFF (ejemplo: valvula cerrada del todo,
rele desactivado). La Fig. 5.17(a) muestra un sistema de control con un controlador
de dos posiciones y una valvula ONOFF (de apertura y cierre) como el EFC.
En la Fig. 5.17(b), el controlador es el dispositivo no lineal denominado rele ideal. Supongamos que queremos mantener la temperatura y(t) de un producto cerca

74

Control PID SISO

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

5.4 Control de Dos Posiciones

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

Fig. 5.18: Diagrama Simulink para el ejemplo 5.5.

CONTROL ONOFF DEL PROCESO

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

Fig. 5.19: Salida controlada y(t) y se


nal de control ONOFF u(t) para el ejemplo 5.7.

% onoff1data.m
clear all; close all; clc;
R=1; Kp=1; T=10; tau=2; Umin=0.8; Umax=1.2; swonpoint=0; swoffpoint=0;
load th; load yh; load uh; load rh;
plot(th,rh,k,th,yh,k,th,uh,k), xlabel(TIEMPO [s]), grid
ylabel(y(t) y u(t)), title(CONTROL ON-OFF DEL PROCESO)
print -f -deps onoff1r, print -s -deps onoff1

76

5.5.

Control PID SISO

Estructuras del Controlador PID

El algoritmo de control PID es el mas usado en la actualidad por la industria. Se


estima que tal algoritmo se aplica en mas del 90 % de las aplicaciones. Sin embargo, no
existe un estandar industrial de tal algoritmo. Existen varias estructuras del algoritmo
PID [29], algunas de las cuales se formulan a continuacion.
El controlador PID Ideal
El controlador PID ideal, denominado tambien controlador no interactivo, algoritmo ISA (Instrument Society of America) o controlador paralelo no interactivo se
formula como:


Z
1 t
de
u = KC e +
e dt + Td
Ti 0
dt
e = ry
(5.15)
donde u es la se
nal o fuerza de control, y es la salida controlada del sistema (permanentemente sujeta a medicion), e es la se
nal de error, r es la se
nal de referencia
deseada o set :point, Kc es la ganancia proporcional, Ti es la constante de tiempo
integral o simplemente tiempo integral, y Td es la constante de tiempo derivativa, o
simplemente tiempo derivativo.
Cabe anotar que la forma de la se
nal de error empleada: e = r y corresponde a
una accion de control inversa. Para una accion de control directa, el error se expresa
como: e = y r. Nosotros seguiremos usando la primera forma. Por otro lado, el
tiempo integral o tiempo reset Ti se expresa a menudo como la tasa integral o reset
Tr = 1/Ti .
En el dominio de Laplace, (5.15) se expresa como:


u(s)
Kc
1
Gc (s) =
= Kc 1 +
+ Td s = K c +
+ K c Td s
(5.16)
e(s)
Ti s
Ti s
El controlador PID Paralelo
El controlador PID paralelo, denominado tambien paralelo ideal, no interactivo,
independiente o independiente de la ganancia, es una variacion del controlador ideal
de (5.16) y se formula en el dominio de Laplace como:
Gc (s) =

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

5.5 Estructuras del Controlador PID

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)

donde T es la constante de tiempo del filtro. Dado que el ruido en el sistema se


amplifica principalmente por la accion derivativa, entonces T se puede formular proporcional al tiempo derivativo como sigue:
T = Td

ef (s) =

1
e(s)
1 + Td s

(5.19)

Introduciendo en (5.16) el filtro dado en (5.19), se obtiene el siguiente controlador


PID ideal filtrado:



u(s)
1
1
Gc (s) =
1+
= Kc
+ Td s
(5.20)
e(s)
1 + Td s
Ti s
El Controlador PID con Parte Derivativa Filtrada
El controlador PID con parte derivativa filtrada, denominada tambien no interactiva, posee la expresion:
!
1
Td s
u(s)
= Kc 1 +
+
3 N 10
(5.21)
Gc (s) =
e(s)
Ti s 1 + TNd s
El Controlador PID Cl
asico
El controlador PID clasico mostrado se denomina tambien controlador en cascada,
interactivo, serie, interactuante, analogo o comercial y se describe como:
!


1 + Td s
1
u(s)
3 N 10
(5.22)
= Kc 1 +
Gc (s) =
e(s)
Ti s
1 + TNd s
El Controlador PID Cl
asico Generalizado
El controlador PID clasico generalizado mostrado, con 3 N 10 se formula
como:
!

bf 0 + bf 1 s + bf 2 s2
u(s)
Td s
1
Gc (s) =
(5.23)
= Kc 1 +
+
e(s)
Ti s 1 + TNd s
1 + a f 1 s + a f 2 s2
El Controlador PID Dependiente
El controlador PID dependiente se denomina tambien controlador serie, interactuante o de algoritmo analogo, y se describe como:



1
u(s)
0
0
= Kc 1 + 0
1 + Td s
(5.24)
Gc (s) =
e(s)
Ti s

78

Control PID SISO

La expresion dada en (5.24) se puede reordenar como:


#
"


0 0
0
0
T
T
s
1
1
0 Ti + T
i
d
d
+ Td s
= Kc 1 +
1+
Gc (s) = Kc
+ 0
0
0
0
0
Ti s
Ti
Ti + T d s Ti + T d

(5.25)

La estructura en (5.25) es semejante a la estructura dada en (5.15) con:


0

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

Resolviendo el sistema de ecuaciones dadas en (5.26) se obtiene:




p
0
Kc = 0.5Kc 1 + 1 4Td /Ti


p
0
Ti = 0.5Ti 1 + 1 4Td /Ti


p
0
Td = 0.5Td 1 + 1 4Td /Ti

(5.26)

(5.27)

Cuando Td = Ti /4 en (5.27), los parametros de sintonizacion se convierten en:


0

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

En un sistema de control realimentado, el controlador PID debe generar la se


nal
de control que actuando sobre el sistema, provoque que la salida de dicho sistema siga
a una se
nal de referencia, cumpliendo ciertas especificaciones de dise
no previamente
establecidas. Este objetivo de control se logra determinando los valores adecuados
de los parametros Kc , Ti y Td del controlador. En otras palabras, sintonizando los
parametros del controlador. Existen diversos metodos de sintonizacion, algunos de
los cuales vamos a explorar e ilustrar con aplicaciones. La referencia [29] contiene un
lista exhaustiva de las reglas de sintonizacion de varias estructuras de controladores
PI y PID aplicados a diversos tipos de plantas.

5.6.1.

M
etodos Basados en la Curva de Reacci
on

La respuesta de un proceso a un escalon se denomina la curva de reaccion. En


un procesos autoregulado, su curva de reaccion tiende a un estado estacionario, que
tambien puede ser el estado cero, tal como ocurre en los procesos descritos por las
siguientes FTs:
Gp (s) =

Kp
Ts + 1

Gp (s) =

Kp
(T1 s + 1)(T2 s + 1)

En contraposicion, los procesos no autoregulados poseen una curva de reaccion no


estacionaria, dado que crece continuamente en el tiempo, tal como acontece en los
procesos descritos por las siguientes FTs:
Gp (s) =

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

Control PID SISO


CONTROL PID USANDO EL MTODO DE LA TANGENTE
1.2

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

Fig. 5.20: Salida controlada del ejemplo 5.6.

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

Fig. 5.21: Diagrama Simulink para el ejemplo 5.7.

CONTROL DEL SISTEMA G(s)=Kp*exp(tau*s)

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

Fig. 5.22: Salida controlada y se


nal de control para el ejemplo 5.7.

r=1; N=3; Kp=2; tau=2; Kc=0.7/(Kp*tau); Ti=2.66*tau; Td=tau;


load th; load yh; load uh; load rh;
subplot(211), plot(th,rh,th,yh), xlabel(TIEMPO [s]),
ylabel(SALIDA y(t)), title(CONTROL DEL SISTEMA G(s)=Kp*exp(-tau*s))
subplot(212), plot(th,uh), xlabel(TIEMPO [s]), ylabel(CONTROL u(t))
print -f -deps hartree1graf, print -s -deps hartree1

82

Control PID SISO

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

En algunos procesos, el tiempo muerto es bastante peque


no, por lo que es
dificultosa su cuantificacion. Para estos casos, es conocido un metodo de calculo que
consiste en localizar en la curva de reaccion las tazas de cambio mas altas, las cuales
ocurren en los tiempos t1 = + T /3 y t2 = + T . Estos tiempos corresponden al
28.3 % y 63.2 % del valor maximo de la curva de reaccion, tal como se muestra en la
Fig. 5.23. Conociendo t1 y t2 , los parametros T y se determinan de:
T =

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 )

donde: [Ta , Tb , Tc , Td , Te ] = [0.5, 1, 1.5, 2, 2.5] y Kp = 20.

5.6 M
etodos de Sintonizaci
on de Controladores PID

83

y
100%
63.2%
28.3%
t

t2

Fig. 5.23: Tazas de cambio mas altas de la curva de reaccion.

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

Control PID SISO

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

Control PID SISO

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

3. Respuesta periodica con sobrenivel del 20 % en la salida controlada y a cambios


tipo escalon de la entrada r, sin presencia del disturbio d, y para un coeficiente
de amortiguamiento de 0.4 < < 0.8, tal como se muestra en la Fig. 5.27(d).
4. Respuesta aperiodica con sobrenivel del 20 % en la salida yd controlada a cambios tipo escalon del disturbio d, sin presencia de la se
nal r, y para un coeficiente
de amortiguamiento de 0.4 < < 0.8, tal como se muestra en la Fig. 5.27(e).
Observar que en esta situacion tambien existe rechazo al disturbio, ya que y d
tiende a cero.
d
D
r

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)

Fig. 5.27: Metodo de ChienHronesReswick.

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

Control PID SISO

Tabla 5.4: Metodo de ChienHronesReswick para determinar K C , TI y TD .


Tipo

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.

Para propositos de comparacion emplear los controladores PID, PI D y PI Dy. Para


el control PID y PI D emplear el diagrama de bloques de la Fig. 5.25(b), mientras
que para el control PIDy usar el diagrama de bloques de la Fig. 5.25(c).

90

Control PID SISO

Tabla 5.5: Metodo de Cohen y Coon para hallar los parametros K C , TI y TD .


Tipo

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

Fig. 5.30: Respuestas controladas empleando controladores tipo PID, PI D y PI Dy


y el metodo de Cohen-Coon.

% cohen.m CONTROL PID, PI_D Y PI_Dy EMPLEANDO EL M


ETODO DE COHEN-COON
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; % K=10*31.5
tau=1; T=30-tau;
% TOMADOS DE LA CURVA DE REACCI
ON
a=Kp*tau/T; L=tau/(tau+T); Kc=1.35/a*(1+0.18*L/(1-L));
Ti=(2.5-2*L)*tau/(1-0.39*L); Td=(0.37-0.37*L)*tau/(1-0.8*L); N=10; % 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
step(PID,k,PI_D,k,PI_Dy,k); grid; title(SALIDAS CONTROLADAS);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f cohen

5.6 M
etodos de Sintonizaci
on de Controladores PID

5.6.2.

91

M
etodos a Lazo Cerrado

Los metodos de sintonizacion que emplean la curva de reaccion del proceso, se


dise
nan a lazo abierto. En cambio, otros metodos de sintonizacion emplean ciertas
caractersticas que solo se presentan cuando el proceso esta operando a lazo cerrado.
Algunos de estos metodos se describen a continuacion.

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)

donde los parametros n y Tn se determinan de la Tabla 2.6 (ver ejemplo 2.3). En


la Fig. 5.31(b), Vo = Kp Kc es la ganancia a lazo abierto del sistema realimentado,
donde Kc es la ganancia del controlador. En esta figura, los valores de Vo para los
controladores I y PI se leen en el eje Vo de la izquierda, mientras que los valores de
Vo para los controladores P y PID se leen en el eje Vo de la derecha.
En la Fig. 5.31(c), Ti es el tiempo integral. El eje Ti /T ubicado a la izquierda de
esta figura permite determinar Ti para los controladores I, PI y PID, mientras que el
tiempo derivativo Td del controlador se determina empleando la curva PID indicada
como Td /T . La Fig. 5.31(d) permite determinar M conociendo la magnitud D del
disturbio tipo escalon, mientras que la Fig. 5.31(e) se emplea para determinar T s .
Ejemplo 5.12
Se desea controlar el siguiente sistema empleando el metodo de Samal:
Gp(s) =

Kp
(s + T1 )(s + T2 )(s + T3 )(s + T4 )

donde: [T1 , T2 , T3 , T4 ] = [1, 1.5, 2, 2.5]. Para propositos de comparacion emplear


los controladores PID ideal (ecuacion (5.16)), PI D interactivo (ecuacion (5.24)) y
PI Dy (PID mejorado, ecuacion (5.29)). Para el control PID y PI D emplear el
diagrama de bloques de la Fig. 5.1(b), mientras que para el control PI Dy usar el
diagrama de bloques de la Fig. 5.1(c).
Soluci
on: El grafico superior de la Fig. 5.32 muestra la respuesta al escalon (la curva
de reaccion) del sistema. De esta curva se pueden obtener los parametros = 0.8 s
y T = 3.9 = 3.1 s. Empleando la Tabla 2.6 se obtiene aproximadamente n = 3
y Tn = 0.270. De la Fig. 5.31(b) se determina Vo = 2 y Kc = V o/Kp , mientras que
de la Fig. 5.31(c) se calcula Ti = 1.8Tn y Td = 0.7Tn . El grafico inferior de la Fig.
5.32 ilustra la comparacion entre las salidas controladas. Tales resultados se obtienen
ejecutando el programa samal1.m listado abajo.

92

Control PID SISO


d

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.

% samal.m CONTROL PID, PI_D Y PI_Dy EMPLEANDO EL M


ETODO DE SAMAL
clear all; close all; clc; Kp=10; Tb=1; Tc=1.5; Td=2; Te=2.5; s=tf(s);
Gp=Kp/(s+Tb)/(s+Tc)/(s+Td)/(s+Te); subplot(211); step(Gp,k); grid;
title(RESPUESTA AL ESCAL
ON); xlabel(TIEMPO); ylabel(AMPLITUD);
% tau=0.8; T=3.9-tau=3.1; % tau/T=0.258 => n=3 => Tn/tau=0.270
% Gm(s)=Kp/(Tn*s+1)^n % MODELO DEL PROCESO SEG
UN SAMAL
Tn=0.216; Vo=2; Kc=Vo/Kp; Ti=1.8*Tn; Td=0.7*Tn; 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=Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);

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

Control PID SISO

K crit

PID

Proceso

y
R
T crit
t

Fig. 5.33: Metodo de la oscilacion crtica de Ziegler y Nichols.

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

Fig. 5.34: Oscilaciones sostenidas (primer grafico) para Kp = Kcrit y respuestas


controladas (grafico inferior) para el ejemplo 5.13.

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

Control PID SISO

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

Fig. 5.35: Oscilaciones sostenidas (primer grafico) para Kp = Kcrit y respuestas


controladas (grafico inferior) para el ejemplo 5.18.

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

Las reglas son:


Kc = 0.3Kcrit

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

El segundo grafico de la Fig. 5.36 ilustra la salidas controlada. Tales resultados se


obtienen ejecutando el programa yu1.m listado abajo.
OSCILACIN CRTICA

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.

% yu1.m CONTROL PI EMPLEANDO LAS REGLAS DE YU CON LA OSCILACI


ON CR
ITICA
clear all; close all; clc; s=tf(s); Kp=2; af1=1; af2=1; bf0=1; bf1=1;
bf2=1; [num,den]=pade(2,3); Gtau=tf(num,den); Gp=Kp*Gtau; % Gp: PROCESO
Kcrit=0.45; G_c0=feedback(Kcrit*Gp,1); subplot(211); step(G_c0,k);
grid; title(OSCILACI
ON CR
ITICA); xlabel(TIEMPO);ylabel(AMPLITUD);
Tcrit=4; % TOMADO DE LA OSCILACI
ON CR
ITICA

98

Control PID SISO

Kc=0.3*Kcrit; Ti=2.3*Tcrit; Td=0; N=3; % PAR


AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N));
Gc2=(bf0+bf1*s+bf2*s^2)/(1+af1*s+af2*s^2); Gc=series(Gc1,Gc2);
PID=feedback(Gp*Gc,1); subplot(212); step(PID,k); xlabel(TIEMPO);
grid; title(SALIDA CONTROLADA); ylabel(SALIDA); print -deps -f yu1

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

Fig. 5.37: Diagrama de bloques del sistema realimentado empleado en el metodo de


sintonizacion mediante rele.

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

% relay.m RESPUESTA A LAZO CERRADO CON UN REL


E COMO CONTROLADOR
clear all; close all; clc;
% PROGRAMA PARA PRODUCIR LA OSCILACI
ON SOSTENIDA
x1=0; x2=0; x3=0; x4=0; x5=0; % CONDICIONES INICIALES
T = 0.01; M = 8000; L=0.1;
for k = 1:M
r=1; R(k) = r; e=r-x1;
% REFERENCIA ESCAL
ON r Y ERROR e
if(e>=0), u=L; else u=-L; end % FUNCI
ON REL
E
U(k)=u; % LEY DE CONTROL u
x1=x1+T*(-x1+x2); x2=x2+T*(-x2+x3); x3=x3+T*(-x3+x4); x4=x4+T*(-x4+x5);
x5=x5+T*u; X1(k)=x1; % SALIDA DEL PROCESO
end
ejet = linspace(0,M*T,M); subplot(311); plot(ejet,R,ejet,X1); grid
ylabel(SALIDA y); xlabel(TIEMPO);

100

Control PID SISO

subplot(312); plot(ejet,U); ylabel(CONTROL u); xlabel(TIEMPO)


% PROGRAMA PARA CONTROLAR EL PROCESO Gp(S)
s=tf(s); Gp=1/(s*(s+1)^4); % FT DEL PROCESO
a=0.25; Tcrit=15; Kcrit=4*L/(pi*a); % 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); %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(313); step(PID,k,PI_D,k,PI_Dy); title(SALIDAS CONTROLADAS);
xlabel(TIEMPO); ylabel(SALIDA y); print -deps -f relay

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

Fig. 5.40: Metodo de las oscilaciones amortiguadas de Harriot.

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

Fig. 5.41: Oscilaciones amortiguadas (grafico superior) para K c = Ko y respuestas


controladas (grafico inferior) para el ejemplo 5.17.

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

Control PID SISO

Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,GF); % CONTR PI_D


Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gcd,GF);
% CONTROL PI_Dy
subplot(212); step(PID,k,PI_D,k,PI_Dy,k); xlabel(TIEMPO); grid
title(SALIDAS CONTROLADAS); ylabel(SALIDA); print -deps -f harriot

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

La Fig. 5.43 muestra un sistema de control SISO realimentado, donde e(s) =


r(s)y(s) es el error del sistema, r(s) la se
nal deseada o SP e y(s) la salida controlada
o PV. Ademas, G(s) es una FT que incluye el controlador, el EFC y el proceso,
mientras que H(s) comprende el sensor y el transmisor. De la Fig. 5.43 se deduce:
e(s) = r(s)y(s) = r(s)H(s)G(s)e(s);

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)

Fig. 5.43: Sistema de control SISO realimentado.

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

Control PID SISO

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

CONTROL DE G(s)=Kp*exp(tau*s) USANDO ITAE


1.2
1
0.8

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)

Metodo de Zhuang y Atherton


El metodo de Zhuang y Atherton [26] minimiza los criterios ISE, IST E e IST 2 E
empleando controladores PI y PID ideales. La Tabla 5.9 muestra las formulas de
sintonizacion que se pueden aplicadar a procesos que aceptan un modelo dinamico
como el de la ecuacion (5.32) y que esten sujetos a cambios tipo escalon en la se
nal
de referencia del sistema de control, tal como se muestra en la Fig. 5.1(a).
Por otro lado, si prescindimos de la ganancia Kc de la parte derivativa del controlador PID mejorado dado en (5.29), el algoritmo de control toma la forma:
u(s) = Kc e(s) +

Td s
Kc
e(s)
y(s) = P (s) + I(s) + D(s)
Ti s
1 + Td s/N

(5.39)

La Tabla 5.10 muestra las reglas de sintonizacion para el controlador descrito en


(5.49). Tales reglas se pueden aplicar a procesos que aceptan un modelo dinamico

106

Control PID SISO

Tabla 5.9: Metodo de Zhuang y Atherton para determinar Kc , Ti y Td en un controlador ideal.


Rango de /T
Tipo

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

como el de la ecuacion (5.32) y que esten sujetos a cambios tipo escalon en la se


nal
de referencia del sistema de control (ver Fig. 5.1(a)).
Tabla 5.10: Metodo de Zhuang y Atherton para determinar Kc , Ti y Td en un controlador cuya accion derivativa se encuentra en la realimentacion.
Rango de /T
Tipo

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

CONTROL PID USANDO ISE


1.5

SALIDA

0.5

0.5

1.5

10

15

20
TIEMPO (sec)

Fig. 5.45: Control PID del sistema Gp (s) =

Kp
T s+1

25

30

35

40

e s usando ISE (ejemplo 5.20).

% zh1.m CONTROL PID USANDO ISE


clear all; close all; clc; s=tf(s); Kp=2; tau=2; T=20; % tau/T=0.1
a1=1.048; b1=-0.897; a2=1.195; b2=-0.386; a3=0.489; b3=0.888; N=10;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp/(T*s+1)*Gtau; % PROCESO A CONTROLAR
Kc=(a1/Kp)*(tau/T)^b1; Ti=T/(a2+b2*(tau/T)); Td=(a3*T)*(tau/T)^b3;
Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID
step(PID,k); title(CONTROL PID USANDO ISE);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f zh1

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

Control PID SISO

Tabla 5.11: Metodo de Kessler para hallar los parametros K c , Ti y Td .


Sistema Gp (s)

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)

donde: Kp = 1, T1 = 20, T2 = 10, = 1, t = t1 = T = 0.25, y, T1 > 4T ,


T1 > T2 > T . Este proceso se puede estabilizar con un controlador PID, tal como se
observa en la Fig. 5.46, resultado que se obtiene ejecutando el programa kessler2.m
listado abajo.
% kessler2.m CONTROL PID EMPLEANDO EL M
ETODO DE KESSLER
clear all; close all; clc;
Kp=1; T1=20; T2=10; mu=1; tmu=0.5; Tsigma=tmu; s=tf(s);
Gp=Kp/(1+T1*s)/(1+T2*s)/(1+tmu*s); % PROCESO
subplot(211); step(Gp); grid;
title(RESPUESTA AL ESCAL
ON); xlabel(TIEMPO); ylabel(AMPLITUD);
KC=T1/(2*Kp*Tsigma); TI=4*Tsigma; TD=T2;
Gc=KC*(1+1/TI/s)*(1+TD*s); PID=feedback(Gp*Gc,1);
% CONTROL PID
subplot(212); step(PID); grid;
title(SALIDA CONTROLADA); xlabel(TIEMPO); ylabel(SALIDA);
print -deps -f kessler2

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.

% kessler1.m CONTROL PID EMPLEANDO EL M


ETODO DE KESSLER
clear all; close all; clc;
Kp=0.2; T2=1; mu=1; tmu=0.2; Tsigma=tmu; s=tf(s);
Gp=Kp/s/(1+T2*s)/(1+tmu*s); % PROCESO
subplot(211); step(Gp); grid;
title(RESPUESTA AL ESCAL
ON); xlabel(TIEMPO); ylabel(AMPLITUD);
KC=1/(2*Kp*Tsigma); TI=4*Tsigma; TD=T2;
Gc=KC*(1+1/TI/s)*(1+TD*s); PID=feedback(Gp*Gc,1);
% CONTROL PID
subplot(212); step(PID); grid;
title(SALIDA CONTROLADA); xlabel(TIEMPO); ylabel(SALIDA);
print -deps -f kessler1

110

Control PID SISO


RESPUESTA AL ESCALN
300

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

Tabla 5.12: Parametros ai para calcular Kc , Ti y Td para el control de sistemas tipo


IP (ecuacion (5.41)).
Criterio

a1

a2

a3

a4

a5

ISE

1.03

0.49

1.37

1.496

0.59

ITSE

0.96

0.45

1.36

1.66

0.53

ISTSE

0.9

0.45

1.34

1.83

0.49

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)

Fig. 5.48: Control PID del sistema Gp (s) =

25

Kp
s

30

35

e s (ejemplo 5.23).

% zh2.m CONTROL PID USANDO ISE


clear all; close all; clc; s=tf(s); Kp=2; tau=2; T=20; % tau/T=0.1
a1=1.03; a2=0.49; a3=1.37; a4=1.496; a5=0.59; N=10;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp/(s)*Gtau; % SISTEMA A CONTROLAR
Kc=a3/(Kp*tau); Ti=a4*tau; Td=a5*tau;
Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID
step(PID,k); title(CONTROL PID USANDO ISE);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f zh2

112

Control PID SISO

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)

mientras que para el controlador PID, se tiene:


"
 0.65 #
1
T
1.111T
Ti = 2 1 +
Kc =
h
i2
2

0.65
Kp

1 + T

Td =

Ti
4

(5.44)

Ejemplo 5.24

Se desea controlar el sistema con FT Gp (s) =


2.

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)

Debido a la presencia del integrador y a la raz inestable s = 1/T , el controlador


PID parece ser el mas adecuado para controlar tales sistemas. Las formulas para
determinar los parametros del controlador PID son [27]:

 0.02   
  b2
a 1   b1
Kc =
Ti = a 2 T
Td = a 3 T 1 b 3
Kp T
T
T
T
(5.46)
Los parametros ai , bi y se pueden obtener de la Tabla 5.13 para diferentes criterios.

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)

Fig. 5.49: Control PID del sistema Gp (s) =

Kp
s(T s+1)

e s usando ISE (ejemplo 5.24).

Tabla 5.13: Parametros ai para calcular Kc , Ti y Td para el control de sistemas tipo


IPT1 inestables (ecuacion (5.45)).
Criterio

a1

b1

a2

b2

a3

b3

ISE

1.32

0.92

4.00

0.47

3.78

0.84

0.95

ITSE

1.38

0.90

4.12

0.90

3.62

0.85

0.93

ISTSE

1.35

0.95

4.52

1.13

3.70

0.86

0.97

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

Control PID SISO


CONTROL PID USANDO ISTSE
6

SALIDA

10

20

30
40
TIEMPO (sec)

Fig. 5.50: Control PI-D del sistema Gp (s) =

Kp
s1

50

60

70

e s usando ISTSE (ejemplo 5.25).

step(PI_D,k); title(CONTROL PI_D USANDO ISTSE);


xlabel(TIEMPO); ylabel(SALIDA); print -deps -f zh4

5.7.

El Efecto Windup

En toda implementacion practica, la se


nal de salida del controlador debe de estar
limitada por dos razones. La primera es que su magnitud no debe de exceder el rango
permitido por el sistema de adquisicion de datos, y la segunda razon es que su valor
no debe de exceder el rango permitido por el actuador. Por estas razones es que
debemos de introducir un limitador a la salida del controlador. Lamentablemente
este limitador, el cual es un elemento no lineal, es el causante del efecto denominado
en ingles windup (saturacion), el cual se explica a continuacion.
La Fig. 5.51 muestra el diagrama en Simulink empleado para explicar el efecto
windup. Ejecutando primero el programa windup.mdl y luego el programa windupgraf.m se obtiene la Fig. 5.52, en donde se observa que cuando ocurre un cambio
tipo escalon en la se
nal de referencia r(t) (primer grafico), la se
nal de error positiva
inicial (1 y(t)) se hace bastante grande, provocando que la se
nal de control u(t)
(segundo grafico) alcance rapidamente el valor lmite de saturacion u m . A pesar de
que la se
nal de salida y(t) iguala al valor de referencia en el tiempo t1 , lo cual genera
una se
nal de error (1 y(t)) negativa debido al valor grande de la se
nal y i en la salida
del integrador, la se
nal de control u(t) permanece en el valor de saturacion maximo
um . Esto causa que la salida y(t) se incremente continuamente hasta que se alcance

5.8 El Algoritmo PID Discreto Modificado

115

el tiempo t2 , y la accion negativa de la se


nal de error comience a tener efecto.
Observar en el primer grafico de la Fig. 5.52 que el efecto windup provoca un
aumento del sobreimpulso y del tiempo de estabilizacion en la se
nal controlada y(t).
Por otro, si el algoritmo PID empleado es del tipo discreto, el fenomeno windup
no es tan notorio, a
un cuando la se
nal de control este limitada, debido a que el
algoritmo discreto no emplea la suma de los errores para generar el termino integral
del controlador. Lo que se emplea es el calculo recursivo como veremos mas adelante.

windup .mdl ILUSTRA EL EFECTO WINDUP

yi
Step =1

1.12s

Kc=5

Ti =1.12
t
t

Scope

Clock

yi

10
yi

s4 +10s3 +35s2 +50s+24

um =3.5

Transfer Fcn
y
y

Fig. 5.51: Diagrama Simulink para explicar el efecto windup.

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.

El Algoritmo PID Discreto Modificado

La forma estandar del algoritmo PID mostrado en (5.15) se puede modificar


introduciendo ciertas caractersticas con la finalidad de que su rendimiento mejore
sustancialmente. Por ejemplo, no podemos evitar la ocurrencia fortuita de cambios

Control PID SISO

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]

Fig. 5.52: Graficos para explicar el efecto windup.

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

s4 +10s3 +35s2 +50s+24


SATURACIN

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.

bruscos del error e, los cuales pueden incrementar el termino derivativo:


de(t)
d
= (r(t) y(t))
dt
dt
Este fenomeno es conocido en ingles como derivative kick (puntapie derivativo) y
su efecto se puede apaciguar si es que utilizamos como se
nal de entrada u
nicamente

5.8 El Algoritmo PID Discreto Modificado

117

CONTROLADOR PID CON MECAISMO ANTI WINDUP

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

Fig. 5.54: Salida controlada y se


nal de control correspondiente a la Fig. 5.53.

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

donde N es una constante que vara de 3 a 10 y es conocida como la cota de la


ganancia derivativa. Luego, el algoritmo PID toma la forma:
u(s) = Kc e(s) +
P (s) = Kc e(s)

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

Control PID SISO

Los terminos P , I y D representan las partes proporcional, integral y derivativa del


controlador PID modificado, respectivamente.
Sea k el tiempo discreto, el cual esta relacionado con el tiempo continuo t mediante
la relacion t = T k, donde T es el tiempo de muestreo o discretizacion. La parte
proporcional P = Kc e(s) de (5.47) se discretiza directamente, obteniendose:
P = Kc e(k)

(5.48)

Para la parte integral I(s) = TKics e(s), o lo que es lo mismo: I(t) =


empleamos la aproximacion trapezoidal (ver ejemplo A.46):
k
Kc X [e(i) + e(i 1)]
T
I(k) =
Ti
2
i=1

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)

y aproximando las derivadas D(t)


e y(t)
por atraso (desplazamiento de k hacia (k1)),
se obtiene:




D(k) D(k 1)
y(k) y(k 1)
D(k) + Tf
= Kc Td
T
T
Despejando D(k), la parte derivativa discreta queda entonces como:
D(k) =

Td
{D(k 1) Kc N [y(k) y(k 1)]}
N T + Td

Tf =

Td
N

(5.50)

El algoritmo PID discreto usado en las implementaciones en tiempo real resulta:


u(k) = P (k) + I(k) + D(k)

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

Si el tiempo de muestreo Ts es suficientemente peque


no, entonces se pueden usar las
reglas de sintona para sistemas continuos discutidas anteriormente. Sin embargo, a
pesar de que no son tan usadas como en el caso continuo, existen reglas de sintona
para el caso discreto, tal como las mostradas en las Tablas 5.14 y 5.15. Estas tablas
K
emplean la FT Gp (s) = 1+Tp s e s del sistema y no son validas si /Ts 0 ni se
deben de aplicar si /Ts < 1/4, donde Ts es el tiempo de muestreo.
Ejemplo 5.26

5.8 El Algoritmo PID Discreto Modificado

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

0.45 Kcrit 0.5Ki

+ Kd s

0.6 Kcrit 0,5Ki

Ki = Kc /Ti

K d = K c Td

crit
0,54 K
Tcrit
crit
1.2 K
Tcrit

0
0.075Kcrit

Tcrit
Ts

Se desea controlar la posicion angular x1 de un manipulador empleando un algoritmo


de control discreto PID. las ecuaciones de estado del manipulador son:
x 1 = x2
x 2 =

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

Control PID SISO

Posicin angular (rad)

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

Seal de control u (V)

0.5
0.4
0.3
0.2
0.1
0

Fig. 5.55: Posicion angular controlada correspondinte al Ejemplo 5.26.

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

Control PID SISO

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

Para el sistema del ejemplo ??, dise


nar controladores PID, PID y PIDy que cumplan el siguiente objetivo de control: la se
nal controlada x1 debe de seguir a la se
nal
en estado estable x1e con un porcentaje de de sobrenivel menor del 5 %, tiempo de
estabilizacion menor de 8 s y error en estado estable nulo. Tener en cuenta que para
la situacion descrita, y1 = x1 x1e debe de ser nulo.
Problema 5.8
Para el sistema del ejemplo ??, dise
nar controladores PID, PID y PIDy que cumplan el siguiente objetivo de control: la se
nal controlada y = 2 debe de seguir una
se
nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de estabilizacion menor de 4 s y error en estado estable nulo.
Problema 5.9

5.9 Problemas

123

Para el sistema del ejemplo ??, dise


nar controladores PID, PID y PIDy que cumplan el siguiente objetivo de control: la se
nal controlada x1 debe de seguir una se
nal
de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de
estabilizacion menor de 4 s y error en estado estable nulo.
Problema 5.10
Para el sistema de la Fig. 2.14(c), dise
nar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la se
nal controlada debe de seguir una
se
nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 4 s y error en estado estable nulo.
Problema 5.11
Para el sistema de la Fig. ??(b), dise
nar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la se
nal controlada debe de seguir una
se
nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 10 s y error en estado estable nulo.
Problema 5.12
Para el sistema del ejemplo ??, dise
nar controladores PID, PID y PIDy que cumplan el siguiente objetivo de control: la se
nal controlada q3 debe de seguir una se
nal
de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de
estabilizacion menor de 4 s y error en estado estable nulo.
Problema 5.13
Para el sistema del problema ??, dise
nar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la se
nal controlada debe de seguir una
se
nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 4 s y error en estado estable nulo.
Problema 5.14
Para el sistema del problema ??, dise
nar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la se
nal controlada iR debe de seguir una
se
nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 4 s y error en estado estable nulo.

Captulo 6

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

La Fig. 6.1(a) muestra un sistema que comprende un tanque cerrado, en el cual


ingresa un producto que queremos calentar a una temperatura r (el valor deseado
o SP). Para este proposito se emplea el sobrecalentador, el cual recibe la energa
termica que trae consigo el flujo de agua caliente, que tambien pasa por la VCA
(valvula de control automatica) del tipo neumatica.
En este lazo de control realimentado simple, la temperatura y, medida con una
termoresistencia (representada con una T que se introduce al tanque), ingresa al
bloque transmisor T1 para ser convertida en una se
nal estandarizada requerida por el
controlador C, el cual se supone que es electronico. Este controlador genera la se
nal
de control u, la cual se transforma gracias al bloque transmisor T 2 , en una se
nal
neumatica estandarizada, requerida por la VCA. La Fig. 6.1(b) muestra el diagrama
de bloques del circuito de control descrito. Observar la presencia de la se
nal de error
e = r y en este diagrama. De hecho, el algoritmo de control alojado en el bloque
Controlador, procesa tal se
nal de error e para generar la se
nal de control u
En muchas aplicaciones, el control en cascada es una estrategia que mejora significativamente el rendimiento de un lazo de control realimentado simple, como el
de la Fig. 6.1(a). Para ello, se requiere crear un nuevo lazo de realimentacion, tal
como se muestra en la Fig. 6.1(c), en la cual, con el primer lazo, se desea que la
temperatura y1 del producto siga a una referencia r1 , usando el controlador C1 . Con
el segundo lazo, se desea que el flujo de agua caliente y2 siga a una referencia r2
empleando el controlador C2 . Notar que la salida u1 de C1 es la se
nal de referencia
r2 del controlador C2 .
La Fig. 6.1(d) muestra el diagrama de bloques del sistema de control en cascada,

126

Estrategias de Control

donde P1 mas P2 forman el proceso, M1 y M2 son bloques de medicion, y C1 y C2 son


los controladores que procesan los errores e1 = r1 y1 y e2 = r2 y2 , respectivamente.
De las dos variables controladas en la Fig. 6.1(c), la temperatura y 1 del producto es
la mas importante. El flujo de agua caliente y2 se emplea como una variable para
satisfacer los requerimientos de temperatura del producto.
r

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.

6.1 Control en Cascada

127

4. Sintonizar el lazo de control secundario empleando el metodo de la ganancia


lmite o del rele. Realizar postsintona si fuera necesario.
5. Sintonizar el lazo de control primario empleando el metodo de la ganancia lmite
o del rele. Tener en cuenta que el lazo de control secundario es parte del lazo
de control primario. Realizar postsintona si fuera necesario.
Ejemplo 6.1
Determinar la respuesta controlada del sistema realimentado simple de la Fig. 6.1(b)
y compararla con la respuesta controlada del sistema de control en cascada ilustrado
en la Fig. 6.1(d), sabiendo que los controladores son del tipo PI, que M1 = M2 = 1,
que r = r1 = 50o C, y que P (s) = P2 (s) P1 (s), donde:
P2 (s) =

3
1

(0.2s + 1) (3s + 1)(s + 1))

P1 (s) =

0.8
(4s + 1)(s + 1)

Cabe anotar que 3/(0.2s + 1) es la FT de la VCA.


Soluci
on: El modelo dinamico del proceso ha sido proporcionado en el enunciado del
problema. Para controlar el proceso emplearemos el metodo de la oscilacion lmite de
Ziegler y Nichols. El grafico superior de la Fig. 6.2 muestra la respuesta al escalon a
manera de una oscilacion sostenida que se obtiene haciendo que el controlador C en la
Fig. 6.1(b) trabaje en modo proporcional con una ganancia Kcrit = 2.18. Notar que la
oscilacion posee un perodo Tcrit = 12.5. Con tales valores se calculan los parametros
del controlador PI empleando la Tabla 5.6. El grafico inferior de la Fig. 6.2 ilustra la
salida y controlada, luego de realizar una postsintona. Tales resultados se obtienen
ejecutando el programa casc1a.m listado abajo.
% casc1a.m CONTROL PI DEL LAZO SIMPLE V
IA LA OSCILACI
ON SOSTENIDA
clear all; close all; clc;
s=tf(s); P2=3/((0.2*s+1)*(3*s+1)*(s+1)); P1=0.8/((4*s+1)*(s+1));
P=P1*P2;
% P: PROCESO
Kcrit=2.18; G_c=feedback(Kcrit*P,1); subplot(211); step(G_c,40); grid,
title(OSCILACI
ON SOSTENIDA), xlabel(TIEMPOx60), ylabel(y(t))
Tcrit=12.5; % TOMADO DE LA OSCILACI
ON SOSTENIDA CON Kcrit=2.18
Kc=0.65*0.45*Kcrit; Ti=0.85*Tcrit; % PAR
AMETROS PI CON POSTSINTON
IA
C=Kc*(1+1/(Ti*s)); SIMPLE=50*feedback(C*P,1); % CONTROL LAZO SIMPLE
subplot(212); step(SIMPLE,60); grid; title(SALIDA CONTROLADA);
xlabel(TIEMPOx60); ylabel(TEMPERATURA C); print -deps -f casc1a

El diagrama de bloques del sistema de control en cascada se muestra en la Fig.


6.1(d). El lazo de control secundario se realiza como sigue. El primer grafico de la
Fig. 6.3 muestra la respuesta al escalon a manera de una oscilacion sostenida que se
obtiene haciendo que el controlador C2 en la Fig. 6.1(d) trabaje en modo proporcional
con ganancia Kcrit2 = 8.53. Notar que la oscilacion posee un perodo Tcrit2 = 2.4.
Con tales valores se calculan los parametros del controlador PI empleando la Tabla
5.6. El segundo grafico de la Fig. 6.3 ilustra la salida y2 (t) controlada, la cual se logra
realizando postsintona, tal como se explica en el listado del programa casc1b.m.
El lazo de control primario incluye en su estructura el lazo de control secundario
descrito arriba. El dise
no del control PI del lazo primario es similar al del secundario:
se genera una oscilacion sostenida (tercer grafico de la Fig. 6.3) y con los parametros
Kcrit1 = 3.4 y Tcrit1 = 13 determinados, se calculan los parametros del controlador

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.

C1 . El grafico inferior de la Fig. 6.3 ilustra la salida y1 controlada, luego de realizar


una postsintona. Todos estos resultados se obtienen ejecutando el programa casc1b.m
listado abajo.
% casc1b.m CONTROL EN CASCADA
clear all; close all; clc;
s=tf(s); P2=3/((0.2*s+1)*(3*s+1)*(s+1)); P1=0.8/((4*s+1)*(s+1));
Kcrit2=8.53; Gs1=feedback(Kcrit2*P2,1); % FT LAZO SECUNDARIO CON Kcrit2
subplot(411); step(Gs1,10); grid, ylabel(y2(t)), xlabel(TIEMPOx60),
title(OSCILACI
ON DEL LAZO SECUNDARIO)
Tcrit2=2.4; % TOMADO DE LA OSCILACI
ON SOSTENIDA CON Kcrit2=8.53
Kc2=0.1*0.45*Kcrit2; Ti2=0.85*Tcrit2; C2=Kc2*(1+1/(Ti2*s));
Gs2=feedback(C2*P2,1); subplot(412), step(Gs2), grid, ylabel(y2(t)),
xlabel(TIEMPOx60), title(CONTROL DEL LAZO SECUNDARIO)
Kcrit1=3.2; Gp1=feedback(Kcrit1*Gs2*P1,1); % FT LAZO PRIMARIO CON Kcrit1
subplot(413); step(Gp1,40); grid, title(OSCILACI
ON DEL LAZO PRIMARIO),
xlabel(TIEMPOx60), ylabel(y1(t))
Tcrit1=13; % TOMADO DE LA OSCILACI
ON SOSTENIDA CON Kcrit1=3.2
Kc1=0.45*Kcrit1; Ti1=0.8*0.85*Tcrit1;
% PAR
AMETROS PI
C1=Kc1*(1+1/(Ti1*s)); CASCADA=50*feedback(C1*Gs2*P1,1); % CONTROL CASCADA
subplot(414); step(CASCADA); grid, title(SALIDA CONTROLADA EN CASCADA),
xlabel(TIEMPOx60), ylabel(TEMPERATURA C), print -deps -f casc1b

6.2 Control de la Raz


on

129

OSCILACIN DEL LAZO SECUNDARIO

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.

Observar que el rendimiento del sistema de control en cascada es mejor porque la


temperatura se estabiliza en aproximadamente 22 min (grafico inferior de la Fig. 6.3),
mientras que para el caso de realimentacion simple mostrado en el grafico inferior de
la Fig. 6.2, se estabiliza en 30 min. Se debe notar tambien que el perodo de oscilacion
crtica Tcrit1 del lazo primario mostrado en el tercer grafico de la Fig. 6.3, es mayor
que el Tcrit12 del lazo secundario (primer grafico de la Fig. 6.3) en una relacion:
Tcrit1
13
=
= 5.41
Tcrit2
2.4
Este hecho comprueba que el lazo secundario es 5.41 veces mas rapido que el lazo
primario.

6.2.

Control de la Raz
on

El control de la razon se refiere generalmente a controlar (mantener) la razon


entre dos flujos (o caudales) lo mas constante posible. En el esquema de razon mas
difundido, tal como el mostrado en la Fig. 6.4, el flujo q1 correspondiente al lazo no
controlado, es conocido como el flujo salvaje. Por otro lado, el lazo controlado, en
donde se ubica el flujo q2 , es denominado el lazo secundario. El control de la razon
encuentra muchas aplicaciones en la industria. Entre ellas:
Mezcla o fundicion de dos o mas componentes.
Control de la razon airecombustible para la combustion.

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)

El lazo secundario se controla cuando el error e2 tienda a cero. Es decir, cuando:


e2 = V y 1 y 2 = 0

V
y1

q2
q1

r2

V =

y2
y1

(6.2)

u
y2

Qemador
Horno

Fig. 6.4: Esquema mas difundido del control de la razon.

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

6.3 Control Anticipativo

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

Fig. 6.5: Diagrama Simulink correspondiente a la Fig. 6.4.

CONTROL DE LA RAZN V = y2/y1

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

Fig. 6.6: Resultado de la simulacion correspondiente al Ejemplo 6.2.

6.3.

Control Anticipativo

La principal desventaja en los sistemas de control por retroalimentiicion radica


en el hecho de que cuando un disturbio ingresa al proceso, este se propaga por todo
el proceso, forzando que la variable controlada se desve del punto deseado o de
referencia, antes de que aparezca una accion correctiva que compense el efecto de tal
disturbio.
Por cierto, en muchos casos se puede tolerar temporalmente un error entre la se
nal
controlada y la se
nal deseada. Sin embargo, existen aplicaciones en donde el error debe
de ser mnimo en presencia de disturbios, lo cual no se logra solo con el control por
realimentacion. Para tales situaciones resulta u
til el control anticipativo. Con esta
estrategia de control, los disturbios se miden antes de que ingresen al proceso, lo
cual permite calcular por adelantado la se
nal de control requerida para mantener la

132

Estrategias de Control

variable controlada en el valor deseado y sin la presencia de disturbios.


La Fig. 6.7 muestra el diagrama de bloques de un sistema de control anticipativo
donde Gp (s), Ga (s) y Gd (s) son las funciones de transferencia del proceso, del controlador anticipativo y del disturbio, respectivamente. Ademas, d, u e y son las se
nales
disturbio, de control y de salida, correspondientemente. De la Fig. 6.7 se deduce:
y = Gp (s)u + Gd (s)d = Gp (s)Ga (s)d + Gd (s)d = [Gp Ga (s) + Gd (s)] d

(6.3)

La ecuacion (6.3) ilustra el efecto de la presencia del disturbio d en el sistema. Si


queremos eliminar este efecto en la salida y, entonces esta salida debera de anularse.
Haciendo y = 0 en (6.3):
0 = Gp Ga (s) + Gd (s)

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)

La estructura que toma Ga (s) en (6.6) es la del denominado compensador de adelanto


atraso.
d

Gd(s)

Ga(s)

Gp(s)

Fig. 6.7: Sistema de control anticipativo.

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

donde a, b, c y f son constantes. El controlador anticipativo se calcula como:


Ga (s) =

s2 + bs + c
Gd (s)
=
Gp (s)
s+f

6.3 Control Anticipativo

133

Lamentablemente, el controlador Ga (s) resultante es fsicamente no realizable, por lo


tanto no implementable.
El segundo caso ocurre cuando el tiempo muerto p del modelo de la planta es
mayor que el tiempo muerto d del modelo del disturbio. Por ejemplo, si:
Gd (s) =

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

Notar que el controlador anticipativo resultante es no implementable fsicamente


debido a que su tiempo muerto es positivo.
En un determinado dise
no, Ga (s) puede resultar en una funcion de transferencia
inestable. Esto sucede cuando el modelo Gp (s) del proceso no es de mnima fase. Es
decir, cuando posee al menos un cero positivo. Para ilustrar esta situacion asumamos
que (notar que Gp (s) es de mnima fase):
Gp (s) =

s1
s+1

Gd (s) =

1
4s + 1

que resulta en el siguiente controlador anticipativo inestable:


Ga (s) =

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

La Fig. 6.9 muestra el resultado de la simulacion que se obtiene ejecutando el archivo


antic1graf.m cuyo listado se muestra abajo. Observar en el grafico inferior que la
salida controlada y(t) tiende a cero. Es decir, y(t) no esta afectada por el disturbio.
% antic1graf.m
clear all; close all; clc; load th; load d; load u; load y;
subplot(211), plot(th,d,th,u), xlabel(TIEMPO [s]), ylabel(d(t),u(t)),
title(VARIABLES d(t) y u(t) EN EL CONTROL ANTICIPATIVO)
subplot(212), plot(th,y), xlabel(TIEMPO [s]), ylabel(y(t)),
title(SALIDA CONTROLADA y(t))
print -f -deps antic1r, print -s -deps antic1s

134

Estrategias de Control

antic 1.mdl

Scope 1

2s+1
d

Gd(s)

2.5s5

6s+3

0.5s+1

Ga(s)

Gp(s)

th
Clock

th

Fig. 6.8: Diagrama Simulink correspondiente a la Fig. 6.7.

VARIABLES d(t) y u(t) EN EL CONTROL ANTICIPATIVO

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

Fig. 6.9: Resultado de la simulacion correspondiente al Ejemplo 6.3.

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.

6.3 Control Anticipativo


d1

135
Gd1(s)
G a (s)

G c (s)
d2

G p (s)
Gd2(s)

Fig. 6.10: Esquema de control anticipativo mas control realimentado.

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

La Fig. 6.12 muestra el resultado de la simulacion que se obtiene ejecutando el archivo


anticreal1graf.m cuyo listado se muestra abajo. Observar en el grafico inferior que la
salida controlada y(t) sigue a la referencia r(t) a pesar de la presencia simultanea de
los disturbios d1 (t) y d2 (t). Es decir, y(t) no esta afectada por los disturbios debido
a que el sistema de control los esta rechaando.
anticreal 1.mdl
th

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

Fig. 6.11: Diagrama Simulink correspondiente a la Fig. 6.10.

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]

Fig. 6.12: Resultado de la simulacion correspondiente al Ejemplo 6.4.

% 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).

6.4 Control Override

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

Fig. 6.13: Estrategia de control overriding aplicado al bombeo.

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

Fig. 6.14: Estrategia de control overriding aplicado a un generador de vapor.

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.

6.6 Control de Rango Partido

139

En el proceso mostrado en la Fig. 6.15, la medicion de A y B es crtica si se quiere


mantener la relacion B/A (obtenida en el bloque de computo FY2) entre ciertos
lmites de dise
no. Por tal razon, el bloque MS (Media Selector) computa en FY1 y
en FY3 el promedio de las mediciones de los flujos A y B, respectivamente. Si alguno
de los dos bloques MS detecta que una medicion esta fallando, entonces el promedio
de la medicion se realiza con los otros dos, evitando de esta manera paradas costosas
del proceso. Los bloques FIC1 y FIC2 son los lazos de control de la razon B/A y
del flujo A, respectivamente.

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

Fig. 6.15: Estrategia de control selectivo aplicado a un sistema de medicion m


ultiple.

6.6.

Control de Rango Partido

El control de rango partido, denominado tambien de gama partida o split range


en ingles, se aplica cuando se desea que la se
nal o fuerza de control manipule dos o
mas actuadores, por ejemplo, dos valvulas de control. En esta situacion, el n
umero
de variables de control es mayor que el n
umero de variables controladas.
Un ejemplo tpico es el caso de un reactor, mostrado en la Fig. 6.16 al cual ingresa
un producto gaseoso A, y sale un producto B resultante de la reaccion. El objetivo
de control es mantener constante la presion P dentro del reactor mediante la accion
programada de las valvulas VA y VB (ver Fig. 6.16) como sigue. En presencia de
presiones:
1. bajas, VA permanece abierta al 100 % y VB cerrada.
2. altas, VA permanece cerrada y VB abierta.
3. intermedias, la abertura de cada valvula se determina del grafico de la Fig.
6.16.

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%

Fig. 6.16: Estrategia rango partido aplicado a un reactor.

6.7.

Control con Autosintonizaci


on de Par
ametros

Los sistemas de control adaptativo ajustan su comportamiento a las cambiantes


propiedades del proceso controlado y de las se
nales que interact
uan sobre dicho proceso. Por el contrario, los sistemas de control fijos, como los estudiados en el Captulo
5 por ejemplo, se caracterizan por la presencia de una ley de control invariable con el
tiempo. La investigacion sobre controladores adaptativos se ha centrado en dos grupos principales: controladores adaptativos con un modelo referencial y controladores
con autosintonizacion (selftuning regulators). En esta seccion nos concentraremos
en este u
ltimo controlador.
El sistema de control adaptativo con autosintonizacion mostrado en la figura 6.17
combina en su dise
no un metodo de estimacion de parametros (el de los mnimos
cuadrados recursivo), una tecnica de estimacion de estados (el filtro de Kalman), una
representacion lineal del modelo del proceso en el espacio de estado discreto, y una ley
de control: el controlador proporcionalintegral optimo cuadratico con realimentacion
de estados.
^x

ESTIMADOR
DE ESTADOS

ESTIMADOR DE
PARAMETROS

ESTIMACION
DE U

MODELO
LINEAL
+

CONTROLADOR CON
AUTOSINTONIZACION

+
u

PROCESO
NO LINEAL

DISTURBIOS

Fig. 6.17: Configuracion del sistema de control con autosintonizacion.

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

6.8 Control Adaptativo con Modelo Referencial

141

original del proceso:


x = f (X, U)

(6.7)

se puede transformar mediante linealizacion en un modelo lineal en el espacio de


estado continuo de la forma:
x = Ax + Bu)

y = Cx

(6.8)

donde f es una funcion vectorial de variables vectoriales X, es el vector de estado, U


es la ley de control, y, A, B y C son las matrices de estado, de control y de salida
del proceso, respectivamente. Observar que la ecuacion (6.8) emplea las variables
residuales (o de desviacion) x y u. La relacion entre estas variables con respecto a
las actuales X y U es:
x=XX

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)

donde k = t/T es el tiempo discreto. El comando MATLAB:


[G,H,D,C]=c2dm(A,B,C,D,zoh);
realiza la conversion requerida.
El objetivo del control en el sistema de control con autosintonizacion, consiste
en determinar una fuerza de control capaz de minimizar la diferencia entre la salida
del proceso y la se
nal de referencia, cumpliendo ciertas especificaciones de dise
no
previamente establecidas.
El sistema de control con autosintonizacion mostrado en la Fig. 6.17 opera como
sigue: luego de cada tiempo de muestreo, el vector estimado de parametros b se
actualiza empleando los datos proporcionados por la entrada U del proceso y por la
salida Y del mismo. Luego, los elementos de b se usan para recuperar el modelo lineal
discreto del proceso dada por la ecuacion (6.8), lo cual permite estimar el vector de
b (empleando un filtro de Kalman) y el valor
estado residual del modelo del proceso x
de equilibrio U de la ley de control actual U. Tales resultados se usan luego para
computar la ley de control residual u y para actualizar la ley de control actual U a
partir de la relacion: U = U + u.

6.8.

Control Adaptativo con Modelo Referencial

La figura 6.18 ilustra la configuracion de un Sistema de Control Adaptativo con


Modelo Referencial (SCAMR) que puede ser empleado en una gran variedad de aplicaciones. La estructura SCAMR se compone basicamente de un modelo de referencia,
un controlador adaptativo, el sistema a controlar y un mecanismo de adaptacion. El
esquema en consideracion se denomina un SCAMR paralelo debido a la ubicacion
relativa del modelo referencial con respecto al sistema.

142

Estrategias de Control
MODELO
REFERENCIAL

CONTROLADOR
ADAPTATIVO

SISTEMA
NO LINEAL

qd

q
MECANISMO
DE ADAPTACIN

~q

Fig. 6.18: Configuracion de un Sistema de Control Adaptativo con Modelo Referencial


(SCAMR).

El modelo de referencia, el cual esta excitado por una entrada externa r, es un


sistema dinamico auxiliar usado para obtener la respuesta deseada del sistema. Tal
respuesta debe de ser lograda por el SCAMR a pesar de las restricciones generadas
por inexactitudes en el modelado de la estructura del modelo de referencia y el modelo
del proceso.
El mecanismo de adaptacion es un conjunto de bloques interconectados usados
para implementar la ley de adaptacion. De hecho, tal ley de adaptacion es el algoritmo
de control empleado para modificar los parametros del controlador adaptativo, de
e = qqd
modo tal que el SCAMR permanezca estable y que el error de seguimiento q
converja a cero a pesar de la presencia de parametros variantes con el tiempo del
sistema y disturbios externos. El metodo directo de Lyapunov es empleado para
determinar que el SCAMR dise
nado garantice convergencia global de las se
nales
controladas con respecto a sus trayectorias deseadas.
El metodo de Lyapunov, aplicado a un sistema de control, es capaz de determinar
si tal sistema es asintoticamente estable; es decir, que los estados del sistema de control convergen rapidamente al estado de equilibrio del sistema. Este metodo consiste
en formular de una funcion escalar V (x, t) conveniente, donde x es el vector de estados del sistema y la t indica que los parametros de V tambien pueden ser variantes
con el tiempo. Si la derivada total dV /dt resulta definida negativa (menor que cero),
entonces el metodo asegura que el sistema posee un comportamiento asintoticamente
estable.
El objetivo de control del SCAMR dise
nado consiste en producir una fuerza de
control u que sea capaz de hacer que el vector de salida y del sistema, siga a la respuesta deseada yd cumpliendo ciertas especificaciones de dise
no, a pesar de la presencia de
incertidumbre parametrica (parametros no modelados en el modelo dinamico usado
o con valores inciertos) y no parametrica (efectos no lineales no tomados en cuenta
en el modelo dinamico tales como friccion de coulumb, saturacion, entre otros).
El SCAMR se puede aplicar a sistemas no lineales (preferiblemente) y lineales.
La descripcion del modelo puede ser imprecisa; esto es, el modelo dinamico del sistema puede presentar incertidumbres en su estructura o dinamica no modelada en su
representacion. Ya que la descripcion del sistema permite incertidumbres, el control

6.9 Autosintonizaci
on con Reconocimiento de Patrones

143

adaptativo (en general) se puede considerar una aproximacion particular de control


robusto.
El objetivo de control del sistema de control dise
nado consiste en producir una
fuerza de control u que sea capaz de hacer que el vector de salida y del sistema, siga
a la respuesta deseada yd cumpliendo ciertas especificaciones de dise
no, a pesar de
la presencia de incertidumbre parametrica (parametros no modelados en el modelo
dinamico usado o con valores inciertos) y no parametrica (efectos no lineales no
tomados en cuenta en el modelo dinamico tales como friccion de coulumb, saturacion,
entre otros).

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)

donde BP es la banda proporcional, y, Ti y Td son los tiempos integral y derivativo,


respectivamente.

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

si Z < 0 entonces fijar Td = 0;


si 0 < Z < 1 entonces fijar Td = ZTi /6;
Tambien existen una serie de parametros opcionales, a parte de los requeridos, que
deben de ser proporcionados por el usuario. En caso contrario, el programa usa los
valores por defecto, mostrados entre parentesis en la siguiente lista:
Maximo amortiguamiento permitido (0.3)
Maximo sobrenivel permitido (0.5)
El factor derivativo (1), el cual multiplica al termino derivativo, para dosificar
su influencia. Si este factor derivativo es nulo, entonces el controlador se del
tipo PI.
Lmite de cambio (10). Este factor hace que los valores de los parametros del
controlador caigan entre ciertos lmites. Si se usa el valor 10 para el factor
lmite de cambio, entonces los valores de los parametros BP, Ti y Td no seran
mas grande que diez veces,k o mas peque
nos que un decimo de sus valores
iniciales.

Captulo 7

Sntesis de Controladores SISO


y MIMO
Un proceso SISO (SingleInputSingleOutput) esta caracterizado por poseer una
salida y una entrada, mientras que un proceso MIMO (MultipleInputMultipleOutput)
posee m
ultiples entradas y m
ultiples salidas, las cuales no estan exentas de presentar
cierto grado de interaccion entre ellas. La tecnica para modelar esta interaccion es emplear
modelos dinamicos multivariables o MIMO.
El problema de sntesis de controladores SISO y MIMO consiste en determinar el
modelo dinamico de la ley de control partiendo de ciertas condiciones y principios previamente establecidos. Esta ley de control puede estar en la forma de una FT (Funcion de
Transferencia), para el caso SISO, y de una MT (Matriz de Transferencia) para el caso
MIMO.
Este Captulo trata sobre la sntesis (dise
no) de controladores SISO empleando el
metodo de Dahlin, y de controladores MIMO empleando el metodo de desacoplamiento,
usando desacopladores, y aplicando el criterio de estabilidad de Hurwitz.

7.1.

M
etodo de Dahlin

El siguiente procedimiento de sntesis es atribuido a Dahlin [30]. La Fig. 7.1


muestra un sistema SISO realimentado, donde Gc (s), Gp (s) y H(s) representan las
FTs del controlador, el proceso y el sistema de medicion, respectivamente, y, r(s),
e(s), y(s) y u(s) constituyen las se
nales de referencia (SP), error del sistema, salida
controlada (PV) y ley de control, respectivamente. Para el caso H(s) = 1, de la Fig.
7.1 se deduce:
y(s) = Gp (s)u(s) = Gp (s)Gc (s)e(s) = Gp (s)Gc (s)(r(s) y(s))
Por consiguiente:
Gc (s) =

1
y(s)/r(s)
Gp (s) 1 y(s)/r(s)

(7.1)

Se puede forzar que la se


nal controlada y(t) sea la curva de reaccion de un sistema
de primer orden de ganancia unitaria y constante de tiempo Tc :
1
y(s)
=
r(s)
Tc s + 1

(7.2)

148

Sntesis de Controladores SISO y MIMO

Sabemos que la constante de tiempo Tc corresponde al al 63.2 % de la magnitud de la


ganancia unitaria El 100 % de esta ganancia unitaria se alcanza en aproximadamente
cuatro veces Tc . Reemplazando (7.2) en (7.1) se obtiene una formula para sintetizar
(dise
nar) el controlador:
1
1
(7.3)
Gc (s) =
Gp (s) Tc s
En lo que sigue, la formula de sntesis dada en (7.3) sera determinada para el control
de diferentes procesos.
r(s)

e(s)

Gc (s)

u(s)

Gp(s)

y(s)

H(s)

Fig. 7.1: Sistema SISO realimentado.

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)

Proceso de Primer Orden


Sea el proceso de primer orden:
Gp (s) =

Kp
Ts + 1

(7.5)

donde T es la constante de tiempo del proceso y Kp su ganancia. Con Gp (s) dado


por la ecuacion (7.7), (7.3) toma la forma:


1
T
Kc =
Ti = T
(7.6)
Gc (s) = Kc 1 +
Ti s
K p Tc

Proceso de Segundo Orden


Sea el proceso de segundo orden:
Gp (s) =

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)

el cual corresponde a un proceso integral, la ley de control (7.3) toma la forma:


Gc (s) = Kc (Td s + 1)

Kc =

1
K p Tc

Td = T

(7.9)

Proceso Doblemente Integral


Si Gp (s) = Kp /s2 (proceso doblemente integral, como es el caso de un satelite en
orbita, la ecuacion (7.3) toma la forma:
Gc (s) = Kc s

Kc =

1
K p Tc

(7.10)

Procesos con Respuesta Inversa o con Sobrenivel


Sea el proceso con un cero positivo ubicado en 1/T3 y dos polos negativos ubicados
en 1/T1 y 1/T2 :
Kp (1 T3 s)
(7.11)
Gp (s) =
(T1 s + 1)(T2 s + 1)
el cual, dependiendo de sus parametros, corresponde a un proceso que posee una
respuesta al escalon inversa (parte de su respuesta al inicio es negativa) o con sobrenivel. Para esta situacion conviene forzar que la se
nal controlada y(t) sea la curva
de reaccion de un sistema de adelantoatraso de ganancia unitaria y de la forma:
y(s)
1 T3 s
=
r(s)
Tc s + 1
Sustituyendo (7.11) y (7.12) en (7.1), la ley de control toma la forma:


T1
1
(Td s+1)
Kc =
Gc (s) = Kc 1 +
Ti = T 1
Ti s
Kp (Tc + T3 )

(7.12)

Td = T 2
(7.13)

Procesos con Tiempo Muerto


Sea el proceso de primer orden con tiempo muerto de la forma:
Gp (s) =

Kp e s
(T s + 1)

(7.14)

En este caso conviene forzar que la se


nal controlada y(t) sea la curva de reaccion de
un sistema de de primer orden con tiempo muerto y ganancia unitaria, de la forma:
e s
y(s)
=
r(s)
Tc s + 1

(7.15)

150

Sntesis de Controladores SISO y MIMO

Reemplazando (7.14) y (7.15) en (7.1), la ley de control toma la forma:




1
Td s + 1
Gc (s) = Kc 1 +
Ti s Td s + 1

(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

CONTROL DE UN PROCESO DE 1er ORDEN


1
SALIDA

SALIDA

0.5

4
6
8
TIEMPO [s] (sec)

10

0.5

12

CONTROL DE UN PROCESO DE 2do ORDEN

SALIDA

SALIDA
0

4
6
8
TIEMPO [s] (sec)

10

12

0.5

12

PROCESO CON RPTA INVERSA O SOBRENIVEL

4
6
8
TIEMPO [s] (sec)

10

12

CONTROL DE UN PROCESO CON TIEMPO MUERTO


1
SALIDA

2
SALIDA

10

0.5

1
0
1
2

4
6
8
TIEMPO [s] (sec)

CONTROL DE UN PROCESO INTEGRATIVO

0.5
0
0.5

4
6
8
TIEMPO [s] (sec)

10

12

5
10
TIEMPO [s] (sec)

15

Fig. 7.2: Control de procesos empleando controladores sintetizados por el metodo de


Dahlin.

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;

7.2 Control MIMO va Desacoplamiento

151

Gp1=Kp; Gp2=Kp/(T*s+1); Gp3=Kp/((T1*s+1)*(T2*s+1)); Gp4=Kp/(s*(T*s+1));


Gp5=Kp*(1-T3*s)/((T1*s+1)*(T2*s+1)); [num,den]=pade(Tt,3);
Gtau=tf(num,den); Gp6=Kp*Gtau/(T*s+1);
Kc1=1/(Kp*Tc); Gc1=Kc1/s; DH1=feedback(Gc1*Gp1,1); subplot(321);
step(DH1,k); grid; xlabel(TIEMPO
[s]); ylabel(SALIDA);
title(CONTROL DE UN PROCESO PROPORCIONAL);
Kc2=T/(Kp*Tc); Ti=T; Gc2=Kc2*(1+1/(Ti*s)); DH2=feedback(Gc2*Gp2,1);
subplot(322); step(DH2,k); grid; xlabel(TIEMPO
[s]);
ylabel(SALIDA); title(CONTROL DE UN PROCESO DE 1er ORDEN);
Kc3=T1/(Kp*Tc); Ti=T1; Td=T2; Gc3=Kc3*(1+1/(Ti*s))*(Td*s+1);
DH3=feedback(Gc3*Gp3,1); subplot(323); step(DH3,k); grid;
xlabel(TIEMPO
[s]); ylabel(SALIDA);
title(CONTROL DE UN PROCESO DE 2do ORDEN);
Kc4=1/(Kp*Tc); Td=T; Gc4=Kc4*(Td*s+1); DH4=feedback(Gc4*Gp4,1);
subplot(324); step(DH4,k); grid; xlabel(TIEMPO
[s]);
ylabel(SALIDA); title(CONTROL DE UN PROCESO INTEGRATIVO);
Kc5=T1/(Kp*(Tc+T3)); Ti=T1; Td=T2; Gc5=Kc5*(1+1/(Ti*s))*(Td*s+1);
DH5=feedback(Gc5*Gp5,1); subplot(325); step(DH5,k); grid;
xlabel(TIEMPO
[s]); ylabel(SALIDA);
title(PROCESO CON RPTA INVERSA O SOBRENIVEL);
Kc6=T/(Kp*(Tc+Tt)); Ti=T; Td=Tt/2; alfa=Tc/(Tc+Tt);
% Gc6=Kc6*(1+1/(Ti*s))*((Td*s+1)/(alfa*Td*s+1));
Gc6=(T*s+1)/(Kp*(Tc*s+1-Gtau));
DH6=feedback(Gc6*Gp6,1); subplot(326); step(DH6,k); grid;
xlabel(TIEMPO
[s]); ylabel(SALIDA);
title(CONTROL DE UN PROCESO CON TIEMPO MUERTO);
print -deps -f dahlin1

7.2.

Control MIMO va Desacoplamiento

El controlador MIMO a dise


nar requiere de la representacion lineal en el espacio
de estado (ecuacion (7.17)) o en el dominio de Laplace (ecuacion (7.19)) del sistema
MIMO. Tal dise
no debe de cumplir los siguientes requerimientos:
1. No interaccion.
2. Exactitud estatica.
3. Estabilidad.
Para explicar cada uno de tales requerimientos, formulemos las ecuaciones de
estado y de salida del sistema MIMO:
x = Ax + Bu

y = Cx + Du

(7.17)

donde x es el vector de estado de orden n, u es el vector fuerza de control de orden


m e y es el vector de salidas controladas de orden p. La Fig. 7.3 muestra el diagrama
de bloques del sistema de control MIMO, de donde se pueden deducir las siguientes
relaciones:
y(s) = Gp (s)u(s)

u(s) = Gc (s)e(s)

(7.18)

y(s) = Gp Gc (s)e(s)

e(s) = r(s) y(s)

(7.19)

152

Sntesis de Controladores SISO y MIMO


Controlador
MIMO
e(s)
u(s)
G c(s)

r(s)

Proceso
MIMO
y(s)
G p (s)

Fig. 7.3: Diagrama de bloques de un sistema de control MIMO.

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:

G11 (s) G1p (s)

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

x(s) = (sI A)1 Bu

y(s) = Cx(s) + Du(s)

Reemplazando la expresion de x(s) en la expresion de y(s), se obtiene la matriz de


transferencia Gp (s) del sistema en funcion de las matrices de su descripcion de estado
A, B, C y D:
y(s) = [C(sI A)1 B + D]u(s)

7.2.1.

Gp (s) = C(sI A)1 B + D

(7.21)

No Interacci
on

Los elementos ubicados fuera de la diagonal principal de G(s) determinan el grado


de interaccion entre las diferentes entradas de referencia ri con respecto a las salidas
yi . Para obtener desacoplamiento completo entre tales entradas y salidas, se requiere
que G(s) sea diagonal, esto es:
Gij = 0

para i 6= j

(7.22)

Una condicion necesaria y suficiente para no interaccion en un sistema de control


MIMO con realimentacion unitaria es que la matriz de transferencia a lazo abierto
Go (s) sea diagonal. Este u
ltimo requerimiento es facil de probar. De la Fig. 7.3, vimos
que:
G(s) = [I + Go (s)]1 Go (s)

7.2 Control MIMO va Desacoplamiento

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

Nosotros deseamos que para un vector de entrada de referencia constante r(t), es


decir, un vector cuyos elementos sean escalones, el vector de error:
e(t) = r(t) y(t)
se aproxime a cero cuando t se aproxime a infinito. En el dominio de s, el error resulta:
e(s) = r(s) y(s) = r(s) G(s)r(s) = [I G(s)]r(s) = [I G(s)]
donde |r| es la magnitud de r(s), cuya transformada de Laplace es
teorema del valor final en la ecuacion anterior se obtiene:

|r|
s .

|r|
s

Aplicando el

lm e(t) = lm s e(s) = lm [I G(s)] = 0

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

Para el caso de condiciones iniciales nulas, de (7.26) sabemos que:


y(s) = [C(sI A)1 B + D]u(s)

Gp (s) = C(sI A)1 B + D

La inversa de [sI A)1 ] se puede expresar como:


[I A]1 =

Adj (I A)
det(I A)

(7.26)

154

Sntesis de Controladores SISO y MIMO

donde Adj significa adjunta, det es la operacion determinante y la ecuacion polinomica:


det(I A) = 0
(7.27)
es la ecuacion caracterstica del sistema y es de gran trascendencia por que sus races
determinan la estabilidad del mismo como sigue. El sistema (7.17) es estable si todas
las races caractersticas de 7.27 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 practicos tambien es inestable.
Es importante anotar que el sistema a controlar puede ser inestable, como es el
caso del sistema posicion angular de un motr CC. Sin embargo, el sistema de control,
como el mostrado en la Fig. 7.3 (notar que Gp (s) forma parte de este sistem), debe
de tener comportamiento estable. A continuacion se deduce la ecuacion caracterstica
del sistema de control.
De la Fig. 7.3 se obtiene:
y(s) = [I + Go (s)]1 Go (s)r(s)

Go (s) = Gp (s) Gc (s)

(7.28)

La inversa de la matriz [I + Go (s)] se puede expresar como:


[I + Go (s)]1 =

Adj [I + Go (s)]
det[I + Go (s)]

Por consiguiente, la ecuacion caracterstica del sistema se expresa como:


det[I + Go (s)] = 0

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

7.2 Control MIMO va Desacoplamiento

155

La forma de la MT (matriz de transferencia) del sistema Gp (s) se obtiene ejecutando


el programa mimopidsimb.m:

Gp (s) =

Gp11 (s) Gp11 (s)


Gp21 (s) Gp21 (s)

Kp11
Tp11 s+1

Kp11
Tp11 s+1

Kp21 (Tpa s+1)


(Tpb s+1)(Tpc s+1)

Kp21 (Tpa s+1)


(Tpb s+1)(Tpc 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

la cual cumple los requerimientos del caso:

1. La matriz es diagonal, por lo tanto satisface el requerimiento de no interaccion.


2. Dado que G(0) = I, de acuerdo a (7.25), se satisface el requerimiento de exactitud estatica.
3. Debido a que los elementos de la diagonal de G(s) son funciones de transferencia de primer orden, cuyas races caractersticas se ubican en la parte izquierda
del plano s, entonces podemos asegurar que se cumple el requerimiento de estabilidad. Ademas, cada canal responde exponencialmente con una constante
de tiempo igual a Tniv para el primer canal (control de nivel) y Ttemp (control
de temperatura) para el segundo canal.
Teniendo en cuenta que Go (s) = Gs Gc (s), la matriz de control Gc (s) se obtiene
de la ecuacion (7.23):
Gc (s) = Gp (s)1 G(s)[I G(s)]1

(7.32)

La forma de la MT (matriz de transferencia) del controlador Gc (s) resulta de la


ejecucion del programa mimopidsimb.m:





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

Sntesis de Controladores SISO y MIMO

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

Fig. 7.5: Nivel y temperatura del tanque cerrado controlados.

% mimopidsimb.m CONTROL PI MULTIVARIABLE DEL TANQUE


clear all; close all; clc;
% PAR
AMETROS DEL TANQUE
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;
barqD=2.16e-4; Rh=barh/barqD;
% MODELO LINEAL, DONDE: df1/dx1=df1dx1, df1/du2=df1u2, etc.
df1dx1=-a/(2*A*sqrt(barh)); df1dx2=0;

7.2 Control MIMO va Desacoplamiento

%
%
%
%
%
%
%
%
%

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

Empleando aproximacion rectangular para los terminos integrales 1s , la discretizacion


de (7.34) resulta:
k
k
Kc11 X
Kc12 X
u1 (k) = Kc11 e1 (k) +
T e1 (i) Kc12 e2 (k)
T e2 (i)
Tc11
Tc12

u2 (k) = Kc21 e1 (k) +

Kc21
Tc21

i=0
k
X
i=0

T e1 (i) Kc12 e2 (k)

Kc12
Tc12

i=0
k
X

T e2 (i)

i=0

donde k = t/T es el tiempo discreto y T es el tiempo de muestreo o discretizacion.


Para el tiempo (k 1) las expresiones de u1 (k) y u2 (k) toman la forma:
u1 (k 1) = Kc11 e1 (k 1) +
u2 (k 1) = Kc21 e1 (k 1) +

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

Sntesis de Controladores SISO y MIMO

Teniendo en cuenta que:


k
X

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)

Para programacion en tiempo real prescindimos del argumento k. Por consiguiente,


las ecuaciones anteriores toman la forma:
Kc11
T e1 Kc12 (e2 e2p )
Tc11
Kc21
T e1 Kc12 (e2 e2p )
= u2 + Kc21 (e1 e1p ) +
Tc21

u1 = u1 + Kc11 (e1 e1p ) +


u2

Kc12
T e2
Tc12
Kc12
T e2
Tc12

(7.36)

donde e1p y e2p son los errores pasados de e1 y e2 respectivamente. La ecuacion de


estado del sistema se discretiza como:
x
=

x(k) x(k 1)
= A x(k) + B u(k)
T

x(k) = x(k 1) + T (A x(k) + B u(k))


donde:
x=

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;

7.2 Control MIMO va Desacoplamiento

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

AGUA CALIENTE [m /s]

AGUA FRA [m /s]

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

Sntesis de Controladores SISO y MIMO

% CALCULO DEl VECTOR DE CONTROL u(t)


e1 = r1 - x(1); Y1(k) = x(1); e2 = r2 - x(2); Y2(k) = x(2);
u1 = u1 + Kc11*(e1-e1p) + Kc11*T*e1/Ti11 ...
- Kc12*(e2-e2p) - Kc12*T*e2/Ti12; U1(k) = u1;
u2 = u2 - Kc21*(e1-e1p) - Kc21*T*e1/Ti21 ...
+ Kc22*(e2-e2p) + Kc22*T*e2/Ti22; U2(k) = u2; u = [u1;u2];
% MODELO LINEAL (DISCRETIZACION DIRECTA)
x = x + T*(AA*x + BB*u); e1p = e1; e2p = e2;
end
% GR
AFICOS
ejet = linspace(0,M*T,M); subplot(4,1,1), plot(ejet,R1,ejet,Y1),
grid, ylabel(NIVEL [m]), xlabel(TIEMPO [s])
subplot(4,1,2), plot(ejet,U1), grid, ylabel(AGUA FR
IA [m^3/s]),
xlabel(TIEMPO [s])
subplot(4,1,3), plot(ejet,R2,ejet,Y2), grid
ylabel(TEMPERATURA [K]), xlabel(TIEMPO [s])
subplot(4,1,4), plot(ejet,U2), grid, ylabel(AGUA CALIENTE [m^3/s]),
xlabel(TIEMPO [s]),
print -f -deps pidmimotanque

Ejemplo 7.3 Control MIMO del Sistema de Plataformas


Dise
nar un controlador MIMO basado en la tecnica de desacoplamiento para controlar
las salidas y1 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: Seleccionemos como variables de estado x1 = y1 , x2 = y2 , x3 = y1 y
x4 = y2 , como variables de salida y1 = x1 e y2 = x2 y como variables de entrada u1
y u2 , esto es:

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.

7.3 Control MIMO con Desacopladores

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

Fig. 7.7: Salidas y1 e y2 controlados (Ejemplo 7.3.)


% mimopid02.m CONTROL MULTIVARIABLE DEL SISTEMA DE PLATAFORMAS
clear all; close all; clc;
K1=1; K2=1; B1=1; B2=1; m1=1; m2=1; % PAR
AMETROS
% ECUACI
ON DE ESTADO Y DE SALIDA
AA=[0 0 1 0;0 0 0 1;-K1/m1 K1/m1 -B1/m1 B1/m1;K1/m2 -(K1+K2)/m2 -B1/m2...
-(B1+B2)/m2]; BB=[0 0;0 0;1/m1 0;0 1/m2]; CC=[1 0 0 0;0 1 0 0];
DD = [0 0;0 0]; II = eye(4); Tniv=4; Ttemp=4; s=tf(s); I=eye(2);
Gp = CC*inv(s*II -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 mimopid02

7.3.

Control MIMO con Desacopladores

En la seccion anterior, la seleccion a priori de una matriz de transferencia diagonal


que represente la dinamica del sistema realimentado, resolvio el problema de interaccion existente entre las variables de entrada y de salida, es decir, logro desacoplar
al sistema. En esta seccion tambien se va a usar desacoplamiento en el dise
no de
un controlador MIMO. Para este caso, los desacopladores van a formar parte de la
configuracion del sistema, tal como se observa en la Fig. 7.8, de la cual se obtienen
las siguientes relaciones:
y1 (s) = Gp11 (s)[u1 (s) + D1 (s)u2 (s)] + Gp12 (s)[u2 (s) + D2 (s)u1 (s)]
y2 (s) = Gp22 (s)[u2 (s) + D2 (s)u1 (s)] + Gp21 (s)[u1 (s) + D1 (s)u2 (s)] (7.38)
El objetivo del bloque desacoplador D1 (s) es compensar el efecto de u2 en la salida
y1 , esto es, prevenir cambios en la salida del segundo controlador Gc2 que puedan
afectar la variable controlada del primer lazo. Para cumplir con este requerimiento,

162

Sntesis de Controladores SISO y MIMO

la primera ecuacion de (7.38) se puede expresar como:




y1 (s)
= D1 (s)Gp11 (s) + Gp12 (s) = 0
u2 (s) u1 =0

(7.39)

En forma similar, para que el bloque desacoplador D2 (s) compense el efecto de u1 en


la salida y2 , de la segunda ecuacion de (7.38) se tiene:


y2 (s)
= D2 (s)Gp22 (s) + Gp21 (s) = 0
(7.40)
u1 (s) u2 =0
Por consiguiente, los bloques desacopladores se calculan de:
D1 (s) =

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

Fig. 7.8: Sistema de control MIMO con desacopladores D1 y D2 .

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)

donde Gp es la matriz de la planta o sistema, D es la matriz de desacoplamiento, Gc


es el controlador PID MIMO y Go es la MT a lazo abierto del sistema. Cabe anotar
que tanto Gc1 (s) como Gc2 (s) son controladores PID, cuyos parametros Kc , Ti y Td
tienen que ser sintonizados para cada aplicacion.

7.3 Control MIMO con Desacopladores

163

Ejemplo 7.4 Control del Sistema de Plataformas usando Desacopladores

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

Fig. 7.9: Salidas y1 e y2 controlados (Ejemplo 7.3.)

% mimopid03.m CONTROL PID MIMO CON DESACOPLADORES DEL SISTEMA PLATAFORMAS


clear all; close all; clc;
K1=1; K2=1; B1=1; B2=1; m1=1; m2=1; % PAR
AMETROS
% ECUACI
ON DE ESTADO Y DE SALIDA
AA=[0 0 1 0;0 0 0 1;-K1/m1 K1/m1 -B1/m1 B1/m1;K1/m2 -(K1+K2)/m2 -B1/m2...
-(B1+B2)/m2]; BB=[0 0;0 0;1/m1 0;0 1/m2]; CC=[1 0 0 0;0 1 0 0];
DD = [0 0;0 0]; II = eye(4); Kc1=0.25; Ti1=1; Td1=0; Kc2=1; Ti2=1; Td2=0;
I = eye(2); s=tf(s); Gp=CC*inv(s*II -AA)*BB+DD;
D1=-Gp(1,2)/Gp(1,1); D2=-Gp(2,1)/Gp(2,2); D=[1 D1;D2 1];
Gc1=Kc1*(1+1/(Ti1*s)+Td1*s); Gc2=Kc2*(1+1/(Ti2*s)+Td2*s);
Gc=[Gc1 0;0 Gc2]; Go=Gp*D*Gc; step(feedback(Go,I))
print -deps -f mimopid03

164

Sntesis de Controladores SISO y MIMO

7.4.

Control MIMO empleando el Criterio de Hurwitz

La Fig. 7.10(a) representa el diagrama de bloques de un sistema de control MIMO,


donde el sistema a controlar Gp (s) es una MT (matriz de transferencia) cuadrada de
orden n y Gc (s) es una matriz diagonal de controladores Gcii , tambien de orden n.
En una matriz cuadrada, el n
umero m de entradas ui es igual al n
umero de salidas
yi . En el caso que Gp (s) fuera rectangular, el n
umero de entradas m generadas por el
controlador MIMO correspondiente, siempre debe de ser mayor que el n
umero p de
salidas. Solo en esta situacion es posible crear salidas ficticias a fin de hacer cuadrada
a la matriz Gp (s), con la finalidad de poder aplicar el procedimiento de dise
no de la
subseccion 7.4.1. Las relaciones siguientes se desprenden de la Fig. 7.10(a):

r(s)

e(s)

Controlador
P MIMO
K

u(s)

Sistema
G p (s)

y(s)

r(s)

(I+KG p (s)) KG p (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)

donde I es la matriz identidad. La Fig. 7.10(b) muestra la MT del sistema, en la cual:


T(s) = I + Gp Gc (s)

(7.45)

es conocida como la matriz retorno de la diferencia. Para que el sistema de la Fig.


7.10(a) o (b) sea estable, los ceros del determinante de T(s) deben de poseer parte real
negativa. Empleando el criterio de Hurwitz (subseccion 7.4.2), se pueden determinar
los rangos de los parametros de cada controlador Gcii de Gc para comportamiento
estable del sistema. A continuacion se detalla el procedimiento de dise
no.

7.4.1.

Procedimiento de Dise
no

El procedimiento para dise


nar un sistema de control MIMO empleando el criterio
de Hurwitz es como sigue:
1. Formular la matriz T(s) = I + Gp Gc (s) (ver Fig. 7.10(b)), donde:

Gp11 (s) Gp1n (s)

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

7.4 Control MIMO empleando el Criterio de Hurwitz

165

3. Emplear el criterio de Hurwitz (ver siguiente subseccion) para determinar los


rangos de los elementos de la matriz de ganancia K que garanticen un comportamiento estable del sistema de la Fig. 7.10(a).
4. Simular el sistema controlado empleando las ganancias determinadas por el
criterio de Hurwitz, hasta que las salidas yi controladas cumplen las especificaciones de dise
no previamente establecidas.

7.4.2.

El Criterio de Hurwitz

El criterio de Hurwitz, que es equivalente al conocido criterio de RouthHurwitz,


se basa en la construccion de la matriz Hurwitz a partir de la ecuacion caracterstica
D(s) del sistema realimentado:
D(s) = sn + a1 sn1 + a2 sn2 + a3 sn3 + + an1 s + an

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

Sntesis de Controladores SISO y MIMO


Step Response
From: In(1)

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)

Fig. 7.11: Salidas y1 e y2 controlados (Ejemplo 7.5.)


% pmimo1.m CONTROL P MIMO USANDO LA MATRIZ DE RETORNO DE LA DIFERENCIA
clear all; close all; clc; I = eye(2); syms s K1 K2;
Gp=[3/s -280/(s*(s+6)*(s+30));0.05/s -200/(s*(s+6)*(s+30))];
K=[K1 0;0 K2]; D=det(I+Gp*K); % pretty(D) % D=s^4+a1*s^3+a2*s^2+a3*s+a4
a1=36+3*K1; a2=180+108*K1; a3=-200*K2+540*K1; a4=-586*K1*K2;
H=[a1 a3 0 0;1 a2 a4 0;0 a1 a3 0;0 1 a2 a4]; H1=a1;
H2=det([a1 a3;1 a2]); H3=det([a1 a3 0;1 a2 a4;0 a1 a3]); H4=det(H);
% H1 > 0 => K1 > -12; H2 > 0 CON K = -12 => K2 <3 2.4
% PARA TENER K1 Y K2 EN EL SEMIPLANO IZQUIERDO DE K1 VS K2 SELECCIONAMOS:
% 0 <= K1 <= 12, -32 <= K2 <= 0; TOMEMOS:
K1=2; K2=-1.5; K=[K1 0;0 K2]; s=tf(s);
Gp=[3/s -280/(s*(s+6)*(s+30));0.05/s -200/(s*(s+6)*(s+30))];
G=feedback(Gp*K,I); step(G), print -deps -f pmimo1

7.5.

Problemas

Problema 7.1 Sistema Tanque Cerrado


Basado en las tecnicas descritas en las secciones 7.3 y 7.4, dise
nar los controladores
MIMO para controlar el nivel y la temperatura del sistema tanque cerrado descrito
en la subseccion ??. Las especificaciones de dise
no tanto para el nivel como para
la temperatura son: 0 % de sobrenivel, error en estado estable nulo y tiempos de
estabilizacion lo mas rapido posible.
Problema 7.2 Sistema de Plataformas

7.5 Problemas

167

Basado en la tecnica descrita en la seccion 7.4, dise


nar un controlador P MIMO para
el sistema de plataformas mostrado en la Fig. 2.26 y descrito en el problema 2.6. 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.3 Manipulador Polar Vertical
Basado en las tecnicas descritas en las secciones 7.2, 7.2 y 7.4, dise
nar los controladores PID MIMO para el manipulador polar vertical mostrado en la La Fig. ?? y
descrito en el problema ??. 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.4 Manipulador Polar Horizontal
Basado en las tecnicas descritas en las secciones 7.2, 7.2 y 7.4, dise
nar los controladores PID MIMO para el manipulador polar horizontal mostrado en la La Fig. ??
y descrito en el problema ??. 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.5 Manipulador Rob
otico TraslacionalEsf
erico (MRTE)
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 traslacionalesferico mostrado en
la Fig. ?? y descrito en el problema ??. 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.6 Manipulador Rob
otico Esf
erico (MRE3)
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 de 3GDL mostrado en la
Fig. ?? y descrito en el problema ??. 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.7 Motor Sncrono de Im
an Permanente
Basado en las tecnicas descritas en las secciones 7.2, 7.2 y 7.4, dise
nar los controladores PID MIMO para el motor sncrono de iman permanente descrito en el problema ??. Las especificaciones de dise
no de las corrientes iq e id controladas son: 0 %
de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo mas rapido
posible.
Problema 7.8 Manipulador Rob
otico Traslacional (MRT)

168

Sntesis de Controladores SISO y MIMO

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.

Control Predictivo Basado en Modelos

El control predictivo basado en modelos es una metodologa de control que usa


el modelo del proceso para calcular y optimizar las predicciones de las acciones de
control y de la salida controlada. Esta metodologa se ha desarrollado alrededor de
ciertos principios, dos de los cuales son:
Empleo de un modelo del proceso para pronosticar su salida a controlar en
instantes de tiempo futuro.
Calculo de una accion de control optima basada en la minimizacion de funciones
de costo, posiblemente incluyendo restricciones en las variables manipuladas
controladas.
Los diferentes miembros de la familia del control predictivo basado en modelos
difieren principalmente, valga la redundancia, en el modelo usado para representar el
proceso con sus perturbaciones, y en las funciones de costo a ser minimizadas (con o
sin restricciones).
De la gama de algoritmos de control predictivo existentes, nos ocupamos en particular del denominado Control Matricial Dinamico. Para validar el procedimiento
de dise
no propuesto, se presentan varios ejemplos de dise
no.
Es importante resaltar que el control predictivo es de naturaleza abierta y cuenta con muchas contribuciones, tanto en lo academico como tambien en el mundo
industrial. Muchas aplicaciones del control predictivo son usadas hoy en todos los
campos de la actividad industrial. El buen rendimiento de tales aplicaciones es muy
apreciada; por ello, sigue existtiendo un creciente interes en esta metodologa.

170

8.2.

Control Predictivo

Principios del Control Predictivo

El control predictivo pronostica la salida de la planta en un escenario de tiempo


de duracion N2 (el horizonte de tiempo N2 ). Tal prediccion depende de las salidas
y entradas pasadas, pero tambien del escenario del control futuro. La obtencion del
modelo que refleje lo mas fielmente posible la evolucion dinamica de la planta, es la
llave del exito en las aplicaciones. La notacion usada para derivar los principios del
control predictivo es la siguiente:
t, representa el tiempo discreto (t = 0, 1, 2, . . . ).
u(t), denota la entrada al proceso y constituye la variable manipulada o se
nal
de control.
y(t), es la salida del proceso y constituye la la variable controlada.
w(t), representa la trayectoria deseada (set point).
r(t), denota la trayectoria de referencia.
u(t + k/t), denota los valores futuros de la entrada en el tiempo t + k postulados
en el tiempo t, o simplemente, dado t.
y(t + k/t), denota los valores futuros de la salida basado en las mediciones
disponibles en el tiempo t:
{y(t), y(t 1), . . . , u(t 1), u(t 2), . . .}
y en los valores futuros de la entrada postulados en el tiempo t:
{u(t/t), u(t + 1/t), . . .}
Con relacion a la figura 8.1, el principio del control predictivo se caracteriza por
la siguiente estrategia:
En cada tiempo t, la salida del proceso y(t + k) se pronostica sobre un horizonte
k = 1 . . . N2 . Los valores pronosticados se denotan como y(t + k/t) y a N2 se
le denomina el horizonte de prediccion. La prediccion se realiza mediante el
modelo del proceso, el cual se asume que esta disponible. El pronostico en
cuestion depende de las entradas y salidas pasadas, pero tambien del escenario
del control futuro u(t + k/t), k = 0, . . . , N2 1; es decir, de las acciones de
control que se intentan aplicar a partir del tiempo t.
Una trayectoria de referencia r(t + k/t), k = 1, . . . , N2 , que se inicia en r(t/t) =
y(t) y se define sobre el horizonte de prediccion. Esta trayectoria describe la forma de guiar la salida del proceso desde su valor actual y(t) hasta la trayectoria
deseada w(t).
El vector de control u(t + k/t), k = 0, . . . , N2 1, se calcula para minimizar
una funcion de costo especfica que depende del error del control predictivo
r(t + k/t) y(t + k/t), k = 1, . . . , N2 .
Al proceso real solo se le aplica el primer elemento del vector de control optimo
calculado u(t + k/t), k = 0, . . . , N2 1, mientras que se dejan de lado los
demas elementos de dicho vector. En el proximo instante de muestreo, todas
las secuencias temporales se desplazan para dar cabida a las nuevas mediciones
de la salida y(t + 1) y a las del vector de control u(t + k + 1/t + 1), cuyo primer

8.3 El Modelo del Proceso

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)

Fig. 8.1: Estrategia del control predictivo. (a) Se


nales: deseada (w(t)), de referencia
(r(t)) y de salida predictiva (y(t + k/t)). (b) Se
nal de control predictivo u(t).
elemento es generalmente diferente al primer elemento del vector u(t + k/t),
previamente calculado. Este principio se denomina estrategia del horizonte
retroactivo.
Por consiguiente, la estrategia del control predictivo comprende: el proceso de
prediccion a traves de un modelo del proceso, la especificacion de una trayectoria de
referencia, la estructuracion de la futura ley de control, la definicion de la funcion de
costo (y sus restricciones) y el calculo del escenario de control optimo. Tal estrategia
puede ser visualizada en el diagrama de bloques mostrado en la Fig. 8.2.

Entradas y
salidas
pasadas

+ Trayectoria de
Salidas
referencia
predecidas
MODELO

Entradas
futuras

OPTIMIZADOR

Funcion
de costo

restricciones

Fig. 8.2: Estrategia del Control Predictivo Basado en Modelos

8.3.

El Modelo del Proceso

El proceso SISO, probablemente no lineal, puede modelarse como:


y(t) = x(t) + n(t)

(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

Fig. 8.3: Modelo del proceso bajo perturbaciones.

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

donde es una base de tiempos arbitraria, E[.] es el operador estadstico esperanza,


I es la matriz identidad y 2 es conocida como la varianza. La densidad espectral de
potencia S() del ruido blanco se halla tomando la transformada de Fourier de 2 I,
resultando la varianza 2 ; es decir, un espectro de frecuencias de magnitud constante
e igual a 2 , para un rango de frecuencias con intervalo < +, >, tal como se
muestra en la Fig. 8.4, donde tambien se ilustran las caractersticas autocorrelacion
R( ), densidad espectral de potencia S() y distribucion f (n) del ruido coloreado.
Cualquier ruido, sea z, que no cumpla las dos caractersticas estadsticas del ruido
blanco, se denomina ruido coloreado. Tal como se mencionaba anteriormente, si tenemos una fuente generadora de ruido blanco, es facil obtener ruido coloreado. Basta
pasar el ruido blanco por un filtro. A la salida del filtro tendremos ruido coloreado,
caracterizado por poseer un espectro de frecuencias no uniforme.
Matematicamente, el disturbio n(t), que es de caracter estocastico, puede ser
modelado mediante un filtro coloreado de la forma:
n(t)
C(z 1 )
=
e(t)
D(z 1 )

(8.2)

8.3 El Modelo del Proceso

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)

El filtro de disturbio debe dise


narse: para eliminar disturbios en el estado estable
(cuando z = 1), como filtro selectivo (para eliminar una determinada frecuencia)
y para incrementar la robustez del sistema en la presencia de errores de medicion.
Estructuras tpicas de los polinomios del filtro pueden ser:
C(z 1 ) = 1 + cz 1 ;

D(z 1 ) = (1 + dz 1 )(1 z 1 )

Los conceptos de ruido blanco y filtro coloreado se explican en el ejemplo ??. De la


ecuacion (8.2) podemos despejar:
C(z 1 )n(t) = D(z 1 )e(t)
El operador de desplazamiento z 1 esta relacionado con el tiempo discreto t como
sigue:
[1 + c1 z 1 + + cnc z nc ]n(t) = n(t) + c1 n(t 1) + + cnc n(t nc )

(8.5)

[1 + d1 z 1 + + dnd z nd ]e(t) = e(t) + d1 e(t 1) + + dnd e(t nd )

(8.6)

La Salida x(t) del Modelo


La se
nal x(t) representa el efecto del proceso en la salida y(t) debido a la entrada
u(t). De nuevo, x(t) no es una se
nal medible. En general, la relacion entre u(t) y x(t)
puede representarse mediante un modelo dinamico generico de la forma:
x(t) = f (x(t 1), x(t 2), . . . , u(t 1), u(t 2), . . .)

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

donde z es la variable de desplazamiento de la transformada Z, y:


A(z 1 ) = 1 + a1 z 1 + ... + ana z na
B(z

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

e(t) + c1 e(t 1) + c2 e(t 2) + ... + cnc e(t nc )


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)

la cual conduce a la ecuacion de diferencias:


y(t) = a1 y(t 1) a2 y(t 2) + b1 u(t 1) + b2 u(t 2)

(8.12)

El modelo lineal CARIMA mas generalizado es de la forma:


A(z 1 )y(t) =

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

8.3 El Modelo del Proceso

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

(1 z 1 )A(z 1 )y(z) = (1 z 1 )B(z 1 )u(z) + Ae(z)


donde e(t) es ruido blanco gaussiano con media nula. La ecuacion de diferencias del
proceso ruidoso se obtiene despejando y(t) de la u
ltima expresion:
y(t) = (1 a1 )q(t 1) + (a1 a2 )q(t 2) + a2 q(t 3)+
b1 u(t 1) + (b2 b1 )u(t 2) b2 u(t 3) + e(t) + a1 e(t 1) + a2 e(t 2)
Ejemplo 8.2
Comparar las respuestas no ruidosa q(t) y ruidosa y(t) del ejemplo anterior. Los
parametros requeridos se derivan de un proceso de segundo orden cuyas ecuaciones
de estado y de salida son conocidas. La respuesta q(t) se obtiene cuando la entrada al
proceso es una sinusoide u(t), mientras que la ruidosa y(t) se debe a un ruido blanco
gaussiano que se a
nade a q(t). Asumir un tiempo de muestreo de T = 0.01 s.
Soluci
on: La solucion del problema planteado se detalla en el programa ejruido.m.
Los resultados se muestran en la Fig. 8.5. Observar en la Fig. inferior que el ruido
e(t) empleado posee media cero y una funcion de distribucion gaussiana.

176

Control Predictivo

% ejruido.m RESPUESTAS NO RUIDOSA Y RUIDOSA EN UN PROCESO DE 2DO ORDEN


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;
% RESPUESTAS DEL PROCESO
MM = 1000; for t=1:MM; u=sin(0.006*t); U(t)=u; % SINUSOIDE DE ENTRADA
q = -a1*qp -a2*qpp + b1*u + b2*up;
Q(t)=q; % RESPUESTA NO RUIDOSA
e = 0.1*randn; E(t)=e; % RUIDO BLANCO GAUSSIANO, MEDIA NULA, VARIANZA 0.1
y = (1-a1)*yp + (a1-a2)*ypp + a2*yppp ...
+ b1*u + (b2-b1)*up - b2*upp + e + a1*ep + a2*epp; Y(t)=y;
yppp=ypp; ypp=yp; yp=y; upp=up; up=u; epp=ep; ep=e;
end
% GRAFICOS
ejex = linspace(0,MM*T,MM); subplot(5,1,1); plot(ejex,U); grid
ylabel(u(t) [V]); xlabel(TIEMPO [s]); subplot(5,1,2);
plot(ejex,Q); grid; ylabel(q(t) [rad]); xlabel(TIEMPO [s]);
subplot(5,1,3); plot(ejex,Y); grid; ylabel(y(t) [rad])
xlabel(TIEMPO [s]); subplot(5,1,4); plot(ejex,E); grid;
ylabel(e(t) [rad]); xlabel(TIEMPO [s]); subplot(5,1,5); hist(E);
ylabel(e(t) GAUSS.); xlabel(<-----e(t)
------>);
print -f -deps ejruidor

8.4.

El Controlador Predictivo

8.4.1.

Objetivo del Controlador

El objetivo del controlador predictivo es determinar el vector de control:


u(t + k/t),

k = 0, . . . , N2 1

que minimice la siguiente funcion de costo:


J=

N2
X

k=N1

[r(t + k/t) y(t + k/t)]2 +

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)

con u(t + k/t) = 0 para k Nu . La trayectoria de referencia esta representada por


la ecuacion:
r(t + k/t) = r(t + k 1/t) + (1 )w(t + k/t)
(8.17)
evaluada para k = 1, . . . , N2 , con r(t/t) = y(t). Los parametros de dise
no son:
N1 : horizonte de prediccion mnimo.
N2 : horizonte de prediccion maximo; por defecto podemos considerar N 2 =
N1 + 1, . . . , N1 + 10.

u(t) [V]

8.4 El Controlador Predictivo

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

Fig. 8.5: Respuestas del ejemplo 8.2.

Nu : horizonte de control; por defecto considerar Nu = 1.


N1 , . . . , N2 : horizonte de coincidencia; por defecto considerar N1 (tiempo muerto).
: parametro de ponderacion; por defecto considerar cero.
: parametro de filtraje; por defecto considerar cero.
Si la trayectoria deseada w(t) se programa previamente, entonces los valores futuros
w(t+k) se pueden emplear para determinar w(t+k/t). Es decir, w(t+k/t) = w(t+k)
para k = 1, . . . , N2 . Si no deseamos una estrategia de control predictivo en avance, el
valor actual w(t) se puede usar como un valor de prediccion w(t + k/t) = w(t) para
k = 1, . . . , N2 .
Es importante observar ademas que:
1. La trayectoria de referencia dada en (8.17) constituye un filtro de primer orden
para w(t). Este filtro se puede representar mediante la siguiente funcion de
transferencia:
r(z)
1
z(1 )
=
=
(8.18)
1
w(z)
1 z
z
2. El filtro para w(t) se puede implementar fuera del lazo de control, no afectando
de esta manera a la estabilidad del sistema, pero s contribuyendo al rechazo
del ruido.

178

Control Predictivo

La Fig. 8.6 ilustra el objetivo del control predictivo basado en modelos.


N u =4





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

Fig. 8.6: Objetivo del control predictivo basado en modelos.

8.4.2.

Respuesta Libre y Respuesta Forzada

Conceptualmente, la respuesta futura y(t + k/t) puede ser considerada como el


resultado acumulativo de dos efectos:
y(t + k/t) = ylibre (t + k/t) + yf orz (t + k/t)

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

8.4 El Controlador Predictivo


y
3

179

Respuestas libre ms forzada


Seal de referencia

2
1

Respuesta libre
Respuesta forzada
t

0
u

Seales de control para


la respuesta lforzada

2
1

Seales de control para


la respuesta libre

Fig. 8.7: Respuestas libre y forzada.

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 =

yf orz (t + N1 /t) yf orz (t + N1 + 1/t) yf orz (t + N2 /t)

U=

g N1

gN1 +1
G=
...
g N2

gN1 1
g N1
...
gN2 1

...
...

...
...

...
...
. . . gN2 Nu +1

u(t/t) u(t + 1/t) u(t + Nu 1/t)

y empleando la ecuacion (8.19), podemos escribir:


+ GU
Y=Y

T

T
(8.22)

180

Control Predictivo

donde:
Y = [y(t + N1 /t) . . . y(t + N2 /t)]T ;

U = [u(t/t) . . . u(t + Nu 1/t)]T

= [ylibre (t + N1 /t) . . . ylibre (t + N2 /t)]T ;


Y

R = [r(t + N1 /t) . . . r(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

Por otro lado, la condicion para respuesta libre es que:


u(t/t) = u(t + 1/t) = = u(t + N2 /t) = u(t 1)
Aplicando tal condicion en la ecuacion de diferencias del proceso, se obtiene:
ylibre (t + 1) = a1 ylibre (t) a2 ylibre (t 1) + b1 u(t) + b2 u(t 1)
= a1 ylibre (t) a2 ylibre (t 1) + (b1 + b2 )u(t 1)

8.4.3.

La Ley de Control SISO

Con la notacion anterior, la funcion de costo (ecuacion (8.15)) resulta:


GU]T [(R Y)
GU] + UT U (8.23)
(R Y)T (R Y) + UT U = [(R Y)
la cual es una forma cuadratica en U, cuya minimizacion por diferenciacion resulta
en la siguiente solucion optima:
U = (GT G + I)1 GT (R Y)

(8.24)

Es importante indicar que:


Solamente el primer elemento u(t/t) de U es necesario para computar la
entrada de control actual u(t) = u(t 1) + u(t/t). El mismo procedimiento se
repite para la nueva medicion y(t + 1) en el proximo instante de tiempo t + 1.
Este procedimiento se denomina el principio del horizonte retroactivo.

8.4 El Controlador Predictivo

181

La matriz [GT G + I] a ser invertida tiene dimension Nu Nu . Para el caso


por defecto, es decir, para Nu = 1, se obtiene una ley de control escalar (con
muy buenos resultados en muchos casos practicos) de la forma:
P N2
gk [r(t + k/t) ylibre (t + k/t)]
u(t) = k=N1
(8.25)
PN 2
2
k=N1 gk +

Otra aproximacion para la estructuracion del escenario de control consiste en


el empleo de funciones base de la forma:
X
u(t + k/t) =
i Bi
(8.26)
i

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

El procedimiento para dise


nar un sistema de control predictivo SISO basado en
modelos, empleando la matriz dinamica de control es como sigue:
1. Formular el problema y definir las especificaciones de dise
no, incluyendo los
horizontes de control N1 , N2 y Nu .
2. Determinar el modelo CARIMA del proceso. Ver subseccion 8.3.
3. Calcular la respuesta libre y la respuesta forzada del proceso. Ver subseccion
8.4.2.
4. Determinar la ley de control. Ver subseccion 8.4.3.
5. Validar mediante simulacion el sistema de control predictivo SISO.

8.6.

Ejemplo de Dise
no

Control de Velocidad de un Proceso Electromec


anico
Los parametros valorados del proceso mostrado en la figura 8.8 son: momento de
inercia del rotor J = 0.01 kg-m2 /s2 , constante electromotriz Ke = Kt = 0.01 N-m/A,
resistencia total en la armadura R = 12 ohm, condensador C = 0.5 F, inductancia
de armadura L = 0.5 H, constante torsional K = 1.8 N-m/rad. Si vC es el voltaje

+
v

IR

L
C

+
e
-

IM

K
T
1

Fig. 8.8: Sistema electromecanico.


en C, las ecuaciones dinamicas que gobiernan el subproceso electrico son:
1
vC
dIM
(v vC );
C
= IR IM ;
L
= vC e
R
dt
dt
El torque T del motor y la tension contraelectromotriz se expresan como:
IR =

T = K t IM ;

e = K e 1

donde Kt y Ke son la constantes del motor y contarelectromotriz, respectivamente.


Despreciando perdidas, el torque T tambien se formula como:
J

d2
=T
dt

8.6 Ejemplo de Dise


no

183

As mismo, la relacion que gobierna el resorte rotacional de constante K toma la


forma:
dT
= K (1 2 )
dt
Seleccionando como variables de estado x1 = vC , x2 = IM y x3 = 2 , y eligiendo
como salida y = x3 , la representacion del proceso en el espacio de estado resulta:
x = Ax + Bu;

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

Siguiendo el procedimiento de dise


no propuesto, en el programa p11pred1.m, cuyo
listado se muestra abajo, se dise
na un sistema de control predictivo con fuerza de
control escalar, para controlar la velocidad angular x3 = 2 del eje del motor mediante
el voltaje de entrada v, el cual puede variar entre 100 volt. Las especificaciones de
dise
no alcanzadas son: tiempo de estabilizacion de la se
nal controlada x 3 , menor que
6 s, respuesta con sobrepico maximo de 5 %, y error en estado estacionario nulo, tal
como se ilustra en la Fig. 8.9.
% p11pred1.m CONTROL DE LA VELOCIDAD DE UN PROCESO ELECTROMEC
ANICO
clear all; close all; clc;
% MODELO DEL PROCESO EN TIEMPO CONTINUO
J = 0.01; Ke = 0.01; Kt = 0.01; R = 12; C = 0.5; L = 0.5; Kw = 1.8;
Ac = [-1/(R*C) -1/C 0;Kw/(L*Kw+Kt*Ke) 0 -Ke*Kw/(L*Kw+Kt*Ke);0 Kt/J 0];
Bc = [1/(R*C);0;0]; Cc = [0 0 1]; Dc = [0]; T=0.2; % TIEMPO DE MUESTREO
% MODELO LINEAL DISCRETO
[G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,zoh); [numd,dend]=ss2tf(G,H,C,D);
a1=dend(2); a2=dend(3); a3=dend(4); b1=numd(2); b2=numd(3); b3=numd(4);
% RESPUESTA AL ESCALON
% RESPUESTA AL ESCALON Y MATRIZ GANANCIA GG
g(1) = b1; g(2) =-a1*b1+b1+b2; g(3)=-a1*g(2)-a2*g(1)+b1+b2+b3;
for k=4:10; g(k) =-a1*g(k-1)- a2*g(k-2)-a3*g(k-3)+b1+b2+b3; end;
N1 =1; N2 =10; Nu =1; % HORIZONTES
for k=1:4
yf(k)=0; y(k)=0; r(k)=0; u(k)=0; % CONDICIONES Y PAR
AMETROS INICIALES
end
du(1)=0; alf = 0.85; lambda = 0; MM=1000;
% LAZO DE CONTROL
for t =4:MM+3
for k=1:N2
W(t+k)= 4*sign(sin(0.01*t));
% TRAYECTORIA DESEADA
r(t+k) = alf*r(t+k-1) + (1-alf)*W(t+k); % TRAYECTORIA DE REFERENCIA
yf(t+k) = -a1*yf(t+k-1)-a2*yf(t+k-2)-a3*yf(t+k-3)+(b1+b2+b3)*u(t-1);
end
% yf ES LA RESPUESTA LIBRE
% LEY DE CONTROL ESCALAR
du(t) = (...
g(1)*(r(t+1)-yf(t+1))+g(2)*(r(t+2)-yf(t+2))+g(3)*(r(t+3)-yf(t+3))+ ...

184

Control Predictivo

g(4)*(r(t+4)-yf(t+4))+g(5)*(r(t+5)-yf(t+5))+g(6)*(r(t+6)-yf(t+6))+ ...
g(7)*(r(t+7)-yf(t+7))+g(8)*(r(t+8)-yf(t+8))+g(9)*(r(t+9)-yf(t+9))+ ...
g(10)*(r(t+10)-yf(t+10)))/(g(1)^2+g(2)^2+g(3)^2+g(4)^2+g(5)^2+ ...
g(6)^2+g(7)^2+g(8)^2+g(9)^2+g(10)^2+lambda);
u(t) = u(t-1) + du(t);
% LIMITADOR M
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

Voltaje de control [V]

50

50

Fig. 8.9: Velocidad angular controlada y el voltaje de control obtenidas ejecutando el


programa p11pred1.m.
El programa p11pred2.m resuelve el mismo problema, pero empleando una fuerza de
control vectorial. El resultado de la simulacion se muestra en la Fig. 8.10, el cual
resulta muy similar al obtenido en la Fig. 8.9.
% p11pred2.m CONTROL DE VELOCIDAD USANDO LEY DE CONTROL MATRICIAL
% MODELO DEL PROCESO EN TIEMPO CONTINUO
J = 0.01; Ke = 0.01; Kt = 0.01; R = 12; C = 0.5; L = 0.5; Kw = 1.8;
Ac = [-1/(R*C) -1/C 0;Kw/(L*Kw+Kt*Ke) 0 -Ke*Kw/(L*Kw+Kt*Ke);0 Kt/J 0];
Bc = [1/(R*C);0;0]; Cc = [0 0 1]; Dc = [0]; T=0.2; % TIEMPO DE MUESTREO
% MODELO LINEAL DISCRETO
[G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,zoh); [numd,dend]=ss2tf(G,H,C,D);
a1=dend(2); a2=dend(3); a3=dend(4); b1=numd(2); b2=numd(3); b3=numd(4);
N1 =1; N2 =10; Nu =5; % HORIZONTES
% RESPUESTA AL ESCALON Y MATRIZ GANANCIA GG
g(1) = b1; g(2) =-a1*b1+b1+b2; g(3)=-a1*g(2)-a2*g(1)+b1+b2+b3;

8.7 Problemas Propuestos

%
%

185

for k=4:10; g(k) =-a1*g(k-1)- a2*g(k-2)-a3*g(k-3)+b1+b2+b3; end;


GG=[g(1) 0
0
0
0
g(2) g(1) 0
0
0
g(3) g(2) g(1) 0
0
g(4) g(3) g(2) g(1) 0
g(5) g(4) g(3) g(2) g(1)
g(6) g(5) g(4) g(3) g(2)
g(7) g(6) g(5) g(4) g(3)
g(8) g(7) g(6) g(5) g(4)
g(9) g(8) g(7) g(6) g(5)
g(10) g(9) g(8) g(7) g(6)]; G1 = GG*GG;
CONDICIONES INICIALES Y PAR
AMETROS DE CONTROL
yf(1)=0; yf(2)=0; yf(3)=0; yf(4)=0;y(1)=0; y(2)=0; y(3) = 0; y(4)=0;
r(1) =0; r(2) =0; r(3)=0; u(1) =0; u(2) =0; u(3)=0; du(1)=0;
alf=0.85; lambda=0.1; I=eye(5,5); MM=1000;
LAZO DE CONTROL CON HORIZONTES N1 =1; N2 =10; Nu =5;
for t =4:MM+3
for k=1:N2; W(t+k)= 4*sign(sin(0.01*t)); end % TRAYECTORIA DESEADA
for k=1:N2; r(t+k)=alf*r(t+k-1)+(1-alf)*W(t+k); end % REFERENCIA R
R=[r(t+1) r(t+2) r(t+3) r(t+4) r(t+5) ...
r(t+6) r(t+7) r(t+8) r(t+9) r(t+10)];
for k=1:N2
yf(t+k)=-a1*yf(t+k-1)-a2*yf(t+k-2)-a3*yf(t+k-3)+(b1+b2+b3)*u(t-1);
end
YF=[yf(t+1) yf(t+2) yf(t+3) yf(t+4) yf(t+5) ...
yf(t+6) yf(t+7) yf(t+8) yf(t+9) yf(t+10)]; % RESPUESTA LIBRE
LEY DE CONTROL VECTORIAL
U=inv(G1+lambda*I)*GG*(R-YF); du=U(1); u(t) = u(t-1) + du;
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
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 p11pred2

8.7.

Problemas Propuestos

Problema 8.1 Posici


on de un Motor DC
El circuito con opamps de la Fig. 2.22 alimenta a un motor DC cuya posicion
queremos controlar empleando dos sistemas de control predictivo, uno con ley de
control escalar y otro con ley de control matricial. Las salidas controladas deben de
satisfacer ciertas especificaciones de dise
no dictadas por el usuario. Dise
ne y simule
los sistemas de control pedidos sabiendo que Kp = 5 y que:
1.5

=
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

Voltaje de control [V]

40
20
0
20
40

Fig. 8.10: Resultado de la ejecucion del programa p11pred2.m.


Problema 8.2 Turbina
La Fig. 8.11 muestra una turbina de agua unido a un generador electrico, cuya
FT es:
M (s)
6
=
(s)
3,2s + 1
donde M (s) es el momento rotacional generado por la turbina gracias a la accion
del flujo de agua y (s) es la velocidad angular del generador. Dise
nar y simular dos
sistemas de control predictivo, uno con ley de control escalar y otro con ley de control
matricial, para controlar el momento M (s), cumpliendo determinadas especificaciones
de dise
no dictadas por el usuario.
Generador
elctrico
Turbina
Entrada
de agua
M

Desague

Fig. 8.11: Generador accionado por una turbina de agua.


Problema 8.3 Proceso Mec
anico
La Fig. 2.25 muestra una proceso mecanico traslacional, donde M = 2 kg es la
masa de un cuerpo que esta accionado por una fuerza u. A esta accion se le oponen

8.7 Problemas Propuestos

187

la fuerza fK = Kx N en el resorte y la fuerza de perdidas fB = B.8v N en el


amortiguador, donde K = 3.4 N/m es la constante del resorte, B = 0.8 N/m/s es la
constante de perdidas, v = dx/dt es la velocidad de la masa M y x su posicion. 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 posicion x(t), cumpliendo determinadas
especificaciones de dise
no dictadas por el usuario. Recordar que la ecuacion dinamica
de este proceso es:
d2 x
M 2 = u f K fB
dt
Problema 8.4 Proceso Hidr
aulico
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 posicion x 2 (t) de la masa M2 del
proceso hidraulico mostrado en la Fig. 2.28, cumpliendo determinadas especificaciones
de dise
no dictadas por el usuario. Se sabe que M1 = 500 kg, A1 = 0.4 m2 , M2 =
2.2M1 , A2 = 2.1A1 , B = B1 = B2 = 12.3 N/m/s, y K 3.8 N/m.
Problema 8.5 Proceso Hbrido
Dise
nar y simular dos sistemas de control predictivo, uno con ley de control escalar y otro con ley de control matricial, para controlar el voltaje V (t) del generador
mostrado en la Fig. 2.29, actuando sobre el flujo de agua q1 (t), cumpliendo determinadas especificaciones de dise
no dictadas por el usuario. Se sabe que el radio de la
seccion del tanque es de 0.7 m, Ra = Rc = 2.4 ohm, La = Lc = 3.5 H, Kb = 2.7
V/rad/s y JT = 5.1 Nm/rad/s2 .
Problema 8.6 Proceso Electromec
anico
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 posicion angular (s) del
sistema electromecanico mostrado en la Fig. 2.30, cumpliendo determinadas especificaciones de dise
no dictadas por el usuario. Cada controlador predictivo a dise
nar,
debe sustituir al amplificador de ganancia A. Datos adicionales: R = 4 ohm, L =
0.7 H, KT = 1.8 Nm/rad, B = N/rad/s, M = 20 kg, Km = 0.7 Nm/A, J = 4.8
Nm/rad/s2 y r = 0.1 m.
Problema 8.7 Inclinaci
on de un Avi
on
La dinamica de un avion puede ser descrita por varios conjuntos acoplados de ecuaciones diferenciales no lineales. Sin embargo, bajo ciertas suposiciones, tales ecuaciones pueden ser desacopladas y linealizadas para obtener dos conjuntos: las ecuaciones longitudinales y las ecuaciones laterales. El control de la inclinacion del
avion mostrado en la Fig. 8.12 es un problema longitudinal. Asumiendo que el avion
esta en su velocidad de crucero (altura y velocidad constantes), entonces la resistencia
de arrastre y la fuerza impulsora se cancelan mientras que el empuje de elevacion se
iguala con el peso (ver figura 8.12). Con tales consideraciones, se puede asumir que

188

Control Predictivo
Empuje

Impulso

Arrastre

e
z

Peso

Fig. 8.12: Avion comercial en pleno vuelo.


las ecuaciones longitudinales del movimiento del avion (los datos corresponden a un
avion comercial Boeing) son:
= 0.313 + 56.7q + 0.232e

q = 0.0139 0.426q + 0.0203e


= 56.7q

donde es el angulo de ataque, q es la relacion de inclinacion, es el angulo de


inclinacion y e es el angulo del deflector de elevacion. La funcion de transferencia
del proceso es:
1,151s + 0,1774
(s)
= 3
e (s)
s + 0,739ss + 0,921s
mientras que sus ecuaciones de estado y de

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.

8.7 Problemas Propuestos

189

Problema 8.9 Secador de Granos


En el proceso de la Fig. 8.13(a) se desea reducir la humedad h del material a granel
de la tolva. La banda transportadora, que se desplaza a una velocidad v = 1 m/s
constante, introduce el material a un horno de secado. El sensor de humedad detecta
hr a una distancia d = 10 m del horno y proporciona la se
nal de voltaje vr . El
horno puede modelarse como un proceso de primer orden. La Fig. 8.13(b) muestra
la F.T del proceso. Dise
nar dos sistemas de control predictivo basado en modelos,
uno con fuerza de control escalar y otro con fuerza de control matricial. El objetivo
Tolva

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

Fig. 8.13: Sistema reductor de humedad.


de control es estabilizar la humedad del material en la banda transportadora. Con
fines de modelado del proceso, el tiempo muerto puede ser descrito empleando la
aproximacion de Pade de tercer orden (ver ejemplo A.48):
eT s

1 Tt s/2 + (Tt s)2 /10 (Tt s)3 /120


num(s)
=
den(s)
1 + Tt s/2 + (Tt s)2 /10 + (Tt s)3 /120

Las especificaciones de dise


no para ambos sistemas de control son: tiempo de estabilizacion menor que 40 s, error en estado estacionario nulo y porcentaje de sobreimpulso menor al 5 %. La seleccion del tiempo de muestreo y de los horizontes de control
es a conveniencia del dise
no.
Problema 8.10 Ca
no
n en la Torreta de un Tanque
Las ecuaciones del modelo linealizado para controlar la posicion angular del ca
non
ubicado en la la torreta de un tanque mediante un actuador hidraulico son las siguientes (ver figura 8.14):
=
= p + d
Km
Km
q+
+ dp
J
J
q = Kv Lv q Kv Kp Jp + Kv u + dq ;

p = m p

Lv = 1

donde es el angulo de la torreta, es la velocidad angular de la torreta, p es la


aceleracion angular producida por el actuador hidraulico, q es el desplazamiento de la

190

Control Predictivo

servovalvula, Km = [8.46106 , 1.96106 ] (el primer valor corresponde al angulo de


desplazamiento horizontal de la torreta, mientras que el segundo valor, al angulo de
elevacion) es la ganancia del servomotor, J = [7900, 2070 lbf-ft-s 2 ] es la inercia de la
torreta, m = [45.9, 17.3 rad/s] es la frecuencia natural del motor, Kv = [94.3, 94.3]
es la ganancia de la servo valvula, y Kp = [6.33106 , 3.86105 ] es el coeficiente
de presion diferencial. Las cantidades d , dp y dq representan disturbios que tambien
incluyen los efectos debido a las no linealidades que no fueron tomadas en cuenta en
el modelo linealizado. Es u
til saber que 1 lbffts2 = 1.355 kgm2 .

Torreta del tanque

Angulo de

elevacion

Azimut: angulo
de
posicionamiento horizontal

Fig. 8.14: Vistas lateral y horizontal de la torreta de un tanque.


(a) Dise
nar un sistema de control predictivo con fuerza de control escalar y otro
con fuerza de control matricial, para controlar el angulo de elevacion con
las especificaciones siguientes: tiempo de estabilizacion menor que 5 s, mnimo
sobreimpulso y error en estado estacionario nulo. Los disturbios tipo escalon
pueden actuar simultaneamente y pueden ser positivos o negativos. El sistema
de control dise
nado debe ser capaz de minimizar sus efectos. La seleccion de los
horizontes de control es a conveniencia del problema planteado.
(b) Lo mismo que (a), pero en este caso para controlar el angulo azimutal.
Problema 8.11
La Fig. A.2 muestra un carro 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, donde b= 50 N-s/m es el
coeficiente de friccion, es lo u
nico que se opone al movimiento del carro, entonces la
dinamica del proceso puede modelarse como (ver ejemplo A.9):
mv(t)
+ bv(t) = u(t);

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

8.7 Problemas Propuestos

191

(problema de seguimiento). La seleccion de los valores de los horizontes y el tiempo


de muestreo son a conveniencia del problema planteado.

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.

Fig. 9.1: Sistema de control a lazo cerrado, donde el controlador convencional se


reemplaza por un controlador 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

Tabla 9.1: Parametros y variables del brazo robotico de 1GDL (MR1).


Smbolo
u
KA
Va
Ra
La
ia
Km
Tm
TL
L
Tg1
Tg2
Jm
Jg
JL
Bm
Bg
BL
mh
mb
L
rh
Vb
Kb
g
N1 , N2
n
m

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

Fig. 9.2: Esquema del Manipulador Robotico de 1GDL.


Modelo del Subsistema Mec
anico
Para modelar el subsistema mecanico del manipulador empleamos la segunda ley
de Newton para los movimientos lineal y rotacional. La aplicacion de esta segunda
ley se traduce en una ecuacion de balance mecanico. Con respecto a la Fig. 9.2, la
ecuacion de balance mecanico en el eje del servomotor articulado al primer engranaje
se formula como:
Tm = Jm m + Bm m + Tg1

d 2 m
m =
dt2

dm
m =
dt

(9.1)

donde Jm y Bm representan el momento de inercia y la constante de friccion viscosa


del rotor respectivamente, Tm es el torque del servomotor, Tg1 es el torque de reaccion
debido al primer engranaje y m es la posicion angular en el lado del motor. Para los
engranajes de reduccion del servomotor podemos formular:
n=

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)

donde Tg2 es el torque de reaccion debido al segundo engranaje. El balance mecanico


en el eje articulado al brazo del manipulador produce:
Tg2 = Jg + Bg + TL

(9.4)

donde Jg y Bg representan el momento de inercia y la constante de friccion viscosa


de la caja de reduccion respectivamente. El torque de carga TL se formula como (ver

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)

donde JL y BL representan el momento de inercia y la constante de friccion viscosa


de la carga no lineal (brazo mas efector final), g es la constante gravitacional, m b
y mh denotan las masas del brazo y del efector final (esta masa tambien incluye la
masa de la carga en el efector) respectivamente, y rh denota la distancia desde el
extremo del brazo al centro de masa de mh . Notar en (9.6) que el torque L se debe

rh

_L
2

mhg

_L

mb g

Fig. 9.3: Brazo del manipulador robotico de 1GDL.


a las fuerzas ejercidas por los pesos del brazo y de la esfera. As, el torque m b g L sen
2
es el producto del peso mb g del brazo por su brazo de palanca L sen
2 , mientras que
el torque mh g (L + rh )sen es el producto del peso mh g del efector por su brazo de
palanca (L + rh )sen.
El momento de inercia JL de la carga es la suma del momento de inercia del brazo
Jb mas el momento de inercia del efector Jh . Por otra parte, el teorema de los ejes
paralelos, establece que el momento de inercia de una masa m alrededor de un eje de
rotacion que no pasa por su C.M. esta dado por:
J = Jo + m a 2

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

Considerando que la masa del brazo esta distribuida a lo largo de su longitud y


aplicando el teorema de los ejes paralelos, el momento de inercia Jb con respecto al

198

Control Fuzzy

punto de articulacion se formula como:


 2
L
1
= mb L2
Jb = Jbo + mb
2
3

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

Empleando (9.5), (9.6), (9.4), (9.3) y (9.2) en (9.1) y operando se obtiene:


nTm = Jeq + Beq + L = Jeq + Beq + Q sen

(9.12)

donde:
Jeq = n2 Jm + Jg + JL

Beq = n2 Bm + Bg + BL

Las expresiones de Q, Jh y Jb (tener en cuenta que JL = Jh + Jb ) se dan en (9.6),


(9.10) y (9.9) respectivamente.
Modelo del Subsistema El
ectrico
El voltaje de armadura Va viene expresado por (ver la descripcion de las variables
y parametros en la Tabla 9.1):
Va = ia Ra + La

dia
+ Vb
dt

(9.13)

donde ia , Ra y La son la corriente, la resistencia y la inductancia en la armadura


del servomotor respectivamente, y Vb es el voltaje de fuerza contra electromotriz
gobernado por la relacion:
Vb = Kb m = Kb n = Kb n

(9.14)

donde Kb es la constante de fuerza contra electromotriz y m es la velocidad angular


del motor. El voltaje de armadura Va es:
Va = K A u
donde KA es la ganancia del amplificador.

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

donde Km es la constante del motor. Reemplazando (9.12) en ( 9.16) se obtiene la


siguiente ecuacion de conversion de energa electrica a energa mecanica:
nKm ia = Jeq + Beq + L

(9.17)

Por otra parte, igualando (9.13) con (9.15) obtenemos:


dia
KA
Kb n
Ra
=
u

ia
dt
La
La
La

(9.18)

Empleando (9.16) en (9.12) y despejando = d/dt obtenemos:


Beq
d
Q
nKm
=
sen
+
ia
dt
Jeq
Jeq
Jeq

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

donde la salida es la posicion x1 y la se


nal de control es u (la tension de armadura).
Ecuaci
on de Estado Lineal del Sistema MR1 con La
=0
En la Tabla 9.1 podemos observar que la inductancia de armadura La del servomotor es bastante peque
na, de modo tal que puede despreciarse sin que se pierda
considerable exactitud en los resultados. Considerando el producto x 3 La = 0 en la
tercera ecuacion de (9.20) y despejando la corriente de armadura x 3 resulta:
x3 =

nKb
KA
u
x2
Ra
Ra

(9.21)

Reemplazando (9.21) en la segunda ecuacion de (9.20), y haciendo senx 1 = x1 , se


obtiene la ecuacion de estado lineal de orden dos del manipulador MR1:
x 1 = x2
x 2 = a1 x1 a2 x2 + bu
donde:
Q
a1 =
Jeq

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

Notar que la expresion de NL(t) es la ecuacion de la recta con pendiente negativa


correspondiente al tramo NLnom e(t) NLmax.
Del mismo modo podemos deducir todas las ecuaciones correspondiente al proceso de fuzzyficacion de las entradas e(t) y de(t)/dt. Tales ecuaciones se muestran
a continuacion en codigo MATLAB. Notar que solo para fines de inicializacion, se
estan a
nadiendo los valores iniciales nulos de las funciones de membresia.
% FUZZYFICACI
ON DE LAS FUNCIONES DE MEMBRESIA PARA EL ERROR e(t):
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

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

Tabla 9.3: Rango de las funciones de membresia para el error e(t).


NLmin = - 1.2p

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

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);
elseif(e >= PSnom & e <= PSmax), PS = -(e-0.3*p)/(0.2*p); end
PM = 0; if(e >= PMmin & e <= PMnom), PM = +(e-0.1*p)/(0.2*p);

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

Tabla 9.5: Rango de las funciones de membresia para la se


nal de control u(t).
UNX = - 0.7uu

UNL = - 0.6uu

UNM = - 0.4uu

UNS = - 0.2uu

UZE = 0uu

UPS = + 0.2uu

UPM = + 0.4uu

UPL = + 0.6uu

UPX = + 0.7uu

elseif(e >= PMnom & e <= PMmax), PM = -(e-1.0*p)/(0.7*p); end


PL = 0; if(e >= PLmin & e <= PLnom), PL = +(e-0.3*p)/(0.7*p);
elseif(e >= PLnom & e <= PLmax), PL = +1; end
% FUZZYFICACI
ON DE LAS FUNCIONES DE MEMBRESIA PARA LA DERIVADA DEL ERROR de(t)/dt:
DNL = 0; if(
de >= DNLmin & de <= DNLnom), DNL = +1;
elseif(de >= DNLnom & de <= DNLmax), DNL = (-de-2*f)/(3*f); end
DNM = 0; if(de >= DNMmin & de <= DNMnom), DNM = +(de+5*f)/(3*f);
elseif(de >= DNMnom & de <= DNMmax), DNM = (-de-1*f)/f; end
DNS = 0; if(de >= DNSmin & de <= DNSnom), DNS = +(de+2*f)/f;
elseif(de >= DNSnom & de <= DNSmax), DNS = (-de-0.0*f)/f; end
DZE = 0; if(de >= DZEmin & de <= DZEnom), DZE = +(de+1*f)/f;
elseif(de >= DZEnom & de <= DZEmax), DZE = (-de+1*f)/f; end
DPS = 0; if(de >= DPSmin & de <= DPSnom), DPS = +(de+0.0)/f;
elseif(de >= DPSnom & de <= DPSmax), DPS = (de-2*f)/f; end

204

Control Fuzzy

DPM = 0; if(de >= DPMmin & de <= DPMnom), DPM = +(de-1*f)/f;


elseif(de >= DPMnom & de <= DPMmax), DPM = (-de+5*f)/(3*f); end
DPL = 0; if(de >= DPLmin & de <= DPLnom), DPL = +(de-2*f)/(3*f);
elseif(de >= DPLnom & de <= DPLmax), DPL = +1; end
Simulaci
on del Sistema de Control Fuzzy
El programa fuzzyposition.m escrito en codigo MATLAB y cuyo listado se muestra
abajo, simula el comportamiento del sistema para controlar la posicion del brazo
robotico de 1GDL empleando un controlador fuzzy. La figura 9.5 muestra el resultado
de tal simulacion.

Posicin angular (rad)

1
0.8
0.6
0.4
0.2
0

3
Tiempo en segundos

Seal de control u (voltios)

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

elseif(e >= PSnom && e <= PSmax), PS = -(e-0.3*p)/(0.2*p); end


PM = 0; if(e >= PMmin && e <= PMnom), PM = +(e-0.1*p)/(0.2*p);
elseif(e >= PMnom && e <= PMmax), PM = -(e-1.0*p)/(0.7*p); end
PL = 0; if(e >= PLmin && e <= PLnom), PL = +(e-0.3*p)/(0.7*p);
elseif(e >= PLnom && e <= PLmax), PL = +1; end
% FUZZYFICATION DE LAS FUNCIONES DE MEMEBRESIA DE LA DERIVADA DEL ERROR de
DNL = 0; if(
de >= DNLmin && de <= DNLnom), DNL = +1;
elseif(de >= DNLnom && de <= DNLmax), DNL = (-de-2*f)/(3*f); end
DNM = 0; if(de >= DNMmin && de <= DNMnom), DNM = +(de+5*f)/(3*f);
elseif(de >= DNMnom && de <= DNMmax), DNM = (-de-1*f)/f; end
DNS = 0; if(de >= DNSmin && de <= DNSnom), DNS = +(de+2*f)/f;
elseif(de >= DNSnom && de <= DNSmax), DNS = (-de-0.0*f)/f; end
DZE = 0; if(de >= DZEmin && de <= DZEnom), DZE = +(de+1*f)/f;
elseif(de >= DZEnom && de <= DZEmax), DZE = (-de+1*f)/f; end
DPS = 0; if(de >= DPSmin && de <= DPSnom), DPS = +(de+0.0)/f;
elseif(de >= DPSnom && de <= DPSmax), DPS = (de-2*f)/f; end
DPM = 0; if(de >= DPMmin && de <= DPMnom), DPM = +(de-1*f)/f;
elseif(de >= DPMnom && de <= DPMmax), DPM = (-de+5*f)/(3*f); end
DPL = 0; if(de >= DPLmin && de <= DPLnom), DPL = +(de-2*f)/(3*f);
elseif(de >= DPLnom && de <= DPLmax), DPL = +1; end
% RULES
w11=min(NL,DNL); w12=min(NM,DNL); w13=min(NS,DNL); w14=min(ZE,DNL);
w15=min(PS,DNL); w16=min(PM,DNL); w17=min(PL,DNL);
w21=min(NL,DNM); w22=min(NM,DNM); w23=min(NS,DNM); w24=min(ZE,DNM);
w25=min(PS,DNM); w26=min(PM,DNM); w27=min(PL,DNM);
w31=min(NL,DNS); w32=min(NM,DNS); w33=min(NS,DNS); w34=min(ZE,DNS);
w35=min(PS,DNS); w36=min(PM,DNS); w37=min(PL,DNS);
w41=min(NL,DZE); w42=min(NM,DZE); w43=min(NS,DZE); w44=min(ZE,DZE);
w45=min(PS,DZE); w46=min(PM,DZE); w47=min(PL,DZE);
w51=min(NL,DPS); w52=min(NM,DPS); w53=min(NS,DPS); w54=min(ZE,DPS);
w55=min(PS,DPS); w56=min(PM,DPS); w57=min(PL,DPS);
w61=min(NL,DPM); w62=min(NM,DPM); w63=min(NS,DPM); w64=min(ZE,DPM);
w65=min(PS,DPM); w66=min(PM,DPM); w67=min(PL,DPM);
w71=min(NL,DPL); w72=min(NM,DPL); w73=min(NS,DPL); w74=min(ZE,DPL);
w75=min(PS,DPL); w76=min(PM,DPL); w77=min(PL,DPL);
u1=(w11*UNX+w12*UNX+w13*UNX+w14*UNX+w15*UNS+w16*UZE+w17*UPX+ ...
w21*UNX+w22*UNX+w23*UNL + w24*UNL + w25*UNS + w26*UPS + w27*UPX +
w31*UNX+w32*UNL+w33*UNL + w34*UNM + w35*UPS + w36*UPS + w37*UPX +
w41*UNX+w42*UNL+w43*UNL + w44*UZE + w45*UPL + w46*UPL + w47*UPX +
w51*UNX+w52*UNS+w53*UNS + w54*UPM + w55*UPL + w56*UPL + w57*UPX +
w61*UNX+w62*UNS+w63*UPS + w64*UPL + w65*UPL + w66*UPX + w67*UPX +
w71*UNX+w72*UNS+w73*UPS + w74*UPL + w75*UPL + w76*UPX + w77*UPX);

...
...
...
...
...

9.2 Dise
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.

La Transformada Unilateral de Laplace

A.1.1.

Definici
on y Ejemplos

La transformada unilateral de Laplace G(s) de una funcion g(t) se define como:


Z
G(s) = L[g(t)] =
g(t)est dt
(A.1)
0

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)

Fig. A.1: Ejemplo de sistema causal: temperatura en un tanque.

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

A.1 La Transformada Unilateral de Laplace

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

Aplicando ahora la propiedad fundamental con g(t) = est y retardo T resulta:


Z
est (t T )dt = esT = z 1
L[(t T )] =
0

La relacion: z = esT constituye la variable discreta de desplazamiento y se emplea


para el analisis de sistemas lineales discretos con parametros invariantes con el tiempo.
Ejemplo A.5
Usando matematica simbolica, hallar la transformada de Laplace de las siguientes
funciones:
dg(t)
g1 (t) = a(t)
g2 (t) = eat
g3 (t) =
dt
Z t
g4 (t) = a sin(t)cos(t)2
g5 (t) =
(t2 + cos 2t)
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

La Transformada Inversa de Laplace

La transformada inversa de Laplace de una funcion G(s) se denota como:


g(t) = L1 [G(s)]

(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

donde w es una constante real y positiva.


Soluci
on: El programa laplace2.m resuelve el problema.
% laplace2.m
clear all; close all; clc; syms s w a A
G1=(s+3)/s^2; g1 = ilaplace(G1);
% g1 = 1 + 3*t
G2=A*w/((s-a)^2+w^2); g2 = ilaplace(G2); % g2 = A*e^(a*t)*sin(w*t)

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

Determine la velocidad v(t) y la aceleracion v(t)

del carro como respuesta a una


fuerza u(t) tipo escalon de 1 N. Considere que la fuerza comienza a actuar para una
velocidad inicial del carro de 2 m/s.

friccion
bv

v velocidad
m

Fig. A.2: Movil en movimiento.


Soluci
on: Teniendo en cuenta que v(0) = 2 m/s, V (s) = L[v(t)] y U (s) = L[u(t)],
apliquemos la propiedad de derivacion (2) de la Tabla A.2 en la ecuacion dinamica
del carro:
m(sV (s) v(0)) + bV (s) = U (s)

A.1 La Transformada Unilateral de Laplace

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

La derivada de v(t) produce la aceleracion pedida:


v =

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

El valor final v(t) se obtienen de:


lm v(t) = lm sV (s) =

A.1.3.

s0

1
b

La Funci
on de Transferencia

La funcion de transferencia FT de un sistema SISO (Single Input Single Output)


se define como la relacion:
Y (s)
G(s) =
U (s)
donde Y (s) es su salida y U (s) es su entrada, asumiendo que todas las condiciones
iniciales son nulas. La FT se puede interpretar como el sello que caracteriza la dinamica de un sistema, ya que se expresa en funcion de los parametros de dicho sistema.
Distintos sistemas pueden poseer una misma forma de la FT, pero con parametros
completamente diferentes. Por ejemplo, los sistemas velocidad de un motor DC, nivel
en un tanque de agua con orificio de salida y un movil con desplazamiento horizontal
poseen la siguiente forma de su FT:
Y (s)
K
=
U (s)
s + 1
Ejemplo A.9
Determinar la FT del movil del ejemplo A.7. Luego determine la velocidad v(t) del
movil partiendo de su FT, como respuesta a una fuerza u(t) tipo escalon de 1 N.

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

m[sV (s) v(0)] + bV (s) = (ms + b)V (s) = U (s);

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)

Usando la formula (14) (con n = 0) de la Tabla A.1 resulta:


b
1
v(t) = (1 e m t )
b

Ejemplo A.10
Empleando las propiedades del valor inicial y del valor final de la Tabla A.2, 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

El valor final se obtiene de:


lm v(t) = lm sV (s) =

A.1.4.

s0

1
b

Fracciones Parciales

Una funcion o fraccion racional de la forma B(s)


A(s) es propia cuando el grado del
polinomio B(s) del numerador es menor que el grado del polinomio A(s) del numerador. Cualquier funcion o fraccion racional propia de la forma B(s)
A(s) se puede escribir
como una suma de funciones racionales de la forma:
C
(as + b)r

Cs + D
+ bs + c)r

(as2

r = 1, 2., 3, . . .

Si A(s) y B(s) poseen el mismo grado, entonces:


B(s)
R(s)
=k+
A(s)
A(s)
donde k es una constante y la fraccion
Ejemplo A.11

R(s)
A(s)

resulta propia.

A.1 La Transformada Unilateral de Laplace

215

Tabla A.1: Transformadas unilaterales de Laplace

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)

(eat ebt )/(b a)

(17)

s
(s+a)(s+b)

(18)

1
s(s+a)(s+b)

(19)

s2 (s+a)(s+b)

(bebt aeat )/(b a)




1
beat aebt
1

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

[1ebt (cos at+ ab sen at)]


a2 +b2

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

= arc cos = arc cos (d /n )


= n
T1,2 =

1
n

p
2 1)

Los siguientes tres ejemplos ilustran la expansion en fracciones parciales:


3s + 2
C
D
E
F
=
+
+
+
2
2
s(4s + 3)(2s + 5)
s
4s + 3 (2s + 5)
(2s + 5)
Cs + D
Es + F
H
7s2 2s + 1
= 2
+ 2
+
2
2
2
(s + 2s + 4) (s + 1)
(s + 2s + 4)
s + 2s + 4 s + 1
s2 9
8
=1
=1
2
s 1
(s + 1)(s 1)

D
C
+
s+1 s1

A manera de ilustracion, el valor de H del segundo ejemplo se calcula multiplicando


ambos miembros de la igualdad por el factor (s + 1), para poder aislar H. La relacion
resultante se eval
ua con la solucion de la ecuacion (s + 1) = 0; es decir, se eval
ua en

A.1 La Transformada Unilateral de Laplace

217

Tabla A.2: Propiedades de la transformada de Laplace


No

Descripcion

Propiedad

(1)

Linealidad

L[a1 g1 (t) + a2 g2 (t)] = a1 L[g1 (t)] + a2 L[g2 (t)]

(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

L[eat g(t)] = G(s + a)

(7)

Escalamiento

L[g(at)] = a1 G( as )

(8)

Valor inicial

lmt0 g(t) = lms sG(s)

(9)

Valor final

lmt g(t) = lms0 sG(s)

(10)

Multiplicacion por tn

(11)

Division entre t

L[tn g(t)] = (1)n d dsG(s)


n
R
L[g(t)/t] = 0 G(t)dt

L[g(t t0 )] = et0 s G(s)

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

% fracp1.m DESCOMPOSICION EN FRACCIONES PARCIALES


clear all; close all; clc;
B = [1 0 -16]; A = [1 0 -1]; % PRIMER CASO
[r,p,k] = residue(B,A);
% r = [7.5;-7.5]; p = [-1;1]; k = 1
M = [1 6];
N = [1 -4 4]; % SEGUNDO CASO
[rr,pp,kk] = residue(M,N);
% rr = [1;8]; pp = [2;2]; kk = 0;

Por consiguiente:
B(s)
7.5
7.5
=
+
+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

Dado que todas las races en el vector r son distintas:


rj
rj+1
r2
r1
+
+
+
G(s) = k +
s p1 s p2 s pj
(s pj )2
0.5i
0.5i
2
1
= 1+
+
+
+
s + 1 i s + 1 + i s + 1 (s + 1)2
Es facil demostrar que:

0.5i
2
n2
0.5i
1
1
+
=
=
s+1i s+1+i
2 (s2 + 2s + 2)
2 s2 + 2n s + n2

donde, por igualacion: n = 2, = 1/ 2. Por consiguiente:


G(s) = 1 +

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

A.1 La Transformada Unilateral de Laplace

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

Fig. A.3: Diagramas de bloque, sus correspondientes diagramas de flujo de se


nales y
sus equivalentes.

A.2.

Matrices y Determinantes

Una matriz A de orden o dimension nm, escrita con letra may


uscula en negrita,
es un arreglo rectangular con sus elementos aij dispuestos en n filas y m columnas.
Es decir:

a11 . . . a1m

..
A = [aij ] = ...
.
an1 . . . anm

i = 1, . . . , n;

j = 1, . . . , m

Los elementos de una matriz pueden ser n


umeros reales o complejos, funciones, otras
matrices, etc. Cuando n = 1, A se convierte en un vector fila. Cuando m = 1, A
toma la forma de un vector columna. Los vectores se denotan en negrita. Por ejemplo,
los vectores columna x(q) y fila y(q) de orden n y dependiente del argumento q se
representan como:

x1 (q)

x(q) = ...
xn (q)

y(q) =

y1 (q) yn (q)

A.2 Matrices y Determinantes

221

Dos formas de denotar los correspondientes vectores fila y columna son:


xT (q) =

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.

Operaciones con Matrices

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

Si es un escalar, entonces A resulta una matriz en donde cada elemento queda


multiplicado por , a saber:
A = [aij ] = [aij ]
La multiplicacion es asociativa:
ABCD = (AB)(CD) = A(BCD) = (ABC)D
y distributiva:
(A + B)(C + D) = AC + AD + BC + BD

Cuando AB = BA, se dice que A y B son matrices que conmutan. Sin embargo, en
general, la multiplicacion no es conmutativa; es decir:
AB 6= BA

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

Si AB = 0, implica que A = 0 o B = 0, o que A y B sean singulares. Las


matrices A y B son singulares si det(A) = 0 y det(B) = 0 donde det es la operacion
determinante, la cual se trata mas adelante.
Si AB = AC, no necesariamente implica que B = C.
La matriz transpuesta, denotada como AT , es la matriz A con sus filas y columnas
intercambiadas. Por consiguiente:
(AT )T = A;

(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

La operacion hermitiana de A, denotada como AH , toma la conjugada y luego la


transpuesta (o toma la transpuesta y luego la conjugada) de la matriz A. Es decir:
AH = (A )T = (AT )
Por consiguiente:
(AH )H = A;

(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

la matriz compleja B hallar A , AH , AT , BT , B y BH .

2 3
1j
3
3+j
4 2
4
2 + j
B= j
6 9
2j 6+j
9

A.2 Matrices y Determinantes

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

Si el orden de una matriz A es n n, entonces A es una matriz cuadrada de


orden n. Esta matriz posee una diagonal principal, o simplemente una diagonal con
elementos aii . La traza de una matriz cuadrada se define como:
traza(A) = a11 + + ann
Una matriz cuadrada se denomina matriz diagonal cuando los elementos que no
pertenecen a su diagonal son todos ceros:

d11 0 0 . . . 0
0 d22 0 . . . 0

D = [dii ] = .
..
..
..
.
.
.
.
.
0
0 0 . . . dnn

Una matriz cuadrada se denomina triangular superior si los elementos debajo de


su diagonal son todos ceros. Si los elementos encima de su diagonal son todos ceros,
entonces la matriz es triangular inferior.
La matriz identidad I, denotada tambien como In (n es el orden de la matriz), es
una matriz diagonal que solo posee unos. Si A es cuadrada, AI = IA. En general, se
cumple que:
A es simetrica si:
A es antisimetrica si:
A es hermitiana si:
A es antihermitiana si:
A es ortogonal si:
A es unitaria si:
A es normal si:
A es periodica si:
A es nilpotente si:
A1

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 y Matriz Inversa

Determinantes
El determinante de la matriz A = [aij ] de orden 2 es:
det

a11 a12
a21 a22

= a11 a22 a12 a21

(A.17)

Para obtener el determinante de una matriz de orden n > 2 podemos emplear el


metodo de la expansion. Si tomamos como base la primera fila, el determinante de
una matriz A se obtiene de:
det(A) =

n
X
j=1

(1)1+j a1j det(A1j ) = (1)1+1 a11 det(A11 ) + (1)1+2 a12 det(A12 ) +

donde A1j , j = 1, . . . , n es la matriz que resulta luego de eliminar la fila 1 y la


columna j de A. Por ejemplo, el determinante de una matriz de orden n = 3 se
calcula como:



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:

A.2 Matrices y Determinantes

225

1. Si cada elemento de una fila o columna de A es cero, entonces det(A) = 0.


2. det(A) = det(AT ).
3. Si la constante real multiplica una fila o una columna de A, entonces el det(A)
queda multiplicado por .
4. Si la matriz B se obtiene intercambiando dos filas o dos columnas de A, entonces
det(B) = det(A).
5. Si dos filas o columnas de A son iguales, entonces det(A) = 0.
6. Si sumamos un m
ultiplo de una fila o una columna de A a cualquiera de sus
filas o columnas, el valor del det(A) no cambia.
7. det(AB) = det(BA) = det(A)det(B)
8. Si los eigenvalores de A son 1 , 2 , . . . , n , luego: det(A) = 1 2 . . . n . La
determinacion de los eigenvalores o valores propios de una matriz se trata en la
subseccion A.2.4.

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)

Si A es una matriz no singular de orden 2, vale recordar que:






1
a b
d b
1
A=
;
A =
c d
ad bc c a
Del mismo modo, si A es una matriz no singular de orden 3:

a b c
A= d e f
g h i






e f
b c
b
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

% matinv.m INVERSA Y DETERMINANTE DE UNA MATRIZ EN FORMA SIMB


OLICA
clear all; close all; clc;
syms a b c d e f g h i
% COMANDO syms GENERA S
IMBOLOS
A = [a b c;d e f;g h i]; % MATRIZ SIMB
OLICA
invA = inv(A); pretty(invA) % DEVUELVE INVERSA DE A
detA = det(A); pretty(detA) % DEVUELVE DETERMINANTE DE A
% aei - a f h - i d b + d c h + g b f - g c e

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:

G = [1 j 3 + 4j 1 3j] = [G11 G12 G13 ]


Soluci
on: Los elementos de G corresponden a triangulos notables mostrados en la
Fig. A.4. Ejecutando el programa trnot.m se obtiene la misma solucion.
4j
5

1
2

127
1

60

135

j
G 11 = 2 135

3j
G12 = 5 127

G13 = 2 60

Fig. A.4: Triangulos notables para el problema A.19.

A.2 Matrices y Determinantes

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)

Tabla A.3: Comandos para computo matricial


Operacion
Suma
Resta
Multiplicacion
Multiplicacion
Conjugada
Transpuesta (A real)
Transpuesta (A compleja)
Hermitiana
Potencia
Determinante
Inversa
Division izquierda
Division derecha
Valor absoluto

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=

(A + AT 0,7jA3 )A1 AH |A| A <e[A]=m[A]


(2j + 1) traza(A)det(A)

Luego, comprobar que M = 12 (B + BH ) y N = 12 (B BH ) son sus matrices hermitiana y antihermitiana respectivamente.


Soluci
on: El programa calmat.m calcula la matriz B pedida. Ademas, por ser hermitiana: M = MH , y por ser antihermitiana: N = NH . Entonces basta comprobar
que M MH = 0 y que N + NH = 0.

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

si el producto siguiente es valido y si lo es,

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

= y denotan las derivadas de x e y con respecto al tiempo,

A.2 Matrices y Determinantes

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.

Rango, Eigenvectores y Pseudoinversas

Dependencia e Independencia de Vectores


Un conjunto de vectores es linealmente independiente cuando ninguno de ellos se
puede escribir como una combinacion lineal de los restantes. Al contrario, tal conjunto
de vectores es linealmente dependiente cuando alguno de ellos se puede escribir como
una combinacion lineal de los demas.
Ejemplo A.24
Determinar si los siguientes vectores son o no linealmente dependientes.



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

Resolviendo este sistema de tres ecuaciones y dos incognitas resulta: = 2 y = 3.


Por lo tanto, el conjunto de vectores u, v y w son linealmente dependientes.
Ejemplo A.25
Determinar si los siguientes vectores son o no linealmente independientes.



1
3
4

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

Rango de una Matriz


Si A es una matriz de orden n m, su rango, denotado como rango(A), es igual
al n
umero maximo r de sus vectores filas (o columnas) linealmente independientes.
En cualquier matriz, el n
umero de vectores filas linealmente independientes coincide
con el n
umero de vectores columnas linealmente independientes. Por consiguiente, el
valor maximo rmax que puede tener el rango r de una matriz de orden n m es:
rmax = min(n, m).
Si A es una matriz cuadrada de orden n n, su rango es n siempre que A sea no
singular; es decir, si det(A) 6= 0. En otro caso, si det(A) = 0, entonces: rango(A) < n.
El rango de una matriz tambien se puede determinar evaluando los determinantes de
sus mnimos cuadrados, tal como se ilustra en el siguiente ejemplo.
Ejemplo A.26
Determinar el rango de las siguientes matrices empleando varios metodos:

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

Por consiguiente, el rango de la matriz B es r = 2 porque el determinante del segundo


mnimo cuadrado es diferente de 0, mientras que el determinante del tercer mnimo
cuadrado es nulo.
Propiedades del Rango
Si A es una matriz de orden n m y B es de orden m k, se cumple:
rango(AB) = rango(AH ) = rango(AH A) = rango(AAH )
rango(AB) = rango(AT ) = rango(AT A) = rango(AAT )
rango(AB) rango(A);

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

A.2 Matrices y Determinantes

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)

Asociado con cada eigenvalor i existe un eigenvector ei de magnitud arbitraria que


es solucion de (ver (A.22)):
Aei = i ei
(A.24)
La matriz E de eigenvectores para una matriz



E = e1 en =

A de orden n toma la forma:

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

Determinar los eigenvalores y eigenvectores del sistema siguiente:



 


x 1
1 2
x1
=
x 2
4 3
x2
Soluci
on: Los eigenvalores se determinan de (A.23):

 

0
1 2
det(I A) = det

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

Determinar los eigenvalores y eigenvectores para la matriz A empleando MATLAB.

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

A.2 Matrices y Determinantes

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

AII = (AT A)1 AT

donde AII es la matriz pseudoinversa izquierda (o mnima inversa izquierda) de A


que cumple la propiedad: AII A = Im .
Ejemplo A.31
En pseudoinv.m se resuelven sistemas de ecuaciones empleando pseudoinversas.
% pseudoinv.m SOLUCION DE ECUACIONES USANDO PSEUDOINVERSAS
clear all; close all; clc;
A = [1+i 2+3i 3-i;4-2i 5+i 6]; b = [10-i;20+3i]; % A(2,3)*x(3,1) = b(2,1)
C = [1+i 1-i;1 2+3i;1 4-i]; d = [1;2-3i;3+i];
% C(3,2)*y(2,1) = d(3,1)
MPID = A*(A*A)^(-1);
% MATRIZ PSEUDOINVERSA DERECHA
x = MPID*b;
% VECTOR SOLUCION DE DIMENSI
ON (3,1)
MPII = (C*C)^(-1)*C;
% MATRIZ PSEUDOINVERSA IZQUIERDA
y = MPII*d;
% VECTOR SOLUCION DE DIMENSI
ON (2,1)

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

(6 j)x1 + (7 j)x2 + (8 3j)x3 + (3 j)x4 + (1 + 4j)x5 = 3 + j


Soluci
on: Ver el programa miqe.m.
% miqe.m SISTEMA DE ECUACIONES:
clear all; close all; clc;
A = [5-j
2+3j 3-j -1+4j
4j -2
3+5j -7j
6-j
7-j
8-3j 3-j
B = [2-9j;4-j;3+j]; X = A\B;

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

(6 j)x1 + (7 j)x2 + (8 3j)x3 = 3 + j

(1 + 4j)x1 + (6 + j)x2 + (3 j)x3 = 3 + 7j


7jx1 + (8 2j)x2 + (1 + 4j)x3 = 9

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

El proceso de diagonalizacion arriba mencionado permite transformar un sistema


descrito por la denominada ecuacion de estado (seccion A.3) :
dx
= x = Ax + Bu
dt

en otro sistema descrito por la ecuacion:


dx
= x = A x + B u
dt
donde: x = Ex es una transformacion lineal, A = E1 AE = y B = E1 B.
Esta transformacion se denomina canonica.
Por otro lado, si A es una matriz de orden n de rango completo que posee eingenvalores repetidos, entonces A se puede diagonalizar mediante la relacion E 1 AE = .
Sin embargo, la matriz de eigenvectores E no es unitaria (EH 6= E1 ).

A.3 Variables de Estado

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

El siguiente ejemplo sirve para introducir el concepto de variable de estado. La


Fig. A.5 muestra el sistema tanque con agua, donde el volumen de agua acumulado
se modela como:
dh
dh
S
= S h = qi qo
h =
(A.26)
dt
dt
donde S es la seccion uniforme del tanque, h es el nivel del liquido, q1 es el flujo de
entrada y qo es el flujo de salida. Considerando que el flujo de salida qo es laminar:
qo =

h
Rh

(A.27)

236

Sistemas Continuos

qi
A

qo

Sensor de presin

Fig. A.5: Sistema tanque con agua.

donde Rh es la resistencia hidraulica, la cual se calcula de la relacion:


Rh =

H
Q

(A.28)

donde H y Q son los valores estacionarios de h y qo , respectivamente. Despejando


h de (A.26) se obtiene la ecuacion de estado del sistema, la cual es una ecuacion
diferencial de primer orden de la forma:
1
1
h =
h + qi
SRh
S

x = A x + B u

(A.29)

donde x = h es la variable de estado del sistema, u = qi es la variable de entrada,


1
A = SR
es la matriz de estado del sistema (en este caso una matriz de orden uno)
h
1
y B = S es la matriz de distribucion de orden uno. La ecuacion de salida del proceso
toma la forma:
y = Cx = [1]x
(A.30)
donde y es la salida y C es la matriz de salida. Sabiendo que L[ ] es el operador de
Laplace, entonces: L[u] = U (s), L[x] = X(s) = Y (s), L[qi ] = Qi (s) y L[x]
= L[y]
=
s[Y (s) y(0)], la FT del sistema con y(0) = 0 resulta de (A.29):
Y (s)
Rh
=
Qi (s)
SRh s + 1

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

A.3 Variables de Estado

237

donde los ordenes de los vectores y matrices se ilustran en la siguiente relacion:


x n1 = Ann xn1 + Bnm um1

A.3.2.

yp1 = Cpn xn1 + Dpm um1

Definici
on de Variables de Estado

El vector de estado x = [x1 . . . xn ]T de un sistema (donde el superndice T indica


transpuesta) es el mnimo conjunto de variables, las variables de estado x 1 . . . xn , las
cuales contienen informacion suficiente acerca de la historia pasada del sistema. Esta
informacion permite computar todos los futuros estados del sistema, asumiendo por
supuesto, que todas las futuras entradas u son tambien conocidas, como del mismo
modo lo son las ecuaciones dinamicas que describen dicho sistema. El n
umero n de
variables de estado (el n
umero de ecuaciones diferenciales de primer orden) define el
orden o la dimension del sistema.
El espacio de estado es el espacio n-dimensional de todos los estados. Cuando el
sistema es de orden n = 2, el espacio de estado es conocido como el plano de fase con
coordenadas x1 y x2 . Los puntos de equilibrio o puntos singulares en el espacio de
estado de un sistema no forzado; es decir, cuando u = 0, se definen como los puntos
en donde los estados del sistema permanecen por siempre. Esto implica, en un caso
general, resolver la ecuacion x = 0 cuando u = 0. Para sistemas lineales, el punto de
equilibrio es siempre el origen 0 porque x = Ax = 0 implica que xe = 0, donde el
superndice e indica equilibrio.
Ejemplo A.36
La Fig. A.6 muestra un sistema masaresorte compuesto por una masa M unida
a un resorte de constante K. Determinar analtica y graficamente su plano de fase
mostrando las correspondientes trayectorias de estado y sus puntos de equilibrio.
Notar que el sistema masaresorte es no forzado porque no existe fuerza exterior
alguna actuando sobre el mismo.

K=1
M=1

z0

Fig. A.6: Sistema mecanico masaresorte.


Soluci
on: El sistema masaresorte esta gobernado por la siguiente ecuacion diferencial lineal de segundo orden:
M z + Kz = 0
(A.33)
Como el sistema es de orden dos, seleccionemos como variables de estado x 1 = z y
x2 = z.
Este modelo dinamico con M = K = 1 produce dos ecuaciones de estado y
una ecuacion de salida:
x 1 = x2

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

Asumamos que estiramos el resorte hasta que M se encuentre en la posicion inicial


z0 . Luego soltamos el resorte, lo cual produce un movimiento oscilatorio que puede
modelarse como z(t) = z0 cos t. Es facil comprobar que la solucion z(t) = z0 cos t
verifica el modelo dinamico dado en (A.33). Usando las variables de estado definidas
anteriormente resulta:
x1 (t) = z0 cos t

x2 (t) = z0 sen t

Elevando al cuadrado y sumando se obtiene:


x21 + x22 = z02 (cos2 t + sen2 t) = z02
La u
ltima ecuacion representa un crculo de radio z0 . Por consiguiente, las trayectorias
de estado en el plano de fase x1 versus x2 son crculos cuyos radios dependen de la
posicion inicial de reposo z0 . tales trayectorias se muestran en la Fig. A.7. Para
obtener dichas trayectorias de fase, ejecutar el programa pfl.m.
Los eigenvalores del sistema masaresorte se determinan de:


1
det(I A) = det
= 2 + 1 = 0
1
Por lo tanto: 1 = i, 2 = i, ambas races imaginarias, lo cual nos informa del
caracter oscilante de la respuesta del sistema, tal como se discute en la siguiente
seccion. El u
nico punto de equilibrio xe = 0 del sistema se determina de:
 e   
x1
0
x e = Axe = 0
xe =
=
xe2
0
% C2pfl.m PLANO DE FASE EN UN SISTEMA LINEAL
clear all; close all; clc;
g = inline([x(2);-x(1)],t,x); % MODELO MATEM
ATICO
vectfield(g,-1:0.2:1,-1:0.2:1) % RANGOS DE LOS EJES HORIZONTAL Y VERTICAL
hold on
for x20=-1:0.2:1 % SIMULACI
ON PARA ESTAS CONDICIONES INICIALES DE y(2)
[ts,xs]=ode45(g,[0,10],[0;x20]); % [0,10]: SIMULACI
ON DE 0 A 10 s
plot(xs(:,1),xs(:,2)); grid;
end
hold off, ylabel(x2(t)), xlabel(x1(t)),
title(PLANO DE FASE x2(t) VS x1(t)), print -deps -f C2pfl

A.3.3.

Matriz de Transferencia y Estabilidad

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)

A.3 Variables de Estado

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)

La matriz de transferencia (MT) del sistema SLIT se halla aplicando la transformada


de Laplace en (A.35) con x(0) = y(0) = 0 (condiciones iniciales nulas):
sX(s) = AX(s) + BU(s)
Y(s) = CX(s) + DU(s)

(A.36)

Despejamos X(s) de la primera relacion de (A.36) y la reemplazamos en la segunda


relacion. El resultado es:
Y(s) = [C(sI A)1 B + D]U(s) = G(s)u(s)
donde s es la variable laplaciana, I es la matriz identidad y G(s) es la MT:
G(s) = C(sI A)1 B + D
Ejemplo A.37
Determine la MT del sistema siguiente, empleando matematica simbolica:
x 1 = x1 + x2 + 2u1 u2
y1 = x1 5u2

x 2 = 2x1 3x2 + u1 2u2


y2 = x2 3u1

(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

A.3 Variables de Estado

241

para cualquier estado inicial finito x(t0 ), donde t0 es el tiempo inicial. Por ejemplo,
el sistema de primer orden 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).

Tipos de Puntos Singulares en SLITs de 2do Orden


Un SLIT de orden dos no forzado se describe mediante la siguiente ecuacion
matricial:





x 1
a11 a12
x1
x =
= Ax =
x 2
a21 a22
x2
Para este sistema, el u
nico punto singular o de equilibrio es xe = 0 (el origen). Los
dos eigenvalores 1 y 2 de la matriz de estado A se determinan de su ecuacion
caracterstica: det(I A) = 0. Dependiendo de la ubicacion de los eigenvalores
1 = 1 + j1 y 2 = 2 + j2 en el plano versus j, el punto de equilibrio
correspondiente presenta ciertas caractersticas, tal como se ilustra en la Fig. A.8, en
donde los puntos negros sobre los graficos j versus representan tales eigenvalores.
Por ejemplo, si 1 < 0 y 2 > 0 (caso (c)), las trayectorias en el plano de fase
forman una figura denominada silla de montar. El punto singular silla de montar es
inestable debido a la presencia del eigenvalor positivo. El caso (f), analizado tambien
en el ejemplo A.36, corresponde a un sistema oscilante porque los eigenvalores son
imaginarios puros. Las trayectorias de estado en este caso forman un punto centro.

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)

denominada matriz de controlabilidad, debe ser de rango n. Para ahondar un poco


en el tema de controlabilidad, a continuacion se analiza un caso especial.
Caso Especial: Eigenvalores de A no se Repiten
Si los eigenvalores de A son distintos, entonces reemplazando la transformacion
lineal x = Ex en x = Ax + Bu, donde E es la matriz de vectores propios (ver
subseccion A.2.5), y despejando x se obtiene:
x = E1 AEx + E1 Bu = x + B u

(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

De la ecuacion (A.41) podemos aseverar que para controlabilidad completa, ninguna


fila de B = E1 B debe de ser nula. Si por ejemplo, la variable de estado x2 (la cual
esta asociada a x2 y al eigenvalor 2 ) es no controlable, entonces la segunda fila de
B tiene que ser nula. Si este es el caso, de la ecuacion (A.41) se obtiene:
x 2 = 2 x2 + 0u1 + 0u2 + + 0um
de donde claramente se observa que ninguna fuerza de control esta actuando sobre
la variable x2 .
Controlabilidad Completa a la Salida
El sistema SLIT descrito en (A.44) con dimensiones Ann , Bnm , Cpn y Dpm es
completamente controlable en la salida si el rango de la siguiente matriz de orden
p (n + 1)m iguala al orden p del vector de salida y del sistema:
[CB CAB CA2 B CAn1 B D]

(A.42)

A.3 Variables de Estado

243

Observar que (A.42) requiere la presencia del termino Du en la ecuacion de salida


dada en (A.35).
Ejemplo A.38
En el programa cont1.m se determina la controlabilidad completa y de la salida de
un SLIT con ecuacion de estado x = Ax + Bu y ecuacion de salida y = Cx + Du.
% cont1.m CONTROLABILIDAD COMPLETA DE UN SLIT
clear all; close all;clc;
A = [2 2 -1;2 3 0;-1 0 2]; B = [0 2;-1 0;2 1];
C = [1 0 1;-2 3 0]; D = [1 -1;0 3]; % n = 3; p = 2;
M = ctrb(A,B);
% M = [A A*B A^2*B]: MATRIZ DE CONTROLABILIDAD
rankM = rank(M); % rankM = 3 = n => SISTEMA COMPLETAMENTE CONTROLABLE
CS = [C*B C*A*B C*A^2*B D]; rankCS = rank(CS);
% rankCS = p = 2 => SISTEMA COMPLETAMENTE CONTROLABLE A LA SALIDA

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:

y = CEx = CEe x (t0 ) = CE

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

En la subseccion A.3.3, ecuacion (A.35), vimos que la dinamica linealizada de un


sistema (sin la presencia de disturbios) se representa en el espacio de estado mediante
sus ecuaciones de estado y de salida:
x = Ax + Bu;

y = Cx + Du

(A.44)

La solucion de la ecuacion de estado anterior, dado un estado inicial x(t 0 ), es:


Z t
A(tt0 )
x(t) = e
x(t0 ) +
eA(t ) Bu( )d
t0

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

Derivando ahora (A.45) con respecto al tiempo t se obtiene:




Z
d At t A
A(tt0 )
e
x = Ae
x(t0 ) +
e
Bu( )d
dt
t0
Z t
A(tt0 )
At
eA Bu( )d + eAt eAt Bu = Ax + Bu
= Ae
x(t0 ) + Ae
t0

A.3 Variables de Estado

245

De esta forma se demuestra que (A.45) es la solucion de la ecuacion de estado (A.44).


La representacion de la ecuacion de estado en el dominio laplaciano toma la forma:
sx(s) x(t0 ) = Ax(s) + Bu(s)

x(s) = (sI A)1 x(t0 ) + (sI A)1 Bu(s)


= (s)x(t0 ) + (s)Bu(s)

y(s) = Cx(s) + Du(s) = C(sI A)1 x(t0 ) + [C(sI A)1 B + D]u(s)

(A.48)
(A.49)

Comparando (A.48) con (A.45) podemos afirmar que:


(t t0 ) = eA(tt0 ) = L1 [(sI A)1 ]

(A.50)

La matriz (t t0 ) se denomina la matriz de transicion. Para incluir el tiempo inicial


t0 , las integraciones en L1 [(sI A)1 ] se deben de hacer de t0 a t. La matriz de
transferencia definida en (A.37) tambien se obtiene haciendo x(t0 ) = 0 en (A.49).
Ejemplo A.40
Graficar la respuesta x(t) del sistema: x = 2x + 5u con x(0) = 3. La entrada u(t)
tiene la forma mostrada en la Fig. A.9.
u(t)

t
0

Fig. A.9: Entrada u(t) para el ejemplo A.40.

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

x(t) = 3e2 e2(t1) +

t
1

x(1) = 3e2

= 1 y x(t0 ) = x(1). Luego:

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

Para t 3 , u(t) = 0, t0 = 3 y x(t0 ) = x(3). Luego:


x(t) = x(3)e2(t3)
El grafico de x(t), obtenido con el programa C2rpta.m se muestra en la Fig. A.10.

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

% C2rpta.m RESPUESTA DE UN SLIT A UNA ENTRADA ARBITRARIA


clear all; close all; clc;
x_3 = 3*exp(-6)+5*(4-6*exp(-4))/8; k=1; T=10;
for t=0:0.01:T
x(k)=3*exp(-2*t);
if t>1; x(k)= 3*exp(-2*t)+5*(7-t-6*exp(2-2*t))/8; end
if t>3; x(k)= x_3*exp(-2*(t-3)); end
k=k+1;
end
ejex = linspace(0,T,T/0.01); plot(ejex,x(1:T/0.01)); grid
ylabel(RESPUESTA x(t)); xlabel(TIEMPO [s]); print -deps -f rptarb

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

Condiciones iniciales: x1 (0) = 6, x2 (0) = 1. Graficar la respuesta y(t) y compararla


con las respuestas obtenidas mediante discretizacion para los tiempos de muestreo de
0.1 s y 0.04 s.
Soluci
on: Es facil determinar que las ecuaciones de estado y de salida del sistema
poseen la forma x = Ax + Bu y y = Cx + Du respectivamente, donde:




7 1
2
A=
;
B=
12 0
1
C=

3 4

D = [2];

x(0) =

6
1

A.3 Variables de Estado

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(s) = Cx(s) + Du(s) =

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

Las respuestas mostradas en la Fig. A.11 se realizaron con el programa crpta.m.


Notar que se emplea la siguiente aproximacion de la derivada:
x
=

x(k + 1) x(k)
= Ax + Bu x = x + T (Ax + Bu)
T

donde T es el tiempo de muestreo y k = t/T es el tiempo discreto. Para T 0.04 s,


las respuestas y(t) e y(kT ) practicamente coinciden. Conforme T aumenta (por ejemplo para T = 0.1 s), la diferencia entre y(t) e y(kT ) es mas notoria, lo cual nos indica
que los sistemas muestreados dependen de T . Se deja como ejercicio resolver este
ejemplo usando MATLAB.
% crpta.m COMPARACI
ON DE RESPUESTAS PARA DIFERENTES TIEMPOS DE MUESTREO
clear all; close all; clc;
A = [-7 1;-12 0]; B = [2;-1]; Cc = [3 -4]; Dc = [-2];
x = [-6;1]; T1=0.1; T2=0.04; % CONDICION INICIAL Y TIEMPOS DE MUESTREO
for k = 1:100
u(k) = 3*exp(-k*T1); x = x + T1*(A*x + B*u(k)); y1(k) = Cc*x + Dc*u(k);
end
for k = 1:250
u(k) = 3*exp(-k*T2); x = x + T2*(A*x + B*u(k)); y2(k) = Cc*x + Dc*u(k);
end
t = 0:0.1:10; y = 297*exp(-t)/6 - 767*exp(-3*t)/2 + 918*exp(-4*t)/3;
% GR
AFICOS
t=linspace(0,10,101); t1=linspace(0,10,100); t2=linspace(0,10,250);
plot(t,y,t1,y1,--,t2,y2,:); grid
ylabel(RESPUESTAS ); xlabel(TIEMPO [s]); print -deps -f crpta

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

Fig. A.11: Respuestas para el ejemplo A.41.


En el ejemplo anterior sean u1 (t) = 3et , u2 (t) = 2u1 (t) y u3 (t) = u1 (t) + u2 (t) y
sean las salidas respectivas y1 (t), y2 (t) e y3 (t). El programa C2prosup.m demuestra
graficamente (ver figura A.12) los principios de proporcionalidad: y 2 (t) = 2y1 (t), y
de superposicion: y3 (t) = y1 (t) + y2 (t).
% C2prosup.m PRINCIPIOS DE PROPORCIONALIDAD Y SUPERPOSICI
ON
clear all; close all; clc;
A = [-7 1;-12 0]; B = [2;-1]; Cc = [3 -4]; Dc = [-2];
T = 0.04; M = 100; x1 = [0;0]; x2 = x1; x3 = x1;
for k= 1:M
u1(k)=3; x1 = x1 + T*(A*x1 + B*u1(k)); y1(k) = Cc*x1 + Dc*u1(k);
u2(k)=2*u1(k); x2 = x2 + T*(A*x2 + B*u2(k)); y2(k) = Cc*x2 + Dc*u2(k);
u3(k)=u1(k)+u2(k); x3 = x3 + T*(A*x3 + B*u3(k)); y3(k) = Cc*x3 + Dc*u3(k);
end
t=linspace(0,M*T,M); plot(t,y1,t,y2,--,t,y3,:); grid
ylabel(RESPUESTAS), xlabel(TIEMPO [s]), print -deps -f C2prosup

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.

A.3 Variables de Estado

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

Fig. A.12: Respuestas de un sistema lineal a entradas arbitrarias. Observar que


y2 (t) = 2y1 (t) (proporcionalidad) e y3 (t) = y1 (t) + y2 (t) (superposicion)
x1

1
s+1

u1
u2

x2

2
s+2

4
s+4

5
s+5

u3

3
s+3

x4

y1

x5

y2

x3

Fig. A.13: Sistema del ejemplo A.43

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)

Operando en el bloque que tiene como salida la variable de estado x1 , se obtiene:


x1 =

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 )

x 3 = 3x3 3x5 + 3u3

(s + 4)x4 = 4(x1 + u2 x2 )

x 4 = 4x1 4x2 4x4 + 4u2

(s + 5)x5 = 5(x2 + u3 x3 + x3 )

x 5 = 5x2 5x5 + 5x3

(A.53)

Las ecuaciones en (A.52) y (A.53) forman la ecuacion de estado x = Ax + Bu


mientras que las ecuaciones en (A.51) forman la ecuacion de salida y = Cx + Du,
tal como se muestra a continuacion.

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

La MT G(s) toma la forma (ver archivo va.m):


G(s) =

G11 (s) =

s+8
s2 + 5s + 8

G21 (s) =

s+4
2
s + 5s + 8

4s4 + 14s3 4s2 139s 120


(s2 + 5s + 8)(s2 + 9s + 20)(s + 3)

(s2 + 10s + 24)2


(s + 5)(s + 3)(s2 + 5s + 8)

G22 (s) =

G23 (s) =


 u1

+ 0 0 1 u2

0 1 0

u3

G11 (s) G12 (s) G13 (s)


G21 (s) G22 (s) G23 (s)
G12 (s) =

G13 (s) =

s5 + 15s2 + 93s3 + 291s2 + 510s + 480


(s2 + 5s + 8)(s2 + 9s + 20)(s + 3)

4s3 + 30s2 + 91s + 120


(s + 5)(s3 + s2 + 23s + 24)

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.

A.3 Variables de Estado

251

LCULOS PARA EL EJEMPLO 2.43


% va.m VARIOS CA
clear all; close all; clc;
% (a) ECUACIONES DE ESTADO Y DE SALIDA
A = [-1 -1 -1 -1 1;0 -4 0 0 0;0 0 -3 0 -3;4 -4 0 -4 0;0 5 0 0 -5];
B = [1 0 -1;0 2 0;0 0 3;0 4 0;0 0 5];
C = [1 0 1 1 -1;1 -1 0 0 1]; D = [0 0 1;0 1 0]; I = eye(5); n = 5; p = 2;
syms s;
% (b) MATRIZ DE TRANSFERENCIA
G = C*inv(s*I-A)*B + D; pretty(simplify(G))
% (c) ESTABILIDAD
[E,DD]=eig(A);
% DD = diag(-2.5000+1.3229i, -2.5000-1.3229i, -3.0000, -5.0000, -4.0000)
% SISTEMA ESTABLE PORQUE LA PARTE REAL DE LAS RA
ICES SON NEGATIVAS
% (d) CONTROLABILIDAD Y OBSERVABILIDAD
M = ctrb(A,B); % MATRIZ DE CONTROLABILIDAD M = [A A*B A^2*B A^3*C A^4*B]
rankM = rank(M);
% rankM = 5 = n => SISTEMA COMPLETAMENTE CONTROLABLE
CS = [C*B C*A*B C*A^2*B C*A^3*B C*A^4*B D]; rankCS = rank(CS);
% rankCS = p = 2 => SISTEMA COMPLETAMENTE CONTROLABLE A LA SALIDA
N = obsv(A,C); % MATRIZ DE OBSERVABILIDAD N=[C; C*A; C*A^2; C*A^3; C*A^4]
rankN=rank(N); % rankN=5=n => EL SISTEMA ES COMPLETAMENTE OBSERVABLE
% (e) MATRIZ DE TRANSICI
ON Phi(t)=L^(-1)[(sI-A)^(-1)]
Phi = ilaplace(inv(s*I-A)); pretty(simplify(Phi))
% (f) RESPUESTAS y1(t) e y2(t)
U = [1/s;1/s;1/s]; Y = G*U; y = ilaplace(Y); pretty(simplify(y))
% (g) GR
AFICOS DE LAS SALIDAS
step(A,B,C,D), print -deps -f va

A.3.6.

Formas Can
onicas SISO en el Espacio de Estado

La ecuacion diferencial que describe a un sistema SISO con parametros constantes


toma la forma:
dn1 y(t)
dn u(t)
dn1 u(t)
dn y(t)
+
a
+

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

En (A.38) vimos que la FT tambien se puede formular como:


y(s)
= G(s) = [C(sI A)1 B + D]
u(s)
que corresponde al sistema SLIT en el espacio de estado: x = Ax+Bu; y = Cx+Du.
Tal sistema posee diversas representaciones notables en el espacio de estado. Dichas
representaciones se denominan formas canonicas. La transformacion canonica tratada
en el ejemplo A.34 es una de ellas. Otras formas canonicas se describen a continuacion.

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)

Fig. A.14: Respuestas y1 (t) e y2 (t) a los escalones u1 = 1, u2 = 1 y u3 = 1 (ejemplo


A.43)
.

Primera Forma Can


onica Controlable:

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)

Segunda Forma Can


onica Controlable:

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

donde: 0 = b0 , 1 = b1 a1 0 , 2 = b2 a1 1 a2 0 , etc. Generalizando:


n = bn a1 n1 an1 1 an 0

(A.57)

A.3 Variables de Estado

253

Tercera Forma Can


onica Controlable:

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)

Primera Forma Can


onica Observable:

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)

Segunda forma can


onica observable:

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

Luego, la forma canonica diagonal es:

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

donde los eigenvalores p1 y p2 se repiten tres y dos veces respectivamente, y el resto,


p6 , p7 y p8 no lo son. Las constantes b0 , ci , i = 1, . . . , 8 y los eigenvalores p1 , p2 , p6 , p7
y p8 se calculan empleando el comando [r,p,k] = residue(B,A) (ver ecuacion (A.5)).
La forma canonica de Jordan es (notar la ubicacion de los ceros y unos en el vector
que multiplica a u):

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

1 2.8s1 0.65s2 + 6.8s3 4.25s4 1.3s5 + 1.2s6


1 + 1.3s1 1.69s2 0.345s3 + 0.49s4 + 0.02s5 0.04s6

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;

A.3 Variables de Estado

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

% dx/dt = Aj*x + Bj*u; y = Cj*x + Dj*u


Aj = [p1 0 0 0;0 p1 1 0;0 0 p1 0;0 0 0 p2];
Bj = [0;1;1;1]; Cj = [c1 c2 c3 c4]; Dj = [k];
[numj,denj] = ss2tf(Aj,Bj,Cj,Dj); % SE VERIFICA: num=numj, den=denj
eigAj = eig(Aj); % EIGENVALORES DE Aj Y A SON IGUALES: [-1, -1, -1, 0]

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

tal como se observa en la Fig. A.15(b), donde T es el tiempo de muestreo. Los


siguientes ejemplos ilustran tal aproximaciones.
e(t)

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

e(iT ) + T e(kT ) = u(kT T ) + T e(kT )

u(kT ) u(kT T ) = T e(kT )


u(k) = u(k 1) + T e(k)

(A.64)

A.4 Discretizaci
on Directa

257

donde k = t/T es el tiempo discreto. En la expresion (A.64), denotada como la


ecuacion discreta de la integral, hemos omitido en el argumento su dependencia con
el tiempo de muestreo T , ya que todos los terminos se discretizan empleando dicho
tiempo. Para el otro caso, empleamos sumatoria de trapecios para aproximar el area
debajo de la curva e(t):
k
X
e(iT T ) + e(iT )
u(kT ) T
2
i=1

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)

Si la discretizacion de la derivada se realiza por adelanto, entonces las diferencias son


de la forma:
de(t)
dt
de(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

Si la integracion emplea el metodo trapezoidal, entonces:


(
)

k 
1 X
e(i 1) + e(i)
TD
T
u(k) = Kc e(k) +
+
[e(k) e(k 1)]
TI
2
T
i=1

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

Restando las expresiones anteriores teniendo en cuenta que:


k
X
i=1

[e(i 1) + e(i)] =

k1
X
i=1

[e(i 1) + e(i)] + e(k 1) + e(k)

y despejando u(k) obtenemos una expresion similar a (A.69), donde:






T
T
TD
TD
TD
+
;
q1 = Kc 1 + 2

;
q2 = K c
q0 = K c 1 +
T
2TI
T
2TI
T

A.5.

Sistemas con Tiempo Muerto

En algunos sistemas industriales, el tiempo muerto se debe de tomar en cuenta


cuando por ejemplo existe un retardo considerable hasta que la se
nal de control
llegue al actuador. En otro caso, dicho retardo aparece cuando el punto de medicion
esta lejos de la zona de interes, por ejemplo, cuando en la planta solo se pueden
instalar sensores lejos de la zona de interes para la medicion. Este tiempo muerto
puede existir en la entrada u(t), en la salida y(t) o en el vector de estado x(t) del
sistema, tal como se ilustra a continuacion:
x(t)

= Ax(t x ) + Bu(t u )

y(t y ) = Cx(t) + Du(t)

(A.70)

A.5 Sistemas con Tiempo Muerto

259

Donde x , u y y son los tiempos muertos. En el dominio continuo, el tiempo muerto


se modela mediante la siguiente expresion de la transformada de Laplace: e s . Si
= d T , donde d = 1, 2, . . . y T es el tiempo de muestreo, y definiendo la unidad de
desplazamiento discreto como: e s = z, entonces, en el dominio discreto, el tiempo
muerto toma la forma z d . Este tiempo muerto puede existir en la entrada, en la
salida o en el vector de estado del sistema, tal como se ilustra a continuacion:
x(k + 1) = Gx(k dx ) + Hu(k du )

y(k + dy ) = Cx(k)

(A.71)

donde los tiempos muertos dk , du y dy toman valores enteros positivos.


Resulta u
til emplear la aproximacion de Pade para modelar el tiempo muerto en
el dominio continuo:
e s = 1 s +

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

La principal ventaja de usar una aproximacion racional para el tiempo muerto es


transformar el modelo del sistema dado en (A.70) en otro modelo sin tiempos muertos.
Ejemplo A.48
Comparar la respuesta a un escalon del sistema:
y(s)
10 5.8s
=
e
u(s)
2s + 1
con respecto a la respuesta originada por el sistema cuando el tiempo muerto se
aproxima con una relacion de Pade de tercer orden. Luego, determinar la ecuacion
de estado aproximada del sistema.
Soluci
on: El programa ejpade.m resuelve el problema planteado y los resultados se
ilustran en la Fig. A.16.
% ejpade.m SISTEMAS CON TIEMPO MUERTO D Y CON APROXIMACI
ON DE PAD
E
clear all; close all; clc; s = tf(s); % HABILITA FT
D = 5.8; numD=-D^3*s^3/120+D^2*s^2/10-D*s/2+1;
denD=D^3*s^3/120+D^2*s^2/10+D*s/2+1; % exp(-s*D) = numD/denD
Gp=10/(2*s+1); G1=Gp*exp(-s*D); G2=Gp*(numD/denD); step(G1,G2,--)
print -deps -f ejpades; sis=ss(G2); % sis: MODELO EN EL ESPACIO DE ESTADO

260

Sistemas Continuos

Step Response
10

Amplitude

exp(sD)
0

Pad de 3er orden


2

10

15

20

25

Time (sec)

Fig. A.16: Comparacion de las respuestas a un escalon del sistema y de su modelo


aproximado mediante una aproximacion de Pade de tercer orden (ejemplo A.48).

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!

Si la expresion de Y depende de las n variables X1 , . . . , Xn , entonces el desarrollo de


Taylor, despreciando los terminos de orden mas alto, produce:

f
(X1 X 1 )
Y = f (X1 , . . . , Xn ) = f (X 1 , . . . , X n ) +
X1 (X1 =X 1 )


f
f
+
(X2 X 2 ) + +
(Xn X n ) (A.73)
X2
Xn
(X2 =X 2 )

(Xn =X n )

Ejemplo A.49

Linealizar la siguiente taza de reaccion rA para el punto de operacion (T , C A ):


E

rA = k0 e RT CA

A.6 Linealizaci
on de Sistemas Continuos

261

donde k0 , E y R son constantes.


Soluci
on: Aplicando (A.73) con X1 = T y X2 = CA se obtiene:
r A = r A + C 1 t + C 2 cA
E
RT

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)

Las variables t y cA se denominan variables residuales o de desviacion.

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

donde f (X, U) es la ecuacion de estado del sistema, mientras que g(X, U) es la


ecuacion de salida. Tanto f como g son funciones vectoriales de las variables vectoriales X y U. El desarrollo de Taylor para la ecuacion de estado de este sistema,
resulta:


U)
f (X, U)
f (X,

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

donde A es la matriz de estado de orden n n, B es la matriz de distribucion de


orden n m, C es la matriz de salida de los estados de orden p n y D es la matriz
de salida de las entradas de orden p m, x = X X es el vector residual (o de
desviacion) de estados, u = U U es el vector residual de control, e y = Y Y es

262

Sistemas Continuos

el vector residual de la salida. Los estados estacionarios o de equilibrio de X y U son


X y U respectivamente, mientras que el estado estacionario del vector de salida Y,
cuando el sistema esta controlado, es el vector de referencias o set points R; es decir:
Y = R.
El procedimiento de linealizacion significa entonces que estamos asumiendo variaciones peque
nas de la dinamica del sistema alrededor del estado estacionario o de
equilibrio. Las matrices A, B, C y D se determinadas evaluando las siguientes matrices jacobianas:
f1
f1
f1
f1
X1 Xn
U1 Um

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

Fig. A.17: Sistema hidraulico.


Soluci
on: Los flujos de salida Q1 y Q2 de los tanques se pueden modelar como:
p
p
Q1 = P 1 P 0 ;
Q2 = P 2 P 0

donde P1 , P2 y P0 son las presiones en el fondo de los tanques y en el exterior


respectivamente, y =0.4 es una constante que depende de la geometra del orificio.
Si =1.23 kg/m3 es la densidad del lquido y g=9.81 m/s2 es la aceleracion de la
gravedad:
P1 P0 = gH1
P2 P0 = gH2

A.6 Linealizaci
on de Sistemas Continuos

263

El flujo acumulado en cada tanque es:


Q0 Q 1 = S

dH1
dt

dH2
dt

Q1 Q 2 = S

Definiendo las variables de estado X1 = H1 y X2 = H2 y la entrada U = Q0 , y


resolviendo las ecuaciones anteriores para X1 y X2 , obtenemos:

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

donde la salida Y (la funcion g) y la entrada U son en este caso escalares, y:






X 1
f1

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 )

La estabilidad y la funcion de transferencia del sistema se computan con el programa


C2tqh.m.

264

Sistemas Continuos

% C2tqh.m SISTEMA HIDR


AULICO
clear all; close all; clc;
S = 9; gamma = 0.4; rho = 1.23; g = 9.81; Qoinf = 3; % PARAMETROS
X1bar = Ubar^2/(gamma^2*rho*g); X2bar = X1bar;
% PUNTOS DE EQUILIBRIO
a11 = -gamma*sqrt(rho*g)/(2*S*sqrt(X1bar)); a21 = -a11;
a22 = -gamma*sqrt(rho*g)/(2*S*sqrt(X2bar));
A = [a11
0;a21 a22]; B = [1/S;0]; C = [0 1]; D = [0]; % SISTEMA LINEAL
eigA = eig(A); % EINGENVALORES: -0.0358 Y -0.0358 => SISTEMA ESTABLE
[P,Q] = ss2tf(A,B,C,D); % P = [0 0 0.004]; Q = [1 0.0715 0.0013]
% FUNCION DE TRANSFERENCIA: P(s)/Q(s)=0.004 /(s^2 + 0.0715s + 0.0013)

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

Demostrar que AB = AC, lo cual no necesariamente implica que B = C, , cuando:

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

En general: (A B)2 6= A2 2AB + B2 y A2 B2 6= (A + B)(A B). Demostrar


que (A B)2 = A2 + B2 cuando:

2 3 5
1 3
5
5
A = 1 4
B = 1 3 5
1 3 4
1 3
5
Problema A.4

Una matriz M es idempotente cuando M2 = M. Demostrar que A2 = A y B2 = B.

2 3 5
1 3
5
5
A = 1 4
B = 1 3 5
1 3 4
1 3
5

Problema A.5

Demostrar que la siguientes matriz es periodica, con perodo igual a 2:

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

Dada las matrices:

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

demostrar que A, iB y A son hermitianas, y que B y B son antihermitianas.


Problema A.8
Empleando matematica simbolica demostrar que:

n  n

nn1
1
=
0
n
0
Problema A.9
Empleando matematica
2
a
b2
A=
c2
d2

simbolica demostrar que las matrices:

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

poseen el mismo determinante: (a b)(a c)(a d)(b c)(b d)(c d).


Problema A.10
Empleando matematica simbolica hallar la derivada con respecto a x del determinante
de la matriz:

x
1
2
x3
A = x2 2x + 1
2
0 3x 2 x + 1
Problema A.11

Examine la dependencia o independencia lineal del siguiente conjunto de vectores. Si


el conjunto es dependiente, seleccione el maximo subconjunto linealmente independiente y exprese cada uno de los vectores dependientes como una combinacion lineal
de los independientes.

2
4
0
6
1
2
0
3

x1 =
3 ; x2 = 1 ; x3 = 5 ; x4 = 1
2
2
6
6
1
3
5
7

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

Demostrar que los siguientes vectores son linealmente independientes y mutuamente


ortogonales:
x1 = [1 + i i 1]T ;

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

Para cada ecuacion integrodiferencial, elaborar un programa en MATLAB para


graficar la salida y(t) cuando u(t) es un escalon unitario. Luego, elaborar un programa en Simulink para visualizar la se
nal y(t). Todas las condiciones iniciales son
nulas.
Z t
p
dy(t)
(a) =
+ 2y(t) 5y(t) + 4
y( )d = u(t)
dt
0
d2 y(t) dy(t)
(b) =
+
y(t) = u(t)
dt2
dt
Z t
dy(t)
2
y( )d = u(t)
+ 2y (t) + 4
(c) =
dt
0
Z t
d2 y(t)
3
y( )d = u(t)
+ 7y (t)
(d) =
dt2
0

A.7 Problemas

267

Problema A.17
Determinar la ecuacion de estado y la ecuacion de salida de los sistemas:
(a)

2x1 + 3x2 5x3 = 4u1 3u2 + x 1 ;

x 2 x1 + 8x2 2x3 = u1

2x2 5x3 = 3u1 4u2 x 3

(b)

y1 = x1 3x2 u2 ;

y2 = 3x1 + 7x3 + u1 5u2

x1 8x2 + x3 + x 1 = u1 ;

2x2 5x3 = 3u1 + 3u2 + x 3

(c)

y1 = 3x1 x2 + u1 ;

y2 = x1 5x3 5u2

6x1 + 7x2 + x 1 = 4u2 ;

x2 6x3 = x 3 u1 + 9u2

(d)

2x1 + 4x2 2x3 = 3u2 u2 + x 2

x 2 3x1 + 5x2 + 62x3 = u1 7u2

y1 = 4x1 + x2 u1 + u2 ; y2 = 3x1 + 7x2 5u2

3x2 5x3 + x 1 = 3u1 + 3u2 ;

x 2 6x1 + 5x2 7x3 = 3u2

x1 2x2 5x3 + x 3 = 3u1

y1 = x1 u2 + 8u2 ;

y2 = 3x2 + 7x3 9u1 2u2

donde u1 y u2 son las entradas, y1 e y2 son las salidas y x1 , x2 y x3 son las variables
de estado.
Problema A.18
Graficar la corriente i(t) que circula en un circuito serie RLC alimentado por una
batera E de 12 V, sabiendo que R = 100 , C = 1 F, L = 2 H, i(0) = 5 A y di(0)
dt = 5
A/s. Partiendo de la ecuacion caracterstica del circuito, determine la estabilidad, la
frecuencia natural de oscilacion y el coeficiente de amortiguamiento de dicho circuito.
Problema A.19
Una forma de determinar la estabilidad de un SLIT con entrada x(t) y salida y(t)
conociendo su funcion G(t) de respuesta al impulso (t), es evaluando la siguiente
condicion para estabilidad:
Z

|G( )|d <

Rt
Por ejemplo, para un integrador y(t) = 0 x( )d con y(0) = 0, su respuesta al
Rt
impulso es: y(t) = G(t) = 0 ( )d = (t), que es la funcion escalon, la cual es igual
a 1 para t 1. El sistema es inestable porque:
Z
Z
|1|d =
|G( )|d =

Aplicando este principio, determine G(t) y la estabilidad del sistema: y + 2y = x.


Problema A.20
Hallar la transformada inversa de: G(s) = (s3 + s2 + 2s + 1)/(s3 + 3s2 + 2s + 3).

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

Fig. A.18: Sistema de control de la profundidad de un submarino (problema A.26).


h At i
= A, hallar la matriz de estado A de un sistema cuya matriz
Sabiendo que: dedt
t=0
de transicion es:
 t

2e cos(t + 0,7) 3et cos(t + 1,5)
et cos(t 1,5) 2et cos(t 0,7)
Problema A.28
Las ecuaciones que rigen el calentamiento de un cuarto son:
qR = q a q p

qR = Ri2

qa = C t

dTi
dt

qp =

Ti T a
Rt

donde Ct = 4184 J/o C es la capacitancia termica, R = 20 es la resistencia electrica,


Rt = 0.1 o C/J es la resistencia termica, i(t) es una corriente de entrada tipo escalon
de magnitud 0.5 A y de duracion 2000 s, cuyo valor inicial es 1 A. Ta es la temperatura
ambiente que act
ua como una entrada tipo escalon de duracion 6000 s, cuyo valor
inicial es 20 o C y su valor final es 15 o C, qR es el flujo de calor en J/s producido en
R, qp es el flujo de calor en J/s que va al exterior y Ti es la temperatura en o C en
el interior. Elaborar un programa en Simulink para graficar las se
nales i(t), T a (t) y
Ti (t). Considerar que la temperatura Ti (0) inicial en el integrador es 22 o C.
Problema A.29
En la Fig. A.19, R es un escalon unitario y N es un disturbio escalon de magnitud
0.1R. Emplear Simulink y usar el metodo de prueba y error para determinar los
parametros Kc y Ki que hagan que la salida Y siga a la referencia R con suficiente
rapidez.
N
R
Kc + Ki/s

(s+7)(s+8)(s+9)
(s+1)(s+2)(s+3)(s+4)(s+5)

Fig. A.19: Sistema realimentado para el problema A.29.

Problema A.30

270

Sistemas Continuos

Graficar las salidas usando Simulink en el siguiente sistema de ecuaciones diferenciales


acopladas:
dT
= A(T To1 )Fo B(T Ta )
dt

dTa
= C(Ta To2 )Fo + D(Ta T )
dt

donde A = C = 0.08, B = D = 0.05. Tambien, Fo = 0.01 m3 /min, To1 = 280K y To2


= 350 K son perturbaciones tipo escalon.
Problema A.31
En la Fig. A.20, R es un escalon unitario y N es un disturbio escalon de magnitud
0.1R. Emplear Simulink y usar el metodo de prueba y error para determinar los
parametros Kc y Ki que hagan que la salida Y siga a la referencia R con suficiente
rapidez.
N
R

10e3t
4s+1

Kc + Ki/s

2e 2t

Fig. A.20: Sistema realimentado para el problema A.31.

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

Fig. A.21: Sistema del problema A.32

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

Va Simulink determine: (a) su respuesta ye (t) a un escalon unitario, (b) su respuesta


yi (t) al impulso, (c) la salida y() para la parte (b) usando el teorema del valor final,
y (d) varias ecuaciones de estado y de salida canonicas.
Problema A.34
Las poblaciones P1 , P2 y P3 de tres especies en un area restringida esta gobernada
por las ecuaciones:
P1 = 2P1 + 3P2 + 6P3 + c1 u
P2 = 3P1 + 3P2 + 8P3 + c2 u
P3 = P1 3P2 + 2P3 + c3 u
0 c1

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.

   



   
u(t)

Fig. A.22: Funcion rampa.

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

y2 = 3x21 + 4x2 + 2u1


Problema A.37
En el sistema de la Fig. A.23: (a) Determinar su ecuacion de estado y ecuacion de
salida. (b) Hallar su matriz de transferencia. (c) Determinar su estabilidad. (d) Hallar
la controlabilidad completa, la controlabilidad completa a la salida y la observabilidad
completa. (e) Determinar la matriz de transicion con t0 = 0. (f) Hallar y1 (t) e y2 (t)
donde u1 (t) y u2 (t) son entrada rampa unitaria. (f) Graficar y1 (t) e y2 (t). Se sugiere
hacer un programa.
u1

1
s+1

u2

2
s+2

x1

x2

y1

y2

Fig. A.23: Sistema del problema A.37.

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)

Fig. A.24: Sistema de control con presencia de disturbio.

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.

El Entorno de Trabajo de MATLAB

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

Fundamentos de MATLAB y Simulink


Espacio de trabajo (Workspace).- Ventana donde aparecen las variables almacenadas en memoria.
Ventana de figuras.- Las figuras aparecen cuando el usuario las realiza.

Para cerrar el programa, seleccionar en el men


u: File > Exit MATLAB o tipear
quit en la ventana de comandos.
Para obtener informacion detallada de cualquier topico relacionado con MATLAB, hacer click en el icono smbolo de interrogacion ?, ubicado debajo de la lnea
del men
u de la Fig. B.1, para que aparezca la ventana Help. En el espacio Search for
de tal ventana, tipear el topico del que desea informacion. Por ejemplo, si tipea save
y hace click en Go, entonces la informacion detallada y ejemplos sobre este comando
apareceran en la parte derecha de la ventana Help.

Fig. B.1: El entorno de trabajo de MATLAB.

B.1.2.

Comandos y Funciones Generales

Tener en cuenta que MATLAB NO HACE la distincion entre may


usculas y
min
usculas en sus comandos. Se sugiere usar siempre letras min
usculas para los comandos. El smbolo >> que aparece en la ventana de comandos es el prompt de

B.1 Fundamentos de MATLAB

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

Fundamentos de MATLAB y Simulink

pwd Muestra el directorio de trabajo actual.


size Muestra el tama
no de una matriz.
length N
umero de elementos de un vector.
disp Muestra los valores de una matriz o texto.
exist Chequea si estan definidas las variables o funciones.
finite(x) Devuelve 1 si x es finito y cero en otro caso.
isinf(x) Devuelve 1 si x es o , y cero en otro caso.
isnan(x) Devuelve 1 si x es indeterminado y cero en otro caso.
computer Devuelve el tipo de computadora.
version Devuelve la version actual de MATLAB.
why Devuelve respuestas breves a casi cualquier interrogante.
lasterr Devuelve el u
ltimo mensaje de error.
diary Guarda el texto de la sesion de trabajo actual.
unix Ejecuta comandos del sistema operativo Unix.
ver Informa sobre la version de MATLAB, Simulink y Toolboxes.
info Da informacion acerca de la empresa Mathworks.
whatsnew Informa acerca de lo nuevo de MATLAB.
hostid Identifica el n
umero del servidor host.
date Proporciona la fecha.
clock Proporciona el vector: [a
no, mes, da, hora, minuto, segundo].
calendar Proporciona el mes en curso.
fix(clock) Proporciona lo mismo que clock.
cd Cambiar el directorio actual de trabajo.
dir Muestra el directorio actual.
delete Borra un archivo u objeto grafico.
Por ejemplo, ingresando:
>> clear, a = magic(3); b = ones(1, 3)*-5.7;
>> save -ascii mydata.dat
>> clear, load mydata.dat, mydata
mydata =
8.0000
1.0000
6.0000
3.0000
5.0000
7.0000
4.0000
9.0000
2.0000
-5.7000
-5.7000
-5.7000
8.0000
6.0000
4.0000

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

La forma mas conveniente de procesar informacion en MATLAB es mediante los


archivos m. Un archivo m se genera como sigue:
Crear un directorio de trabajo, en donde deben de estar todos sus archivos de
de trabajo, tales como archivos m, archivos de datos, etc.

B.1 Fundamentos de MATLAB

279

Ubicarse en tal directorio de trabajo creado empleando el browser de MATLAB


(el icono cuadrado con tres puntos ubicado en el extremo superior derecho de
la Fig. B.1.
Hacer click en el icono hoja de papel en blanco ubicado en el extremo superior
izquierdo de la Fig. B.1, para abrir el editor de MATLAB.
Escribir el contenido usando lenguaje MATLAB y guardarlo con un nombre
arbitrario. El programa genera automaticamente la extension m del archivo.
Hay tres formas de ejecutar el archivo m generado: (1) presionando la tecla F5;
(2) haciendo click en Debug Run en el men
u del editor; (3) haciendo click
en el icono Run and Save del editor, el cual se ubica debajo de la lnea que
contiene el men
u del editor.
Si el programa posee errores, estos seran mostrados en la ventana de comandos.
Corregir tales errores y ejecutar el programa. Esta operacion puede repetirse
pocas o varias veces dependiendo de la magnitud del programa y experiencia
del programador.
La ejecucion de un archivo m se puede parar en cualquier momento presionando
simultaneamente las teclas Ctrl + C.
El siguiente archivo de nombre miarchivom.m contiene informacion adicional.
% miarchivom.m GENERACI
ON DE UN ARCHIVO m.
% MATLAB NO PROCESA LO QUE EST
A A LA DERECHA DEL S
IMBOLO: %
clear all; close all; clc;
% clear: LIMPIA VARIABLES Y FUNCIONES DE LA MEMORIA.
% close: CIERRA FIGURAS.
% clc:
LIMPIA LA VENTANA DE COMANDOS (VC) DE MATLAB
% TAMBI
EN ES V
ALIDO ESCRIBIR: clear all, close all, clc
a=7; b=-4; % DATOS, DONDE EL S
IMBOLO ; IMPIDE QUE LA VC
% MUESTRE a Y b LUEGO DE EJECUTAR miarchivom.m
r=a-b; m = a*b; d = a/b; e = a^b; % OPERACIONES ARITM
ETICAS
s=a+b % LA VC DEVUELVE s=3 LUEGO DE EJECUTAR miarchivom.m
En lo que sigue, solo emplearemos archivos m para explicar mediante numerosos
ejemplos las bondades del lenguaje MATLAB. En tales ejemplos emplearemos tanto
los comandos listados en la subseccion B.1.2 as como otros mas especializados.

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

%
%

Fundamentos de MATLAB y Simulink

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

B.1 Fundamentos de MATLAB

%
%

%
%

%
%
%
%

%
%
%
%
%
%
%

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

%
%
%
%

%
%
%
%
%
%
%
%

%
%
%

Fundamentos de MATLAB y Simulink

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

DIVISION C/D RESUELVE EL SISTEMA Cx=D Y ES EQUIVALENTE A inv(C)*D.


ON C\D RESUELVE EL SISTEMA xD=C Y ES EQUIVALENTE A C*inv(D).
DIVISI
TEXTO
a = casa; b = gato; AA = CASA; % CADENAS DE CARACTERES
r60=a + b;
% r60=[202 194 231 208], SUMA ASCII ELEM POR ELEM
r61=a + 0;
% r61=[99 97 115 97], REPRESENTACI
ON ASCII DE a
r62=abs(a); % r62=[99 97 115 97], REPRESENTACI
ON ASCII DE a
ON ASCII DE a
r63=double(a); % r63=[99 97 115 97], REPRESENTACI
r64=setstr([99 97 115 97]); % r64=casa
USCULAS
USCULAS MENOS MAY
r65=abs(a)-abs(A); % r65=32, RESTA MIN
r66=setstr (a-32);
% r66=CASA (LA DIFERENCIA)
d=5; disp(d); % DEVUELVE 5 EN LA VC
disp(escribe esto); % DEVUELVE << escribe esto >> EN LA VC

Polinomios
% polinomios.m POLINOMIOS

B.1 Fundamentos de MATLAB

%
%
%
%

283

clear all; close all; clc;


NOTACI
ON: 5x^4 - 9x^3 + 13x^2 + 9x - 14 ==> [1 -9 13 9 -14]
x = [1 -9 13 9 -14]; rx=roots(x); % rx CONTIENE RA
ICES DE x
xx = poly(rx); % DEVUELVE xx GENERADO POR RA
ICES DE rx (xx=x)
p = [1 2 7]; q = [1 3 6];
c = conv(p,q); % c=(z^2+2z+7)(z^2+3z+6)=z^4+5z^3+19z^2+33z+42
=[1 5 19 33 42]
d = deconv(c,q);
% COCIENTE DE DIVIDIR c ENTRE q
dp = polyder(p);
% DERIVADA DE POLINOMIO p
dpq = polyder(p,q); % DERIVADA DEL PRODUCTO p*q
ep=polyval(p,[0 1 5]); % EVAL
UA p=x^2+2x+7 PARA x=0, x=1 y x=5
em=polyval(p,[0 1 2;-1 -2 -3;4 0 7]); % EVAL
UA p PARA CADA FILA
em=
7
10
15
6
7
10
31
7
70

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

Fundamentos de MATLAB y Simulink

clear all; close all; clc;


function[suma,resta] = calculos(x,y)
suma = x + y;
resta = x - y;
% usacalculos.m USA FUNCI
ON CONTENIDA EN calculos.m
clear all; close all; clc;
x = [1 5; 3 -2; 3 7; 4 -1; 0 2]; y = [16 -1; 0 4; 1 5; -1 0; -1 3];
[a,b] = calculos(x,y); a, b
% LA VENTANA DE COMANDO VC DEVUELVE a = x+y, b = x-y
Programaci
on
% programacion.m PROGRAMACI
ON EN MATLAB
clear all; close all; clc;
% SENTENCIA FOR
for x = 1:5
disp(x toma el valor) % DEVUELVE x toma el valor PARA CADA x
disp(x)
% DEVUELVE EL VALOR DE x
end
% SENTENCIA WHILE
a=3;
while a < 5
disp(a es menor que 5 porque su valor es:)
disp(a)
a = a + 1;
end
% SENTENCIA IF
b = 5;
if b == 0 % SE USA == PORQUE ES UNA EXPRESI
ON L
OGICA
disp (el valor de b es 0)
elseif b == 1
disp (el valor de b es 1)
elseif b == 2
disp (el valor de b es 2)
elseif b == 3
disp (el valor de b es 3)
else
disp (b no es ni 0 ni 1 ni 2 ni 3)
end
% GENERACI
ON DE N
UMEROS PRIMOS MENORES DE 100
disp(Estos son los n
umeros primos menores de 100)
disp(2)
for i=2:100
n=2;
while n <= sqrt(i)
if rem(i,n)==0
n=i;

B.1 Fundamentos de MATLAB

285

else n=n+1;
end
end
if n~=i disp(i)
end
end
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

fz=fzero(sind,100); % VALOR MAS PROXIMO A 100 DONDE sind=0


fq=quad(sin,0,pi); % INTEGRAL DEL SENO DE 0 A pi, APROX. RECT.
ALISIS DE DATOS
% analisisdatos.m AN
clear all; close all; clc;
X = [5 7 9 2 9; 3 1 7 5 1; 3 9 2 7 5; 1 5 5 1 8];
% >> cumprod(X) % DEVUELVE MATRIZ DE PRODUCTOS ACUMULADOS
% >> cumsum(X) % DEVUELVE MATRIA DE SUMAS ACUMULADAS
% >> mean(X)
% DEVUELVE LA MEDIA DE CADA COLUMNA
% >> sort(X)
% ORDENA LOS VALORES DE CADA COLUMNA
% >> sum(X)
% DEVUELVE SUMA DE LOS ELEMENTOS DE CADA COLUMNA
% >> var(X)
% DEVUELVE VARIANZA DE LOS ELEMENTOS DE C/COLUMNA
AXIMO DE CADA COLUMNA
% >> max (X)
% DEVUELVE VALOR M
INIMO DE CADA COLUMNA
% >> min (X)
% DEVUELVE VALOR M
% >> iqr (X)
% DEVUELVE RANGO intercuart
lico DE CADA COLUMNA
% >> range(X)
% DEVUELVE RANGO DE CADA COLUMNA: DIFERENCIA ENTRE
%
EL M
AXIMO Y EL M
INIMO
Y = [5 7 9 2 9 3 1 7 5 1 3 9 2 7 5 1 5 5 1 8];
% >> tabulate(Y) % DEVUELVE:
% Value Count Percent
% 1
4
20.00% (EL N
UMERO 1 APARECE 4 VECES)
% 2
2
10.00% (EL N
UMERO 2 APARECE 2 VECES)
% 3
2
10.00%
% 4
0
0.00%
% 5
5
25.00%
% 6
0
0.00%
% 7
3
15.00%
% 8
1
5.00%
% 9
3
15.00%

286

B.1.5.

Fundamentos de MATLAB y Simulink

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)

B.1 Fundamentos de MATLAB

287

subplot(3,1,3), surf (X,Y,Z)


figure(8)
x = -10:0.5:10; y = -10:0.5:10;
[X,Y] = meshgrid(x,y); % CREA MATRICES PARA HACER LA MALLA
Z = sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
subplot(2,2,1), contour (X,Y,Z) % DIBUJA L
INEAS DEL CONTORNO
subplot(2,2,2), pcolor(X,Y,Z) % TRANSFORMA ALTURA EN COLORES
ON 70
subplot(2,2,3), surf(X,Y,Z), view(10,70) % AZIMUT 10, ELEVACI
subplot(2,2,4), surf(X,Y,Z), view(10,-12.2), colorbar
% colorbar A~
NADE BARRA DE COLOR
% >> surf (X,Y,Z), [az,el]=view % DEVUELVE AZIMUT=-37.5, ELEVAC=30
figure(11)
x=-10:0.5:10; y = -10:0.5:10;
[X,Y] = meshgrid(x,y); % CREA MATRICES PARA HACER LA MALLA
Z=sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
subplot(2,1,1),
[C,h]=contour(X,Y,Z); clabel(C,h) % A~
NADE ALTURAS A CONTORNOS
subplot(2,1,2),
M = [0 0 0; 1 0 0; 0 1 0; 0 0 1; 1 1 0];
% MATRIZ DE COLORES NEGRO, ROJO, VERDE, AZUL, AMARILLO
colormap(M), surf (X,Y,Z)
figure(12)
t=0:0.001:0.009;
v=900:1025;
[T V]=meshgrid(t,v);
aux1=16*pi^2*(T.^2).*((V-918).^2).*((V-1011).^2);
aux2=aux1+(2*V-1929).^2;
w=T./aux2;
z=35000000*w;
surfl(t,v,z);
% SUPERFICIE SOMBREADA 3D CON RAYOS
shading interp; % FIJA MODO shading (SOMBRA) CON INTERPOLACI
ON
colormap(pink); % FIJA EN pink (ROSADO) EL COLOR DE LA FIGURA
rotate3d;
% GIRA LA FIGURA USANDO EL MAUSE
print -f -depsc ultimo % GENERA ultimo.eps EN COLOR

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

%
%

%
%

%
%
%

Fundamentos de MATLAB y Simulink

r7=int(f2); % r7=-cos(b + a*theta)/a, INTEGRAL EN theta


f8=1/(1+u^2); r8=int(f8); % r8=atan(u), INTEGRAL INDEFINIDA EN n
f9=exp(-x^2); r9=int(f9); % r9=(pi^(1/2)*erf(x))/2,
erf=funci
on error
c=0; d=1; f10 = x^7; r10=int(f10,c,d); % r10=1/8, INTEGRAL DEFINIDA
c=1; d=2; f11 = 1/x; r11=int(f11,c,d); % r11=log(2), INTEGRAL DEFIN.
c=0; d=1; f12 = log(x)*sqrt(x); r12=int(f12, c, d); % r12=-4/9
c=0; d=inf; f13 = exp(-x^2); r13=int(f13, c, d); % r13=pi^(1/2)/2
SIMPLIFICACIONES Y SUSTITUCIONES
collect: COLECTA TODOS LOS COEFICIENTES CON LA MISMA POTENCIA DE x
f14=(x-1)*(x-2)*(x-3); r14=collect(f14); % r14=x^3-6*x^2+11*x-6
f15=x*(x*(x-6)+11)-6; r15=collect(f15); % r14=x^3-6*x^2+11*x-6
f16=(1+x)*t + x*t; r16=collect(f16);
% r16=(2*t)*x+t
expand: DISTRIBUYE PRODUCTOS EN SUMAS Y APLICA IDENTIDADES DE SUMAS
f17 = a*(x+y); r17=expand(f17); % r17=a*x + a*y
f18 = (x-1)*(x-2)*(x-3); r18=expand(f18); % r18=x^3-6*x^2+11*x-6
f19 = x*(x*(x-6)+ 11)-6; r19=expand(f19); % r19=x^3-6*x^2+11*x-6
f20 = exp(a + b); r20=expand(f20); % r20=exp(a)*exp(b)
f21 = cos(x + y); r21=expand(f21); % r21=cos(x)*cos(y)-sin(x)*sin(y)
f22 = cos(3*acos(x)); r22=expand(f22); % r22=4*x^3 - 3*x
f23 = 3*x*(x^2-1)+x^3; r23=expand(f23); % r23=4*x^3 - 3*x
horner: TRANSFORMA UN POLINOMIO SIMB
OLICO EN SU FORMA ENCADENADA
f24 = x^3-6*x^2+11*x-6; r24=horner(f24); % r24=x*(x*(x-6)+11)-6
f25 = 1.1+2.2*x+3.3*x^2; r25=horner(f25);
r25=x*((33*x)/10+11/5)+11/10
factor: EXPRESA f COMO UN PRODUCTO DE POLINOMIOS DE GRADO BAJO
f26 = x^3-6*x^2+11*x-6; r26=factor(f26); % r26=(x-3)*(x-1)*(x-2)
f27 = x^3-6*x^2+11*x-5; r27=factor(f27); % r27=x^3-6*x^2+11*x-5
f28 = x^6 + 1; r28=factor(f28); % r28=(x^2 + 1)*(x^4 - x^2 + 1)
simplify: HERRAMIENTA PODEROSA PARA SIMPLIFICAR
f29 = x*(x*(x-6)+11)-6; r29=simplify(f29); % r29=(x-1)*(x-2)*(x-3)
f30 = (1 - x^2)/(1 - x); r30=simplify(f30); % r30=x + 1
f31 = (1/a^3+6/a^2+12/a+8)^(1/3); r31=simplify(f31);
r31=((2*a+1)^3/a^3)^(1/3)
f32 = exp(x)*exp(y); r32=simplify(f32); % r32=exp(x + y)
f33 = cos(x)^2 + sin(x)^2; r33=simplify(f33); % r33=1
simple: ENCUENTRA UNA EXPRESI
ON CON M
INIMA CANTIDAD DE CARACTERES
syms a positive x;
f34 = (1/a^3 + 6/a^2 +12/a + 8)^(1/3); r34=simplify(f34);
r34= (8*a^3 + 12*a^2 + 6*a + 1)^(1/3)/a
f35 = (1/a^3+6/a^2+12/a+8)^(1/3); r35=simple(f35); % r35=1/a+2
f36 = cos(x) + i*sin(x); r36=simplify(f36); % r36=cos(x) + sin(x)*i
f37 = cos(x) + i*sin(x); r37=simple(f37);
% r37=exp(x*i)
f38 = cos(x)^2 -sin(x)^2; r38=simple(f38); % r38=cos(2*x)
f39 = cos(x) + i*sin(x); r39=simple(f39);
% r39=exp(x*i)
f40 = cos(3*acos(x)); r40=simple(f40);
% r40=4*x^3 - 3*x
OLICAS
AS VISIBLE LAS EXPRESIONES SIMB
pretty: HACE M

B.1 Fundamentos de MATLAB

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

El siguiente programa simula el sistema de control de posicion backstepping del


prototipo MRE (Manipulador Robotico Esferico). El modelo dinamico de Lagrange
del MRE deducido en la subseccion ??, ecuacion (??), posee la forma:




u1
q1
u=
M(q)
q + P(q, q)
q + d(q) = u
q=
u2
q2
donde:
M=

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

donde K es una matriz diagonal con elementos k positivos. El observador se


expresa como:
b = q d + Ld (q q
b)
q

290

Fundamentos de MATLAB y Simulink


b se puede
donde Ld es una matriz diagonal con elemento ` positivos. El vector q

b. La ley de control backstepping posee la forma:


calcular integrando q
b )q r + d(q) Kd (q
b q r ) K1 z1
u = M(q)
q + P(q, q

en donde Kd y K1 son matrices diagonales con elementos kd y k1 positivos,


respectivamente.
(3) Simular el sistema de control backstepping empleando los parametros de sintonizacion kd , k1 y `d .
La Fig. B.2 muestra el diagrama de flujo empleado en esta publicacion para
simular los sistemas de control. El archivo bscmrer.m muestra el programa en codigo
MATLAB para simular el el control simultaneo de las posiciones de los brazos del
MRE empleando un controlador backstepping. Este archivo, que es autoexplicativo,
emplea el diagrama de flujos de la Fig. B.2. El resultado de la simulacion se muestran
en la Fig. B.3.
Inicio
Parmetros del sistema
Parmetros de sintonizacin
Condiciones iniciales

Lazo de control

k=1
Seales de referencia
Algoritmo de control
Almacenamiento de datos
k < N?

SI

NO
Grficos de resultados

Fig. B.2: Diagrama de flujo para la simulacion de un sistema de control.

% bscmrer.m CONTROL BACKSTEPPING DEL MANIPULADOR MRE.


% CASO: REGULACI
ON (REFERENCIA CONSTANTE EN EL TIEMPO)
clear all; close all; clc;

B.1 Fundamentos de MATLAB

291

% DATOS DEL SUB-SISTEMA MEC


ANICO
d = 0.01; rd = 0.06; b = 0.25; a = 0.044; La = 0.3; Lh = 0.05;
md = 0.55; mb = 0.9; ma = 0.8; mh = 0.15; g =9.81; n = 12.5;
m1 = md + mb; m2 = ma + mh;
L1=(mb*b+md*d)/(mb+md); L2=La+Lh;
Jm = 0.0003; Jg = 0.053; Jd = md*rd^2/2;
Jb = mb*a^2/6; J1 = Jd+Jb; J2 = m2*L2/3; Jeq = n^2*Jm+Jg;
Bm = 0.0001; Bg = 0.01; Beq = n^2*Bm+Bg;
ECTRICO
% DATOS DEL SUB-SISTEMA EL
Km = 0.0421; Kb=0.0564; Larm = 0; Ra = 5.3; KA = 12.5;
% PAR
AMETROS DE CONTROL
K = 5; K1=8; Ld=10; Kd=8;
% VALORES INICIALES
q1 = 0; q2 = 0; dq1 = 0; dq2 = 0; qe1 = 0; qe2 = 0;
UMERO DE ITERACIONES N
% TIEMPO DE MUESTREO T (segundos) Y N
T= 0.01; N=4000; A = 1; % A: MAGNITUD DE LAS REFERENCIAS DESEADAS
% LAZO DE CONTROL
for k=1:N;
% REFERENCIAS DESEADAS qd1 Y qd2
if(k >= 0 && k <= N/4), qd1 = 0.5*A; qd2 = 0.1*A;
elseif(k >= N/4 && k <= N/2), qd1 = 0.2*A; qd2 = 0.7*A;
elseif(k >= N/2 && k <= 3*N/4), qd1 = 0.8*A; qd2 = 0.3*A;
elseif(k >= 3*N/4 && k <= N), qd1 = 0.3*A; qd2 = 0.5*A;
end
Qd1(k) = qd1; dqd1 = 0; ddqd1 = 0;
Qd2(k) = qd2; dqd2 = 0; ddqd2 = 0;
% ERROR DE SEGUIMIENTO
e1 = q1 - qd1;
e2 = q2 - qd2;
z11 = e1;
z22 = e2;
dqr1 = dqd1 - K*z11; dqr2 = dqd2 - K*z22;
% OBSERVADOR
dqe1 = dqd1 + Ld*(q1 - qe1); qe1 = qe1 + T*(dqe1);
dqe2 = dqd2 + Ld*(q2 - qe2); qe2 = qe2 + T*(dqe2);
% CONTROL
M11e = Ra*(J1 + Jeq + m2*L2*sin(qe2)^2/4)/(n*Km*KA);
M22 = Ra*(J2 + Jeq+m2*L2/4)/(n*Km*KA);
P11 = Ra*(Beq + n^2*Km*Kb/Ra)/(n*Km*KA);
P12e = Ra*m2*L2*dqe1*sin(q2)*cos(q2)/(2*n*Km*KA);
P21e = -Ra*m2*L2*dqe1*sin(q2)*cos(q2)/(4*n*Km*KA);
P22 = Ra*Beq + n^2*Km*Kb/Ra/(n*Km*KA);
d11 = 0;
d21e = -Ra*m2*L2*g*sin(qe2)/(2*n*Km*KA);
u1 = M11e*ddqd1+P11*dqr1+P12e*dqr2+d11- Kd*(dqe1-dqr1) - K1*z11;
u2 = M22*ddqd2+P21e*dqr1+P22*dqr2+d21e-Kd*(dqe2-dqr2) - K1*z22;
U1(k) = u1; U2(k) = u2;
% MODELO DEL SISTEMA CONTROLADO
M11 = Ra*(J1 + Jeq + m2*L2*sin(q2)^2/4)/(n*Km*KA);
P12 = Ra*m2*L2*sin(q2)*cos(q2)*dq1/(2*n*Km*KA);

292

Fundamentos de MATLAB y Simulink

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

Simulink se ejecuta dentro del entorno de MATLAB y depende de este programa


para definir y evaluar el modelo a simular y los bloques de parametros. Simulink tambien usa algunas caractersticas de MATLAB, tales como: definicion de las entradas
del modelo, almacenamiento de las salidas del modelo para analisis y visualizacion,
y realizar operaciones y funciones propias de MATLAB dentro del modelo.
Se recomienda los siguientes 6 pasos para modelar un sistema: (1) definir el sistema, (2) identificar los componenetes del sistema, (3) modelar el sistema con ecuaciones, (4) elaborar el diagrama de bloques en Simulink, correr la simulacion, y (6)
validar los resultados de la simulacion.

B.2.1.

Fundamentos del Software Simulink

Para mostrar la biblioteca de bloques (Simulink Library Browser, Fig. B.4):


1. Abrir MATLAB, luego tipear simulink en el prompt.
2. Click el boton Start (extremo inferior izquierdo de la ventana MATLAB) y
luego seleccionar: Simulink > Library Browser.
3. Click en el icono Simulink:

ubicado en la barra de menus de MATLAB.

CONTROL u2 [v]

POSICIN q2 [rad]

CONTROL u1 [v]

POSICIN q1 [rad]

B.2 Fundamentos de Simulink

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.

Para crear un nuevo modelo, seleccionar en el men


u de la ventana Simulink Library
Browser (SLB): File > New > Model. El software abre una ventana vaca (Fig. B.5)
en donde construir el modelo.
Para abrir un modelo existente:
1. En el men
u de la ventana SLB, seleccionar File > Open. En la ventana Open
buscar el archivo con extension .mdl a abrir. Ubicado el archivo, seleccionarlo y
click Abrir. El software abre el archivo buscado en una ventana que tiene como
etiqueta el nombre del archivo.
2. En la VC (ventana de comandos) de MATLAB, hacer click en el icono [...]
(tres puntos seguidos) ubicado en la parte superior derecha, para que aparezca
la ventana Buscar carpeta. En esta ventana ubicarse en el directorio donde
esta el archivo .mdl. Luego, en el prompt de MATLAB, escribir el nombre del
archivo sin extension, para que aparezca el modelo buscado.
La ventana SLB, Fig. B.6, muestra la biblioteca de bloques de Simulink instaladas
en su sistema. Los bloques se pueden copiar o arrastrar desde esta ventana a una
ventana vaca. Cuando use la ventana SLB, notar lo siguiente:
Los bloques de una biblioteca se pueden ver seleccionando el nombre de la

294

Fundamentos de MATLAB y Simulink

Fig. B.4: Librera de bloques (Simulink Library Browser).

Fig. B.5: Nueva ventana para construir un modelo.

B.2 Fundamentos de Simulink

295

biblioteca en la parte izquierda de la ventana SLB, o haciendo doble click en el


bloque seleccionado.
Cuando se selecciona un bloque, su descripcion aparece en la parte inferior de
la ventana SLB.
Para obtener mayor informacion de un bloque, seleccionar el bloque en la ventana SLB, y en su men
u ir hacia Help > Help on the Selected Block.
Los parametros de un bloque se pueden visualizar y cambiar haciendo click
derecha sobre el bloque.
Se puede buscar un determinado block en la ventana SLB, insertando el nombre
del block en el campo de b
usqueda ubicado a la derecha del icono
Luego, hacer click sobre tal icono.

La forma mas rapida de obtener ayuda en un bloque de una biblioteca, es hacer


click derecho y luego seleccionar Help.

Fig. B.6: Biblioteca de bloques en la ventana Simulink Library Browser (SLB).

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.

Fundamentos de MATLAB y Simulink

Creaci
on de un Modelo Simulink

El problema a resolver va Simulink, es controlar la posicion angular de un brazo


robotico de 1GDL empleando un controlador por linealizacion de la realimentacion y
un observador de estados. Primero, seleccionar un directorio de trabajo para alojar
los archivos Simulink disnl2.mdl y MATLAB disnl2p.m. La Fig. B.7 muestra el diagrama de bloques Simulink que se obtiene tipeando disnl2 en el prompt de MATLAB.
Observar que los bloques Proceso no lineal, Observador no lineal, Conversion de x a
z, Se
nal u y Se
nal v, son en realidad subsistemas que alojan, cada uno, una porcion
del programa de control.
disnl2_u
u

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

Fig. B.7: Diagrama de bloques del archivo Simulink disnl2.mdl.


Por otro lado, el bloque Referencia r es una se
nal sinusoide que se arrastra desde su
ubicacion en la ventana SLB: Simulink > Sources > Sine Wave (Fig. B.8), hacia
la ventana de trabajo.
Haciendo doble click en cualquier subsistema, aparece una ventana con el contenido del mismo. Por ejemplo, la Fig. B.9 muestra el contenido del subsistema Proceso no lineal. Sus componentes se arrastran desde la ventana SLB a la ventana de la Fig.
B.9. Observar en dicha Fig. que los crculos x1, x2 y x3 son las variables de salida del
sistema, mientras que el crculo u es la entrada. La entrada u se genera arrastrando la
elipse In1 ubicada en la ventana SLB: Simulink > Commonly Used Blocks > In1,
mientras que para las tres salidas se requiere arrastrar tres veces la elipse Out1 ubicada en la ventana SLB: Simulink > Commonly Used Blocks > Out1. El subsistema
Proceso no lineal se crea seleccionando con el click derecho todo el contenido de
la Fig. B.9 y luego tipeando Ctr + G o seleccionando en el men
u de MATLAB:
Edit > Create Subsystem.
Los rectangulos u, x1 y r mostrados en la Fig. B.7, que sirven para almacenar
datos, se crean arrastrando tres veces el rectangulo To File ubicado en la ventana SLB:
Simulik > Sinks > To File. Haciendo doble click en cada rectangulo, se introduce
un nombre a eleccion por ejemplo, disnl2_u, disnl2_x1 y disnl2_r. En la Fig. B.7,
Scope es un graficador que se obtiene de la ventana SLB: Simulink > Sinks > Scope.
El procedimiento para obtener el resultado de este programa: los graficos de la salida
x1 controlada u la fuerza de control u, es el siguiente:
1. Ejecutar el archivo disnl2p.m para introducir datos al sistema. El archivo no se

B.2 Fundamentos de Simulink

297

Fig. B.8: Ubicacion del bloque Sin Wave.

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

Fig. B.9: Contenido del subsistema Proceso no lineal.

1
x1

298

Fundamentos de MATLAB y Simulink


ejecuta completamente porque recien se van a crear los archivos de datos.

2. correr el programa Simulink disnl2.mdl haciendo click en el triangulo negro


ubicado en la parte superior de la Fig. B.7.
3. Tipear: save disnl2_x1, save disnl2_r, save disnl2_u en el el prompt
de MATLAB. Estos comandos almacenan los datos en los archivos tipo *.mat:
disnl2_x1.mat, disnl2_r.mat y disnl2_u.
4. Ejecutar nuevamente el archivo disnl2p.m para obtener la Fig. B.10

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

Seal de control (voltios)

2.5
2
1.5
1
0.5
0
0.5

Fig. B.10: Salida controlada y fuerza de control correspondiente.

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

Sistema estable e inestable, 168


Sistema PLIT, 183
Solucion de la ecuacion de estado, 170
Transformada de Laplace
Formulas de, 142
inversa, 140
Propiedades de la, 145
unilateral, 138
Variables de estado, 163

Você também pode gostar