Sei sulla pagina 1di 262

CONTROL DE PROCESOS

PRACTICO Y AVANZADO
ARTURO ROJAS MORENO, Ph.D.

F Modelado de Procesos
F Sistemas de Instrumentacion
F Elementos Finales de Control
F Control PID SISO
F Estrategias de Control PID
F Control PID MIMO
F Control Inteligente
F Programas fuente en MATLAB

TECSUP
II

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. Introduccion 1
1.1. Sistema de Control a Lazo Cerrado . . . . . . . . . . . . . . . . . . . . 1
1.2. Sistema de Control a Lazo Abierto . . . . . . . . . . . . . . . . . . . . 6
1.3. Dinamica Lineal de los Elementos Ideales . . . . . . . . . . . . . . . . 7

2. El Proceso a Controlar 11
2.1. Procesos con Comportamiento Proporcional . . . . . . . . . . . . . . . 11
2.2. Procesos de Primer Orden . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3. Procesos de Segundo Orden . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4. Procesos Integrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5. Procesos con Tiempo Muerto . . . . . . . . . . . . . . . . . . . . . . . 21
2.6. Procesos de Orden Superior . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7. El Motor DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8. Modelo MIMO del Proceso Tanque Cerrado . . . . . . . . . . . . . . . 28
2.8.1. Descripcion del Proceso . . . . . . . . . . . . . . . . . . . . . . 28
2.8.2. Modelo Dinamico No Lineal del Proceso . . . . . . . . . . . . . 29
2.8.3. Modelo Dinamico de Lagrange del Proceso . . . . . . . . . . . 33
2.8.4. Modelo Dinamico Lineal del Proceso . . . . . . . . . . . . . . . 33
2.9. Respuesta Transitoria de los Procesos . . . . . . . . . . . . . . . . . . 34
2.9.1. Respuesta al Escalon . . . . . . . . . . . . . . . . . . . . . . . . 34
2.9.2. Metodo del 28.3 % y 63.2 % . . . . . . . . . . . . . . . . . . . . 37
2.9.3. Otras Respuestas al Escalon y al Impulso . . . . . . . . . . . . 37
2.10. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3. El Sistema de Instrumentacion 45
3.1. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1. Caractersticas Estaticas y Dinamicas . . . . . . . . . . . . . . 46
3.1.2. Principios de los sensores . . . . . . . . . . . . . . . . . . . . . 47

4. Elementos Finales de Control 51


4.1. Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
VI INDICE GENERAL

5. Control PID SISO 55


5.1. Sistema de Control SISO . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2. Especificaciones de Diseno . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.2.1. Especificaciones de Diseno en el Dominio del Tiempo . . . . . . 57
5.2.2. Especificaciones de Diseno en el Dominio de la Frecuencia . . . 59
5.3. Modos de Control PID . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3.1. La Banda Proporcional BP % . . . . . . . . . . . . . . . . . . . 64
5.3.2. Control Proporcional . . . . . . . . . . . . . . . . . . . . . . . . 68
5.3.3. Control Integral . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3.4. Control Derivativo . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3.5. Control PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.4. Control de Dos Posiciones . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.5. Estructuras del Controlador PID . . . . . . . . . . . . . . . . . . . . . 74
5.6. Metodos de Sintonizacion de Controladores PID . . . . . . . . . . . . 77
5.6.1. Metodos Basados en la Curva de Reaccion . . . . . . . . . . . . 77
5.6.2. Metodos a Lazo Cerrado . . . . . . . . . . . . . . . . . . . . . . 89
5.6.3. Metodos Basados en la Minimizacion de un Indice . . . . . . . 101
5.7. Control PID del Sistema SDA . . . . . . . . . . . . . . . . . . . . . . . 113
5.8. El Efecto Windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.9. El Algoritmo PID Discreto Modificado . . . . . . . . . . . . . . . . . . 117
5.10. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

6. Otras Estrategias de Control 125


6.1. Control en Cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.2. Control de la Razon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.3. Control Anticipativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.4. Control Selectivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
6.5. Control de Rango Partido . . . . . . . . . . . . . . . . . . . . . . . . . 138

7. Control PID Multivariable 141


7.1. Control MIMO va Desacoplamiento . . . . . . . . . . . . . . . . . . . 141
7.1.1. No Interaccion . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.1.2. Exactitud Estatica . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.1.3. Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.2. Control PID MIMO con Desacopladores . . . . . . . . . . . . . . . . . 151
7.3. Control P MIMO empleando el Criterio de Hurwitz . . . . . . . . . . . 154
7.3.1. Procedimiento de Diseno . . . . . . . . . . . . . . . . . . . . . 154
7.3.2. El Criterio de Hurwitz . . . . . . . . . . . . . . . . . . . . . . . 155
7.4. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

A. Matematica para Sistemas Continuos 159


A.1. La Transformada Unilateral de Laplace . . . . . . . . . . . . . . . . . 159
A.1.1. Definicion y Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 159
A.1.2. La Transformada Inversa de Laplace . . . . . . . . . . . . . . . 162
A.1.3. La Funcion de Transferencia . . . . . . . . . . . . . . . . . . . . 163
A.1.4. Fracciones Parciales . . . . . . . . . . . . . . . . . . . . . . . . 164
A.2. Matrices y Determinantes . . . . . . . . . . . . . . . . . . . . . . . . . 169
INDICE GENERAL VII

A.2.1. Operaciones con Matrices . . . . . . . . . . . . . . . . . . . . . 170


A.2.2. Tipos de Matrices . . . . . . . . . . . . . . . . . . . . . . . . . 172
A.2.3. Determinantes y Matriz Inversa . . . . . . . . . . . . . . . . . . 173
A.2.4. Rango, Eigenvectores y Pseudoinversas . . . . . . . . . . . . . . 178
A.2.5. Diagonalizacion de Matrices y Formas Canonicas . . . . . . . . 183
A.3. Variables de Estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
A.3.1. Ejemplo de Introduccion . . . . . . . . . . . . . . . . . . . . . . 184
A.3.2. Definicion de Variables de Estado . . . . . . . . . . . . . . . . . 186
A.3.3. Matriz de Transferencia y Estabilidad . . . . . . . . . . . . . . 187
A.3.4. Controlabilidad y Observabilidad . . . . . . . . . . . . . . . . . 190
A.3.5. Solucion de la Ecuacion de Estado de SLITs Continuos . . . . 193
A.3.6. Formas Canonicas SISO en el Espacio de Estado . . . . . . . . 200
A.4. Discretizacion Directa . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
A.5. Sistemas con Tiempo Muerto . . . . . . . . . . . . . . . . . . . . . . . 207
A.6. Linealizacion de Sistemas Continuos . . . . . . . . . . . . . . . . . . . 209
A.6.1. Caso SISO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
A.6.2. Caso MIMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
A.7. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

B. Fundamentos de MATLAB y Simulink 223


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

B
. ibliografa 247

Indice
. alfabetico 250
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 con-
tenido abarca tanto temas relacionados con el diseno 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 co-
mo: Control PID multivariable, control de procesos empleando estrategias (cascada,
razon, rango partido, anticipativo, selectivo) y control con inteligencia artificial (con-
trol fuzzy y control neuronal).
En todos los Captulo que lo conforman, este libro usa intensivamente el software
MATLABr para el calculo, diseno y simulacion de sistemas de control de proce-
sos. 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 lle-
vado 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 intensi-
vamente 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 diseno de sistemas de control empleado en este libro com-
prende basicamente: la formulacion del problema a resolver, el modelado del proceso,
el diseno del algoritmo de control, y verificacion del sistema de control disenado 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.


X Prefacio

Libro de consulta en temas relacionados con el diseno e implementacion de


sistemas de control.
La organizacion de este libro comprende los captulos siguientes:

Captulo 1: Introduccion. Este captulo presenta una introduccion sucinta so-


bre 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 Instrumentacion. Algunos topicos relevantes de los


sistemas de instrumentacion se tratan en este Captulo, incluyendo el calculo de pla-
cas de orificio y el diseno de circuitos acondicionadores de senal.

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 multiples
entradas y multiples salidas, se tratan en este captulo.

Captulo 8: Control Fuzzy. El control de procesos empleando inteligencia ar-


tificial esta cobrando mayor importancia en la industria en razon a sus multiples
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
diseno.

Apendice A: Matematica para el Control de Procesos. Este Apendice


trata algunos topicos de matematica aplicada que son necesarios para el mejor en-
tendimiento de los captulos presentados. Se pone enfasis en la solucion de problemas
matematicos empleando software.

Apendice B: Fundamentos de MATLAB y Simulink. Este captulo se ocu-


pa 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

Introduccion

En este Captulo se hace un breve introduccion sobre los sistemas de control a lazo
cerrado y a lazo abierto, describiendo brevemente sus componentes e incluyendo ejemplos
industriales para reforzar la comprension de los conceptos. Tales componentes son: el
proceso cuya variable de salida se desea controlar, el sistema de instrumentacion que
sensa y transmite la variable a controlar, el controlador que procesa la desviacion entre
el valor de la variable a controlar con respecto a una senal deseada con el proposito de
generar una senal de control, y el elemento de control final que recibe la senal generada
por el controlador para efectuar cambios en el proceso con la finalidad de que la desviacion
anteriormente descrita se reduzca a cero.

1.1. Sistema de Control a Lazo Cerrado


La Fig. 1.1 muestra el diagrama de bloques (la interrelacion entre sus compo-
nentes) de un sistema de control a lazo cerrado. A continuacion vamos a describir
sucintamente sus componentes.

Controlador de
realimentacin Disturbios
SP MV PV
r e Algoritmo u Elemento final y
de Control de control Proceso

Sensor ms
Transmisor
Sistema de
Instrumentacin

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

llenado y vaciado, evaporacion, coccion, entre otros. Los instrumentos son dispositivos
que se emplean en los procesos para monitorearlos y controlarlos, lo cual se logra
mediante la medicion de algunas de sus caractersticas, tambien denominadas los
parametros del proceso.
Algunos ejemplos de caractersticas del proceso son: capacitancia, inductancia,
resistencia, voltaje, corriente, peso, presion, aceleracion, sonido, color, nivel, tempe-
ratura, humedad, densidad, contenido de humedad, viscocidad, dimension, concen-
tracion de pH, flujo, velocidad, espesor, gravedad especfica, entre otros. La variable
y mostrada en Fig. 1.4, conocida tambien como PV (Process Variable), es la variable
controlada o salida del proceso.

El Sistema de Instrumentacion
Es comun que un proceso posea varios parametros que necesitan ser monitore-
adas simultaneamente. Esto se logra por lo general, empleando un sistema de in-
strumentacion para cada parametro (ver Fig. 1.1). Cada sistema de instrumentacion
consta de un sensor que proporciona la (variable medida), y de un transmisor que
cambia dicha variable en una senal estandarizada que pueda ser transmitida. La
variable medida representa entonces la condicion actual de la variable controlada y.
En algunos casos, la variable medida y la variable controlada es la misma variable.
Por ejemplo, la medicion y control de la variable velocidad de un motor DC (Direct
Current). Sin embargo, en otros casos, la variable medida y la variable controlada
pueden ser diferentes. Este es el caso del control de nivel de un lquido en un tanque,
que puede ser realizado midiendo la presion en el fondo del tanque. Es decir, en este
caso medimos presion para controlar nivel.
Senales estandarizadas que se emplean en el control de procesos son: 4 a 20 mA
(miliamperio), 3 a 15 psi (libra por pulgada cuadrada) y 0.2 a 1 bar. Otros rangos de
senales tambien son empleados: 0 a 10 V (volt), 10 a + 10 V, etc. El transmisor
tambien es conocido como convertidor, transductor, y en general como un acondi-
cionador de senales. Si fuera necesario, un acondicionador de senal se puede disenar
empleando opamps (amplificadores operacionales) en su implementacion.
En muchos casos, el sensor y el transmisor son parte de un solo instrumento. Los
sistemas de instrumentacion actuales tambien incluyen hardware para almacenar al-
goritmos y rutinas de calculo, y para el procesamiento de senales digitales empleando
protocolos industriales de comunicacion. Los sistemas de instrumentacion inteligente
reciben dicha denominacion, por que poseen la capacidad de procesar senales digi-
tales.
En general, los sistema de instrumentacion se aplican a los procesos para: indicar
el valor de una variable, registrar y almacenar los valores de una variable, controlar
una variable, fijar alarmas en los casos que una variable alcanza un determinado
valor, y como enclavamiento, es decir, haciendo que una variable cause una accion
cuando alcance un valor previamente establecido.

El Controlador
Para lograr control en la Fig. 1.1, se requiere que el valor de la variable medida
tienda a ser el valor de la senal de referencia r o SP (Set Point), que es la senal
deseada de la variable controlada. En otras palabras, en los sistemas de control a lazo
1.1 Sistema de Control a Lazo Cerrado 3

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

El Elemento Final de Control (EFC)


El controlador genera una senal que por si misma no posee la potencia necesaria
para provocar cambios en el proceso. Por tal razon, la senal 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 comun del EFC puede ser electrica, neumatica e hidraulica.
4 Introduccion

Ejemplos de EFC electricos son los motores AC y DC, motores paso a paso, valvu-
las de control motoricas, solenoides, reles, entre otros. Entre los EFC hidraulicos y
neumaticos tenemos: valvulas neumaticas, pistones hidraulicos y neumaticos, mo-
tores hidraulicos y neumaticos, etc. Dependiendo del tipo de EFC, en muchos casos
sera necesario incluir un convertidor (o transmisor) de senal entre el controlador y el
EFC, tal como se muestra en el ejemplo 1.1.

Los Disturbios
Ademas de la variable manipulada, otros factores pueden afectar la variable con-
trolada. Por ejemplo, la velocidad del carro puede ser afectada por la resistencia del
viento y por la calidad de la pista. Por otro lado, La temperatura del agua en la terma
puede ser afectada por un mal aislamiento del tanque o por la cambiante temperatura
del entorno. En control de procesos, estos factores se denominan disturbios.
Para compensar la accion de los disturbios, se requiere de una continua circulacion
de la informacion sobre el proceso. En el sistema de control a lazo cerrado de la Fig.
1.1, la informacion fluye constantemente hacia los instrumentos. Tal informacion es
denotada como realimentacion. Todos los instrumentos y dispositivos que intervienen
en el control de un proceso son referidos como el lazo de control realimentado.

Ejemplo 1.1

En el sistema de control de flujo mostrado en la Fig. 1.2(a), indicar sus componentes


y las senales 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.

Solucion: Ver Fig. 1.3(b).Observar que se requiere un primer transmisor para re-
alizar la operacion F = C P , donde C es una constante de proporcionalidad, y
luego convertir esta operacion en una senal de corriente estandarizada (4 a 20 mA).
El signo raz cuadrada a un costado del transmisor indica esta operacion. Notar tam-
bien que ha sido necesario incluir un segundo transmisor para convertir 4 a 20 mA al
rango de 3 a 15 psi, dado que el actuador de la valvula trabaja con senal neumatica
estandarizada.

Ejemplo 1.2

En el sistema de control de temperatura mostrado en la Fig. 1.3, indicar cual es la


senal 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 senales estandarizadas
de 4 a 20 mA mediante el transmisor. Observar que la valvula de control posee un
actuador electrico porque trabaja con una senal de 4 a 20 mA. Esta senal 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 5

CONTROLADOR

TRANSMISOR TRANSMISOR

ACTUADOR
F

P1 P2 VLVULA
PLACA DE ORIFICIO NEUMTICA

(a)

4 20 mA 4 20 mA
SP
CONTROLADOR
4 20 mA PV MV

TRANSMISOR TRANSMISOR
ACTUADOR 3 15 psi
P
PROCESO F

P1 P2 EFC: VLVULA
SENSOR: PLACA DE CONTROL
DE ORIFICIO NEUMTICA
(b)

Fig. 1.2: (a) Sistema de control de flujo. (b) Solucion al ejercicio 1.1.

PV
Sensor 420 mA
(ohm) Transmisor
MV Controlador
420 mA SP
Producto 420 mA

Agua caliente

Fig. 1.3: Sistema de control de temperatura.

Solucion: El flujo del producto que ingresa al tanque constituye la senal de disturbio.
Mientras mas brusca sea la variacion del flujo de producto, mayor sera la dificultad
para que la senal PV siga a la senal SP.
6 Introduccion

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.

Disturbios
SP MV PV
r y Sensor ms
Controlador u Elemento final
anticipativo de control Proceso Transmisor
Sistema de
Instrumentacin
Fig. 1.4: Sistemas de control a lazo abierto.

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 senal 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 Dinamica Lineal de los Elementos Ideales 7

escalera. No es proposito de este libro entrar en detalles de este metodo de progra-


macion.
Luego de elaborado y probado el programa, este se almacena en la memoria del
PLC. Para el caso que nos ocupa, tal programa satisface la siguiente secuencia logica:

ESTADO 0 (REPOSO): V2 OFF


ESTADO 1 (LLENAR PRODUCTO): V1 ON
ESTADO 2 (TANQUE LLENO): LT MAXIMO, V1 OFF, V2 OFF, V3 ON
ESTADO 3 (TRANSPORTAR PRODUCTO): PT MAXIMO, V4 ON, V5 ON
ESTADO 4 (SOPLAR NITROGENO): PT MINIMA, V3 OFF, V4 OFF
ESTADO 5 (DESFOGUE/REPOSO): V2 ON, V5 OFF

TRANSPORTE
DESFOGUE

V4 V1

V5 V2

SOPLADO ENTRADA DE LT
ADICIONAL PRODUCTO
PT

SOPLADO
INFERIOR

V3

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

1.3. Dinamica 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.
8 Introduccion

Tabla 1.1: Modelos dinamicos para elementos ideales.

Almacenador Elemento Ecuacion Energa E o


o disipador fsico descriptiva potencia P
Almacenador Inductancia
di
inductivo electrica L v21 = L dt E = 12 Li2
Almacenador Resorte
1 df 1 F2
inductivo traslacional v21 = K dt E= 2 K
Almacenador Resorte
1 dT 1 F2
inductivo rotacional 21 = K dt E= 2 K
Almacenador Inercia
inductivo fludica p21 = I dq
dt E = 12 Iq 2
Almacenador Capacitancia
capacitivo electrica i = C dvdt21 E = 12 Cv21
2

Almacenador
capacitivo Masa f = M dv
dt E = 12 M v 2
Almacenador Momento
capacitivo de Inercia T = J d
dt E = 12 J 2
Almacenador Capacitancia
capacitivo fludica q21 = Cf dpdt21 E = 12 Cf p22
Almacenador Capacitancia
capacitivo termica q = Ct dT
dt E = Ct T
Disipador Resistencia
1 1 2
de energa electrica i= R v21 P= R v21
Disipador Amortiguador
de energa traslacional f = Bv21 2
P = Bv21
Disipador Amortiguador
de energa rotacional T = B21 2
P = B21
Disipador Resistencia
1 1 2
de energa fludica q= Rf p21 P= Rf p21
Disipador Resistencia
1 1
de energa termica q= Rt T21 P= Rt T21
1.3 Dinamica Lineal de los Elementos Ideales 9

L K 1 T T 2 p1
i f f K I
v v2 q p2
v1 v2 1
2
(a) (b) (c) (d)
J T p1
C Cf
i M f
v1 v2 v q1 p2 q2

(e) (f) (g) (h)

f 1 T
q Ct i R B f B T 2
T v1 v2
v1 v2
(i) (j) (k) (l)

Rf Rt
p1 q p2 T1 T2
q
(m) (n)

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 propor-
cionalidad 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 actua 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 Introduccion

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 propor-
cional 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 tem-
peratura 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 ob-
tiene 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 diseno 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 disenar.
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 diseno de controladores avanzados; por ultimo, 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:
y y2 y 1
Kp = = (2.2)
u u2 u 1
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
2
u
FI
u u1
y t1 t2 t
Vlvula y
de control y
(a) 2 y
y
1

t1 t2 t
(b)

Fig. 2.1: (a) Proceso flujo. (b) Respuesta al escalon (curva de reaccion a lazo abierto)
del proceso flujo.

Ejemplo 2.1

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.

Solucion.- La proporcionalidad se refiere a que y = Kp u. Empleando la ecuacion


(2.2), la ganancia Kp se calcula como:
y y2 y 1 10 0 L
Kp = = = =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

u Banda transportadora
Caja de
reduccin y
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
una parte proporcional Kp mas un retardo de primer orden T s+1 (ver Tabla 2.8); es
decir, su salida y(s) esta relacionada con su entrada u(s) como sigue:

Kp
y(s) = u(s) (2.4)
Ts + 1
donde Kp es la ganancia proporcional del proceso y T es la constante de tiempo. Los
siguientes procesos son de primer orden.

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:

dh
S = S h = qC qD (2.5)
dt

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 pequenas de h y asumiendo que el flujo de salida
14 El Proceso a Controlar

q
C

S h
Rebose

q
D

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 Descripcion Valor Unid.


dS Diametro del tanque 0.2 m
S Seccion circular del tanque 0.0314 m2
h Nivel del agua m
h Nivel del agua en estado estacionario 0.4 m
qC Flujo de agua fra hacia el tanque m3 /s
qC Estado estacionario de qC 1.66104 m3 /s
qD Flujo de salida desde el tanque m3 /s
qD Estado estacionario de qD 2.16104 m3 /s
Rh Resistencia hidraulica del tanque: Rh = h/q D s/m2

qD es laminar, entonces:
h
qD = (2.6)
Rh
donde Rh es la resistencia hidraulica del tanque, la cual se puede determinar de [13]:

h
Rh = (2.7)
qD

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 ecuacion de estado lineal del nivel:

1 1
h = h + qC (2.8)
Rh S S

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:


h(s) Rh Rh
= h(s) = qC (s) (2.9)
qC (s) SRh s + 1 SRh s + 1
Asumiendo que el flujo de entrada es un escalon de amplitud A, entonces, su trans-
formada de Laplace es: qC (s) = A/s. Por consiguiente, de (2.9) se obtiene:
Rh A
h(s) = (2.10)
s(SRh s + 1)
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 lm h(t) = lm sh(s) = Rh A
t0 s t 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 lm h(t) = Rh A
t0 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 DETRMINACION DE h(t) USANDO TRANSFORMADA INVERSA DE LAPLACE
clear all; close all; clc; syms s Rh A S;
h=ilaplace(Rh*A*(1/s - 1/(s + 1/(S*Rh)))); pretty(simplify(h))

La tercera forma de hallar h(t) es mediante un programa en MATLAB, el cual tam-


bien 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:
h(k + 1) h(k) 1 1
= 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 ultima 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 REACCION DEL NIVEL DEL AGUA EN EL TANQUE CERRADO


clear all; close all; clc;
% PARAMETROS 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 NUMERO 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

10.5

10
qC [L/h]

9.5

8.5
0 50 100 150 200 250 300 350 400 450 500
TIEMPO [s]

0.4

0.3
NIVEL [m]

0.2

0.1

0
0 50 100 150 200 250 300 350 400 450 500
TIEMPO [s]

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:
dTo
qCp Ti qCp To = V Cv (2.12)
dt
En el dominio de Laplace s, (2.12) resulta:
qCp Ti (s) qCp To (s) = V Cv (sTo To (0))
2.2 Procesos de Primer Orden 17

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


q Flujo de entrada y de salida m3 /s
Densidad del lquido en q kg/m3
J
Cp Capacidad calorfica a presion constante kg K
J
Cv Capacidad calorfica a volumen constante kg K
V Volumen del lquido en el tanque 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 V Cv
= = (2.13)
Ti (s) s + 1 qCp

La curva de reaccion del proceso con Ti (s) = A/s, la cual es semejante al grafico
inferior de la Fig. 2.4, posee la forma:

t
To (t) = A (1 e )

la cual se halla ejecutando el programa en matematica simbolica temp1simb.m, donde


tau = :

% temp1simb.m DETRMINACION 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 1
Vx (s) Vo (s)
= sC1 1 = sC2 1
Vi (s) R1 + sC Vx (s) R2 + sC
1 2

Este proceso es de segundo orden porque:


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

C1 C2

R1 C1 R2 C2
Vo
Vi
Vi Vx
Seguidor de voltaje Opamp Opamp
inversor 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 va-
riables de este proceso se describen en la Tabla 2.3. Las ecuaciones dinamicas que
gobiernan este sistema son:
h1 h 2 dh1
q1 = C1 = q q1
R1 dt
h2 dh2
q2 = C2 = q1 q2
R2 dt
Pasando al dominio de Laplace con condiciones iniciales nulas, se obtiene:
h1 (s) h2 (s)
q1 (s = C1 sh1 (s) = q(s) q1 (s)
R1
h2 (s)
q2 (s) = C2 sh2 (s) = q1 (s) q2 (s)
R2
Si la entrada es q(s) y la salida es q2 (s), entonces:
q2 (s) 1
= 2
q(s) R1 C1 R2 C2 s + (R1 C1 + R2 C2 + R2 C1 )s + 1
2.3 Procesos de Segundo Orden 19

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

Smbolo Descripcion Unidades


m3
q, q1 , q2 Flujos de entrada, intermedio y de salida s
s
R1 , R2 Resistencias hidraulicas m2
C1 , C2 Capacitancias hidraulicas m2
h1 , h2 Niveles en los tanques m2

h1 h2
R1 R2

q1 q2

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

Indicador con Nucleo de Fierro Movil


La Fig. 2.8 muestra un indicador con nucleo de fierro movil, donde K es la con-
stante del resorte, B es la constante de viscocidad del amortiguador, M es la masa
del nucleo 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 nucleo, 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 nucleo es:

dy d2 y
Km u = Ky + B +M 2
dt dt
En el dominio de Laplace y con condiciones iniciales nulas, la ecuacion anterior re-
sulta:
Km u(s) = Ky(s) + Bsy(s) + M s2 y(s)
La FT y(s)/u(s) toma la forma:
Km
y(s) M Kp
= 2 B K
=
u(s) s + Ms + M
s2 + 2n s + n2
r
Km B K
Kp = = n =
M 2 KM M
20 El Proceso a Controlar

Resorte K u
uo
Bobina t
uo u M Escala y
Corriente yo
y y
yo
t
Amortiguador B

Fig. 2.8: Indicador con nucleo 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:
dy
A =u
dt
En el dominio de Laplace: Asy(s) = u(s). Por lo tanto, la FT de este proceso es:

y(s) Kp 1
= Kp =
u(s) s A

Fig. 2.9: Faja de transporte con tiempo muerto.


2.5 Procesos con Tiempo Muerto 21

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

(s) Kp 1
= 2 Kp =
u(s) s J

Por otro lado, si seleccionamos como variables de estado x1 = y x2 = , entonces


las ecuaciones de estado del proceso resultan: x1 = x2 y x2 = u/J, mientras que la
salida es: y = x1 . En forma matricial:
      
x1 0 1 x1 0
= + 1 u
x2 0 0 x2 J
 
x1
y = [1 0]
x2

J
u

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 recor-
ra 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:

L
Tt =
v
22 El Proceso a Controlar

La FT de este proceso resulta entonces:


y(s) y
= Kp eTt s Kp =
u(s) 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
comun 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) y1
= Kp eTt s Kp =
u1 (s) u1

2.6. 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:
dT
qCp Ti hi Ai T + hi Ai Tm qCp T = V Cv (2.14)
dt
La ecuacion (2.14) tambien es valida para el estado estacionario:

dT
qCp T i hi Ai T + hi Ai T m qCp T = V Cv (2.15)
dt
Restando (2.15) de (2.14) y teniendo en cuenta que ti = Ti T i , tm = Tm T m y
t = T T , entonces el modelo lineal residual de (2.14) resulta:

dt
qCp ti hi Ai t + hi Ai tm qCp t = V Cv (2.16)
dt
Pasando (2.16) al dominio de Laplace y operando, se obtiene:

K1 K2
t(s) = ti (s) + tm (s) (2.17)
1 s + 1 1 s + 1
qCp hi A i V Cp
K1 = K2 = 1 =
qCp + hi Ai qCp + hi Ai qCp + hi Ai
24 El Proceso a Controlar

Rebose q
Agua fra T
qC
TC TC
C
Camisa de
Producto enfriamiento
q
Ti Tanque metlico
Tm
(a) ti

K6
K1

tc tc t
i 1 1 1
K5 3 s+1 K4 2 s+1 t K2
1 s+1
m

K7 K3

q
c (b)

Fig. 2.13: Proceso de enfriamiento.

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


dTm
hi Ai (T Tm ) ho Ao (Tm Tc ) = Vm m CVm (2.18)
dt
Como en el caso anterior y sabiendo que tc = Tc T c , se encuentra:
dtm
hi Ai (t tm ) ho Ao (tm tc ) = Vm m CVm
dt
K3 K4
tm (s) = t(s) + tc (s) (2.19)
2 s + 1 2 s + 1
hi Ai ho Ao V m m C vm
K3 = K4 = 2 =
hi Ai + h o Ao hi Ai + h o Ao hi Ai + h o Ao
El balance de energa en la camisa de enfriamiento se formula como:
dTc
Qc c Cp Tci + ho Ao (Tm Tc ) Qc c Cp Tc = Vc c Cv (2.20)
dt
La 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 Descripcion Valor Unid.
Qc , Qc , qc Flujo de agua actual, estable y residual m3 /s
q Flujo actual del producto que ingresa m3 /s
Densidad de q kg/m3
c Densidad de Qc kg/m3
m Densidad de la pared de metal del tanque kg/m3
J
Cp Capacidad calorfica de q kgK
J
Cv Capacidad calorfica en el tanque kgK
J
C vm Capacidad calorfica del metal de la pared kgK
V Volumen del producto en el tanque m3
Vm Volumen de la pared de metal del tanque m3
T, T , t Temp. actual, estable y residual de q K
Tci , T ci , tci Temp. actual, estable y residual de Qc K
Ti , T i , t i Temp. actual, estable y residual de q K
Tm , T m , t m Temp. actual, estable y residual del metal K
J
hi C.T.C. de la cara interna del tanque m2 sK
J
ho C.T.C. de la cara externa del tanque m2 sK
Ai Area interna de transferencia de calor m2
Ao Area externa de transferencia de calor m2

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

dTc
c Cp (Qc T ci +T ci qc +Qc tci )+ho Ao (Tm Tc )c Cp (Qc T c +T c qc +Qc tc ) = Vc c Cv
dt
(2.22)
En el estado estacionario todas las variables residuales son nulas. Por consiguiente,
(2.22) toma la forma:

dT c
c Cp Qc T ci + ho Ao (T m T c ) c Cp Qc T c = Vc c Cv (2.23)
dt
Restando (2.22) de (2.22) y pasando la resultante al dominio de Laplace se obtiene:

K5 K6 K7
tc (s) = tc i + tm + qc (2.24)
3 s + 1 3 s + 1 3 s + 1

Q c c C p ho Ao
K5 = h o A o + Q c c C p K6 =
ho Ao h o A o + Q c c C p
26 El Proceso a Controlar

c Cp (T c T ci ) Vc c C p
K7 = 3 =
h o A o + Q c c C p h o A o + Q c c C p

La Fig. 2.13(b) muestra el diagrama de bloques del proceso construido con las ecua-
ciones (2.17), (2.20) y (2.24). Observar que dicho diagrama de bloques es similar al
del ejemplo ??, en donde se determinaron la funciones de transferencia t(s)/q c (s)
(tipo PT3 ), t(s)/tci (s) (tipo PT3 ) y t(s)/ti (s) (tipo PD2 T3 ).

2.7. El Motor DC

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.

Va
Ra
Rf La

Vf Lf Vb

J
If B
Ia

(a)
Motor ms
Campo carga
T
d
Vf 1 If Tm 1 1
Km
Rf Lf s TL Js B s

(b)
Motor ms
Armadura Td carga
Va Im 1 Tm 1 1
Km
Ra L as TL Js B s

Vb
Kb

(c)

Fig. 2.14: (a) Circuito equivalente del motor DC. (b) Motor DC controlado por campo.
(c) Motor DC controlado por armadura.
2.7 El Motor DC 27

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:
(s) Km
Gp (s) = = (2.25)
Vf (s) s(Js + B)(Lf s + Rf )
Si la inductancia de campo Lf es suficientemente pequena, entonces la FT para la
posicion y para la velocidad angular toman la forma:
(s) K
Gp (s) = =
Vf (s) s( s + 1)
(s) K J Km
Gp (s) = = = K= (2.26)
Vf (s) s + 1 B Rf B

Motor DC Controlado por la Armadura


Si el motor DC esta controlado por la armadura, entonces la corriente de armadu-
ra 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:
(s) Km
Gp (s) = = (2.28)
Va (s) s[(Ra + La s)(Js + B) + Kb Km ]
Si la inductancia de campo La es suficientemente pequena, entonces la FT para la
posicion y para la velocidad angular toman la forma:
(s) K
Gp (s) = =
Va (s) s( s + 1)
(s) K Km Ra J
Gp (s) = = ; K= ; = (2.29)
Ve (s) s + 1 Ra B + Kb Km Ra B + Kb Km
Notar que tanto para el motor controlado por campo como por armadura, las FTs
para y para dadas en (2.26) y (2.29) poseen la misma estructura cuando se
desprecia ya sea Lf o La .
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:

B Km Kb 1
x1 = x2 x2 = x2 + x3 x3 = x3 + Va
J J La La
Si se elige como salida la posicion y = x1 y se designa a Va como la entrada u, la
forma matricial de la ecuacion de estado resulta:

x = Ax + Bu y = Cx (2.30)


x1 1 0 0 0 x1
 
x2 = 0 B
J KJm + 0 u y= 1 0 0 x2
1
x3 0 K
La
b
RLa
a
La x3
Si se considera que la inductancia de armadura La es despreciable, entonces podemos
usar las FTs dadas en (2.29). Para el caso posicion , seleccionemos x 1 = y x2 =
como las variables de estado del motor, y = como la salida y u = Va como la
senal de entrada. Se deja como ejercicio demostrar que partiendo de la primera FT
de (2.29), la representacion en el espacio de estado resulta:

x = Ax + Bu y = Cx (2.31)
       
x1 0 1 0   x1
= + u y= 1 0
x2 0 1 K
x2
Para el caso velocidad angular , seleccionemos x = y = como la variable de estado
y a la vez salida y u = Va como la senal de entrada. Se deja como ejercicio demostrar
que partiendo de la segunda FT de (2.29), la representacion en el espacio de estado
toma la forma:
x = Ax + Bu y = Cx (2.32)
1 K
A= B= C=1

2.8. Modelo MIMO del Proceso Tanque Cerrado


2.8.1. Descripcion 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 disenar, es determinar adecuadas fuerzas de


control qC y qH con la capacidad de estabilizar las salidas controladas h y , cumplien-
do ciertas especificaciones de diseno previamente establecidas. La manipulacion de
las fuerzas de control se realizan mediante dos valvulas de control neumaticas, mien-
tras 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 Dinamico No Lineal del Proceso


Balance de Masas
Aplicando balance de masas en el tanque, el cambio de volumen de agua acumu-
lado 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 p
qD = CE d2 2D p = a h; a = CE d2 D 2g (2.34)
4 4
30 El Proceso a Controlar

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

Smbolo Descripcion Valor Unid.


dA Diametro del tanque 0.2 m
A Seccion circular del tanque 0.0314 m2
h Nivel del agua m
h Nivel del agua en estado estacionario 0.4 m
qC Flujo de agua fra hacia el tanque m3 /s
qC Estado estacionario de qC 1.66104 m3 /s
qH Flujo de agua caliente hacia el tanque m3 /s
qH Estado estacionario de qH 0.5104 m3 /s
qD Flujo de salida desde el tanque m3 /s
qD Estado estacionario de qD 2.16104 m3 /s
Rh Resistencia hidraulica del tanque: Rh = h/q D s/m2
g Aceleracion de la gravedad 9.81 m/s2
C Temperatura del flujo qC 20 +270 K
H Temperatura del flujo qH 50 +270 K
Temperatura del flujo qD y en el tanque K
Estado estacionario de 35+270 K
C Densidad del agua para qC 998 kg/m3
H Densidad del agua para qH 988 kg/m3
D Densidad del agua para qD 996 kg/m3
d Diametro del orificio de la placa en qD 6.5 mm
D Diametro de la placa de orificio en qD 15.9 mm
J
Cp Calor especfico del agua 4186.8 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
LT
Reboce

Drenaje

FT
Agua Caliente

FT
Agua Fra

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 Termica


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
T = AhD Cp = AhD Cp
dt
C = C p C C qC
H = C p H H qH

D = C p D q D = C p D a h (2.37)

Los parametros que aparecen en (2.37) se describen en la tabla 2.5. Observar que se
asume un valor constante para el calor especfico del agua Cp . La ecuacion de estado
de la variable de estado temperatura se obtiene despejando d dt = de (2.36):

a C C qC H H qH
= h+ + (2.38)
Ah D A h D A h
Definamos las siguientes fuerzas de control o variables manipuladas: u1 = qC ,
u2 = qH y las siguientes variables de estado: x1 = h, x2 = y juntando las ecuaciones
(2.35) y (2.38), la ecuacion de estado que describe la dinamica del proceso tanque
cerrado con agua se formula como:

x = f (x, u) (2.39)
         
x1 h x1 u1 qC
x = = x= u= =
x2 x2 u2 qD
2.8 Modelo MIMO del Proceso Tanque Cerrado 33


" # Aa x1 + 1 1
f1 A u1 + A u2

f= =
f2 x2 C C u 1 H H u 2
Aa x1 + D A x 1 + D A x 1

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

y = Cx (2.40)
     
y1 x1 1 0
y= = C=
y2 x2 0 1

2.8.3. Modelo Dinamico 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 = Ax1 + a x1

C C u1 + H H u2 = D Ax1 x2 + D a x1 x2

Por consiguiente:
       
1 1 u1 A 0 x1 a x1
= +
c C H H u2 0 D Ax1 x2 D a x 1 x 2
Operando en la ultima ecuacion, es facil demostrar que el modelo dinamico de La-
grange del proceso toma la forma:

u = P x + d (2.41)
 
1 H H A D Ax1
P=
(H H C C ) C C A D Ax1
 
1 H H a x 1 D a x 1 x 2
d=
(H H C C ) C C a x1 + D a x1 x2

2.8.4. Modelo Dinamico Lineal del Proceso


La placa de orificio instalada en la tubera del flujo de salida qD produce un flujo
turbulento que para variaciones pequenas del nivel h se puede aproximar como [13]:
2h
qD = (2.42)
Rh
donde Rh es la resistencia hidraulica del tanque, la cual se puede determinar de [13]:

h
Rh = (2.43)
qD

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:
2 1 1
h = h + qC + qH (2.44)
Rh A A A
34 El Proceso a Controlar

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


2 1 1
x1 = x 1 + u1 + u2 (2.45)
Rh A A A
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 tempe-
ratura en el tanque:
p
h=h qD = a h = a h = q D

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


obtener la siguiente descripcion lineal de la dinamica de la temperatura:
qD C C H H
= + qC + qH (2.46)
AhD hD AhD

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

qD C C H H
x2 = x2 + u1 + u2 (2.47)
AhD AhD AhD

La ecuacion de estado lineal del proceso se obtiene juntando las ecuaciones (2.45) y
(2.47):
x = A x + B u (2.48)
       
x1 h u1 qC
x= = u= =
x2 u2 qH
1
Rh2 A 0 A A
1

A= qD
B= H H

0 Ah C C
Ah Ah
D D D

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

2.9. Respuesta Transitoria de los Procesos


2.9.1. Respuesta al Escalon
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 senal
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:

y(s) Kp y1 y 0
Gp (s) = = e s Kp = (2.49)
u(s) (T s + 1) u1 u 0

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

u y
Proceso
u1 autoregulado y
1
u KP y
e s P.T.
Ts + 1 y0
u0

t t1 t t t1 T t
0 0

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 me-
diante una FT de orden n de la forma:
y(s) Kp y1 y 0
G(s) = = Kp = (2.50)
u(s) (Tn s + 1)n u1 u 0
Los parametros n y Tn de (2.50) se determinan empleando la Tabla 2.6.

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

n 2 3 4 5 6 7 8 9 10
/T 0.104 0.218 0.320 0.410 0.493 0.591 0.641 0.709 0.775
Tn /T 0.368 0.270 0.224 0.195 0.175 0.151 0.148 0.140 0.132

Ejemplo 2.2

Determinar dos modelos dinamicos que describan el comportamiento velocidad fre-


nada 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 nor-
malizada 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.

Solucion: El primer modelo dinamico se halla con la ecuacion (2.49) donde = 2 s


y T = 9.2 s:
y(s) Kp y1 y 0 600 400 rpm
G(s) = = e s Kp = = = 20
u(s) (T s + 1) u1 u 0 20 10 V
El segundo modelo dinamico se refiere a la ecuacion (2.50). Con los datos propor-
cionados 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:

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

La ganancia normalizada KP n se determina de:


600400
10000 0.2
Kpn = 2010 = = 0.4
400
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:

Y (s) KP y1 y 0
G(s) = = KP = (2.51)
U (s) (T1 s + 1)(T2 s + 1) u1 u 0

donde T1 y T2 son dos constantes de tiempo que se relacionan mediante la 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 1 2 3 4 5 6 7 8 9
/T 0.094 0.090 0.085 0.080 0.075 0.069 0.064 0.058 0.053
T1 /T 0.238 0.175 0.140 0.120 0.107 0.097 0.088 0.081 0.074

Ejemplo 2.3

Determinar el modelo que describa la dinamica de un sistema mecatronico de veloci-


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

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

Y (s) KP 10
G(s) = = =
U (s) (T1 s + 1)(T2 s + 1) (3.85s + 1)(7.7s + 1)
2.9 Respuesta Transitoria de los Procesos 37

2.9.2. Metodo del 28.3 % y 63.2 %


La Fig. 2.19 muestra la curva de reaccion para el metodo 28.3 % y 63.2 %. En este
metodo se determinan los tiempos t28.3 % y t63.2 % correspondientes a las magnitudes
0.283y y 0.632y, respectivamente. En base a estos valores, los parametros de la
FT dada en la ecuacion (2.49) se determinan de:

T = 1.5(t63.2 % t28.3 % ) = t63.2 % T (2.52)

u t 63.2%
y
t 23.3%
u1 Proceso y
autoregulado 1
u KP y 0.632 y y
u0 e s
Ts + 1 y0
0.283 y
t t1 t
0 t t1 t
0

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

2.9.3. Otras Respuestas al Escalon 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 diseno en el dominio del tiempo como veremos en la siguiente seccion. La FT de
este sistema es:
y(s) n2
Gp (s) = = 2 (2.53)
r(s) s + 2n s + n2
donde n es conocida como la frecuencia natural de oscilacion y es el coeficiente de
amortiguamiento. Cuando r(s) = A/s (entrada tipo escalon de magnitud A), y(s) en
(2.53) toma la forma:
An2
y(s) = (2.54)
s(s2 + 2n s + n2 )
Tomando la transformada inversa de Laplace (formula (31) de la Tabla A.1) se ob-
tiene:  
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:

An2 n t
y(t) = e sen d t (2.57)
d

La Fig. 2.20 (grafico superior derecha) muestra y(t) para A = 1 y varios valores de
. Notar tambien que para 1 la respuesta se vuelve sobreamortiguada.
Una forma alternativa de (2.53) incluye un tiempo muerto . Esto es:

y(s) 2
G(s) = = 2 es (2.58)
u(s) s + 2s + 2

Para una entrada tipo escalon (u(s) = A/s) en (2.58) y aplicando la propiedad (5)
de la Tabla A.2 en (2.55), se obtiene la respuesta y(t) al escalon correspondiente a
(2.58):
 
n n (t )
y(t) = A 1 e sen[d (t ) + ] (2.59)
d
La Fig. 2.20 (grafico inferior izquierda) muestra y(t) para A = 1 y varios valores de
. De nuevo, notar que para 1 la respuesta se vuelve sobreamortiguada.
Si la entrada es un impulso (u(s) = A) en (2.58) y aplicando la propiedad (5)
de la Tabla A.2 en (2.57), se obtiene la respuesta al impulso y(t) correspondiente a
(2.58):
An2 n (t )
y(t) = e sen d (t ) (2.60)
d
La Fig. 2.20 (grafico superior derecha) muestra y(t) para A = 1 y varios valores de .
Notar que para 1 la respuesta se vuelve sobreamortiguada. Para obtener la Fig.
2.20, ejecutar el programa r1.m listado abajo.

% r1.m RESPUESTAS AL ESCALON Y AL IMPULSO DE PROCESOS AUTOREGULADOS


clear all; close all; clc; wn=3; tau=2; s=tf(s);
subplot(221), for z=[0.2:0.4:1.8]; G1=wn^2/(s^2+2*z*wn*s+wn^2);
step(G1), hold on, end
subplot(222), for z=[0.2:0.4:1.8]; G2=wn^2/(s^2+2*z*wn*s+wn^2);
impulse(G2), hold on, end
subplot(223), for z=[0.2:0.4:1.8]; G3=wn^2*exp(-tau*s)/(s^2+2*z*wn*s+wn^2);
step(G3), hold on, end
subplot(224), for z=[0.2:0.4:1.8]; G4=wn^2*exp(-tau*s)/(s^2+2*z*wn*s+wn^2);
impulse(G4), hold on, end, print -deps -f r1

Respuesta al Escalon 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

2 4

1.5
Amplitude

Amplitude
0.2 2 0.2
1
0
0.5 1.8
1 1.8
0 2
0 5 10 0 5 10
Time (sec) Time (sec)

Step Response Impulse Response

2 4

1.5
Amplitude

Amplitude
0.2 2
0.2
1
0
0.5 1.8
1 1.8
0 2
0 5 10 0 5 10
Time (sec) Time (sec)

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:
KI s
Gp (s) = e R = KI (2.61)
s
donde es el tiempo muerto, R es la razon de reaccion unitaria y KI es la ganancia
integral. Los parametros R y se obtienen graficamente, tal como se ilustra en la
Fig. 2.21.
A manera de resumen, la Tabla 2.8 muestra la FT (funcion de transferencia) de
varios procesos en funcion de su comportamiento.

2.10. Problemas
Problema 2.1

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

u Proceso
no autoregulado y
A u y
KI
e s
s

R = KI R t

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 FT
Kp
Proporcional (P) Kp Primer orden T s+1
Kp Kp
Integral (I) s Segundo orden (T1 s+1)(T2 s+1)
(primera forma)
Kp Kp
Doblemente s2
Segundo orden (T s+1)2
integral (segunda forma)
  2
1 n
Proporcional Kp 1 + Ti s Segundo orden s2 +2s+n
2

integral (PI) (tercera forma)


Kp
Proporcional Kp (1 + Td s) De orden n (T1 s+1)(Tn s+1)
derivativo (PD) (primera forma)
 
1 Kp
P+I+D Kp 1 + Ti s + Td s De orden n (T s+1)n
(segunda forma)
Kp
Tiempo muerto Kp e s 2do orden con (T1 s+1)(T2 s+1) e s
(1a forma)
Kp 2
n
Integral con s e s 2do orden con s2 +2s+n
2 e s
tiempo muerto (2a forma)
Kp 2s
n
1er orden con T s+1 e s 2do orden con s2 +2s+n
2 e s
tiempo muerto y derivativo

Problema 2.2

La Fig. 2.23 muestra una turbina de agua unido a un generador electrico. De-
2.10 Problemas 41

Rf R
Ri R
Vo

Seguidor Opamp Opamp


Vin de voltaje inversor inversor

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

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

Generador
elctrico
Turbina

Entrada
de agua
M

Desague

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:

Po (s) 1
= T = RC
Pi (s) Ts + 1
42 El Proceso a Controlar

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

Pi
R
Q
Po
C

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:

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

x
K v

B fK M u

fB

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 senales u1 y u2 generadas por dos actuadores. Las senales 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 senales de referencia e y1 e y2 , las senales 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.

 
 e1 
 
   u1
+ 
 
 + 
 
r1 P1 y1
R1 Y1

K1 u2 B1
+
+

r2
y
P2 2

R2
Y2



K2 B2


e2  

Fig. 2.26: Plataformas acopladas.


Captulo 3

El Sistema de Instrumentacion

Este Captulo

3.1. Sensores
Recordemos que la Fig. 1.1 ilustra un sistema de control a lazo cerrado (o real-
imentado) simple, denominado as poseer un solo lazo de realimentacion. El bloque
sistema de instrumentacion para el control de procesos SISO (Single Input Single
Output), consta de un sensor y de un transmisor. El sensor proporciona la variable
medida, la cual representa la condicion actual de la variable controlada y, mientras
que el transmisor cambia tal medicion en una senal estandarizada, la cual general-
mente es una senal que pueda ser procesada y transmitida. En muchos casos la
variable medida y la variable controlada pueden ser la misma.
Los temas sensores y transmisores se tratan en forma extensa y especilizada en
los textos de instrumentacion industrial. En esta publicacion, tales temas van a ser
tratados con el suficiente nivel que exige un texto de control de procesos.
La medicion del valor actual de la senal a controlar se realiza mediante un sensor,
denominado tambien elemento primario de medicion, o un instrumento de medicion
que emplea los sensores adecuados para tal o cual medicion. Un sensor puede estar
caracterizado por una curva de reaccion la cual relaciona la variable medida con la
senal generada. Esta curva se obtiene aplicando una serie de entradas conocidas al
sensor y almacenando las correspondientes respuestas. Un ejemplo tpico esta consti-
tuido por las curvas caractersticas de Temperatura ( F) vs mV de las termocuplas.
Segun el tipo de senal de salida que proporciona, un sensor se puede clasificar en
analogicos (la senal de salida es continua dentro del rango de medicion), digital (la
senal de salida es digital), y ONOFF (la senal de salida vara entre los umbrales
ON y OFF). Segun la magnitud a medir, el sensor puede ser de nivel, presion, tem-
peratura, proximidad, flujo, etc. Por ejemplo, una termoresistencia proporciona una
senal continua en ohms, la cual es proporcional a la temperatura medida, mientras
que un radar proporciona senales discretas que son proporcionales a la magnitud de
la variable medida. Por otro lado, las senales que abren y cierran completamente una
valvula son del tipo ONOFF.
46 El Sistema de Instrumentacion

3.1.1. Caractersticas Estaticas y Dinamicas

Un sensor posee tanto caractersticas estaticas: rango, alcance, resolucion, sensibil-


idad, curva caracterstica, linealidad, saturacion, zona muerta, repetibilidad, histere-
sis, precision y exactitud, como dinamicas: velocidad de respuesta, respuesta en fre-
cuencia, 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 resolucion 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 car-
acterstica 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 cur-
va 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 car-
acterstica 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 saturacion 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 unica 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 senal de
salida siga sin retraso a las variaciones de la senal de entrada. Una velocidad de
respuesta rapida implica una constante de tiempo T pequena y viciversa. Por otro
lado, la respuesta en frecuencia de un sensor se determina excitando al sensor con
senales 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
numeros imaginarios y = 2f es la frecuencia angular. Luego:
 
K K K
= = arctan(T ) = M ()M () (3.2)
T s + 1 s=j T j + 1 1 + 2T 2

K
M () = MB () = 20logM () M = arctan(T )
1 + 2T 2
donde M () es la magnitud de 3.1 y M () es el argumento o fase para cada fre-
cuencia . MB () es M expresado en dB (decibelios). El grafico de MB () vs en
escala logartmica es la respuesta en frecuencia en magnitud del sensor representado
en 3.1, mientras que el grafico M = arctan(T ) vs en escala logartmica es su
correspondiente respuesta en frecuencia de su angulo o fase. Tales representaciones se
denominan los graficos de Bode en magnitud y fase. Un sensor no es estable cuando
la medicion experimenta desviaciones en los valores medidos debido a la variacion de
ciertos parametros, tales como K y T (ecuacion 3.2).

3.1.2. Principios de los sensores


48 El Sistema de Instrumentacion

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
El ECF (Elemento de Control Final) es un dispositivo que posee la potencia nece-
saria para ejercer cambios en el proceso, cada vez que recibe la senal del controlador.
Por lo general, el EFC consta de dos partes: el actuador, que transforma la senal
del controlador en un comando para el dispositivo manipulador, y, el mecanismo de
ajuste para realizar la accion de control final.
Uno de los EFC mas empleados en la indutria es la VAC (Valvula de Control
Automatico). En una VAC neumatica, su actuador (el cabezal de la VAC con su
membrana) recibe la senal estandarizada de 3 a 15 psig (o 0.2 a 1 bar) para desplazar
el eje que esta unido a la membrana. En el extremo libre de este eje se encuentra
el cono, y a continuacion, el asiento de la VAC. Si esta valvula esta siendo usada
para controlar el paso de un fluido a traves de una tubera, entonces el mecanismo de
ajuste se manifiesta en la cantidad de abertura que existe entre el cono y su asiento,
en concordancia con la senal estandarizada que recibe su actuador.
Dependiendo de la energa auxiliar con la que estan alimentadas, los actuadores
se pueden clasificar en electricos, neumaticos e hidraulicos. Los actuadores electricos
mas empleados son el motor DC, el motor AC, la bobina con nucleo de hierro movil, y
el inversor de potencia. Entre los actuadores neumaticos tenemos los de membrana de
simple y doble efecto, el cilindro de membrana, el cilindro (o piston) de doble y simple
efecto. El cilindro hidraulico y el cilindro hidraulico rotatorio son dos actuadores
hidraulicos representativos. La Fig. 4.1 muestra el esquema de los actuadores antes
mencionados. Los dispositivos de ajuste tambien se clasifican de acuerdo a la energa
auxiliar que los alimenta. A su vez, los dispositivos de ajuste electricos pueden ser
continuos y discontinuos. La resistencia electrica, el transformador y el transistor de
potencia son dispositivos continuos, mientras que el contacto, el micro interruptor, el
rele, banco de tiristores
52 Elementos Finales de Control

Fig. 4.1: Actuadores.


4.1 Caractersticas 53

Fig. 4.2: Actuadores.


Captulo 5

Control PID SISO

El controlador PID SISO procesa la senal de error e(t), la cual es la diferencia entre
la senal deseada r(t) y la senal controlada y(t) (la salida del sistema), empleando un
algoritmo de control ampliamente difundido en el mundo industrial, cuya forma mas
conocida es:
Z
Kc de(t)
u(t) = Kc e(t) + e(t)dt + Kc Td = P (t) + I(t) + D(t)
Ti dt
donde Kc es la ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo.
En la expresion anterior se puede ver claramente que el algoritmo
R PID posee una parte
proporcional: P (t) = Kc e(t), una parte integral: I(t) = K Ti
c
e(t)dt y una derivativa:
D(t) = Kc Td de(t)
dt . Este algoritmo posee muchas variaciones, algunas de las cuales vamos
a explorar en este captulo. Dependiendo de la aplicacion, el controlador en cuestion puede
trabajar como P, PI, PD o PID.
Es importante mencionar que el algoritmo PID es el de mayor aplicacion industrial
(aproximadamente el 90 %) y su modelo dinamico es lineal y de segundo orden. Se emplea
para controlar sistemas caracterizados por tener una entrada y una salida, como son los
casos del control de presion, nivel, flujo, entre otros.

5.1. Sistema de Control SISO


Un sistema de control SISO realimentado o a lazo cerrado, sin presencia de dis-
turbios, tal como el que se muestra en la Fig. 5.1(a), comprende el proceso con FT
Gp (s) cuya salida y (la senal PV) se desea controlar, un controlador G c (s) que genera
la senal de control u (la senal MV) y el sistema de instrumentacion Gm (s) que se
ocupa de sensar y transmitir la senal y. El comparador que genera la senal de error
e = r y, donde r es la senal 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.
56 Control PID SISO

r e u y
Gc (s) G p(s)

G m (s)

(a)

r e u y
G c1 (s) G p(s)

G c2 (s)

G m (s)

(b)

G c2 (s)

r u y
e
G c1 (s) G p(s)

G m (s)

(c)

Fig. 5.1: Sistemas de control realimentados.

El objetivo de control consiste en disenar una senal de control u, generada por el


algoritmo de control, que sea capaz de estabilizar la salida y del sistema con respecto
a una senal de referencia r. En otras palabras, que la senal de control u sea capaz de
minimizar la senal de error e = r y, cumpliendo ciertas especificaciones de diseno
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 multiple: disenar una senal de control u que sea capaz de estabilizar la salida y
con respecto a la senal de referencia r, cumpliendo ciertas especificaciones de diseno
(ver seccion 5.2) previamente establecidas, rechazando al mismo tiempo la accion de
los disturbios que actuan sobre el sistema.
El filtro de entrada sirve para eliminar las componentes de alta frecuencia, cuya
presencia puede ser danina durante el funcionamiento del sistema de control reali-
mentado. Por otro lado, para evitar posibles danos en el actuador del elemento final
de control, se debe de incluir un limitador, tal como el mostrado en la Fig. 5.2. La
presencia de dicho limitador puede provocar el efecto denominado windup, el cual
sera tratado en la seccion 5.8.
5.2 Especificaciones de Diseno 57

du dy

Proceso ms y y y
r Filtro de e u
Controlador elemento
entrada final de control y

Limitador
Sensor y
transmisor

dm

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

5.2. Especificaciones de Diseno


Todo sistema de control debe de cumplir ciertas especificaciones de diseno. Estas
especificaciones se establecen tanto en el dominio del tiempo como en el de la fre-
cuencia. 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 Diseno en el Dominio del Tiempo


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

El error en estado estable ess = r yss es la diferencia entre la senal 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, teniendo en
cuenta que r(s) = A/s, como sigue:
y(s) n2
Gp (s) = = 2 y(s) = Gp (s)r(s)
r(s) s + 2n s + n2
A
lm y(t) = yss = lm sGp (s) =A ess = r yss = A A = 0
t s0 s
Sin demostracion, las relaciones exactas para Tp , Mp y P O se expresan como:
Mp A
2
PO = 100 = 100e/ 1 (5.3)
 A 
2
Mp = A 1 + e/ 1 (5.4)
p
Tr = d = n 1 2 = arc cos (5.5)
d

Tp = (5.6)
d

r 2 y
n
s (s 2 n )

(a)

r y
2
Mp
A
A r 2n y
yss e ss
s2 2 n s 2n
0 0 T r Tp Ts
(b)

Zona de j
estabilidad Plano s
s1 j
d

n n
s2 Zona de
inestabilidad
(c)

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 Diseno 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:
2.16 + 0.16
Tr = 0.3 0.8 (5.8)
n
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 diseno: 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 y

s (s p)

Fig. 5.4: Sistema realimentado del ejemplo 5.1.

Solucion: La FT y(s)/r(s) en la Fig. 5.4 se expresa como:

y(s) K n2
= 2 = 2 p = 2n K = n2
r(s) s + ps + K s + 2n s + n2
donde se puede determinar de la condicion P O < 3 %, a saber:
c ln(100/P O)
2
100e/ 1 < P O > c=
1+c 2

de donde resulta: < 0.745. Dado que Ts = 4n < 8 s, entonces: n > (2)1 = 0.67.
Luego se pueden determinar los parametros p y K pedidos.

5.2.2. Especificaciones de Diseno en el Dominio de la Frecuencia


La repuesta en frecuencia de un sistema se define como la respuesta estacionaria
del sistema a una senal sinusoide de entrada. Para determinar la respuesta en frecuen-
cia 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
numeros 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 senal, la salida y(j) puede experimentar
cambios, tanto en su amplitud B como en su fase .
60 Control PID SISO

Graficos de Bode y Nyquist, y Carta de Nichols


El grafico de Bode en magnitud de una FT G(j) se obtiene graficando la mag-
nitud |G(j)|dB = 20 log(G(j)) expresada en dB (decibelios) versus la frecuencia
representada en una escala logartmica (log ). Si la escala logartmica usada es vulgar
(de base 10), entonces log se representa en decadas. En cambio, si es de base 2, log
se representa en octavas. Una escala de frecuencias en decadas podra ser:
log : 0.01 0.1 1 10 100 - 1000 - 10000
mientras que una escala en octavas sera:
log : 0.25 0.5 1 2 4 8 16 32 64
El grafico de Bode en fase de una FT G(j) se obtiene graficando la fase G(j)
expresada en grados sexagesimales versus la frecuencia log representada en escala
logartmica de base 10 (decadas) o en escala logartmica de base 2 (octavas).
En general, la FT G(j) de un sistema se puede representar como G(j) = u+jv,
donde u es la parte real y v es la parte imaginaria. En un grafico de Nyquist se grafica
la parte real u versus la parte imaginaria v de la FT G(j) del proceso.
El grafico de |G(j)|dB versus en escala logartmica se denomina la carta de
Nichols que tambien se emplea en el diseno de sistemas de control va la respuesta
en frecuencia.

Ejemplo 5.2

Elaborar los graficos de Bode y Nyquist y la carta Nichols del proceso con FT:

n2
G(s) =
s2 + 2zn s + n2

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


Solucion: Las Figs. 5.5, 5.6 y 5.7 muestran los graficos pedidos, los cuales se re-
alizaron ejecutando los programas bode1.m, nyquist1.m y nichols1.m

% bode1.m
clear all; close all; clc; s=tf(s);
for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); bode(G), hold on, end
% nyquist1.m
clear all; close all; clc; s=tf(s);
for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); nyquist(G), hold on, end
% nichols1.m
clear all; close all; clc; s=tf(s);
for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); nichols(G), hold on, end

Especificaciones de Diseno en Frecuencia


La Fig. 5.8(a) muestra la respuesta del proceso autoregulado de segundo orden
a una entrada sinusoide, mientras que la Fig. 5.8(b) ilustra su grafico de Bode en
magnitud. Sin demostracion, el valor pico M de la magnitud, el cual se puede emplear
como especificacion de diseno, posee la relacion:
1
M = 0.7 (5.9)
2(1 2 )
5.2 Especificaciones de Diseno 61

Bode Diagram

20
z=0.1
Magnitude (dB)
0 z=0.5

20
z=0.9
z=1.3
40

60

80
0
z=0.1
z=0.9 z=0.5
45
z=1.3
Phase (deg)

90

135

180
2 1 0 1 2
10 10 10 10 10
Frequency (rad/sec)

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

Nyquist Diagram

z=0.1

2 z=0.5 z=0.9
Imaginary Axis

2
z=1.3

6
3 2 1 0 1 2 3
Real Axis

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


62 Control PID SISO

Nichols Chart

20

z=0.1
0
OpenLoop Gain (dB)

20

40 z=0.5 z=0.9 z=1.3

60

80

100
180 135 90 45 0
OpenLoop Phase (deg)

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

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


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

B = (1.196 + 1.85)n 0.3 0.8 (5.11)

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


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

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

y(j) y(j) G(j)


= G(j)H(j) = GH(j) =
e(j r(j) 1 + GH(j)

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

1 + GH(j) = 1 + u(j) + jv(j)

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

r(j)=Asen t y(j )=Bsen(t+)


A r(j) 2 y(j) B
n
t (j)2 2 n j n 2 t

(a)

y(j)/r(j) dB

(M) dB
(b) 0dB
3dB

0 r B log

Fig. 5.8: (a) Respuesta de un proceso de segundo orden a una sinusoide. (b) Su grafico
de Bode en magnitud (b).

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


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

1 + GH(j) = 0 GH(j) = 1

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


180 .

jv

GH(j) = 180
1
u
|GH(j)| = 1

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

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


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

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


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

Ejemplo 5.3

Determinar los margenes de fase y de ganancia del sistema mostrado en la Fig. 5.10(a)
sabiendo que:
1.5
G(s) = H(s) = 0.1
(s + 0.1)(s + 0.3)(s + 0.4)

Solucion: Ver programa mfmg1.m y Fig. 5.11.


% mfmg1.m CALCULO DE LOS MARGENES 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); % GRAFICA BODE DE GH
[20*log10(Mg),Mf,wMg,wMf] % [-0.5976 -2.1262 0.4359 0.4499]
% SISTEMA INESTABLE PORQUE Mg EN dB Y Mf EN GRADOS SON NEGATIVOS
margin(GH); print -f -deps mfmg1

5.3. Modos de Control PID


??
El algoritmo de control PID es la suma de las acciones o modos de control P
(proporcional), I (integral) y D (derivativo). En esta seccion abordaremos estos modos
de control. Para un mejor entendimiento del tema, emplearemos un sistema de con
realimentacion unitaria y SP igual a la unidad, donde las acciones de control seran
aplicadas al siguiente proceso de prueba:
s + Tz s
Gp (s) = (5.12)
(s + T1 )(s + T2 )(s + T3 )(s + T4 )(s + T5 )

La accion de control ONOFF, sera tratada por separado en la siguiente seccion.

5.3.1. La Banda Proporcional BP %


La accion P del controlador se expresa como: u(t) = Kc e(t) (ver Fig. 5.13),
donde u(t) es la senal de salida del controlador (o MV) que se dirige al elemento
final de control (EFC), Kc es la ganancia proporcional del controlador, y e(t), la
entrada al controlador, es el error de desviacion entre la senal deseada (o SP) y la
5.3 Modos de Control PID 65

r y
G(j) r G(j) y

1 G H(j)
H(j)
(a)

GH dB GH dB M g negativo
0 dB log log
M g positivo
ang GH
90 log 90
180 180 log
270 270
M f positivo M f negativo
(b)

jv M f negativo jv
M g positivo 1 M g negativo
Mg
1 u 1 u

M f positivo 1
(c) Mg

GH dB GH dB M g negativo
M g positivo
0 dB 0 dB

M f positivo
M f negativo

270 180 90 270 180 90


(d)

Fig. 5.10: (a) Sistema realimentado. (b), (c) y (d): Margenes de fase y de ganancia.
66 Control PID SISO

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

40

20

0
Magnitude (dB)

20

40

60

80
0

90
Phase (deg)

180

270
3 2 1 0 1
10 10 10 10 10
Frequency (rad/sec)

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

variable controlada (o PV). En muchos casos practicos no se emplea K c , sino su


inversa expresada en porcentaje: BP % = 100/Kc , donde BP % es conocida como la
banda proporcional. Dicha BP se puede definir como la cantidad necesaria de cambio
porcentual en la entrada del controlador para provocar un cambio de rango completo
(100 %) en su salida, debido a la accion del control proporcional.
Es posible ajustar la cantidad de accion proporcional suministrada por el contro-
lador. 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 senal de error, la entrada, haga un recorrido completo (desde
su valor mnimo hasta su valor maximo) para mover el EFC (la valvula automatica
de control) desde su posicion completamente abierta a completamente cerrada. En
este caso, la PB % es 100 % porque se requiere un cambio de 100 % en la entrada para
provocar un cambio de 100 % en la salida (salida de rango completo).
Notar en la Fig. 5.12(b) que un cambio de 100 % en la entrada provoca un cambio
de 50 % en la salida. Por consiguiente, para provocar una salida de rango completo en
la salida, se requiere en teora un cambio de 200 % en la entrada, es decir, una PB %
de 200 %. En un caso real, no es posible cambiar la entrada a 200 % debido a que
100 % es lo maximo que se puede modificar. Por lo tanto, si el EFC es una valvula,
esta nunca estara ni completamente abierta ni completamente cerrada.
Para obtener una PB % de 50 %, el punto pivote debe de desplazarse hacia la
5.3 Modos de Control PID 67

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 Abertura de vlvula


] ^
Mx. ^ ] ^] H I
I H IH
NN 100%
T UT
U M
K M
L K M LK
L
_ `_
`  

V WV
W  
 JJ 50%
O R
QR P
 Q PO RQ PO
X YX
Y
Z \
[ [Z \
[Z \[ Pivote SSS
Mn. GGG 0%
(a) PB% = 100%

Error Abertura de vlvula


) *
Mx. * ) *) - .
. - . - . - . - . -   .-   
.-. - . - . - . - . - .-  100%
!!! .- + . - 
. + . - 
. + . - 
. + . - 
. + . - 
. + .- ,+  - .   
- ,
. + -.
,
,
+ -.
,
,
+ -.
,
,
+ -.
,
,
+ -.
,
,
+ .- ,+
,

.-
+- -.
,.  ,-  + -. ,-  + -. ,-  + -. ,-  + -. ,-  +  ,.- + 
" #"
# + .
, + .
, + .
, + .
, + .
, + .- ,+ 
,
.- + -.
, + -.
, + -.
, + -.
, - , + -. + .- ,+ 
,     50%
$ %
% $ %$ .- + - ,
, + - , + - , + Pivote + - ,
, + ,+
&
(' &(
' (' + ,
, + , + , + , + , + ,+ 
+ ,
, + , + , + , + , + ,+ 
Mn. 0%
(b) PB% = 200%

Error Abertura de vlvula


E @ F
Mx. @@F E FE FE FE FE FE 000
E F
F E FE FE FE FE FE 55 100%
E B
F :: A F E B E B
F E B
F E B
F E B
F FE BA 4 2 4
3 2 4 32
3
FE A 
B E AB
F A  F E AB A F E AB A F E AB A F E AB A FEFE BA
FE C DC
D  E 
F E 
F E 
F E 
F E 
F
FE A 
B E B A  F A F
B A F
B A F
B A FE BA
B 11
FE
;; A  F
B E B
F A EF E B A EF E B A EF E B A EF E B A FE BA 8 7 687 687 6 50%
<< B E 
F A 
B E 
F A 
B E 
F A 
B E 
F A 
B E 
F A 
B E 
F A 
B E F A B
A B A Pivote A B
B A B A B A BA
=
> ?=
> =?>B A ?> B A B A B A B A B A BA 999
Mn. /// 0%
(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 = e
(5.13)
E
donde e es el cambio en la senal de error, u es cambio en la senal de control, U
es el rango maximo medible (o span) de la salida del controlador y E es el rango
de medicion (o span) de la senal controlada. La banda proporcional en porcentaje,
denotada como BP %, se define como la inversa de la ganancia Kc del controlador:
100
PB % = (5.14)
Kc

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
68 Control PID SISO

e Controlador u
E Proporcional U

Fig. 5.13: Controlador tipo P (proporcional).

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.

Solucion.- La ganancia Kc del controlador para el punto de operacion en estudio se


determina de (5.13):
u/U 3 mm/40 mm
Kc = = =2
e/E 15o C/400o C
mientras que la PB % se calcula de (5.14):

100 100
PB % = = = 50 %
Kc 2

5.3.2. Control Proporcional


La cantidad de accion proporcional que se emplea en un proceso depende de las
caractersticas y variables propias de tal proceso. Por lo tanto, cada proceso va a
requerir una determinada BP %, dentro de la cual va a operar en la mejor forma.
En general podemos decir que si la BP es angosta (Kc suficientemente grande),
entonces un cambio pequeno en e(t) puede provocar que la senal u(t) haga oscilar
la salida y(t), volviendo inestable al sistema de control realimentado, tal como se
observa cuando la BP % es 48.8 (Kc = 2.05) en la Fig. 5.14. Por el contrario, una
BP muy ancha (Kc muy pequena), genera un cambio a rango completo en e(t),
que a la vez ocasiona que u(t) apenas haga variar la salida y(t), como es el caso
cuando BP %=2000 (Kc = 0.05) en la Fig. 5.14. En conclusion, una BP muy ancha
proporciona poca accion de control proporcional, mientras que cuando la BP es muy
angosta, la accion de control es muy grande.
En muchos casos, la accion proporcional de control es la causante del fenomeno
offset o ess (error en estado estable), el cual se traduce en una desviacion permanente
entre las senales SP y PV. En la Fig. 5.14, las flechas con doble punta indican la
magnitud del offset para cada curva. Recordar que el SP es la unidad. Para obtener
los resultados anteriores, ejecutar el programa mcp.m listado abajo.

% mcp.m MODOS DE CONTROL P


clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(s);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); % PROCESO
for Kc=0.05:1:2.05; P=feedback(Kc*Gp,1); step(P,k,Tf); % CONTROL P
hold on; end; hold off; grid; title(ACCI ON PROPORCIONAL);
xlabel(TIEMPO); ylabel(AMPLITUD); print -deps -f mcp
5.3 Modos de Control PID 69

ACCIN PROPORCIONAL

1.4

1.2
SP
1
Kc=2.05; BP%=48.8
AMPLITUD

0.8

0.6

Kc=1.05; BP%=95.24
0.4

Kc=0.05; BP%=2000
0.2

0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)

Fig. 5.14: Modo de control proporcional.

5.3.3. Control Integral


La accion de control integral, o control reset, es necesaria cuando la cantidad de
offset en un proceso sujeto al control proporcional es inaceptable. Esta accion de
control se suma a menudo al control proporcional para minimizar el offset o e ss . As,
este modo de control toma el nombre de PI (Proporcional mas Integral).
La Fig. 5.16, elaborada con el programa mcpi.m mostrado abajo, muestra tres
curvas de respuesta del sistema de control realimentado, empleando un controlador
PI de la forma:
Z
Kc
u(t) = Kc e(t) + KI e(t)dt KI =
Ti

donde KI es la ganacia integral y Ti es el tiempo reset o integral. Observar que


en todos los casos, el offset desaparece, y, conforme aumenta KI (disminuya Ti ), el
tiempo de estabilizacion, indicadas por flechas horizontales de dos puntas, disminuye,
pero, el sobrenivel tiende a aumentar. Esto ultimo es mas notorio para el caso K I =
0.2.

% mcpi.m MODO DE CONTROL PI CON P CONSTANTE


clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(s);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6; % PROCESO
for Ti=3:6:15; KI=Kc/Ti; Gc=Kc+KI/s; PI=feedback(Gc*Gp,1); % CONTROL PI
step(PI,k,Tf); hold on; end; hold off; grid; xlabel(TIEMPO);
ylabel(AMPLITUD); title(ACCION PROPORCIONAL MAS INTEGRAL);
print -deps -f mcpi

5.3.4. Control Derivativo


??
70 Control PID SISO

ACCIN PROPORCIONAL MS INTEGRAL

1.4

1.2

Ti = 3; KI=0.2
1

Ti=9; KI=0.066
AMPLITUD

0.8

Ti=15; KI=0.04
0.6

0.4

0.2

0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)

Fig. 5.15: Modo de control proporcional mas integral.

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


la senal controlada y(t) de un proceso, para ajustar la salida u(t) del controlador.
La magnitud del ajuste esta determinada por que tan rapido es la desviacion del
error. Esta accion de control se suma a menudo al control proporcional para corregir
cambios rapidos en la variable controlada. As, este modo de control toma el nombre
de PD (Proporcional mas Derivativo).
La Fig. 5.16, elaborada con el programa mcpd.m mostrado abajo, ilustra tres
curvas de respuesta del sistema de control realimentado, empleando un controlador
PD de la forma:
de(t)
u(t) = Kc e(t) + KD K D = K c Td
dt
donde KD es la ganancia derivativa y Td es el tiempo derivativo o rate. Observar que
para todos los casos, el offset es el mismo (y de gran magnitud), as como tambien lo
es el tiempo de estabilizacion (flecha horizontal de doble punta). Notar tambien que
conforme aumenta KD (aumenta Td ), el sobrenivel tambien crece.
% mcpd.m MODO DE CONTROL PD CON P CONSTANTE
clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(s);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6; % PROCESO
for Td=0.1:0.5:1.1; KD=Kc*Td; Gc=Kc+KD*s; PD=feedback(Gc*Gp,1); % CONT PD
step(PD,k,Tf); hold on; end; hold off; grid; xlabel(TIEMPO);
ylabel(AMPPLITUD); title(ACCION PROPORCIONAL MAS DERIVATIVA);
print -deps -f mcpd

5.3.5. Control PID


??
Hemos visto que solo el control PI es capaz de estabilizar la salida del sistema de
control en su SP. Esto significa que los modos de control P y PD no son adecuados
5.4 Control de Dos Posiciones 71

ACCIN PROPORCIONAL MS DERIVATIVA

0.7

KD=0.06; Td=0.1
0.6
KD=0.3; Td=0.6

0.5

KD=0.66; Td=1.1
AMPPLITUD

0.4

0.3

0.2

0.1

0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)

Fig. 5.16: Modo de control proporcional mas derivativo.

para controlar el proceso de prueba dado en (5.12). Empleando un control PID, las
posibilidades de controlar la mayora de los procesos industriales se acrecienta, si
esta permitido usar todas las combinaciones posibles: P, I, PI, PD y PID.
La Tabla muestra la tendencia (a aumentar o disminuir) que tienen los parametros
de diseno, cuando se incrementan las ganancias Kc , KI o KD . Es importante anotar
que tal tabla debe de ser aplicada con cuidado, debido a que en un sistema de control
PID, los cambios en en los parametros de diseno no ocurren por separado, sino tales
cambios pueden estar interconectados. Esto es, cambios en un parametro de de diseno
puden afectar el comportamiento de otros.

Tabla 5.1: Variacion de los parametros de diseno cuando se incrementa: K c , KI o KD

Parametro Tiempo de Sobrenivel Ts : Tiempo de ess : Error en


de subida Tr (PO %) estabilizacion estado estable
Kc Disminuye Aumenta Cambio pequeno Disminuye
KI Disminuye Aumenta Aumenta Elimina
KD Cambio pequeno Disminuye Disminuye Cambio pequeno

5.4. Control de Dos Posiciones


La accion de control de dos posiciones se implementa con un dispositivo que
posee dos condiciones de operacion: completamente ON (por ejemplo: valvula 100 %
abierta, rele activado) y completamente OFF (ejemplo: valvula cerrada del todo,
72 Control PID SISO

rele desactivado). La Fig. 5.17(a) muestra un sistema de control con un controlador


de dos posiciones y una valvula ONOFF (de apertura y cierre) como el EFC.
En la Fig. 5.17(b), el controlador es el dispositivo no lineal denominado rele ide-
al. Supongamos que queremos mantener la temperatura y(t) de un producto cerca
de set point, controlando la entrada de vapor por medio de una valvula ONOFF.
Claramente, cuando y(t) sobrepasa el set point, el controlador genera una senal U min
para que la valvula se cierre. En cambio, si y(t) se encuentra debajo del set point, el
controlador genera una senal Umax para que la valvula se abra. El efecto final es que
la salida controlada y(t) fluctua alrededor del set point.
En la Fig. 5.17(C), el controlador es un rele con zona muerta de magnitud h 1 h2
alrededor del set point. Notar que si la variable controlada y(t) se encuentra dentro de
la zona muerta, no ocurre ninguna accion de control. De esta manera la zona muerta
minimiza el desgaste y los danos debido a que se evita el continuo funcionamiento
cclico del EFC, por ejemplo, la valvula mostrada en la Fig. 5.17(b).
b
e(t) u(t) ab
Set Point Control de dos a Proceso y(t)
posiciones Vlvula
ONOFF
Sistema de
Instrumentacin
u(t) (a) u(t)
Umax Umax
e(t) e(t)
0 h1 h2
Umin Umin
y(t) y(t)
Ymax Ymax

Set Point t Zona t


Muerta

Ymin Ymin

Vlvula Vlvula
Abierta Abierta
(Umax) (Umax)

t t
Vlvula Vlvula
Cerrada Cerrada
(Umin) (b) (Umin) (c)

Fig. 5.17: (a): Sistema de control de dos posiciones. (b): Controlador ONOFF sin
zona muerta, y (c): con zona muerta.

Ejemplo 5.5

Disenar un controlador de dos posiciones sin zona muerta para controlar el siguiente
5.4 Control de Dos Posiciones 73

proceso:
Kp
e s Gp (s) =
Ts + 1
Solucion: La Fig. 5.18 muestra el diagrama Simulink del sistema de control (archivo
onoff1.mdl), mientras que la Fig. 5.19 muestra la salida y(t) controlada y la senal de
control u(t). Este grafico se obtuvo ejecutando el archivo onoff1data.m, cuyo listado
se muestra abajo. El relay empleado posee los parametros Umin = 0.8, Umax = 1.2,
Switch On Point = 0 y Switch Off Point = 0. La FT de la valvula se asume que es
una constante incluida en Kp .

e(t) u(t) Kp y(t)

T.s+1
Step Relay Transfer Fcn Transport Scope
Delay
rh
R
Save in format
th uh yh
array
Clock t t u y

Fig. 5.18: Diagrama Simulink para el ejemplo 5.5.

CONTROL ONOFF DEL PROCESO


1.4

1.2

u(t)
1

set point
0.8
y(t) y u(t)

y(t)
0.6

0.4

0.2

0
0 10 20 30 40 50
TIEMPO [s]

Fig. 5.19: Salida controlada y(t) y senal de control ONOFF u(t) para el ejemplo 5.7.

% onoff1data.m
clear all; close all; clc;
R=1; Kp=1; T=10; tau=2; Umin=0.8; Umax=1.2; swonpoint=0; swoffpoint=0;
load th; load yh; load uh; load rh;
plot(th,rh,k,th,yh,k,th,uh,k), xlabel(TIEMPO [s]), grid
74 Control PID SISO

ylabel(y(t) y u(t)), title(CONTROL ON-OFF DEL PROCESO)


print -f -deps onoff1r, print -s -deps onoff1

5.5. Estructuras del Controlador PID


El algoritmo de control PID es el mas usado en la actualidad por la industria. Se
estima que tal algoritmo se aplica en mas del 90 % de las aplicaciones. Sin embargo, no
existe un estandar industrial de tal algoritmo. Existen varias estructuras del algoritmo
PID [29], algunas de las cuales se formulan a continuacion.

El controlador PID Ideal

El controlador PID ideal, denominado tambien controlador no interactivo, algo-


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

donde u es la senal o fuerza de control, y es la salida controlada del sistema (per-


manentemente sujeta a medicion), e es la senal de error, r es la senal 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 senal de error empleada: e = r y corresponde a
una accion de control inversa. Para una accion de control directa, el error se expresa
como: e = y r. Nosotros seguiremos usando la primera forma. Por otro lado, el
tiempo integral o tiempo reset Ti se expresa a menudo como la tasa integral o reset
Tr = 1/Ti .
En el dominio de Laplace, (5.15) se expresa como:
 
u(s) 1 Kc
Gc (s) = = Kc 1 + + Td s = K c + + K c Td s (5.16)
e(s) Ti s Ti s

El controlador PID Paralelo

El controlador PID paralelo, denominado tambien paralelo ideal, no interactivo,


independiente o independiente de la ganancia, es una variacion del controlador ideal
de (5.16) y se formula en el dominio de Laplace como:

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

Notar que los parametros Kc , 1/Ti y Td del controlador PID paralelo dado en (5.17)
corresponden a los parametros Kc , Kc /Ti y Kc Td del controlador PID ideal de (5.16).
Por consiguiente, (5.17) puede ser siempre reemplazado por (5.16).
5.5 Estructuras del Controlador PID 75

El controlador PID Ideal Filtrado


Muchas veces es necesario introducir un filtro para suavizar senales 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
T = e(t) ef (t) ef (s) = e(s) (5.18)
dt 1 + Ts
donde T es la constante de tiempo del filtro. Dado que el ruido en el sistema se
amplifica principalmente por la accion derivativa, entonces T se puede formular pro-
porcional al tiempo derivativo como sigue:
1
T = Td ef (s) = e(s) (5.19)
1 + Td s
Introduciendo en (5.16) el filtro dado en (5.19), se obtiene el siguiente controlador
PID ideal filtrado:
  
u(s) 1 1
Gc (s) = = Kc 1+ + Td s (5.20)
e(s) 1 + Td s Ti s

El Controlador PID con Parte Derivativa Filtrada


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

El Controlador PID Clasico


El controlador PID clasico mostrado se denomina tambien controlador en cascada,
interactivo, serie, interactuante, analogo o comercial y se describe como:
  !
u(s) 1 1 + Td s
Gc (s) = = Kc 1 + 3 N 10 (5.22)
e(s) Ti s 1 + TNd s

El Controlador PID Clasico Generalizado


El controlador PID clasico generalizado mostrado, con 3 N 10 se formula
como:
! 
u(s) 1 Td s bf 0 + bf 1 s + bf 2 s2
Gc (s) = = Kc 1 + + (5.23)
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, interac-
tuante o el algoritmo analogo y se describe como:
  
u(s) 0 1 0
Gc (s) = = Kc 1 + 0 1 + Td s (5.24)
e(s) Ti s
76 Control PID SISO

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


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

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


0 0 0 0
T +T
0 0 0 T T
Kc = K c i 0 d Ti = T i + T d Td = 0 i d 0 (5.26)
Ti Ti + T d

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


0
 p 
Kc = 0.5Kc 1 + 1 4Td /Ti
0
 p 
Ti = 0.5Ti 1 + 1 4Td /Ti
0
 p 
Td = 0.5Td 1 + 1 4Td /Ti (5.27)

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


0 0 0
Kc = 0.5Kc Ti = 0.5Ti Td = 0.5Td

Para Td > TI /4, el controlador dependiente nunca sera similar al controlador ideal,
ya que para esta condicion los parametros en (5.27) se vuelven imaginarios.

El Controlador PID Interactivo


El controlador interactivo posee la siguiente estructura (compararla con la estruc-
tura del controlador clasico):
  !
u(s) 1 Td s
Gc (s) = = Kc 1 + (5.28)
e(s) Ti s 1 + TNd s

El Controlador PID Mejorado


El controlador mejorado posee la siguiente estructura (compararla con la estruc-
tura del controlador interactivo):
  !
1 Td s
u(s) = Kc 1 + e(s) Kc y(s) (5.29)
Ti s 1 + TNd s

El Controlador PID con Dos Grados de Libertad


El controlador con dos grados de libertad, conocido tambien como controlador
mPID o ISAPID, posee la siguiente estructura:
" # " #
1 (1 )Td s 1 Td s
u(s) = Kc (1 ) + + e(s)Kc 1 + + y(s) (5.30)
Ti s 1 + TNd s Ti s 1 + TNd s
5.6 Metodos de Sintonizacion de Controladores PID 77

5.6. Metodos de Sintonizacion de Controladores PID


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

5.6.1. Metodos Basados en la Curva de Reaccion


La respuesta de un proceso a un escalon se denomina la curva de reaccion. En
un procesos autoregulado, su curva de reaccion tiende a un estado estacionario, que
tambien puede ser el estado cero, tal como ocurre en los procesos descritos por las
siguientes FTs:
Kp Kp
Gp (s) = Gp (s) =
Ts + 1 (T1 s + 1)(T2 s + 1)
En contraposicion, los procesos no autoregulados poseen una curva de reaccion no
estacionaria, dado que crece continuamente en el tiempo, tal como acontece en los
procesos descritos por las siguientes FTs:
Kp Kp
Gp (s) = Gp (s) =
s(T s + 1) s(T1 s + 1)(T2 s + 1)

Metodo de la Constante de Tiempo


El metodo de la constante de tiempo del lazo de control se emplea para procesos
que poseen una FT de primer orden:
Kp
Gp (s) = (5.31)
Ts + 1
donde T es la constante de tiempo del proceso, tiempo que corresponde al al 63.2 % de
la magnitud de la ganancia Kp . El 100 % de la magnitud de Kp se alcanza en aproxi-
madamente 4T . Los parametros del controlador PID se sintonizan con las relaciones
siguientes:
1 1
Kc = Ti = T T d = Ti (5.32)
Kp 4

Ejemplo 5.6

Se desea controlar el siguiente proceso empleando el metodo de la constante de tiem-


po:
Kp
Gp (s) =
Ts + 1
donde Kp = 2 y T = 5. Para el control emplear la configuracion de la Fig. 5.1(a).
78 Control PID SISO

Solucion: Ver el archivo ct1.m. La curva de reaccion del proceso y su salida contro-
lada se muestran en la Fig. 5.20.
% ct1.m CONTROL PID DE UN PROCESO VIA EL METODO DE LA CONSTANTE DE TIEMPO
clear all; close all; clc;
Kp=2; T=5; s=tf(s); Gp=Kp/(T*s+1); % PROCESO
subplot(211); step(Gp,k); grid;
title(CURVA DE REACCION); xlabel(TIEMPO); ylabel(AMPLITUD);
Kc=1/Kp; Ti=T; Td=T/4; Gc=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gc*Gp,1);
subplot(212); step(PID,k); grid;
title(CONTROL PID USANDO EL METODO DE LA TANGENTE);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f ct1

CURVA DE REACCIN

1.5
AMPLITUD

0.5

0
0 5 10 15 20 25 30
TIEMPO (sec)

CONTROL PID USANDO EL MTODO DE LA CONSTANTE DE TIEMPO

1.5

1
SALIDA

0.5

0
0 5 10 15 20 25 30
TIEMPO (sec)

Fig. 5.20: Respuesta al escalon del proceso (grafico superior) y respuesta controlada
para el ejemplo 5.6 (grafico inferior).

Metodo de Hartree
La Tabla 5.2 atribuida a Hartree et al. (ver referencias de [29]), se aplica para
controlar procesos que poseen una FT de la forma Gp (s) = Kp e s . El control se
realiza empleando el sistema de control de la Fig. 5.1(a).

Ejemplo 5.7
5.6 Metodos de Sintonizacion de Controladores PID 79

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

Metodo Controlador Gc (s) Kc Ti Td


  
1 1+Td s 0.7
Curva de reaccion K c 1 + Ti s Td Kp 2.66
1+ N s

Se desea controlar el siguiente proceso empleando la Tabla 5.2:

Gp (s) = Kp e s

donde Kp = 2 y = 2. Para el control emplear el sistema de control de la Fig. 5.1(a).


Solucion: Usamos la Tabla 5.2 para calcular los parametros del controlador PID con
N = 3. La Fig. 5.21 muestra el diagrama Simulink del sistema de control (archivo
hartree1.mdl), mientras que la Fig. 5.22 muestra la salida y(t) controlada y la senal
de control u(t). Este grafico se obtuvo ejecutando el archivo hartree1graf.m, cuyo
listado se muestra abajo. Notar en el diagrama Simulink que los bloques Kc y Gc1 (s)
forman un controlador PI.

hartree 1.mdl

Ti .s+1 Td .s+1
Kc Kp
Ti .s Td /N.s+1 Scope
r Kc Gc1(s) Gc2(s) Kp tau

rh th uh yh
rh Clock th uh yh

Fig. 5.21: Diagrama Simulink para el ejemplo 5.7.

% 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

Metodo de Ziegler y Nichols


El metodo de la curva de reaccion de Ziegler y Nichols emplea la curva de reaccion
de la Fig. 2.18 y se aplica a procesos autoregulados que se pueden modelar como un
proceso de primer orden de ganancia Kp y constante de tiempo T , en cascada con un
tiempo muerto :
y(s) Kp
Gp (s) = = e s (5.33)
u(s) Ts + 1
80 Control PID SISO

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


1.5

1
SALIDA y(t)

0.5

0.5
0 20 40 60 80 100 120 140 160 180 200
TIEMPO [s]

0.6

0.4
CONTROL u(t)

0.2

0.2
0 20 40 60 80 100 120 140 160 180 200
TIEMPO [s]

Fig. 5.22: Salida controlada y senal de control para el ejemplo 5.7.

La curva de reaccion se emplea para obtener los parametros y T , que luego son
usados para determinar los parametros Kc , Ti y Td del controlador PID ideal, em-
pleando la Tabla 5.3. Las formulas en dicha tabla fueron el producto de intensivos
trabajos experimentales realizados por los investigadores Ziegler y Nichols en 1942
[15].

Tabla 5.3: Metodo de la curva de reaccion de Ziegler y Nichols para determinar los
parametros Kc , Ti y Td .

100 Kp
Tipo Controlador Gc (s) Kc = BP ; a= T Ti Td
P Kc 1/a 0
 
PI Kc 1 + T1i s 0.9/a 10 /3 0
 
PID Kc 1 + T1i s + Td s 1.2/a 2 0.5

PD Kc (1 + Td s) 1.2/a 0.42
5.6 Metodos de Sintonizacion de Controladores PID 81

En algunos procesos, el tiempo muerto es bastante pequeno, por lo que es


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

y
100%

63.2%

28.3%
t
t t2
1

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

Ejemplo 5.8

Se desea controlar el siguiente sistema de quinto orden empleando la tecnica de la


curva de reaccion de Ziegler y Nichols:

Kp
Gp (s) =
(s + Ta )(s + Tb )(s + Tc )(s + Td )(s + Te )

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


Solucion: El primer grafico de la Fig. 5.24 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 de los controladores
P, PI, PID y PD empleando la Tabla 5.3. El segundo grafico de la Fig. 5.24 ilustra la
comparacion entre las salidas controladas. Observar que solo los controladores PI y
PID son capaces de controlar el proceso sin postsintona. Tales resultados se obtienen
ejecutando el programa zn1.m listado abajo.
% zn1.m CONTROL P, PI, PID Y PD DE UN PROCESO V IA LA CURVA DE REACCION
clear all; close all; clc;
Kp=20; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; s=tf(s); % Kp=10
Gp=Kp/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); % PROCESO
subplot(211); step(Gp,k); grid;
title(RESPUESTA AL ESCALON); xlabel(TIEMPO); ylabel(AMPLITUD);
tau=1.7; T=6.7-tau; a=Kp*tau/T; % TOMADOS DE LA CURVA DE REACCI ON
Kc=1/a; Gc1=Kc; P=feedback(Gp*Gc1,1); % CONTROL P
Kc=0.9/a; Ti=10*tau/3; Gc2=Kc*(1+1/Ti/s); PI=feedback(Gp*Gc2,1); % PI
82 Control PID SISO

Kc=1.2/a; Ti=2*tau; Td=0.5*tau;


Gc3=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc3,1); % CONTROL PID
Kc=1.2/a; Td=0.42*tau; Gc4=Kc*(1+Td*s); PD=feedback(Gp*Gc4,1); % PD
subplot(212); step(P,k,PI,k,PID,k,PD,k); grid; xlabel(TIEMPO);
title(SALIDAS CONTROLADAS); ylabel(SALIDA); print -deps -f zn1

RESPUESTA AL ESCALN

6
AMPLITUD

0
0 5 10 15
TIEMPO (sec)

SALIDAS CONTROLADAS

1.5
PID PI
SALIDA

0.5

PD P
0
0 10 20 30 40 50 60
TIEMPO (sec)

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

Ejemplo 5.9

Se desea controlar el proceso nivel en un tanque de almacenamiento empleando la


tecnica de la curva de reaccion de Ziegler y Nichols. El diagrama de bloques del sis-
tema nivel, extrado de [16], se muestra en la Fig. 5.25(a), donde las funciones de
transferencia del actuador hidraulico, del tanque y del flotador se formulan respecti-
vamente:
10 3.15 1
GH (s) = GT (s) = GF (s) = 1 =1
s+1 30s + 1 9 s2 + 31 s + 1

Para propositos de comparacion emplear los controladores ideal dado en (5.16), de-
pendiente mostrado en (5.24) y mejorado (ecuacion (5.29)). Para simplificar la no-
tacion, el sistema de control que emplea un controlador ideal sera designado como
5.6 Metodos de Sintonizacion de Controladores PID 83

Controlador Referencia
Actuador (set point)
v
d

Flotador

r e u y
GC (s) G H(s) e s GT (s)
Controlador Actuador Tiempo muerto Tanque

ym GF (s)

(a)
Flotador

r e u y
GC (s) G H(s) e s GT (s)
Controlador Actuador Tanque

ym GF (s)
(b) Flotador

r e u y
G C i(s) G H(s) e s GT (s)
Controlador Actuador Tanque
proporcional
integral G Cd(s)
Controlador derivativo
ym
GF (s)
(c)

Fig. 5.25: Diagrama de bloques del sistema de control de nivel; (a) Proceso; (b)
estructura para control PID o PI D; (c) estructura para control PI Dy.

control PID, el que emplea un controlador dependiente sera conocido como control
PI D, y el que usa un controlador mejorado recibira la denominacion de control
PI Dy. Los controles PID y PI D emplean el diagrama de bloques de la Fig. 5.1(a),
mientras que el control PI Dy usa el diagrama de bloques de la Fig. 5.1(b). Por otro
lado, en el proceso que nos ocupa, el tiempo muerto se puede calcular usando la
relacion = d/v, donde v es la velocidad del flujo que ingresa al tanque y d es es
la longitud de tubera que existe entre la valvula de control de flujo y el punto de
medicion del flujo.

Solucion: El primer grafico de la Fig. 5.26 muestra la respuesta al escalon (la curva
de reaccion) del sistema, de la cual se obtiene = 1 y T = 27 = 26. Con estos
valores se calculan los parametros del controlador PID empleando la Tabla 5.3. El
segundo grafico de la Fig. 5.26 ilustra la comparacion entre las salidas controladas.
84 Control PID SISO

Tales resultados se obtienen ejecutando el programa zn1a.m listado abajo.

RESPUESTA AL ESCALN

40

30
AMPLITUD

20

10

0
0 20 40 60 80 100 120 140 160 180
TIEMPO (sec)

SALIDAS CONTROLADAS

1.5

PIDy
SALIDA

PID y PID
0.5

0
0 10 20 30 40 50 60
TIEMPO (sec)

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

% zn1a.m CONTROL PID, PI_D Y PI_Dy EMPLEANDO LA CURVA DE REACCI ON


clear all; close all; clc;
s=tf(s); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1); 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 ESCALON); 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
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
5.6 Metodos de Sintonizacion de Controladores PID 85

Metodo de ChienHronesReswick
El metodo de ChienHronesReswick (CHR) [19] ilustrado en la Fig. 5.27(a), se
aplica a sistemas que aceptan un modelo dinamico como el de la ecuacion (5.33). Este
metodo propone un conjunto de reglas de sintonizacion para los casos siguientes (ver
Tabla 5.4):

1. Respuesta aperiodica sin sobrenivel en la senal de salida y controlada a cambios


tipo escalon de la entrada de referencia r, sin presencia del disturbio d, y para
un coeficiente de amortiguamiento > 0.8, tal como se muestra en la Fig.
5.27(b).

2. Respuesta aperiodica sin sobrenivel en la salida yd controlada a cambios tipo


escalon del disturbio d, sin presencia de la entrada r, y para un coeficiente de
amortiguamiento > 0.8, tal como se muestra en la Fig. 5.27(c). Observar que
en esta situacion existe rechazo al disturbio, dado que yd tiende a cero.

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


tipo escalon de la entrada r, sin presencia del disturbio d, y para un coeficiente
de amortiguamiento de 0.4 < < 0.8, tal como se muestra en la Fig. 5.27(d).

4. Respuesta aperiodica con sobrenivel del 20 % en la salida yd controlada a cam-


bios tipo escalon del disturbio d, sin presencia de la senal r, y para un coeficiente
de amortiguamiento de 0.4 < < 0.8, tal como se muestra en la Fig. 5.27(e).
Observar que en esta situacion tambien existe rechazo al disturbio, ya que y d
tiende a cero.

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

Tipo Controlador GC (s) Caso (b): Caso (c): Caso (d): Caso (e):
> 0.8 > 0.8 0.4< < 0.8 0.4< < 0.8
d=0 r=0 d=0 r=0

Kc = 0.3/a Kc = 0.3/a Kc = 0.7/a Kc = 0.7/a


P Kc Ti = Ti = Ti = Ti =
Td = 0 Td = 0 Td = 0 Td = 0

  Kc = 0.35/a Kc = 0.6/a Kc = 0.6/a Kc = 0.7/a


1
PI Kc 1 + Ti s Ti = 1.2T Ti = 4 Ti = T Ti = 2.3
Td = 0 Td = 0 Td = 0 Td = 0

  Kc = 0.6/a Kc = 0.95/a Kc = 0.95/a Kc = 1.2/a


1
PID Kc 1 + Ti s + Td s Ti = T Ti = 2.4 Ti = 1.4T Ti = 2
Td = 0.5 Td = 0.42 Td = 0.47 Td = 0.42

Ejemplo 5.10
86 Control PID SISO

d
D
r d
t
R r
PID Proceso
e u y
t

(a) y
y
R R
d=0 d=0
t t
(b) (d)
y y
d d
r=0 r=0
D
D
t t

(c) (e)

Fig. 5.27: Metodo de ChienHronesReswick.

Se desea controlar el proceso nivel del ejemplo 5.9 empleando el metodo de Chien
HronesReswick para el caso de rechazo al disturbio (r=0 y d 6= 0) sin presencia de
oscilaciones en la respuesta del sistema (ver Fig. 5.28(a)). Para propositos de com-
paracion emplear los controladores ideal (PID, ecuacion (5.16)), dependiente (PI D,
ecuacion (5.24)) y mejorado (PI Dy, ecuacion (5.29)), empleando las estructuras (b)
y (c) de la Fig. 5.28, respectivamente.
Solucion: Los parametros = 2 y T = 32 = 20 se obtuvieron con el primer grafico
de la Fig. 5.26. Con estos valores se calculan los parametros del controlador empleando
la Tabla 5.4 (caso (c), controlador PID). La Fig. 5.28 ilustra la comparacion entre
las salidas controladas, las cuales se obtienen ejecutando el programa chrd.m listado
abajo.

% chrd.m CONTROL PID, PI_D Y PI_Dy POR EL METODO CHR PARA RECHAZO AL DISTURBIO
clear all; close all; clc;
s=tf(s); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1);
[num,den]=pade(1,3); Gtau=num/den; % APROXIMACI ON DEL TIEMPO MUERTO
Gp=GH*Gtau*GT; Kp=31.5; % Kp ES EL PRODUCTO DE 10*31.5
tau=2; T=32-tau; % TOMADOS DE LA CURVA DE REACCI ON
a=Kp*tau/T; Kc=0.95/a; Ti=2.4*tau; Td=0.42*tau; N=10; % PAR AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp,Gc1*GF); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp,Gc2*GF); % CONTROL PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N);
PI_Dy=feedback(Gp,Gci*GF+Gcd); % CONTROL PI_Dy
5.6 Metodos de Sintonizacion de Controladores PID 87

Actuador Controlador Disturbio d


v
d

(a)
Flotador

d y
G H(s) e s GT (s)
Actuador Tiempo muerto Tanque
u GF (s)
GC (s)
(b)
Controlador Flotador
r=0

d y
G H(s) e s GT (s)
Actuador Tanque
G Cd(s)
Control D
(c) G C i(s) GF (s)
Control PI
r=0

Fig. 5.28: Estructuras para el rechazo al disturbio en el control del proceso nivel (Fig.
(a)) empleando controladores PID y PI D (Fig. (b))y PI Dy (Fig. (c)).

step(PID,b,PI_D,b,PI_Dy,b); grid; title(SALIDAS CONTROLADAS);


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

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

Kp
a= L= (5.35)
T +T
Notar que las formulas de la Tabla 5.5 se asemejan a las de la Tabla 5.3 cuando L es
suficientemente pequeno.

Ejemplo 5.11

Se desea controlar el sistema nivel descrito en el ejemplo 5.9 empleando el metodo de


CohenCoon. El diagrama de bloques del sistema nivel se muestra en la Fig. 5.25(a).
Para propositos de comparacion emplear los controladores PID, PID y PIDy. Para
88 Control PID SISO

SALIDAS CONTROLADAS

1.4

1.2

0.8
SALIDA

0.6

0.4
PIDy
0.2

0
PID y PID
0.2

0.4
0 10 20 30 40 50 60
TIEMPO (sec)

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

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

100
Tipo Controlador GC (s) KC = BP TI TD
 
1 0.35L
P KC a 1 + 1L 0
   
1 0.9 0.92L 3.33L
PI KC 1 + TI s a 1 + 1L 1+1.2L 0
 
1.24 0.13L 0.270.36L
PD KC (1 + TD s) a 1 + 1L 10.87L
   
1.35 0.18L 2.52L 0.370.37L
PID KC 1 + T1I s + TD s a 1 + 1L 10.39L 10.8L

el control PID y PID emplear el diagrama de bloques de la Fig. 5.25(b), mientras


que para el control PIDy usar el diagrama de bloques de la Fig. 5.25(c).
Solucion: Los parametros = 2 y T = 32 = 20 se obtuvieron del primer grafico de
la Fig. 5.26. Con estos valores se calculan los parametros del controlador empleando
la Tabla 5.5. La Fig. 5.30 muestra las salidas controladas.
% 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));
5.6 Metodos de Sintonizacion de Controladores PID 89

SALIDAS CONTROLADAS

1.4

PIDy
1.2

PID y PID
0.8
SALIDA

0.6

0.4

0.2

0
0 5 10 15 20 25 30 35 40
TIEMPO (sec)

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


y el metodo de Cohen-Coon.

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); % CONTR. PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gcd,GF); % CONTROL PI_Dy
step(PID,k,PI_D,k,PI_Dy,k); grid; title(SALIDAS CONTROLADAS);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f cohen

5.6.2. Metodos a Lazo Cerrado

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


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

Metodo de Samal

El metodo de sintonizacion de parametros de Samal [21] esta disenado para re-


chazar los disturbios que actuan principalmente en la senal de control, tal como se
muestra en la Fig. 5.31(a), donde el rechazo al disturbio se manifiesta porque la senal
de salida y controlada tiende a cero para un tiempo de estabilizacion T s y un so-
brenivel de magnitud M . El proceso al cual se aplican los parametros del controlador
90 Control PID SISO

PID, poseen un modelo de FT de la forma:

y(s) Kp
Gp (s) = = (5.36)
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.31(b), Vo = Kp Kc es la ganancia a lazo abierto del sistema realimentado,
donde Kc es la ganancia del controlador. En esta figura, los valores de Vo para los
controladores I y PI se leen en el eje Vo de la izquierda, mientras que los valores de
Vo para los controladores P y PID se leen en el eje Vo de la derecha.
En la Fig. 5.31(c), Ti es el tiempo integral. El eje Ti /T ubicado a la izquierda de
esta figura permite determinar Ti para los controladores I, PI y PID, mientras que el
tiempo derivativo Td del controlador se determina empleando la curva PID indicada
como Td /T . La Fig. 5.31(d) permite determinar M conociendo la magnitud D del
disturbio tipo escalon, mientras que la Fig. 5.31(e) se emplea para determinar T s .

Ejemplo 5.12

Se desea controlar el siguiente sistema empleando el metodo de Samal:


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

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


los controladores PID ideal (ecuacion (5.16)), PI D interactivo (ecuacion (5.24)) y
PI Dy (PID mejorado, ecuacion (5.29)). Para el control PID y PI D emplear el
diagrama de bloques de la Fig. 5.1(b), mientras que para el control PI Dy usar el
diagrama de bloques de la Fig. 5.1(c).
Solucion: El grafico superior de la Fig. 5.32 muestra la respuesta al escalon (la curva
de reaccion) del sistema. De esta curva se pueden obtener los parametros = 0.8 s
y T = 3.9 = 3.1 s. Empleando la Tabla 2.6 se obtiene aproximadamente n = 3
y Tn = 0.270. De la Fig. 5.31(b) se determina Vo = 2 y Kc = V o/Kp , mientras que
de la Fig. 5.31(c) se calcula Ti = 1.8Tn y Td = 0.7Tn . El grafico inferior de la Fig.
5.32 ilustra la comparacion entre las salidas controladas. Tales resultados se obtienen
ejecutando el programa samal1.m listado abajo.
% 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 ESCALON); 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
subplot(212); step(PID,k,PI_D,k,PI_Dy); title(SALIDAS CONTROLADAS);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f samal1
5.6 Metodos de Sintonizacion de Controladores PID 91

d (a)
D
d y
0 t M
r=0 e Kp y D
P, I, PI, PID t
u (1+Ts) n 0 Ts

(b) (c)
5 20 5 5

4 16 4 4
P
PI
3 12 3 3
Vo TI I
Vo
2 8 T 2 2 TD
PID PI
PID T
1 4 1 1
I PID
0 0 0
1 2 3 4 n 1 2 3 4 n

(d) (e)
1 Ts 20
M
Kp D T
0.8 I 16
I
0.6 PI 12
P
PI
0.4 8
PID
PID
0.2 4
P
0 0
1 2 3 4 n 1 2 3 4 n

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

Metodo de la Oscilacion Crtica de Ziegler y Nichols

El metodo de la oscilacion crtica de Ziegler y Nichols [15] emplea la configuracion


de un sistema de control a lazo cerrado y se puede aplicar tanto a sistemas que son
modelados con la ecuacion (5.33) y a otros no autoregulados, pero que permiten una
respuesta a lazo cerrado en forma de oscilaciones sostenidas, tal como se muestra en
la Fig. 5.33.
Los parametros Kc , Ti y Td del controlador PID se pueden obtener a partir de tal
respuesta oscilatoria, empleando el siguiente procedimiento:
92 Control PID SISO

RESPUESTA AL ESCALN

1.5

AMPLITUD 1

0.5

0
0 1 2 3 4 5 6 7 8 9
TIEMPO (sec)

SALIDAS CONTROLADAS

1.5

PIDy
SALIDA

0.5
PID y PID

0
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)

Fig. 5.32: Respuesta al escalon (Fig. inferior) y respuestas controladas (Fig. superior)
empleando controladores tipo PID, PI D y PI Dy y el metodo de Samal.

Fijar los parametros Ti y Td en y 0 respectivamente. Incrementar poco a


poco el parametro Kc hasta obtener una respuesta en forma de oscilaciones
sostenidas (ver la Fig. 5.33).
En dicha respuesta, medir el perodo de oscilacion crtico Tcrit y anotar la
ganancia crtica Kcrit (o ganancia lmite) para la cual se obtuvo dicho perodo.

Los parametros Kc , Ti y Td se calculan luego usando la Tabla 5.6.

Es necesario hacer notar que la magnitud de la oscilacion sostenida, lo que es equi-


valente a decir la magnitud de variacion de la variable de salida, debe ser mantenida
la mas pequena posible para evitar problemas en la variable controlada.

K crit
r u y y
r e
PID Proceso
R R
T crit

t t

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

Ejemplo 5.13
5.6 Metodos de Sintonizacion de Controladores PID 93

Tabla 5.6: Metodo de la oscilacion crtica de Ziegler y Nichols para determinar los
parametros Kc , Ti y Td .

100
Tipo Controlador Gc (s) Kc = BP Ti Td
P Kc 0.5Kcrit 0
 
PI Kc 1 + T1i s 0.45 Kcrit 0.85 Tcrit 0
 
PID Kc 1 + T1i s + Td s 0.6 Kcrit 0.5 Tcrit 0.125 Tcrit

Se desea controlar el proceso nivel del problema 5.9 empleando la tecnica de las
oscilacion crtica de Ziegler y Nichols. Para propositos de comparacion emplear los
controladores PID estandar, PI D interactivo y PI Dy mejorado, empleando las es-
tructuras de la Fig. 5.25.

Solucion: El primer grafico de la Fig. 5.34 muestra la respuesta al escalon a manera


de una oscilacion sostenida que se obtiene empleando un controlador proporcional
de ganancia GC (s) = Kcrit = 0.85 en la Fig. 5.25(b). Notar que la oscilacion posee
un perodo igual a Tcrit = 8 s. Con estos valores se calculan los parametros del
controlador PID empleando la Tabla 5.6. El segundo grafico de la Fig. 5.34 ilustra la
comparacion entre las salidas controladas. Tales resultados se obtienen ejecutando el
programa zn2.m listado abajo.
% 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(OSCILACION SOSTENIDA); xlabel(TIEMPO); ylabel(AMPLITUD);
Tcrit=8; % TOMADOS DE LA OSCILACION 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.14
Se desea controlar un proceso no autoregulado que posee la siguiente FT, empleando
la tecnica de las oscilaciones sostenidas de Ziegler y Nichols.
1
Gp (s) =
s(s + 1)4
Para propositos de comparacion emplear los controladores PID ideal, PI D interac-
tivo y PI Dy mejorado.
94 Control PID SISO

OSCILACIN SOSTENIDA

Tcrit
1.5
AMPLITUD

0.5

0
0 2 4 6 8 10 12 14 16 18 20
TIEMPO (sec)

SALIDAS CONTROLADAS

1.5
PIDy
SALIDA

0.5
PID y PID
0
0 10 20 30 40 50 60
TIEMPO (sec)

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


controladas (grafico inferior) para el ejemplo 5.13.

Solucion: El primer grafico de la Fig. 5.35 muestra la respuesta al escalon a manera


de una oscilacion sostenida que se obtiene empleando un controlador proporcional
de ganancia GC (s) = Kcrit = 0.569. Notar que la oscilacion posee un perodo igual
a crit = 15 s. Con estos valores se calculan los parametros del controlador PID
empleando la Tabla 5.6. El segundo grafico de la Fig. 5.35 ilustra la comparacion
entre las salidas controladas. Tales resultados se obtienen ejecutando el programa
zn2a.m listado abajo.

% zn2a.m CONTROL PID, PI_D Y PI_Dy MEDIANTE LA OSCILACI ON CRITICA


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(OSCILACION SOSTENIDA); xlabel(TIEMPO); ylabel(AMPLITUD);
Tcrit=15; % TOMADO DE LA OSCILACION 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.6 Metodos de Sintonizacion de Controladores PID 95

OSCILACIN SOSTENIDA

2
Tcrit
1.5
AMPLITUD

0.5

0
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)

SALIDAS CONTROLADAS

1.5
PIDy
SALIDA

0.5
PID y PID
0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)

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


controladas (grafico inferior) para el ejemplo 5.18.

Metodo de la Oscilacion Crtica de Yu


Las siguientes reglas de sintonizacion atribuidas a Yu (ver referencias de [29]),
se aplican al control de sistemas que poseen una FT de la forma Gp (s) = Kp e s .
El control se realiza empleando la configuracion de la Fig. 5.1(a). El controlador
empleado es el denominado clasico generalizado, cuya FT es:
! 
u(s) 1 Td s bf 0 + bf 1 s + bf 2 s2
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.15

Se desea controlar el sistema Gp (s) = Kp e s empleando la tecnica de la oscilacion


crtica y las reglas de sintonizacion arriba formuladas.
Solucion: El primer grafico de la Fig. 5.36 muestra la respuesta al escalon a manera
de una oscilacion sostenida que se obtiene empleando un controlador proporcional
96 Control PID SISO

de ganancia GC (s) = Kcrit = 0.45 en la Fig. 5.33. Notar que la oscilacion posee un
perodo igual a crit = 4 s. Con estos valores se calculan los parametros del controlador
PID empleando:

Kc = 0.3Kcrit Ti = 2.3crit Td = 0

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


obtienen ejecutando el programa yu1.m listado abajo.

OSCILACIN SOSTENIDA

5
AMPLITUD

10
0 10 20 30 40 50 60
TIEMPO (sec)

SALIDA CONTROLADA

0.5
SALIDA

0.5
0 50 100 150 200 250
TIEMPO (sec)

Fig. 5.36: Oscilaciones sostenidas (primer grafico) para Kp = Kcrit y respuesta con-
trolada (grafico inferior) para el ejemplo 5.15.

% yu1.m CONTROL PI EMPLEANDO LAS REGLAS DE YU Y LA OSCILACI ON CRITICA


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(OSCILACION CRITICA); xlabel(TIEMPO);ylabel(AMPLITUD);
Tcrit=4; % TOMADO DE LA OSCILACION CRITICA
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.6 Metodos de Sintonizacion de Controladores PID 97

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

Metodo del Rele


El metodo de la oscilacion crtica a lazo cerrado puede ser arriesgado, ya que
en casos reales fuerza a la planta a operar cerca de la inestabilidad. En la practica,
tambien, resulta muy dificultoso mantener la amplitud constante. Una variante de este
metodo se muestra en la Fig. 5.37 [17], en donde se emplea un rele para conseguir una
oscilacion sostenida de perodo Tcrit pero de pequena amplitud a, para una ganancia
Kcrit = 4La , donde L es la ganancia del rele. Teniendo como datos Tcrit y Kcrit se
puede ahora usar la Tabla 5.6.

y a
u
e +L u y t
r
Gp(s)
e
L
Proceso Tcrit
Rel

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


sintonizacion mediante rele.

Ejemplo 5.16

Se desea controlar un sistema no autoregulado que posee la siguiente FT, empleando


la tecnica del rele de Astrom y Hagglund:
1
Gp (s) =
s(s + 1)4
Para propositos de comparacion emplear los controladores PID estandar, PI D inter-
activo y PI Dy mejorado. Tambien determinar las ecuaciones de estado del sistema.

Solucion: La primera parte del programa relay.m listado abajo, el cual usa el dia-
grama de bloques de la Fig. 5.37(a), permite obtener el primer y segundo grafico de
la Fig. 5.39 para una magnitud del rele de L = 0.1. El diagrama de bloques de la
Fig. 5.38 se emplea para determinar las cinco ecuaciones de estado del sistema:

x1 = x1 + x2 x2 = x2 + x3

x3 = x3 + x4 x4 = x4 + x5 x5 = u
De la oscilacion sostenida mostrada en el primer grafico de la Fig. 5.39 se desprenden
los parametros: a = 0.25 y Tcrit = 15, mientras que el segundo grafico ilustra la ley
de control u = L. Conocido los parametros a, Tcrit y L, ahora se puede calcular la
ganancia Kcrit y los parametros PID empleando la Tabla 5.6. El tercer grafico de la
Fig. 5.39 muestra la comparacion entre las salidas controladas. Tales resultados se
obtienen ejecutando la segunda parte del programa relay.m listado abajo.
98 Control PID SISO

u x5 1 x4 x3 x2 x1 = y
1 1 1 1
s s+1 s+1 s+1 s+1

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

2
SALIDA y

Tcrit
1
r a
0
0 10 20 30 40 50 60 70 80
TIEMPO
0.1
CONTROL u

0.1
0 10 20 30 40 50 60 70 80
TIEMPO
SALIDAS CONTROLADAS

2
PIDy
SALIDA

PID y PID
0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)

1
Fig. 5.39: Respuesta al escalon del sistema de control del sistema Gp (s) = s(s+1) 4

empleando un rele (grafico superior), ley de control u (grafico medio) y respuestas


estabilizadas empleando controladores tipo PID, PI D y PI Dy (grafico inferior).

% relay.m RESPUESTA A LAZO CERRADO CON UN REL E COMO CONTROLADOR


clear all; close all; clc;
% PROGRAMA PARA PRODUCIR LA OSCILACION 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 ESCALON r Y ERROR e
if(e>=0), u=L; else u=-L; end % FUNCION RELE
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.6 Metodos de Sintonizacion de Controladores PID 99

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


% PROGRAMA PARA CONTROLAR EL PROCESO Gp(S)
s=tf(s); Gp=1/(s*(s+1)^4); % FT DEL PROCESO
a=0.25; Tcrit=15; Kcrit=4*L/(pi*a); % TOMADO DE LA OSCILACI ON SOSTENIDA
Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PAR AMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); %CONTROL PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gcd,1); % CONTROL PI_Dy
subplot(313); step(PID,k,PI_D,k,PI_Dy); title(SALIDAS CONTROLADAS);
xlabel(TIEMPO); ylabel(SALIDA y); print -deps -f relay

Metodo 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.40, en la cual Ko es la ganancia del controlador para
obtener el decaimiento mostrado y To es el perodo correspondiente. Los parametros
de sintonizacion del controlador se obtienen luego de la Tabla 5.7.

Ko y To
r r e u y
PID Proceso A
R R

A/4
t t

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

Tabla 5.7: Metodo de las oscilaciones amortiguadas de Harriot para hallar los
parametros KC , TI y TD .

100
Tipo Controlador GC (s) KC = BP TI TD
P KC Ko 0
 
PI KC 1 + T1I s Ko To /1.5 0
 
PID KC 1 + T1I s + TD s Ko To /1.5 To /6

Ejemplo 5.17
100 Control PID SISO

Se desea controlar el sistema nivel del ejemplo 5.9 empleando la tecnica de las oscila-
ciones amortiguadas de Harriot. Para propositos de comparacion emplear los contro-
ladores ideal (PID, ecuacion (5.16)), dependiente (PI D, ecuacion (5.24)) y mejorado
(PI Dy, ecuacion (5.29)), empleando las estructuras (b) y (c) de la Fig. 5.25.
Solucion: El primer grafico de la Fig. 5.41 muestra la respuesta al escalon en donde
el segundo maximo de la oscilacion es un cuarto del primer maximo, la cual se obtiene
empleando un controlador proporcional de ganancia GC (s) = Ko = 0.55 en la Fig.
5.25(a). Notar que la oscilacion posee un perodo igual a To = 10 s. Con estos valores
se calculan los parametros del controlador PID empleando la Tabla 5.7. El segundo
grafico de la Fig. 5.41 ilustra la comparacion entre las salidas controladas. Tales
resultados se obtienen ejecutando el programa harriot.m listado abajo.

OSCILACIN SOSTENIDA

1.5
AMPLITUD

1
A
0.5
A/4

0
0 2 4 6 8 10 12 14 16 18 20
TIEMPO (sec)

SALIDAS CONTROLADAS

1.5
PIDy
SALIDA

1
PID
PID
0.5

0
0 2 4 6 8 10 12 14 16 18
TIEMPO (sec)

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


controladas (grafico inferior) para el ejemplo 5.17.

% harriot.m CONTROL PID, PI_D Y PI_Dy MEDIANTE EL M ETODO DE HARRIOT


clear all; close all; clc;
s=tf(s); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1);
[num,den]=pade(1,3); Gtau=tf(num,den); % TIEMPO MUERTO exp(-tau*s)
Gp=GH*Gtau*GT; % Gp: PROCESO, GH: FLOTADOR
Ko=0.55; G_c0=feedback(Ko*Gp,GF); subplot(211); step(G_c0,20); grid
title(OSCILACION 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.6 Metodos de Sintonizacion de Controladores PID 101

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

Ejemplo 5.18
Se desea controlar un sistema no autoregulado que posee la siguiente FT, empleando
la tecnica de las oscilaciones amortiguadas de Harriot.
1
Gp (s) =
s(s + 1)4
Para propositos de comparacion emplear los controladores ideal (PID, ecuacion (5.16)),
dependiente (PI D, ecuacion (5.24)) y mejorado (PI Dy, ecuacion (5.29)), emplean-
do las estructuras (b) y (c) de la Fig. 5.25.
Solucion: El primer grafico de la Fig. 5.34 muestra la respuesta al escalon a manera
de una oscilacion sostenida que se obtiene empleando un controlador proporcional de
ganancia GC (s) = Kcrit = 0.569. Notar que la oscilacion posee un perodo igual a crit
= 15 s. Con estos valores se calculan los parametros del controlador PID empleando
la Tabla 5.6. El segundo grafico de la Fig. 5.34 ilustra la comparacion entre las salidas
controladas. Tales resultados se obtienen ejecutando el programa zn2.m listado abajo.

% 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(OSCILACION AMORTIGUADA); xlabel(TIEMPO); ylabel(AMPLITUD);
To=20; % TOMADO DE LA OSCILACION AMORTIGUADA
Kc=Ko; Ti=To/1.5; Td=To/6; N=10; % PARAMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); % CONTROL PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gcd,1); % CONTROL PI_Dy
subplot(212); step(PID,k,PI_D,k,PI_Dy,k); title(SALIDAS CONTROLADAS);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f harriota

5.6.3. Metodos Basados en la Minimizacion 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 0 0
Z Z
IST E = t2 e(t)dt IST 2 E = t2 e2 (t)dt (5.37)
0 0
102 Control PID SISO

OSCILACIN AMORTIGUADA

1.5
AMPLITUD

1
A
0.5
A/4

0
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)

SALIDAS CONTROLADAS

1.5
SALIDA

PID
PID
0.5

0
0 10 20 30 40 50 60
TIEMPO (sec)

Fig. 5.42: Oscilaciones sostenidas (grafico superior) para KC = Ko y respuestas con-


troladas (grafico inferior) para el ejemplo 5.18.

Metodo de Shinskey
La Tabla 5.8 se aplica al control de sistemas que poseen una FT de la forma
Gp (s) = Kp e s . En esta tabla, las reglas de sintonizacion que emplean controladores
I y PI, se atribuyen a Shinskey [?] (ver referencias de [29]). Las reglas que emplean
un controlador PID se atribuyen a Nomura et al. (ver referencias de [29]). El control
se realiza empleando la configuracion de la Fig. 5.1(a).

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

Metodo Controlador Gc (s) Kc Ti Td


1
Mnimo ITAE Ti s Indefinido 1.6Kp 0
 
0.4
Mnimo ITAE Kc 1 + T1i s Kp 0.5 0
 
0.2635
Mnimo ITAE Kc 1 + T1i s + Td s Kp 0.361 0.1911

Ejemplo 5.19
5.6 Metodos de Sintonizacion de Controladores PID 103

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.
Solucion: La Fig. 5.43 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa shinskey.m listado abajo.

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

1.2

0.8

0.6

0.4
SALIDA

0.2

0.2

0.4

0.6

0.8
0 5 10 15
TIEMPO (sec)

Fig. 5.43: Control PI del sistema Gp (s) = Kp e s usando ITAE (ejemplo 5.19).

% shinskey.m CONTROL PI USANDO ITAE


clear all; close all; clc;
s=tf(s); Kp=2; tau=2;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp*Gtau; % Gp: SISTEMA
Kc=0.4/Kp; Ti=0.5*tau; Td=0; % PARAMETROS 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

Metodo de WangJuangChan
Las formulas de sintonizacion de de WangJuangChan (citadas en [24]) se basan
en el criterio de optimizacion de IT AE y se pueden aplicar a sistemas que aceptan
un modelo dinamico como el de la ecuacion (5.33). estas formulas son:
(0.7303 + 0.5307T / )(T + 0.5 )
Kc =
Kp (T + )
Ti = T + 0.5
0.5 T
Td = (5.38)
T + 0.5
104 Control PID SISO

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


lador estandar.
Rango de /T 0.1< /T <1 1.1< /T <2

Tipo Parametro ISE ISTE IST2 E ISE ISTE IST2 E

a1

b1
PI Kc = Kp T a1 0.980 0.712 0.569 1.072 0.786 0.628
b1 0.892 0.921 0.951 0.560 0.559 0.583
T
PI Ti = a2 +b2 ( /T ) a2 0.690 0.968 1.023 0.648 0.883 1.007
b2 0.155 0.247 0.179 0.114 0.158 0.167

a1

b1
PID Kc = Kp T a1 1.048 1.042 0.968 1.154 1.142 1.061
b1 0.897 0.897 0.904 0.567 0.579 0.583
T
PID Ti = a2 +b2 ( /T ) a2 1.195 0.987 0.977 1.047 0.919 0.892
b2 0.386 0.238 0.253 0.220 0.172 0.165

b3
PID Td = a3 T T a3 0.489 0.385 0.316 0.490 0.384 0.315
b3 0.888 0.906 0.892 0.708 0.839 0.832

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


correspondiente al controlador mejorado, entonces este controlador toma la forma:
Kc Td s
u(s) = Kc e(s) + e(s) y(s) = P (s) + I(s) + D(s) (5.39)
Ti s 1 + Td s/N
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 senal de referencia, tal como
se muestra en la Fig. 5.1(a).

Ejemplo 5.20
K
p
Se desea controlar el sistema con FT Gp (s) = T s+1 e s , con Kp = 2, = 2 y T = 20
usando el criterio ITAE y un controlador PID.
Solucion: La Fig. 5.44 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh1.m listado abajo.
% zh1.m CONTROL PID USANDO ISE
clear all; close all; clc; s=tf(s); Kp=2; tau=2; T=20; % tau/T=0.1
a1=1.048; b1=-0.897; a2=1.195; b2=-0.386; a3=0.489; b3=0.888; N=10;
5.6 Metodos de Sintonizacion de Controladores PID 105

Tabla 5.10: Metodo de Zhuang y Atherton para determinar Kc , Ti y Td en un con-


trolador cuya accion derivativa se encuentra en la realimentacion.

Rango de /T 0.1< /T <1 1.1< /T <2

Tipo Parametro ISE ISTE IST2 E ISE ISTE IST2 E

a1

b1
PID Kc = Kp T a1 1.260 1.053 0.942 1.295 1.120 1.001
b1 0.887 0.930 0.933 0.619 0.625 0.624
T
PID Ti = a2 +b2 ( /T ) a2 0.701 0.736 0.770 0.661 0.720 0.754
b2 0.147 0.126 0.130 0.110 0.114 0.116

b3
PID Td = a3 T T a3 0.375 0.349 0.308 0.378 0.350 0.308
b3 0.886 0.907 0.897 0.756 0.811 0.813

CONTROL PID USANDO ISE

1.5

0.5
SALIDA

0.5

1.5
0 5 10 15 20 25 30 35 40
TIEMPO (sec)

Kp
Fig. 5.44: Control PID del sistema Gp (s) = T s+1 e s usando ISE (ejemplo 5.20).

[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
106 Control PID SISO

Metodo de Kessler
La Tabla 5.11 muestra las formulas propuestas por C. Kessler [25] para determinar
los parametros de un controlador PID basado en criterios optimos de diseno.

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

Sistema Gp (s) Tipo Controlador Gc (s) Kc Ti Td


 
K T1
(1+T1 s)
Qp PI Kc 1 + T1I s 2Kp T 4T
(1+t s)
T = t ; T1 > 4T
 
Kp Q 1 T1
(1+T1 s)(1+T2 s) (1+t s) PID Kc 1 + Ti s (1 + Td s) 2Kp T 4T T2
T = t ; T1 > 4T
T1 > T 2 > T
 
Q Kp PI Kc 1 + 1 1
4T
s (1+t s) Ti s 2Kp T
T = t
 
K
Qp 1 1
s(1+T2 s) (1+t s) PID Kc 1 + Ti s (1 + Td s) 2Kp T 4T T2
T = t ; T 2 > T

Ejemplo 5.21

La dinamica simplificada de un avionhelicoptero se puede representar mediante la


siguiente FT:
1
Gp(s) =
(1 + 20s)(1 + 10s)(1 + 0,5s)
Controlar dicho sistema empleando el metodo de Kessler.

Solucion: La FT del sistema, que es de tercer orden, se puede formular como:


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

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


T1 > T2 > T . Este proceso se puede estabilizar con un controlador PID, tal como se
observa en la Fig. 5.45, resultado que se obtiene ejecutando el programa kessler2.m
listado abajo.
% kessler2.m CONTROL PID EMPLEANDO EL METODO DE KESSLER
clear all; close all; clc;
Kp=1; T1=20; T2=10; mu=1; tmu=0.5; Tsigma=tmu; s=tf(s);
Gp=Kp/(1+T1*s)/(1+T2*s)/(1+tmu*s); % PROCESO
subplot(211); step(Gp); grid;
title(RESPUESTA AL ESCALON); xlabel(TIEMPO); ylabel(AMPLITUD);
KC=T1/(2*Kp*Tsigma); TI=4*Tsigma; TD=T2;
5.6 Metodos de Sintonizacion de Controladores PID 107

RESPUESTA AL ESCALN

0.8
AMPLITUD

0.6

0.4

0.2

0
0 20 40 60 80 100 120 140 160 180
TIEMPO (sec)

SALIDA CONTROLADA

1.5

1
SALIDA

0.5

0
0 2 4 6 8 10 12
TIEMPO (sec)

Fig. 5.45: Respuesta al escalon (grafico superior) y respuesta controlada (grafico in-
ferior) empleando un controlador PID de acuerdo al metodo de Kessler.

Gc=KC*(1+1/TI/s)*(1+TD*s); PID=feedback(Gp*Gc,1); % CONTROL PID


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

Ejemplo 5.22

Se desea controlar un sistema posicionador empleando el metodo de Kessler, sabiendo


que su FT es:
1
Gp(s) =
s(1 + s)(5 + s)

Solucion: La FT del sistema se puede reformular como:


0,2 Kp
Gp(s) = = Q
s(1 + s)(1 + 0,2s) s(1 + T2 s) (1 + t s)
Este sistema, de acuerdo a Kessler, es del tipo PITn con 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.46 (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.46.
108 Control PID SISO

RESPUESTA AL ESCALN

300

250
AMPLITUD

200

150

100

50

0
0 500 1000 1500
TIEMPO (sec)

SALIDA CONTROLADA

1.5

1
SALIDA

0.5

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
TIEMPO (sec)

Fig. 5.46: Respuesta al escalon (grafico superior) y respuesta controlada (grafico in-
ferior) empleando un controlador PID de acuerdo al metodo de Kessler.

% kessler1.m CONTROL PID EMPLEANDO EL METODO 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 ESCALON); 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

Kp
Metodo de Xue para Procesos con FT: s
e s
El metodo de Xue se aplica a procesos que poseen una FT con parte proporcional,
parte integral y tiempo muerto:
Y (s) Kp s
G(s) = = e (5.40)
U (s) s
Debido a la presencia del integrador, los controladores PD y PID resultan ser los
adecuados para controlar tales sistemas. La Tabla 5.12 muestra los valores de los
5.6 Metodos de Sintonizacion de Controladores PID 109

coeficientes empleados por los parametros de los controladores PD y PID [27]:


a1
ControladorP D : Kc = Td = a 2
Kp
a3
ControladorP ID : Kc = Ti = a 4 Td = a 5 (5.41)
Kp

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.23
Kp
Se desea controlar el sistema con FT Gp (s) = s e s , con Kp = 2, T = 20 y = 2
usando el criterio ISE y un controlador PID.
Solucion: La Fig. 5.47 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh2.m listado abajo.
% zh2.m CONTROL PID USANDO ISE
clear all; close all; clc; s=tf(s); Kp=2; tau=2; T=20; % tau/T=0.1
a1=1.03; a2=0.49; a3=1.37; a4=1.496; a5=0.59; N=10;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp/(s)*Gtau; % SISTEMA A CONTROLAR
Kc=a3/(Kp*tau); Ti=a4*tau; Td=a5*tau;
Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID
step(PID,k); title(CONTROL PID USANDO ISE);
xlabel(TIEMPO); ylabel(SALIDA); print -deps -f zh2

Kp
Metodo de Xue para Procesos con FT: s(T s+1)
e s
La FT del siguiente sistema posee parte proporcional, parte integral, parte retardo
de primer orden y tiempo muerto:

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

Debido a la presencia del integrador, los controladores PD y PID resultan los ade-
cuados para controlar tales sistemas. Las formulas para determinar los parametros
del controlador PD son [27]:

2
Kc = Td = T (5.43)
3Kp
110 Control PID SISO

CONTROL PID USANDO ISE

0
SALIDA

5
0 5 10 15 20 25 30 35
TIEMPO (sec)

Kp
Fig. 5.47: Control PID del sistema Gp (s) = s e s (ejemplo 5.23).

mientras que para el controlador PID, se tiene:


" 0.65 #
1.111T 1 T Ti
Kc = h  i2 Ti = 2 1 + Td = (5.44)
Kp 2 T 0.65 4
1+

Ejemplo 5.24

Kp
Se desea controlar el sistema con FT Gp (s) = s(T s+1) e s , con Kp = 2, T = 2 y =
2.
Solucion: La Fig. 5.48 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh3.m listado abajo.

% 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
5.6 Metodos de Sintonizacion de Controladores PID 111

CONTROL PID

1.6

1.4

1.2

1
SALIDA

0.8

0.6

0.4

0.2

0.2
0 50 100 150
TIEMPO (sec)

Kp
Fig. 5.48: Control PID del sistema Gp (s) = s(T s+1) e s usando ISE (ejemplo 5.24).

Kp
Metodo de Xue para Procesos con FT: T s1
e s
La FT del siguiente sistema posee parte proporcional, parte integral, parte retardo
de primer orden inestable y tiempo muerto:

y(s) Kp
G(s) = = e s (5.45)
u(s) Ts 1

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

Ejemplo 5.25

Kp
Se desea controlar el sistema con FT Gp (s) = T s1 e s , con Kp = 2, T = 2 y = 2.
Solucion: La Fig. 5.48 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh3.m listado abajo.
112 Control PID SISO

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

3
SALIDA

3
0 10 20 30 40 50 60 70
TIEMPO (sec)

Kp
Fig. 5.49: Control PI-D del sistema Gp (s) = s1 e s usando ISTSE (ejemplo 5.25).

% 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
5.7 Control PID del Sistema SDA 113

5.7. Control PID del Sistema SDA


La FT del sistema de despegue y aterrizaje SDA mostrada en la Fig. 5.50(a) posee
la forma:
(s) Kt Kt n2
Gs (s) = = =
Im (s) Js2 + Bs + K K s2 + 2n s + n2
K B
n2 = = (5.47)
J 2Jn
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.50(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.50 se puede demostrar que:


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

Tambien, de la Fig. 5.50 se deduce:

Gc (s) G s (s)
r(s) = R e(s) I m(s) Kt (s)
s Ki
Kp+ + Kd s
s Js 2 + Bs + K

Fig. 5.50: (a) Sistema SDA compensado con un controlador PID mejorado. (b) Sis-
tema SDA simplificado.

(s) Gc Gs (s)
=
r(s) 1 + Gc Gs (s)

Por consiguiente:

(s) Kt (Kp s + Ki + Kd s2 )
= (5.49)
r(s) Js3 + (B + Kd Kt )s2 + (K + Kt Kp )s + Kt Ki

La ecuacion caracterstica estandar de un sistema de tercer orden se obtiene ense-


riando un sistema de segundo orden con uno de primer orden (un polo po ):

n2 1 n2
= (5.50)
(s2 + 2n s + n2 ) (s + po ) s3 + (2n )s2 + (n2 + 2n po )s + n2 po
114 Control PID SISO

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


del controlador PID:

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

POSICIN ANGULAR CONTROLADA DEL SISTEMA SDA

0.9

0.8

0.7

0.6
NGULO

0.5

0.4

0.3

0.2

0.1

0
0 0.1 0.2 0.3 0.4 0.5 0.6
TIEMPO [s] (sec)

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

% 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(POSICION 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 actu-
ador, tal como se observa en la la Fig. 5.52(b). El actuador es un control PI de la
corriente Im , tal como se muestra en la Fig. 5.52(a). El voltaje de armadura Vm del
motor CC se formula como:
dIm Im (s) 1
Vm = R m I m + L m =
dt Vm (s) Lm s + R m
5.8 El Efecto Windup 115

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


Fig. 5.52(a) se deduce:
Kpp s+Kii
I(s) Lm
= Rm +Kpp
(5.52)
Ir (s) 2
s + s + Kii 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:
Kpp = Rm + 2n Lm Kii = n2 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.51 sigue siendo valida.

G pi(s) G i (s)
Ir K ii Vm Im
1
K pp +
s L ms + R m

(a)

Gc (s) G a(s) G s (s)


r(s) = R e(s) I r (s) I m(s) Kt (s)
s Ki
Kp+ + Kd s
s Js 2 + Bs + K
Actuador

(b)

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

5.8. El Efecto Windup


En toda implementacion practica, la senal 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.53 muestra el diagrama en Simulink empleado para explicar el efecto
windup. Ejecutando primero el programa windup.mdl y luego el programa windup-
graf.m se obtiene la Fig. 5.54, en donde se observa que cuando ocurre un cambio
116 Control PID SISO

tipo escalon en la senal de referencia r(t) (primer grafico), la senal de error positiva
inicial (1 y(t)) se hace bastante grande, provocando que la senal de control u(t)
(segundo grafico) alcance rapidamente el valor lmite de saturacion u m . A pesar de
que la senal de salida y(t) iguala al valor de referencia en el tiempo t1 , lo cual genera
una senal de error (1 y(t)) negativa debido al valor grande de la senal y i en la salida
del integrador, la senal de control u(t) permanece en el valor de saturacion maximo
um . Esto causa que la salida y(t) se incremente continuamente hasta que se alcance
el tiempo t2 , y la accion negativa de la senal de error comience a tener efecto.
Observar en el primer grafico de la Fig. 5.54 que el efecto windup provoca un
aumento del sobreimpulso y del tiempo de estabilizacion en la senal controlada y(t).
Por otro, si el algoritmo PID empleado es del tipo discreto, el fenomeno windup
no es tan notorio, aun cuando la senal de control este limitada, debido a que el
algoritmo discreto no emplea la suma de los errores para generar el termino integral
del controlador. Lo que se emplea es el calculo recursivo como veremos mas adelante.

windup .mdl ILUSTRA EL EFECTO WINDUP

yi
u Scope
y
Step =1 yi
u
1 10
5
1.12s yi u s4 +10s3 +35s2 +50s+24
Kc=5 Ti =1.12 um =3.5
Transfer Fcn
y
t
Clock y
t

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

Existen diversos metodos para eliminar en gran medida el efecto windup en sis-
temas de control que emplean controladores PID continuos. Uno de estos metodos
se muestra en el diagrama Simulink de la Fig. 5.55, el cual muestra un controlador
PID con mecanismo anti windup. Los parametros del controlador son los usuales:
tiempo integral Ti , tiempo derivativo Td y ganancia proporcional Kc . La salida y(t)
del sistema controlado y la correspondiente fuerza de control u(t) se muestran en la
Fig. 5.56, las cuales se obtienen ejecutando primero el programa antiwindup.mdl y
luego el programa antiwindupgraf.m.
Por otra parte, cuando el controlador conmuta de manual a automatico, el valor
de la senal de control u(t) puede cambiar de un valor a otro, no importando que la
senal de error e sea cero. Este salto debe de evitarse y en este caso se dice que la
conmutacion de manual a automatico debe de ser bumpless (sin saltos). Para lograr
conmutacion sin saltos, el algoritmo de control debe de ejecutarse siempre, aun en el
caso en que la operacion del sistema de control se encuentre en modo manual. Esta
correccion se puede realizar en el correspondiente programa en tiempo real.
5.9 El Algoritmo PID Discreto Modificado 117

EFECTO WIND UP
2

SALIDA y(t)
t1
1

0
0 2 4 6 8 10
TIEMPO [s]
4
CONTROL u(t)

t2
2

0
0 2 4 6 8 10
TIEMPO [s]
INTEGRADOR yi(t)

10

0
0 2 4 6 8 10
TIEMPO [s]

Fig. 5.54: Graficos para explicar el efecto windup.

1/1.2 tt
rr
REF. Clock tt
rr GANANCIA 1/Ti
1
1/1.2 Scope
s uu

1/Ti INTEGRADOR uu

10
1.3
s4 +10s3 +35s2 +50s+24
Kc SATURACIN
SISTEMA A CONTROLAR

1 yy
0.1 du/dt
0.5s+1 yy
FILTRO Td DERIVADOR antiwindup .m CONTROLADOR PID CON MECANISMO
ANTI WINDUP. EL FILTRO SE PUEDE SELECCIONAR
A VOLUNTAD.

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

5.9. El Algoritmo PID Discreto Modificado

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


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

CONTROLADOR PID CON MECAISMO ANTI WINDUP


1.4

1.2

1
SALIDA y(t)

0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]

2.5
CONTROL u(t)

1.5

1
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]

Fig. 5.56: Salida controlada y senal de control correspondiente a la Fig. 5.55.

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

de(t) d
= (r(t) y(t))
dt dt
Este fenomeno es conocido en ingles como derivative kick (puntapie derivativo) y
su efecto se puede apaciguar si es que utilizamos como senal de entrada unicamente
la senal realimentada y en lugar de e. De esta forma, (5.15) con de(t) dy(t)
dt = dt se
convierte en:  Z 
1 dy
u = Kd e + edt Td
Ti dt
Otra modificacion importante es filtrar la accion derivativa del controlador PID origi-
nal mediante un filtro de primer (o segundo) orden para disminuir el ruido derivativo.
Esta caracterstica limita la amplificacion del ruido de medicion de alta frecuencia
en la salida del controlador. La senal de control sera as menos ruidosa y la ganancia
en alta frecuencia permanecera dentro de cotas apropiadas. Un termino derivativo
practico, ya que un derivador puro no es realizable, puede aproximarse mediante un
termino de primer orden que posee una constante de tiempo Tf , el cual a menudo se
normaliza con respecto al tiempo derivativo Td . Por consiguiente, el derivador puro
del algoritmo PID se modifica como sigue:

Td s Td
Td s  Tf =
1 + Tf s N
5.9 El Algoritmo PID Discreto Modificado 119

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:
Kc K c Td s
u(s) = Kc e(s) + e(s) y(s) = P (s) + I(s) + D(s) (5.54)
Ti s 1 + Tf s

Kc K c Td s Td
P (s) = Kc e(s) I(s) = e(s) D(s) = y(s) Tf =
Ti s 1 + Tf s N
Los terminos P , I y D representan las partes proporcional, integral y derivativa del
controlador PID modificado, respectivamente.
Sea k el tiempo discreto, el cual esta relacionado con el tiempo continuo t mediante
la relacion t = T k, donde T es el tiempo de muestreo o discretizacion. La parte
proporcional P = Kc e(s) de (5.54) se discretiza directamente, obteniendose:

P = Kc e(k) (5.55)
Rt
Para la parte integral I(s) = TKics e(s), o lo que es lo mismo: I(t) = Kc
Ti 0 e(t)dt
empleamos la aproximacion trapezoidal (ver ejemplo A.46):
k k1
Kc X [e(i) + e(i 1)] Kc X [e(i) + e(i 1)] Kc [e(k) + e(k 1)]
I(k) = T = T +
Ti 2 Ti 2 Ti T 2
i=1 i=1
Kc T
I(k) = I(k 1) + [e(k) + e(k 1)] (5.56)
2Ti
Kc T d s
La parte derivativa D(s) = 1+T f s
y(s) se puede escribir como:

(1 + Tf s)D(s) = Kc Td s y(s)

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:

Td Td
D(k) = {D(k 1) Kc N [y(k) y(k 1)]} Tf = (5.57)
N T + Td N
El algoritmo PID discreto usado en las implementaciones en tiempo real resulta:

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;
120 Control PID SISO

Tabla 5.14: Metodo de la curva de reaccion para determinar los parametros PID. K c ,
Ki y Kd .

100
Tipo Controlador Gc (s) Kc = BP Ki = Kc /Ti K d = K c Td
1 T
P Kc Kp +Ts 0 0
Ki 0.9 T 0.27 Ts T
PI Kc + s Kp +0.5Ts 0.5Ki Kp ( +0.5Ts )2 0
Ki 1.2 T 0.6 Ts T 0.5 T
PID Kc + s + Kd s Kp +Ts 0.5Ki Kp ( +0.5Ts )2 Kp T s

Tabla 5.15: Metodo de las oscilaciones sostenidas para hallar los parametros K C , TI
y TD .

100
Tipo Controlador Gc (s) Kc = BP Ki = Kc /Ti K d = K c Td
P KC 0.5Kcrit 0
Ki
PI Kc + s 0.45 Kcrit 0.5Ki 0,54 K crit
Tcrit 0
Ki
PID Kc + s + Kd s 0.6 Kcrit 0,5Ki 1.2 K crit
Tcrit 0.075Kcrit Tcrit
Ts

Si el tiempo de muestreo Ts es suficientemente pequeno, entonces se pueden usar las


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

Ejemplo 5.26

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


de control discreto PID. las ecuaciones de estado del manipulador son:

x1 = x2
N B n2 KE nKact
x2 = x2 + x2 + u
M M M Ra Ra M

Solucion: 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.57). 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;
5.9 El Algoritmo PID Discreto Modificado 121

0.8

Posicin angular (rad)


0.6

0.4

0.2

0
0 10 20 30 40 50 60 70 80 90 100

0.5

0.4
Seal de control u (V)

0.3

0.2

0.1

0
0 10 20 30 40 50 60 70 80 90 100
Tiempo [s]

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

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(Posicion angular (rad))
subplot(2,1,2); plot(ejex,U); grid; ylabel(Se~nal de control u (V))
xlabel(Tiempo [s]); print -f -deps pidposfijo
122 Control PID SISO

5.10. Problemas
Problema 5.1

Las FTs Ga (s) hasta Gj (s) corresponden a sistemas a ser controlados. Determinar
para cada una de ellas los siguientes modelos dinamicos aproximados:

Kp s Kp
GA (s) = e GB (s) = ; 0.104
Ts + 1 (Tn s + 1)n T

Kp
GC (s) = ; < 0.104
(T1 s + 1)(T2 s + 1) T

2 4 3s + 2
Ga (s) = Gb (s) = Gc (s) =
(s + 1)3 (s + 1)5 (s + 1)3
2
s 3s + 6 10s + 4
Gd (s) = 2 2
Ge (s) = es/2
(s + 1)(s + 3s + 6)(s + s + 2) (s + 1)2 (s + 3)3
6 3 3
Gf (s) = Gg (s) = es Gh (s) = e2s
(s + 1)6 (s + 1)(2s + 1) (s + 1)4
7 3s + 6
Gi (s) = e30s Gj (s) = es/10
(17s + 1)(6s + 1)3 (s + 1)(4s + 1)

Problema 5.2

Realizar los controles PID, PID y PI-Dy de los sistemas Ga (s) al Gj (s) en el dominio
de s empleando MATLAB. Usar al menos cinco distintas reglas de sintonizacion para
cada sistema. El objetivo de control es que la senal controlada siga a una referencia
constante.

Problema 5.3

Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) empleando
SIMULINK. Usar al menos una regla de sintonizacion, distinta de las otras, para
cada sistema. El objetivo de control es que la senal controlada siga a una referencia
constante.

Problema 5.4

Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) en el dominio
del tiempo discreto k=t/T (T es el tiempo de muestreo) empleando MATLAB. Usar al
menos tres distintas reglas de sintonizacion para cada sistema. El objetivo de control
es que la senal controlada (la salida) tienda a cero en presencia de un disturbio tipo
escalon a la entrada del sistema. En esta situacion, denominada rechazo al disturbio,
la senal de referencia es nula.

Problema 5.5
5.10 Problemas 123

Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) empleando
SIMULINK. Usar al menos una regla de sintonizacion, distinta de las otras, para cada
sistema. El objetivo de control es que la senal controlada (la salida) tienda a cero en
presencia de un disturbio tipo escalon a la entrada del sistema. En esta situacion,
denominada rechazo al disturbio, la senal de referencia es nula.

Problema 5.6

Realizar los controles PI o PID segun corresponda, de los sistemas G k (s) al Gt (s)
empleando el metodo de Kessler.
2
Gk (s) = Q
(1 + 20s) (1 + 0.1s)3 (1 + 0.3s)3
9
Gl (s) = Q
(1 + 20s)(1 + 30s) (1 + 0.2s)4 (1 + 0.5s)2
2
Gm (s) = Q
s (1 + s)3 (1 + 2s)2
8
Gn (s) = Q
s(1 + 20s) (1 + 0.1s)3 (1 + 0.3s)3
5
Go (s) =
(1 + 0.1s)(1 + 0.2s)(1 + 30s)(1 + 0.3s)2 (1 + 0.5s)2
3
Gp (s) =
s(1 + s)(1 + 2s)(1 + 40s)(1 + 0.2s)4 (1 + 0.5s)3
6
Gq (s) =
(1 + s)(1 + 2s)(1 + 40s)(1 + 50s)(1 + 0.2s)4 (1 + 0.5s)3
8
Gr (s) =
(s + 10)(s + 9)(s + 2)
4
Gs (s) = Q 2
s (s + 3) (s + 5)(s + 6)
4
Gt (s) = Q 2
s (1 + s) (1 + 2s)(1 + 0.9s)

Problema 5.7

Para el sistema del ejemplo ??, disenar controladores PID, PID y PIDy que cum-
plan el siguiente objetivo de control: la senal controlada x1 debe de seguir a la senal
en estado estable x1e con un porcentaje de de sobrenivel menor del 5 %, tiempo de
estabilizacion menor de 8 s y error en estado estable nulo. Tener en cuenta que para
la situacion descrita, y1 = x1 x1e debe de ser nulo.

Problema 5.8

Para el sistema del ejemplo ??, disenar controladores PID, PID y PIDy que cum-
plan el siguiente objetivo de control: la senal controlada y = 2 debe de seguir una
senal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiem-
po de estabilizacion menor de 4 s y error en estado estable nulo.

Problema 5.9
124 Control PID SISO

Para el sistema del ejemplo ??, disenar controladores PID, PID y PIDy que cum-
plan el siguiente objetivo de control: la senal controlada x1 debe de seguir una senal
de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de
estabilizacion menor de 4 s y error en estado estable nulo.

Problema 5.10

Para el sistema de la Fig. 2.14(c), disenar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la senal controlada debe de seguir una
senal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 4 s y error en estado estable nulo.

Problema 5.11

Para el sistema de la Fig. ??(b), disenar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la senal controlada debe de seguir una
senal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 10 s y error en estado estable nulo.

Problema 5.12

Para el sistema del ejemplo ??, disenar controladores PID, PID y PIDy que cum-
plan el siguiente objetivo de control: la senal controlada q3 debe de seguir una senal
de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de
estabilizacion menor de 4 s y error en estado estable nulo.

Problema 5.13

Para el sistema del problema ??, disenar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la senal controlada debe de seguir una
senal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 4 s y error en estado estable nulo.

Problema 5.14

Para el sistema del problema ??, disenar controladores PID, PID y PIDy que
cumplan el siguiente objetivo de control: la senal controlada iR debe de seguir una
senal de referencia constante con un porcentaje de de sobrenivel menor del 3 %,
tiempo de estabilizacion menor de 4 s y error en estado estable nulo.
Captulo 6

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 senal normalizada requerida por el contro-
lador, el cual se supone que es electronico. Este controlador genera la senal de control
u, la cual se convierte a una senal 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 senal de error e = r y en este diagrama. De
hecho, el algoritmo de control alojado en el bloque Controlador, genera la senal de
control u procesando la senal de error e.
En muchas aplicaciones, el control en cascada es una estrategia que mejora sig-
nificativamente 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 senal 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.
126 Otras Estrategias de Control

r Controlador
y u r e u y
Controlador Proceso P
Convertidor Medicin
Producto
Agua caliente (b)
(a)
r1 C1 r1 y2 y1
u 1= r 2 e1 u1 e 2 u2
C1 C2 P2 P1
y1 u C2
2
y2 M2
u 1= r 2
Producto M1
Agua caliente
(d)
(c)

Fig. 6.1: Circuito de control simple (a) y su diagrama de bloques (b). Circuito de
Control en cascada. (c) y su diagrama de bloques (d).

En el control en cascada, el controlador que controla la variable controlada prin-


cipal, 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 comun 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 diseno 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 diseno 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 diseno:

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


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

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:
3 1 0.8
P2 (s) = P1 (s) =
(0.2s + 1) (3s + 1)(s + 1)) (4s + 1)(s + 1)

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

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

1.5
y(t)

0.5

0
0 5 10 15 20 25 30 35 40
TIEMPOx60 (sec)

SALIDA CONTROLADA

60
TEMPERATURA C

50

40

30

20

10

0
0 10 20 30 40 50 60
TIEMPOx60 (sec)

Fig. 6.2: Oscilaciones sostenidas para Kcrit = 2.18 (grafico superior) y respuesta
controlada (grafico inferior) para el caso control con lazo simple del ejemplo 6.1.

% casc1a.m CONTROL PI DEL LAZO SIMPLE VIA LA OSCILACION SOSTENIDA


128 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(OSCILACION SOSTENIDA), xlabel(TIEMPOx60), ylabel(y(t))
Tcrit=12.5; % TOMADO DE LA OSCILACION SOSTENIDA CON Kcrit=2.18
Kc=0.65*0.45*Kcrit; Ti=0.85*Tcrit; % PAR AMETROS PI CON POSTSINTONIA
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 diseno 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(OSCILACION DEL LAZO SECUNDARIO)
Tcrit2=2.4; % TOMADO DE LA OSCILACION 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 OSCILACION 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 Razon 129

SISTEMA DE CONTROL EN CASCADA

2
y2(t)

0
0 1 2 3 4 5 6 7 8 9 10
TIEMPOx60 (sec)
CONTROL DEL LAZO SECUNDARIO

2
y2(t)

0
0 5 10 15 20 25
TIEMPOx60 (sec)
OSCILACIN DEL LAZO PRIMARIO

2
y1(t)

0
0 5 10 15 20 25 30 35 40
TIEMPOx60 (sec)
SALIDA CONTROLADA EN CASCADA
TEMPERATURA C

100

50

0
0 10 20 30 40 50 60 70
TIEMPOx60 (sec)

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

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

Tcrit 13
= = 5.41
Tcrit1 2.4

6.2. Control de la Razon


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


y2
e2 = V y 1 y 2 = 0 V =
y1

u
V r2
y1 y2

q2
Qemador
q1
Horno

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

Ejemplo 6.2

Disenar y simular el sistema de control que mantenga la razon combustibleaire en


10 en la Fig. 6.4. Esto es: q2 /q1 = V = 10.

Solucion: 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(RAZON V(t)), title(CONTROL DE LA RAZON V = y2/y1)
print -f -deps razon1r, print -s -deps razon1s
6.3 Control Anticipativo 131

razon1.mdl
th
y1
Clock th
y1 1
u V
1/y1 V=y2/y1
Aire Inversa

r2 e2 2
PID
10 0.5s+1
Product Scope
Producto PI Controller
Set V y2 Vlvula + caudal y 2
y2
y2

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

CONTROL DE LA RAZN V = y2/y1


45

40

35

30
RAZN V(t)

25

20

15 y2(t)
V = 10
10
y1(t)
5

0
0 200 400 600 800 1000
TIEMPO [s]

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 re-
ferencia, 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 senal
controlada y la senal 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 util 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 senal de control requerida para mantener
132 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 anticipa-
tivo 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
senales 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:
Gd (s)
0 = Gp Ga (s) + Gd (s) Ga (s) =
Gp (s)

Para tener una idea mas clara de la estructura del controlador anticipativo G a (s)
disenado, asumamos que:
Kp Kd
Gp (s) = ep s Gd (s) = ed s
Tp s + 1 Td s + 1
Por consiguiente:
Gd (s) Kd Tp s + 1 (p d )s
Ga (s) = = e
Gp (s) K p Td s + 1
En conclusion, el controlador anticipativo resulta ser un compensador de adelanto
atraso.

d
Gd(s)

u y
Ga(s) Gp(s)

Fig. 6.7: Sistema de control anticipativo.

El sistema de control anticipativo trabaja bien siempre que Gp (s) y Gd (s) repre-
senten lo mas fiel posible al proceso y al disturbio. Evidentemente, en presencia de
errores de modelado, el desempeno del sistema de control anticipativo va a disminuir.
Existen dos casos notables para los que no se debe de emplear el control anticipativo.
El primero ocurre cuando el grado del polinomio del denominador de Gp (s) es mayor
que el grado del polinomio del denominador de Gd (s). Por ejemplo, sean:
1 1
Gp (s) = Gd (s) =
s2 + bs + c s+f
donde a, b, c y f son constantes. El controlador anticipativo se calcula como:
Gd (s) s2 + bs + c
Ga (s) = =
Gp (s) s+f
6.3 Control Anticipativo 133

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:

1 1
Gd (s) = es Gp (s) = e2s
s2 + bs + c s+f

Entonces:
Gd (s) s+f
Ga (s) = = 2 es
Gp (s) s + bs + c
Notar que el controlador anticipativo resultante es no implementable fsicamente
debido a que su tiempo muerto es positivo.
En el diseno de Ga (s) puede resultar en una funcion de transferencia inestable.
Esto sucede cuando el modelo Gp (s) del proceso no es de mnima fase. Es decir,
cuando posee al menos un cero positivo. Para ilustrar esta situacion asumamos que
(notar que Gp (s) es de mnima fase):

s1 1
Gp (s) = Gd (s) =
s+1 4s + 1

que resulta en el siguiente controlador anticipativo inestable:

Gd (s) s+1
Ga (s) = =
Gp (s) (s 1)(4s + 1)

Ejemplo 6.3

Disenar y simular el sistema de control anticipativo mostrado en la Fig. 6.7 para:

5 3
Gd (s) = Gp (s) =
2s + 1 0.5s + 1

Solucion: La Fig. 6.8 muestra el diagrama Simulink correspondiente a la Fig. 6.7.


El controlador anticipativo se determina de:

Gd (s) 2.5s + 5
Ga (s) = =
Gp (s) 6s + 3

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


antic1graf.m cuyo listado se muestra abajo. Observar en el grafico inferior que la
salida controlada y(t) tiende a cero. Es decir, y(t) no esta afectada por el disturbio.

% antic1graf.m
clear all; close all; clc; load th; load d; load u; load y;
subplot(211), plot(th,d,th,u), xlabel(TIEMPO [s]), ylabel(d(t),u(t)),
title(VARIABLES d(t) y u(t) EN EL CONTROL ANTICIPATIVO)
subplot(212), plot(th,y), xlabel(TIEMPO [s]), ylabel(y(t)),
title(SALIDA CONTROLADA y(t))
print -f -deps antic1r, print -s -deps antic1s
134 Otras Estrategias de Control

antic 1.mdl

d
d 5
2s+1 Scope 1
d Gd(s) u
y

2.5s5 3
th
6s+3 0.5s+1
Clock th
Ga(s) Gp(s)

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

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


2

1
d(t),u(t)

0
u
d
1

2
0 200 400 600 800 1000
TIEMPO [s]
x 10
3 SALIDA CONTROLADA y(t)
2

0
y(t)

6
0 200 400 600 800 1000
TIEMPO [s]

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 actuan sobre la senal controlada. Por otro lado, el control realimentado
puede rechazar el efecto de los disturbios no medibles sobre la senal controlada,
as como tambien corregir el efecto de los errores de modelado en el lazo de control.
Cae entonces por su propio peso, que si deseamos sacar ventaja de las bondades
de cada uno de los esquemas descritos, debemos de aplicar simultaneamente control
anticipativo y control realimentado , tal como se ilustra en la Fig. ??, donde d 1 es un
disturbio medible con FT Gd1(s) conocida, mientras que d2 es un disturbio no medible
pero con FT Gd1(s) conocida. El disturbio d2 se incluye para dar mayor generalidad
al problema, tal como se trata en el el siguiente ejemplo.
6.3 Control Anticipativo 135

d1 Gd1(s)

G a (s)
r e u y
G c (s) G p (s)

d2 Gd2(s)

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

Ejemplo 6.4

Disenar y simular el sistema de control anticipativorealimentado mostrado en la Fig.


6.10 cuando:

5e2s 3e3s 6e5s


Gp (s) = Gd1 (s) = Gd2 (s) =
0.8s + 1 5s + 1 9s + 1
Solucion: La Fig. 6.11 muestra el diagrama Simulink correspondiente a la Fig. 6.10.
El controlador anticipativo se determina de:

Gd1 (s) 3 0.8s + 1 s


Ga (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
Clock th
d1 5s+1
d1 Gd1(s) Tiempo u
y
muerto : 3

4.8s0.6 5
5s+1 0.8s+1
Ga(s) Tiempo Gp(s) Tiempo
Scope
muerto : 1 muerto : 2

6 r
PID
9s+1
r = 10 Gc(s)
Gd1(s)1 Tiempo
muerto : 5
d2

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


136 Otras Estrategias de Control

SALIDA y(t) CONTROLADA


14

12

10

8
y(t)

0
0 20 40 60 80 100 120 140 160 180 200
TIEMPO [s]

CONTROL u(t)
3.5

2.5
u(t)

1.5

0.5
0 20 40 60 80 100 120 140 160 180 200
TIEMPO [s]

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 varia-
bles 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 danos tanto en el proceso como en el producto. Dichas variables se limi-
tan 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 137

Observar que existen dos lazos de control de presion, uno para la aspiracion y el
otro para la impulsion. En condiciones normales, la presion se controla con el lazo
de impulsion. Si por alguna circunstancia de falla, cae la presion de aspiracion de
la bomba por debajo del lmite de seguridad, entonces actua el conmutador selector
para que entre en funcionamiento el lazo de aspiracion en lugar del de impulsion.
El conmutador selector trabaja como sigue. En principio, el conmutador selecciona
la mnima de las dos senales que le llegan. Ademas, el set point del controlador
de aspiracion tiene que ser inferior a los valores normales de trabajo. En operacion
normal, la senal de salida del controlador de impulsion alcanza sus valores de trabajo.
Si la presion de aspiracion baja demasiado hasta llegar a ser inferior a su set point,
entonces el controlador de aspiracion genera una senal que es inferior a la que sale
del controlador de impulsion. En esta situacion, el conmutador hace que entre en
operacion el lazo de control de la aspiracion. En este caso, el conmutador es del tipo
LSS (Low Selector Switch).

PIC

PIC PY

LAZO 2 LAZO 1

PT
PT
IMPULSION
ASPIRACION
BOMBA

(a)

TRANSMISOR
DE IMPULSION
LAZO 1
CONTROLADOR
DE IMPULSION PROCESO
VALVULA
PRESION
DE CONTROL
CONMUTADOR IMPULSION
SELECTOR PROCESO
VALVULA
PRESION
CONTROLADOR DE CONTROL ASPIRACION
DE ASPIRACION
LAZO 2
TRANSMISOR
DE ASPIRACION
(b)

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.
138 Otras Estrategias de Control

LIMEA DE DESCARGA LINEA DE VAPOR

PT
LAZO 2 LAZO 1

LT LC PC
LSS

AGUA

CALEFACTOR (a)

TRANSMISOR
DE PRESION
LAZO 1
CONTROLADOR
DE PRESION
VALVULA PROCESO
DE CONTROL PRESION
CONMUTADOR
LSS
VALVULA PROCESO
CONTROLADOR DE CONTROL NIVEL
DE NIVEL
LAZO 2
TRANSMISOR
DE NIVEL
(b)

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 senal o fuerza de control manipule dos o
mas actuadores (por ejemplo, dos valvulas de control). En esta situacion, el numero
de variables de control es mayor que el numero 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 139

Selector VA VB
uA uB 100%

Abertura
de vlvula
Pr
0% P
P 15 psig
VA VB 3 7.5 9 11.5
Reactor
u u

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 con-
trol, controladores MIMO. En este captulo se desarrollan tres tecnicas de diseno de
controladores PID MIMO.

7.1. Control MIMO va Desacoplamiento


El controlador MIMO a disenar 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 diseno 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)
142 Control PID Multivariable

Controlador
PID MIMO Sistema
r(s) e(s) u(s) y(s)
G c(s) G p (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 transfer-


encia del controlador, e(s) es el vector error del sistema y r(s) es el vector de senales
deseadas o set points. En (7.3), el reemplazo de y(s) en e(s) produce:

y(t) = G(s)r(s) G(s) = (I + Go )1 Go Go (s) = Gp Gc (s) (7.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 represen-


tado 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) Gp (s) = C(sI A)1 B + D (7.5)

7.1.1. No Interaccion
Los elementos ubicados fuera de la diagonal principal de G(s) determinan el grado
de interaccion entre las diferentes entradas de referencia ri con respecto a las salidas
yi . Para obtener desacoplamiento completo entre tales entradas y salidas, se requiere
que G(s) sea diagonal, esto es:

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

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

1G11 (s) 0
1
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) = .. (7.8)
.

Gpp (s)
0 1Gpp (s)

7.1.2. Exactitud Estatica


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:


|r|
e(s) = r(s) y(s) = r(s) G(s)r(s) = [I G(s)]r(s) = [I G(s)]
s
|r|
donde |r| es la magnitud de r(s), cuya transformada de Laplace es s . Aplicando el
teorema del valor final en la ecuacion anterior se obtiene:

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


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

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


Adj (I A)
[I A]1 =
det(I A)
144 Control PID Multivariable

donde Adj significa adjunta, det es la operacion determinante y la ecuacion polinomi-


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

Adj [I + Go (s)]
[I + Go (s)]1 =
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

Disenar 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 diseno 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.
Solucion: 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:
 
1 Gp11 (s) Gp12 (s)
Gp (s) = C(sI A) B + D =
Gp21 (s) Gp22 (s)
7.1 Control MIMO va Desacoplamiento 145

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


el programa mimopidsimb.m:
Kp11 Kp11
  Tp11 s+1 Tp11 s+1
Gp11 (s) Gp11 (s)
Gp (s) = = (7.14)
Gp21 (s) Gp21 (s) Kp21 (Tpa s+1) Kp21 (Tpa s+1)
(Tpb s+1)(Tpc s+1) (Tpb s+1)(Tpc s+1)

Para disenar la matriz de control Gc (s), podemos asumir una matriz G(s) de la
forma:
1
Tniv s+1 0
G(s) = (7.15)
1
0 Ttemp s+1

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


cia de primer orden, cuyas races caractersticas se ubican en la parte izquierda
del plano s, entonces podemos asegurar que se cumple el requerimiento de es-
tabilidad. 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 s K c12 1 + Tc12 s

GC (s) =
   
(7.17)
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.

Simulacion 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 supe-
rior derecha) controlados, cumplen las especificaciones de diseno establecidas en el
enunciado del ejemplo.
146 Control PID Multivariable

e1 1 u1 K p11
K c11 1+
r1 T c11 s T p11 s+1 y1

1 K p11
K c12 1+
T c12 s T p11 s+1

1 K p21 (T pas+1)
K c21 1+
T c21 s (T pbs+1)(T pcs+1)
r2 y2
1 K p21 (T pas+1)
K c12 1+
e2 T c12 s u2 (T pbs+1)(T pcs+1)

Fig. 7.2: Diagrama de bloques del sistema de control PID MIMO disenado.

Step Response

From: In(1) From: In(2)


1

0.8
NIVEL
To: Out(1)

0.6

0.4

0.2
Amplitude

0
1

0.8
To: Out(2)

0.6 TEMPERATURA
0.4

0.2

0
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time (sec)

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

% mimopidsimb.m CONTROL PI MULTIVARIABLE DEL TANQUE


clear all; close all; clc;
% PARAMETROS 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 147

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

Simulacion 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
u1 = Kc11 (1 + ) e1 Kc12 (1 + ) e2
Tc11 s Tc12 s
1 1
u2 = Kc21 (1 + ) e1 + Kc12 (1 + ) e2 (7.18)
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
i=0 i=0
Xk Xk
Kc21 Kc12
u2 (k) = Kc21 e1 (k) + T e1 (i) Kc12 e2 (k) T e2 (i)
Tc21 Tc12
i=0 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:
k1 k1
Kc11 X Kc12 X
u1 (k 1) = Kc11 e1 (k 1) + T e1 (i) Kc12 e2 (k 1) T e2 (i)
Tc11 Tc12
i=0 i=0
k1
X k1
X
Kc21 Kc12
u2 (k 1) = Kc21 e1 (k 1) + T e1 (i) Kc12 e2 (k 1) T e2 (i)
Tc21 Tc12
i=0 i=0
148 Control PID Multivariable

Teniendo en cuenta que:


k
X k1
X k
X k1
X
e1 (i) = e1 (i) + e1 (k) e2 (i) = e2 (i) + e2 (k)
i=0 i=0 i=0 i=0

entonces:
Kc11
u1 (k) u1 (k 1) = Kc11 [e1 (k) e1 (k 1)] + T e1 (k)
Tc11
Kc12
Kc12 [e2 (k) e2 (k 1)] T e2 (k)
Tc12
Kc21
u2 (k) u2 (k 1) = Kc21 [e1 (k) e1 (k 1)] + T e1 (k)
Tc21
Kc12
Kc12 [e2 (k) e2 (k 1)] T e2 (k) (7.19)
Tc12
Para programacion en tiempo real prescindimos del argumento k. Por consiguiente,
las ecuaciones anteriores toman la forma:
Kc11 Kc12
u1 = u1 + Kc11 (e1 e1p ) + T e1 Kc12 (e2 e2p ) T e2
Tc11 Tc12
Kc21 Kc12
u2 = u2 + Kc21 (e1 e1p ) + T e1 Kc12 (e2 e2p ) T e2 (7.20)
Tc21 Tc12
donde e1p y e2p son los errores pasados de e1 y e2 respectivamente. La ecuacion de
estado del sistema se discretiza como:
x(k) x(k 1)
x
= = A x(k) + B u(k)
T
x(k) = x(k 1) + T (A x(k) + B u(k))
donde:          
x(1) y1 h u1 qC
x= = = u= =
x(2) y2 u2 qD
Para programacion en tiempo real, la ecuacion de estado discreta del sistema toma
la forma:
x = x + T (A x + B u) (7.21)
La simulacion del sistema se logra ejecutando el programa pidmimotanque.m, el cual
toma en cuenta las ecuaciones discretas (7.20) y (7.21). El resultado de la simu-
lacion se muestra en la Fig. 7.4. Observar que el controlador PID MIMO estabiliza
simultaneamente el nivel y la temperatura cumpliendo las especificaciones de diseno
del caso.
% pidmimotanque.m CONTROL PID MIMO DEL SISTEMA TANQUE CERRADO CON AGUA
clear all; close all; clc;
% PARAMETROS
C=0.6; D=0.0159; d=0.0065; beta=d/D; E=(1-beta^4)^(-1/2); rhoD=996;
g=9.81; a=C*E*pi*d^2*rhoD*sqrt(2*g)/4; A=0.0314; rhoH=988; Cp=4186.8;
rhoC=998; thetaH=50+270.15; thetaC=20+270.15;
% VALORES ESTACIONARIOS
barh=0.4; bartheta=35+270.15; barqC=2.16e-4; barqH=0.5e-4;
7.1 Control MIMO va Desacoplamiento 149

1
NIVEL [m]
0.5

0
0 500 1000 1500 2000 2500 3000 3500 4000
TIEMPO [s]
AGUA FRA [m /s]

0.01
3

0.005

0
0 500 1000 1500 2000 2500 3000 3500 4000
TIEMPO [s]
TEMPERATURA [C]

60

40

20
0 500 1000 1500 2000 2500 3000 3500 4000
AGUA CALIENTE [m /s]

TIEMPO [s]
3

0.005

0.01
0 500 1000 1500 2000 2500 3000 3500 4000
TIEMPO [s]

Fig. 7.4: Resultado de la simulacion del sistema de control PID MIMO del tanque:
nivel y temperatura controladas.

barqD=2.16e-4; Rh=barh/barqD;
% MODELO LINEAL, DONDE: df1/dx1=a11, df1/dx2=a12, etc.
a11=-a/(2*A*sqrt(barh)); a12=0;
a21=a*bartheta*barh^(-1.5)/(2*A) - ...
(rhoC*thetaC*barqC+rhoH*thetaH*barqH)/(rhoD*A*barh^2);
a22=-a/(A*sqrt(barh)); b11=1/A; b12=1/A;
b21=rhoC*thetaC/(rhoD*A*barh); b22=rhoH*thetaH/(rhoD*A*barh);
AA=[a11 0;a21 a22]; BB=[b11 b11;b21 b22]; CC=[1 0;0 1]; DD = [0 0;0 0];
Tniv=60; Ttemp=100;
% PARAMETROS DEL CONTROLADOR: SE SETERMINAN DE Gc EN mimopidsimb.m
Kc11=b22/((b22-b21)*b11*Tniv); Ti11=b22/(a21*b11-b22*a11);
Kc12=1/((b22-b21)*Ttemp); Ti12=-1/a22; Kc22=Kc12; Ti22=Ti12;
Kc21=b21/((b22-b21)*b11*Tniv); Ti21=b21/(a21*b11-b21*a11);
% CONDICIONES INICIALES
e1p=0; e2p=0; u1=0; u2=0; x = [0.4;20+270.15]; % NIVEL + TEMPERATURA
T = 0.2; M = 20000; % PERIODO DE MUESTREO Y NUMERO DE MUESTRAS M
for k = 1:M % INICIO DEL LAZO DE CONTROL
if(k >= 0 && k <= M/4), r1 = 0.5; r2=20+273.15; % SE ~
NALES DE REFERENCIA
elseif(k >= M/4 && k <= M/2), r1 = 0.2; r2=40+273.15;
elseif(k >= M/3 && k <= 3*M/4), r1 = 0.4; r2=70+273.15;
elseif(k >= 3*M/4 && k <= M), r1 = 0.3; r2=20+273.15; end
R1(k) = r1; R2(k) = r2;
150 Control PID Multivariable

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

Disenar 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 diseno son: 0 % de sobrenivel, error
en estado estable nulo y tiempo de estabilizacion menor de 20 s para ambas salidas.
Valorar todos los parametros de la planta en 1.
Solucion: 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= x3
y = u =
y2 u2
x4
Se puede demostrar (problema 2.6) que las ecuaciones de estado y de salida son:

x = Ax + Bu y = Cx

0 0 1 0
0 0 0 1

A = K1 K1 B1
m B1
m1 m1 1 m1
K1
m2 (K1m+K
2
2) B1
m 2
(B1m+B
2
2)


0 0
 
0 0 1 0 0 0
B=
m1
C=
1
0 0 1 0 0
1
0 m2
El programa mimopid02.m, cuyo listado se muestra abajo, simula el sistema de con-
trol pedido. En el resultado de la simulacion (Fig. 7.5) se observa que las salidas
controladas y1 (grafico superior izquierda) e y2 (grafico superior derecha) controla-
dos, cumplen las especificaciones de diseno requeridas.
7.2 Control PID MIMO con Desacopladores 151

Step Response

From: In(1) From: In(2)


1

0.8
y1

To: Out(1)
0.6

0.4

0.2
Amplitude

0
1

0.8
y2
To: Out(2)

0.6

0.4

0.2

0
0 20 40 60 0 20 40 60
Time (sec)

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; % PARAMETROS
% ECUACION 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 inter-
accion 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 diseno 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,
152 Control PID Multivariable

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


 
y1 (s)
= D1 (s)Gp11 (s) + Gp12 (s) = 0 (7.23)
u2 (s) u1 =0
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:
Gp12 (s) Gp21 (s)
D1 (s) = D2 (s) = (7.25)
Gp11 (s) Gp22 (s)
Las ecuaciones que gobiernan la dinamica del sistema mostrado en la Fig. 7.6 son:

e1 u 1 m1
G c1(s) Gp11(s)
r1 y1

D 1 (s) G p12(s)

D 2 (s) G p21(s)

r2 m2 y2
G c2 (s) G p22(s)
e2 u2

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 (7.26)
Por consiguiente:
       
y1 m1 u1 e1
y= m= u= e=
y2 m2 u2 e2
y(s) = Gp (s)m(s) m(s) = D(s)u(s) u(s) = Gc (s)e(s)
     
Gp11 Gp12 1 D1 Gc1 0
Gp = D= Gc = (7.27)
Gp21 Gp22 D2 1 0 Gc2
y = Go e Go = Gp DGc (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 153

Ejemplo 7.3 Control PID con Desacopladores del Sistema de Plataformas

Disenar un controlador PID MIMO con desacopladores para controlar las salidas y 1
e y2 del sistema de plataformas propuesto en el problema 2.6 y mostrado en la Fig.
2.26. Las especificaciones de diseno son: 0 % de sobrenivel, error en estado estable
nulo y tiempo de estabilizacion menor de 20 s para ambas salidas. Valorar todos los
parametros de la planta en 1.
Solucion: El programa mimopid03.m, cuyo listado se muestra abajo, emplea el mod-
elo del sistema de plataformas del Ejemplo 7.2 y simula el sistema de control pedido.
En el resultado de la simulacion (Fig. 7.7) se observa que las salidas controladas y 1
(grafico superior izquierda) e y2 (grafico superior derecha) controlados, cumplen las
especificaciones de diseno requeridas.

Step Response

From: In(1) From: In(2)


1

0.8
y1(t)
To: Out(1)

0.6

0.4

0.2
Amplitude

0
1

0.8 y2(t)
To: Out(2)

0.6

0.4

0.2

0
0 20 40 60 0 20 40 60
Time (sec)

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; % PARAMETROS
% ECUACION 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
154 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 numero m de entradas ui es igual al numero de salidas yi . En el caso
que Gp (s) fuera rectangular, el numero de entradas m generadas por el controlador
MIMO correspondiente, siempre debe de ser mayor que el numero 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 diseno de la subseccion
7.3.1. Las relaciones siguientes se desprenden de la Fig. 7.8(a):

Controlador
P MIMO Sistema
r(s) e(s) u(s) y(s) r(s) 1
y(s)
K G p (s) (I+KG p (s)) KG p (s)

(a) (b)

Fig. 7.8: (a) Sistema de control MIMO con controlador P. (b) Sistema equivalente.

1
y(s) = Gp (s)u(s) u(s) = Ke(s) y(s) = [I + KGp (s)] KGp (s)

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

7.3.1. Procedimiento de Diseno


El procedimiento para disenar un sistema de control P MIMO empleando el cri-
terio de Hurwitz es como sigue:
1. Formular la matriz T(s) = I + KGp (s) (ver Fig. 7.8(b)), donde:

Gp11 (s) Gp1n (s)
.. .. ..
K = diag[K1 , . . . , Kn ] Gp (s) = . . .
Gpn1 (s) Gpnn (s)

2. Determinar la ecuacion caracterstica del sistema a lazo cerrado a partir de:

D(s) = det[T(s)] = sn + a1 sn1 + + an1 s + an = 0


7.3 Control P MIMO empleando el Criterio de Hurwitz 155

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 compor-
tamiento 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 especifica-
ciones de diseno 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



a1 a3 a5 ... 0 0
1 a2 a4 ... 0 0

0 a1 a3 ... 0 0

H= 0 1 a2 ... 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 H3 = det 1 a2 a4 Hn = detH
1 a2
0 a 1 a3

Ejemplo 7.4 Control P MIMO de un Sistema

Empleando el procedimiento de diseno de la subseccion 7.3.1 disenar un controlador


P MIMO para un sistema con:
  " #
3 280
K1 0 s
K= Gp (s) = 0.05 s(s+6)(s+30)
200
0 K2 s s(s+6)(s+30)

las especificaciones de diseno para los dos canales (salidas) son: tiempo de estabi-
lizacion menor de 2 s, error en estado estable nulo y porcentaje de sobrenivel tambien
nulo.
Solucion: Ejecutar el programa pmimo1.m, el cual sigue el procedimiento de diseno
arriba establecido. La Fig. 7.9 muestra que las salidas controladas del sistema cumplen
las especificaciones de diseno para las ganancias K1 = 2 y K2 = 1.5. Es necesario
anotar que con estos valores de las ganancias, se satisfacen simultaneamente las condi-
ciones H1 > 0, H2 > 0, H3 > 0 y H4 > 0 establecidas en el criterio de Hurwitz.
156 Control PID Multivariable

Step Response

From: In(1) From: In(2)


1

0.8
y1(t)
0.6
To: Out(1)

0.4

0.2
Amplitude

1.5

1
To: Out(2)

y2(t)
0.5

0
0 1 2 3 0 1 2 3
Time (sec)

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, disenar los controladores
MIMO para controlar el nivel y la temperatura del sistema tanque cerrado descrito
en la subseccion ??. Las especificaciones de diseno tanto para el nivel como para
la temperatura son: 0 % de sobrenivel, error en estado estable nulo y tiempos de
estabilizacion lo mas rapido posible.

Problema 7.2 Sistema de Plataformas


7.4 Problemas 157

Basado en la tecnica descrita en la seccion 7.3, disenar 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 diseno 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, disenar los contro-
ladores PID MIMO para el manipulador polar vertical mostrado en la La Fig. ?? y
descrito en el problema ??. Las especificaciones de diseno de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo mas
rapido posible.

Problema 7.4 Manipulador Polar Horizontal

Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador polar horizontal mostrado en la La Fig. ??
y descrito en el problema ??. Las especificaciones de diseno de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo mas
rapido posible.

Problema 7.5 Manipulador Robotico TraslacionalEsferico (MRTE)

Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador robotico traslacionalesferico mostrado en
la Fig. ?? y descrito en el problema ??. Las especificaciones de diseno de las sal-
idas controladas son: 0 % de sobrenivel, error en estado estable nulo y tiempos de
estabilizacion lo mas rapido posible.

Problema 7.6 Manipulador Robotico Esferico (MRE3)

Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador robotico esferico de 3GDL mostrado en la
Fig. ?? y descrito en el problema ??. Las especificaciones de diseno de las salidas
controladas son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabi-
lizacion lo mas rapido posible.

Problema 7.7 Motor Sncrono de Iman Permanente

Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el motor sncrono de iman permanente descrito en el prob-
lema ??. Las especificaciones de diseno de las corrientes iq e id controladas son: 0 %
de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo mas rapido
posible.

Problema 7.8 Manipulador Robotico Traslacional (MRT)


158 Control PID Multivariable

Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador robotico traslacional mostrado en la Fig. ??
y descrito en la seccion ??. Las especificaciones de diseno de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo mas
rapido posible.

Problema 7.9 Manipulador Robotico Esferico (MRE)

Basado en las tecnicas descritas en las secciones 7.1, 7.1 y 7.3, disenar los contro-
ladores PID MIMO para el manipulador robotico esferico mostrado en la Fig. ?? y
descrito en la seccion ??. Las especificaciones de diseno de las salidas controladas
son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacion lo
mas rapido posible.
Apendice A

Matematica para Sistemas


Continuos

Este Captulo presenta la matematica requerida en los Captulos siguientes. Los topi-
cos se desarrollan principalmente en el dominio continuo. El topico discretizacion directa
se desarrolla en el dominio discreto. Los numerosos ejemplos presentados se resuelven en
unos casos analticamente, en otros con ayuda del software MATLAB y en la mayora de
los casos empleando ambos metodos.
Los temas a tratar son: transformada de Laplace, matrices y determinantes, variable
de estado, discretizacion directa, sistemas con tiempo muerto y linealizacion de sistemas
continuos.

A.1. La Transformada Unilateral de Laplace


A.1.1. Definicion y Ejemplos
La transformada unilateral de Laplace G(s) de una funcion g(t) se define como:
Z
G(s) = L[g(t)] = g(t)est dt (A.1)
0

donde el numero complejo s = + j es la variable Laplaciana. La region de s en la


cual dicha integral converge se denomina Region 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 numeros
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 util para representar en forma algebraica
sistemas causales descritos por ecuaciones diferenciales lineales invariantes con el
160 Matematica para Sistemas Continuos

u
u
Agua
t
y
y
Vapor
t
t0 t1 t2 t3

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

Solucion: Usando la definicion dada en (A.1) con g(t) = (t):


Z Z  st 
st st e e e0 1
G(s) = L[(t)] = (t)e dt = (1)e dt = = =
0 0 s 0 s s

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

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

1 eT s
L[(t T )] = eT s G(s) = 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 161

Solucion: Usando la definicion dada en (A.1):


Z " #
e (s+a)t 1
L[eat ] = eat est dt = =
0 s+a s+a
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 = 0 1 si t = T
(t) = (t T ) = (A.3)
0 si t 6= 0 0 si t 6= T

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

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


para el analisis de sistemas lineales discretos con parametros invariantes con el tiempo.
Ejemplo A.5
Usando matematica simbolica, hallar la transformada de Laplace de las siguientes
funciones:
dg(t)
g1 (t) = a(t) g2 (t) = eat g3 (t) =
dt
Z t
g4 (t) = a sin(t)cos(t)2 g5 (t) = (t2 + cos 2t)
0
donde a es una constante real y positiva, (t) es la funcion escalon unitario definida
en el ejemplo A.1 y g(t) es una funcion arbitraria dependiente del tiempo.

Solucion: El programa laplace1.m resuelve el problema.


% laplace1.m TRANSFORMADA SIMBOLICA 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)
162 Matematica para Sistemas Continuos

A.1.2. 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 si-


guientes funciones:

s+3 Aw
G1 (s) = G2 (s) =
s2 (s a2 ) + w2

donde w es una constante real y positiva.


Solucion: 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 unico que se opone al
movimiento, donde b= 50 Ns/m es el coeficiente de friccion, entonces la dinamica
del sistema puede modelarse como:

dv(t)
mv(t) + bv(t) = u(t) v(t) =
dt
Determine la velocidad v(t) y la aceleracion v(t) del carro como respuesta a una
fuerza u(t) tipo escalon de 1 N. Considere que la fuerza comienza a actuar para una
velocidad inicial del carro de 2 m/s.

v velocidad
friccion
bv m u

Fig. A.2: Movil en movimiento.

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

1/m v(0)
V (s) = +
s(s + b/m) s + b/m
donde hemos usado el hecho de que U (s) = 1s debido a que la entrada u es del tipo
escalon. La salida v(t) se determina usando la Tabla A.1. Para el primer termino de
V (s) empleamos la formula (14) con n = 1, mientras que para el segundo termino
empleamos la formula (3). Por consiguiente:
1 b b
v(t) = L1 [V (s)] = (1 e m t ) + v(0)e m t
b
La derivada de v(t) produce la aceleracion pedida:
1 b
v = [1 bv(0)] e m t
m
Ejemplo A.8

Empleando las propiedades del valor inicial y del valor final de la Tabla A.2, deter-
minar tales valores para la velocidad del movil del problema anterior.
Solucion: El valor inicial de v(t) se determina de:

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


t0 s

El valor final v(t) se obtienen de:


1
lm v(t) = lm sV (s) =
t s0 b

A.1.3. La Funcion 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 dinami-
ca 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.
164 Matematica para Sistemas Continuos

Solucion: La FT del sistema se obtiene aplicando la propiedad de derivacion (2) de


la Tabla A.2), con v(0) = 0:

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

Observar que resulta una FT de primer orden. Como la entrada es un escalon unitario,
entonces U (s) = 1s . La salida se determina de:
 
1 1 1/m
v(t) = L [V (s)] = L
s(s + b/m)

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

1 b
v(t) = (1 e m t )
b
Ejemplo A.10

Empleando las propiedades del valor inicial y del valor final de la Tabla A.2, deter-
minar tales valores para la velocidad del movil del problema anterior.
Solucion: El valor inicial se determina de:

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

El valor final se obtiene de:


1
lm v(t) = lm sV (s) =
t s0 b

A.1.4. 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 nume-
rador. 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 Cs + D
r = 1, 2., 3, . . .
(as + b)r (as2 + bs + c)r

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

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

Ejemplo A.11
A.1 La Transformada Unilateral de Laplace 165

Tabla A.1: Transformadas unilaterales de Laplace

No G(s) g(t)

(1) 1 (t)
1
(2) s (t)
1
(3) s+a eat

(4) s2 + 2
sen t
s
(5) s2 + 2
cos t
s cos sen
(6) s2 + 2
cos(t + )

(7) (s+a)2 + 2
eat sent
(s+a)
(8) (s+a)2 + 2
eat cost
(s+a)cossen
(9) (s+a)2 + 2
eat cos(t + )

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


(10) s[(s+b)2 a2 ] a2 +b2
n!
(11) sn+1
; n! = n(n 1) . . . tn
1 tn
(12) (s+a)n+1 n! eat
s tn+1 at at
(13) (s+a)n+1 (n+1)! (1 + n )e
h P i
(at)
1 n =0 eat
1 !
(14) s(s+a)n+1 an+1

s [at2+(2+at)eat ]
(15) s2 (s+a)2 a3
1
(16) (s+a)(s+b) (eat ebt )/(b a)
s
(17) (s+a)(s+b) (bebt aeat )/(b a)
 
s 1 beat aebt
(18) s(s+a)(s+b) ab 1 ba
s t 1 a 1 1 at 1 bt

(19) s2 (s+a)(s+b) ab a2 b
b2
+ ba a2
e b2
e
1 eat ebt ect
(20) (s+a)(s+b)(s+c) (ba)(ca) + (ab)(cb) + (ac)(bc)
s aeat bebt cect
(21) (s+a)(s+b)(s+c) (ba)(ca) + (ab)(cb) + (ac)(bc)
166 Matematica para Sistemas Continuos

Transformadas unilaterales de Laplace (continuacion)

No G(s) g(t)

s2 a2 eat b2 ebt c2 ect


(22) (s+a)(s+b)(s+c) (ba)(ca) + (ab)(cb) + (ac)(bc)
h i
1 1 bceat caebt abect
(23) s(s+a)(s+b)(s+c) abc 1 (ba)(ca) (ab)(cb) (ac)(bc)
1 1
 at
(24) (s+a)(s+b)2 (ba)2
e [1 + (b a)t]ebt
s 1

(25) (s+a)(s+b)2 (ba)2
aeat + [a + (b a)bt]ebt
s2 1
 2 at
(26) (s+a)(s+b)2 (ba)2
a e [2ab b2 + (b a)b2 t]ebt
h i
1 1 b2 eat 2aba2 +ab(ba)t bt
(27) s(s+a)(s+b)2 ab 2 1 + (ba) 2 (ba) 2 e
1 1
 bt (cos at + b senat)

(28) s[(s+b)2 +a2 ] 2
a +b 2 1 e a
2
n 2
n
(29) s2 +2n s+n
2 < 1; d et sen d t
2
sn
(30) s2 +2n s+n
2 < 1; n2 et sen (d t )
2
n n
(31) s(s2 +2n s+n
2) < 1; 1 d et sen (d t + )
2
n t/T1 T t/T2
(32) s(s2 +2n s+n
2) > 1; 1 T1 e T1 T2
2e

p
d = n 1 2

= arc cos = arc cos (d /n )

= n
1
p
T1,2 = n ( 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)

7s2 2s + 1 Cs + D Es + F H
2 2
= 2 2
+ 2 +
(s + 2s + 4) (s + 1) (s + 2s + 4) s + 2s + 4 s + 1
 
s2 9 8 C D
2
=1 =1 +
s 1 (s + 1)(s 1) s+1 s1
A manera de ilustracion, el valor de H del segundo ejemplo se calcula multiplicando
ambos miembros de la igualdad por el factor (s + 1), para poder aislar H. La relacion
resultante se evalua con la solucion de la ecuacion (s + 1) = 0; es decir, se evalua en
A.1 La Transformada Unilateral de Laplace 167

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


= a1 G1 (s) + a2 G2 (s)
h i
(2) Derivacion L dg(t) = sG(s) g(0)
h ndt i
(3) Derivacion de orden n L d dtg(t)
n = sn G(s) sn1 g(0) sn2 dg(0)
dt
n2 n1
s dgdtn2(0) dgdtn1(0)
hR i
t
(4) Integral L 0 g(t)dt = G(s) s
(5) Desplazamiento en tiempo L[g(t t0 )] = et0 s G(s)
(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)
n
(10) Multiplicacion por tn L[tn g(t)] = (1)n d dsG(s)
n
R
(11) Division entre t L[g(t)/t] = 0 G(t)dt

s = 1 como sigue:
 2 
(7s 2s + 1)(s + 1) (Cs + D)(s + 1) (Es + F )(s + 1) 10
H= 2 2
2 2
+ 2
=
(s + 2s + 4) (s + 1) (s + 2s + 4) s + 2s + 4 s=1 9

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.5)
A(s) s p1 s p2 s pn
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 rj+1 rj+m1
+ + +
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.
168 Matematica para Sistemas Continuos

Ejemplo A.12
El programa fracp1.m descompone en fracciones parciales las expresiones:
B(s) s2 16 N (s) s+6 s+6
= 2 = = 2
A(s) s 1 M (s) (s 2)2 s 4s + 4
% fracp1.m DESCOMPOSICION EN FRACCIONES PARCIALES
clear all; close all; clc;
B = [1 0 -16]; A = [1 0 -1]; % PRIMER CASO
[r,p,k] = residue(B,A); % r = [7.5;-7.5]; p = [-1;1]; k = 1
M = [1 6]; N = [1 -4 4]; % SEGUNDO CASO
[rr,pp,kk] = residue(M,N); % rr = [1;8]; pp = [2;2]; kk = 0;
Por consiguiente:
B(s) 7.5 7.5 N (s) 1 8
= + +1 = +
A(s) s+1 s1 M (s) s 2 (s 2)2
Ejemplo A.13
Hallar la transformada inversa de Laplace de:
B(s) s4 + 2s3 + 3s2 + 2s + 1
G(s) = = 4
A(s) s + 4s3 + 7s2 + 6s + 2
Solucion: El programa fracp2.m calcula los vectores r, p y k:
r = [ r1 ; r2 ; rj ; rj+1 ] = [ 0.5i ; 0.5i ; 2 ; 1 ]
p = [ p1 ; p2 ; pj ; pj+1 ] = [(1 + i) ; (1 i) ; 1 ; 1] k=1
Dado que todas las races en el vector r son distintas:
r1 r2 rj rj+1
G(s) = k + + + +
s p1 s p2 s pj (s pj )2
0.5i 0.5i 2 1
= 1+ + + +
s + 1 i s + 1 + i s + 1 (s + 1)2
Es facil demostrar que:
0.5i 0.5i 1 2 1 n2
+ = =
s+1i s+1+i 2 (s2 + 2s + 2) 2 s2 + 2n s + n2

donde, por igualacion: n = 2, = 1/ 2. Por consiguiente:
1 2 2 1
G(s) = 1 + + +
2 (s + 2s + 2) s + 1 (s + 1)2
2

Empleando los pares (1), (29), (3) y (12) de la Tabla A.1, con n = 1, se obtiene:
 
1 1 n2 n2 t
L [1] = (t) L = e sen d t
s2 + 2n s + n2 d
   
1 1
L1 = et L1 = tet
s+1 (s + 1)2
donde, d = 1 y = 1, se calcularon empleando las formulas al final de la continuacion
de la Tabla A.1. Por consiguiente, juntando los resultados anteriores se obtiene:
g(t) = (t) + et sen t 2et + tet
A.2 Matrices y Determinantes 169

% fracp2.m DESCOMPOSICION EN FRACCIONES PARCIALES


clear all; close all; clc;
B = [1,2,3,2,1]; % POLINOMIO B(s)
A = [1,4,7,6,2]; % POLINOMIO A(s)
[r,p,k] = residue(B,A);
% r = [-0.5i;0.5i;-2;1]; p = [-1+i;-1-i;-1;-1]; k = 1

Ejemplo A.14

Resolver la siguiente ecuacion diferencial:


d2 y(t) dy(t)
2
+ 11 + 24y(t) = e6t
dt dt
dy(0)
con las condiciones iniciales nulas: dt = 0, y(0) = 0.
Solucion: Empleamos la propiedad de derivacion de la Tabla A.2:
 2 
d y(t) dy(t)  
L 2
+ 11 + 24y(t) = L e6t
dt dt
 
dy(0) 1
s2 Y (s) sy(0) + 11(sY (s) y(0)) + 24Y (s) =
dt s+6
1 3/80 1/60 1/48
Y (s) = = + +
(s + 3)(s + 8)(s + 6) s+3 s+8 s+6
3 1 1
y(t) = e3t + e8t + e6t
80 60 48

A.2. Matrices y Determinantes


Una matriz A de orden o dimension nm, escrita con letra mayuscula en negrita,
es un arreglo rectangular con sus elementos aij dispuestos en n filas y m columnas.
Es decir:

a11 . . . a1m
..
A = [aij ] = ... . i = 1, . . . , n; j = 1, . . . , m
an1 . . . anm
Los elementos de una matriz pueden ser numeros reales o complejos, funciones, otras
matrices, etc. Cuando n = 1, A se convierte en un vector fila. Cuando m = 1, A
toma la forma de un vector columna. Los vectores se denotan en negrita. Por ejemplo,
los vectores columna x(q) y fila y(q) de orden n y dependiente del argumento q se
representan como:

x1 (q)
 
x(q) = ... y(q) = y1 (q) yn (q)
xn (q)
Dos formas de denotar los correspondientes vectores fila y columna son:
   T
xT (q) = x1 (q) xn (q) ; x(q) = x1 (q) xn (q)
170 Matematica para Sistemas Continuos

T
y1 (q) y1 (q)

yT (q) = ... y(q) = ...
yn (q) yn (q)
donde el superndice T indica la operacion transpuesta, la cual transforma las colum-
nas en filas y viceversa.

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
numero de columnas de A es igual al numero 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:
m
X
cij = 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 171

Determinar si las matrices A y B conmutan o no.



1 2 3 1 2 3
A= 0 4 2 B = 0 4 2
2 6 9 2 6 9

Solucion: Dado C = AB y D = BA, basta demostrar que C 6= D, tal como se


ilustra en el siguiente programa.
% conmat.m CONMUTACION 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 numero complejo se designa como s = + j, donde j = 1 es la unidad
de los numeros imaginarios y tanto como son numeros 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 la matriz compleja B hallar A , AH , AT , BT , B y BH .



1 2 3 1j 3 3+j
A= 0 4 2 B= j 4 2 + j
2 6 9 2j 6+j 9
172 Matematica para Sistemas Continuos

Solucion:
1 0 2
A = A A H = AT = 2 4 6
3 2 9

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

1+j j 2+j
H T
B = (B ) = 3 4 6j
3 j 2 j 9

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: AT = A (A.6)


T
A es antisimetrica si: A = A (A.7)
H T T
A es hermitiana si: A = (A ) = (A ) = A (A.8)
H
A es antihermitiana si: A = A (A.9)
T T T 1
A es ortogonal si: AA = A A = I, entonces: A = A (A.10)
H H H 1
A es unitaria si: AA = A A = I, entonces: A =A (A.11)
H H
A es normal si: AA =A A (A.12)
+1
A es periodica si: A = A; es un entero positivo (A.13)

A es nilpotente si: A = 0; es un entero positivo (A.14)
1
A1 es la inversa de A si: A A=I (A.15)
A es singular si: det(A) = 0 (A.16)
A.2 Matrices y Determinantes 173

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

Solucion:  
H 1j 6j
T
A = (A ) =
2+j 5+j
 
1 H 1 4j
B = (A + A ) = BH = (B )T = B
2 4+j 5
 
1 H j 2
C = (A A ) = CH = (C )T = C
2 2 j

A.2.3. Determinantes y Matriz Inversa


Determinantes
El determinante de la matriz A = [aij ] de orden 2 es:
 
a11 a12
det = a11 a22 a12 a21 (A.17)
a21 a22

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:
n
X
det(A) = (1)1+j a1j det(A1j ) = (1)1+1 a11 det(A11 ) + (1)1+2 a12 det(A12 ) +
j=1

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  
1+1 a 22 a 23
det a21 a22 a23 = (1) a11 det +
a32 a33
a31 a32 a33
   
1+2 a21 a23 1+3 a21 a22
(1) a12 det + (1) a13 det (A.18)
a31 a33 a31 a32

Con relacion a dos matrices cuadradas A y B de orden n:


174 Matematica 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 multiplo 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
1
((A )T )1 = ((A1 ) )T ; det(A1 ) =
det(A)
Si A es una matriz no singular de orden 2, vale recordar que:
   
a b 1 1 d b
A= ; A = (A.19)
c d ad bc c a
Del mismo modo, si A es una matriz no singular de orden 3:

a b c
A= d e f
g h i
     
e f b c b c
det det det
 h i   h i   e f 
1 d f a c a c
1
A = det det det (A.20)
det(A)
 g i   g i   d f

d e a b a b
det det det
g h g h d e
det(A) = aei + gbf + cdh gec ahf idb

Ejemplo A.18

Comprobar simbolicamente las formulas de la inversa y del determinante de A dadas


en (A.20).

Solucion: Ejecutar el programa matinv.m mostrado abajo.


A.2 Matrices y Determinantes 175

% 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 SIMBOLOS
A = [a b c;d e f;g h i]; % MATRIZ SIMBOLICA
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 numero o funcion compleja donde <e[G] = Gr es su parte
real e =m[G] = Gi es su parte imaginaria. El valor absoluto o modulo o magnitud
de G se denota como |G| mientras que el angulo o argumento de G se expresa como
G. Luego, G se puede formular como:

G = <e[G] + j=m[G] = |G| G (A.21)


p  
=m[G]
|G| = (<e[G])2 + (=m[G])2 G = arctan
<e[G]
Si G es un vector o matriz compleja con elementos complejos Gij , entonces las ope-
raciones anteriores se ejecutan elemento por elemento; es decir:

<e[G] = <e[Gij ]; =m[G] = =m[Gij ]

G = |G| G = |Gij | 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 ]

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

127
5
1 1
3 60
2
135
2
j
3j

G 11 = 2 135 G12 = 5 127 G13 = 2 60

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


176 Matematica para Sistemas Continuos

% trnot.m NUMEROS 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 Codigo MATLAB


Suma A+B A + B
Resta AB A - B
Multiplicacion AB A*B
Multiplicacion A kappa*A
Conjugada A conj(A)
Transpuesta (A real) AT A
Transpuesta (A compleja) AT conj(A); A.
Hermitiana AH A
Potencia An A^n
Determinante det(A) det(A)
Inversa A1 inv(A)
Division izquierda A*X = B; X = A\ B
Division derecha X*A = B; X = B/A
Valor absoluto |A| abs(A)
Angulo A angle(A)
Parte real <e[A] real(A)
Parte imaginaria =m[A]
Pn imag(A)
Traza i=1 aii trace(A)
Matriz identidad In eye(n)

Ejemplo A.20

Dada la matriz cuadrada A, calcular B.



1j 2j 3j
A = 4j 2 3 + 5j
6 j 7 j 8 + 3j

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


B=
(2j + 1) traza(A)det(A)
Luego, comprobar que M = 12 (B + BH ) y N = 12 (B BH ) son sus matrices hermi-
tiana y antihermitiana respectivamente.

Solucion: El programa calmat.m calcula la matriz B pedida. Ademas, por ser her-
mitiana: M = MH , y por ser antihermitiana: N = NH . Entonces basta comprobar
que M MH = 0 y que N + NH = 0.
A.2 Matrices y Determinantes 177

% calmat.m CALCULO 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

Multiplicacion con Particion de Matrices. Dos matrices Anm y Bmp (los


subndices indican las dimensiones) pueden ser particionadas como sigue:

A n 1 m1 A n 1 mm B m 1 p1 B m 1 pp
.. .. .. ..
A= . . ; B= . .
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 parti-
ciones, es que las columnas de A y las filas de B sean particionadas en la misma
forma. Por lo tanto, n = n1 + + nn , m = m1 + + mm y p = p1 + + pp .

Ejemplo A.22

Empleando la regla descrita determinar si el producto siguiente es valido y si lo es,


obtener C = AB.

A22 A23 A21 B22 B23
AB = A32 A33 A31 B32 B33
A42 A43 A41 B12 B13

Solucion: 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 respec-


tivamente, obtener una sola ecuacion diferencial matricial que reemplace a las dos
ecuaciones diferenciales siguientes:
dx dy
= x = Ax + Bv; = y = Cy + Dw
dt dt
dy
donde ddtx = x y dt = y denotan las derivadas de x e y con respecto al tiempo,
respectivamente.
178 Matematica para Sistemas Continuos

Solucion: 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.
       
x A 0 x B 0 v
= +
y 0 C y 0 D w
xn1 = Ann xn1 + 0nm ym1 + Bnp vp1 + 0nq wq1
ym1 = 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
Solucion: 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
Solucion: 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:

1 3 4 3 + 4
2 = 5 + 6 = 5 + 6
3 7 5 7 + 5
El sistema de tres ecuaciones y dos incognitas resultante es incompatible y sin solu-
cion. Entonces, el conjunto de vectores u, v y w es linealmente independiente.
A.2 Matrices y Determinantes 179

Rango de una Matriz


Si A es una matriz de orden n m, su rango, denotado como rango(A), es igual
al numero maximo r de sus vectores filas (o columnas) linealmente independientes.
En cualquier matriz, el numero de vectores filas linealmente independientes coincide
con el numero 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

Solucion: La matriz A de orden n = 3 posee rango completo (r = n = 3) por dos


razones. La primera es que ningun 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
180 Matematica 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)

Solucion: 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 A de orden n toma la forma:

e11 e1n
  .. .. ..
E = e1 en = . . .
en1 enn

ei = |eeii | . Por ejemplo, el vector b


Un eigenvector normalizado se define como: b e1 se
calcula como:

e11 q
e1 ..
b
e1 = e1 = . |e1 | = e211 + + e2n1
|e1 |
en1

Ejemplo A.28
A.2 Matrices y Determinantes 181

Determinar los eigenvalores y eigenvectores del sistema siguiente:


    
x1 1 2 x1
=
x2 4 3 x2

Solucion: 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 e11 1 1 e12 1
e1 = Ae1 = = e2 = Ae2 = =
1 e11 1 2 2e12 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

Solucion: Ejecutar el programa eig1.m.


% eig1.m CALCULO 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

Solucion: 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
182 Matematica para Sistemas Continuos

Pseudoinversas
El concepto de pseudoinversa de una matriz es la generalizacion de su inversa y
resulta util para encontrar una solucion en un conjunto de ecuaciones algebraicas en
donde el numero de variables desconocidas y el numero de ecuaciones linealmente
independientes no son iguales. Sea la ecuacion:

Ax = b

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 DIMENSION (3,1)
MPII = (C*C)^(-1)*C; % MATRIZ PSEUDOINVERSA IZQUIERDA
y = MPII*d; % VECTOR SOLUCION DE DIMENSION (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
Solucion: Ver el programa miqe.m.
% miqe.m SISTEMA DE ECUACIONES: MAS INCOGNITAS QUE ECUACIONES
clear all; close all; clc;
A = [5-j 2+3j 3-j -1+4j -6+j
4j -2 3+5j -7j 8-2j
6-j 7-j 8-3j 3-j 1+4j];
B = [2-9j;4-j;3+j]; X = A\B;
A.2 Matrices y Determinantes 183

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

Solucion: 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. Diagonalizacion de Matrices y Formas Canonicas


Diagonalizacion 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

E1 AE = = . .. .. (A.25)
.. . .
0 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 eingen-
valores repetidos, entonces A se puede diagonalizar mediante la relacion E 1 AE = .
Sin embargo, la matriz de eigenvectores E no es unitaria (EH 6= E1 ).
184 Matematica para Sistemas Continuos

Ejemplo A.34

Hallar la transformacion canonica del siguiente sistema:


   
2 0 1
x = Ax + Bu = x+ u
1 1 1
Solucion: Ejecutar el programa trancan.m para obtener la siguiente transformacion
canonica:
dx
= x = A x + B u
dt
      
x1 1 0 x1 0
= + u
x2 0 2 x2 2
% trancan.m TRANSFORMACION CANONICA
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 RAICES REPETIDAS => inv(E2) ~= E2
A3 = [-2 3 3 -1 -6 -2;1 0 -1 0 2 1;1 -2 0 1 2 0;1 1 -1 -1 2 1;...
1 -2 -1 1 3 1;1 0 -1 0 2 0]; n3 = 6; % rank(A3)=6 (RANGO COMPLETO)
[E3,D3] = eig(A3); DD3=inv(E3)*A3*E3;
% D3 = diag(-1,-1,1,1,1,-1), TRES RAICES REPETIDAS => inv(E3) ~= E3

A.3. Variables de Estado


A.3.1. Ejemplo de Introduccion
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:
h
qo = (A.27)
Rh
A.3 Variables de Estado 185

d
d
cd
c qi
c
A

ee qo
Sensor de presin

Fig. A.4: Sistema tanque con agua.

donde Rh es la resistencia hidraulica, la cual se calcula de la relacion:


H
Rh = (A.28)
Q
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 x = A x + B u (A.29)
SRh S
donde x = h es la variable de estado del sistema, u = qi es la variable de entrada,
1
A = SR h
es la matriz de estado del sistema (en este caso una matriz de orden uno)
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
= (A.31)
Qi (s) SRh s + 1
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)
186 Matematica para Sistemas Continuos

donde los ordenes de los vectores y matrices se ilustran en la siguiente relacion:

xn1 = Ann xn1 + Bnm um1 yp1 = Cpn xn1 + Dpm um1

A.3.2. Definicion 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 numero n de
variables de estado (el numero 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.

z
K=1

M=1 z0

Fig. A.5: Sistema mecanico masaresorte.

Solucion: El sistema masaresorte esta gobernado por la siguiente ecuacion diferen-


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

x1 = x2 x2 = x1 y = x1
A.3 Variables de Estado 187

Por consiguiente, las ecuaciones de estado y salida del sistema masaresorte son:
x = Ax y = Cx
     
x1 x1 0 1  
x = x= A= C= 1 0
x2 x2 1 0
Asumamos que estiramos el resorte hasta que M se encuentre en la posicion inicial
z0 . Luego soltamos el resorte, lo cual produce un movimiento oscilatorio que puede
modelarse como z(t) = z0 cos t. Es facil comprobar que la solucion z(t) = z0 cos t
verifica el modelo dinamico dado en (A.33). Usando las variables de estado definidas
anteriormente resulta:
x1 (t) = z0 cos t x2 (t) = z0 sen t
Elevando al cuadrado y sumando se obtiene:
x21 + x22 = z02 (cos2 t + sen2 t) = z02
La ultima ecuacion representa un crculo de radio z0 . Por consiguiente, las trayectorias
de estado en el plano de fase x1 versus x2 son crculos cuyos radios dependen de la
posicion inicial de reposo z0 . tales trayectorias se muestran en la Fig. A.6. Para
obtener dichas trayectorias de fase, ejecutar el programa pfl.m.
Los eigenvalores del sistema masaresorte se determinan de:
 
1
det(I A) = det = 2 + 1 = 0
1
Por lo tanto: 1 = i, 2 = i, ambas races imaginarias, lo cual nos informa del
caracter oscilante de la respuesta del sistema, tal como se discute en la siguiente
seccion. El unico punto de equilibrio xe = 0 del sistema se determina de:
 e   
x1 0
xe = Axe = 0 xe = =
xe2 0
% C2pfl.m PLANO DE FASE EN UN SISTEMA LINEAL
clear all; close all; clc;
g = inline([x(2);-x(1)],t,x); % MODELO MATEM ATICO
vectfield(g,-1:0.2:1,-1:0.2:1) % RANGOS DE LOS EJES HORIZONTAL Y VERTICAL
hold on
for x20=-1:0.2:1 % SIMULACION PARA ESTAS CONDICIONES INICIALES DE y(2)
[ts,xs]=ode45(g,[0,10],[0;x20]); % [0,10]: SIMULACI ON DE 0 A 10 s
plot(xs(:,1),xs(:,2)); grid;
end
hold off, ylabel(x2(t)), xlabel(x1(t)),
title(PLANO DE FASE x2(t) VS x1(t)), print -deps -f C2pfl

A.3.3. Matriz de Transferencia y Estabilidad


Las ecuaciones de estado y de salida multivariables de un Sistema Lineal e Invari-
ante 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)
188 Matematica para Sistemas Continuos

PLANO DE FASE x1 VS x2

0.8

0.6

0.4

0.2
VELOCIDAD x2

0.2

0.4

0.6

0.8

1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1


POSICIN x1

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) (A.37)

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:

x1 = x1 + x2 + 2u1 u2 x2 = 2x1 3x2 + u1 2u2

y1 = x1 5u2 y2 = x2 3u1
A.3 Variables de Estado 189

Solucion: Las ecuaciones de estado y de salida correspondientes son:

x = Ax + Bu y = Cx + Du
     
x1 y1 u1
x= ; y= ; u=
x2 y2 u2
       
1 1 2 1 1 0 0 5
A= ; B= ; C= ; D=
2 3 1 2 0 1 3 0
El programa mtrans.m determina la MT pedida. El resultado es:

2s+7 5s2 +21s+10
2 s2 +4s+1
s +4s+1
G(s) = C(sI A)1 B + D =
2
3ss2 +13s+8
+4s+1
2s+4
s2 +4s+1

% mtransf.m CALCULO 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 senales y y u son unidimensionales, la ecuacion (A.37) se convierte en
la FT del sistema SLIT y se puede representar como la relacion entre dos polinomios
A(s) y B(s) como sigue:

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

En general, la ecuacion caracterstica del sistema SLIT (ecuacion (A.35)) se ob-


tiene 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 (ecuacion (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 comun: el polinomio A(s) = s2 +4s+1. Este polinomio
es tambien la ecuacion caracterstica del sistema multivariable, siendo sus eigenvalores
s1 = 3.7321 y s2 = 0.2679. Por consiguiente, tal sistema es estable.
El sistema no forzado x = Ax posee un solo punto de equilibrio: el origen, debido
a que la solucion de x = Ax = 0 es xe = 0. Por consiguiente, un SLIT no forzado
es estable, cuando el estado x del sistema tiende al estado de equilibrio xe = 0
190 Matematica para Sistemas Continuos

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

Tipos de Puntos Singulares en SLITs de 2do Orden


Un SLIT de orden dos no forzado se describe mediante la siguiente ecuacion
matricial:     
x1 a11 a12 x1
x = = Ax =
x2 a21 a22 x2
Para este sistema, el unico 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 191

j x2 j x2

x1 x1
1 2 1 2

(a) (b)
j x2 j x2

1
x1 x1
1 2
2
(c) (d)
j x2 j x2

1
1
x1 x1
2
2 (f)
(e)

Fig. A.7: Tipos de puntos singulares en un sistema lineal de segundo orden: (a)
nodo estable, (b) nodo inestable, (c) punto silla de montar, (d) foco estable, (e) foco
inestable, (f) punto centro.


x1 1 0 x1 b11 b12 b1m u1
x2 2 x2 b21 b22 b2m u2

.. = .. .. + .. .. .. .. ..
. . . . . . . .
xn 0 n xn bn1 bn2
bnm um

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

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


192 Matematica 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 algun estado x(t), incluyendo el
estado inicial x(t0 ), se puede determinar partiendo de la observacion de la salida y(t)
en un tiempo finito t0 t t1 . La observabilidad completa en un sistema es de suma
importancia porque permite reconstruir las variables de estado no medibles partiendo
del vector medible y(t). Sin demostracion se establece la condicion de estabilidad
completa. Para que un sistema sea completamente observable, es necesario que el
rango de la denominada matriz de observabilidad N de dimension np p :

C
CA  H

N= .. = CH AH CH (AH )n1 CH (A.43)
.
CAn1

posea rango n (rango completo). En (A.43), el superndice H indica operacion hermi-


tiana. Se sabe que si todas las matrices son reales, entonces la operacion hermitiana
se reemplaza por la opercion transpuesta.
Si existe una transformacion lineal x = Ex de modo tal que E1 AE = , donde
es la matriz diagonal cuyos elementos i son los eigenvalores de A, entonces (??)
toma la forma:
x = E1 AEx = x x = et x (t0 )
Luego:

e 1 t 0 x1 (t0 )
e 2 t x2 (t0 )
t
y = CEx = CEe x (t0 ) = CE .. ..
. .
0 e n t 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 193

Ejemplo A.39
En el programa observ1.m se determina la observabilidad completa de varios SLITs.
% observ1.m OBSERVABILIDAD COMPLETA DE SLITs
clear all; close all; clc;
A1 = [2 0 0;0 2 0;0 3 1]; B1 = [0 1;1 0;0 1]; C1 = [1 2 1;2 0 3]; n1 = 3;
[E1,D1] = eig(A1); DD1 = inv(E1)*A1*E1; % D1 = diag(2,1,2)
N1 = obsv(A1,C1); % RETORNA MATRIZ DE OBSERVABILIDAD [C1; C1*A1; C1*A1^2]
rankN1=rank(N1); % rankN1=3=n1 => SISTEMA COMPLETAMENTE OBSERVABLE
A2 = [-1 1 -1;0 1 -4;0 1 -3]; B2 = [0 2 1]; C2 = [0 1 -1]; n2 = 3;
[E2,D2] = eig(A2); DD2 = inv(E2)*A2*E2; % D2 = diag(-1,-1,-1)
N2 = obsv(A2,C2); % RETORNA MATRIZ DE OBSERVABILIDAD [C2; C2*A2; C2*A2^2]
rankN2=rank(N2); % rankN2=2<n2 => SISTEMA NO ES COMPLETAMENTE OBSERVABLE
A3 = [2 2 -1;2 3 0;-1 0 2]; B3 = [0 1;1 0;0 1]; C3 = [1 2 1;2 0 3]; n3=3;
[E3,D3] = eig(A3); DD3 = inv(E3)*A3*E3; % D3 = diag(0.0968,2.1939,4.7093)
N3 = obsv(A3,C3); % RETORNA MATRIZ DE OBSERVABILIDAD [C3; C3*A3; C3*A3^2]
rankN3=rank(N3); % rankN3=3=n3 => SISTEMA COMPLETAMENTE OBSERVABLE

A.3.5. Solucion de la Ecuacion 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
Z t
= (t t0 )x(t0 ) + (t )Bu( )d (A.45)
t0

donde:

X A (t t0 ) A2 (t t0 )2 A3 (t t0 )3
(tt0 ) = eA(tt0 ) = = I+A(tt0 )+ + +
! 2! 3!
=0
(A.46)
es la matriz de transicion o exponencial. La derivada total de e A(tt 0 ) resulta:
deA(tt0 ) A3 (t to )2
= A + A2 (t to ) + +
dt  2! 
A2 (t t0 )2
= A I + A(t t0 ) + + +
2!
= AeA(tt0 ) = eA(tt0 ) A (A.47)
Derivando ahora (A.45) con respecto al tiempo t se obtiene:
 Z 
A(tt0 ) d At t A
x = Ae x(t0 ) + e e Bu( )d
dt t0
Z t
A(tt0 )
= Ae x(t0 ) + Ae At
eA Bu( )d + eAt eAt Bu = Ax + Bu
t0
194 Matematica para Sistemas Continuos

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) (A.48)

y(s) = Cx(s) + Du(s) = C(sI A)1 x(t0 ) + [C(sI A)1 B + D]u(s) (A.49)
Comparando (A.48) con (A.45) podemos afirmar que:

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

1 u(t)

t
0 1 2 3 4

Fig. A.8: Entrada u(t) para el ejemplo A.40.

Solucion: 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 ; x(1) = 3e2


3t
Para 1 t 3, u(t) = 2 , t0 = 1 y x(t0 ) = x(1). Luego:
Z t
3 5  =t
x(t) = 3e2 e2(t1) + e2(t ) 5 d = 3e2t + e2t 7e2 e2 =1
1 2 8

5 5
x(t) = 3e2t + [7 t 6e2(1t) ]; x(3) = 3e6 + (4 6e4 )
8 8
Para t 3 , u(t) = 0, t0 = 3 y x(t0 ) = x(3). Luego:

x(t) = x(3)e2(t3)

El grafico de x(t), obtenido con el programa C2rpta.m se muestra en la Fig. A.9.


A.3 Variables de Estado 195

2.5

RESPUESTA x(t)

1.5

0.5

0
0 1 2 3 4 5 6 7 8 9 10
TIEMPO EN SEGUNDOS

Fig. A.9: Respuesta x(t) de un SLIT de primer orden a una entrada arbitraria u(t).

% 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.
Solucion: 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
 
  6
C= 3 4 ; D = [2]; x(0) =
1
196 Matematica para Sistemas Continuos

Segun la Tabla A.1: u(s) = L[3et ] = 3/(s + 1). Luego, x(s) (ecuacion (A.48)) e y(s)
(ecuacion (A.49)) toman la forma:
 1  
1  

s + 7 1 6
s + 7 1 2
x(s) = + u(s)
12 s 12 1
s 1
      
1 s 1 6 2 3
= 2 +
s + 7s + 12 12 s + 7 1 1 s+1
" 2 #
6s +s2
(s+1)(s+3)(s+4)
= s2 +77s14
(s+1)(s+3)(s+4)

" #  
6s2 +s2
  (s+1)(s+3)(s+4) 3
y(s) = Cx(s) + Du(s) = 3 4 s2 +77s14 2
(s+1)(s+3)(s+4)
s+1
22s2 305s + 50 6 297/6 767/2 918/3
= = + +
(s + 1)(s + 3)(s + 4) s + 1 s+1 s+3 s+4
297 t 767 3t 918 4t
y(t) = e + e + e , t0
6 2 3
Las respuestas mostradas en la Fig. A.10 se realizaron con el programa crpta.m.
Notar que se emplea la siguiente aproximacion de la derivada:

x(k + 1) x(k)
x
= = Ax + Bu x = x + T (Ax + Bu)
T

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 ejem-
plo 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 COMPARACION 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;
% GRAFICOS
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 197

20

T1 = 0.1 s
10

T2 = 0.04 s
RESPUESTAS

10
y(t)

20

30

40

50
0 2 4 6 8 10
TIEMPO [s]

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) De-
terminar y(t) para x(t0 ) = 0 usando (A.49). (g) Graficar las respuestas y1 (t) e y2 (t)
a entradas tipo escalon unitario.
198 Matematica para Sistemas Continuos

80

70
y3 = y1 + y2
60

50
y2 = 2y1

RESPUESTAS
40

30

20 y1

10

10

20
0 0.5 1 1.5 2 2.5 3 3.5 4
TIEMPO [s]

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)

1 x1
u1 s+1
x4 y1
4
s+4
u2 2 x2
s+2
x5 y2
5
s+5
u3 3
s+3 x3

Fig. A.12: Sistema del ejemplo A.43

Solucion: (a) Del diagrama de bloques se puede comprobar que las salidas y1 e y2
poseen las expresiones:
y1 = x 2 + x 3 + x 4 x 5 + u 3 y2 = x 1 x 2 + x 5 + u 2 (A.51)
Operando en el bloque que tiene como salida la variable de estado x1 , se obtiene:
1
x1 = (u1 y1 ) (s + 1)x1 = x1 + x1 = u1 y1
s+1
Reemplazando y1 de (A.51) en la ultima expresion, se obtiene:
x1 = x1 x2 x3 x4 + x5 u3 (A.52)
Operando del mismo modo con los otros bloques resultan:
(s + 2)x2 = 2(u2 x2 ) x2 = 4x2 + 2u2
A.3 Variables de Estado 199

(s + 3)x3 = 3(u3 x5 ) x3 = 3x3 3x5 + 3u3


(s + 4)x4 = 4(x1 + u2 x2 ) x4 = 4x1 4x2 4x4 + 4u2
(s + 5)x5 = 5(x2 + u3 x3 + x3 ) x5 = 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.

x1 1 1 1 1 1 x1 1 0 1
x2 0 4 0 0 0
x 2 0 2 0 u1
x3 = 0 0 3 0 3
x 3 + 0 0 3 u2
x4 4 4 0 4 0 x4 0 4 0 u3
x5 0 5 0 0 5 x5 0 0 5

x1
    x2   u1
y1 1 0 1 1 1

+ 0 0 1 u2
= x3
y2 1 1 0 0 1 0 1 0
x4 u3
x5

La MT G(s) toma la forma (ver archivo va.m):


 
G11 (s) G12 (s) G13 (s)
G(s) =
G21 (s) G22 (s) G23 (s)

s+8 4s4 + 14s3 4s2 139s 120


G11 (s) = G12 (s) =
s2 + 5s + 8 (s2 + 5s + 8)(s2 + 9s + 20)(s + 3)

(s2 + 10s + 24)2


G13 (s) =
(s + 5)(s + 3)(s2 + 5s + 8)

s+4 s5 + 15s2 + 93s3 + 291s2 + 510s + 480


G21 (s) = 2
G22 (s) =
s + 5s + 8 (s2 + 5s + 8)(s2 + 9s + 20)(s + 3)

4s3 + 30s2 + 91s + 120


G23 (s) =
(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 7 111 5 t 7
y1 = e3t + e5t e4t + e 2 t cos t 7e 2 sen t
2 4 16 2 16 2 112 2

! !
1 39 5 3 183 5 t 7 99 5 t 7
y2 = e3t + e5t e4t + e 2 cos t 7e 2 sen t
2 4 16 2 16 2 112 2

Por otro lado, la Fig. A.13 muestra las respuestas y1 (t) e y2 (t) (Out(1) y Out(2) en
el grafico) a los escalones u1 = 1, u2 = 1 y u3 = 1 (In(1), In(2) e In(3) en el grafico)
obtenidas con el comando step de MATLAB. Ejecutar el archivo va.m.
200 Matematica para Sistemas Continuos

% va.m VARIOS CALCULOS PARA EL EJEMPLO 2.43


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 TRANSICION 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) GRAFICOS DE LAS SALIDAS
step(A,B,C,D), print -deps -f va

A.3.6. Formas Canonicas SISO en el Espacio de Estado


La ecuacion diferencial que describe a un sistema SISO con parametros constantes
toma la forma:

dn y(t) dn1 y(t) dn u(t) dn1 u(t)


+ a 1 + + a n y(t) = b 0 + b 1 + + bn u(t) (A.54)
dtn dtn1 dtn dtn1

La FT correspondiente al sistema (A.54) es:

y(s) b0 sn + b1 sn1 + + bn b0 + b1 s1 + + bn sn
G(s) = = n = (A.55)
u(s) s + a1 sn1 + + an 1 + a1 s1 + + an sn

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 201

Step Response

From: In(1) From: In(2) From: In(3)


1.5

0.5
To: Out(1)

0.5
Amplitude

1.5

1
To: Out(2)

0.5

0
0 1 2 3 0 1 2 3 0 1 2 3
Time (sec)

Fig. A.13: Respuestas y1 (t) e y2 (t) a los escalones u1 = 1, u2 = 1 y u3 = 1 (ejemplo


A.43)
.

Primera Forma Canonica Controlable:



0 1 0 0 x1 0
0 0 1
0 x2 0

.. .. ..
..
.. ..
x = . . .
. +
. u .

0 0 0 1 xn1 0
an an1 an2 a1 xn 1
 
y = bn an b0 bn1 an1 b0 b 1 a 1 b0 x + b 0 u (A.56)

Segunda Forma Canonica Controlable:



0 1 0 0 x1 1
0 0 1 0 x2 2

.. .. .. .. .. ..
x = . . . . . + . u

0 0 0 1 xn1 n1
an an1 an2 a1 xn n
 
y = 1 0 0 x + 0 u (A.57)
donde: 0 = b0 , 1 = b1 a1 0 , 2 = b2 a1 1 a2 0 , etc. Generalizando:

n = bn a1 n1 an1 1 an 0
202 Matematica para Sistemas Continuos

Tercera Forma Canonica Controlable:



a1 a2 an1 an x1 1
1 0 0 0 x2 0

0 1 0 0 .. ..
x = + . . u
.. .. .. ..
. . . . xn1 0
0 0 1 0 xn 0
 
y= b1 a 1 b0 b2 a 2 b0 b n a n b0 x + b 0 u (A.58)

Primera Forma Canonica Observable:



0 0 0 0 an x1 bn a n b0
1 0 0
0
an1 x2 bn1 an1 b0

.. .. ..
.. .. .. ..
x = . . . . + . . . u

0 0 1 0 a2 xn1 b2 a 2 b0
0 0 0 1 a1 xn b1 a 1 b0
 
y = 0 0 0 1 x + b0 u (A.59)

Segunda forma canonica observable:



a1 1 0 0 0 x1 b1 a 1 b0
a2 0 1 0 0 x2 b2 a 2 b0

.. .. .. .. .. .. ..
x = . . . . . . + . u

an1 0 0 0 1 xn1 bn1 an1 b0
an 0 0 0 0 xn bn a n b0
 
y= 1 0 0 0 x + b0 u (A.60)

Forma Canonica Diagonal (eigenvalores no repetidos)

Formulando (A.55) como:


X ci n
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:



x1
1 0 0 x1 1
x2
.. 0 2 0 x2 1
. = .. .. .. .. + .. u
. . . . .
xn1
0 0 n xn 1
xn
 
y= c1 c2 cn x + b0 u (A.61)
A.3 Variables de Estado 203

Forma Canonica de Jordan (eigenvalores repetidos)

Describiremos la forma canonica de Jordan con un ejemplo. Supongamos que


(A.55) toma la forma:

y(s) b0 sn + b1 sn1 + + bn1 s + bn B(s)


G(s) = = 3 2
=
u(s) (s p1 ) (s p4 ) (s p6 ) (s pn ) A(s)
X ci 8
c1 c2 c3 c4 c5
= 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):

p1 1 0 0 0 0 0 0 x1 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 =
0 0 0 0 p 0 0 0 x5 + 1 u
2
0 0 0 0 0 p 6 0 0 x6 1

0 0 0 0 0 0 p 7 0 x7 1
0 0 0 0 0 0 0 p8 x8 1
 
y = c1 c2 c3 c4 c5 c6 c7 c8 c9 x + b 0 u (A.62)
X ci 8
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:

1 2.8s1 0.65s2 + 6.8s3 4.25s4 1.3s5 + 1.2s6


G(s) =
1 + 1.3s1 1.69s2 0.345s3 + 0.49s4 + 0.02s5 0.04s6
% C2forca1.m FORMAS CANONICAS
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); % RAICES DE A(s): 0.5, 0.5, 0.5, -0.4, -0.4, -2
% EL SISTEMA ES INESTABLE DEBIDO A LA RAIZ TRIPLE 0.5
% 2DA FORMA CANONICA 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;
204 Matematica para Sistemas Continuos

beta4 = b4-a1*beta3-a2*beta2-a3*beta1-a4*beta0;
beta5 = b5-a1*beta4-a2*beta3-a3*beta2-a4*beta1-a5*beta0;
beta6 = b6-a1*beta5-a2*beta4-a3*beta3-a4*beta2-a5*beta1-a6*beta0;
Acc = [0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
-a6 -a5 -a4 -a3 -a2 -a1];
Bcc = [beta1;beta2;beta3;beta4;beta5;beta6];
Ccc = [1 0 0 0 0 0]; Dcc =[beta0];
% 1RA FORMA CANONICA OBSERVABLE: dx/dt = Aco*x + Bco*u; y = Coo*x + Doo*u
Aoo = [0 0 0 0 0 -a6
1 0 0 0 0 -a5
0 1 0 0 0 -a4
0 0 1 0 0 -a3
0 0 0 1 0 -a2
0 0 0 0 1 -a1];
Aco = [b6-a6*b0;b5-a5*b0;b4-a4*b0;b3-a3*b0;b2-a2*b0;b1-a1*b0];
Cco = [0 0 0 0 0 1]; Dco=[b0];
% FORMA CANONICA DE JORDAN: dx/dt = Aj*x + Bj*u; y = Cj*x + Dj*u
[c,p,k] = residue(B,A); % EXPANSION EN FRACCIONES PARCIALES
% c = [-1.89 3.6133 -1.0136 0.1111 -5.8233 -0.5323];
% p = [-2 0.5 0.5 0.5 -0.4 -0.4]; k = 1;
c1=c(1); c2=c(2); c3=c(3); c4=c(4); c5=c(5); c6=c(6);
p1=p(1); p2=p(2); p2=p(3); p2=p(4); p3=p(5); p3=p(6);
Aj = [p1 0 0 0 0 0
0 p2 1 0 0 0
0 0 p2 1 0 0
0 0 0 p2 0 0
0 0 0 0 p3 1
0 0 0 0 0 p3];
Bj = [1;0;0;1;0;1];
Cj = [c1 c2 c3 c4 c5 c6]; Dj = [k];

Ejemplo A.45

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 rep-
resentaciones de estado generan la misma funcion de transferencia.

Solucion: 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 Discretizacion Directa 205

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


Discretizacion de la Integral
Es bastante util discretizar directamente modelos dinamicos que contengan inte-
grales 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:
e(T i) + e(T i + T )
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)


e(iT) e(iT)

T t=iT T t=iT
(a) (b)

Fig. A.14: (a) Aproximacion del area bajo la curva e(t) mediante rectangulos. (b)
Mediante trapezoides.

Ejemplo A.46
Determinar la ecuacion de diferencias de la siguiente integral usando tanto aproxi-
macion rectangular como trapezoidal.
Z t
u(t) = e( )d
0
Solucion: Si empleamos sumatoria de rectangulos para aproximar el area debajo de
la curva e(t), se obtiene:
k
X k
X k1
X
u(kT ) T e(iT ) = T e(iT ) = T e(iT ) + T e(kT ) = u(kT T ) + T e(kT )
i=0 i=0 i=0

u(kT ) u(kT T ) = T e(kT )


u(k) = u(k 1) + T e(k) (A.64)
206 Matematica 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 k1
X
e(iT T ) + e(iT ) e(iT T ) + e(iT ) e(kT T ) + e(kT )
u(kT ) T = T +T
2 2 2
i=1 i=0
e(kT T ) + e(kT )
= u(kT T ) + T
2
T
u(kT ) u(kT T ) = [e(kT T ) + e(kT )]
2
T
u(k) = u(k 1) + [e(k 1) + e(k)] (A.65)
2

Discretizacion de la Derivada
Terminos que contengan derivadas pueden discretizarse empleando diferencias
por atraso:
de(t) e(kT ) e(kT ) e(kT T ) e(k) e(k 1)
= e(t) = =
dt T T T
de(t) e(kT ) e(t) e(t T ) e(kT ) e(kT T )
= e(t) = =
dt T T T2
e(k) e(k 1) [e(k 1) e(k 2)] e(k) 2e(k 1) + e(k 2)
= 2
=
T T2
..
. (A.66)

Si la discretizacion de la derivada se realiza por adelanto, entonces las diferencias son


de la forma:
de(t) e(kT ) e(kT + T ) e(kT ) e(k + 1) e(k)
= e(t) = =
dt T T T
de(t) e(kT ) e(t + T ) e(t) e(kT + T ) e(kT )
= e(t) = =
dt 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)

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. Deter-
minar la ecuacion de diferencias de dicho controlador. En un primer caso emplear
aproximacion rectangular y luego usar aproximacion trapezoidal.
 Z t 
1 de(t)
u(t) = Kc e(t) + e(t)dt + TD (A.68)
TI 0 dt
A.5 Sistemas con Tiempo Muerto 207

Solucion: Empleando las relaciones (A.64) y (A.66) en (A.68) se obtiene:


( k
)
T X TD
u(k) = Kc e(k) + e(i) + [e(k) e(k 1)]
TI T
i=0
( k1
)
T X TD
u(k 1) = Kc e(k 1) + e(i) + [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:
   
T TD TD TD
q0 = K c 1 + + ; q1 = Kc 1 + 2 ; q2 = K c
Ti T T T

Si la integracion emplea el metodo trapezoidal, entonces:


( k   )
1 X e(i 1) + e(i) TD
u(k) = Kc e(k) + T + [e(k) e(k 1)]
TI 2 T
i=1
( k1   )
1 X e(i 1) + e(i) TD
u(k 1) = Kc e(k 1) + T + [e(k 1) e(k 2)]
TI 2 T
i=1

Restando las expresiones anteriores teniendo en cuenta que:


k
X k1
X
[e(i 1) + e(i)] = [e(i 1) + e(i)] + e(k 1) + e(k)
i=1 i=1

y despejando u(k) obtenemos una expresion similar a (A.69), donde:


   
TD T TD T TD
q0 = K c 1 + + ; q1 = Kc 1 + 2 ; q2 = K c
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 senal 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)


208 Matematica 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 util emplear la aproximacion de Pade para modelar el tiempo muerto en
el dominio continuo:

1 1 num(s)
e s = 1 s + (s )2 (s )3 + =
!2 !3 den(s)

Con una aproximacion de tercer orden podemos acomodar retardos de fase de hasta
200o (3.5 rad) [12], lo cual es suficiente para capturar el efecto del tiempo muerto en
muchas aplicaciones. Tal aproximacion tiene la forma:

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


e s =
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.
Solucion: 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 PADE


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 Linealizacion de Sistemas Continuos 209

Step Response

10

6
Amplitude

exp(sD)
0
Pad de 3er orden

2
0 5 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. Linealizacion de Sistemas Continuos


A.6.1. Caso SISO
El desarrollo de la serie de Taylor permite expandir una expresion no lineal con-
tinua Y = f (X) alrededor de un punto de operacion (o estado de equilibrio) X como
sigue:

df (X X) d2 f (X X)2
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
Y = f (X1 , . . . , Xn ) = f (X 1 , . . . , X n ) + (X1 X 1 )
X1 (X1 =X 1 )

f f
+ (X2 X 2 ) + + (Xn X n ) (A.73)
X2 (X2 =X 2 ) Xn (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
210 Matematica para Sistemas Continuos

donde k0 , E y R son constantes.


Solucion: Aplicando (A.73) con X1 = T y X2 = CA se obtiene:

r A = r A + C 1 t + C 2 cA t=T T c A = CA C A
E
r A = k0 e CA
RT

rA rA
C1 = C2 = (A.74)
T (T =T ) CA (CA =C A )

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 repre-
sentar como:
X = f (X, U) Y = g(X, U) (A.75)

X1 f1 (X, U) Y1 g1 (X, U) U1
.. .. .. ..
. = . . = . U = ...
Xn fn (X, U) Yp gp (X, U) Um
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 vec-
toriales X y U. El desarrollo de Taylor para la ecuacion de estado de este sistema,
resulta:  
f (X, U) f (X, U)
X = f (X, U) + (X X) + (U U) +
X U
 
1 2 f (X, U) 2 2 f (X, U) 2 f (X, U) 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 = f (X, U) = f (X, U) + (X X) + (U U)
X (X,U) U (X,U)

f f
X f (X, U) = x = x+ u (A.76)
X (X,U) 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 Linealizacion de Sistemas Continuos 211

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 varia-
ciones pequenas de la dinamica del sistema alrededor del estado estacionario o de
equilibrio. Las matrices A, B, C y D se determinadas evaluando las siguientes ma-
trices jacobianas:
f1 f1 f1 f1
X1 Xn U1 Um
.. ..
A = ... ..
. . B = ... ..
. .
fn fn fn fn
X1 Xn (X,U) U1 Um (X,U)
h1 h1 h1 h1
X1 Xn U1 Um
.. .. .. .. .. ..
C = . . . D= . . . (A.79)
hr hr hr hr
X1 Xn (X,U) U1 Um (X,U)

Ejemplo A.50

La Fig. A.16 muestra dos tanques identicos colocados en cascada. La seccion hori-
zontal S=9 m2 de cada tanque es constante. El objetivo de control es estabilizar
(controlar) la altura H2 empleando como fuerza de control el flujo de alimentacion
Qo . Determinar el modelo linealizado de este sistema hidraulico, su estabilidad y su
funcion de transferencia.

Q p
0 0

Tanque
H1
p 1
1
g
Q
p 1
0

Tanque
H2
p 2
2
Q
2

Fig. A.16: Sistema hidraulico.

Solucion: 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
212 Matematica para Sistemas Continuos

El flujo acumulado en cada tanque es:


dH1 dH2
Q0 Q 1 = S Q1 Q 2 = S
dt dt
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:

1 g p
X1 = U X1 = f1 (X, U )
S S

g p p
X2 = [ 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)):

X = f(X, U ) Y = h(X, U ) = X2

donde la salida Y (la funcion g) y la entrada U son en este caso escalares, y:


   
X1 f1
X = f=
X2 f2
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
1 g
X1 = U X1 = 0
S S
q q 
g
X2 = X1 X2 = 0
S
lo que resulta en:
2
U
X1 = X2 = 2 (A.80)
g
Aplicando el jacobiano, el sistema linealizado resulta:

x = A x + B u y = h(x, u) = x2 = C x D = [0]

donde:
" #
g
  f1 f1 0
x1 2S
X1
x= ; A= X1
f2
X2
f2 = g

g

x2 X1 X2
(X 1 ,X 2 ,U ) 2S X1 2S X2
 f1     
U 1/S h h
B= f2 = ; C= = [0 1]
U
0 X1 X2 (X 1 ,X 2 ,U )
(X 1 ,X 2 ,U )
La estabilidad y la funcion de transferencia del sistema se computan con el programa
C2tqh.m.
A.7 Problemas 213

% C2tqh.m SISTEMA HIDRAULICO


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 1 2 3
A = 2 2 1 B= 2 4 8
2 1 0 1 2 3

Problema A.2

Demostrar que AB = AC, lo cual no necesariamente implica que B = C, , cuando:



1 3 2 1 4 1 0 2 1 1 2
A = 2 1 3 B= 2 1 1 1 C = 3 2 1 1
4 3 1 1 2 1 2 2 5 1 0

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
A = 1 4 5 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
A = 1 4 5 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
A = 3 2 9
2 0 3
214 Matematica para Sistemas Continuos

Problema A.6
Demostrar que la siguientes matriz es nilpotente:

1 3 4
A = 1 3 4
1 3 4
Problema A.7
Dada las matrices:

1 1 + i 2 + 3i i 1 + i 2 3i
A= 1i 2 i B = 1 + i 2i 1
2 3i i 0 2 3i 1 0
demostrar que A, iB y A son hermitianas, y que B y B son antihermitianas.
Problema A.8
Empleando matematica simbolica demostrar que:
 n  n 
1 nn1
=
0 0 n
Problema A.9
Empleando matematica simbolica demostrar que las matrices:
2 3 2
a a 1 bcd a a a 1
b2 b 1 acd 3 2 1
A= B = b b b
c2 c 1 abd c c2
3 c 1
d2 d 1 abc d3 d2 d 1
poseen el mismo determinante: (a b)(a c)(a d)(b c)(b d)(c d).
Problema A.10
Empleando matematica simbolica hallar la derivada con respecto a x del determinante
de la matriz:
x 1 2
A = x2 2x + 1 x3
0 3x 2 x + 1 2

Problema A.11
Examine la dependencia o independencia lineal del siguiente conjunto de vectores. Si
el conjunto es dependiente, seleccione el maximo subconjunto linealmente indepen-
diente y exprese cada uno de los vectores dependientes como una combinacion lineal
de los independientes.

2 4 0 6
1 2 0 3

x1 =
3 ; x2 = 1 ; x3 = 5 ; x4 = 1

2 2 6 6
1 3 5 7
A.7 Problemas 215

Problema A.12

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
A= i 0 i
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
A= 1i 6 3 + i B= 1i 3 5
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 pro-
grama en Simulink para visualizar la senal y(t). Todas las condiciones iniciales son
nulas.
p Z t
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
(c) = + 2y (t) + 4 y( )d = u(t)
dt 0
Z t
d2 y(t) 3
(d) = + 7y (t) y( )d = u(t)
dt2 0
216 Matematica 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 + x1 ; x2 x1 + 8x2 2x3 = u1


2x2 5x3 = 3u2 4u2 x3
y1 = x1 3x2 u2 ; y2 = 3x1 + 7x3 + u1 5u2
(b) x1 8x2 + x3 + x1 = u1 ; 2x1 + 4x2 2x3 = 3u2 u2 + x2
2x2 5x3 = 3u1 + 3u2 + x3
y1 = 3x1 x2 + u1 ; y2 = x1 5x3 5u2
(c) 6x1 + 7x2 + x1 = 4u2 ; x2 3x1 + 5x2 + 62x3 = u1 7u2
x2 6x3 = x3 u1 + 9u2
y1 = 4x1 x2 u1 + u2 ; y2 = 3x1 + 7x2 5u2
(d) 3x2 5x3 + x1 = 3u1 + 3u2 ; x2 6x1 + 5x2 7x3 = 3u2
x1 2x2 5x3 + x3 = 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
|G( )|d = |1|d =
0

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 217

Problema A.21

Graficar para varios valores del cero c, la respuesta al escalon del sistema:

y(s) K(s + c)
= 2
u(s) s + 3s + 100

Para cada c, seleccionar el valor de K que haga: lm y(t)t = 1.

Problema A.22

Determine la transformada inversa de:


3s3 + 20
G(s) =
s2 (s + 1)

Problema A.23

Determine la matriz de transicion, la ecuacion caracterstica, la estabilidad, la con-


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

y(s) s3 2s + 1
= 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
218 Matematica para Sistemas Continuos

r e a (s 1)
2
1 y
K 2 s
s +1

Fig. A.17: Sistema de control de la profundidad de un submarino (problema A.26).

h At i
Sabiendo que: dedt = A, hallar la matriz de estado A de un sistema cuya matriz
t=0
de transicion es:  t 
2e cos(t + 0,7) 3et cos(t + 1,5)
et cos(t 1,5) 2et cos(t 0,7)

Problema A.28

Las ecuaciones que rigen el calentamiento de un cuarto son:

dTi Ti T a
qR = q a q p qR = Ri2 qa = C t qp =
dt 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 actua 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 senales 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.

R (s+7)(s+8)(s+9) Y
Kc + Ki/s
(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 219

Graficar las salidas usando Simulink en el siguiente sistema de ecuaciones diferenciales


acopladas:

dT dTa
= A(T To1 )Fo B(T Ta ) = C(Ta To2 )Fo + D(Ta T )
dt dt
donde A = C = 0.08, B = D = 0.05. Tambien, Fo = 0.01 m3 /min, To1 = 280K y To2
= 350 K son perturbaciones tipo escalon.

Problema A.31

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.

R Y
10e3t
Kc + Ki/s
4s+1

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.

1 x1
K1
r1 u 1
s+1
x4 y1
4
s+4
r2 u2 2 x2
K2
s+2
x5 y2
5
s+5
r3 3
K3
u3 s+3 x3

Fig. A.20: Sistema del problema A.32


220 Matematica para Sistemas Continuos

Problema A.33

La funcion de transferencia de un sistema tiene la forma:


y(s) 5s2 0.9167s 0.5417
G(s) = = 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)
f 1 g
g f g f g f gf
gfg f g f g f gf
gfg f g f g f gf
gfg f g f g f gf
f
g f g f g f g fg
gfg f g f g f gf
gfg f g f g f gf
gfg f g f g f gf
gfg f g f g f gf
0 1 t

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.

x1 = 2x21 + 3x1 x2 u31 + u2


A.7 Problemas 221

x2 = 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 y1
1
4
s+1

u2 2 y2
6
s+2

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 pro-
gramas en Simulink. Por tanteo, determine los valores de P, I y D que debe de poseer
el bloque PID para que la salida y(t) siga a la senal escalon deseada r(t) en presencia
de la carga (o disturbio) n(t). Tambien debe de verificar que cuando r(t) es nulo, la
salida y(t) debe de tender a cero. La magnitud de r(t) es 10 veces la magnitud de
n(t).

4(s + 1)(s + 2)
(a) G(s) = e2s
(s + 3)(s + 4)(s + 5)(s + 6)
2(s + 1)
(b) G(s) = e3s
(s + 3)(s + 4)(s + 5)(s + 6)(s + 8)
s2 + 2s + 1 s
(c) G(s) = e
(s + 3)4
8
(d) G(s) = e4s
(s + 3)(s + 4)(s + 5)(s + 6)(s + 7)2 (s + 8)
222 Matematica para Sistemas Continuos

n(t)
r(t) y(t)
PID G(s)

Fig. A.23: Sistema de control con presencia de disturbio.


Apendice 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 proce-
samiento de senales e imagenes, telecomunicaciones, diseno de sistemas de control, prue-
bas y mediciones, modelado y analisis financiero y biologa computacional. MATLAB
tambien cuenta con una coleccion herramientas (Toolboxes) para propositos especficos,
disponibles por separado, los cuales permiten resolver ciertas clases de problemas en el
area de su aplicacion.
Simulink emplea un lenguaje en bloques y se usa para modelar, simular y analizar
sistemas dinamicos continuos, discretos o hbridos (combinacion de ambas). El modelo
del sistema puede ser lineal o no lineal y puede tener diferentes partes que se discreticen
o se actualicen a diferentes tiempos de muestreo. Esta herramienta permite validar los
modelos dinamicos existentes o aquellos construidos desde cero.
En este Apendice, una seccion esta dedicada a MATLAB y la otra a Simulink.
Todos los archivos de esta publicacion se pueden descargar del link DESCARGAS de
www.ctlima.com.

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 mis-
mo 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 ven-
tanas. 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.
224 Fundamentos de MATLAB y Simulink

Espacio de trabajo (Workspace).- Ventana donde aparecen las variables alma-


cenadas en memoria.
Ventana de figuras.- Las figuras aparecen cuando el usuario las realiza.
Para cerrar el programa, seleccionar en el menu: File > Exit MATLAB o tipear
quit en la ventana de comandos.
Para obtener informacion detallada de cualquier topico relacionado con MAT-
LAB, hacer click en el icono smbolo de interrogacion ?, ubicado debajo de la lnea
del menu 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 mayusculas y
minusculas en sus comandos. Se sugiere usar siempre letras minusculas para los co-
mandos. El smbolo >> que aparece en la ventana de comandos es el prompt de
B.1 Fundamentos de MATLAB 225

MATLAB. Los comandos escritos despues del prompt requieren de un ENTER para
que MATLAB los procese. El formato siguiente: >> help roots ENTER , es util
cuando se desea tener informacion de un determinado comando. En este caso partic-
ular, luego de presionar la tecla ENTER, la VC (Ventana de Comandos) muestra la
ayuda correspondiente al comando roots. En lo que sigue, la introduccion de la tecla
ENTER sera sobreentendida.
El comando format long le dice a MATLAB que se quiere trabajar con 15 dgitos
para doble precision y 5 dgitos para simple precision. Por ejemplo, escribiendo en
la VC: >> format long, 1/3, MATLAB devuelve 0.33333333333333, mientras
que >> format, 1/3 devuelve 0.3333.
Las operaciones fundamentales en MATLAB son suma a+b, resta a-b, multipli-
cacion a*b, division derecha a/b, division izquierda a\b y exponenciacion a^b. La
division izquierda se emplea mas con matrices. El resultado de la operacion a/b es
igual al resultado de b\a.
El orden de precedencia en las operaciones fundamentales es: ejecutar primero
el parentesis mas interno, luego los exponentes, despues la multiplicacion o division
(ambos tienen igual presedencia), y finalmente la suma y resta. Ejemplo:

>> 0.7854-(0.7854)^3/(1*2*3)+0.785^5/(1*2*3*4*5)...
-(0.785)^7/(1*2*3*4*5*6*7)

ans =
0.7071

Observar que los tres puntos al final de la primera fila indica que la sentencia continua
en la siguiente lnea.
MATLAB reconoce a las letras i y j como numeros imaginarios. Es decir: i =
1 y j = 1. Por ejemplo, >> 4i - 2j devuelve 0 + 2.0000i, mientras que
>> 8i-j4 devuelve Undefined function or variable j4.
Sabemos que la division sobre cero es infinito, mientras que la division 0/0 es
indeterminada. En notacion MATLAB >> 20/0 devuelve Inf , mientras que
>> 0/0 devuelve NaN, donde NaN esta por Not a Number.
A continuacion se describen otros comandos de utilidad general. Se recomienda
leer el help del comando antes de usarlo.

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.
226 Fundamentos de MATLAB y Simulink

pwd Muestra el directorio de trabajo actual.


size Muestra el tamano de una matriz.
length Numero 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 ultimo 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 numero del servidor host.
date Proporciona la fecha.
clock Proporciona el vector: [ano, 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; c = [8 6 4];
>> 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
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 ultima fila corresponde
al vector c=[8 6 4 2].

B.1.3. Creacion 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 227

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 menu del editor; (3) haciendo click
en el icono Run and Save del editor, el cual se ubica debajo de la lnea que
contiene el menu del editor.

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 GENERACION DE UN ARCHIVO m.


% MATLAB NO PROCESA LO QUE ESTA A LA DERECHA DEL SIMBOLO: %
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
% TAMBIEN ES VALIDO ESCRIBIR: clear all, close all, clc
a=7; b=-4; % DATOS, DONDE EL SIMBOLO ; 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 ARITMETICAS
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. Matematicas
Funciones Matematicas Comunes
% funcionesmat.m FUNCIONES MATEMATICAS COMUNES
clear all; close all; clc;
% APROXIMACIONES
x1=5.92;
r1=ceil(x1); % r1=6 (ceil REDONDEA HACIA INFINITO)
228 Fundamentos de MATLAB y Simulink

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 MAS PROXIMO)
% 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); % MAXIMO COMUN DIVISOR ENTRE 9 Y 12, r11=3
r12=lcm (10,25); % MINIMO COMUN MULTIPLO 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 DIVISION ENTRE 12 Y 5, r14=2
r15=nthroot (8,3); % RAIZ CUBICA DE 8, r15=2
% CON NUMEROS 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;
% COMO 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]
% CONSTRUCCION ABREVIADA DE ALGUNOS VECTORES
B.1 Fundamentos de MATLAB 229

r12=(1:7); % r12=[1 2 3 4 5 6 7]
r13=[1:7]; % r13=[1 2 3 4 5 6 7]
r14=(1:3:10); % r14=[1 4 7 10] (ENTRE 1 Y 10 CON INCREMENTO 3)
r15=(1:4:10); % r15=[1 5 9] (ENTRE 1 Y 10 CON INCREMENTO 4)
r16=(50:-7:1); % r16=[50 43 36 29 22 15 8 1]
r17=linspace(2,6,3); % r17=[2 4 6] (LINEAL ENTRE 2 Y 6, 3 ELEM.)
r18=linspace(2,6,4); % r17=[2.0000 3.3333 4.6667 6.0000]
r19=linspace(2,6); % VECTOR LINEAL ENTRE 2 Y 6 CON 100 ELEM.
r20=logspace(0,2,4); % r20=[1.0000 4.6416 21.5443 100], VECTOR
% LOGARITMICAMENTE ESPACIADO 10^0 Y 10^2 CON 4 ELEM. EQUIDISTANTES
r21=logspace (0,2); % VECTOR LOG. ENTRE 10^0 Y 10^2 CON 50 ELEM.
% CONSTRUCCION DE ALGUNAS MATRICES
r22=zeros(3); % MATRIZ CUADRADA DE 3x3 LLENA DE CEROS
r23=zeros(2,5); % MATRIZ 2 x 5 DE CEROS
r24=ones(2,3); % MATRIZ 2 x 3 DE CEROS
r25=rand(2,4); % MATRIZ 2 x 4 DE NUMEROS ALEATORIOS ENTRE 1 Y 0
% CON DISTRIBUCION UNIFORME
r26=randn (2,5); % MATRIZ 2 x 5 DE NUMEROS ALEATORIOS, DISTRIBUCION
% NORMAL, MEDIA 0 Y DESVIACION 1: NORMAL(0,1)
r27=eye(2); % MATRIZ IDENTIDAD 2 X 2
r28=eye(4,2); % MATRIZ 4 X 2 DE 1s EN LA DIAGONAL, 0s EN EL RESTO
r29=magic(3); % MATRIZ MAGICA 3 x 3, CONTIENE NUMEROS 1 AL 3^2,
% DONDE: SUMA ELEM FILAS = SUMA ELEM COLUMNAS = SUMA ELEM DIAGONAL:
% 8 1 6
% 3 5 7
% 4 9 2
r30=hilb(3); % MATRIZ DE HILBERT 3 x 3
r40=invhilb(3); % INVERSA DE LA MATRIZ DE HILBERT 3 x 3
% OPERACIONES BASICAS CON MATRICES
P=[1 2;3 4]; Q=[1 1;0 1]; R=[1+i 2+2i;3+i 4+7i];
r41=P*Q; % r41=[1 3;3 7]
r42=P.*Q; % r42=[1 2;0 4] (MULTIPLICACION ELEMENTO A ELEMENTO)
r43=R; % CONJUGADA Y TRANSPUESTA DE R Y VICIVERSA
r44=R.; % TRANSPUESTA DE R
r45=P+2; % SUMA 2 A CADA ELEMENTO DE A
% FUNCIONES PARA OPERAR CON VECTORES
% SEAN LOS VECTORES: x = [x1 x2 x3]; y = [y1 y2 y3];
% PRODUCTO VECTORIAL:
% cross(x,y)=[(x2*y3-y2*x3) -(x1*y3-y1*x3) (x1*y2-y1*x2)]
x1 = [1 2 3]; y1 = [4 5 6]; xcy=cross(x1,y1); % xcy=[-3 6 -3]
% PRODUCTO ESCALAR: dot(x,y)=x1*y4+x2*y5+x3*y6
xdy=dot(x1,y1); % xdy=32
% FUNCIONES PARA EL ANALISIS DE MATRICES
v = [1 2 3];
% >> diag (v) % CREA MATRIZ DIAGONAL CON ELEMENTOS 1, 2 Y 3
M = [1 2 3 4; 7 8 9 2; 2 4 6 8];
r46=diag(M); % r46=[1;8;6]: VECTOR CON ELEMENTOS DE LA DIAGONAL
230 Fundamentos de MATLAB y Simulink

r47=size(M); % r47=[3 4]: DIMENSIONES DE M (3 FILAS Y 4 COLUMNAS)


r48=length(M); % DEVUELVE 4 (LA DIMENSION MAYOR DE LA MATRIZ M)
r49=rank(M); % r49=2 (2 ES EL RANGO DE M, VER help rank)
r50=rref(M); % REDUCCION 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];
r52=find(A1); % DEVUELVE VECTOR COLUMNA DE INDICES [1;2;3,5;6;8;10]
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.
% DIVISION C\D RESUELVE EL SISTEMA xD=C Y ES EQUIVALENTE A C*inv(D).
% 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], REPRESENTACION ASCII DE a
r62=abs(a); % r62=[99 97 115 97], REPRESENTACION ASCII DE a
r63=double(a); % r63=[99 97 115 97], REPRESENTACI ON ASCII DE a
r64=setstr([99 97 115 97]); % r64=casa
r65=abs(a)-abs(A); % r65=32, RESTA MINUSCULAS MENOS MAYUSCULAS
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 231

clear all; close all; clc;


% NOTACION: 5x^4 - 9x^3 + 13x^2 + 9x - 14 ==> [1 -9 13 9 -14]
x = [1 -9 13 9 -14]; rx=roots(x); % rx CONTIENE RAICES DE x
xx = poly(rx); % DEVUELVE xx GENERADO POR RAICES 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]); % EVALUA 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]); % EVALUA p PARA CADA FILA
% em=
% 7 10 15
% 6 7 10
% 31 7 70

Operaciones Relacionales y Logicas


% operaclogicas.m OPERACIONES RELACIONALES Y LOGICAS
clear all; close all; clc;
% OPERADORES RELACIONALES: < <= > >= == ~=
% OPERADORES LOGICOS: & (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

Creacion de Funciones
La forma general de una funcion de dos variables es:

function[a,b]=nombre_funcion(x,y)

Por ejemplo, se desea crear la funcion de nombre calculos para calcular la suma
y la resta de dos numeros, vectores o matrices (x,y). Los resultados los devuelve en
[a,b]. Los listados del archivo calculos.m y el archivo usacalculo.m para usar calcu-
los.m se muestran a continuacion. Solo es necesario ejecutar el archivo usacalculos.m
para obtener los resultados.

% calculos.m FUNCION calculos


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

Programacion
% programacion.m PROGRAMACION EN MATLAB
clear all; close all; clc;
% SENTENCIA FOR
for x = 1:5
disp(x toma el valor) % DEVUELVE x toma el valor PARA CADA x
disp(x) % DEVUELVE EL VALOR DE x
end
% SENTENCIA WHILE
a=3;
while a < 5
disp(a es menor que 5 porque su valor es:)
disp(a)
a = a + 1;
end
% SENTENCIA IF
b = 5;
if b == 0 % SE USA == PORQUE ES UNA EXPRESION LOGICA
disp (el valor de b es 0)
elseif b == 1
disp (el valor de b es 1)
elseif b == 2
disp (el valor de b es 2)
elseif b == 3
disp (el valor de b es 3)
else
disp (b no es ni 0 ni 1 ni 2 ni 3)
end
% GENERACION DE NUMEROS PRIMOS MENORES DE 100
disp(Estos son los numeros primos menores de 100)
disp(2)
for i=2:100
n=2;
while n <= sqrt(i)
if rem(i,n)==0
n=i;
B.1 Fundamentos de MATLAB 233

else n=n+1;
end
end
if n~=i disp(i)
end
end

Analisis Numerico y de Datos

% analisisnumerico.m ANALISIS NUMERICO


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); % EVALUA EL COSENO EN pi
ep=feval(cos, [0 pi/3 pi] ); % EVALUA EL COSENO EN VARIOS PUNTOS
em=feval(@cos,[0 pi/3 pi] ); % EVALUA EL COSENO EN VARIOS PUNTOS
fm=fminbnd(@sind,0,360); % VALOR ENTRE 0,360, sind TOMA EL M INIMO
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.

% analisisdatos.m ANALISIS DE DATOS


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
% >> max (X) % DEVUELVE VALOR MAXIMO DE CADA COLUMNA
% >> min (X) % DEVUELVE VALOR MINIMO DE CADA COLUMNA
% >> iqr (X) % DEVUELVE RANGO intercuartlico DE CADA COLUMNA
% >> range(X) % DEVUELVE RANGO DE CADA COLUMNA: DIFERENCIA ENTRE
% EL MAXIMO Y EL MINIMO
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 NUMERO 1 APARECE 4 VECES)
% 2 2 10.00% (EL NUMERO 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%
234 Fundamentos de MATLAB y Simulink

B.1.5. Graficos
% graficas2D.m GRAFICAS EN 2 DIMENSIONES
clear all; close all; clc;
figure(1) % CREA figure(1)
x=[-2 -1 0 1 2 3]; y=[4 1 0 1 4 9]; z=[6 5 3 7 5 2];
w=[-2 -1 0 0.5 1.5 2.5];
plot(x,y,*,x,z,-), xlabel(eje x), ylabel(eje y),
title(x vs y), grid, text(1,4,HOLA>&$), axis([-3 3 -1 10]),
gtext(AQUI COLOCO TEXTO)
figure(2)
x1 = pi*(-1:0.01:1); y1=x1.*sind(x1); y2=cosd(x1);
y3=sin(x1).*exp(x1); y4=exp(-x1);
subplot(2,2,1), plot(X1,Y1), title (x1*seno(x1)*)
subplot(2,2,2), plot(x1,y2), title (cos(x1))
subplot(2,2,3), plot(x1,y3), title (sen(x1)*exp(x1))
subplot(2,2,4), plot(x1,y4), title (-exp(x1))
figure(3)
plot(x1,y1), title (x1*seno(x1)*),
hold on
plot (x1,y2), title (cos(x1)), plot (x1,y3),
title (sen(x1)*exp(x1)), hold off
figure(4)
subplot(221), fplot(sind(x),[0 180]),
title(sen(x) de 0 a 360 grados)
subplot(222), fplot(x^2*sin(1/x),[-0.05 0.05]),
title(x^2 * sin(1/x))
subplot(223), ezplot(exp(x)) % EASY PLOT DE exp(x)
subplot(224), ezplot(sin(t),cos(t),[0 pi])
figure(5)
subplot(2,1,1), ezplot(x^2 - y^2 - 1)
x3=[-2 0 2 0 -2]; y3=[4 8 4 0 4];
subplot(2,1,2), plot(x3,y3), fill(x3,y3,r) % r=RED

% graficas3D.m GRAFICAS 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 GRAFICA
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 235

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 LINEAS DEL CONTORNO
subplot(2,2,2), pcolor(X,Y,Z) % TRANSFORMA ALTURA EN COLORES
subplot(2,2,3), surf(X,Y,Z), view(10,70) % AZIMUT 10, ELEVACI ON 70
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. Matematica Simbolica


% simbolica.m MATEMATICA SIMBOLICA
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
236 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=funcion 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 SIMBOLICO 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 EXPRESION CON MINIMA 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
% pretty: HACE MAS VISIBLE LAS EXPRESIONES SIMBOLICAS
B.1 Fundamentos de MATLAB 237

% >> pretty(f34)

El comando pretty(f34) devuelve:


 1/3
1 6 12
+ + +8
a3 a2 a

B.1.7. Simulacion 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:
   
q1 u1
M(q)q + P(q, q)q + d(q) = u q= u=
q2 u2
donde:
     
M11 0 P11 P12 0
M= P= d=
0 M22 P21 P22 d21

 
Ra 1
M11 = J1 + Jeq + m2 L2 sen2 q2
nKm KA 4
 
Ra 1
M22 = J2 + Jeq + m2 L2
nKm KA 4
 2

Ra n Km Kb
P11 = Beq +
nKm KA Ra
 
Ra 1
P12 = m2 L2 q1 senq2 cos q2
nKm KA 2
 
Ra 1
P21 = m2 L2 q1 senq2 cos q2
nKm KA 4
 
Ra n2 K m K b
P22 = Beq +
nKm KA Ra
 
Ra 1
d21 = m2 L2 gsenq2
nKm KA 2
El diseno de un controlador backstepping emplea el procedimiento descrito en la
seccion ??, que en forma breve establece hasta el nivel de simulacion:

(1) Definir las especificaciones de diseno y determinar el modelo no lineal del sis-
tema a controlar en la forma dada en (??).
(2) Determinar la ley de control backstepping dada en (??). Para ello, definir el
vector de referencias deseadas qd , formular el vector de error e y el vector qr :

e = z1 = q q d qr = qd Kz1

donde K es una matriz diagonal con elementos k positivos. El observador se


expresa como:
b = qd + Ld (q q
q b)
238 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 qr + d(q) Kd (q
u = M(q)q + P(q, q) b qr ) K1 z1

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

SI
k < N?

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: REGULACION (REFERENCIA CONSTANTE EN EL TIEMPO)
clear all; close all; clc;
B.1 Fundamentos de MATLAB 239

% DATOS DEL SUB-SISTEMA MECANICO


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;
% DATOS DEL SUB-SISTEMA ELECTRICO
Km = 0.0421; Kb=0.0564; Larm = 0; Ra = 5.3; KA = 12.5;
% PARAMETROS DE CONTROL
K = 5; K1=8; Ld=10; Kd=8;
% VALORES INICIALES
q1 = 0; q2 = 0; dq1 = 0; dq2 = 0; qe1 = 0; qe2 = 0;
% TIEMPO DE MUESTREO T (segundos) Y NUMERO DE ITERACIONES 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);
240 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
% GRAFICOS
ejex=linspace(0,N*T,N); % EJE DE TIEMPO
subplot(411)
plot(ejex,Qd1(1:N),ejex,Q1(1:N)), grid on
ylabel(POSICION q1 [rad])
subplot(412)
plot(ejex,U1(1:N)),grid on
xlabel(TIEMPO [S])
ylabel(CONTROL u1 [v])
subplot(413)
plot(ejex,Qd2(1:N),ejex,Q2(1:N)), grid on
ylabel(POSICION q2 [rad])
subplot(414)
plot(ejex,U2(1:N)), grid on
xlabel(TIEMPO [S])
ylabel(CONTROL u2 [v])
print -f -deps dfsimr % GENERA FIGURA dfsimr.eps

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 tam-
bien 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 sis-
tema, (2) identificar los componenetes del sistema, (3) modelar el sistema con ecua-
ciones, (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.


B.2 Fundamentos de Simulink 241

POSICIN q1 [rad]
1

0.5

0
0 5 10 15 20 25 30 35 40
CONTROL u1 [v]

50

50
0 5 10 15 20 25 30 35 40
TIEMPO [S]
POSICIN q2 [rad]

0.5

0
0 5 10 15 20 25 30 35 40
CONTROL u2 [v]

50

50
0 5 10 15 20 25 30 35 40
TIEMPO [S]

Fig. B.3: Resultado de la simulacion del sistema de control backstepping del MRE:
las posiciones de los brazos del manipulador siguen las senales de referencia deseada.

Para crear un nuevo modelo, seleccionar en el menu 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 menu 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


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

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


tana SLB, y en su menu 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 busqueda 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 ex-
tremo inferior izquierdo de la ventana MATLAB y luego ir a Start > Simulink > Demos.
244 Fundamentos de MATLAB y Simulink

B.2.2. Creacion 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 dia-
grama 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, Senal u y Senal v, son en realidad subsistemas que alojan, cada uno, una porcion
del programa de control.

disnl2_u
u
Mux

grfico
Seal u Proceso Mux
Seal v no lineal
disnl2_x1
x1
Referencia disnl2_r
r Conversin Observador r
de x a z no lineal

Fig. B.7: Diagrama de bloques del archivo Simulink disnl2.mdl.

Por otro lado, el bloque Referencia r es una senal sinusoide que se arrastra desde su
ubicacion en la ventana SLB: Simulink > Sources > Sine Wave (Fig. B.8), hacia
la ventana de trabajo.
Haciendo doble click en cualquier subsistema, aparece una ventana con el con-
tenido del mismo. Por ejemplo, la Fig. B.9 muestra el contenido del subsistema Proce-
so no lineal. Sus componentes se arrastran desde la ventana SLB a la ventana de la Fig.
B.9. Observar en dicha Fig. que los crculos x1, x2 y x3 son las variables de salida del
sistema, mientras que el crculo u es la entrada. La entrada u se genera arrastrando la
elipse In1 ubicada en la ventana SLB: Simulink > Commonly Used Blocks > In1,
mientras que para las tres salidas se requiere arrastrar tres veces la elipse Out1 ubica-
da en la ventana SLB: Simulink > Commonly Used Blocks > Out1. El subsistema
Proceso no lineal se crea seleccionando con el click derecho todo el contenido de
la Fig. B.9 y luego tipeando Ctr + G o seleccionando en el menu de MATLAB:
Edit > Create Subsystem.
Los rectangulos u, x1 y r mostrados en la Fig. B.7, que sirven para almacenar
datos, se crean arrastrando tres veces el rectangulo To File ubicado en la ventana SLB:
Simulik > Sinks > To File. Haciendo doble click en cada rectangulo, se introduce
un nombre a eleccion por ejemplo, disnl2_u, disnl2_x1 y disnl2_r. En la Fig. B.7,
Scope es un graficador que se obtiene de la ventana SLB: Simulink > Sinks > Scope.
El procedimiento para obtener el resultado de este programa: los graficos de la salida
x1 controlada u la fuerza de control u, es el siguiente:

1. Ejecutar el archivo disnl2p.m para introducir datos al sistema. El archivo no se


B.2 Fundamentos de Simulink 245

Fig. B.8: Ubicacion del bloque Sin Wave.

3 2
x3 x2
1 Kact 1
n*K 1 1
u L.s+R 1
gan 5 s
sum1 subsistema gan 6 M.s+B
x1
elctrico sum2 subsistema Integrador
mecnico

n*E
gan 2 MATLAB
N
Function
gan 3
seno

Fig. B.9: Contenido del subsistema Proceso no lineal.


246 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

1
Posicin (radianes)

0.5

0.5

1
0 2 4 6 8 10 12 14 16 18 20
Tiempo en segundos

2.5
Seal de control (voltios)

1.5

0.5

0.5
0 2 4 6 8 10 12 14 16 18 20
Tiempo en segundos

Fig. B.10: Salida controlada y fuerza de control correspondiente.


Bibliografa

[1] Murray R. Spiegel, Mathematical handbook, Shaums Outline Series, McGraw-


Hill,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 His-
panoamericana S.A., Mexico, segunda edicion, 1996

[6] Murray R. Spiegel, Analisis Vectorial, serie de compendios Schaum, McGraw-


Hill Mexico Panama Bogota y otras, 1973 (o ediciones mas recientes).

[7] Murray R. Spiegel, Calculo 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, Senales y Sistemas Prentice-Hall His-


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


ple Unknown Time-varying Delays, Ph.D. Thesis, Utah State University, Logan,
UT, 1995.

[13] Katsuhiko Ogata, Modern Control Engineering (5th Edition), Prentice Hall,
2009.
248 BIBLIOGRAFIA

[14] TecQuipment Ltd, TE37 Control and Instrumentation Study Station, User
Guide, 2009.

[15] J.G. Ziegler y N.B. Nichols, Optimum Setting for Automatic Controllers,
Transactions of the American Society Mechanical Engineering, Vol 64, pp. 759-
768, 1942.

[16] Richard C. Dorf y Robert H. Bishop, Sistemas de Control Moderno (10ma Edi-
cion), Pearson Prentice Hall, 2005.

[17] K.J. Astrom y T. Hagglund, PID Controllers: Theory, Design, and Tuning.
Instrument Society of America, 1995.

[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 Au-
flage, 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 Automatico de Procesos, Limusa Noriega
Editores, 1996.

[29] A. ODwyer, Handbook of PI and PID Controller Tuning Rules, 3rd edition,
Imperial College Press, 2009.

[30] National Instruments, NI Developer Suite: NI LabVIEW 8.5 and Device Drivers,
Third Quarter 2008.
BIBLIOGRAFIA 249

[31] Eduardo F. Camacho y Carlos Bordons, Model Predictive Control, Springer-


Verlag London Limited, 2004.

[32] Alberto Isidori, Nonlinear Control Systems, 3ed, Springer-Verlag Berlin, 1995.

[33] A. Barrientos, L. F. Penin, C. Balaguer, and R. Aracil, Fundamentos de Robotica,


2nd Edition, McGraw-Hill/Interamericana de Espana, S. A., Madrid, Buenos
aires, Caracas, and others, 2007.

[34] S. Kilicaslan, S.P. BanksLocalizacion, A separation theorem for nonlinear sys-


tems, 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 Indus-
trial and Applied Mathematics Philadelphia, PA, USA , 2001, ISBN:0898715261.

[45] Joseph La Salle and Solomon Lefschetz, Stability by Liapunovs Direct Method
With Applications, Academic Press new York, London, 1961.

[46] National Instruments, NI Developer Suite: NI LabVIEW 8.5 and Device Drivers,
Third Quarter 2008.
Indice alfabetico

Determinante, 151 Sistema estable e inestable, 168


de una matriz, 151 Sistema PLIT, 183
propiedades, 152 Solucion de la ecuacion de estado, 170
Discretizacion directa, 178
Transformada de Laplace
Ecuacion caracterstica, 168 Formulas de, 142
Eigenvalor, 159 inversa, 140
Eigenvector, 159 Propiedades de la, 145
Estabilidad de sistemas, 183 unilateral, 138
Forma canonica Variables de estado, 163
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

Potrebbero piacerti anche