Está en la página 1de 256

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
Control PID MIMO
Control Inteligente
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
6
7
11
11
13
18
20
21
22
26
28
28
29
33
33
34
34
37
37
39

3. El Sistema de Instrumentaci
on
45
3.1. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1. Caractersticas Estaticas y Dinamicas . . . . . . . . . . . . . . 46
3.1.2. Principios de los sensores . . . . . . . . . . . . . . . . . . . . . 47
4. Elementos Finales de Control
51
4.1. Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51


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 . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4. Estructuras del Controlador PID . . . . . . . . . . . . . . . . . . .
5.4.1. Algunas Estructuras Basicas . . . . . . . . . . . . . . . . .
5.4.2. La Banda Proporcional BP % . . . . . . . . . . . . . . . . .
5.5. Metodos de Sintonizacion de Controladores PID . . . . . . . . . .
5.5.1. Metodo de la Curva de Reaccion (Sistemas Autoregulados)
5.5.2. Metodo de las Oscilaciones Sostenidas . . . . . . . . . . . .
5.5.3. Metodo del Rele . . . . . . . . . . . . . . . . . . . . . . . .
5.5.4. Metodo de las Oscilaciones Amortiguadas . . . . . . . . . .
5.5.5. Metodos Basado en la Minimizacion de un Indice . . . . . .
5.5.6. Uso de la Curva de Reaccion en Sistemas No Autoregulados
5.6. Control PID del Sistema SDA . . . . . . . . . . . . . . . . . . . . .
5.7. El Efecto Windup . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8. El Algoritmo PID Discreto Modificado . . . . . . . . . . . . . . . .
5.9. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6. Otras Estrategias de Control
6.1. Control en Cascada . . . . .
6.2. Control de la Razon . . . .
6.3. Control Anticipativo . . . .
6.4. Control Selectivo . . . . . .
6.5. Control de Rango Partido .

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

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

55
55
57
57
59
65
65
65
68
70
71
85
91
93
95
100
106
108
110
115

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

119
119
123
125
130
132

7. Control PID Multivariable


7.1. Control MIMO va Desacoplamiento . . . . . . . . .
7.1.1. No Interaccion . . . . . . . . . . . . . . . . .
7.1.2. Exactitud Estatica . . . . . . . . . . . . . . .
7.1.3. Estabilidad . . . . . . . . . . . . . . . . . . .
7.2. Control PID MIMO con Desacopladores . . . . . . .
7.3. Control P MIMO empleando el Criterio de Hurwitz .
7.3.1. Procedimiento de Dise
no . . . . . . . . . . .
7.3.2. El Criterio de Hurwitz . . . . . . . . . . . . .
7.4. Problemas . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

135
135
136
137
137
145
148
148
149
150

A. Matem
atica para 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.2. Matrices y Determinantes . . . . . . . . . .
A.2.1. Operaciones con Matrices . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

153
153
153
156
157
158
163
164

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.


INDICE GENERAL

A.3.

A.4.
A.5.
A.6.

A.7.

VII

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 . . . .
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 . . . .
Discretizacion Directa . . . . . . . . . . . . . . . . . . . . . . .
Sistemas con Tiempo Muerto . . . . . . . . . . . . . . . . . . .
Linealizacion de Sistemas Continuos . . . . . . . . . . . . . . .
A.6.1. Caso SISO . . . . . . . . . . . . . . . . . . . . . . . . .
A.6.2. Caso MIMO . . . . . . . . . . . . . . . . . . . . . . . . .
Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

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

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

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

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

166
167
172
177
178
178
180
181
184
187
194
199
201
203
203
204
207

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

217
217
217
218
220
221
228
229
231
234
234
238

B
. ibliografa

241

Indice
.
alfab
etico

244

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
Instrumentacin

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 Instrumentaci
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 instrumentacion para cada parametro (ver Fig. 1.1). Cada sistema de instrumentacion
consta de un sensor que proporciona la (variable medida), y de un transmisor que
cambia dicha variable en una 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 instrumentacion 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 instrumentacion inteligente
reciben dicha denominacion, por que poseen la capacidad de procesar se
nales digitales.
En general, los sistema de instrumentacion se aplican a los procesos para: indicar
el valor de una variable, registrar y almacenar los valores de una variable, controlar
una variable, fijar alarmas en los casos que una variable alcanza un determinado
valor, y como enclavamiento, es decir, haciendo que una variable cause una accion
cuando alcance un valor previamente establecido.

El Controlador
Para lograr control en la Fig. 1.1, se requiere que el valor de la variable medida
tienda a ser el valor de la 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

1.1 Sistema de Control a Lazo Cerrado

cerrado, las se
nales r e y son comparadas. La diferencia entre ellas es la se
nal de error
e, llamada tambien se
nal de desviacion. Cuando existe una desviacion, es necesario
actuar para eliminarla. Esta accion incluye el ajuste y la accion de una se
nal o fuerza
de control u, denominada tambien la variable manipulada MV (Manipulated Variable), para minimizar el error; es decir, para hacer que la se
nal y siga a r, cumpliendo
ciertas especificaciones de dise
no (seccion 5.2).
Por ejemplo, la velocidad de un carro se controla comparando el valor indicado
por el velocmetro (la variable medida) con el valor lmite de la velocidad (la variable
deseada o SP). Si existe una desviacion, se tiene que ajustar mediante el pedal del
acelerador una cierta cantidad de gas (la variable manipulada MV) para cambiar la
velocidad (la variable controlada o PV).
El bloque denominado controlador (ver la Fig. 1.1), es el que procesa la se
nal de
error e empleando un algoritmo de control, para generar la ley de control u que va
hacia el elemento de control final. El agregado de la palabra realimentacion, que en
general no es necesario, solo es para indicar en este caso que tal controlador forma
parte de un sistema de control realimentado.
La funcion del controlador mostrado en la la Fig. 1.1 se logra llevando a cabo
tres pasos. El primero consiste en recopilar informacion acerca de la variable del
proceso que se desea controlar. Luego, usar convenientemente dicha informacion para
tomar una decision con relacion a la condicion del proceso. Finalmente, tomar una
accion basada en tal decision, empleando para ello el elemento de control final. Es
importante anotar que para mantener el control, la recopilacion de informacion debe
de ser continua y permanentemente evaluada. Estas acciones aseguran que la variable
controlada se mantenga en el valor deseado previamente establecido.
Considere el sistema de control de temperatura que posee la terma electrica de una
vivienda, en donde la accion de control se realiza conectando o desconectando a la red
la resistencia de calefaccion para aumentar o disminuir la temperatura del agua en la
terma, correspondientemente. En un primer paso, un sensor de temperatura detecta
la temperatura actual y la compara con una temperatura de referencia previamente
establecida. Como resultado de la comparacion, se decide que es necesario cambiar la
condicion del proceso: aumentar o disminuir la temperatura. Finalmente, se toma la
accion correspondiente: conectar la resistencia a la red para aumentar la temperatura
del agua, o desconectarla para disminuirla.
El control se puede realizar en forma manual o en forma automatica. En el control
manual, la decision la realiza la persona, mientras que en el control automatico la
realiza un dispositivo. La terma es un caso de control automatico de la temperatura,
mientras que la conduccion de un carro para mantenerlo a una velocidad constante,
es un caso de control manual.

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.

Introducci
on

Ejemplos de EFC electricos son los motores AC y DC, motores paso a paso, valvulas 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.

1.1 Sistema de Control a Lazo Cerrado

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.

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.

Introducci
on

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.

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.

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

1.3 Din
amica Lineal de los Elementos Ideales

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

0
1
2
3
4
5

(REPOSO): V2 OFF
(LLENAR PRODUCTO): V1 ON

(TANQUE LLENO): LT MAXIMO,


V1 OFF, V2 OFF, V3 ON

(TRANSPORTAR PRODUCTO): PT MAXIMO,


V4 ON, V5 ON

(SOPLAR NITROGENO): PT MINIMA, V3 OFF, V4 OFF


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

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.

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

10

Introducci
on

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
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 DETRMINACI
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 Ti (s)/To (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 DETRMINACI
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

Fig. 2.8: Proceso: 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

Fig. 2.9: Faja de transporte con tiempo muerto.

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

Fig. 2.11: Faja de transporte con tiempo muerto.

Flujos en Tuberias con Tiempo Muerto


La Fig. 2.12 muestra dos flujos y1 y y2 que circulan por dos tuberas que luego
se juntan en una tubera, en la cual se ha instalado un sensor de PH. En la tubera
com
un de longitud L, el flujo suma y1 + y2 circula a una velocidad v. Hasta el tiempo
t1 , las aberturas de valvulas u10 y u20 producen un flujo de y10 + y20 . En el tiempo
t1 se incrementa la abertura de una de las valvulas en un u1 , lo cual se traduce en
un incremento del flujo total en un y1 + y20 , solo cuando dicho incremento recorra
la distancia L (hasta alcanzar la posicion del sensor de PH). Por lo tanto, el tiempo
muerto que demora el flujo y1 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 =

y1
u1

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

2.6 Procesos de Orden Superior

23

Fig. 2.12: Faja de transporte con tiempo muerto.

ingresa al tanque a una temperatura Ti . Este flujo abandona el tanque por desborde
a una temperatura T . La pared metalica del tanque se encuentra a una temperatura
Tm . El modelo de este proceso fue extrado de [28]. La Tabla 2.4 muestra las variables
y parametros del proceso.
El balance de energa en el flujo que se procesa se expresa como:
qCp Ti hi Ai T + hi Ai Tm qCp T = V Cv

dT
dt

(2.14)

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

24

El Proceso a Controlar

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.

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

dtm
dt

K4
K3
t(s) +
tc (s)
2 s + 1
2 s + 1

(2.19)

hi Ai
ho Ao
V m m C vm
K4 =
2 =
hi Ai + h o Ao
hi Ai + h o Ao
hi Ai + h o Ao
El balance de energa en la camisa de enfriamiento se formula como:
K3 =

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)

2.6 Procesos de Orden Superior

25

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

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 =

K6
K7
K5
tc i +
tm +
qc
3 s + 1
3 s + 1
3 s + 1

Q c c C p
h o A o + Q c c C p
ho Ao

K6 =

ho Ao
h o A o + Q c c C p

(2.24)

26

El Proceso a Controlar
c Cp (T c T ci )
h o A o + Q c c C p

K7 =

3 =

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). Observar que dicho diagrama de bloques es similar al
del ejemplo ??, en donde se determinaron la funciones de transferencia t(s)/q c (s)
(tipo PT3 ), t(s)/tci (s) (tipo PT3 ) y t(s)/ti (s) (tipo PD2 T3 ).

2.7.

El Motor DC

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

TL

L as

J
B

Ia
(a)

Vf

Va

Ra

Motor ms
carga

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

2.7 El Motor DC

27

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)

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 campo La es suficientemente peque


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

(s)
K
=
Va (s)
s( s + 1)
(s) K
Km
; K=
;
=
Ve (s)
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 .

28

El Proceso a Controlar

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
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
x 1
x 2 = 0 B
J
b
x 3
0 K
La

0
KJm
a
R
La

y = Cx

0
+ 0 u

y=

1
La

(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 = Ax + Bu


x 1
x 2

0 1
0 1

y = Cx
0
K

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

2.8.
2.8.1.

B=

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

2.8 Modelo MIMO del Proceso Tanque Cerrado

29

Fig. 2.15: Sistema tanque con agua.

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.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:
dh
A
= Ah = qC + qH qD
(2.33)
dt
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

30

El Proceso a Controlar

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

LT

Transmisor de nivel

TT

Transmisor de temperatura

FT

Transmisor de flujo

PT

Transmisor de presion

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

Reboce

LT

Drenaje
Agua Caliente
Agua Fra

FT

FT

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

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

32

El Proceso a Controlar

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

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

d
= AhD Cp
dt
= C p C C qC

= C p H H qH

= AhD Cp

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 1
x 2

x = f (x, u)


x1
x=
x2

(2.39)
u=

u1
u2

qC
qD

2.8 Modelo MIMO del Proceso Tanque Cerrado

f=

"

f1
f2

Aa x1 +
x2
x1

Aa

33

1
A u1

1
A u2

C C u 1
D A x 1

H H u 2
D A x 1

Dado que las variables de estado son las variables medidas del proceso, entonces la
ecuacion de salida posee la siguiente expresion:

y=

2.8.3.

y1
y2

y = Cx


x1
x2

(2.40)
C=

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:
 

 




a x1
x 1
A
0
u1
1
1

+
=
x 2
0 D Ax1
u2
D a x 1 x 2
c C H H
Operando en la u
ltima ecuacion, es facil demostrar que el modelo dinamico de Lagrange del proceso toma la forma:
u = P x + d


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.

(2.41)

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)

34

El Proceso a Controlar

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


x 1 =

2
1
1
x 1 + u1 + u2
Rh A
A
A

(2.45)

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

qD = a h = a h = q D
h=h

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

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

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.

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:
G(s) =

Kp
y(s)
=
u(s)
(Tn s + 1)n

Kp =

y1 y 0
u1 u 0

(2.50)

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


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 rad/s, 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

36

El Proceso a Controlar

determinar: n = 3 y Tn / = 0.270, lo que implica: Tn = 0.54 s. La FT resulta:


G(s) =

Kp
y(s)
20
=
=
n
u(s)
(Tn s + 1)
(0.54s + 1)3

La ganancia normalizada KP n se determina de:


Kpn =

600400
10000
2010
400

0.2
= 0.4
0.5

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

Y (s)
KP
=
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) =

KP
10
Y (s)
=
=
U (s)
(T1 s + 1)(T2 s + 1)
(3.85s + 1)(7.7s + 1)

2.9 Respuesta Transitoria de los Procesos

2.9.2.

37

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

t 63.2%

u1
u
u0
t

t1

Proceso
autoregulado
KP
e s
Ts + 1

(2.52)

t 23.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:
n2
y(s)
= 2
(2.53)
Gp (s) =
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
y(s) =
(2.54)
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.

38

El Proceso a Controlar

Cuando u(s) = A (entrada tipo impulso), y(s) en la ecuacion (2.53) se formula


como:
An2
y(s) = 2
(2.56)
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.
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 )
e
sen d (t )
(2.60)
y(t) =
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.
N Y AL IMPULSO DE PROCESOS AUTOREGULADOS
% r1.m RESPUESTAS AL ESCALO
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

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
0

1.8

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 .

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

KI s
e
s

R = KI

(2.61)

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


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

2.10.

Problemas

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

40

El Proceso a Controlar
Proceso
no autoregulado

u
A

KI
e s
s

y
y

R = KI

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

Tabla 2.8: FT de varios procesos en funcion de su comportamiento, donde FT: Funcion


de Transferencia y : 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

Segundo orden

1
Ti s

+ Td s

De orden n
(primera forma)
De orden n

Kp e s

2do orden con


(1a forma)

Integral con
tiempo muerto

Kp
s

2do orden con


(2a forma)

1er orden con


tiempo muerto

Kp
T s+1

e s

Kp
(T s+1)2
2
n
2
s2 +2s+n

Kp
(T1 s+1)(Tn s+1)

Kp
(T s+1)n

(segunda forma)

Tiempo muerto

e s

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

(tercera forma)

Kp (1 + Td s)

Kp 1 +

FT

2do orden con


y derivativo

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

e s

2
n
2
s2 +2s+n

e s

2s
n
2
s2 +2s+n

e s

Problema 2.2
La Fig. 2.23 muestra una turbina de agua unido a un generador electrico. De-

2.10 Problemas

41

Rf

Ri

Opamp
inversor

Seguidor
de voltaje

Vin

R
Vo
Opamp
inversor

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

mostrar que:
Kp
M (s)
=
(s)
Ts + 1
donde M (s) es el momento rotacional generado por la turbina gracias a la eccion
del flujo de agua, (s) es la velocidad angular del generador y T su correspondiente
constante de tiempo. Asumir conocido cualquier otro parametro necesario.
Generador
elctrico
Turbina
Entrada
de agua
M

Desague

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

Problema 2.3
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
La Fig. 2.24 muestra un tanque de almacenamiento de gas. Demostrar que:
1
Po (s)
=
Pi (s)
Ts + 1

T = RC

42

El Proceso a Controlar

donde Po es la presion del gas dentro del recipiente, Pi es la presion del gas de entrada,
R = (Pi Po )/Q es el la resistencia neumatica, Q es el caudal del gas, C = dm/dp
(variacion de la masa con respecto a la variacion de la presion) es la capacitancia
neumatica, m = V es la masa del gas, V es el volumen del tanque, es la densidad
del gas y T = RC es la constante de tiempo. Se sabe ademas que la capacitancia C
multiplicada por la variacion de la presion de salida dPo , es igual al gas Q a
nadido
al recipiente en un diferencial de tiempo dt.
Pi
R
Q
Po
C

Fig. 2.24: Tanque almacenador de gas.

Problema 2.5
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
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:
M

dv
= f f K fB
dt

Determine la FT v(s)/u(s) y la ecuacion matricial de estado del proceso sabiendo


que x1 = v, x2 = fK , mientras que la salida es: y = x1 /K.
x
v

K
B

fK

fB

Fig. 2.25: Proceso mecanico traslacional.

Problema 2.6 : Sistema de Plataformas

2.10 Problemas

43

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.









r1
R1


+

e1 
u1






K1

R2

u2

B1
y

P2

y1

Y1

r2

P1

e2

Y2
K2

B2

 

Fig. 2.26: Plataformas acopladas.

Captulo 3

El Sistema de Instrumentaci
on
Este Captulo

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 instrumentacion para el control de procesos SISO (Single Input Single
Output), consta de un sensor y de un transmisor. El sensor proporciona la variable
medida, la cual representa la condicion actual de la variable controlada y, mientras
que el transmisor cambia tal medicion en una 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
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.

46

3.1.1.

El Sistema de Instrumentaci
on

Caractersticas Est
aticas y Din
amicas

Un sensor posee tanto caractersticas estaticas: rango, alcance, resolucion, sensibilidad, curva caracterstica, linealidad, saturacion, zona muerta, repetibilidad, histeresis, precision y exactitud, como dinamicas: 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.
Por otro lado, la sensibilidad es la variacion de la salida producida por 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
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

3.1 Sensores

47

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

K
1 + 2T 2

MB () = 20logM ()

M = arctan(T )

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 (ecuacion 3.2).

3.1.2.

Principios de los sensores

48

El Sistema de Instrumentaci
on

Fig. 3.1: Principios de los sensores.

3.1 Sensores

49

Fig. 3.2: Principios de los sensores.

Captulo 4

Elementos Finales de Control


Este Captulo

4.1.

Caractersticas

52

Elementos Finales de Control

Fig. 4.1: Actuadores.

4.1 Caractersticas

53

Fig. 4.2: Actuadores.

Captulo 5

Control PID SISO


El controlador PID SISO procesa la se
nal de error e(t) 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
e(t)dt + Kc Td
u(t) = Kc e(t) +
= P (t) + I(t) + D(t)
Ti
dt
donde Kc es la ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo.
En la expresion anterior se puede ver claramente que el algoritmo PID posee una parte
proporcional P (t), una parte integral I(t) y otra derivativa D(t). 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 instrumentacion 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.
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

56

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 c2 (s)
r

G c1 (s)

y
G p(s)

G m (s)
(c)

Fig. 5.1: Sistemas de control realimentados.

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 de
control final, 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

57
du

Filtro de
entrada

dy
u

Controlador

Proceso ms
elemento
final de control

y
y

Limitador

Sensor y
transmisor
dm

Fig. 5.2: Sistema de control SISO con filtro de entrada, con limitador de salida y
sujeto a la accion de disturbios.

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 % luego de
transcurridos 4 veces la constante de tiempo del sistema. Esto es:
Ts = 4

4
n

(5.1)

Para una entrada 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),

58

Control PID SISO

el error ess se puede determinar empleando el teorema del valor final y 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

59

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 .

60

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 log
representada en logartmo vulgar (de base 10). El grafico de Bode en fase de una FT
G(j) se obtiene graficando la fase ang(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 del sistema G(j).
El grafico de |G(j)|dB versus log 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 sistema:
G(s) =

s2

n2
+ 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
Bode Diagram
20

z=0.1
z=0.5

Magnitude (dB)

0
20

z=0.9
z=1.3

40
60

Phase (deg)

80
0

z=0.1
z=0.5

z=0.9
z=1.3

45
90
135
180

10

10

10
Frequency (rad/sec)

10

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

10

5.2 Especificaciones de Dise


no

61

Nyquist Diagram
6

z=0.1
Imaginary Axis

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.

Nichols Chart
20

z=0.1

OpenLoop Gain (dB)

20

40

z=0.5

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.

% bode1.m
clear all; close all; clc; s=tf(s);

62

Control PID SISO

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 sistema de segundo orden autoregulado
a una entrada sinusoide, mientras que la Fig. 5.8(b) muestra 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:
1
M =
0.7
(5.9)
2(1 2 )

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


expresa como:
p
0.7
(5.10)
r = n 1 2 2
El ancho de banda del sistema se refiere a la frecuencia B para la cual existe una
cada de 3 dB, tal como se observa en la Fig. 5.8(b) y se calcula de:
B = (1.196 + 1.85)n

0.3 0.8

(5.11)

y(j )=Bsen(t+)

r(j)=Asen t
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).

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)
y(s)
= G(s)H(s) = GH(s)
=
e(s
r(s)
1 + GH(s)

5.2 Especificaciones de Dise


no

63

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 del sistema de la Fig. 5.10(a) es:


1 + GH(j) = 1 + u(j) + jv(j)
donde u(j) y (j) son la parte real e imaginaria de GH(j), respectivamente. En
general:
p
v
GH(j) = arctan
GH(j) = |GH(j)|GH(j)
|GH(j)| = u2 + v 2
u
En el lmite de estabilidad, la ecuacion caracterstica 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,
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:
1.5
G(s) =
H(s) = 0,1
(s + 0.1)(s + 0.3)(s + 0.4)
Soluci
on: Ver programa mfmg1.m y Fig. 5.11.

64

Control PID SISO

G(j)

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.

5.3 Modos de Control

65

% 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

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.

5.3.

Modos de Control

??

5.4.
5.4.1.

Estructuras del Controlador PID


Algunas Estructuras B
asicas

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.

66

Control PID SISO

El controlador PID Ideal


El controlador PID ideal, denominado tambien controlador no interactivo, algoritmo ISA (Instrument Society of America) o controlador pararlelo no interactivo se
formula como:


Z
1 t
de
u = KC e +
e dt + Td
Ti 0
dt
e = ry
(5.12)
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.12) se expresa como:


u(s)
1
Kc
Gc (s) =
= Kc 1 +
+ Td s = K c +
+ K c Td s
(5.13)
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.13) y se formula en el dominio de Laplace como:
Gc (s) =

u(s)
1
= Kc +
+ Td s
e(s)
Ti s

(5.14)

Notar que los parametros Kc , 1/Ti y Td del controlador PID paralelo dado en (5.14)
corresponden a los parametros Kc , Kc /Ti y Kc Td del controlador PID ideal de (5.13).
Por consiguiente, (5.14) puede ser siempre reemplazado por (5.13).
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
siguiente filtro de primer orden formulado tanto en el dominio del tiempo como en el
dominio de Laplace:
def (t)
1
= e(t) ef (t)
ef (s) =
e(s)
(5.15)
dt
1 + Ts
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

T = Td

ef (s) =

1
e(s)
1 + Td s

(5.16)

5.4 Estructuras del Controlador PID

67

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


PID ideal filtrado:



u(s)
1
1
Gc (s) =
= Kc
+ Td s
(5.17)
1+
e(s)
1 + Td s
Ti s
El Controlador PID con Parte Derivativa Filtrada
El controlador PID con parte derivativa filtrada posee la expresion:
!
1
u(s)
Td s
Gc (s) =
= Kc 1 +
+
3 N 10
e(s)
Ti s 1 + TNd s

(5.18)

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)
= Kc 1 +
3 N 10
(5.19)
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
Td s
u(s)
1
= Kc 1 +
+
Gc (s) =
(5.20)
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 el algoritmo analogo y se describe como:



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

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


"
#


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

(5.22)

La estructura en (5.22) es semejante a la estructura dada en (5.12) 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



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

(5.24)

68

Control PID SISO

Cuando Td = Ti /4 en (5.24), 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.24) 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)
= Kc 1 +
Gc (s) =
(5.25)
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):
!


Td s
1
e(s) Kc
y(s)
(5.26)
u(s) = Kc 1 +
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.27)
u(s) = Kc (1 ) +
Ti s
Ti s 1 + TNd s
1 + TNd s

5.4.2.

La Banda Proporcional BP %

En muchos casos practicos no se emplea la ganancia Kc del controlador, sino su inversa expresada en porcentaje, la cual se denomina banda proporcional (BP %). Esta
banda proporcional 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. La entrada del controlador
es el error de desviacion entre la se
nal deseada (set point) y la variable controlada
(la salida del sistema), mientras que su salida es la se
nal de control que ingresa al
elemento de control final.
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 entrada haga un recorrido completo (desde su valor
mnimo hasta su valor maximo) para mover el elemento de control final (la valvula
de control) desde su posicion completamente abierta a completamente cerrada. En

5.4 Estructuras del Controlador PID

69

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).
La Fig. 5.12(b) ilustra el caso de una PB % igual a 200 % debido a solo un cambio
de 200 % en la entrada va a provocar una salida de rango completo (100 %). En
un caso real, no es posible cambiar la entrada a 200 % debido a que 100 % es su
maximo cambio. Por lo tanto, la valvula nunca estara ni completamente abierta ni
completamente cerrada.
Para obtener una PB % de, digamos 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 donde un cambio de 50 % en la entrada es suficiente para provocar un
cambio de 100 % (rango completo) en la salida.
Error
_ `
_ `_
Mx. `

W
X WX
aa
Y ZY
Z

[ \[
\
]^
] ^]

Mn.

Abertura de vlvula
K L
K LK
L
Q RQ 100%
R

O P
O PO
P

 

 


M NM 50%
N
ST T
S TS

U VU
VUV
I J
I JI 0%
J

Pivote
(a) PB% = 100%

Error
) *
) *)
Mx. *

! "
! 0/ "! 0/
"
# $#
$
% &
% &%
&
' ('
(

Mn.

Abertura de vlvula

 .- 
 
- .
- .
- .
- .
- .
- 
.
- .
- .
- .
- .
- .- 
.-.
  100%
.-

.

.

.

.

.
.
 
+ .
+ .
+ .
+ .
+ .
+ .- ,+ 
,
,
,
,
,
- ,
.
+ -.
+ -.
+ -.
+ -.
+ -.
+ .- ,+
,
,
,
,
,
,
.-
+ --
+ --
+ --
+ --
+ --
+ 
,. 
,. 
,. 
,. 
,. 
,. 
,. + 

  50%
-
+ .
+ .
+ .
+ .
+ .
+ .- ,+ 
,
,
,
,
,
,
.-
+
+
+
+
+
+
, --
, --
, --
, --
, --
, - +,  
-
+ ,
+ ,
+ ,
+ Pivote
+ ,
+ ,+
,
,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,+ 
,
 
+ ,
+ ,
+ ,
+ ,
+ ,
+ 
,
 ,+ 
  0%
(b) PB% = 200%

Error
Abertura de vlvula
A B
A H
G BA H
G H
G H
G H
G H
G HG 3
2 3
2 32
Mx. B
G H
G H
G H
G H
G H
G HG 66 100%
H

G D
G D
G D
G D
G D
G D
H
H
H
H
H
H
HG DC 555
G
G
H CC
H CC
H CC
H CC
H CC
H CC
D 
D  G
D G
D G
D G
D GHHG CD
G
G
G
G
G
HG

H

H

H

H

H

C 
C  H
C H
C H
C H
C HG DC
D
D
D
D
D
44 50%
G D
HG
C  H
C GH
C GH
C GH
C GH
C HG DC 8
D
G D
G D
G D
G D
G D
HG
H
7 8
7 87
C
C
C
C
C
C
C

D

D

D

D

D

D
D
G
G
G
G
G
G
G

H

H

H

H

H

H
H
?>?> D
C D
C Pivote
C D
C D
C D
C DC
D
@@@ D
C D
C D
C D
C D
C D
C DC 999
111 0%
Mn.
: ;:
;
E FE
F
< =<
=

(c) PB% = 50%

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:
u/u
Kc =
(5.28)
e/e
donde e es el cambio en el error de control (la entrada del controlador), u es
cambio en la se
nal de control (la salida del controlador), U es el rango maximo de la
salida del controlador y E es el rango de medicion de la se
nal controlada. La banda
proporcional en porcentaje, denotada como BP %, se define como la inversa de la

70

Control PID SISO

ganancia Kc del controlador:


PB % =

e
E

100
Kc

Controlador
Proporcional

(5.29)

u
U

Fig. 5.13: Controlador tipo P (proporcional).

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
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.28):
3 mm/40 mm
u/U
=
=2
Kc =
e/E
15o C/400o C
mientras que la PB % se calcula de (5.29):
PB % =

100
100
=
= 50 %
Kc
2

que corresponde al caso mostrado en la Fig. 5.12(c).

5.5.

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.5 M
etodos de Sintonizaci
on de Controladores PID

5.5.1.

71

M
etodo de la Curva de Reacci
on (Sistemas Autoregulados)

El metodo de la curva de reaccion usa el hecho de que muchos sistemas industriales


poseen una respuesta a lazo abierto a una entrada escalon (la curva de reaccion),
caracterizada por poseer un estado estacionario. Tales sistemas se conocen tambien
como autoregulados. En contraposicion, los sistemas no autoregulados poseen una
respuesta al escalon que crece continuamente (no estacionaria).

M
etodo de la Constante de Tiempo del Lazo
El metodo de la constante de tiempo del lazo se emplea para plantas que poseen
una FT de primer orden:
Kp
Gp (s) =
(5.30)
Ts + 1
donde T es la constante de tiempo de la planta, tiempo que corresponde al al 63.2 %
de la magnitud de la ganancia Kp . El 100 % de la magnitud de Kp se alcanza en aproximadamente 4T . Los parametros del controlador PID se sintonizan con las relaciones
siguientes:
1
1
Kc =
Ti = T
T d = Ti
(5.31)
Kp
4
Si la FT de la planta posee la forma:
Gp (s) =

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

(5.32)

los parametros de sintonizacion, para una primera aproximacion, se calculan de:


Kc =

1
Kp

Ti = T 1 + T 2

Td =

1
Ti
4

Sintonizaci
on de Sistemas con FT Gp (s) = Kp e s
La Tabla 5.1 atribuida a Hartree et al. (ver referencias de [29]), se aplica para
controlar 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).
Tabla 5.1: Reglas de sintona para controlar sistemas tipo Gp (s) = Kp e s .
Metodo
Curva de reaccion

Ejemplo 5.5

Controlador Gc (s)



1+Td s
1
K c 1 + Ti s
Td
1+ N s

Kc

Ti

Td

0.7
Kp

2.66

72

Control PID SISO

Se desea controlar el siguiente sistema empleando la Tabla 5.1:


Gp (s) =

Kp s
e

donde Kp = 2 y = 2. Para el control emplear el diagrama de bloques de la Fig.


5.1(a).
Soluci
on: Usamos la Tabla 5.1 para calcular los parametros del controlador PID con
N = 3. La Fig. 5.14 muestra el diagrama Simulink del sistema de control (archivo
hartree1.mdl), mientras que la 5.15 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.
hartree 1.mdl

Ti .s+1

Td .s+1

Ti .s

Td /N.s+1

Gc1(s)

Gc2(s)

Kc
r

Kc

rh
rh

Clock

Kp
tau

Kp

th

uh

yh

th

uh

yh

Scope

Fig. 5.14: Diagrama Simulink para el ejemplo 5.5.

% hartree1graf.m
clear all; close all; clc;
r=1; N=3; Kp=2; tau=2; Kc=0.7/(Kp*tau); Ti=2.66*tau; Td=tau;
load th; load yh; load uh; load rh;
subplot(211), plot(th,rh,th,yh), xlabel(TIEMPO [s]),
ylabel(SALIDA y(t)), title(CONTROL DEL SISTEMA G(s)=Kp*exp(-tau*s))
subplot(212), plot(th,uh), xlabel(TIEMPO [s]), ylabel(CONTROL u(t))
print -f -deps hartree1graf, print -s -deps hartree1

M
etodo de la Curva de Reacci
on 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 sistemas autoregulados que se pueden modelar como un
sistema de primer orden de ganancia Kp y constante de tiempo T , en cascada con un
tiempo muerto :
Kp
y(s)
Gp (s) =
=
e s
(5.33)
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 estandar,
empleando la Tabla 5.2. Las formulas en dicha tabla fueron el producto de intensivos
trabajos experimentales realizados por los investigadores Ziegler y Nichols en 1942
[15]. Este metodo se aplica a sistemas autoregulados cuya curva de reaccion se puede
aproximar mediante la relacion (5.33).
En algunos sistemas, el tiempo muerto es bastante peque
no, por lo que es
dificultosa su cuantificacion. Para estos casos, es conocido un metodo de calculo que

5.5 M
etodos de Sintonizaci
on de Controladores PID

73

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.15: Salida controlada y se


nal de control para el ejemplo 5.5.

Tabla 5.2: 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

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.35 % y 63.2 % del valor maximo de la curva de reaccion, tal como se muestra en
la Fig. 5.16. Conociendo t1 y t2 , los parametros T y se determinan de:
T =

3
(t2 t1 )
2

= t2 T

(5.34)

74

Control PID SISO

y
100%
63.2%
28.3%
t

t2

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

Ejemplo 5.6
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]. Para propositos de comparacion


emplear los controladores ideal (PID, ecuacion (5.13)), dependiente (PID, ecuacion
(5.21)) y mejorado (PIDy, ecuacion (5.26)). Para el control PID y PID emplear el
diagrama de bloques de la Fig. 5.1(a), mientras que para el control PIDy usar el
diagrama de bloques de la Fig. 5.1(b).
Soluci
on: El primer grafico de la Fig. 5.17 muestra la respuesta al escalon (la curva
de reaccion) del sistema. De esta curva se pueden obtener los parametros = 1.7 s y
T = 6.7 = 5 s. Con estos valores se calculan los parametros del controlador PID
empleando la Tabla 5.2. El segundo grafico de la Fig. 5.17 ilustra la comparacion
entre las salidas controladas. Tales resultados se obtienen ejecutando el programa
zn1.m listado abajo.
% zn1.m CONTROL PID, PI-D Y PI-Dy EMPLEANDO LA CURVA DE REACCI
ON
clear all; close all; clc;
Kp=10; 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; % TOMADOS DE LA CURVA DE REACCI
ON
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,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); Gpcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gpcd,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 zn1

5.5 M
etodos de Sintonizaci
on de Controladores PID

75

RESPUESTA AL ESCALN

AMPLITUD

10

15

TIEMPO (sec)
SALIDAS CONTROLADAS

SALIDA

1.5

PI

PID

0.5

PD
0

10

20

30
TIEMPO (sec)

40

50

60

Fig. 5.17: Respuesta al escalon del sistema (grafico superior) y respuestas controladas
para el ejemplo 5.6 (grafico inferior).

Ejemplo 5.7
Se desea controlar el sistema 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.18(a), donde las funciones de
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

=1

Para propositos de comparacion emplear los controladores ideal (PID, ecuacion


(5.13)), dependiente (PID, ecuacion (5.21)) y mejorado (PIDy, ecuacion (5.26)).
Para el control PID y PID emplear el diagrama de bloques de la Fig. 5.18(b), mientras que para el control PIDy usar el diagrama de bloques de la Fig. 5.18(c). En
este sistema, 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 salida del flujo.
Soluci
on: El primer grafico de la Fig. 5.19 muestra la respuesta al escalon (la curva
de reaccion) del sistema, de la cual se obtiene = 1 y T = 27 = 26. Con estos
valores se calculan los parametros del controlador PID empleando la Tabla 5.2. El

76

Control PID SISO


Controlador

Actuador
v

Referencia
(set point)

d
Flotador

GC (s)

Controlador

GT (s)
e s
Actuador Tiempo muerto Tanque
G H(s)

ym
(a)

GC (s)
Controlador

(b)

G C i(s)

Flotador

Actuador
ym

GF (s)

e s

G H(s)

G H(s)

GT (s)

Tanque
GF (s)
Flotador
e s

Actuador

Controlador
proporcional
integral

GT (s)

Tanque
G Cd(s)

ym

Controlador derivativo
GF (s)
(c)

Fig. 5.18: Diagrama de bloques del sistema de control de nivel; (a) Sistema; (b)
estructura para control PID o PID; (c) estructura para control PIDy.

segundo grafico de la Fig. 5.19 ilustra la comparacion entre las salidas controladas.
Tales resultados se obtienen ejecutando el programa zn1a.m listado abajo.
N
% zn1a.m CONTROL PID, PI-D Y PI-Dy EMPLEANDO LA CURVA DE REACCI O
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); Gtau=exp(-1*s);
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=2; T=32-tau;
% TOMADOS DE LA CURVA DE REACCI
ON
[num,den]=pade(1,3); Gtau=tf(num,den); % APROXIMACI
ON DEL TIEMPO MUERTO
Gp=GH*Gtau*GT; Kp=31.5;
% Kp ES EL PRODUCTO DE 10*3.15
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); % CONTROL PI-D

5.5 M
etodos de Sintonizaci
on de Controladores PID

77

RESPUESTA AL ESCALN

AMPLITUD

40
30
20
10
0

20

40

60

80
100
TIEMPO (sec)

120

140

160

180

SALIDAS CONTROLADAS
1.5

SALIDA

PIDy
1

PID y PID
0.5

10

20

30
TIEMPO (sec)

40

50

60

Fig. 5.19: Curva de reaccion del sistema nivel y respuestas controladas para el ejemplo
5.7 (grafico inferior).

Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gpcd=feedback(Gp,Gcd);


PI_Dy=feedback(Gci*Gpcd,GF);
% CONTROL PI-Dy
subplot(212); step(PID,k,PI_D,k,PI_Dy,k); grid;
title(SALIDAS CONTROLADAS); xlabel(TIEMPO); ylabel(SALIDA);
print -deps -f zn1a

M
etodo de Kessler
La Tabla 5.3 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.8
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.
Soluci
on: La FT del sistema, que es del tipo PTn , se puede formular como:
Gp(s) =

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

78

Control PID SISO

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


Sistema Gp (s)
(1+T1 s)

Tipo

K
Qp

(1+t s)

PI

Controlador Gc (s)


Kc 1 + T1I s

PID


Kc 1 +

T = t ; T1 > 4T
Kp Q
(1+T1 s)(1+T2 s) (1+t s)

T = t ; T1 > 4T
T1 > T 2 > T

1
Ti s

(1 + Td s)

Kc

Ti

T1
2Kp T

4T

T1
2Kp T

4T

Td

T2

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


T1 > T2 > T . Este sistema se puede estabilizar con un controlador PID, tal como se
observa en la Fig. 5.20, resultado que se obtiene ejecutando el programa kessler2.m
listado abajo.
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.20: Respuesta al escalon (grafico superior) y respuesta controlada (grafico inferior) empleando un controlador PID de acuerdo al metodo de Kessler.

% kessler2.m CONTROL PID EMPLEANDO EL M


ETODO DE KESSLER

5.5 M
etodos de Sintonizaci
on de Controladores PID

79

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

M
etodo de ChienHronesReswick
El metodo de ChienHronesReswick (CHR) [19] ilustrado en la Fig. 5.21(a), se
aplica a sistemas que aceptan un modelo dinamico como el de la ecuacion (5.33). Este
metodo propone un conjunto de reglas de sintonizacion para los casos siguientes (ver
Tabla 5.4):
1. Respuesta aperiodica sin sobrenivel de la salida controlada y 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.21(b).
2. Respuesta aperiodica sin sobrenivel de la salida controlada yd 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.21(c). Observar que
en esta situacion existe rechazo al disturbio dado que yd tiende a cero.
3. Respuesta periodica con sobrenivel de 20 % de 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.21(d).
4. Respuesta aperiodica con sobrenivel de 20 % de la salida controlada y d 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.21(e).
Observar que en esta situacion tambien existe rechazo al disturbio dado que y d
tiende a cero.
Ejemplo 5.9
Se desea controlar el sistema nivel del ejemplo 5.7 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.22(a)). Para propositos de
comparacion emplear los controladores ideal (PID, ecuacion (5.13)), dependiente (PI
D, ecuacion (5.21)) y mejorado (PIDy, ecuacion (5.26)), empleando las estructuras
(b) y (c) de la Fig. 5.22 respectivamente.
Soluci
on: Los parametros = 2 y T = 32 = 20 se obtuvieron con el primer grafico
de la Fig. 5.19. Con estos valores se calculan los parametros del controlador empleando
la Tabla 5.4 (caso (c), controlador PID). La Fig. 5.22 ilustra la comparacion entre
las salidas controladas, las cuales se obtienen ejecutando el programa chrd.m listado
abajo.

80

Control PID SISO


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

t
(e)

(c)

Fig. 5.21: Metodo de ChienHronesReswick.

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

% chrd.m CONTROL PID, PI-D Y PI-Dy POR EL M


ETODO CHR PARA RECHAZO AL DISTURBIO
clear all; close all; clc;

5.5 M
etodos de Sintonizaci
on de Controladores PID
Actuador

Disturbio d

Controlador

81

d
Flotador

(a)

GT (s)
e s
Actuador Tiempo muerto Tanque
G H(s)

GC (s)

GF (s)

Controlador

Flotador

(b)

G H(s)

e s

GT (s)

Actuador

Tanque

Control D G Cd(s)
GF (s)

Control PI G C i(s)
(c)

Fig. 5.22: Estructuras para el rechazo al disturbio en el control del sistema nivel (Fig.
(a)) empleando controladores PID y PID (Fig. (b))y PIDy (Fig. (c)).

s=tf(s); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1);


[num,den]=pade(1,3); Gtau=num/den; % APROXIMACI
ON DEL TIEMPO MUERTO
Gp=GH*Gtau*GT; Kp=31.5;
% Kp ES EL PRODUCTO DE 10*31.5
tau=2; T=32-tau;
% TOMADOS DE LA CURVA DE REACCI
ON
a=Kp*tau/T; Kc=0.95/a; Ti=2.4*tau; Td=0.42*tau; N=10; % PAR
AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp,Gc1*GF); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp,Gc2*GF); % CONTROL PI-D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N);
PI_Dy=feedback(Gp,Gci*GF+Gcd);
% CONTROL PI-Dy
step(PID,b,PI_D,b,PI_Dy,b); grid;
title(SALIDAS CONTROLADAS); xlabel(TIEMPO); ylabel(SALIDA);
print -deps -f chrd

M
etodo de CohenCoon
Otro metodo de sintonizacion del tipo Ziegler y Nichols es el desarrollado por
los investigadores G.H. Cohen y G.A. Coon [20] que tambien se aplica a sistemas
que aceptan un modelo dinamico como el de la ecuacion (5.33). Las formulas de
sintonizacion se muestran en la Tabla 5.5, donde:
a=

Kp
T

L=

+T

(5.35)

82

Control PID SISO

SALIDAS CONTROLADAS
1.4
1.2
1

SALIDA

0.8
0.6
0.4

PIDy
0.2
0

PID y PID
0.2
0.4

10

20

30
TIEMPO (sec)

40

50

60

Fig. 5.23: Rechazo al disturbio empleando controladores tipo PID, PID y PIDy.

Notar que las formulas de la Tabla 5.5 se asemejan a las de la Tabla 5.6 cuando L es
suficientemente peque
no.
Tabla 5.5: Metodo de Cohen y Coon para hallar los parametros K C , TI y TD .
Tipo

Controlador GC (s)

P
PI
PD
PID

KC

KC 1 +

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


1.24
0.13L
1
+
a
1L


0.18L
1.35
1
+
a
1L

TI

TD

3.33L
1+1.2L

2.52L
10.39L

0
0.270.36L
10.87L
0.370.37L
10.8L

Ejemplo 5.10
Se desea controlar el sistema nivel descrito en el ejemplo 5.7 empleando el metodo de
CohenCoon. El diagrama de bloques del sistema nivel se muestra en la Fig. 5.18(a).
Para propositos de comparacion emplear los controladores PID, PID y PIDy. Para
el control PID y PID emplear el diagrama de bloques de la Fig. 5.18(b), mientras
que para el control PIDy usar el diagrama de bloques de la Fig. 5.18(c).

5.5 M
etodos de Sintonizaci
on de Controladores PID

83

Soluci
on: Los parametros = 2 y T = 32 = 20 se obtuvieron del primer grafico de
la Fig. 5.19. Con estos valores se calculan los parametros del controlador empleando
la Tabla 5.5. La Fig. 5.24 muestra las salidas controladas.
SALIDAS CONTROLADAS
1.4

PIDy

1.2

SALIDA

PID y PID
0.8

0.6

0.4

0.2

10

15

20
TIEMPO (sec)

25

30

35

40

Fig. 5.24: Respuestas controladas empleando controladores tipo PID, PID y PIDy
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; % APROXIMACI
ON DEL TIEMPO MUERTO
Gp=GH*Gtau*GT; Kp=31.5;
% Kp ES EL PRODUCTO DE 10*31.5
tau=2; T=32-tau;
% TOMADOS DE LA CURVA DE REACCI
ON
a=Kp*tau/T; 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); % 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,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

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.25(a), donde el rechazo al disturbio se manifiesta porque la se
nal

84

Control PID SISO

de salida y controlada tiende a cero para un tiempo de estabilizacion T s y un sobrenivel de magnitud M . El sistema al cual se aplican los parametros del controlador
PID es de la forma:
Kp
y(s)
=
(5.36)
Gp (s) =
u(s)
(1 + Tn s)n
donde los parametros n y Tn se determinan de la Tabla 2.6 (ver ejemplo 2.3). En
la Fig. 5.25(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.25(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.25(d) permite determinar M conociendo la magnitud D del disturbio
tipo escalon, mientras que la Fig. 5.25(e) se emplea para determinar T s .
Ejemplo 5.11
Se desea controlar el siguiente sistema empleando el metodo de Samal:
Gp(s) =

Kp
(s + T b)(s + T c)(s + T d)(s + T e)

donde: [Tb , Tc , Td , Td ] = [1, 1.5, 2, 2.5]. Para propositos de comparacion emplear


los controladores PID estandar (ecuacion (5.13)), PID interactivo (ecuacion (5.21))
y PIDy (PID mejorado, ecuacion (5.26)). Para el control PID y PID emplear el
diagrama de bloques de la Fig. 5.1(b), mientras que para el control PIDy usar el
diagrama de bloques de la Fig. 5.1(c).
Soluci
on: El grafico superior de la Fig. 5.26 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.25(b) se determina Vo = 2 y KC = V o/Kp , mientras que
de la Fig. 5.25(c) se calcula TI = 1.8Tn y TD = 0.7Tn . El grafico inferior de la Fig.
5.26 ilustra la comparacion entre las salidas controladas. Tales resultados se obtienen
ejecutando el programa samal1.m listado abajo.
% samal1.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); % PROCESO
subplot(211); step(Gp,k);
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); % 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

5.5 M
etodos de Sintonizaci
on de Controladores PID
d

D
0

r=0

P, I, PI, PID

85

(a)
y

(1+Ts) n

(b)

PI
Vo

20

16

3
2

1
I
1

Vo

TI
T

(c)

PI

PID
1

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

5
4

Ts

P
12

Kp

Fig. 5.25: Metodo de Samal para hallar los parametros de un controlador PID.

subplot(212); step(PID,k,PI_D,k,PI_Dy,k);
title(SALIDAS CONTROLADAS); xlabel(TIEMPO); ylabel(SALIDA);
print -deps -f samal1

5.5.2.

M
etodo de las Oscilaciones Sostenidas

M
etodo de las Oscilaciones Sostenidas de Ziegler y Nichols
El metodo de las oscilaciones sostenidas de Ziegler y Nichols [15] se aplica tanto
a sistemas que pueden ser modelados con la ecuacion (5.33) y a otros no autoregu-

86

Control PID SISO

RESPUESTA AL ESCALN

AMPLITUD

1.5

0.5

4
5
TIEMPO (sec)

45

50

SALIDAS CONTROLADAS
1.5

SALIDA

PIDy
1

0.5

PID y PID
0

10

15

20
25
30
TIEMPO (sec)

35

40

Fig. 5.26: Respuesta al escalon (Fig. inferior) y respuestas controladas (Fig. superior)
empleando controladores tipo PID, PID y PIDy y el metodo de Samal.

lados que permiten una respuesta a lazo cerrado que posea la forma de oscilaciones
sostenidas, tal como se muestra en la Fig. 5.27. Los parametros K c , Ti y Td del controlador PID se pueden obtener a partir de tal la 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.27). 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 de produccion.
r

K crit
PID

Proceso

y
R
T crit

Fig. 5.27: Metodo de las oscilaciones sostenidas de Ziegler y Nichols.

Ejemplo 5.12

5.5 M
etodos de Sintonizaci
on de Controladores PID

87

Tabla 5.6: Metodo de las oscilaciones sostenidas de Ziegler y Nichols para hallar los
parametros KC , TI y TD .
Tipo

Controlador GC (s)

KC


KC 1 + T1I s


KC 1 + T1I s + TD s

PI
PID

KC =

100
BP

TI

TD

0.5Kcrit

0.45 Kcrit

0.85 Tcrit

0.6 Kcrit

0.5 Tcrit

0.125 Tcrit

Se desea controlar el sistema nivel del problema ?? empleando la tecnica de las


oscilaciones sostenidas de Ziegler y Nichols. Para propositos de comparacion emplear
los controladores PID estandar, PID interactivo y PIDy mejorado, empleando las
estructuras de la Fig. 5.18.
Soluci
on: El primer grafico de la Fig. 5.28 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.18(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.28 ilustra la
comparacion entre las salidas controladas. Tales resultados se obtienen ejecutando el
programa zn2.m listado abajo.
% zn2.m CONTROL PID, PI-D Y PI-Dy MEDIANTE LA OSCILACI
ON SOSTENIDA
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, GF: FLOTADOR
Kcrit=0.85; G_c0=feedback(Kcrit*Gp,GF); subplot(211); step(G_c0,40);
grid; title(OSCILACI
ON SOSTENIDA); xlabel(TIEMPO); ylabel(AMPLITUD);
Tcrit=8; % 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); % 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,GF); % CONTROL PI-Dy
subplot(212); step(PID,k,PI_D,k,PI_Dy,k); grid;
title(SALIDAS CONTROLADAS); xlabel(TIEMPO); ylabel(SALIDA);
print -deps -f zn2

Ejemplo 5.13
Se desea controlar un sistema 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 estandar, PID interactivo y PIDy mejorado.

88

Control PID SISO

OSCILACIN SOSTENIDA

AMPLITUD

Tcrit

1.5
1
0.5
0

10
12
TIEMPO (sec)

14

16

18

20

SALIDAS CONTROLADAS

SALIDA

2
1.5

PIDy

1
0.5
0

PID y PID
0

10

20

30
TIEMPO (sec)

40

50

60

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


controladas (grafico inferior) para el ejemplo 5.12.

Soluci
on: El primer grafico de la Fig. 5.29 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.29 ilustra la comparacion
entre las salidas controladas. Tales resultados se obtienen ejecutando el programa
zn2a.m listado abajo.
% zn2a.m CONTROL PID, PI-D Y PI-Dy MEDIANTE LA OSCILACI
ON SOSTENIDA
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,50);
grid; title(OSCILACI
ON SOSTENIDA); 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); % 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 zn2a

5.5 M
etodos de Sintonizaci
on de Controladores PID

89

OSCILACIN SOSTENIDA

AMPLITUD

Tcrit

1.5
1
0.5
0

10

15

20
25
30
TIEMPO (sec)

35

40

45

50

70

80

90

100

SALIDAS CONTROLADAS

SALIDA

2
1.5

PIDy

1
0.5

PID y PID
0

10

20

30

40
50
60
TIEMPO (sec)

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


controladas (grafico inferior) para el ejemplo 5.17.

Sintonizaci
on de Sistemas con FT Gp (s) = Kp e s
Las siguientes reglas de sintonizacion atribuidas a Yu (2006) [?], 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:
!

bf 0 + bf 1 s + bf 2 s2
1
u(s)
Td s
Gc (s) =
= Kc 1 +
+
e(s)
Ti s 1 + TNd s
1 + a f 1 s + a f 2 s2
Las reglas son:
Kc = 0.3Kcrit

Ti = 2.3crit

Td = 0

Ejemplo 5.14
Se desea controlar el sistema Gp (s) = Kp e s empleando la tecnica de las oscilaciones
sostenidas y las reglas de sintonizacion arriba formuladas.
Soluci
on: El primer grafico de la Fig. 5.30 muestra la respuesta al escalon a manera
de una oscilacion sostenida que se obtiene empleando un controlador proporcional

90

Control PID SISO

de ganancia GC (s) = Kcrit = 0.45 en la Fig. 5.27. 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.30 ilustra la salidas controlada. Tales resultados se


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

AMPLITUD

10

10

20

30
TIEMPO (sec)

40

50

60

SALIDA CONTROLADA

SALIDA

0.5

0.5

50

100

150

200

250

TIEMPO (sec)

Fig. 5.30: Oscilaciones sostenidas (primer grafico) para Kp = Kcrit y respuesta controlada (grafico inferior) para el ejemplo 5.14.

N SOSTENIDA
% yu1.m CONTROL PI EMPLEANDO OSCILACIO
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); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp*Gtau;
% Gp: SISTEMA
Kcrit=0.45; G_c0=feedback(Kcrit*Gp,1); subplot(211); step(G_c0);
grid; title(OSCILACI
ON SOSTENIDA); xlabel(TIEMPO);ylabel(AMPLITUD);
Tcrit=4; % TOMADOS DE LA OSCILACI
ON SOSTENIDA
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);
% CONTROL PID

5.5 M
etodos de Sintonizaci
on de Controladores PID

91

subplot(212); step(PID);
title(SALIDA CONTROLADA); xlabel(TIEMPO); ylabel(SALIDA);
print -deps -f yu1

5.5.3.

M
etodo del Rel
e

El metodo de las oscilaciones sostenidas 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.31 [17], en donde se emplea un rele para conseguir una
oscilacion sostenida de perodo Tcrit pero de peque
na amplitud a, para una ganancia
4L
Kcrit = pi a , donde L es la ganancia del rele. Teniendo como datos Tcrit y Kcrit se
puede ahora usar la Tabla 5.6.

+L

Gp(s)

Proceso

Rel

y
Tcrit

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


sintonizacion mediante rele.

Ejemplo 5.15
Se desea controlar un sistema no autoregulado que posee la siguiente FT, empleando
la tecnica del rele de Astrom y Hagglund:
Gp (s) =

1
s(s + 1)4

Para propositos de comparacion emplear los controladores PID estandar, PID interactivo y PIDy 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.31(a), permite obtener el primer y segundo grafico de
la Fig. 5.33 para una magnitud del rele de L = 0.1. El diagrama de bloques de la
Fig. 5.32 se emplea para determinar las cinco ecuaciones de estado del sistema:
x 1 = x1 + x2
x 3 = x3 + x4

x 2 = x2 + x3
x 4 = x4 + x5

x 5 = u

De la oscilacion sostenida mostrada en el primer grafico de la Fig. 5.33 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.33 muestra la comparacion entre las salidas controladas. Tales resultados se
obtienen ejecutando la segunda parte del programa relay.m listado abajo.

92

Control PID SISO


u

1
s

x5

x4
1
s+1

1
s+1

x3

1
s+1

x2

1
s+1

x1 = y

Fig. 5.32: Diagrama de bloques del sistema mostrando sus variables de estado.

SALIDA y

2
Tcrit
1

CONTROL u

10

20

30

40
TIEMPO

50

60

70

80

10

20

30

40
TIEMPO

50

60

70

80

0.1
0
0.1

SALIDAS CONTROLADAS
SALIDA

PIDy

1
0

PID y PID
0

10

20

30

40
50
60
TIEMPO (sec)

70

80

90

100

1
Fig. 5.33: 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, PID y PIDy (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);

5.5 M
etodos de Sintonizaci
on de Controladores PID

93

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,k);
title(SALIDAS CONTROLADAS); xlabel(TIEMPO); ylabel(SALIDA y);
print -deps -f relay

5.5.4.

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.33) 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.34, 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.34: 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

Controlador GC (s)

KC


KC 1 + T1I s


KC 1 + T1I s + TD s

PI
PID

Ejemplo 5.16

KC =

100
BP

TI

TD

Ko

Ko

To /1.5

Ko

To /1.5

To /6

94

Control PID SISO

Se desea controlar el sistema nivel del ejemplo 5.7 empleando la tecnica de las oscilaciones amortiguadas de Harriot. Para propositos de comparacion emplear los controladores ideal (PID, ecuacion (5.13)), dependiente (PID, ecuacion (5.21)) y mejorado
(PIDy, ecuacion (5.26)), empleando las estructuras (b) y (c) de la Fig. 5.18.
Soluci
on: El primer grafico de la Fig. 5.35 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.18(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.35 ilustra la comparacion entre las salidas controladas. Tales
resultados se obtienen ejecutando el programa harriot.m listado abajo.
OSCILACIN SOSTENIDA

AMPLITUD

1.5

A
0.5

A/4
0

10
12
TIEMPO (sec)

14

16

18

20

SALIDAS CONTROLADAS

SALIDA

1.5

PIDy

0.5

PID

PID

8
10
TIEMPO (sec)

12

14

16

18

Fig. 5.35: Oscilaciones amortiguadas (grafico superior) para K C = Ko y respuestas


controladas (grafico inferior) para el ejemplo 5.16.

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

5.5 M
etodos de Sintonizaci
on de Controladores PID

95

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


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

Ejemplo 5.17
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.13)),
dependiente (PID, ecuacion (5.21)) y mejorado (PIDy, ecuacion (5.26)), empleando
las estructuras (b) y (c) de la Fig. 5.18.
Soluci
on: El primer grafico de la Fig. 5.28 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.28 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.5.5.

M
etodos Basado en la Minimizaci
on de un Indice

La idea principal en los metodos de sintonizacion basados en criterios optimos,


es minimizar un determinado ndice de rendimiento, en el cual esten involucrados el
tiempo continuo t y el error e = r y. 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:
Z
Z
Z
2
ISE =
e (t)dt
IAE =
|e(t)|dt
IT AE =
t|e(t)|dt
0

96

Control PID SISO

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.36: Oscilaciones sostenidas (grafico superior) para KC = Ko y respuestas controladas (grafico inferior) para el ejemplo 5.17.

IST E =

t2 e(t)dt

IST 2 E =

t2 e2 (t)dt

(5.37)

Sintonizaci
on de Sistemas con FT Gp (s) = Kp e s
La Tabla 5.8 se aplica al control de sistemas que poseen una FT de la forma
Gp (s) = Kp e s . En esta tabla, las reglas de sintonizacion que emplean controladores
integral y proporcionalintegral, se atribuyen a Shinskey (1994) [?]. Las reglas que
emplean un controlador PID se atribuyen a Nomura et al. (1993) [?]. El control se
realiza empleando la configuracion de la Fig. 5.1(a).
Ejemplo 5.18
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.37 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;

5.5 M
etodos de Sintonizaci
on de Controladores PID

97

Tabla 5.8: Reglas de sintona para controlar sistemas tipo Gp (s) = Kp e s .


Metodo

Controlador Gc (s)

Kc

Ti

Td

Mnimo ITAE

1
Ti s

Indefinido
0.4

1.6Kp

Kp

0.5

0.2635
Kp

0.361

0.1911

Mnimo ITAE
Mnimo ITAE



Kc 1 + T1i s


Kc 1 + T1i s + Td s

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.37: Control PI del sistema Gp (s) = Kp e s usando ITAE (ejemplo 5.18).

[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

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

98

Control PID SISO

un modelo dinamico como el de la ecuacion (5.33). 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.
La Tabla 5.9 muestra las formulas de sintonizacion aplicadas a sistemas que aceptan
un modelo dinamico como el de la ecuacion (5.33) y que esten sujetos a cambios tipo
escalon en la se
nal de referencia, tal como se muestra en la Fig. 5.1(a).
Tabla 5.9: Metodo de Zhuang y Atherton para determinar Kc , Ti y Td en un controlador estandar.
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

Sin tener en cuenta la ganancia Kc en la parte derivativa de la ecuacion (5.26)


correspondiente al controlador mejorado, entonces este controlador toma la forma:
u(s) = Kc e(s) +

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

(5.39)

La Tabla 5.10 muestra las formulas de sintonizacion cuando se aplica el controlador


descrito en (5.56) a sistemas que aceptan un modelo dinamico como el de la ecuacion
(5.33) y que esten sujetos a cambios tipo escalon en la se
nal de referencia, tal como
se muestra en la Fig. 5.1(a).
Ejemplo 5.19

5.5 M
etodos de Sintonizaci
on de Controladores PID

99

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

p
e s , con Kp = 2, = 2 y T = 20
Se desea controlar el sistema con FT Gp (s) = T s+1
usando el criterio ITAE y un controlador PID.

Soluci
on: La Fig. 5.38 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh1.m listado abajo.
CONTROL PID USANDO ISE
1.5

SALIDA

0.5

0.5

1.5

10

15

20
TIEMPO (sec)

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

% zh1.m CONTROL PID USANDO ISE

Kp
T s+1

25

30

35

40

e s usando ISE (ejemplo 5.19).

100

Control PID SISO

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; % SISTEMA 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

5.5.6.

Uso de la Curva de Reacci


on en Sistemas No Autoregulados

El metodo de la curva de reaccion de sistemas no autoregulados emplea tablas


de sintonizacion de los controladores PID, cada una de las cuales se aplica a una
determinada FT del sistema, caracterizada por poseer en ella integradores o polos
inestables.

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.
Tabla 5.11: Metodo de Kessler para hallar los parametros K c , Ti y Td .
Sistema Gp (s)
s

Tipo

Q Kp
(1+t s)

PI

Controlador Gc (s)


Kc 1 + T1i s

PID


Kc 1 +

T = t
K
Qp
s(1+T2 s) (1+t s)

T = t ; T 2 > T

1
Ti s

(1 + Td s)

Kc

Ti

1
2Kp T

4T

1
2Kp T

4T

Td

T2

Ejemplo 5.20
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)

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

5.5 M
etodos de Sintonizaci
on de Controladores PID

101

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.39: Respuesta al escalon (grafico superior) y respuesta controlada (grafico inferior) empleando un controlador PID de acuerdo al metodo de Kessler.

% 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

Reglas PID para Controlar Sistemas con FT G(s) =

Kp
s

e s

La FT del siguiente sistema posee parte proporcional, parte integral y tiempo


muerto:
Kp s
Y (s)
=
e
(5.40)
G(s) =
U (s)
s
Debido a la presencia del integrador, los controladores PD y PID resultan ser los
adecuados para controlar tales sistemas. La Tabla 5.12 muestra los valores de los

102

Control PID SISO

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)

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

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

Soluci
on: La Fig. 5.40 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh2.m listado abajo.
% zh2.m CONTROL PID USANDO ISE
clear all; close all; clc; s=tf(s); Kp=2; tau=2; T=20; % tau/T=0.1
a1=1.03; a2=0.49; a3=1.37; a4=1.496; a5=0.59; N=10;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp/(s)*Gtau; % SISTEMA A CONTROLAR
Kc=a3/(Kp*tau); Ti=a4*tau; Td=a5*tau;
Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID
step(PID,k); title(CONTROL PID USANDO ISE);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f zh2

Reglas PID para Controlar Sistemas con FT G(s) =

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)

5.5 M
etodos de Sintonizaci
on de Controladores PID

103

CONTROL PID USANDO ISE


3

SALIDA

10

15
20
TIEMPO (sec)

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

25

Kp
s

30

35

e s (ejemplo 5.21).

mientras que para el controlador PID, se tiene:


1.111T
Kc =
h
Kp 2

1+

 i2
T 0.65

"

 0.65 #
T
Ti = 2 1 +

Td =

Ti
4

(5.44)

Ejemplo 5.22
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.41 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

104

Control PID SISO


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.41: Control PID del sistema Gp (s) =

Kp
s(T s+1)

e s usando ISE (ejemplo 5.22).

Reglas PID para Controlar Sistemas con FT G(s) =

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   
Td = a 3 T 1 b 3
T
T
T
(5.46)
Los parametros ai , bi y se pueden obtener de la Tabla 5.13 para diferentes criterios.
Kc =

a 1   b1
Kp T

Ti = a 2 T

  b2

Ejemplo 5.23
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.41 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh3.m listado abajo.

5.5 M
etodos de Sintonizaci
on de Controladores PID

105

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

CONTROL PID USANDO ISTSE


6

SALIDA

10

20

30
40
TIEMPO (sec)

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

Kp
s1

50

60

70

e s usando ISTSE (ejemplo 5.23).

% 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
step(PI_D,k); title(CONTROL PI-D USANDO ISTSE);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f zh4

106

5.6.

Control PID SISO

Control PID del Sistema SDA

La FT del sistema de despegue y aterrizaje SDA mostrada en la Fig. 5.43(a) posee


la forma:
Gs (s) =
n2 =

Kt
Kt
n2
(s)
=
=

Im (s)
Js2 + Bs + K
K
s2 + 2n s + n2
B
K
=
J
2Jn

(5.47)

donde Im y Kt son la corriente y constante del sermotor respectivamente, , B y


K son la posicion, la constante de perdidas y la rigidez del sistema SDA, n es la
frecuencia natural de oscilacion y es el coeficiente de amortiguamiento. El sistema
SDA compensado con un controlador PID mejorado se muestra en la Fig. 5.43(a). El
error en estado estable ess , con r(s) = Rs , donde R es la amplitud de la entrada, se
determina empleando el teorema del valor final:
ess = lims0 se(s)

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

De la Fig. 5.43 se puede demostrar que:


ess



R
r(s)
=
=0
= lims0 s
1 + Gc Gs (s)
1 + Gc Gs (s) s=0

(5.48)

Tambien, de la Fig. 5.43 se deduce:


r(s) = R
s

G s (s)

Gc (s)
e(s)

Kp+

Ki
s

+ Kd s

I m(s)

Kt

(s)

Js 2 + Bs + K

Fig. 5.43: (a) Sistema SDA compensado con un controlador PID mejorado. (b) Sistema SDA simplificado.

(s)
Gc Gs (s)
=
r(s)
1 + Gc Gs (s)
Por consiguiente:
Kt (Kp s + Ki + Kd s2 )
(s)
=
r(s)
Js3 + (B + Kd Kt )s2 + (K + Kt Kp )s + Kt Ki

(5.49)

La ecuacion caracterstica estandar de un sistema de tercer orden se obtiene enseriando un sistema de segundo orden con uno de primer orden (un polo po ):
1
n2
n2

=
(s2 + 2n s + n2 ) (s + po )
s3 + (2n )s2 + (n2 + 2n po )s + n2 po

(5.50)

5.6 Control PID del Sistema SDA

107

Igualando las ecuaciones caractersticas de (5.49) y (5.50) se obtienen los parametros


del controlador PID:
J(n2 + 2n po ) K
Kt

n2 po J
Kt

2n J B + po J
Kt
(5.51)
donde n2 y se dan en (5.47). La Fig. 5.44 muestra la salida del sistema controlada.
Este resultado se obtiene ejecutando el sdapid1.m cuyo listado se muestra abajo.
Kc =

Ki =

Kd =

POSICIN ANGULAR CONTROLADA DEL SISTEMA SDA


1

0.9

0.8

0.7

NGULO

0.6

0.5

0.4

0.3

0.2

0.1

0.1

0.2

0.3
TIEMPO [s] (sec)

0.4

0.5

0.6

Fig. 5.44: Salida controlada del sistema SDA empleando un controlador PID.

% sdapid1.m CONTROL PID, PI-D Y PI-Dy EMPLEANDO LA CURVA DE REACCI


ON
clear all; close all; clc; s=tf(s);
m1=0.068; m2=0.27; mh=0.048; L1=15.6; L2=5.5; Lh=0.0284; po=10;
J=0.035; B=0.002; Kt=0.0108; K=0.0373; wn=sqrt(K/J); z=B/(2*J*wn);
Kp=(-K+2*po*z*wn*J+wn^2*J)/(Kt); Ki=po*wn^2*J/Kt;
Kd=(-B+po*J+2*z*wn*J)/Kt; Gs=Kt/(J*s^2+B*s+K); % SISTEMA
Gc=Kp+Ki/s+Kd*s; PID=feedback(Gc*Gs,1); % CONTROL PID
step(PID,k); title(POSICI
ON ANGULAR CONTROLADA DEL SISTEMA SDA);
xlabel(TIEMPO
[s]); ylabel(
ANGULO); print -deps -f sdapida

Mejora del Control PID del Sistema SDA


El control de posicion del sistema SDA puede ser mejorado incluyendo un actuador, tal como se observa en la la Fig. 5.45(b). El actuador es un control PI de la
corriente Im , tal como se muestra en la Fig. 5.45(a). El voltaje de armadura Vm del
motor CC se formula como:
Vm = R m I m + L m

dIm
dt

Im (s)
1
=
Vm (s)
Lm s + R m

108

Control PID SISO

donde Lm es la inductancia de armadura y Rm es la corriente de armadura. De la


Fig. 5.45(a) se deduce:
Kpp s+Kii
I(s)
Lm
(5.52)
=
Rm +Kpp
2
Ir (s)
s + Kii
s +
Lm

Lm

Igualando la ecuacion caracterstica (el polinomio del denominador) de (5.52) con la


forma estandar de la ecuacion caracterstica de un sistema de segundo orden:
s2 + 2n s + n2
se obtienen los parametros del controlador PI:
Kii = n2 Lm

Kpp = Rm + 2n Lm

(5.53)

Cuando la corriente Im (t) sigue a la corriente de referencia constante Ir , entonces el


actuador de corriente asemeja a una ganancia igual a Im /Ir = 1. En esta situacion,
el resultado mostrado en la Fig. 5.44 sigue siendo valida.
G i (s)

G pi(s)
Ir

K pp +

K ii

Vm

Im

1
L ms + R m

(a)

r(s) = R
s

G a(s)

Gc (s)
e(s)

Kp+

Ki
s

+ Kd s

G s (s)
I m(s)

I r (s)

Kt

(s)

Js 2 + Bs + K
Actuador
(b)

Fig. 5.45: (a) Actuador de corriente Ga (s). (b) Sistema SDA mejorado con la inclusion
del actuador de corriente .

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.46 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.47, en donde se observa que cuando ocurre un cambio

5.7 El Efecto Windup

109

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
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.47 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
5
Kc=5

Scope

u
1

10

1.12s

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

Ti =1.12
t

Clock

yi

yi

u
um =3.5

Transfer Fcn
y
y

Fig. 5.46: 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.48, 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.49, 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.

Control PID SISO

INTEGRADOR yi(t)

CONTROL u(t)

SALIDA y(t)

110
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.47: 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

du/dt
DERIVADOR

Scope

10

1.3
Kc

tt

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


SATURACIN

SISTEMA A CONTROLAR
yy
yy

antiwindup .m CONTROLADOR PID CON MECANISMO


ANTI WINDUP. EL FILTRO SE PUEDE SELECCIONAR
A VOLUNTAD.

Fig. 5.48: Diagrama Simulink que muestra un controlador PID con mecanismo anti
windup.

5.8.

El Algoritmo PID Discreto Modificado

La forma estandar del algoritmo PID mostrado en (5.12) 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

5.8 El Algoritmo PID Discreto Modificado

111

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.49: Salida controlada y se


nal de control correspondiente a la Fig. 5.48.

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


d
de(t)
= (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
de(t)
la se
nal realimentada y en lugar de e. De esta forma, (5.12) con dt = dy(t)
dt se
convierte en:


Z
dy
1
edt Td
u = Kd e +
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

112

Control PID SISO

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)

Kc
K c Td s
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.54)
Tf =

Td
N

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


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

(5.55)

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 [e(k) + e(k 1)]
+
T
Ti
2
Ti T
2
i=1

I(k) = I(k 1) +

Kc T
[e(k) + e(k 1)]
2Ti

(5.56)

Kc T d s
La parte derivativa D(s) = 1+T
y(s) se puede escribir como:
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.57)

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


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

(5.58)

donde P (k), I(k) D(k) se dan en (5.55), (5.56) y (5.57) respectivamente. Tambien
se debe de incluir el efecto del limitador, basado en un modelo con presencia de
saturacion con valores maximo y mnimo umax y ulow respectivamente:
v = P + I + D;
if(v < ulow), u = ulow; elseif(v > uhigh), u = uhigh; else u = v;

5.8 El Algoritmo PID Discreto Modificado

113

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

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

N
B
n2 KE
nKact
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.50). 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;

114

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.50: Posicion angular controlada correspondinte al Ejemplo 5.24.

%
%
%

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

115

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

116

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

117

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

Otras Estrategias de Control


Este Captulo

6.1.

Control en Cascada

La Fig. 6.1(a) muestra un sistema que comprende un tanque cerrado al cual


ingresa un producto que queremos calentar a una temperatura r (el valor deseado o
set point). 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 valvula de
control de tipo neumatica.
En este lazo de control realimentado simple, la temperatura y, medida con una
termoresistencia (representada con una T que ingresa al tanque), ingresa al bloque
convertidor para ser transformada en una se
nal normalizada requerida por el controlador, el cual se supone que es electronico. Este controlador genera la se
nal de control
u, la cual se convierte a una se
nal neumatica normalizada, requerida por la valvula
de control. 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, genera la se
nal de
control u procesando la se
nal de error e.
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,
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.

120

Otras Estrategias de Control


r

Controlador
u

Controlador

Convertidor

Producto
(a)
r1
y1 u
2
Producto

Agua caliente

(b)

C1

r1

u 1= r 2
C2
y2

Agua caliente

Proceso P

Medicin

e1

C1

u 1= r 2

u1

C2

u2

P2

y2

P1

y1

M2
M1

(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 este caso, 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 y secundario, 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 si fuera necesario.
3. Construir el sistema de control en cascada definiendo los lazos de control primario y secundario.
4. Sintonizar el lazo de control secundario empleando el metodo de la ganancia
lmite. Realizar postsintona si fuera necesario.
5. Sintonizar el lazo de control primario empleando el metodo de la ganancia
lmite. Tener en cuenta que el lazo de control secundario es parte del lazo de
control primario. Realizar postsintona si fuera necesario.
Ejemplo 6.1

6.1 Control en Cascada

121

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 valvula de control.


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

% casc1a.m CONTROL PI DEL LAZO SIMPLE V


IA LA OSCILACI
ON SOSTENIDA

122

Otras Estrategias de Control

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

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 del lazo primario mostrado en el primer grafico de la Fig. 6.3, es mayor que la

6.2 Control de la Raz


on

123
SISTEMA DE CONTROL EN CASCADA

y2(t)

2
1
0

4
5
6
TIEMPOx60 (sec)
CONTROL DEL LAZO SECUNDARIO

10

y2(t)

2
1
0

10
15
TIEMPOx60 (sec)
OSCILACIN DEL LAZO PRIMARIO

20

25

y1(t)

2
1

TEMPERATURA C

10

15
20
25
TIEMPOx60 (sec)
SALIDA CONTROLADA EN CASCADA

30

35

40

100
50
0

10

20

30
40
TIEMPOx60 (sec)

50

60

70

Fig. 6.3: Resultados para el caso control en cascada del ejemplo 6.1.

del lazo secundario (tercer grafico de la Fig. 6.3) en una relacion:


13
Tcrit
=
= 5.41
Tcrit1
2.4

6.2.

Control de la Raz
on

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


entre dos flujos 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 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.
Control de la composicion de un producto, tecnica bastante utilizada en las
torres de destilacion.

124

Otras Estrategias de Control

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

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

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

125

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

126

Otras Estrategias de Control

la 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 respectivamente. 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
La ecuacion anterior ilustra el efecto de la presencia del disturbio d en el sistema. Si
queremos eliminar este efecto, entonces dicha ecuacion debera de anularse. Es decir,
haciendo y = 0:
0 = Gp Ga (s) + Gd (s)

Ga (s) =

Gd (s)
Gp (s)

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

Por consiguiente:
Ga (s) =

Gd (s)
Kd Tp s + 1 (p d )s
=
e
Gp (s)
K p Td s + 1

En conclusion, el controlador anticipativo resulta ser un 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

127

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 el dise
no de Ga (s) puede resultar en una funcion de transferencia inestable.
Esto sucede cuando el modelo Gp (s) del proceso no es de mnima fase. Es decir,
cuando posee al menos un cero positivo. Para ilustrar esta situacion asumamos que
(notar que Gp (s) es de mnima fase):
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

128

Otras 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. ??, donde d 1 es un
disturbio medible con FT Gd1(s) conocida, mientras que d2 es un disturbio no medible
pero con FT Gd1(s) conocida. El disturbio d2 se incluye para dar mayor generalidad
al problema, tal como se trata en el el siguiente ejemplo.

6.3 Control Anticipativo


d1

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

3 0.8s + 1 s
Gd1 (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 el disturbio.
anticreal 1.mdl
th

3
d1

d1

5s+1
Gd1(s)

Tiempo
muerto : 3

5s+1

0.8s+1
Tiempo
muerto : 1

Gp(s)

PID

Gc(s)

9s+1
Gd1(s)1
d2

th
y

4.8s0.6
Ga(s)

r = 10

Clock

Tiempo
muerto : 2

Scope
r

Tiempo
muerto : 5

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

130

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

El control selectivo, 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 selectivo 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 procesamiento relacionado con P (la presion).

6.4 Control Selectivo

131

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 control selectivo aplicado al bombeo.

La Fig. 6.14 muestra otra aplicacion del control selectivo aplicado a un generador
de vapor, en donde el conmutador selector LSS hara la conmutacion del lazo de
control de presion (Lazo 1) al lazo de control de nivel (Lazo 2), cuando el el nivel del
liquido en el hervidor caiga por debajo del nivel permisible previamente establecido.
Esta conmutacion tambien provoca que se cierre la valvula de control.

132

Otras 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 control selectivo aplicado a un generador de vapor.

6.5.

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

6.5 Control de Rango Partido

uA

Selector

uB

133

VB

VA

100%
Abertura
de vlvula

Pr

0%
VA

P
Reactor

VB

P
3

7.5

15 psig

11.5

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

Captulo 7

Control PID Multivariable


El controlador SISO se aplica a sistemas o subsistemas caracterizados por tener una
entrada y una salida de control, como es el caso del control de velocidad o de posicion en
un motor CC. Dos o mas controladores PID SISO tambien forman parte de los sistemas
multilazo, por ejemplo en los controles tipo cascada o control de la relacion de dos
variables.
En general, las variables de salida y de entrada que caracterizan un sistema, pueden
presentar cierto grado de interaccion entre ellas. La tecnica para modelar esta interaccion
es emplear modelos dinamicos multivariables o MIMO (MultipleInputMultipleOutput).
Es claro, que sistemas representados por modelos MIMO requieren tambien para su control, controladores MIMO. En este captulo se desarrollan tres tecnicas de dise
no de
controladores PID MIMO.

7.1.

Control MIMO va Desacoplamiento

El controlador MIMO a dise


nar requiere de la representacion lineal en el espacio
de estado (ecuacion (7.1)) o en el dominio de Laplace (ecuacion (7.3)) 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.1)

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

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

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

(7.3)

136

Control PID Multivariable


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

r(s)

Sistema
G p (s)

y(s)

Fig. 7.1: Diagrama de bloques de un sistema de control PID 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.3), el reemplazo de y(s) en e(s) produce:
G(s) = (I + Go )1 Go

y(t) = G(s)r(s)

Go (s) = Gp Gc (s)

(7.4)

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

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

(7.5)

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

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.1, vimos
que:
G(s) = [I + Go (s)]1 Go (s)

7.1 Control MIMO va Desacoplamiento

137

Despejamos Go (s):
Go (s) = Gp (s)Gc (s) = G(s)[I G(s)]1

(7.7)

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.7) resulta en la siguiente matriz diagonal:

G11 (s)
0
1G11 (s)

G22 (s)

1G22 (s)
Go (s) =

..

Gpp (s)
0
1Gpp (s)

7.1.2.

(7.8)

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

7.1.3.

Estabilidad

Para el caso de condiciones iniciales nulas, de (7.10) 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.10)

138

Control PID Multivariable

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


det(I A) = 0
(7.11)
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.1) es estable si todas
las races caractersticas de 7.11 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.1 (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.1 se obtiene:
y(s) = [I + Go (s)]1 Go (s)r(s)

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

(7.12)

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

Entonces, el sistema MIMO de la Fig. 7.1 es estable si todas las races caractersticas
de (7.13) se localizan en el semiplano izquierdo del planos. Si existe al menos una
raz en el semiplano derecho del planos, entonces el sistema es inestable. Si todas
las races se localizan en el semiplano izquierdo del planos, excepto al menos una
que se ubique en el eje imaginario (el eje vertical del planos), entonces el sistema es
oscilante, que para fines de operacion del sistema controlado, tambien es inestable.
Ejemplo 7.1 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
??. 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 ?? 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.10), 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.1 Control MIMO va Desacoplamiento

139

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

Para dise
nar la matriz de control Gc (s), podemos asumir una matriz G(s) de la
forma:

1
0
Tniv s+1

(7.15)
G(s) =
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.9), 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.7):
Gc (s) = Gp (s)1 G(s)[I G(s)]1

(7.16)

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
K
1
+
c12
s
Tc12 s

(7.17)
GC (s) =





1
1
Kc21 1 + Tc21 s
Kc12 1 + Tc12 s
La Fig. 7.2 muestra en detalle la interconexion de todos los bloques del sistema de
control multivariable PID del sistema tanque.

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

140

Control PID Multivariable

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.2: 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.3: 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.1 Control MIMO va Desacoplamiento

%
%
%
%
%
%
%
%
%

141

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

142

Control PID Multivariable

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

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

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.21)
La simulacion del sistema se logra ejecutando el programa pidmimotanque.m, el cual
toma en cuenta las ecuaciones discretas (7.20) y (7.21). El resultado de la simulacion se muestra en la Fig. 7.4. 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.1 Control MIMO va Desacoplamiento

143

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.4: Resultado de la simulacion del sistema de control PID MIMO del tanque:
nivel y temperatura controladas.

barqD=2.16e-4; Rh=barh/barqD;
% MODELO LINEAL, DONDE: df1/dx1=a11, df1/dx2=a12, etc.
a11=-a/(2*A*sqrt(barh)); a12=0;
a21=a*bartheta*barh^(-1.5)/(2*A) - ...
(rhoC*thetaC*barqC+rhoH*thetaH*barqH)/(rhoD*A*barh^2);
a22=-a/(A*sqrt(barh)); b11=1/A; b12=1/A;
b21=rhoC*thetaC/(rhoD*A*barh); b22=rhoH*thetaH/(rhoD*A*barh);
AA=[a11 0;a21 a22]; BB=[b11 b11;b21 b22]; CC=[1 0;0 1]; DD = [0 0;0 0];
Tniv=60; Ttemp=100;
% 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;

144

Control PID Multivariable

% 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.2 Control PID MIMO del Sistema de Plataformas


Dise
nar un controlador MIMO PID 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.5) se observa que las salidas
controladas y1 (grafico superior izquierda) e y2 (grafico superior derecha) controlados, cumplen las especificaciones de dise
no requeridas.

7.2 Control PID MIMO con Desacopladores

145

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.5: Salidas y1 e y2 controlados (Ejemplo 7.2.)


% mimopid02.m CONTROL PID 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.2.

Control PID 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 PID MIMO. Para este caso, los desacopladores van a formar parte de la
configuracion del sistema, tal como se observa en la Fig. 7.6, 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.22)
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,

146

Control PID Multivariable

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




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

(7.23)

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.22) se tiene:


y2 (s)
= D2 (s)Gp22 (s) + Gp21 (s) = 0
(7.24)
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.25)

Las ecuaciones que gobiernan la dinamica del sistema mostrado en la Fig. 7.6 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.6: Sistema de control PID 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.26)

(7.27)
(7.28)

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.2 Control PID MIMO con Desacopladores

147

Ejemplo 7.3 Control PID con Desacopladores del Sistema de Plataformas

Dise
nar un controlador PID MIMO con desacopladores para controlar las salidas y 1
e y2 del sistema de plataformas propuesto en el problema 2.6 y mostrado en la Fig.
2.26. Las especificaciones de 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.2 y simula el sistema de control pedido.
En el resultado de la simulacion (Fig. 7.7) se observa que las salidas controladas y 1
(grafico superior izquierda) e y2 (grafico superior derecha) controlados, cumplen las
especificaciones de 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.7: Salidas y1 e y2 controlados (Ejemplo 7.2.)

% 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

148

Control PID Multivariable

7.3.

Control P MIMO empleando el Criterio de Hurwitz

La Fig. 7.8(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 K es una matriz diagonal de ganancias 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.3.1. Las relaciones siguientes se desprenden de la Fig. 7.8(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.8: (a) Sistema de control MIMO con controlador P. (b) Sistema equivalente.
y(s) = Gp (s)u(s)

u(s) = Ke(s)

y(s) = [I + KGp (s)]

KGp (s)

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


T(s) = I + KGp (s)

(7.29)

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


7.8(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.3.2), se pueden determinar
los rangos de los elementos de la matriz de ganancia K para comportamiento estable
del sistema. A continuacion se detalla el procedimiento de dise
no.

7.3.1.

Procedimiento de Dise
no

El procedimiento para dise


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

Gp11 (s)

..
K = diag[K1 , . . . , Kn ]
Gp (s) =
.

donde:

Gp1n (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.3 Control P MIMO empleando el Criterio de Hurwitz

149

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.8(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.3.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
H1 = a 1
H2 = det
Hn = detH
H3 = det 1 a2 a4
1 a2
0 a 1 a3
Ejemplo 7.4 Control P MIMO de un Sistema
Empleando el procedimiento de dise
no de la subseccion 7.3.1 dise
nar un controlador
P MIMO para un sistema con:
"
#


3
280
K1 0
s
Gp (s) = 0.05 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.9 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.

150

Control PID Multivariable


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.9: Salidas y1 e y2 controlados (Ejemplo 7.4.)


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

Problemas

Problema 7.1 Sistema Tanque Cerrado


Basado en las tecnicas descritas en las secciones 7.2 y 7.3, 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.4 Problemas

151

Basado en la tecnica descrita en la seccion 7.3, 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.1, 7.1 y 7.3, 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.1, 7.1 y 7.3, 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.1, 7.1 y 7.3, 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.1, 7.1 y 7.3, 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.1, 7.1 y 7.3, 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)

152

Control PID Multivariable

Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, 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.1, 7.1 y 7.3, 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.

Ap
endice A

Matem
atica para 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, matrices y determinantes, variable
de estado, discretizacion directa, sistemas con tiempo muerto y linealizacion de sistemas
continuos.

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(t)est dt
(A.1)
G(s) = L[g(t)] =
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

154

Matem
atica para 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.

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.
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
e e0
1
st
st
(1)e dt =
(t)e dt =
=
G(s) = L[(t)] =
=
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.

A.1 La Transformada Unilateral de Laplace

155

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

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
L[(t)] =
est (t T )dt = esT |T =0 = 1
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

esT

La relacion: z =
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
(t2 + cos 2t)
g4 (t) = a sin(t)cos(t)2
g5 (t) =
0

donde a es una constante real y positiva, (t) es la funcion escalon unitario definida
en el ejemplo A.1 y g(t) es una funcion arbitraria dependiente del tiempo.

Soluci
on: El programa laplace1.m resuelve el problema.
% laplace1.m TRANSFORMADA SIMB
OLICA DE LAPLACE
clear all; close all; clc;
syms a t s;
G1 =laplace(a,t,s);
% G1 = a/s
G2 = laplace(exp(-a*t),t,s);
% G2 = 1/(s+a)
G3 = laplace(diff(sym(g(t)))); % G3 = s*laplace(g(t),t,s)-g(0)
G4 = laplace(a*sin(t)*cos(t)^2,t,s); pretty(G4)
% G4 = a*(s^2 + 3)/((s^2 + 9)(s^2+1))
g5 = int(t^2+cos(2*t)); G5 = laplace(g5); % G5 =2/s^4 + 1/(s^2+4)

156

A.1.2.

Matem
atica para 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) =

157

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.

158

Matem
atica para 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

159

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)

s
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
(ba)(ca)

bebt
(ab)(cb)

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

a
b2

1
ba

1 at
e
a2

1 bt
e
b2

160

Matem
atica para 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

161

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.

162

Matem
atica para 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.2 Matrices y Determinantes

163

% 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:
dy(t)
d2 y(t)
+ 24y(t) = e6t
+ 11
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:
 2



dy(t)
d y(t)
L
+ 11
+ 24y(t) = L e6t
2
dt
dt


1
dy(0)
+ 11(sY (s) y(0)) + 24Y (s) =
s2 Y (s) sy(0)
dt
s+6
Y (s) =

A.2.

1
3/80
1/60
1/48
=
+
+
(s + 3)(s + 8)(s + 6)
s+3 s+8 s+6
1
1
3
y(t) = e3t + e8t + e6t
80
60
48

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

..
i = 1, . . . , n; j = 1, . . . , m
A = [aij ] = ...
.
an1 . . . anm

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)



y(q) = y1 (q) yn (q)


x(q) = ...
xn (q)
Dos formas de denotar los correspondientes vectores fila y columna son:



T
xT (q) = x1 (q) xn (q) ;
x(q) = x1 (q) xn (q)

164

Matem
atica para Sistemas Continuos

y1 (q)

yT (q) = ...
yn (q)

T
y1 (q)

y(q) = ...
yn (q)

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
c11
a11 b11 + a12 b21 + a13 b31

b21 =
=
a21 a22 a23
c21
a21 b11 + a22 b21 + a23 b31
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
Ejemplo A.15

A.2 Matrices y Determinantes


Determinar si las matrices A

A= 0
2

165

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;

(A + B)T = AT + BT ;

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

166

Matem
atica para Sistemas Continuos

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)

A.2 Matrices y Determinantes

167

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:

168

Matem
atica para Sistemas Continuos

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.

A.2 Matrices y Determinantes

169

% 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.3. 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.3: Triangulos notables para el problema A.19.

170

Matem
atica para Sistemas Continuos

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

A.2 Matrices y Determinantes

171

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

172

Matem
atica para Sistemas Continuos

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.

A.2 Matrices y Determinantes

173

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

174

Matem
atica para Sistemas Continuos

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

A.2 Matrices y Determinantes

175

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

176

Matem
atica para Sistemas Continuos

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

A.2 Matrices y Determinantes

177

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

178

Matem
atica para Sistemas Continuos

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

A.3 Variables de Estado

179

c
c
bc
b

qi

dd

qo

Sensor de presin

Fig. A.4: 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)

180

Matem
atica para Sistemas Continuos

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.5 muestra un sistema masaresorte compuesto por una masa M unida
a un resorte de constante K. Determinar analtica y graficamente su plano de fase
mostrando las correspondientes trayectorias de estado y sus puntos de equilibrio.
Notar que el sistema masaresorte es no forzado porque no existe fuerza exterior
alguna actuando sobre el mismo.

K=1
M=1

z0

Fig. A.5: 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

A.3 Variables de Estado

181

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.6. Para
obtener dichas trayectorias de fase, ejecutar el programa pfl.m.
Los eigenvalores del sistema masaresorte se determinan de:


1
det(I A) = det
= 2 + 1 = 0
1
Por lo tanto: 1 = i, 2 = i, ambas races imaginarias, lo cual nos informa del
caracter oscilante de la respuesta del sistema, tal como se discute en la siguiente
seccion. El 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)

182

Matem
atica para Sistemas Continuos
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.6: 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)

A.3 Variables de Estado

183

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

184

Matem
atica para Sistemas Continuos

para cualquier estado inicial finito x(t0 ), donde t0 es el tiempo inicial. Por ejemplo,
el sistema de primer orden x = a x donde a > 0, es inestable porque su solucion
x(t) = x(0)eat no tiende al estado de equilibrio xe = 0 cuando t para cualquier
estado inicial x(0).

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

A.3 Variables de Estado

185

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.7: Tipos de puntos singulares en un sistema lineal de segundo orden: (a)
nodo estable, (b) nodo inestable, (c) punto silla de montar, (d) foco estable, (e) foco
inestable, (f) punto centro.

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)

186

Matem
atica para Sistemas Continuos

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.

A.3 Variables de Estado

187

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

188

Matem
atica para Sistemas Continuos

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.8.
u(t)

t
0

Fig. A.8: 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.9.

A.3 Variables de Estado

189

2.5

RESPUESTA x(t)

1.5

0.5

4
5
6
TIEMPO EN SEGUNDOS

10

Fig. A.9: 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

190

Matem
atica para Sistemas Continuos

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

A.3 Variables de Estado

191

20
T1 = 0.1 s
10

RESPUESTAS

0
T2 = 0.04 s
10

y(t)

20
30
40
50

TIEMPO [s]

10

Fig. A.10: 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.11) 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.12 ya se han definido las variables de estado xi del sistema,
las cuales se han fijado a la salida de cada bloque de primer orden. Para este sistema:
(a) Determinar su ecuacion de estado y su ecuacion de salida. (b) Hallar su matriz
de transferencia. (c) Determinar si el sistema es estable. (d) Hallar la controlabilidad
completa, la controlabilidad completa en la salida y la observabilidad completa del
sistema. (e) Usar (A.50) para determinar su matriz de transicion con t 0 = 0. (f) Determinar y(t) para x(t0 ) = 0 usando (A.49). (g) Graficar las respuestas y1 (t) e y2 (t)
a entradas tipo escalon unitario.

192

Matem
atica para Sistemas Continuos

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.11: 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.12: 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)

A.3 Variables de Estado

193

(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.13 muestra las respuestas y1 (t) e y2 (t) (Out(1) y Out(2) en
el grafico) a los escalones u1 = 1, u2 = 1 y u3 = 1 (In(1), In(2) e In(3) en el grafico)
obtenidas con el comando step de MATLAB. Ejecutar el archivo va.m.

194

Matem
atica para Sistemas Continuos

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.

A.3 Variables de Estado

195
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.13: 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)

196

Matem
atica para Sistemas Continuos

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)

A.3 Variables de Estado

197

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;

198

Matem
atica para Sistemas Continuos

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

A.4 Discretizaci
on Directa

199

% 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.14(a)) o trapezoides de la forma:
T

e(T i) + e(T i + T )
2

tal como se observa en la Fig. A.14(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.14: (a) Aproximacion del area bajo la curva e(t) mediante rectangulos. (b)
Mediante trapezoides.

Ejemplo A.46
Determinar la ecuacion de diferencias de la siguiente integral usando tanto 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)

200

Matem
atica para Sistemas Continuos

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

A.5 Sistemas con Tiempo Muerto

201

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)

202

Matem
atica para Sistemas Continuos

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

A.6 Linealizaci
on de Sistemas Continuos

203

Step Response
10

Amplitude

exp(sD)
0

Pad de 3er orden


2

10

15

20

25

Time (sec)

Fig. A.15: 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

204

Matem
atica para Sistemas Continuos

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

A.6 Linealizaci
on de Sistemas Continuos

205

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

..
.

hr
X1

fn
Xn

..
.

h1
Xn

..
.

hr
Xn

(X,U)

D=

(X,U)

fn
U1

h1
U1

..
.

hr
U1

fn
Um

..
.

h1
Um

..
.

hr
Um

(X,U)

(A.79)
(X,U)

Ejemplo A.50
La Fig. A.16 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.16: 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

206

Matem
atica para Sistemas Continuos

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.

A.7 Problemas

207

% 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

208

Matem
atica para Sistemas Continuos

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

A.7 Problemas

209

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

210

Matem
atica para Sistemas Continuos

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 = 3u2 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

y1 = 4x1 x2 u1 + u2 ;

x 2 3x1 + 5x2 + 62x3 = u1 7u2

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

A.7 Problemas

211

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

212

Matem
atica para Sistemas Continuos
r

(s 1)

1
s

s +1

Fig. A.17: 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.18, 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.18: Sistema realimentado para el problema A.29.

Problema A.30

A.7 Problemas

213

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

10e3t
4s+1

Kc + Ki/s

2e 2t

Fig. A.19: Sistema realimentado para el problema A.31.

Problema A.32
Para el sistema mostrado en la Fig. A.20 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.20: Sistema del problema A.32

x4

y1

x5

y2

214

Matem
atica para Sistemas Continuos

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.21.
u(t)

e 1 f
e f
e f
e fe
f
e f
e f
e fe
fef
e f
e f
e fe
fef
e f
e f
e fe
fef
e
f e
f e
f e
f ef
e f
e f
e fe
fef
e f
e f
e fe
fef
e f
e f
e fe
fef
e f
e f
e fe
fef
0

Fig. A.21: 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

A.7 Problemas

215
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.22: (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

y1

y2

Fig. A.22: Sistema del problema A.37.

Problema A.38
Para los sistemas de control mostrados en la Fig. A.23, 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)

216

Matem
atica para Sistemas Continuos

n(t)
r(t)

PID

G(s)

y(t)

Fig. A.23: 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.

218

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

219

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.

220

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

221

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)

222

%
%

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

%
%

%
%

%
%
%
%

%
%
%
%
%
%
%

223

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

224

%
%
%
%

%
%
%
%
%
%
%
%

%
%
%

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

%
%
%
%

225

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

226

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

227

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%

228

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

229

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

230

%
%

%
%

%
%
%

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

231

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

232

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

233

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

234

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

235

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

236

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

237

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.

238

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

239

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

240

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.

242

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] National Instruments, NI Developer Suite: NI LabVIEW 8.5 and Device Drivers,
Third Quarter 2008.

BIBLIOGRAF
IA

243

[31] Eduardo F. Camacho y Carlos Bordons, Model Predictive Control, SpringerVerlag London Limited, 2004.
[32] Alberto Isidori, Nonlinear Control Systems, 3ed, Springer-Verlag Berlin, 1995.
[33] 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.
[34] 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.
[35] M. G. Sofonov, Stability and Robustness of Multivariable Feedback Systems, The
MIT Press Cambridge, MA, and London, England, 1980.
[36] Jeffrey B. Burl , Linear Optimal Control, Prentice Hall, 1998.
[37] D. E. Koditschek, Natural Motion for Robot ArmsProc. 23rd I.E.E.E. Conf.
on Decision and Control, Las Vegas, p. 733, 1984.
[38] Jean-Jacques E. Slotine and Weiping Li, Applied Nonlinear Control, Prentice
Hall, 2006, ISBN: 0130408905, ISBN-13: 9780130408907, 978-0130408907.
[39] Asif Sabanovic, Variable Structure Systems: From Principles to Implementation,
The Institution of Engineering and Technology; illustrated edition, 2004.
[40] E. Bailey and A. Arapostathis, Simple sliding mode control scheme applied to
robot manipulators, Int. J. Control, vol. 45, No. 4, p. 11971209, 1987.
[41] Lin, Y. and E.D. Sontag, Lin, Y. and E.D. Sontag, A universal formula for
stabilization with bounded controls, Report 90-10, SYCON-Rutgers Center for
Systems and Control, July 1990.
[42] Jie Yu, Ali Jadbabaie, James Primbs and Yun Huang, Comparison of nonlinear
control design techniques on a model of the Caltech ducted fan, Automatica
Volume 37, Issue 12, Pages 1971-1978 , December 2001.
[43] Fang-Shiung Chen and Jung-Shan Lin, Nonlinear backstepping design of robot
manipulators with velocity estimation feedback,5th Asian Control Conference,
July 2004, vol. 1, no. 6, pp 351356. New Jersey 07632, 1989.
[44] M. Vidyasagar, Nonlinear Systems Analysis (Second Edition), Society for Industrial and Applied Mathematics Philadelphia, PA, USA , 2001, ISBN:0898715261.
[45] Joseph La Salle and Solomon Lefschetz, Stability by Liapunovs Direct Method
With Applications, Academic Press new York, London, 1961.
[46] National Instruments, NI Developer Suite: NI LabVIEW 8.5 and Device Drivers,
Third Quarter 2008.

Indice 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

También podría gustarte