You are on page 1of 332

CONTROL DE PROCESOS

PRÁCTICO Y AVANZADO

ARTURO ROJAS MORENO, Ph.D.

F Modelado de Procesos
F El Sistema de Medición
F Elementos Finales de Control
F Control PID SISO
F Estrategias de Control PID
F Sı́ntesis de Controladores SISO y MIMO
F Control Predictivo y Control Fuzzy
F Programas fuente en MATLAB
II

CONTROL DE PROCESOS PRÁCTICO Y AVANZADO

c 2012 Arturo Rojas-Moreno. Todos los derechos reservados.


Copyright

ISBN

Queda rigurosamente prohibida la reproducción total o parcial de esta obra por cualquier
medio o procedimiento, sin la autorización escrita del propietario del “Copyright”.
A mis Profesores
Índice general

III

Prefacio IX

Abreviaturas XI

1. Introducción 1
1.1. Sistema de Control a Lazo Cerrado . . . . . . . . . . . . . . . . . . . . 1
1.2. Sistema de Control a Lazo Abierto . . . . . . . . . . . . . . . . . . . . 6
1.3. Dinámica Lineal de los Elementos Ideales . . . . . . . . . . . . . . . . 7

2. El Proceso a Controlar 11
2.1. Procesos con Comportamiento Proporcional . . . . . . . . . . . . . . . 11
2.2. Procesos de Primer Orden . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3. Procesos de Segundo Orden . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4. Procesos Integrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5. Procesos con Tiempo Muerto . . . . . . . . . . . . . . . . . . . . . . . 21
2.6. Procesos de Orden Superior . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7. El Motor DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8. Modelo MIMO del Proceso Tanque Cerrado . . . . . . . . . . . . . . . 28
2.8.1. Descripción del Proceso . . . . . . . . . . . . . . . . . . . . . . 28
2.8.2. Modelo Dinámico No Lineal del Proceso . . . . . . . . . . . . . 30
2.8.3. Modelo Dinámico de Lagrange del Proceso . . . . . . . . . . . 33
2.8.4. Modelo Dinámico Lineal del Proceso . . . . . . . . . . . . . . . 33
2.9. Respuesta Transitoria de los Procesos . . . . . . . . . . . . . . . . . . 34
2.9.1. Respuesta al Escalón: Método de la Tangente . . . . . . . . . . 34
2.9.2. Método del 28.3 % y 63.2 % . . . . . . . . . . . . . . . . . . . . 36
2.9.3. Otras Respuestas al Escalón y al Impulso . . . . . . . . . . . . 36
2.10. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3. El Sistema de Medición 45
3.1. Caracterı́sticas de los Sensores . . . . . . . . . . . . . . . . . . . . . . 45
3.2. Sensores de Medición . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4. Elementos Finales de Control 63


4.1. Caracterı́sticas del Elemento Final de Control . . . . . . . . . . . . . . 63
4.2. La Válvula de Control Automática (VCA) . . . . . . . . . . . . . . . . 64
VI ÍNDICE GENERAL

4.2.1. Generalidades de una VCA . . . . . . . . . . . . . . . . . . . . 64


4.2.2. Carcterı́stica de una VCA en Operación . . . . . . . . . . . . . 70

5. Control PID SISO 71


5.1. Sistema de Control SISO . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2. Especificaciones de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2.1. Especificaciones de Diseño en el Dominio del Tiempo . . . . . . 73
5.2.2. Especificaciones de Diseño en el Dominio de la Frecuencia . . . 75
5.3. Modos de Control PID . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3.1. La Banda Proporcional BP % . . . . . . . . . . . . . . . . . . . 80
5.3.2. Control Proporcional . . . . . . . . . . . . . . . . . . . . . . . . 84
5.3.3. Control Proporcional Integral . . . . . . . . . . . . . . . . . . . 85
5.3.4. Control Proporcional Derivativo . . . . . . . . . . . . . . . . . 85
5.3.5. Control PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4. Control de Dos Posiciones . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.5. Estructuras del Controlador PID . . . . . . . . . . . . . . . . . . . . . 88
5.6. Métodos de Sintonización de Controladores PID . . . . . . . . . . . . 93
5.6.1. Métodos Basados en la Curva de Reacción . . . . . . . . . . . . 93
5.6.2. Métodos a Lazo Cerrado . . . . . . . . . . . . . . . . . . . . . . 105
5.6.3. Métodos Basados en la Minimización de un Índice . . . . . . . 116
5.7. El Efecto Windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.8. El Algoritmo PID Discreto Modificado . . . . . . . . . . . . . . . . . . 130
5.9. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

6. Estrategias de Control 137


6.1. Diagramas de Instrumentación . . . . . . . . . . . . . . . . . . . . . . 137
6.2. Control en Cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.3. Control de la Razón . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.4. Control Anticipativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
6.5. Control Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
6.6. Control Selectivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6.7. Control de Rango Partido . . . . . . . . . . . . . . . . . . . . . . . . . 158
6.8. Autosintonización con Reconocimiento de Patrones . . . . . . . . . . . 159
6.9. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

7. Sı́ntesis de Controladores SISO y MIMO 167


7.1. Método de Dahlin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
7.2. Control MIMO vı́a Desacoplamiento . . . . . . . . . . . . . . . . . . . 171
7.2.1. No Interacción . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
7.2.2. Exactitud Estática . . . . . . . . . . . . . . . . . . . . . . . . . 173
7.2.3. Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
7.3. Control MIMO con Desacopladores . . . . . . . . . . . . . . . . . . . . 182
7.4. Control MIMO Empleando el Criterio de Hurwitz . . . . . . . . . . . . 183
7.4.1. Procedimiento de Diseño . . . . . . . . . . . . . . . . . . . . . 185
7.4.2. El Criterio de Hurwitz . . . . . . . . . . . . . . . . . . . . . . . 185
7.5. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
ÍNDICE GENERAL VII

8. Control Predictivo 191


8.1. Control Predictivo Basado en Modelos . . . . . . . . . . . . . . . . . . 191
8.2. Principios del Control Predictivo . . . . . . . . . . . . . . . . . . . . . 192
8.3. El Modelo del Proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
8.4. El Controlador Predictivo . . . . . . . . . . . . . . . . . . . . . . . . . 198
8.4.1. Objetivo del Controlador . . . . . . . . . . . . . . . . . . . . . 198
8.4.2. Respuesta Libre y Respuesta Forzada . . . . . . . . . . . . . . 200
8.4.3. La Ley de Control SISO . . . . . . . . . . . . . . . . . . . . . . 202
8.5. Procedimiento de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . 204
8.6. Ejemplo de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
8.7. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

9. Control Fuzzy 213


9.1. El Controlador Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
9.2. Diseño de un Sistema de Control Fuzzy . . . . . . . . . . . . . . . . . 214
9.2.1. Manipulador Robótico de 1GDL: MR1 . . . . . . . . . . . . . . 214
9.2.2. Control Fuzzy del Manipulador MR1 . . . . . . . . . . . . . . . 220
9.2.3. El Proceso de Fuzzyficación . . . . . . . . . . . . . . . . . . . . 221
9.2.4. El Proceso de Defuzzyficación . . . . . . . . . . . . . . . . . . . 223
9.3. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

A. Sistemas Continuos 231


A.1. La Transformada Unilateral de Laplace . . . . . . . . . . . . . . . . . 231
A.1.1. Definición y Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 231
A.1.2. La Transformada Inversa de Laplace . . . . . . . . . . . . . . . 234
A.1.3. La Función de Transferencia . . . . . . . . . . . . . . . . . . . . 235
A.1.4. Fracciones Parciales . . . . . . . . . . . . . . . . . . . . . . . . 236
A.1.5. Álgebra de Bloques . . . . . . . . . . . . . . . . . . . . . . . . . 241
A.2. Matrices y Determinantes . . . . . . . . . . . . . . . . . . . . . . . . . 242
A.2.1. Operaciones con Matrices . . . . . . . . . . . . . . . . . . . . . 243
A.2.2. Tipos de Matrices . . . . . . . . . . . . . . . . . . . . . . . . . 245
A.2.3. Determinantes y Matriz Inversa . . . . . . . . . . . . . . . . . . 246
A.2.4. Rango, Eigenvectores y Pseudoinversas . . . . . . . . . . . . . . 251
A.2.5. Diagonalización de Matrices y Formas Canónicas . . . . . . . . 256
A.3. Variables de Estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
A.3.1. Ejemplo de Introducción . . . . . . . . . . . . . . . . . . . . . . 257
A.3.2. Definición de Variables de Estado . . . . . . . . . . . . . . . . . 259
A.3.3. Matriz de Transferencia y Estabilidad . . . . . . . . . . . . . . 260
A.3.4. Controlabilidad y Observabilidad . . . . . . . . . . . . . . . . . 263
A.3.5. Solución de la Ecuación de Estado de SLITs Continuos . . . . 266
A.3.6. Formas Canónicas SISO en el Espacio de Estado . . . . . . . . 273
A.4. Discretización Directa . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
A.5. Sistemas con Tiempo Muerto . . . . . . . . . . . . . . . . . . . . . . . 280
A.6. Linealización de Sistemas Continuos . . . . . . . . . . . . . . . . . . . 282
A.6.1. Caso SISO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
A.6.2. Caso MIMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
A.7. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
VIII ÍNDICE GENERAL

B. Fundamentos de MATLAB y Simulink 295


B.1. Fundamentos de MATLAB . . . . . . . . . . . . . . . . . . . . . . . . 295
B.1.1. El Entorno de Trabajo de MATLAB . . . . . . . . . . . . . . . 295
B.1.2. Comandos y Funciones Generales . . . . . . . . . . . . . . . . . 296
B.1.3. Creación de Archivos Tipo m . . . . . . . . . . . . . . . . . . . 298
B.1.4. Matemática con MATLAB . . . . . . . . . . . . . . . . . . . . 299
B.1.5. Gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
B.1.6. Matemática Simbólica . . . . . . . . . . . . . . . . . . . . . . . 307
B.2. Fundamentos de Simulink . . . . . . . . . . . . . . . . . . . . . . . . . 308
B.2.1. Fundamentos del Software Simulink . . . . . . . . . . . . . . . 308
B.2.2. Creación de un Modelo Simulink . . . . . . . . . . . . . . . . . 311

B
. ibliografı́a 315

Indice
.́ alfabético 318
Prefacio

Esta publicación está dirigida a todos los profesionales, cientı́ficos, especialistas y


estudiantes interesados en familiarizarse con el modelado, la simulación y el control
de procesos industriales. La dinámica de los procesos tratados se describen empleando
modelos lineales y no lineales.
El libro se titula Control de Procesos Práctico y Avanzado porque su contenido
abarca tanto temas relacionados con el diseño práctico de sistemas de control de una
entrada y una salida empleando controladores PID (Proporcional Integral Derivati-
vo), ası́ como también temas avanzados del control de procesos como son: sı́ntesis
de sistemas de control multivariable, estrategias en el control de procesos tales como
cascada, razón, rango partido, anticipativo y selectivo, control predictivo basado en
modelos y control fuzzy.
En todos los Capı́tulos de este libro se usa intensivamente el software MATLAB r
[1] para el cálculo, diseño y simulación de sistemas de control de procesos. También
se emplea el software Simulinkr [2], el cual trabaja dentro del entorno MATLAB.
El Apéndice 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 descargar del link DESCARGAS de www.ctlima.com.
Para asimilar sin dificultad el contenido de este libro, el lector requiere haber
llevado los cursos de matemática, fı́sica y fundamentos de control automático que
se dictan en una Universidad o Instituto. Sin embargo, se recomienda que el lector
se remita al Apéndice A: Matemáticas para el Control de Procesos, donde, con el
auxilio de la herramienta MATLAB, se hace un repaso de los tópicos de matemáticas
requeridos en el desarrollo de los Capı́tulos de este libro.
El procedimiento de diseño de sistemas de control empleado en este libro com-
prende: la formulación del problema a resolver, el modelado del proceso, el diseño del
algoritmo de control, y la verificación del sistema de control diseñado vı́a simulación.
Esta publicación 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 para diferentes cursos de instrumentación y control, y en
temas relacionados con el diseño e implementación de sistemas de control.

La organización de este libro comprende los capı́tulos siguientes:

Capı́tulo 1: Introducción. Este capı́tulo presenta una introducción sobre los


sistemas de control a lazo cerrado y a lazo abierto, describiendo sus componentes.
X Prefacio

Antes de abordar los siguientes capı́tulos se recomienda leer los Apéndices A y B.

Capı́tulo 2: El Proceso a Controlar. En este capı́tulo se deducen y simulan los


modelos dinámicos de varios procesos, tanto de aquellos que poseen comportamiento
lineal como no lineal.

Capı́tulo 3: El Sistema de medición. Los tópicos relevantes del sistema de


medición, como son los sensores y los transmisores, se tratan en este Capı́tulo.

Capı́tulo 4: Elementos Finales de Control. Diferentes tipos de elementos fi-


nales de control son descritos en este Capı́tulo, que también incluye un breve estudio
de las válvulas automáticas de control.

Capı́tulo 5: Control PID SISO. El control PID (Proporcional Integral Deriva-


tivo) de procesos SISO (Single Input Single Output) es el más usado en la industria.
Por ello, esta publicación le dedica un Capı́tulo entero.

Capı́tulo 6: Estrategias de Control. Este Capı́tulo comprende la elaboración


de los diagramas de instrumentación, y el estudio de varias estrategias de control
industrial: cascada, razón, override, selectivo, de rango partido y autosintonización.

Capı́tulo 7: Sı́ntesis de Controladores SISO y MIMO. En este Capı́tulo se


sintetizan controladores SISO y MIMO (Multiple Input Multiple Output) empleando
varios métodos, entre los cuales están: el método de Dahlin para controladores SISO,
y los métodos de desacoplamiento y de Hurwitz para controladores MIMO.

Capı́tulo 8: Control Predictivo. El control predictivo de procesos está ganan-


do mayor relevancia en la industria debido a sus múltiples aplicaciones exitosas. Este
Capı́tulo describe la técnica del control predictivo basado en modelos y su aplicación
a procesos SISO.

Capı́tulo 9: Control Fuzzy. El control de procesos empleando inteligencia arti-


ficial cobra cada vez mayor relevancia en la industria. Este Capı́tulo trata la técnica
de control inteligente denominada fuzzy.

Apéndice A: Matemática para el Control de Procesos. Este Apéndice tra-


ta algunos tópicos de matemática aplicada requeridos en el desarrollo de los capı́tulos.
Se pone énfasis en la solución de problemas matemáticos empleando software.

Apéndice B: Fundamentos de MATLAB y Simulink. Este capı́tulo se ocu-


pa de la teorı́a y aplicaciones del paquete MATLAB/Simulink.

Arturo Rojas Moreno, Ph.D.


ctlima33@gmail.com
www.ctlima.com
Abreviaturas

ANSI American National Standards Institute


CARIMA Controlled Autoregressive Integrated Moving Average
DC Direct Current (corriente continua)
EC Ecuación caracterı́stica
EFC Elemento Final de Control
EFD Engineering Flow Diagram
FAM Fuzzy Asociative Memory
FSV, PSV, TSV Flow-, Pressure- and Temperature Safety Valve
FT, MT Función y Matriz de Transferencia
FCE Final Control Element
ISA International Society of Automation
ISE Integral Squared Error
IAE Integral Absolute Error
ITAE Integral Time Absolute Error
ISTE Integral Square Time weighted Error
IST2 E Integral Square Time–Square weighted Error
LVDT Linear Variable Differential Transformer
MATLAB MATrix LABoratory
MFD Mechanical Flow Diagram
MIMO Multiple–Input–Multiple–Output
MR1 Manipulador Robótico de 1 grado de libertad
MSIP Motor Sı́ncrono de Imán Permanente
MV Manipulated Variable
NTC Negative Temperature Coefficient
opamp Amplificador operacional
PID Proporcional–Integral–Derivativo
P&ID Piping and Instrumentation Diagram
PLC Programmable Logic Controller
PV Process Variable
RTD Resistance Temperature Detector
SIS Safety Instrument System
SISO Single Input Single Output (Una Entrada Una Salida)
SLB Simulink Library Browser
SLIT Sistema Lineal Invariante con el Tiempo
SP Set Point
VC Ventana de Comandos de MATLAB
VCA Válvula de Control Automática
Capı́tulo 1

Introducción

En este Capı́tulo se hace un breve introducción sobre los sistemas de control a lazo
cerrado y a lazo abierto, describiendo sus componentes e incluyendo ejemplos ilustrativos
para reforzar la comprensión de los conceptos. Tales componentes son: el proceso cuya
variable de salida se desea controlar, el sistema de medición que sensa y transmite la
variable a controlar, el controlador que procesa la desviación entre el valor de la variable
a controlar con respecto a una señal deseada con el propósito de generar una señal de
control, y el elemento final de control que recibe la señal generada por el controlador
para efectuar cambios en el proceso, con la finalidad de reducir a cero la desviación
previamente descrita.
Este Capı́tulo también se ocupa del modelado lineal de los elementos ideales con
los siguientes propósitos: describir la dinámica de tales elementos y familiarizarse con el
manejo de unidades. Las unidades de medida usadas en esta publicación corresponden al
Sistema Internacional de Unidades (SI).

1.1. Sistema de Control a Lazo Cerrado


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

El Proceso
El bloque proceso representa un cambio fı́sico o quı́mico de la materia. Ası́ tenemos
los procesos de calefacción, enfriamiento, mezcla, fundición, separación, destilación,
llenado y vaciado, evaporación, cocción, entre otros. Los instrumentos son dispositivos
que se emplean en los procesos para monitorearlos y controlarlos, lo cual se logra
mediante la medición de algunas de sus caracterı́sticas, también denominadas los
parámetros del proceso.
Algunos ejemplos de caracterı́sticas del proceso son: capacitancia, inductancia,
resistencia, voltaje, corriente, peso, presión, aceleración, sonido, color, nivel, tempe-
ratura, humedad, densidad, contenido de humedad, viscocidad, dimensión, concen-
tración de pH, flujo, velocidad, espesor, gravedad especı́fica, entre otros. La variable y
mostrada en la Fig. 1.4, conocida también como PV (Process Variable), es la variable
2 Introducción

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

Sensor más
Transmisor
Sistema de
medición

Fig. 1.1: Sistema de control a lazo cerrado. SP: Set Point; MV: Manipulated Variable;
PV: Process Variable.

controlada o salida del proceso. En esta publicación usaremos con mayor frecuencia
el término flujo en lugar de sus sinónimos caudal o gasto.

El Sistema de Medición
Es común que un proceso posea varios parámetros que necesitan ser monitoreados
simultáneamente. Esto se logra por lo general, empleando un sistema de medición
para cada parámetro (ver Fig. 1.1). Cada sistema de medición consta de un sensor
que proporciona la variable medida, y de un transmisor que cambia dicha variable en
una señal estandarizada que pueda ser transmitida. La variable medida representa
entonces la condición actual de la variable controlada y.
En algunos casos, la variable medida y la variable controlada es la misma variable.
Por ejemplo, la medición y control de la variable velocidad de un motor DC (Direct
Current). Sin embargo, en otros casos, la variable medida y la variable controlada
pueden ser diferentes. Este es el caso del control de nivel de un lı́quido en un tanque,
que puede ser realizado midiendo la presión en el fondo del tanque. Es decir, en este
caso medimos presión para controlar nivel.
Señales estandarizadas que se emplean en el control de procesos son: 4 a 20 mA
(miliamperio), 3 a 15 psi (libra por pulgada cuadrada) y 0.2 a 1 bar. Otros rangos de
señales también son empleados: 0 a 10 V (volt), − 10 a + 10 V, etc. El transmisor
también es conocido como convertidor, transductor, y en general como un acondi-
cionador de señales. Si fuera necesario, un acondicionador de señal se puede diseñar
empleando opamps (amplificadores operacionales) en su implementación.
En muchos casos, el sensor y el transmisor son parte de un solo instrumento. Los
sistemas de medición actuales también incluyen hardware para almacenar algoritmos
y rutinas de cálculo, y para el procesamiento de señales digitales empleando protoco-
los industriales de comunicación. Los sistemas de medición inteligente reciben dicha
denominación, por que poseen la capacidad de procesamiento de señales.
En general, los sistema de medición se aplican a los procesos para: indicar el
valor de una variable, registrar y almacenar los valores de una variable, controlar una
variable, fijar alarmas en los casos que una variable alcanza un determinado valor,
y como enclavamiento; es decir, haciendo que una variable cause una acción cuando
alcance un valor previamente establecido.
1.1 Sistema de Control a Lazo Cerrado 3

El Controlador
Para lograr control en la Fig. 1.1, se requiere que el valor de la variable medida
y tienda a ser el valor de la señal de referencia r o SP (Set Point), que es la señal
deseada de la variable controlada. En otras palabras, en los sistemas de control a lazo
cerrado, las señales r e y son comparadas. La diferencia entre ellas es la señal de error
e, llamada también señal de desviación. Cuando existe una desviación, es necesario
actuar para eliminarla. Esta acción incluye el ajuste y la acción de una señal o fuerza
de control u, denominada también la variable manipulada MV (Manipulated Vari-
able), para minimizar el error; es decir, para hacer que la señal y siga a r, cumpliendo
ciertas especificaciones de diseño (sección 5.2).
Por ejemplo, la velocidad de un carro se controla comparando el valor indicado
por el velocı́metro (la variable medida) con el valor lı́mite de la velocidad (la variable
deseada o SP). Si existe una desviación, se tiene que ajustar mediante el pedal del
acelerador una cierta cantidad de gas (la variable manipulada MV) para cambiar la
velocidad (la variable controlada o PV).
El bloque denominado controlador (ver la Fig. 1.1), es el que procesa la señal 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 realimentación, que en
general no es necesario, sólo es para indicar en este caso que tal controlador forma
parte de un sistema de control realimentado.
La función del controlador mostrado en la la Fig. 1.1 se logra llevando a cabo
tres pasos. El primero consiste en recopilar información acerca de la variable del
proceso que se desea controlar. Luego, usar convenientemente dicha información para
tomar una decisión con relación a la condición del proceso. Finalmente, tomar una
acción basada en tal decisión, empleando para ello el elemento de control final. Es
importante anotar que para mantener el control, la recopilación de información 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 eléctrica de una
vivienda, en donde la acción de control se realiza conectando o desconectando a la red
la resistencia de calefacción 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 comparación, se decide que es necesario cambiar la
condición del proceso: aumentar o disminuir la temperatura. Finalmente, se toma la
acción 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 automática. En el control
manual, la decisión la realiza la persona, mientras que en el control automático la
realiza un dispositivo. La terma es un caso de control automático de la temperatura,
mientras que la conducción de un carro para mantenerlo a una velocidad constante,
es un caso de control manual.

El Elemento Final de Control (EFC)


El controlador genera una señal que por si misma no posee la potencia necesaria
para provocar cambios en el proceso. Por tal razón, la señal de salida del controlador
4 Introducción

se dirige hacia el elemento final de control (EFC), el cual sı́ posee la capacidad de
efectuar cambios en el proceso con el propósito de disminuir el error e = r − y.
Por consiguiente, el EFC es el hardware que implementa la decisión tomada por el
controlador.
La fuente de energı́a común del EFC puede ser eléctrica, neumática e hidráulica.
Ejemplos de EFC eléctricos son los motores AC y DC, motores paso a paso, válvu-
las de control motóricas, solenoides, relés, entre otros. Entre los EFC hidráulicos y
neumáticos tenemos: válvulas neumáticas, pistones hidráulicos y neumáticos, mo-
tores hidráulicos y neumáticos, etc. Dependiendo del tipo de EFC, en muchos casos
será necesario incluir un convertidor (o transmisor) de señal entre el controlador y el
EFC, tal como se muestra en el ejemplo 1.1.

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

Ejemplo 1.1

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


y las señales normalizadas. Este sistema emplea como sensor de flujo una placa de
orificio para producir la caı́da de presión ∆P = P1 − P2, con la finalidad de tener
una medición indirecta del flujo F, pues sabemos que tal flujo o gasto es proporcional
a la raı́z cuadrada de ∆P.

Solución: Ver Fig. 1.2(b).√Observar que se requiere un primer transmisor para re-
alizar la operación F = C ∆P , donde C es una constante de proporcionalidad, y
luego convertir esta operación en una señal de corriente estandarizada (4 a 20 mA).
El signo raı́z cuadrada a un costado del transmisor indica esta operación. Notar tam-
bién que ha sido necesario incluir un segundo transmisor para convertir el rango de
4 a 20 mA a otro de 3 a 15 psi, debido a que el EFC, la válvula de control, trabaja
con señal neumática estandarizada.

Ejemplo 1.2

En el sistema de control de temperatura mostrado en la Fig. 1.3, indicar cuál es la


señal disturbio y porqué. Este sistema emplea como sensor una termoresistencia, cuya
salida es un valor de resistencia eléctrica, la cual es proporcional a la temperatura en
el interior del tanque. Los valores de resistencia se convierten a señales estandarizadas
de 4 a 20 mA mediante el transmisor. Observar que la válvula de control es del tipo
1.1 Sistema de Control a Lazo Cerrado 5

CONTROLADOR

TRANSMISOR TRANSMISOR

ACTUADOR
F

P1 P2 VÁLVULA
PLACA DE ORIFICIO NEUMÁTICA

(a)

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

TRANSMISOR TRANSMISOR
ACTUADOR 3 − 15 psi
P
PROCESO F

P1 P2 EFC: VÁLVULA
SENSOR: PLACA DE CONTROL
DE ORIFICIO NEUMÁTICA
(b)

Fig. 1.2: (a) Sistema de control de flujo. (b) Solución al ejercicio 1.1.

eléctrica porque trabaja con una señal de 4 a 20 mA. Esta señal alimenta al motor
DC. El movimiento de rotación del eje del motor se convierte en un movimiento de
traslación para hacer desplazar el eje de la válvula de control.

PV
Sensor 4−20 mA
(ohm) Transmisor
MV Controlador
4−20 mA SP
Producto 4−20 mA

Agua caliente

Fig. 1.3: Sistema de control de temperatura.

Solución: El flujo del producto que ingresa al tanque constituye la señal de disturbio.
Mientras más brusca sea la variación de este flujo, mayor será la dificultad para que
la señal PV siga a la señal SP.
6 Introducción

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 realimentación. Dicho lazo
si está presente en el sistema de control de la Fig. 1.1.

Disturbios
SP MV PV
r y Sensor más
Controlador u Elemento final
anticipativo de control Proceso Transmisor
Sistema de
Medición
Fig. 1.4: Sistema 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 automatización que tienen que ver principalmente con aperturas y cierres
temporizados de válvulas y otros dispositivos. La programación de los tiempos de la
entrada en operación de los compresores que conforman un sistema de generación de
aire comprimido, es un ejemplo tı́pico de mando programable.
El control a lazo abierto de la Fig. 1.1 se convierte en un sistema de control
anticipativo, valga la redundancia, cuando el controlador es del tipo anticipativo. En
esta clase de control, los sensores miden los valores de los disturbios, mientras que la
variable manipulada (la señal de control) se ajusta antes de que ocurran cambios en
la variable controlada.
La estrategia de control anticipativo se trata en detalle en la sección 6.4. 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 análisis dinámico complejo de los disturbios
para que la estrategia de control trabaje efectivamente. Sólo en muy pocos casos en
la industria, el control anticipativo es relevante.
Existen otras estrategias de control, además del control anticipativo, tales como
control de la razón de dos variables, control en cascada, control de rango partido y
control selectivo, todas las cuales serán abordadas en detalle en el Capı́tulo 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 presión dentro del tanque, respectivamente. Este
ejemplo es un caso tı́pico de mando programable, el cual se implementa con un PLC
y válvulas ON–OFF (de apertura y cierre). La apertura y cierre de tales válvulas se
realiza con un programa elaborado para tal propósito. Este programa se puede realizar
1.3 Dinámica Lineal de los Elementos Ideales 7

empleando diversos métodos. Uno de los más populares es el método de la escalera.


No es propósito de este libro entrar en detalles de este método de programación.
Luego de culminado y probado el programa, éste se almacena en la memoria del
PLC. Para el caso que nos ocupa, tal programa satisface la siguiente secuencia lógica:

ESTADO 0 (REPOSO): V2 OFF


ESTADO 1 (LLENAR PRODUCTO): V1 ON
ESTADO 2 (TANQUE LLENO): LT MÁXIMO, V1 OFF, V2 OFF, V3 ON
ESTADO 3 (TRANSPORTAR PRODUCTO): PT MÁXIMO, V4 ON, V5 ON
ESTADO 4 (SOPLAR NITRÓGENO): PT MÍNIMA, 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. LT: Level Trans-
mitter; PT: Pressure Transmitter; V1, ... V5: válvulas.

1.3. Dinámica Lineal de los Elementos Ideales


La Tabla 1.1 describe los modelos dinámicos lineales de los elementos ideales,
mientras que las Figs. 1.6, 1.7 y 1.8 muestran los sı́mbolos de los mismos. Tal infor-
mación es de gran utilidad porque explica el comportamiento fı́sico de los diversos
elementos que son parte de los procesos. En la Tabla 1.1, la energı́a se expresa en J
(joule), la potencia en W (watt) y el tiempo t en s (segundo).
La Fig. 1.6(a) muestra la inductancia eléctrica L en H (henry), en donde se cumple
que la diferencia de potencial v21 = v2 − v1 en V (volt) es proporcional a la variación
de la corriente i en A (ampere) con respecto al tiempo.
8 Introducción

Tabla 1.1: Modelos dinámicos para elementos ideales.

Almacenador Elemento Ecuación Energı́a E o


o disipador fı́sico descriptiva potencia P
Almacenador Inductancia
di
inductivo eléctrica 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 fluidica p21 = I dq
dt E = 12 Iq 2
Almacenador Capacitancia
capacitivo eléctrica 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 fluidica q21 = Cf dpdt21 E = 12 Cf p22
Almacenador Capacitancia
capacitivo térmica q = Ct dT
dt E = Ct T
Disipador Resistencia
1 1 2
de energı́a eléctrica i= R v21 P= R v21
Disipador Amortiguador
de energı́a traslacional f = Bv21 2
P = Bv21
Disipador Amortiguador
de energı́a rotacional T = Bω21 2
P = Bω21
Disipador Resistencia
1 1 2
de energı́a fluidica q= Rf p21 P= Rf p21
Disipador Resistencia
1 1
de energı́a térmica q= Rt T21 P= Rt T21
1.3 Dinámica Lineal de los Elementos Ideales 9

La Fig. 1.6(b) ilustra el resorte traslacional de constante K, en donde la variación


de velocidad v21 en m/s es proporcional a la variación 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 posición, es fácil demostrar que f = Kx21 . Por ello, K está en N/m.
La Fig. 1.6(c) muestra el resorte rotacional de constante K en N.m/rad, en donde
el cambio de velocidad angular ω21 en rad/s es proporcional a la variación del torque
con respecto al tiempo dT/dt en N.m/s (newton.metro/segundo). Considerando que
ω21 = dθ21 /dt donde θ21 en rad es el cambio de posición angular, es fácil demostrar
que T = Kθ21 . Por ello, K está en N.m/rad.
En la Fig. 1.6(d), donde l es el nivel, se cumple que el cambio de presión p21 en
Pa (pascal), donde 1 Pa = 1 N/m2 , es proporcional a la variación del flujo q en m3 /s
con respecto al tiempo. La constante de proporcionalidad I es la inercia fluidica, la
cual posee las unidades N.s2 /m5 puesto que la inercia fluidica se expresa como:
p21
I=
dq/dt

L K ω1 T T ω2 p1
i f f K I
v v2 q p2
v1 v2 θ1
θ2
(a) (b) (c) (d)

Fig. 1.6: Elementos ideales almacenadores de energı́a inductiva. (a) Inductancia


eléctrica. (b) Resorte traslacional. (c) Resorte rotacional. (d) Inercia fluı́dica.

La Fig. 1.7(e) ilustra la capacitancia eléctrica C en F (farad), en donde la corriente


i en A (ampere) que circula a través de C es proporcional a la diferencia de potencial
v21 en V (volt) con respecto al tiempo.
La Fig. 1.7(f) muestra la masa M en kg (kilogramo), en donde la fuerza f en N
(newton) que actúa sobre M produce la aceleración a=dv/dt en m/s 2 , donde v en
m/s es la velocidad de la masa M.
En la Fig. 1.7(g) se cumple que el torque de torsión T en N.m es proporcional
a la aceleración angular α = dω/dt en rad/s2 . La constante de proporcionalidad J
en N.m.s2 /rad se denomina momento de inercia y es caracterı́stico para cada cuerpo
dependiendo de su forma.
El flujo q en m/s3 de un fluido que existe en un conducto o recipiente (ver Fig.
1.7(h)), es proporcional a la caı́da o cambio de presión p21 en Pa (pascal) con respecto
al tiempo. La proporcionalidad mencionada define a la capacitancia fluidica C f en
m5 /N.
El flujo de calor q en W (watt), donde 1 W = 1 J/s (joule/segundo), que circula
en un medio, es proporcional al cambio de temperatura T en grados K (kelvin) con
respecto al tiempo. La proporcionalidad mencionada define a la capacitancia térmica
Ct en J/K, la cual se muestra en la Fig. 1.7(i).
La Fig. 1.8(j) muestra una resistencia eléctrica R en Ω (ohm), en donde la corriente
i en A es proporcional a la caı́da de voltaje v21 en V. Notar que la proporcionalidad
10 Introducción

J ω T
C
i M f
v1 v2 v

(e) (f) (g)

p1
Cf q Ct
T
q1 p2 q2

(h) (i)

Fig. 1.7: Elementos ideales almacenadores de energı́a capacitiva. (e) Capacitancia


eléctrica. (f) Masa. (g) Momento de inercia. (h) Capacitancia fluidica. (i) Capacitan-
cia Térmica.

es la inversa de R, la cual se denomina conductancia G=1/R, siendo su unidad de


medida el f (mho).
La fuerza f en N que se ejerce en el amortiguador traslacional mostrado en la Fig.
1.8(k), es proporcional al cambio de velocidad v21 en m/s. La proporcionalidad B se
denomina la constante de fricción viscosa traslacional, cuya unidad es N.s/m.
El torque T en N.m que se ejerce en el amortiguador rotacional mostrado en la
Fig. 1.8(l), es proporcional al cambio de velocidad angular ω21 en rad/s. La propor-
cionalidad B se denomina la constante de fricción viscosa rotacional, cuya unidad es
N.m.s/rad.
La resistencia fluidica Rf se define como la variación de la presión p21 (en Pa)
en un conducto o recipiente, con respecto al flujo q del fluido en m3 /s, tal como se
muestra en la Fig. 1.8(m). Por ello, Rf = p21 /q se expresa en N.s/m5 .
Del mismo modo, la resistencia térmica Rt se define como la variación de la
temperatura T21 en grados K (kelvin) en un medio, con respecto al flujo q de calor
en W, tal como se observa en la Fig. 1.8(n). Por ello, dado que 1 W = 1 J/s, R t posee
las unidades K/s/W = K/J.

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

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

Fig. 1.8: Elementos ideales disipadores de energı́a. (j) Resistencia eléctrica. (k) Amor-
tiguador traslacional. (l) Amortiguador rotacional. (m) Resistencia fluidica. (n) Re-
sistencia térmica.
Capı́tulo 2

El Proceso a Controlar

La dinámica de una gran variedad de procesos a ser controlados se puede describir


mediante un conjunto de ecuaciones diferenciales. Tal descripción matemática se ob-
tiene aplicando las leyes de la fı́sicas y de la quı́mica en dicho proceso, tales como la
conservación de la energı́a y las leyes de Newton.
Para construir un modelo adecuado para propósitos de control, se requiere conocer
bien la dinámica del proceso. No siempre es mejor que un modelo sea lo más exacto
posible a su comportamiento dinámico. Tener en cuenta que mientras más complejo sea
el modelo, más dificultoso será el análisis y diseño del sistema de control. Lo recomendable
es que el modelo del proceso mantenga las caracterı́sticas dinámicas de interés para el
rango de operación del sistema de control a diseñar.
En este capı́tulo se determinan los modelos dinámicos de varios procesos con tres
propósitos fundamentales. El primero, para que sirvan como una fuente de datos de salida
para poder construir curvas de reacción; el segundo, para que su dinámica sea usada en
el diseño de controladores; por último, para verificar la funcionalidad del controlador
actuando sobre el proceso.

2.1. Procesos con Comportamiento Proporcional


Un proceso SISO con comportamiento proporcional se caracteriza por poseer una
Función de Transferencia (FT, ver subsección A.1.3) constante, tal como se observa
en la Tabla 2.8. Esto es, 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 Tuberı́a


La Fig. 2.1(a) muestra un tramo de tuberı́a sección uniforme por donde circula un
flujo y, cuya magnitud está gobernada por la abertura u de la válvula de control. Las
letras FI (Flow Indication) dentro del cı́rculo indican la presencia de un instrumento
de indicación de flujo.
12 El Proceso a Controlar

La respuesta al escalón (su curva de reacción a lazo abierto) del proceso flujo se
ilustra en la Fig. 2.1(b). Considérese que para un tiempo t1 , el flujo y1 que pasa por
la válvula es A1 vρ, donde A1 es la sección transversal correspondiente a la abertura
u1 de la válvula, v es la velocidad del flujo considerada constante y ρ es la densidad
lı́quido, también asumida constante. Para un tiempo t2 , incrementamos la abertura de
la válvula de u1 a u2 . Consecuentemente, el flujo aumenta de y1 al valor y2 = A2 vρ,
sin experimentar retardo, donde A2 es la sección transversal correspondiente a la
abertura u2 . La ganancia proporcional Kp del proceso flujo resulta constante:

∆y y2 − y 1
Kp = = (2.2)
∆u u2 − u 1

En el dominio de Laplace, la expresión genérica 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
Válvula y
de control y
(a) 2 ∆y
y
1

t1 t2 t
(b)

Fig. 2.1: (a) Proceso flujo. (b) Respuesta al escalón (curva de reacción a lazo abierto)
del proceso flujo.

Ejemplo 2.1

Determinar la ganancia proporcional del proceso flujo mostrado en la Fig. 2.1(a),


sabiendo que el recorrido total de la válvula es de 10 mm y que el máximo flujo que
puede pasar por la tuberı́a es de 10 L/min (L: litro). Asumir que el cambio de flujo
∆y a través de la válvula es proporcional al cambio de abertura de válvula ∆u.

Solución.- La proporcionalidad se refiere a que ∆y = Kp ∆u. Empleando la ecuación


(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
2.2 Procesos de Primer Orden 13

Flujo en una Faja de Transporte


La Fig. 2.2 muestra una faja transportando un flujo y de material granulado, cuya
magnitud está gobernada por la velocidad u en el eje de salida de una caja reductora.
Observar que un motor es el que hace girar los ejes de entrada y de salida de dicha
caja.
La respuesta al escalón mostrado en la Fig. 2.1(b) también se aplica al proceso
flujo de granos. Considérese que para un tiempo t1 , el flujo que pasa por la banda
es y1 , correspondiente a la velocidad u1 fijada en la caja reductora. Para un tiempo
t2 , incrementamos la velocidad de salida de la caja reductora, fijándola de u 1 a u2 .
Consecuentemente, el flujo aumenta de y1 a y2 , sin experimentar retardo. Entonces,
la ganancia proporcional del proceso flujo de granos es la misma obtenida en (2.2) y
la correspondiente FT está dada por (2.3).

Silo de
material

u Banda transportadora
Caja de
reducción y
Motor

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

2.2. Procesos de Primer Orden


Un procesos SISO (Single Input Single Output) de primer orden se caracteriza
por poseer una FT que posee una parte proporcional Kp más un retardo de primer
1
orden T s+1 (ver Tabla 2.8); es decir, su salida y(s) está 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 sección uniforme S, al cual ingresa un
flujo de agua qC y sale otro flujo qD a través de un orificio ubicado en la base del
tanque. La Tabla 2.1 describe las variables y parámetros 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 ḣ = qC − qD (2.5)
dt
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 tuberı́a de rebose.

Tabla 2.1: Parámetros y variables del proceso nivel en un tanque cerrado.

Sı́mbolo Descripción Valor Unidades.


dS Diámetro del tanque 0.2 m
S Sección 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 frı́a hacia el tanque m3 /s
qC Estado estacionario de qC 1.66×10−4 m3 /s
qD Flujo de salida del tanque m3 /s
qD Estado estacionario de qD 2.16×10−4 m3 /s
Rh Resistencia hidráulica: Rh = h/q D s/m2

donde h es la altura del agua y Sdh/dt es el cambio de volumen de agua en el dife-


rencial de tiempo dt dentro del tanque. Para variaciones pequeñas de h y asumiendo
que el flujo de salida qD es laminar, se puede formular:
h
qD = (2.6)
Rh

donde Rh es la resistencia hidráulica del tanque, la cual se puede determinar de [3]:

h
Rh = (2.7)
qD

En (2.7), h y q D son los valores en estado estacionario de h y qD , respectivamente.


Reemplazando (2.6) en (2.5), se obtiene la ecuación de estado lineal del nivel:
1 1
ḣ = − h + qC (2.8)
Rh S S
2.2 Procesos de Primer Orden 15

En el dominio de Laplace: ḣ = 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.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 escalón 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 (ver Tabla A.2) en h(s), los
valores inicial y final de h(t) resultan:
lı́m h(t) = lı́m sh(s) = 0 lı́m h(t) = lı́m sh(s) = Rh A
t→0 s→∞ t→∞ s→o

La curva de reacción a lazo abierto del nivel h se determina resolviendo (2.8) o (2.10).
Vamos a intentar tres soluciones. Para una primera solución, descomponemos (2.10)
en fracciones parciales:
" #
Rh A 1 1
h(s) = = Rh A − 1
s(SRh s + 1) s (s + SR )
h

Tomando transformada inversa de Laplace a cada término 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:


lı́m h(t) = 0 lı́m h(t) = Rh A
t→0 t→inf

Notar que estos valores coinciden con los hallados empleando (2.10).
La segunda forma de hallar h(t) es empleando matemática simbólica, tal como se
ilustra en el programa nivel1simb.m listado abajo:
% nivel1simb.m DETERMINACIÓN DE h(t) USANDO TRANSFORMADA INVERSA DE LAPLACE
clear all; close all; clc; syms s Rh A S;
h=ilaplace(Rh*A*(1/s - 1/(s + 1/(S*Rh)))); pretty(simplify(h))
La tercera forma de hallar h(t) es mediante un programa en MATLAB, el cual tam-
bién grafica la curva de reacción. Este programa requiere la ecuación de diferencias
del proceso nivel. Para ello se debe de discretizar la ecuación de estado dada en (2.8)
como sigue:
dh ∼ h(k + 1) − h(k) 1 1
= =− h(k) + qC (k)
dt 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 última notación
es más conveniente para programación en tiempo real. Ejecutar el programa curvah.m
para obtener la curva de reacción de la Fig. 2.4.
16 El Proceso a Controlar

% curvah.m CURVA DE REACCIÓN DEL NIVEL DEL AGUA EN EL TANQUE CERRADO


clear all; close all; clc;
% PARÁMETROS DEL PROCESO TANQUE CERRADO
S=0.0314; hbar=0.5; qCbar=1.666e-4; qDbar=2.16e-4; Rh=hbar/qDbar;
h=0; T=1; M=500; % PERIODO DE MUESTREO Y NÚMERO 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 ÓN 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 térmico: 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 pérdidas se va a demostrar que la FT Ti (s)/To (s)
es de primer orden. La Tabla 2.2 describe las variables y parámetros en juego.
Suponiendo que el lı́quido en el tanque se agita uniformemente, que los flujos
volumétricos de entrada y de salida, la densidad y capacidad calorı́fica del lı́quido
son todos constantes, y que el proceso es adiabático (sin pérdidas) debido a que el
tanque posee buen aislamiento, entonces, la ecuación del balance de energı́a es:
dTo
qρCp Ti − qρCp To = V ρCv (2.12)
dt
En el dominio de Laplace, (2.12) resulta:
qρCp Ti (s) − qρCp 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: Parámetros y variables del proceso temperatura en un tanque con agitador.

Sı́mbolo Descripción Unidades


q Flujo de entrada y de salida m3 /s
ρ Densidad del lı́quido en q kg/m3
J
Cp Capacidad calorı́fica a presión constante kg.K
J
Cv Capacidad calorı́fica a volumen constante kg.K
V Volumen del lı́quido en el tanque m3
Ti Temperatura del flujo de entrada oC

To Temperatura del flujo de salida oC

Sabemos que la determinación de la FT de cualquier proceso requiere que todas las


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

To (s) 1 V Cv
= τ= (2.13)
Ti (s) τs + 1 qCp

La curva de reacción del proceso con Ti (s) = A/s, la cual es semejante al gráfico
inferior de la Fig. 2.4, posee la forma:

t
To (t) = A (1 − e− τ )

la cual se halla ejecutando el programa en matemática simbólica temp1simb.m, donde


tau representa a la letra griega τ :

% temp1simb.m DETERMINACIÓN 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 opamps (amplificadores opera-
cionales) 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 tuberı́a. Los parámetros y va-
riables de este proceso se describen en la Tabla 2.3. Las ecuaciones dinámicas que
gobiernan este proceso 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 al proceso es q(s) y la salida es q2 (s), entonces:
q2 (s) 1
= 2
q(s) R1 C1 R2 C2 s + (R1 C1 + R2 C2 + R2 C1 )s + 1
2.3 Procesos de Segundo Orden 19

Tabla 2.3: Parámetros y variables del proceso temperatura en un tanque con agitador.

Sı́mbolo Descripción Unidades


m3
q, q1 , q2 Flujos de entrada, intermedio y de salida s
s
R1 , R2 Resistencias hidráulicas m2
C1 , C2 Capacitancias hidráulicas 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 Núcleo de Fierro Móvil


La Fig. 2.8 muestra un indicador con núcleo de fierro móvil, donde K es la con-
stante del resorte, B es la constante de viscocidad del amortiguador, M es la masa del
núcleo de fierro encerrado por la bobina, y u es la corriente que circula por la bobina.
La fuerza electromagnética Km u, donde Km es una constante, produce un movimien-
to traslacional y en el núcleo, cuya dirección y magnitud depende de la dirección y
magnitud de la corriente u. El movimiento y, que es también el desplazamiento del
indicador, es proporcional a la corriente u. La ecuación que gobierna el movimiento
del núcleo es:
dy d2 y
Km u = Ky + B +M 2
dt dt
En el dominio de Laplace y con condiciones iniciales nulas, la ecuación anterior re-
sulta:
Km u(s) = Ky(s) + Bsy(s) + M s2 y(s)
Por consiguiente, la FT y(s)/u(s) toma la forma:
Km
y(s) M Kp
= 2 B K
=
u(s) s + Ms + M
s2 + 2ζωn s + ωn2
r
Km B K
Kp = ζ= √ ωn =
M 2 KM M
20 El Proceso a Controlar

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

Fig. 2.8: Indicador con núcleo de fierro móvil.

2.4. Procesos Integrales


Llenado de un Tanque
La Fig. 2.9 muestra un tanque de sección A que está siendo llenado por un flujo
u de entrada. Sólo cuando el tanque alcanza un nivel máximo, entonces se prende la
bomba de vaciado. El volumen acumulado en el tanque es:

dy
A =u
dt

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


proceso resulta:
y(s) Kp 1
= Kp =
u(s) s A

u(t)
Flujo u(t)
y(t)
uo
t
t1
y(t)
y(t)

yo

Bomba t
t1

Fig. 2.9: Llenado de un tanque.


2.5 Procesos con Tiempo Muerto 21

Satélite
El satélite mostrado en la Fig. 2.10 se puede modelar como:

d2 θ d2 θ
J = J θ̈ = u θ̈ =
dt2 dt2
donde J es el momento de inercia del satélite, θ es el ángulo de inclinación y u es
el torque generado por los impulsores para corregir el ángulo de inclinación. En el
dominio de Laplace, con condiciones iniciales nulas, el modelo del satélite toma la
forma: Js2 θ(s) = u(s). Luego, la FT del satélite 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 = θ̇, y como


salida y = x1 , entonces las ecuaciones de estado y de salida resultan:

ẋ1 = x2 ẋ2 = u/J y = x1

En forma matricial:
        
ẋ1 0 1 x1 0 x1
= + 1 u y = [1 0]
ẋ2 0 0 x2 J x2

J
u

Fig. 2.10: Esquema simplificado de un satélite.

2.5. Procesos con Tiempo Muerto


Faja de Transporte con Tiempo Muerto
La Fig. 2.11 muestra una faja transportando granos. Para el intervalo t 0 hasta t1 ,
el flujo de granos y0 se debe a la abertura u0 de la válvula de cuchilla. En el tiempo
t1 se incrementa dicha abertura en un ∆u, lo cual se traduce en un incremento del
flujo y0 en un ∆y, sólo cuando dicho incremento recorra la distancia L. Si la faja
se mueve a una velocidad constante v, entonces, el tiempo muerto Tt que demora el
flujo ∆y en recorrer L es:
L
Tt =
v
22 El Proceso a Controlar

En el dominio de Laplace, el tiempo muerto Tt se expresa como: e−Tt s . Por consi-


guiente, la FT de este proceso resulta:
y(s) ∆y
= Kp e−Tt s Kp =
u(s) ∆u




  
  
   
  
   
  
   
  
   
  
     
  
  
  
    
  
   
  
   
  
   
  
    

 
 
 
 
 
 
 
 

L u(t)

   
   
   
   
   
     
  
   
   
   
   
    u




 
 


   
 
  
 

  
 

  
 

      
 

Valvula de cuchilla
 
  
u+ u  
 
  
 

  
 

  
 

 
uo
t
  
   
  
  
  
  
  
  
  
  
 
  
  
  
  
  
  
  
  
  
   
t0 t1





 
 

  
 

    
 
  
 

  
 

  
 

  
    
 
  
 

  
 

    
 
  y(t)

   
 r   
   
   
   
   
 
  
   
   
   
   
    Tt
y
Motor
   Velocidad w
           v = wr
      y
o
t t1
t
u 0
constante

Fig. 2.11: Faja de transporte con tiempo muerto.

Flujos en Tuberı́as con Tiempo Muerto


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

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 propósito de enfriar el flujo q constante que
ingresa al tanque a una temperatura Ti . Este flujo abandona el tanque por desborde
2.6 Procesos de Orden Superior 23

u 1(t)
u 1(t)
[u 1]o
L t
Flujo u1 (t)
u2(t)
u 2(t)
Flujo y(t) a Sensor [u 2]o
una velocidad de PH t
v constante
Flujo u2 (t)
Tt
y(t)
y(t)
yo
t

Fig. 2.12: Flujos en tuberı́as con tiempo muerto.

a una temperatura T . La pared metálica del tanque se encuentra a una temperatura


Tm . El modelo de este proceso fue extraı́do de [4]. La Tabla 2.4 muestra las variables
y parámetros del proceso.

Rebose q
Agua fría T
qC
TC TC
ρC
Camisa de
Producto enfriamiento
q
Ti Tanque metálico
ρ Tm
(a) ti

K6
K1

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

K7 K3

q
c (b)

Fig. 2.13: Proceso de enfriamiento.


24 El Proceso a Controlar

Tabla 2.4: Parámetros y variables del proceso de enfriamiento en un tanque. En esta


Tabla, C.T.C. significa Coeficiente de Transferencia Calorı́fica.

Sı́mbolo Descripción 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 calorı́fica de q kg−K
J
Cv Capacidad calorı́fica en el tanque kg−K
J
C vm Capacidad calorı́fica del metal de la pared kg−K
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 Temperatura actual, estable y residual de Qc K
Ti , T i , t i Temperatura actual, estable y residual de q K
Tm , T m , t m Temperatura actual, estable y residual del metal K
J
hi C.T.C. de la cara interna del tanque m2 −s−K
J
ho C.T.C. de la cara externa del tanque m2 −s−K
Ai Área interna de transferencia de calor m2
Ao Área externa de transferencia de calor m2

El balance de energı́a en el flujo se expresa como:

dT
qρCp Ti − hi Ai T + hi Ai Tm − qρCp T = V ρCv (2.14)
dt
La ecuación (2.14) también es válida para el estado estacionario:

dT
qρCp T i − hi Ai T + hi Ai T m − qρCp 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
qρCp ti − hi Ai t + hi Ai tm − qρCp 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
2.6 Procesos de Orden Superior 25

qρCp hi A − i V ρCp
K1 = K2 = τ1 =
qρCp + hi Ai qρCp + hi Ai qρCp + hi Ai
El balance de energı́a para la pared del tanque y su correspondiente estado esta-
cionario se formulan como:
dTm
hi Ai (T − Tm ) − ho Ao (Tm − Tc ) = Vm ρm CVm (2.18)
dt
dT m
hi Ai (T − T m ) − ho Ao (T m − T c ) = Vm ρm CVm (2.19)
dt
Sabiendo que tc = Tc − T c , restando (2.18) de (2.19) se obtiene:
dtm
hi Ai (t − tm ) − ho Ao (tm − tc ) = Vm ρm CVm
dt
K3 K4
tm (s) = t(s) + tc (s) (2.20)
τ2 s + 1 τ2 s + 1
hi Ai ho Ao V m ρ m C vm
K3 = K4 = τ2 =
hi Ai + h o Ao hi Ai + h o Ao hi Ai + h o Ao
El balance de energı́a en la camisa de enfriamiento produce:
dTc
Qc ρc Cp Tci + ho Ao (Tm − Tc ) − Qc ρc Cp Tc = Vc ρc Cv (2.21)
dt
La ecuación (2.21) es no lineal debido a los productos Qc Tci y Qc Tc , los cuales se
pueden linealizar siguiendo el procedimiento de la subsección A.6.1, ejemplo A.49,
sabiendo que: qc = Qc − Qc . Esto es:
Q c Tc i = Q c T c i + T c i qc + Q c tc i
Q c Tc = Q c T c + T c q c + Q c t c (2.22)
Reemplazando las ecuaciones de (2.22) en (2.21) 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.23)
En el estado estacionario todas las variables residuales son nulas. Por consiguiente,
(2.23) 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.24)
dt
Restando (2.24) de (2.23) y pasando la resultante al dominio de Laplace se obtiene:
K5 K6 K7
tc (s) = tc i + tm + qc (2.25)
τ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
ρ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.25).
26 El Proceso a Controlar

2.7. El Motor DC
La Fig. 2.14(a) muestra el circuito equivalente de un motor DC (Direct Current),
donde Rf , Lf , If y Vf son la resistencia, la inductancia, la corriente y el voltaje de
campo respectivamente, Ra , La , Ia y Va son la resistencia, la inductancia, la corriente
y el voltaje de armadura respectivamente, Tm , TL y Td son el torque motor, el torque
de carga y el torque de disturbio respectivamente, Km es la constante de motor, Kb
es la constante contraelectromotriz, ω es la velocidad angular, θ es la posición angular
del eje, J es el momento de inercia del motor más carga y B es la constante de fricción
del motor más carga.

Va
Ra
Rf La

Vf Lf Vb

J
If B
Ia ω
θ
(a)
Motor más
Campo carga
T
d
Vf 1 If Tm 1 ω 1 θ
Km
Rf Lf s TL Js B s

(b)
Motor más
Armadura Td carga
Va Im 1 Tm 1 ω 1 θ
Km
Ra L as TL Js B s

Vb
Kb

(c)

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

Motor DC Controlado por el Campo


Cuando el motor DC está 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 dinámica del motor CC en este caso
son:

Vf (s) = (Rf + Lf s)If (s)


Tm (s) = Km If (s) = TL (s) + Td (s)
TL (s) = Jsω(s) + Bω(s) ω(s) = sθ(s)
2.7 El Motor DC 27

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


que el torque de disturbio Td es despreciable, la FT resulta:

θ(s) Km
Gp (s) = = (2.26)
Vf (s) s(Js + B)(Lf s + Rf )

Si la inductancia de campo Lf es suficientemente pequeña, entonces la FT para la


posición θ(s) y para la velocidad angular ω(s) = sθ(s) toman la forma:

θ(s) ∼ K
Gp (s) = = (2.27)
Vf (s) s(τ s + 1)
ω(s) ∼ K J Km
Gp (s) = = τ= K= (2.28)
Vf (s) τs + 1 B Rf B

Motor DC Controlado por la Armadura


Si el motor DC está 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 dinámica 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.29)

El diagrama de bloques para esta situación 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.30)
Va (s) s[(Ra + La s)(Js + B) + Kb Km ]

Si la inductancia de armadura La es suficientemente pequeña, entonces la FT para


la posición θ(s) y para la velocidad angular ω(s) = sθ(s) toman la forma:

θ(s) ∼ K
Gp (s) = = (2.31)
Va (s) s(τ s + 1)
ω(s) ∼ K Km Ra J
Gp (s) = = ; K= ; τ= (2.32)
Va (s) τs + 1 Ra B + Kb Km Ra B + Kb Km

Notar que tanto para el motor controlado por campo como por armadura, las FTs
para θ y para ω dadas en (2.28) y (2.31) poseen la misma estructura cuando se
desprecia ya sea Lf o La .

Modelo en el Espacio de Estado


En ingenierı́a de control se emplea más el motor DC controlado por armadura
debido a la inherente realimentación que presenta en este caso. Por tal razón nos
ocuparemos del modelo en el espacio de estado para este motor. Si seleccionamos
28 El Proceso a Controlar

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


se obtienen las siguientes ecuaciones diferenciales de primer orden:
B Km Kb 1
ẋ1 = x2 ẋ2 = − x2 + x3 ẋ3 = − x3 + Va
J J La La
Si se elige como salida la posición y = x1 y se designa a Va como la entrada u, la
forma matricial de la ecuación de estado resulta:
ẋ = Ax + Bu y = Cx (2.33)
       
ẋ1 1 0 0 0 x1
 
 ẋ2  =  0 − B − Km  +  0  u y= 1 0 0  x2 
J J
1
ẋ3 0 −K
La
b
−R a
La La x3
Si se considera que la inductancia de armadura La es despreciable, entonces podemos
usar las FTs dadas en (2.31). Para el caso posición θ, seleccionemos x 1 = θ y x2 = θ̇
como las variables de estado del motor, y = θ como la salida y u = Va como la
señal de entrada. Se deja como ejercicio demostrar que partiendo de la primera FT
de (2.31), la representación en el espacio de estado resulta:
ẋ = Ax + Bu y = Cx (2.34)
       
ẋ1 0 1 0   x1
= + K u y= 1 0
ẋ2 0 − τ1 τ x2
Para el caso velocidad angular ω, seleccionemos x = y = ω como la variable de estado
y a la vez salida y u = Va como la señal de entrada. Se deja como ejercicio demostrar
que partiendo de la segunda FT de (2.31), la representación en el espacio de estado
toma la forma:
x = Ax + Bu y = Cx (2.35)
1 K
A=− B= C=1
τ τ

2.8. Modelo MIMO del Proceso Tanque Cerrado


2.8.1. Descripción del Proceso
El proceso tanque cerrado con agua estudiado aquı́ [5] 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 frı́a qC y de agua caliente qC se mezclan en el interior del tanque con el
propósito de producir el flujo de salida qC a una temperatura θ. Por consiguiente, el
proceso tanque con agua es multivariable cuadrado debido a que posee dos entradas:
los flujos qC y qH , y dos salidas: el nivel h del agua dentro del tanque y la temperatura
θ que se asume uniforme en el interior del tanque.
El objetivo del sistema de control a diseñar, es determinar adecuadas fuerzas de
control qC y qH con la capacidad de estabilizar las salidas controladas h y θ, cumplien-
do ciertas especificaciones de diseño previamente establecidas. La manipulación de
las fuerzas de control se realizan mediante dos válvulas de control neumáticas, 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 parámetros valorados del proceso tanque cerrado con agua.
2.8 Modelo MIMO del Proceso Tanque Cerrado 29

Tabla 2.5: Parámetros, variables y sı́mbolos del proceso tanque con agua.

Sı́mbolo Descripción Valor Unidades


dA Diámetro del tanque 0.2 m
A Sección 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 frı́a hacia el tanque m3 /s
qC Estado estacionario de qC 1.66×10−4 m3 /s
qH Flujo de agua caliente hacia el tanque m3 /s
qH Estado estacionario de qH 0.5×10−4 m3 /s
qD Flujo de salida desde el tanque m3 /s
qD Estado estacionario de qD 2.16×10−4 m3 /s
Rh Resistencia hidráulica: Rh = h/q D s/m2
g Aceleración 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 Diámetro del orificio de la placa en qD 6.5 mm
D Diámetro de la placa de orificio en qD 15.9 mm
J
Cp Calor especı́fico del agua 4186.8 kg K
ΦH Calor entregado por qH J/s
ΦT Calor del agua en el interior del tanque J/s
ΦD Calor que toma el flujo de salida qD J/s
ΦC Calor que trae consigo qC J/s
LT Transmisor de nivel
TT Transmisor de temperatura
FT Transmisor de flujo
PT Transmisor de presión
30 El Proceso a Controlar

Fig. 2.15: Proceso tanque cerrado con agua.

2.8.2. Modelo Dinámico 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 = Aḣ = qC + qH − qD (2.36)
dt
donde A es la sección del tanque, h es la altura del agua, Aḣ es el cambio de volumen
de agua en el tiempo t, qC (agua frı́a) 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 [5]:
π p √ π p
qD = CE d2 2ρD ∆p = a h; a = CE d2 ρD 2g (2.37)
4 4
donde hemos usado el hecho de que la caı́da de presión ∆p en la tuberı́a de diámetro
D provocada por la placa de orificio de diámetro d se expresa como:

∆p = ρD gh

En la expresión (2.37), g es la aceleración de la gravedad, C = 0.6 es el coeficiente


de descarga del orificio, ρD es la densidad del agua a una temperatura θ, β = d/D es
2.8 Modelo MIMO del Proceso Tanque Cerrado 31

PT
LT= Transmisor de Nivel
TT = Transmisor de Temperatura
TT
PT= Transmisor de Presión
FT= Transmisor de Flujo
LT
Rebose

Drenaje

FT
Agua Caliente

FT
Agua Fría

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

una relación igual a 0.41 y E es una constante de corrección del valor del flujo debido
a consideraciones geométricas, el cual se expresa como:

E = (1 − β 4 )−1/2

Despejando ḣ de (2.36), la ecuación de estado para la variable de estado nivel toma


la forma:
a√ 1 1
ḣ = − h + qC + qH (2.38)
A A A
Los valores de las densidades del agua en función de la temperatura se pueden obtener
de figura 2.17.

Balance de Energı́a Térmica


El balance de energı́a térmica dentro del tanque se formula como:

ΦT = −ΦD + ΦC + ΦH (2.39)

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


agua en el interior del tanque, ΦD es el calor que toma el flujo de salida qD y ΦC
es el calor que trae consigo el flujo de entrada de agua frı́a qC . Cabe anotar que se
está 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 calorı́ficos
descritos anteriormente son:

ΦT = AhρD Cp = AhρD Cp θ̇
dt
32 El Proceso a Controlar

DENSIDAD Kg/m3
1005

1000

995

990

985

980
0 10 20 30 40 50 60
TEMPERATURA ° C

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

ΦC = C p ρC θ C qC
ΦH = C p ρH θ H qH

Φ D = C p ρD θ q D = C p ρD θ a h (2.40)

Los parámetros que aparecen en (2.40) se describen en la tabla 2.5. Observar que se
asume un valor constante para el calor especı́fico del agua Cp . La ecuación de estado
de la variable de estado temperatura θ se obtiene despejando dθ dt = θ̇ de (2.39):

a √ ρC θ C qC ρH θ H qH
θ̇ = − θ h+ + (2.41)
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.38) y (2.41), la ecuación de estado que describe la dinámica del proceso tanque
cerrado con agua se formula como:

ẋ = f (x, u) (2.42)
         
ẋ1 ḣ x1 u1 qC
ẋ = = x= u= =
ẋ2 θ̇ x2 u2 qD
 √ 
" # − Aa x1 + A1 u1 + A1 u2
f1  
f= = 
f2 a x ρ θ u ρ θ u
− A √x21 + ρCD AC x11 + ρHD AH x12

Dado que las variables de estado son las variables medidas del proceso, entonces la
ecuación de salida posee la siguiente expresión:

y = Cx (2.43)
2.8 Modelo MIMO del Proceso Tanque Cerrado 33

     
y1 x1 1 0
y= = C=
y2 x2 0 1

2.8.3. Modelo Dinámico de Lagrange del Proceso


El modelo dinámico de Lagrange del proceso tanque cerrado con agua se obtiene
reordenado las ecuaciones de (2.42) en la forma siguiente:

u1 + u2 = Aẋ1 + a x1

ρC θC u1 + ρH θH u2 = ρD Ax1 ẋ2 + ρD a x1 x2

Por consiguiente:
       √ 
1 1 u1 A 0 ẋ1 a x1
= + √
ρc θ C ρH θ H u2 0 ρD Ax1 ẋ2 ρD a x 1 x 2

Operando en la última ecuación, es fácil demostrar que el modelo dinámico de La-


grange del proceso toma la forma:

u = P ẋ + d (2.44)
 
1 ρH θH A −ρD Ax1
P=
(ρH θH − ρC θC ) −ρC θC A ρD Ax1
 √ √ 
1 ρH θ H a x 1 − ρ D a x 1 x 2
d= √ √
(ρH θH − ρC θC ) −ρC θC a x1 + ρD a x1 x2

2.8.4. Modelo Dinámico Lineal del Proceso


El modelo dinámico lineal del proceso se obtiene linealizando el modelo no lineal
dado en (2.42), empleando el método del jacobiano descrito en la subsección A.6.2.
El modelo lineal resulta:

ẋ = Ax + Bu y = Cx (2.45)

   a 
∂f1 ∂f1 − 2A√ x
0
∂x1 ∂x2 1
   
A= = 
ax ρC θC u1 ρH θ H u 2
∂f2 ∂f2 √2 − ρD Ax21
− ρD Ax21
− A√ax1
∂x1 ∂x2 2A x31

   
∂f1 ∂f1 1 1  
∂u1 ∂u2 A A
    1 0
B= = C=
∂f2 ∂f2 ρC θ C u 1 ρH θ H 0 1
∂u1 ∂u2 ρD Ax1 ρD Ax1

En (2.45), u1 = q C , u2 = q H , x1 = h y x2 = θ, son los valores estacionarios de


u1 = qC , u2 = qH , x1 = h y x2 = θ, respectivamente.
34 El Proceso a Controlar

2.9. Respuesta Transitoria de los Procesos


2.9.1. Respuesta al Escalón: Método de la Tangente
Asumamos que la respuesta y de un proceso a una entrada u tipo escalón (su
curva de reacción) posee la forma autoregulada mostrada en la Fig. 2.18, el cual es el
caso en muchos procesos industriales. Observar en la Fig. 2.18 que la respuesta y 0 en
el tiempo t1 se debe a la entrada u0 . Cuando la señal u cambia de u0 a u1 , entonces,
a partir de t1 , se produce la curva de reacción mostrada. 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.46)
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 parámetros T y τ se obtienen
gráficamente trazando una tangente que toque el punto de tangencia (P.T.) sobre la
curva de reacción.

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 reacción de un proceso.

La curva de reacción mostrada en la Fig. 2.18 también se puede aproximar me-


diante una FT de orden n de la forma:
y(s) Kp y1 − y 0
G(s) = = Kp = (2.47)
u(s) (Tn s + 1)n u1 − u 0

Los parámetros n y Tn de (2.47) se determinan empleando la Tabla 2.6.

Ejemplo 2.2

Determinar dos modelos dinámicos que describan el comportamiento velocidad fre-


nada de un motor DC a partir de su curva de reacción, semejante a la mostrada en la
Fig. 2.18. Esta curva se obtuvo manipulando la entrada u del proceso, un generador
de voltaje continuo. Los datos leı́dos fueron: u0 = 10 V, u1 = 20 V, y0 = 400 rpm, y1
= 600 rpm, tiempo muerto τ = 2 s y retardo de primer orden T = 9.2 s. Determinar
la ganancia normalizada del proceso, sabiendo que la entrada máxima de voltaje es
40 V y el rango del instrumento de medición de rpm a la salida es de 0 a 1000 rpm.
2.9 Respuesta Transitoria de los Procesos 35

Solución: El primer modelo dinámico se halla con la ecuación (2.46) 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 dinámico se refiere a la ecuación (2.47). Con los datos propor-
cionados en el ejemplo se obtiene: τ /T = 0.217. Empleando la Tabla 2.6 se puede
determinar: n = 3 y Tn /T = 0.270, lo que implica: Tn = 2.484 s. La FT resulta:

y(s) Kp 20
G(s) = = =
u(s) (Tn s + 1)n (2.484s + 1)3
La ganancia normalizada Kpn se determina de:
600−400
1000−0 0.2
Kpn = 20−10 = = 0.4
40−0
0.5

Tabla 2.6: Determinación de los parámetro n y Tn de (2.47).

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

Caso Especial
Para el caso especial:
0 < τ /T < 0.104
la dinámica del proceso autoregulado se puede aproximar mediante la siguiente FT
de segundo orden:
Y (s) KP y1 − y 0
G(s) = = KP = (2.48)
U (s) (T1 s + 1)(T2 s + 1) u1 − u 0
donde T1 y T2 son dos constantes de tiempo que se relacionan mediante la ecuación:

T1 = kT2 k>1

La constante k se determina usando la Tabla 2.7.

Ejemplo 2.3

Hallar el modelo que describa la dinámica de un sistema mecatrónico de velocidad


a partir de su curva de reacción, semejante a la mostrada en la Fig. 2.18. Los datos
leı́dos fueron: u0 = 5 V, u1 = 15 V, y0 = 200 rpm, y1 = 300 rpm, τ = 2 s, T = 22 s.
36 El Proceso a Controlar

Solución: El modelo dinámico se refiere a la ecuación (2.48). Dado que τ /T = 0.09,


empleando la Tabla 2.48 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 = (300–200)/(15–5) = 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)

Tabla 2.7: Determinación de los parámetro T1 y T2 de (2.48).

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

2.9.2. Método del 28.3 % y 63.2 %


La Fig. 2.19 muestra la curva de reacción para el método 28.3 % y 63.2 %. En este
método se determinan los tiempos t28.3 % y t63.2 % correspondientes a las magnitudes
0.283∆y y 0.632∆y, respectivamente. En base a estos valores, los parámetros de la
FT dada en la ecuación (2.46) se determinan de:

T = 1.5(t63.2 % − t28.3 % ) τ = t63.2 % − T (2.49)

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

Fig. 2.19: Curva de reacción para el método 28.3 % y 63.2 %.

2.9.3. Otras Respuestas al Escalón y al Impulso


Los procesos autoregulados presentan una respuesta finita (constante o cero) a
entradas de prueba escalón o impulso. Sabemos que cuando la entrada u(t) es un
escalón o un impulso de magnitud A, sus correspondientes transformadas de Laplace
son u(s) = A/s y u(s) = A, respectivamente.
2.9 Respuesta Transitoria de los Procesos 37

El siguiente proceso de segundo orden se emplea para explicar las especificaciones


de diseño en el dominio del tiempo como veremos en la siguiente sección. La FT de
este proceso es:
y(s) ωn2
Gp (s) = = 2 (2.50)
r(s) s + 2ζωn s + ωn2
donde ωn es conocida como la frecuencia natural de oscilación y ζ es el coeficiente de
amortiguamiento. Cuando r(s) = A/s (entrada tipo escalón de magnitud A), y(s) en
(2.50) toma la forma:
Aωn2
y(s) = (2.51)
s(s2 + 2ζωn s + ωn2 )
Tomando la transformada inversa de Laplace (fórmula (31) de la Tabla A.2.1) se
obtiene:  
ωn −ζωn t
y(t) = A 1 − e sen(ωd t + θ) (2.52)
ωd
La Fig. 2.20 (gráfico 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.51) para ζ ≥ 1 se obtiene empleando la fórmula (32) de la
Tabla A.2.1.
Cuando u(s) = A (entrada tipo impulso) en la ecuación (2.50, y(s) toma la forma:
Aωn2
y(s) = (2.53)
s2 + 2ζωn s + ωn2
Tomando la transformada inversa de Laplace (fórmula (29) de la Tabla A.2.1) resulta:
Aωn2 −ζωn t
y(t) = e sen ωd t (2.54)
ωd
La Fig. 2.20 (gráfico superior derecha) muestra y(t) para A = 1 y varios valores de
ζ. Notar también que para ζ ≥ 1 la respuesta se vuelve sobreamortiguada.
Una forma alternativa de (2.50) incluye un tiempo muerto τ . Esto es:
y(s) ω2
G(s) = = 2 e−sτ (2.55)
u(s) s + 2ζωs + ω 2
Para una entrada tipo escalón (u(s) = A/s) en (2.55) y aplicando la propiedad (5)
de la Tabla A.2 en (2.52), se obtiene la respuesta y(t) al escalón correspondiente a
(2.55):  
ωn −ζωn (t−τ )
y(t) = A 1 − e sen[ωd (t − τ ) + θ] (2.56)
ωd
La Fig. 2.20 (gráfico inferior izquierda) muestra y(t) para A = 1 y varios valores de
ζ. De nuevo, notar que para ζ ≥ 1 la respuesta se vuelve sobreamortiguada.
Si la entrada es un impulso (u(s) = A) en (2.55) y aplicando la propiedad (5)
de la Tabla A.2 en (2.54), se obtiene la respuesta al impulso y(t) correspondiente a
(2.55):
Aωn2 −ζωn (t−τ )
y(t) = e sen ωd (t − τ ) (2.57)
ωd
La Fig. 2.20 (gráfico superior derecha) muestra y(t) para A = 1 y varios valores de ζ.
Notar que para ζ ≥ 1 la respuesta se vuelve sobreamortiguada. Para obtener la Fig.
2.20, ejecutar el programa r1.m listado abajo.
38 El Proceso a Controlar

Step Response Impulse Response

2 4

1.5 0.2
Amplitude

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

Step Response Impulse Response

2 4

1.5 0.2
Amplitude

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

Fig. 2.20: Respuestas al escalón y al impulso de procesos de segundo orden en función


del parámetro ζ.

% r1.m RESPUESTAS AL ESCALÓN Y AL IMPULSO DE PROCESOS NO 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,’k’), 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,’k’), 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,’k’), 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,’k’), hold on, end, print -deps -f r1

Respuesta al Escalón en Procesos No Autoregulados


Procesos no autoregulados, como es el caso de la posición angular del eje de un
motor DC, o el aumento del nivel de un lı́quido dentro de un tanque sin tuberı́a de
salida, poseen una respuesta o curva de reacción al escalón no finita, tal como se
ilustra en la Fig. 2.21. La dinámica de tales procesos se puede modelar como:
Kp −τ s
Gp (s) = e R = Kp τ (2.58)
s
2.10 Problemas 39

donde τ es el tiempo muerto, R es la razón de reacción unitaria y Kp es la ganancia


proporcional. Los parámetros R y τ se obtienen gráficamente, tal como se ilustra en
la Fig. 2.21.

u Proceso
no autoregulado y
A u y
Kp
e τs
s

τ R = Kp τ R t
τ

Fig. 2.21: Respuesta al escalón de un proceso no autoregulado.

A manera de resumen, la Tabla 2.8 muestra la FT (función de transferencia) de


varios procesos en función de su comportamiento.

2.10. Problemas
Problema 2.1 Amplificador con Opamps

La Fig. 2.22 muestra un amplificador un seguidor de voltaje y dos opamps inversores.


Demostrar que este proceso es proporcional con ganancia K p = Rf /Ri , donde Rf ,
Ri y R son resistencias.

Rf R
Ri R
Vo

Seguidor Opamp Opamp


Vin de voltaje inversor inversor

Fig. 2.22: Circuito con opamps.

Problema 2.2 Turbina

La Fig. 2.23 muestra una turbina de agua unido a un generador eléctrico. De-
mostrar que:
M (s) Kp
=
ω(s) Ts + 1
donde M (s) es el momento rotacional generado por la turbina gracias a la acción
del flujo de agua, ω(s) es la velocidad angular del generador y T su correspondiente
constante de tiempo. Asumir conocido cualquier otro parámetro necesario.
40 El Proceso a Controlar

Tabla 2.8: Funciones de Transferencia de varios procesos en función de su compor-


tamiento, donde τ es el 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 +2ζωs+ω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)
Proporcional con 2do orden con
Kp
tiempo muerto τ Kp e−τ s tiempo muerto τ (T1 s+1)(T2 s+1) e−τ s
(primera forma)
Integral con 2do orden con
Kp 2
ωn
tiempo muerto τ s e−τ s tiempo muerto τ s2 +2ζωs+ωn
2 e−τ s
(segunda forma)
1er orden con 2do orden con
Kp 2s
ωn
tiempo muerto τ T s+1 e−τ s tiempo muerto τ s2 +2ζωs+ωn
2 e−τ s
y derivativo

Generador
eléctrico
Turbina

Entrada
de agua
M
ω

Desague

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


2.10 Problemas 41

Problema 2.3 Proceso Tanque Cerrado

En la subsección 2.8.1 se determinaron el modelo de Lagrange y la ecuación 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 ecuación de estado y el
modelo de Lagrange del proceso para esta situación.

Problema 2.4 Tanque Almacenador de Gas

La Fig. 2.24 muestra un tanque de almacenamiento de gas. Demostrar que:


Po (s) 1
= T = RC
Pi (s) Ts + 1
donde Po es la presión del gas dentro del recipiente, Pi es la presión del gas de entrada,
R = (Pi − Po )/Q es el la resistencia neumática, Q es el flujo del gas, C = dm/dp
(variación de la masa con respecto a la variación de la presión) es la capacitancia
neumática, m = ρV es la masa del gas, V es el volumen del tanque, ρ es la densidad
del gas y T = RC es la constante de tiempo. Se sabe además que la capacitancia C
multiplicada por la variación de la presión de salida dPo , es igual al gas Q añadido
al recipiente en un diferencial de tiempo dt; esto es: CdPo = Qdt.

Pi
R
Q
Po
C
ρ

Fig. 2.24: Tanque almacenador de gas.

Problema 2.5 Proceso Mecánico

La Fig. 2.25 muestra una proceso mecánico traslacional, donde M es la masa de


un cuerpo que está accionado por una fuerza u. A esta acción se le oponen la fuerza
fK = Kx en el resorte y la fuerza de pérdidas fB = Bv en el amortiguador, donde K
es la constante del resorte, B es la constante de pérdidas, v = dx/dt es la velocidad
de la masa M y x su posición. Sabiendo que la ecuación dinámica de este proceso es:
M dv/dt = u − fK − fB , determine la FT v(s)/u(s) y la ecuación matricial de estado
del proceso sabiendo que x1 = v, x2 = fK , mientras que la salida es: y = x1 /K.

Problema 2.6 Plataformas Acopladas

La Fig. 2.26 muestra dos plataformas P1 y P2 de masas m1 y m2 acopladas por resorte


y amortiguador. El proceso plataformas acopladas descrito, tiene como entradas de
control las señales u1 y u2 generadas por dos actuadores. Las señales de control son
42 El Proceso a Controlar

x
K v

B fK M u

fB

Fig. 2.25: Proceso mecánico traslacional.

capaces de llevar a cero con suficiente rapidez los errores de posición e 2 = r2 − y2 ,


donde r1 y r2 son las señales de referencia e y1 e y2 , las señales de salida a controlar,
son las posiciones individuales de las plataformas. (a) Determinar las ecuaciones de

 
estado y de salida del proceso. (b) Determine el modelo de Lagrange del proceso.

    e1

+
    u1

 +

r1

R1 Y1
P1 y1


− K1 u2 B1
+
   
+

r2
 R2   Y2
P2
y
2

−   −
K2 B2
 e2
Fig. 2.26: Plataformas acopladas.

Problema 2.7 Proceso Térmico

En el proceso térmico de la Fig. 2.27 determinar su ecuación de estado, cuando


las válvulas V1 y V2 están cerradas y la altura de lı́quido es h. Las entradas del
proceso son el flujo de calor Q y la temperatura exterior Ta . Las variables de estado
del proceso son las temperaturas TM y TF , y la salida es la temperatura TF . Se sabe
además que TF > TM , TF > Ta . Los parámetros CF y CM son los calores especı́ficos
del fluido en el tanque y de la masa en su interior, respectivamente, mientras que RF
y RM son las resistencias térmicas.

Problema 2.8 Proceso Hidráulico

En el proceso hidráulico mostrado en la Fig. 2.28 se desea determinar su ecuación


de estado, sabiendo que la entrada al proceso es la fuerza f (t) aplicada sobre la masa
2.10 Problemas 43

 
V1
# ## ## #### "!!" "!!"
qi Ta

  RF
"!"! "!"!
CF CM
TM
RM
"!"! "!"!
 "!"! "!"!
h
TF Q

             qo

VAPOR V2

Fig. 2.27: Proceso térmico del problema 2.7.

M1 de sección A1 y la salida es el desplazamiento x2 de la masa M2 de de sección


A2 . B, B1 y B2 son los coeficientes de fricción viscosa mientras K es la constante del
resorte.

B1 /2
**+ ,,- f(t)
M1 B1 /2
A1 f1

B2 /2
&' ACEITE
A2
M2
f2
() B2 /2

%$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$
K B

Fig. 2.28: Proceso hidráulico del problema 2.8.

Problema 2.9 Proceso Hı́brido

En el proceso hı́brido mostrado en la Fig. 2.29 se desea determinar su ecuación


de estado, sabiendo que la entrada al proceso es el flujo de agua q(t) y la salida es el
voltaje V (t) del generador. Tomar como variables de estado la presión P 1 , la velocidad
angular ωT del eje de la turbina y la corriente de armadura IG del generador DC. En
este proceso hı́brido, se cumplen las siguientes relaciones:

dh
P1 = K1 TT = Po + ρgh = q − q1 A
dt
dθT dωT
ωT = = K 2 q1 TT = J T + DT ωT = KT (θT − θG )
dt dt
dIG
KT (θT − θG ) = TG = Kf IG V = R V IG + L V
dt
dIG
VG = Kb ωG = IG (RG + RV ) + (LG + LV )
dt
44 El Proceso a Controlar

donde Po , ρ, g, K1 , A, K2 , JT . DT , KT , Kf , Kb , RG , LG , RV y LV son parámetros


conocidos.
q
Po A RG LG

θT θG IG
h ωT ωG RV
P1 q1 TT TG
V
Turbina VG K bω LV
KT
JT
DT q1 Generador DC en paralelo

Fig. 2.29: Proceso hı́brido del problema 2.9.

Problema 2.10 Proceso Electromecánico

En el proceso electromecánico mostrado en la Fig. 2.30 se desea determinar las


funciones de transferencia ω(s)/Ref (s) y θ(s)/Ref (s). Las siguientes relaciones son
válidas:
dIa
u = Ae = A(Ref − θ) = RIa + L + Vb
dt
V b = K b ωm
Tm = Km Ia = KT (θm − θ)

KT (θm − θ) = J + fr
dt
d2 x dx
f = M 2 +B
dt dt
dθ dθm
x = rθ ω= ωm =
dt dt

00?> AB1010 ?> @AB1010 ?> @AB1010 ?> @ AB


donde A, R, L, Kb , Km , KT . J, r, M y B son parámetros conocidos.

Ref e R
001010 C1010 C1010 CC 676 76 x

010 10 2210 ./ 3232 3232 :3232 89;: 89;:


A Tm M
ω dθ
IHI
θ ωm

223232 <ED3232 =<GF ED3232 =<GF ED =<GF ED


J dt

H KJ KJ
u Vb K b ωm
KT r

223232 3232 43232 54 54


Ia f
L x
Transductor
B

Fig. 2.30: Proceso electromecánico del problema 8.6.


Capı́tulo 3

El Sistema de Medición

Este Capı́tulo aborda el sistema de medición de un sistema de control realimentado,


el cual comprende la medición primaria, realizada con sensores, y la conversión de la señal
señal medida en una señal manipulable, estandarizada y transmitible. Esta conversión la
realiza el transmisor.
Es necesario acotar que en el mercado se pueden encontrar tanto sensores como trans-
misores por separado o formando unidades compactas. Los transmisores son conocidos
también como transductores, convertidores o acondicionadores de señal, dependiendo de
la función a realizar.
En la actualidad, los sistemas de medición, además de tener disponibles mediciones
estandarizadas tales como 4 a 20 mA o 3 a 15 psi, también son capaces de procesar
señales digitales empleando uno o varios protocolos industriales de comunicación.

3.1. Caracterı́sticas de los Sensores


La Fig. 3.1 ilustra un sistema de control realimentado SISO (Single Input Single
Output). El bloque denominado sistema de medición comprende un sensor y un
transmisor. El sensor proporciona la variable medida, la cual representa la condición
actual de la variable controlada y, mientras que el transmisor cambia tal medición
en una señal estandarizada, que generalmente es una señal que pueda ser procesada
y transmitida. En muchos casos, la variable medida y la variable controlada pueden
ser la misma.
Los temas sensores y transmisores se tratan en forma extensa en los textos de
instrumentación industrial. En esta publicación, tales temas van a ser tratados con
el suficiente nivel que exige un texto de control de procesos. Para mayores detalles se
recomienda consultar las referencias [6], [7] y [8].
La medición del valor actual de la señal a controlar se realiza ya sea mediante un
sensor, denominado también elemento primario de medición, o por un instrumento
de medición que emplea los sensores adecuados para tal o cual medición. Un sensor
puede estar caracterizado por una curva de reacción, la cual relaciona la variable
medida con la señal generada. Esta curva se obtiene aplicando una serie de entradas
conocidas al sensor y almacenando las correspondientes respuestas. Un ejemplo tı́pico
está constituido por las curvas caracterı́sticas de Temperatura ( ◦ F) vs mV de las
termocuplas.
46 El Sistema de Medición

Según el tipo de señal de salida que proporciona, un sensor se puede clasificar en


analógico (la señal de salida es continua dentro del rango de medición), digital (la
señal de salida es digital), y ON–OFF (la señal de salida varı́a entre los umbrales
ON y OFF). Según la magnitud a medir, el sensor puede ser de nivel, presión, tem-
peratura, proximidad, flujo, etc. Por ejemplo, una termoresistencia proporciona una
señal continua en ohms, la cual es proporcional a la temperatura medida, mientras
que un radar proporciona señales discretas que son proporcionales a la magnitud de
la variable medida. Por otro lado, las señales que abren y cierran completamente una
válvula son del tipo ON–OFF.

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

Sensor más
Transmisor
Sistema de
medición

Fig. 3.1: Sistema de control realimentado.

Caracterı́sticas Estáticas y Dinámicas


Un sensor posee tanto caracterı́sticas estáticas como dinámicas. Entre las del
tipo estáticas tenemos: rango, alcance, resolución, sensibilidad, curva caracterı́stica,
linealidad, saturación, zona muerta, repetibilidad, histéresis, precisión y exactitud.
Las caracterı́sticas dinámicas son: velocidad de respuesta, respuesta en frecuencia, y
estabilidad.
El rango es el campo de medida de la magnitud de entrada del sensor y varı́a entre
el valor máximo y el valor mı́nimo detectables, con una tolerancia de error aceptable.
El alcance o span es la diferencia entre el valor máximo y el valor mı́nimo de interés,
mientras que la resolución es la mı́nima diferencia entre dos valores próximos que el
sensor es capaz de distinguir. Supongamos que un voltı́metro es capaz de medir en
el rango de 0 a 500 V, pero nosotros sólo estamos interesados en medir en la escala
de 200 a 300 V, lo cual significa un span de 100 V. El voltı́metro usado posee una
resolución de 0.5 V, es decir, podemos ver sin dificultad lecturas de, por ejemplo,
200.5 V ó 289.5 V.
La sensibilidad es la variación de la salida debido a una variación de la entrada.
El gráfico de los puntos de sensibilidad define la curva caracterı́stica o de calibración.
Este gráfico representa una respuesta no lineal. Mientras mayor sea la pendiente de
dicha curva, mejor la sensibilidad. Por otro lado, en un sensor con curva de respuesta
lineal, la variación de la salida producida por una variación de la entrada es constante;
es decir, su sensibilidad es siempre la misma y su curva caracterı́stica es lineal. Por
ejemplo, las curvas caracterı́sticas de los diodos en su zona activa son no lineales
3.1 Caracterı́sticas de los Sensores 47

porque sus puntos de sensibilidad corriente sobre voltaje no son constantes. En cam-
bio, una conductancia (la inversa de la resistencia) si posee una curva caracterı́stica
lineal, porque sus puntos de sensibilidad corriente sobre voltaje son constantes.
La saturación en un sensor se manifiesta debido a la no linealidad producida por
la disminución de sensibilidad, tı́picamente al principio o al final del rango. En las
zonas de saturación, la medición no es confiable. La zona muerta de un sensor es el
área de valores de la variable medida que no hace variar la indicación del instrumento.
Un sensor posee repetibilidad cuando se puede repetir el valor de la medición de
una variable para una única dirección de medición. La histérisis en un sensor se parece
a la repetibilidad; sin embargo, el proceso de medición es en ambos sentidos. Por
ejemplo, un termómetro posee repetibilidad porque siempre mide 49◦ C en un objeto
a 50◦ C, cuando dicho objeto pasa de más frı́o a más caliente. Desafortunadamente,
este termómetro posee una histéresis de ±1◦ C porque en un objeto a 50◦ C mide 49◦ C
cuando dicho objeto pasa de más frı́o a más caliente, y mide 51◦ C cuando el objeto
pasa de más caliente a más frı́o.
La exactitud de una medición se refiere a la máxima desviación en % del valor
medido, con respecto al valor ideal. Por otro lado, un instrumento de medición es
preciso cuando puede reproducir la lectura medida con una exactitud previamente
determinada. Supongamos que se mide una corriente conocida de 100 mA empleando
5 lecturas, las cuales resultan: 104, 103, 105, 103 y 105 mA. Dado que la desviación
máxima en la medición es 5 mA con respecto al valor real de 100 mA, la exactitud
del instrumento resulta:
5
× 100 = 5 %
100
La precisión se halla calculando primero la media de las lecturas:
105 + 103 + 105 + 103 + 105
= 104 mA
5
y luego determinando la máxima desviación de las lecturas con respecto a dicha
media, en este caso: ± 1 mA, que equivale al 1 % con respecto a la medida real de
100 mA.
En la mayorı́a de los casos, los sensores poseen un comportamiento dinámico
constante o proporcional, pero en otros casos, el comportamiento es similar al de un
proceso de primer orden. Por ejemplo, en un sensor PT 100 empleado para medir la
temperatura, la relación entre la salida resistencia en ohm y la entrada temperatura
en ◦ C es constante, mientras que en un flotador empleado para la medición de nivel,
la relación entre la salida voltaje en V y la entrada nivel en m es una expresión de
primer orden:
voltaje K
= (3.1)
nivel Ts + 1
donde K es la ganancia del sensor, s es la variable de Laplace y T es la constante de
tiempo, la cual se interpreta como el tiempo que demora la medición. La estabilidad
en un sensor se explica como la desviación que sufre la medición cuando se varı́an
ciertos parámetros.
La velocidad de respuesta de un sensor es la capacidad para que la señal de
salida siga sin retraso a las variaciones de la señal de entrada. Una velocidad de
respuesta rápida implica una constante de tiempo T pequeña y viciversa. Por otro
48 El Sistema de Medición

lado, la respuesta en frecuencia de un sensor se determina excitando al sensor con


señales senoidales de amplitud constante y frecuencia variable.
√ Si el sensor recibe
excitaciones senoidales, entonces en (3.1): s = jω, donde j = −1 es la unidad de
los números imaginarios y ω = 2πf es la frecuencia angular. Luego:
 
K K K
= =√ arctan(−T ω) = M (ω)∠M (ω) (3.2)
T s + 1 s=jω T jω + 1 1 + ω2T 2

K
M (ω) = √ MB (ω) = 20logM (ω) ∠M = arctan(−T ω)
1 + ω2T 2
donde M (ω) es la magnitud de 3.1 y ∠M (ω) es el argumento o fase para cada fre-
cuencia ω. MB (ω) es M expresado en dB (decibelios). El gráfico de MB (ω) vs ω en
escala logarı́tmica es la respuesta en frecuencia en magnitud del sensor representado
por (3.1), mientras que el gráfico del ángulo de fase ∠M = arctan(−T ω) vs ω en
escala logarı́tmica, es su respuesta en frecuencia en fase. Tales representaciones se
denominan los gráficos de Bode en magnitud y fase, respectivamente. Se dice que
un sensor no es estable, cuando la medición experimenta desviaciones en los valores
medidos debido a la variación de ciertos parámetros, tales como K y T (ver (3.2)).

3.2. Sensores de Medición


El siguiente es una lista de las principales variables que miden los sensores y los
principios de medición que emplean. La señal de salida del sensor se procesa en el
transmisor para obtener una señal estandarizada (analógica o digital) que se pueda
transmitir.

Sensores de Posición
1. Potenciómetro.– Un potenciómetro resistivo lineal o rotatorio está alimentado
por un voltaje DC. La posición longitudinal x o angular θ a medir genera una
señal de voltaje Vo que es proporcional a dicha posición, tal como se muestra
en las Figs. 3.2(a) y (b).

2. LVDT.– El LVDT (Linear Variable Differential Transformer) es un transfor-


mador diferencial variable lineal, cuyo núcleo está unido a la posición o despla-
zamiento x a medir. Un desplazamiento del núcleo se traduce en una variación
en el acoplamiento magnético entre sus devanados primario y secundario (dos
bobinas), provocando una tensión Vo que es proporcional al desplazamiento x
del núcleo, tal como se ilustra en la Fig. 3.2(c).

3. Resolver.– Un resolver tiene la forma de un motor pequeño con dos bobinados


E1 y E2 en el estator (Fig. 3.2(d)), alimentados por señales seno y coseno para
lograr una separación de 90◦ entre ellas. Dichas bobinas pueden detectar una
señal senoidal que se induce desde el rotor, cuando se produce una varı́ación
de la posición θ del eje unido a dicho rotor. En otras palabras, el coeficiente de
acoplamiento entre rotor y estator varı́a según sea la posición angular θ del eje.
Un detector de fase procesa dicha variación en θ y la convierte en un voltaje
proporcional.
3.2 Sensores de Medición 49

Fuente AC
x Bobina
primaria
x
θ
Vi
Bobina Bobina
Vo= (kVi )x secundaria 1 secundaria 2
Vi Vo= (kVi)θ
Vo = kx

(a) Potenciómetro lineal (b) Potenciómetro rotatorio (c) LVDT: transformador diferencial
variable lineal
E1
θ
LEDs A
Rotor B
E1 Rotor
Z
Receptor
E2 θ
Estator E
E2 3

(d) Resolver. (e) Sincro (f) Encoder incremental

Fig. 3.2: Sensores de posición.

4. Sincro.– El principio de funcionamiento del sincro es similar al del resolver.


Un sincro posee tres bobinados E1 , E2 y E3 en el estator separados 120◦ (Fig.
3.2(d)), a diferencia del resolver que posee sólo dos separados por 90 ◦ . También
emplea un detector de fase para obtener un voltaje proporcional a la posición
angular θ del eje.

5. Encoder incremental.– Este sensor, también denominado codificador, puede ser


lineal o rotatorio. El principio de funcionamiento en ambos es el mismo. Un
encoder rotatorio posee una cinta circular con n ranuras montada sobre un
disco, tal como se ilustra en la Fig. 3.2(f). Estas ranuras son usadas por los
canales A y B para los giros derecha e izquierda del eje del motor. Una sola
ranura, ubicada en otra cinta circular, es empleada por otro canal denominado
Z. Cada canal posee un emisor de luz, generalmente un LED (Light Emitter
Diode), y un receptor de luz: un fototransistor.
Una graduación del disco corresponde a la relación 360/n. Los canales A y B
están separados por media graduación (90◦ de separación). Cuando el disco gira
un ángulo, por el correspondiente sector circular pasa un número de haces de luz
que se convierten en pulsos en el detector. El número de pulsos es proporcional
al ángulo barrido. Si la dirección de giro del disco cambia, entonces el defasaje
entre los canales A y B cambia de + 90◦ a - 90◦ . El pulso originado por el
canal Z, aparece por cada revolución. Este pulso puede servir como una señal
absoluta de inicio del conteo de los pulsos en el detector. El encoder rotatorio
se monta en el eje de una máquina rotatoria. En el encoder lineal la escala es
estática, mientras que los canales (transmisor y receptor) son móviles.
50 El Sistema de Medición

6. Encoder absoluto.– En el codificador absoluto, el disco presenta un patrón de


ranuras codificado. Cada posición discreta del disco corresponde a un estado
único de cada fotodetector. Si el encoder posee 8 fotodetectores (8 bits), el
cambio menor que se puede detectar es: (360/28 )◦ = (360/256)◦ . Para cada
posición, el encoder absoluto genera como salida un código único dentro de una
revolución.
7. Sensor Hall.– Este sensor utiliza el efecto Hall para la medición de campos
magnéticos o corrientes, o para la determinación de la proximidad. En la Fig.
3.3(a), cuando fluye una corriente I por el sensor Hall y se aproxima a un
campo magnético B que fluye en dirección perpendicular al sensor, entonces el
sensor crea un voltaje Vo que es proporcional al producto vectorial de B × I.
Si se conoce I, luego se puede calcular B. Si se crea el campo magnético B por
medio de la corriente I que circula por una bobina o un conductor, entonces el
valor de I es medible.
El sensor Hall para la detección de la proximidad mostrado en a Fig. 3.3(a),
consta de un elemento conductor (o semiconductor) y un imán. Cuando un
objeto de material ferromagnético se aproxima al sensor, el campo magnético
que el imán origina en el sensor se debilita, mientras que el campo que se origina
en el objeto se fortifica. La variacion de estos campos debido al acercamiento o
alejamiento del objeto se manifiesta en el voltaje de salida Vo .
8. Sensor capacitivo.– El sensor de proximidad capacitivo sin contacto mide la
capacitancia entre la cara frontal del sensor y un objeto, tal como se muestra
en la Fig. 3.3(b). Esta capacitancia C = A/x, donde  es la permisividad del
medio, es directamente proporcional a la superficie A del capacitor e inversa-
mente proporcional a la distancia x que se desea medir.
9. Sensor magnetostrictivo.– Se usa bastante en cilindros hidráulicos. Un sensor
magnetostrictivo lineal, tal como el mostrado en la Fig. 3.3(c), consta de un
imán permanente que se mueve con el objeto cuya posición se desea medir,
y de un cabezal que envı́a un pulso de corriente a lo largo de un alambre
que está alojado dentro de una guı́a de ondas. La interacción de los campos
magnéticos producidos por el imán permanente y por el pulso de corriente,
genera un pulso de deformación torsional que viaja hasta el cabezal del sensor.
El tiempo que le toma al pulso de corriente enviado más el tiempo que tarda el
pulso de deformación reflejado, es proporcional a la distancia recorrida por el
imán permanente.
10. Sensor sónico.– El sensor sónico mostrado en la Fig. 3.3(d) posee un cabezal
que envı́a pulsos ultrasónicos de más o menos 200 kHz. Luego mide los tiempos
que demoran en recorrer los pulsos enviados (t1 ) y los pulsos del eco (t2 ). Este
proceso se repite continuamente. Un procesador digital de señales calcula la
distancia x entre el sensor y el objeto usando la relación x = vs (t1 + t2 ), donde
vs es la velocidad del sonido.
11. Sensor fotoeléctrico.– Un sensor fotoeléctrico posee un LED que emite un haz
de luz de alta frecuencia que se dirige hacia un objeto. El receptor, un fototran-
sistor, recibe la luz reflejada por el objeto. La intensidad de la luz reflejada se
3.2 Sensores de Medición 51

S
Sensor

OMP OP
R
B Hall I Vo
N

LMNNMLNML LNNLNL V

NLMNLMNLMNLNLNL B

NLMNLMNML NLNLNL
NML NL
Material
ferromagnetico (a) Sensor de proximidad
de efecto Hall

XWXWXW RMQRMQRMQ RQRQRQ x


^M^M^M] ^^^]
XWXW RQMRQMRQRQ ]^M^]M] ]^^]]
A t1
A
0
+ +
`M_ `_M`_ ^M^]M] ^^]]
\M[ \[ ZYZYZYZY VMU SMTTMSTMSTMS VU STTSTSTS
b
j Sensor
]M]
YZ
A

TMS TS
A e t2 Objeto
t
o
(b) Sensor capacitivo (d) Sensor sónico

Cabezal
del sensor Campo magnético Campo magnético
del pulso del imán de posición

Tubo protector Imán de posición


Guiaonda
Pulso de deformación
torsional

(c) Sensor magnetostrictivo

Fig. 3.3: Sensores de proximidad.

transforma en un voltaje que es proporcional a la distancia entre el objeto y el


sensor.

12. Sensor inductivo.– Un sensor de proximidad inductivo posee un emisor que


genera un campo electromagnético oscilante alrededor de su cabezal receptor.
Cuando un objeto metálico ingresa al campo del sensor, un circuito electrónico
detecta la variación del campo en forma de un voltaje de salida, el cual es
proporcional a la distancia entre el sensor y el objeto.

Sensores de Velocidad
1. Tacómetro.– Un tacómetro es un motor DC (ver sección 2.7) cuya tensión de
armadura Va está regida por la ecuación:

dIa
Va = L a + R a Ia + K b ω (3.3)
dt
52 El Sistema de Medición

En un tacómetro, Ra y La (resistencia e inductancia de armadura, respectiva-


mente) se seleccionan de modo tal que Ia (la corriente de armadura) resulte
pequeña. Por consiguiente, en el estado estacionario, (3.3) produce: V a ∼
= Kb ω,
donde Kb es la constante contra–electromotriz. Por lo tanto, el voltaje de salida
del tacómetro es proporcional a la velocidad ω.

2. Velocidad ω a partir de posición θ.– Conocida la posición θ, obtenida por ejem-


plo con un encoder, la velocidad angular ω se puede determinar como sigue (ver
ecuación (A.67)):
θ(k + 1) − θ(k)
ω(k) =
T
donde T es el tiempo de muestreo, t = kT es el tiempo continuo y el entero k
es el tiempo discreto.

Sensores de Aceleración
1. Acelerómetro inercial.– La Fig. 3.4(a) muestra un acelerómetro inercial para
medir la aceleración a del cuerpo M . La ecuación que rige el desplazamiento x
del acelerómetro es:
 2 
d x dx
M − a +B + Kx = 0 (3.4)
dt2 dt

Si la masa M , la constante de frición B y la constante del resorte K se selec-


cionan para alcanzar el estado crı́tico, en dicha situación se verifica que:

d2 x dx
2
= =0
dt dt
Entonces: aM = Kx. De esta relación despejamos a conociendo x. El bloque
medición convierte posteriormente la aceleración a en una variable manipulable:
tensión, corriente o bits.

2. Acelerómetro piezoeléctrico.– Los cristales piezoeléctricos producen una car-


ga en respuesta a la deformación a la que están sometidos. Este fenómeno
se denomina efecto piezoeléctrico directo. El caso inverso también existe: que
dichos cristales producen una fuerza en respuesta a una carga o aplicada. El
acelerómetro piezoeléctrico mostrado en la Fig. 3.4(b) genera en el bloque medi-
ción un voltaje de salida que es proporcional a la aceleración a = F/M a medir,
donde F es la fuerza aplicada sobre la masa M del acelerómetro. Este principio
también se aplica en los casos de medición de la presión P = F/A (A es la
sección donde actúa F ), o la fuerza F .

3. Acelerómetro por deformación.– Es muy similar al acelerómetro inercial. En


este caso, el resorte se reemplaza por una viga en voladizo, tal como se ilustra
en la Fig. 3.4(c). En otras palabras, el desplazamiento x se sustituye por la
deformación de la viga, la que a su vez, es proporcional a la fuerza inercial
F = ma. La señal procesada en el bloque medición resulta en un voltaje de
salida que es proporcional a la aceleración.
3.2 Sensores de Medición 53

x a

M F = Ma Medición M
K B x a x a
Medición Sensor F Medición

Objeto moviéndose Objeto moviéndose Objeto moviéndose

(a) Acelerómetro inercial (b) Acelerómetro piezoeléctrico (c) Acelerómetro


por deformación

Fig. 3.4: Acelerómetros.

Sensores de Fuerza y Torque


1. Sensor de fuerza/torque basado en resorte.– Emplea el principio de que en un
resorte de constante K conocida, la fuerza F aplicada es proporcional al des-
plazamiento x; esto es: F = Kx. Un transductor de desplazamiento se emplea
para generar un voltaje que es proporcional a x, por consiguiente a F .
2. Sensor de fuerza/torque basado en deformación.– Estos sensores se conocen
también como celdas de carga. Una celda de carga posee componentes sóli-
dos con cierta elasticidad. Sobre estos componentes se montan galgas exten-
siométricas formando diferentes configuraciones circuitales en combinación con
resistencias eléctricas conocidas. Cuando al elemento que aloja a las galgas se le
somete a una fuerza o torque que provoque deformación, entonces la resistencia
eléctrica de estas galgas varı́a. Tales variaciones se procesan para obtener un
voltaje proporcional a la fuerza o torque aplicado.
La Fig. 3.5 muestra un bloque sometido a una fuerza F , la cual provoca una
deformación de ∆R ohm en la galga extensiométrica de resistencia inicial R.
Esta deformación ∆R hace que el puente Wheastone circuital se desequilibre
como sigue. Las corrientes I1 e I2 en el puente circuital se formulan como:
E E
I1 = I2 =
2R + ∆R 2R
La caı́da de potencial (la deformación expresada en voltaje), toma la forma:
∆R
∆v = (R + ∆R)I1 − RI2 = E
4R + 2∆R

3. Sensor de fuerza piezoeléctrico.– En este caso, si el sensor piezoelécrico es


sometido a una fuerza, dicho sensor crea una carga que es proporcional a la
fuerza aplicada.

Sensores de Presión
La mayorı́a de los sensores de presión miden presión manométrica porque toman
como referencia a la presión de la atmósfera o presión al nivel del mar: 14.7 lb/in 2 .
54 El Sistema de Medición

F I2

R+ R R R+ R
E v
R R
I1

Fig. 3.5: Principio de deformación de la galga extensiométrica.

La unidad de presión manométrica es psig que significa libra por pulgada cuadrada
gravimétrica. Un manómetro mide presión manométrica; es decir, si dicho manómetro
marca cero, entonces la presión es de 14.7 lb/in2 (la presión atmosférica). En cambio,
si marca por ejemplo 1 lb/in2 , entonces la presión medida está por encima de la
presión atmosférica.
Los sensores de presión que miden presión absoluta, toman como referencia a la
presión de vació absoluto (0 lb/in2 ). La unidad de presión absoluta es el psia o psi,
que significa libra por pulgada absoluta. Un sensor de presión absoluta mide psia o
psi; es decir, si dicho sensor marca cero, entonces la presión es de 0 lb/in 2 de vacı́o
absoluto (14.7 lb/in2 debajo de la presión atmosférica). A continuación se describen
varios sensores manométricos.

1. Sensor de presión por desplazamiento.– En estos sensores, una medición de


presión se convierte en un desplazamiento x. Después, este desplazamiento se
transforma en un voltaje eléctrico proporcional a la presión p 1 medida. La Fig.
3.6 ilustra varios sensores de presión por desplazamiento. Por ejemplo, si se
conecta un LVDT a un tubo de Bourdon, entonces la señal del voltaje de salida

a babaa
del LVDT será proporcional a la presión medida.

a
da cdc bba
x
a
e
p
2 e
e gh fefefe p p
e
efefe
p p
2 1 2
1

x
Tubo de x
p Bourdon Sensor de fuelle Sensor de diafragma
1

Fig. 3.6: Sensores de presión por desplazamiento.

2. Sensor de presión por deformación.– Este sensor emplea un diafragma, sobre el


cual se montan configuraciones circuitales que contienen galgas extensiométri-
cas. El desplazamiento x del diafragma debido a la presión que se desea medir,
se traduce en un voltaje a la salida de la configuración circuital, que es propor-
cional a la presión incógnita.
3.2 Sensores de Medición 55

3. Sensor de presión piezoeléctrico.– Un elemento piezoeléctrico en este sensor,


con electrónica incluida, genera un voltaje proporcional a la presión (fuerza)
ejercida sobre dicho elemento.

4. Sensor de presión capacitivo.– Este sensor posee un diafragma, cuyo desplaza-


miento, debido a una presión ejercida sobre la misma, causa un cambio pro-
porcional en la capacitancia del sensor. Este cambio se convierte luego en una
señal voltaje para su procesamiento.

Sensores de Temperatura
1. Termómetros de dilatación.– En estos sensores, la temperatura provoca la con-
tracción o dilatación o del sensor. Ası́, el termómetro de vidrio, que puede tomar
varias formas, emplea mercurio porque su volumen cambia proporcionalmente
con la temperatura. En un termómetro bimetálico, los metales empleados cam-
bian su dimensión proporcionalmente a la temperatura, mientras que en un
termómetro de bulbo, la variación de temperatura expande o contrae el fluido
alojado en un muelle o tubo tipo Bourdon. Las deformaciones que sufren estos
sensores se procesan en el transmisor.

2. Sensor RTD.– Un sensor RTD (Resistance Temperature Detector) varı́a su re-


sistencia eláctrica proporcionalmente con la tempertaura. El sensor RTD más
usado es el PT100, que consiste en un alambre de platino que posee una sensi-
bilidad de 0.385 ohm/◦ C y que para 0 ◦ C presenta 100 ohm de resistencia. En
la industria, la termoresistencia es un dispositivo que no solo contiene el sensor
RTD, sino también la correspondiente electrónica para convertir el cambio de
resistencia, debido al cambio de temperatura, en voltaje o corriente. El rango
de operación de los RTD es entre −200 a 700 ◦ C. La Fig. 3.7 izquierda ilustra
la medición de temperatura con dos hilos usando el sensor PT100 en un puente
Wheastone. La Fig. 3.7 derecha muestra la medición con 3 hilos. Con esta últi-
ma configuración se logra una mejor compensación de las caı́das de voltaje en
los conductores.

3. Termistor NTC.– Un termistor NTC (Negative Temperature Coeficient) es un


semiconductor, cuya resistencia R(T ) se reduce de manera exponencial con la
temperatura T , conforme a la relación:
1 1
R(T ) = R(To )eB( T − To )

Opera en rangos pequeños, por ejemplo, de 0 a + 50◦ C. Posee una sensibilidad


de 100 ohm/◦ C. El cambio de resistencia en un termistor también se transforma
en corriente o voltaje.

4. Termocupla o termopar.– Este sensor, mostrado en la Fig. 3.8(a), emplea el


principio de Seebeck: cuando dos conductores hechos de metales distintos se
unen por un extremo y se someten a una fuente de calor que proporciona una
temperatura T , mientras que los extremos libres quedan sometidos a una tem-
peratura de referencia Tref , la cual debe de ser mantenida constante, entonces,
entre los extremos libres se produce una diferencia de voltaje VS del orden de
56 El Sistema de Medición

I2 I2

R R+ R R R+ R
E v PT100 E v
R R 2 hilos R R 3 hilos
I1 I1

Fig. 3.7: Medición a 2 y 3 hilos con el sensor PT100.

los mV, que es proporcional a la diferencia de temperatura T − Tref . Por ejem-


plo, la termocupla J usa los metales Hierro y Constantan y trabaja en un rango
de 0 a 750◦ C con una precisión de 0.5 %. La termocupla K emplea Cromo y
Alumel y trabaja en el rango de 0 a 1300◦ C con una precisión de 1 %.

5. Termómetro bimetálico.– Este sensor consta de dos láminas metálicas que


poseen diferente coeficiente de dilatación, tal como se ilustra en la Fig. 3.8(b),
de modo que cuando se calientan a una temperatura T, se dilatan deformándose
mecánicamente. El desplazamiento originado por la deformación, que es pro-
porcional a T, puede activar un relé en un caso, o estar unida a una aguja
indicadora en otro caso. Estos sensores operan en un rango de 0 a 500 ◦ C con
una presición de 1 %.

6. Pirómetros.- Son sensores de temperatura que basan su funcionamiento en el


principio de Stefan–Boltzmann: todo cuerpo o sustancia a cualquier tempera-
tura por encima del cero absoluto irradia energı́a debido a la agitación de sus
electrones. Esta energı́a es proporcional a la cuarta potencia de la tempera-
tura absoluta del cuerpo. El pirómetro de radiación posee un sistema óptico
que recoge la energı́a irradiada y la concentra en un detector. Un transduc-
tor adecuado convierte la señal concentrada en un voltaje o corriente que es
proporcional a la temperatura.

Metal A
ii j ij ij ij i j ij
Sin calentar

VS Tref T kl k lk lk lk lk


Calentado

Metal B
m n
n m nm nm nm T
(a) Termocupla (b) Termómetro bimetálico

Fig. 3.8: Termocupla y termómetro bimetálico.


3.2 Sensores de Medición 57

Medidores de Flujo
Los medidores de flujo o gasto de un fluido emplean, entre otras variables, la
presión diferencial, la fuerza, la velocidad, la masa o el volumen desplazado. A con-
tinuación se describen varios de estos medidores.

1. Medidores a presión diferencial.– Los medidores de flujo que emplean la pre-


sión diferencial son: placa de orificio, tubo Venturi, tubo Pitot y medidores de
impacto.
Una placa de orificio instalada en una tuberı́a por donde circula un fluido (ver
Fig. 3.9(a)), produce una caı́da de presión ∆p = p1 − p2 , cuya raı́z cuadrada
√ es
proporcional al flujo Q que circula por dicha tuberı́a, es decir: Q = K ∆p.
En un tubo Venturi el etrechamiento es gradual y cónico para producir una
descarga suave con la finalidad de limitar la caı́da de presión, tal como se
ilustra en la Fig. 3.9(b). Se emplea para fluidos sucios y algo contaminados. Su
costo elevado restringe su uso.
En el interior de un tubo Pitot, Fig. 3.9(c), se aloja otro tubo de diámetro
pequeño que se opone al paso del fluido que circula a una velocidad v. La
altura en el extremo de este tubo es conocida; por consiguiente, la presión total
o de impacto PT también lo es. Otro tubo mide la presión estática o atmosférica
P. El flujo medido en el tubo de Pitot resulta proporcional a la diferencia de
presión PT − P . El tubo Pitot se puede emplear en tuberı́as de gran diámetro
debido a la poca caı́da de presión que produce.
El tubo Annubar, Fig. 3.9(d), es una variante del tubo Pitot. Consiste de un
tubo con varias tomas de presión que se instala en la sección transversal del
tubo principal. También emplea otro tubo para medir la presión estática P .
La presión total PT en el tubo Annubar se halla promediando las presiones
medidas en sus tomas.

2. Medidor por fuerza de impacto.– Una placa, generalmente en forma de disco


circular, se instala para impactar con el flujo que circula por la tuberı́a. La
fuerza ejercida sobre la placa resulta proporcional al flujo. Estos medidores
poseen una precisión de 0.5 a 5 %. Se emplean en presencia de fluidos sucios,
de alta viscocidad y contaminados.

3. Medidores por velocidad.– Entre los medidores de flujo que emplean la veloci-
dad tenemos: medidor a turbina, medidor electromagnético, medidor vortex,
rotámetro y medidor por ultrasonido.
El fluido que ingresa a un medidor de turbina (Fig. 3.10(a)), hace girar un rotor
cuya velocidad de giro es proporcional al flujo. Estos medidores se emplean para
gases y lı́quidos limpios de baja densidad. Poseen una precisión de 0.15 a 1 %.
Un medidor electromagnético (Fig. 3.10(b)) produce un campo magnético en
el interior del tubo. Cuando un fluido circula por la tuberı́a a cierta velocidad,
dicho campo se modifica. Tal modificación se procesa para determinar un voltaje
de salida que representa el flujo. En estos medidores, la caı́da de presión es nula.
Se emplean para lı́quidos sucios, viscosos y contaminados. Poseen una precisión
de 0.25 a 1 %.
58 El Sistema de Medición

Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Š‰Š‰ Toma de entrada

{||{ {||{ {||{ {||{ {||{ €€ €€ €€ €€ €€ „ƒ„„ƒ„„ƒ„„ƒ„
Toma de salida

}‚ }~ ‚ ‡…‡ˆ ƒ…† ƒ ƒ ƒ


Q

Placa de
p1 p orificio
2 Cono de entrada Cono de salida
(a) Placa e orificio (b) Tubo Venturi
sst
vuvu vu vu popopo rqrqrq popopo rqrqrq tt zy zy zy zy
P P
P T
T

Ž Ž Ž Ž Ž Ž Ž Ž Ž ‹‹Œ ‹Œ ‹Œ P

P v
P

           
v
T
P
T

xw xw xw xw xw xw xw xw xw xw


(d Tubo Annubar
(c) Tubo Pitot

Fig. 3.9: Medidores de flujo.

El medidor vortex emplea el efecto de Van Karman, el cual consiste en la


aparición de vórtices o torbellinos cuando se introduce un cuerpo romo en la
corriente de un fluido. La frecuencia de aparición de los vórtices es proporcional
a la velocidad del fluido circulante. Se emplea para gases y lı́quidos limpios.
Tienen una precisión de 1 %.
En un rotámetro (Fig. 3.10(c)), un flotador cambia su posición en forma pro-
porcional al flujo circulante, cuyo valor se puede observar en una escala.
Medidor a ultrasonido.– Estos medidores (Fig. 3.10(d)) emplean ondas ul-
trasónicas en forma de pulsos para medir el flujo. En el medidor por pulsos se
emplean dos transmisores–receptores que emiten y reciben los pulsos. El tiempo
de emisión es t1 , sumado al tiempo de recepción t2 varı́a con la velocidad del
fluido que circula en la tuberı́a.
En un medidor Doppler, las ondas de frecuencia fija emitidas por un transmisor
se reflejan en el fluido que circula a una determinada velocidad. Un cambio de
velocidad en el fluido genera un cambio en la frecuencia de los pulsos reflejados.
Este cambio se emplea para calcular el flujo.

4. Medidores másicos.– Entre los medidores de flujo que emplean la masa tenemos:
medidor másico térmico y el medidor de Coriolis.
En un medidor másico térmico (Fig. 3.10(e)) se miden las temperaturas aguas
arriba T1 y aguas abajo T2 del fluido circulante en la tuberı́a. La diferencia
de temperatura (T2 − T1 ) es proporcional al flujo masico existente; esto es:
Q = mce (T2 − T1 ), donde m es la masa del fluido, ce su calor especı́fico y Q el
calor transferido. Con este medidor se logra una precisión de 1 %.
En el medidor de Coriolis (Fig. 3.10(f)), el fluido que ingresa por su entrada
3.2 Sensores de Medición 59

Transductor
šš™ žžž žžž  Ÿ  Ÿ ² ³  ² 
³ ² 
³ µ´µ´ ³² µ´µ´ µ´µ´ µ´µ´
˜—˜–•˜—˜–•˜—˜ ™™ –• œ›œ› œ›œ› Ÿ Ÿ 
Voltaje

¦¥ ¦¥¦¥ £¤£ ¤£


de salida Voltaje de N
salida Voltaje de

–• –•–• ¢¡¢¡ ¢¡¢¡ ¢¡¢¡ ¸¹¸ ¸¹¸ ¸¹¸


excitación

¶· ¶· ¶· ¶· ¶· ¹¸¹¹¸¹¹¸¹


Electrodos Bobinas
Turbina
S
Flujo
Flujo (a) Turbina (b) Electromagnético

§§¨§§¨ ¨§§¨®¬®¬®¬®¬¯¯ ¨§§¨®¬®¬¯¯ ®® ¨§§¨ ¨§§¨ ¨§§¨ ¨§§¨ ¨§§¨ ¨§§¨ ¨§§¨ ¨§§¨ ¨§§¨
Transmisor−−receptor

©©©ªª© ©ªª© ©ªª© ©ªª© ©ªª© ©ªª© ©ªª© ©ªª© ©ªª© ©ªª© ©ªª© ©ªª©
t2 Caudal

«¬«¬­ «¬­ «
t1

‘’’‘ ’‘’‘ ’‘’‘ ’‘’‘ ’‘’‘ ’‘’‘ ’‘’‘ ’‘’‘ ’‘’‘ ’‘’‘ ’‘’‘ ’‘’‘
(c) Rotámetro
Tubo con calefacción constante
Transmisor−−receptor

(d) Por ultrasonido

”“”“ ”“ ”“ ”“ ”“ ”“ ”“ ”“ ”“ ”“ ”“
T1 T2
±°°±±°°±±°°±±°°±±°°±±°°± f

°±±° °±±° °±±° °±±° °±±° °±±°


Caudal
vf
v
Puente Wheastone
a
v a
(e) Medidor másico térmico. Fluido a
v a

a b
a
b f
a
b f
(g) Medidor por ruedas ovaladas (f) Medidor de Coriolis

Fig. 3.10: Otros medidores de flujo.

se divide para circular por dos tubos en forma de U montados en paralelo,


los cuales son suficientemente elásticos. Estos tubos, que poseen un diámetro
menor que el de la tuberı́a por donde circula el flujo, se hacen vibrar a su
frecuencia natural ω por medio de varios juegos de bobinas magnéticas que se
instalan adecuadamente a lo largo de sus longitudes. Las velocidades lineal v
y angular ω del flujo circulante generan la denominada aceleración de Coriolis:
a = 2w × v. La fuerza de Coriolis F = ma inducida por la masa m del fluido,
genera una pequeña deformación elástica, a partir de la cual se puede calcular
el flujo o caudal de masa. En la Fig. 3.10(e), f es la fuerza reactiva del fluido.

5. Medidor volumétrico.– En el medidor volumétrico mostrado en la Fig. 3.10(g), el


desplazamiento de un volumen fijo V , correspondiente a una rotación completa
de las ruedas dentadas ovaladas a y b, se convierte en un pulso. La suma de los
n pulsos contados produce el volumen total nV acumulado en un determinado
tiempo T . El flujo resulta de la división: nV /T .
60 El Sistema de Medición

Sensores de Nivel en Fluidos


1. Tubular.– Un tubo de material transparente, unido con bridas y válvulas ma-
nuales a dos puntos de un tanque de almacenamiento de un lı́quido, se emplea
para indicar el nivel, aprovechando el principio de los vasos comunicantes, tal
como se muestra en la Fig. 3.11(a).

2. Por flotador.– Un flotador se instala en el interior de un tanque mediante un


cable, juego de poleas y contrapeso exteriores. El contrapeso, cuyo movimiento
sobre una regleta es contrario al del flotador, indica el nivel del lı́quido (Fig.
3.11(b)). En otra variante, el contrapeso hueco con un imán en su interior, se
desplaza a lo largo de una guı́a vertical no magnética. El movimiento del imán
se traduce en una escala que indica el nivel del lı́quido.

3. Por presión diferencial.– Instalando un medidor de presión en el nivel cero del


tanque, y estando éste abierto, la presión P en el fondo se calcula de: P = ρgh,
donde ρ es la densidad el lı́quido, g es la aceleración de la gravedad y h es la
altura del lı́quido (el nivel). De tal relación se despeja h.
Cuando el tanque es cerrado (Fig. 3.11(c)), empleamos un medidor de la dife-
rencia de presión P1 − P2 = ρgh. A partir de esta relación podemos despejar
el nivel h. La medición es a columna mojada (columna de liquido), por lo que
será necesario emplear un recipiente de condensado.

4. Por burbujeo.– Empleando un regulador de flujo (ver Fig. 3.11(d)), hacemos


ingresar un pequeño flujo de aire o gas inerte a través de un tubo sumergido
hasta el nivel cero del tanque, con el fin de producir un burbujeo continuo. La
presión P , requerida para este burbujeo, es una medida del nivel del lı́quido
en el tanque. Se emplea en presencia de lı́quidos corrosivos o con materiales en
suspensión, debido a que el material no penetra en el medidor.

5. Radioactivo.– Este medidor emplea una fuente radioactiva y un detector de


radiación (Fig. 3.11(e)). La atenuación que sufre la radiación debido al lı́qui-
do, es proporcional al nivel h. Este medidor se emplea para medir niveles en
lı́quidos a muy alta temperatura o muy corrosivos. Su operación requiere de
personal especializado en el manejo de radioactivos. Necesita ser recalibrado
permanentemente, ya que la potencia de la fuente decrece con el tiempo.

6. Capacitivo.– El nivel del lı́quido en un depósito metálico se puede medir intro-


duciendo una sonda metálica. Esta sonda forma un condensador con la pared
del tanque. En presencia de una variación de la altura del lı́quido, la capaci-
dad en el tanque variará proporcionalmente. Si el depósito no es metálico, se
introducen dos sondas.

7. Por ultrasonido.– Este medidor emplea ondas sonoras en el rango de 20 a 40


kHz generadas por un transmisor, las cuales se propagan por la fase no lı́quida
o sólida, hasta chocar con el lı́quido o sólido, reflejándose hasta alcanzar el
receptor ubicado junto al transmisor. El tiempo de ida más el tiempo de venida
de las ondas es inversamente proporcional al nivel h.
3.2 Sensores de Medición 61

8. Por conductividad.– El medidor consta de dos sondas con dos electrodos, los
cuales al entrar en contacto con el lı́quido o sólido conductor, cierran un circuito
eléctrico para generar una corriente que activa un relé. Ası́, los contactos nor-
malmente abiertos se cierran, mientras que los normalmente cerrados se abren.

9. Por radar.– En este medidor, un oscilador de estado sólido genera una frecuencia
de barrido de 10 a 11 GHz y enfoca la señal sobre el lı́quido por medio de
una antena. La diferencia de frecuencias entre las señales de transmisión y de
retorno es proporcional al tiempo empleado por las mismas y es una medida
del nivel. Estos medidores se emplean en productos muy viscosos como asfaltos.
No requieren contacto con el material ni incorpora elementos móviles en su
estructura. Poseen una precisión de 2 mm y un rango de hasta 40 m.

10. Por posicionador.– Este sistema emplea un contrapeso sostenido por un hi-
lo tensado. Este contrapeso está en ligero contacto con el lı́quido para una
situación de equilibrio. Al cambiar el nivel del lı́quido, el equilibrio se rompe.
En este momento actúa el posicionador para restituir un nuevo estado de equi-
librio, subiendo o bajando el contrapeso. Con este medidor de nivel se logra
una precisión de hasta 1 mm.

Recipiente de
condensado
P1

P2

(a) Tubular (b) Por flotador (c) Por presión diferencial

Manómetro
Aire Detector
o gas Regulador
de caudal

h Emisor de
Burbujeo
P Atenuación rayos X

(d) Por burbujeo (e) Radioactivo

Fig. 3.11: Sensores de nivel en fluidos.

Sensores de Nivel en Sólidos


Los sensores de nivel para sólidos generalmente están asociados con la activación
de dispositivos on–off en el momento en que el sensor toca el sólido.
62 El Sistema de Medición

1. Palpador.– El palpador está unido a un mecanismo de ascenso y descenso ac-


cionado por un motor. Dicho palpador resuelve la medición del nivel de sólido
en el depósito cuando tiene contacto con el mismo.
2. Sensor de paletas rotativas.– Un motor montado en forma vertical, posee un
eje asociado con un resorte. Este motor hace girar lentamente unas paletas
rotativas montadas al extremo de su eje (Fig. 3.12(a)). Cuando el material
toca las paletas, éstas se detienen, pero el motor sigue extendiendo al resorte,
hasta activar un dispositivo de fin de carrera que hace parar el motor. En
esta situación, la intensidad del motor es proporcional a la longitud de paleta
en contacto con el sólido. Cuando el nivel disminuye, el resorte recupera su
posición, a la vez que el fin de carrera recupera su estado inicial, haciendo
arrancar al motor.
3. Sensor vibratorio.– Está constituido por una sonda en forma de diapasón que
vibra a frecuencias bajas debido a la presencia de un dispositivo piezoeléctrico
excitado eléctricamente (Fig. 3.12(b)). Cuando el material cubre el diapasón,
las vibraciones se amortiguan, generándose una señal que activa un relé.
4. Sensor de membrana.– Este sensor posee una membrana acoplada a la pared
del recipiente en el punto en el que se desea detectar el nivel (Fig. 3.12(c)). Un
dispositivo on–off actúa cuando el material presiona la membrana.

5. Sensor de peso.– El sensor de peso, una célula de carga, posee varias galgas
extensiométricas que se deforman con la presencia de un peso. Esta deformación
se procesa electrónicamente y es proporcional al peso (Fig. 3.12(d)).

ÀÀ¿À ¾½¾½¾½ È»ÇÈ»ÇÈ»Ç È»ÇÈ»ÇÈ»Ç ÈÇÈÇÈÇ


Motor
¿¿ ¾½¾½ ÈÇ»È»Ç ÈÇ
Sensor de
Sensor membrans
Resorte vibratorio

(b) (c)

Äû»ºº»Äà º»º»¼¼ º»º»¼¼ ºº¼¼


Paletas Celdas
Á ƻŠÆÅ de carga

(a) (d)

Fig. 3.12: Sensores de nivel en sólidos.

La lista de sensores arriba descritas no es única. Muchas otras variables también


se emplean en la industria, como son: pH, Redox, conductividad, humedad, oxı́geno,
monoxido de carbono, densidad, entre otras. Se sugiere consultar [6], [7] y [8].
Capı́tulo 4

Elementos Finales de Control

El bloque Elemento Final de Control (EFC) de un sistema de control a lazo abierto o


a lazo cerrado, tiene la finalidad de realizar los cambios en el proceso controlado, de modo
tal que los comportamientos de las señales controlada y de referencia sean similares.
Este bloque, en la mayorı́a de los casos, comprende el actuador y el mecanismo de
ajuste o dosificador. El actuador, denominado comúnmente la fuerza bruta del sistema
de control, convierte la señal de baja potencia generada por el controlador, en una señal
de control que posee la potencia requerida para ejercer los cambios necesarios en el
proceso. El mecanismo de ajuste es la parte que dosifica el flujo de masa o de energı́a
bajo manipulación.
Por lo general, el actuador y el mecanismo de ajuste forman una sola unidad. Por
ello es común que al elemento final de control se le designe simplemente como actuador.
En este capı́tulo se describen algunos de estos dispositivos industriales. Para mayores
detalles, consultar las referencias [9], [8] y [10].

4.1. Caracterı́sticas del Elemento Final de Control


El Elemento Final de Control (EFC) es un dispositivo que posee la potencia nece-
saria para ejercer cambios en el proceso, cada vez que recibe la señal del controlador.
En general, el EFC consta de dos partes: el actuador , que transforma la señal de
control en un comando para el dispositivo manipulador, y, el mecanismo de ajuste o
dosificador, el cual dosifica el flujo de masa o de energı́a que está siendo manipulado.
Uno de los EFC más empleados en la industria es la Válvula de Control Au-
tomática (VCA). En una VCA neumática, tal como la mostrada en la Fig. 4.1, su
actuador (el cabezal de la VCA con su membrana) recibe la señal estandarizada de 3
a 15 psig (o 0.2 a 1 bar) para desplazar el eje o vástago que está unido a la membrana.
En el extremo libre de este eje se encuentra el cono u obturador, y a continuación,
el asiento. Si esta válvula está siendo usada para controlar el paso de un fluido a
través de una tuberı́a, entonces el mecanismo de ajuste de la VCA dosifica el flujo Q
que pasa por la misma, aumentando o disminuyendo la abertura entre el cono y su
asiento, en concordancia con la señal estandarizada que ingresa al actuador.
Dependiendo de la energı́a auxiliar con la que están alimentadas, los actuadores
se pueden clasificar en eléctricos, neumáticos e hidráulicos, tal como se ilustra en la
Fig. 4.2. Los actuadores eléctricos más empleados son el motor DC, el motor AC, la
64 Elementos Finales de Control

Cabezal

É
Membrana

É Actuador
Resorte
É
ÊËÊÌ É
Eje o vástago
Cono u obturador
Q Q Dosificador
Asiento
Fig. 4.1: Válvula de control neumática mostrando sus partes.

bobina con núcleo de hierro móvil, y el inversor de potencia. Entre los actuadores
neumáticos tenemos los de membrana de simple y doble efecto, el cilindro o pistón de
membrana, el cilindro (o pistón) de doble y simple efecto. Los cilindros hidráulicos
lineal y rotatorio son dos ejemplos de actuadores hidráulicos.
Los dispositivos de dosificación también se clasifican de acuerdo a la energı́a au-
xiliar que los alimenta. A su vez, los dispositivos de dosificación eléctricos pueden
ser continuos y discontinuos. En la Fig. 4.3, la resistencia eléctrica, el transformador
y el transistor de potencia son dosificadores continuos, mientras que el contacto, el
relé, el tiristor o el triac son dosificadores discontinuos. En las válvulas para gas,
vapor, lı́quidos o granos, el conjunto obturador–asiento constituye el dispositivo de
dosificación.

4.2. La Válvula de Control Automática (VCA)


4.2.1. Generalidades de una VCA
La VCA es uno de los EFC más empleados en el control de procesos tales como
presión, nivel, temperatura, fluidos (lı́quidos, gases, vapor), pH, redox, etc. Existen
tres tipos principales de válvula: de apertura y cierre rápido (válvulas ON–OFF), de
caracterı́stica lineal y de caracterı́stica isoporcentual.
La abertura o posición del vástago en una válvula ON–OFF está restringida a
dos posiciones: apertura y cierre, mientras que en las válvulas de caracterı́stica lineal
e isoporcentual, las posición m del vástago responde a una ecuación que es función
de la constante Cv o tamaño de la válvula. Para un mejor entendimiento del tema, a
continuación se deduce la expresión de Cv para un fluido a través de una VCA.
La porción de la válvula que muestra la Fig. 4.4 corresponde al cono y al asiento
de la misma, por donde fluye un producto de caudal Q, que posee un peso especı́fico
γ y una densidad ρ. El fluido ingresa a válvula con una velocidad V1 , cruzando una
una sección A1 y produciendo una presión P1 . Este flujo sale por la abertura vástago–
cono de sección A2 , a una velocidad V2 y generando una presión P2 . El principio de
Bernoulli nos permite formular:

P1 V12 P2 V22
+ + h1 = + + h2 (4.1)
γ 2g γ 2g
4.2 La Válvula de Control Automática (VCA) 65

R
ÍÎ
Î
ÍÎ ÍÎ
Î
ÍÎ ÎÍÎÍÎÍ Ð
ÏÏ
Ð ÐÐÏÏ
S
ÍÎÍ
ÍÍ Î
ÍÍ Î Í Î ÐÐÏ
ÐÏ ÐÐÏÐÏ Ò
T
ÍÎÎ
Î Í ÎÍÎÍ ÐÏ
ÏÐÏÏ ÒÑÒÑ
Ñ
w

(a) Motor DC (b) Motor AC (c) Bobina

Motor AC
(d) Inversor de potencia

Aire Aire ÓÔ


Ô ÓÔ
Ó Ô ÓÔ
Ó Ô Ó ÔÓÔÓ

(e) Actuador (f) Actuador (g) Cilindro (h) Cilindro


de membrana de membrana neumático neumático
de simple efecto de doble efecto de membrana de simple efecto

ÕÖ
Ö ÕÖ
Õ Ö Õ Ø×Ø× Ö ÕÖ
Õ ÖÕÖÕ ßà
à
ßà ß 
à ß ß 
à ß ß à
Aire
Ø×Ø×Ø× ß à 
à ßâáâá à 
à ß àßàß ÙÞÝÚÚ
 ÛÜ ÚÙ
Aceite
âáâáá
Aceite
ÙÙ ÞÝÝ ÚÙÚÙ
Ø× âáâ ÞÝÚ Þ
(i) Cilindro neumático (j Cilindro (k) Cilindro hidráulico
de doble efecto hidráulico rotatorio

Fig. 4.2: Actuadores.

Por continuidad:
A2
Q = V 1 A1 = V 2 A2 → V 1 = β 2 V2 β2 = (4.2)
A1
Notar en la Fig. 4.4 que la altura h1 es cero porque coincide con el eje horizontal de
referencia a trazos, mientras que la altura h2 se puede despreciar por ser pequeña.
Reemplazando V1 de (4.2) en (4.1) resulta:
s s
(P2 − P1 )2g γH2 O (P2 − P1 )2g γ
V2 = × = GF = (4.3)
γ(1 − β 4 ) γH 2 O GF γ(1 − β 4 )γH2 O γH 2 O
66 Elementos Finales de Control

(a) Resistencia (b) Transformador (b) Transistor


de potencia

(c) Contacto (e) Tiristor (f) Triac

(d) Relé

(g) Obturador (h) Obturador


(g) Vástago−−asiento de compuerta de cuchilla

Fig. 4.3: Dosificadores.

Por consiguiente:
r s
P2 − P 1 2g
Q = V 2 A2 = C v Cv = A 2 (4.4)
GF GF (1 − β 4 )γH2 O

donde la constante Cv , conocida también como tamaño o dimensionamiento de la


válvula, posee la expresión:
s s
2g GF
Cv = A 2 4
=Q (4.5)
GF (1 − β )γH2 O (P2 − P1 )

Esta última expresión se corrige multiplicándola por factores que toman en cuenta
pérdidas, ruido, caracterı́stica del fluido, etc. Notar que cuando P 2 − P1 = GF = 1,
entonces: Q = Cv ; es decir, el flujo iguala al tamaño de la válvula.
Bajo ciertas consideraciones, la constante Cv de la válvula ha sido adoptada por
los fabricantes y usuarios como un coeficiente de dimensionamiento. En este sentido,
esta constante se define como el flujo en galones USA por minuto (gpm) que pasa a
través de la válvula en posición completamente abierta y con una pérdida de carga
(caı́da de presión) de una libra por pulgada cuadrada (psi).
En aquellos paı́ses donde se emplean el sistema métrico, la constante de la válvula
se denomina Kv y se define como el flujo de agua (de 5 a 40◦ C) en m3 /h que pasa
a través de una válvula a una determinada apertura y con una pérdida de carga
de 1 bar (105 Pa). La equivalencia entre los coeficientes Kv y Cv para una VCA
4.2 La Válvula de Control Automática (VCA) 67

Vástago

Cono
Q, P2 , V 2, A 2
Q, P1 , V1, A 1 h2
Asiento

Fig. 4.4: Cono y asiento en una válvula de control automática.

completamente abierta es:

Kv = 0.86 Cv m3 /h Cv = 1,16 Kv gpm (4.6)

El rango de control R de la válvula (rangeability en inglés) se define por la relación:


Kvs
R= (4.7)
Kv0
donde Kvs es la constante para válvula completamente abierta, mientras que K v0 es
el mı́nimo valor de la misma. El rango R toma un valor de 30 a 1 en VCAs del tipo
isoporcentual, y de 15 a 1 o de 30 a 1 en VCAs lineales.
La curva caracterı́stica de una VCA lineal está regida por la relación:
m
Cv = Cvmax + Cvmin (4.8)
100
donde m es la posición del eje o vástago de la válvula expresado en % y C vmin es el
valor de Cv para m = 0. Para una VCA isoporcentual:
m
Cv = Cvmax R 100 −1 (4.9)

donde Cvmax es el valor máximo de Cv . El denominado factor CL , que represente la


restricción a fluir ofrecida por la linea (tuberı́a) y por otros elementos del proceso en
la linea, se puede calcular de:
r
B
CL = Cvmax (4.10)
1−B
donde B es la razón de caı́da de presión, definida como:
Caı́da de presión mı́nima (válvula abierta)
B= (4.11)
Caı́da de presión máxima (válvula cerrada)
Un factor de flujo combinado, denominado CE , se puede formular como:
CL Cv
CE = q (4.12)
CL2 + Cv2
68 Elementos Finales de Control

Con las consideraciones anteriores, el flujo Q, que fundamentalmente es proporcional


a la raı́z cuadrada de la caı́da ∆P = P1 − P2 , se formula como:

Q = CE ∆P (4.13)

La Fig. 4.5 muestra las curvas caracterı́sticas de las válvulas ON–OFF, lineal (ecuación
(4.8)) e isoporcentual (ecuación (4.9)), mientras que la Fig. 4.6 ilustra la forma de
los conos u obturadores.

Q = Cv
100 %

Válvula ON−OFF

Válvula
50 % lineal
Válvula
isoporcentual

u
0% 50 % 100 %

Fig. 4.5: Curvas caracterı́sticas de las VCAs.

Simple Doble Simple Doble Simple Doble Simple Doble


asiento asiento asiento asiento asiento asiento asiento asiento
(a) On−Off (b) Lineal (d) Isoporcentual (c) Isoporcentual
parabólico en v

Fig. 4.6: Tipos de conos (obturadores).

Dimensionamiento de una VCA vı́a Software


Por lo general, los fabricantes de válvulas, como Metso y Samson, ofrecen software
especializado para el dimensionamiento de válvulas. Por construcción, en las válvulas
Metso, y en un grupo de válvulas Samson, el eje de la válvula y el actuador forman
un ángulo recto, tal como se muestra en las Figs. 4.7 y 4.8 (válvula del centro). Otro
4.2 La Válvula de Control Automática (VCA) 69

Fig. 4.7: Válvulas de control Metso.

Fig. 4.8: Válvulas de control Samson.

grupo de las válvulas Samson poseen el actuador y el eje alineados, como son las
válvulas de los extremos de la Fig. 4.8.
El DVD Metso Documentation 2011 contiene el software Netprof 6 para el di-
mensionamiento de válvulas y está disponible sin cargo. Basta solicitarlo en una de
las oficinas más cercanas de Metso. Ver ubicación en www.metso.com. El software
Netprof permite determinar los coeficientes de las válvulas, el tamaño del actuador,
además de advertir acerca de problemas potenciales en el diseño. Este paquete posee
una interfaz amigable y permite la representación gráfica de la aplicación.
70 Elementos Finales de Control

Samson ofrece el paquete Valve Sizing Program. Ver el link Valve sizing de soft-
ware del portal www.samson.de. También existe un demo libre de cargo que puede
ser descargado de varios sitios, por ejemplo, de axonautomation.ca/downloads.html.
En el help de la versión demo se explican los fundamentos del cálculo para el dimen-
sionamiento de válvulas.

4.2.2. Carcterı́stica de una VCA en Operación


La Fig. 4.9(a) muestra una bomba que genera un flujo Q a una presión P 0 . La
caı́da de presión en la VCA es ∆P = P1 − P2 , mientras que las pérdidas ∆P1 , ∆P2
y ∆P3 ocurren en otras partes de la linea. Para tal situación, es evidente que:

P0 = ∆P + ∆P1 + ∆P2 + ∆P3

La experiencia dicta dicta que una caı́da de presión conveniente a considerar en la


VCA serı́a:
P0
∆P ≈
2
En el rango de ∆P = (0.1 a 0.3)P0 , es posible obtener un buen control. Sin embargo,
cuando ∆P < 0.1, no se puede garantizar un buen rendimiento.
Por otra parte, la capacidad de regulación de la VCA debe de mantenerse, aún
cuando la presión nominal en la linea sea máxima. En esta situación, como se ilustra
en la Fig. 4.9(b), pueden ocurrir oscilaciones del flujo a ambos lados del punto de
operación A de la VCA. Esto significa que el flujo QAmax tiene que poder oscilar
a ambos lados de A. Entonces, resulta conveniente que tal punto de operación se
ubique en el rango de 50 % al 80 % de la abertura de la válvula u. Si el punto A se
ubicara en el rango de 20 % al 40 %, entonces es posible obtener un valor adecuado
de la ganancia del sistema de control realimentado.

P1 P2

Presión de la P P1 P2 P3
bomba: P0
(a)

Q Para máxima
presión nominal

Q Amax
Punto adecuado
ubicado al 70%
u [mm]
0% A 100%
(b)

Fig. 4.9: (a) Válvula operando en una linea. (b) Operación de una VCA alrededor
del punto de operación A.
Capı́tulo 5

Control PID SISO

El controlador PID SISO procesa la señal de error e(t), la cual es la diferencia entre
la señal deseada r(t) y la señal controlada y(t) (la salida del proceso), empleando un
algoritmo de control ampliamente difundido en el mundo industrial, cuya forma más
conocida es:
Z
Kc de(t)
u(t) = Kc e(t) + e(t)dt + Kc Td = P (t) + I(t) + D(t)
Ti dt
donde Kc es la ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo.
En la expresión anterior se puede ver claramente que el algoritmo
R PID posee una parte
proporcional: P (t) = Kc e(t), una parte integral: I(t) = K Ti
c
e(t)dt y una derivativa:
D(t) = Kc Td de(t)dt . Este algoritmo posee muchas variaciones, algunas de las cuales vamos
a explorar en este capı́tulo. Dependiendo de la aplicación, el controlador en cuestión puede
trabajar como P, PI, PD o PID.
El algoritmo PID es el de mayor aplicación industrial (aproximadamente el 90 %) y
su modelo dinámico es lineal y de segundo orden. Se emplea para controlar procesos
caracterizados por tener una entrada y una salida, como son los casos del control de
presión, 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 señal PV) se desea controlar, un controlador G c (s) que genera
la señal de control u (la señal MV) y el sistema de medición Gm (s) que se ocupa de
sensar y transmitir la señal y. El comparador que genera la señal de error e = r − y,
donde r es la señal de referencia deseada o SP, es parte del controlador.
El controlador Gc (s) de la Fig. 5.1(a), se ha dividido en dos partes en la Fig.
5.1(b): Gc1 (s) y Gc2 (s). Para algunas configuraciones Gc1 (s) y Gc2 (s) pueden ser del
tipo PI y D respectivamente, tal como se verá más adelante. Notar que el proceso a
controlar Gp (s) mostrado en las Figs. 5.1(a), (b) y (c) es del tipo SISO porque posee
una sola entrada u y una sola salida y. Los controladores mostrados en las Figs. 5.1(a)
y (b) son parte de un sistema de control realimentado. En la Fig. 5.1(c), el controlador
Ga (s) es del tipo anticipativo, mientras que Gc (s) es del tipo de realimentación.
72 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 a (s)

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

G m (s)

(c)

Fig. 5.1: Sistemas de control realimentados.

El objetivo de control consiste en diseñar una señal de control u, generada por el


algoritmo de control, que sea capaz de estabilizar la salida y del proceso con respecto
a una señal de referencia r. En otras palabras, que la señal de control u sea capaz de
minimizar la señal de error e = r − y, cumpliendo determinadas especificaciones de
diseño previamente establecidas (ver sección 5.2), 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 considera adi-
cionalmente la acción de los disturbios dy , du y dm actuando en la salida del proceso,
en la salida del controlador y en la salida del transmisor, respectivamente. El objetivo
de control del sistema en este caso es múltiple: diseñar una señal de control u que sea
capaz de estabilizar la salida y con respecto a la señal de referencia r, cumpliendo
las especificaciones de diseño del caso, rechazando al mismo tiempo la acción de los
disturbios que actúan sobre el sistema de control.
El filtro de entrada en la Fig. 5.2 sirve para eliminar las componentes de alta
frecuencia, cuya presencia puede ser dañina durante el funcionamiento del sistema
de control realimentado. Por otro lado, para evitar posibles daños en el actuador del
elemento final de control, se debe de incluir un limitador, tal como el que se muestra
en la Fig. 5.2. La presencia de dicho limitador puede provocar el efecto denominado
windup, el cual será tratado en la sección 5.7.
5.2 Especificaciones de Diseño 73

du dy
Limitador
r Filtro de e u u u Proceso más y
Controlador elemento
entrada u final de control

Sensor más
transmisor

dm

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

5.2. Especificaciones de Diseño


Todo sistema de control debe de cumplir ciertas especificaciones de diseño. Estas
especificaciones se establecen tanto en el dominio del tiempo como en el de la frecuen-
cia. Las especificaciones más usadas en el dominio del tiempo son: error en estado
estable ess , tiempo de estabilización Ts , porcentaje de sobrenivel P.O. y tiempo de
subida Tr . En el dominio de la frecuencia, las especificaciones de más aplicación son:
ancho de banda ωB , margen de fase Mf y margen de ganancia Mg .

5.2.1. Especificaciones de Diseño en el Dominio del Tiempo


Para explicar las especificaciones de diseño en el dominio del tiempo, se acos-
tumbra emplear el sistema de segundo orden con realimentación unitaria mostrado
en la Fig. 5.3(a). En la Fig. 5.3(b) se observa la respuesta transitoria a un escalón
de entrada, donde ωn es la frecuencia natural de oscilación, ζ < 1 es el coeficiente
de amortiguamiento, A es la magnitud de la entrada tipo escalón r, Mp es el valor
máximo de la salida y, Tr es el tiempo de subida, Tp es el tiempo pico, Ts es el tiempo
de estabilización 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 escalón 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 señal 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 situación mostrada en la Fig. 5.3(b),
74 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 + 2ζωn s + ωn2
A
lı́m y(t) = yss = lı́m sGp (s) =A ess = r − yss = A − A = 0
t→∞ s→0 s
Sin demostración, las relaciones exactas para Tp , Mp y P O se expresan como:
Mp − A √
2
PO = 100 = 100e−ζπ/ 1−ζ (5.3)
 A √ 
2
Mp = A 1 + e−ζπ/ 1−ζ (5.4)
π−θ p
Tr = ωd = ω n 1 − ζ 2 θ = arc cos ζ (5.5)
ωd
π
Tp = (5.6)
ωd

r ω2 y
n
s (s 2 ζ ωn )

(a)

r y

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 escalón de un sistema de segundo orden autoregulado.

La ecuación caracterı́stica del sistema de segundo orden es el denominador de la


FT mostrada en la Fig. 5.3(b):
s2 + 2ζωn s + ωn2 = 0 (5.7)
5.2 Especificaciones de Diseño 75

Sus raı́ces caracterı́sticas o eigenvalues, ilustradas en la Fig. 5.3(c), se expresan como:

s1 = −ζωn + jωd s2 = −ζωn − jωd

De la Fig. 5.3(c) es fácil deducir la relación: θ = arc cos ζ mostrada en (5.5).


En los sistemas sobreamortiguados, cuyas respuestas al escalón 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 escalón, 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: el porcentaje de sobrenivel de
la respuesta y(t) a un escalón unitario debe de ser menor del 3 % y el tiempo para
alcanzar el valor estacionario de la respuesta tiene que ser menor de 8 s.

r K y

s (s p)

Fig. 5.4: Sistema realimentado del ejemplo 5.1.

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


y(s) K ωn2
= 2 = 2 p = 2ζωn K = ωn2
r(s) s + ps + K s + 2ζωn s + ωn2
donde ζ se puede determinar de la condición P O < 3 %, a saber:
√ c ln(100/P O)
2
100e−ζπ/ 1−ζ < P O → ζ > √ c=
1+c 2 π

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

5.2.2. Especificaciones de Diseño en el Dominio de la Frecuencia


La repuesta en frecuencia de un proceso se define como la respuesta estacionaria
del proceso a una señal sinusoide de entrada. Para determinar la respuesta en frecuen-
cia de un proceso que posee una FT G(s) = y(s)/u(s), basta reemplazar la variable
laplaciana s por jω; es decir, G(jω) = y(jω)/u(jω), donde j es la unidad de los
números imaginarios, ω es la frecuencia de la sinusoide de entrada u(jω) = Asenωt,
e y(jω) = Bsen(ωt + φ) es la salida. Si se mantiene constante la amplitud A de la en-
trada u(jω), para cada frecuencia ω de esta señal, la salida y(jω) puede experimentar
cambios, tanto en su amplitud B como en su fase φ.
76 Control PID SISO

Gráficos de Bode y Nyquist, y Nichols


El gráfico 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 logarı́tmica (ωlog ). Si la escala logarı́tmica usada es vulgar
(de base 10), entonces ωlog se representa en décadas. En cambio, si es de base 2, ωlog
se representa en octavas. Una escala de frecuencias en décadas se visualiza ası́:

ωlog : [10−2 10−1 100 101 102 103 104 ]

mientras que una escala en octavas posee la forma:

ωlog : [2−2 2−1 20 21 22 23 24 25 26 ]

El gráfico 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
logarı́tmica de base 10 (décadas) o en escala logarı́tmica de base 2 (octavas).
En general, la FT de un proceso se representa como: G(jω) = u(jω) + jv(jω),
donde u(jω) es la parte real y v(jω) es la parte imaginaria. En un gráfico de Nyquist
se gráfica la parte real u(jω) versus la parte imaginaria v(jω) de G(jω).
El gráfico de |G(jω)|dB versus ω en escala logarı́tmica se denomina la carta de
Nichols que también se emplea en el diseño de sistemas de control vı́a la respuesta
en frecuencia.

Ejemplo 5.2

Elaborar los gráficos de Bode y Nyquist y la carta Nichols del proceso con FT:

ωn2
G(s) =
s2 + 2zωn s + ωn2

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


Solución: Las Figs. 5.5, 5.6 y 5.7 muestran los gráficos 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,’k’), 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,’k’), 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,’k’), hold on, end

Especificaciones de Diseño en Frecuencia


La Fig. 5.8(a) muestra la respuesta a una entrada sinusoide de un proceso de
segundo orden con curva de reacción autoregulada, mientras que la Fig. 5.8(b) ilustra
5.2 Especificaciones de Diseño 77

Bode Diagram

20

z = 0.1
0
z = 1.3
Magnitude (dB)

−20

−40

−60

−80
0
z = 0.1
−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: Gráficos de Bode para el ejemplo 5.2.

Nyquist Diagram

z = 0.1

2
Imaginary Axis

−2
z = 1.3

−4

−6
−3 −2 −1 0 1 2 3
Real Axis

Fig. 5.6: Gráfico de Nyquist para el ejemplo 5.2.


78 Control PID SISO

Nichols Chart

20

0
Open−Loop Gain (dB)

−20
z = 0.1

−40

z = 1.3
−60

−80

−100
−180 −135 −90 −45 0
Open−Loop Phase (deg)

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

su gráfico de Bode en magnitud. Sin demostración, el valor pico Mω de la magnitud,


el cual se puede emplear como especificación de diseño, posee la relación:
1
Mω = ζ ≤ 0.7 (5.9)
2ζ(1 − ζ 2 )
La frecuencia ωr en la que ocurre Mω se denomina frecuencia de resonancia y su
expresión 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
caı́da 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 ecuación caracterı́stica (EC) del sistema de la Fig. 5.10(a) es su denominador:

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


5.2 Especificaciones de Diseño 79

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 gráfico
de Bode en magnitud.

donde u(jω) y (jω) son la parte real e imaginaria de GH(jω), respectivamente. Si tal
EC fuera cero, entonces el sistema tomarı́a un valor muy grande. Esta situación es
denominada crı́tica, porque se produce cuando el sistema posee ya un comportamiento
inestable. Un sistema es estable cuando las raı́ces de la EC: 1 + GH(s) = 0, poseen
parte real positiva. Las raı́ces nulas provocan también comportamiento inestable del
sistema realimentado. En general:
p v
GH(jω) = |GH(jω)|∠GH(jω) |GH(jω)| = u2 + v 2 ∠GH(jω) = arctan
u
Para el lı́mite de estabilidad, la EC toma la forma:

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

La Fig. 5.9 grafica tal situación, donde las coordenadas toman los valores u = −1,
v = 0, la magnitud |GH(jω)| = 1 y el ángulo ∠GH(jω) = 180◦ .

jv

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

Fig. 5.9: Representación del limite de estabilidad.

El margen de ganancia Mg se define como el recı́proco de la ganancia |GH(jω)|


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

dicho ángulo ocurre cuando (u, v) = (−1, 0). El Mg se puede interpretar como un un
aumento en la ganancia del sistema para que el lugar geométrico o gráfico de GH(jω)
pase a través del punto u = −1.
El margen de fase Mf se define como el ángulo de fase que debe de girar el gráfico
de GH(jω) = u + jv para que el punto de magnitud unitaria |GH(jω)| = 1, pase
a través del punto (u, v) = (−1, 0) en el plano GH(jω). Las Figs. 5.10(b), (c) y (d)
muestran los márgenes de fase y de ganancia representados en los gráficos de Bode,
Nyquist y Nichols, respectivamente. Tener en cuenta que los sistemas estables poseen
Mf Mg positivos, mientras que los Mf Mg son negativos para los inestables.

Ejemplo 5.3

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

Solución: Ver programa mfmg1.m y Fig. 5.11.


% mfmg1.m CÁLCULO DE LOS MÁRGENES DE FASE Y DE GANANCIA
clear all; close all; clc; s=tf(’s’);
G = (1.5)/((s+0.1)*(s+0.3)*(s+0.4)); H = 0.1; GH = series(G,H);
[Mg,Mf,wMg,wMf] = margin(GH); % GRÁFICA 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 sección emplearemos un sistema
de control con realimentación unitaria, que posee un proceso de FT:

y(s) s + Tz
Gp (s) = (5.12)
u(s) (s + T1 )(s + T2 )(s + T3 )(s + T4 )(s + T5 )

el cual será sometido a la acción de los modos de control P, PI y PD, respectivamente,


con el proposito de analizar las correspondientes respuestas. La acción de control
conocida como ON–OFF se trata por separado en la siguiente sección.
En muchos casos en la industria, se emplea la denominada Banda Proporcional
en porcentaje, en lugar de la ganancia proporcional. Por tal razón, le dedicaremos la
siguiente subseccion para su estudio.

5.3.1. La Banda Proporcional BP %


La acción P del controlador se expresa como: u(t) = Kc e(t), donde u(t) (o MV)
es la señal de salida del controlador, Kc es la ganancia proporcional del controlador y
e(t) es el error de desviación entre la señal deseada r(t) (o SP) y la variable controlada
5.3 Modos de Control PID 81

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): Márgenes de fase y de ganancia.
82 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: Márgenes de fase y de ganancia para el ejemplo 5.3.

y(t) (o PV). En muchos casos prácticos no se emplea Kc , 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 acción del control proporcional.
Es posible ajustar la cantidad de acción 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 acción proporcional está 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 está ubicado en el centro de la palanca. Observar
que es necesario que la señal de error, la entrada, haga un recorrido completo (desde
su valor mı́nimo hasta su valor máximo) para mover el EFC (la válvula automática de
control) desde su posición completamente abierta a completamente cerrada. En este
caso, la PB % es 100 % (rango completo) 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 teorı́a 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 máximo que se puede modificar. Por lo tanto, si el EFC es una válvula,
ésta nunca estará 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 83

izquierda del punto medio de la palanca (Fig. 5.12(c)), en donde un cambio de 50 %


en la entrada es suficiente para provocar un cambio de 100 % en la salida.

Error
... ## 
Abertura de válvula
Máx.
(0 /)(0/) èçèç èçèç
100%
"!"!" !
&% $&% $&% $
,+*-,+ *-,+ -,
50%

Mín.
Pivote '''  0%
(a) PB% = 100%

úôôúô ú
Error
 þýþýþüû þýþýþüû þýþýþüû þýþýþüû þýþýþüû êþýþýþüû êþýþýþïüû êîíì ï êî íì
Abertura de válvula

ýþýþýüûüûüû ýþýþýüûüûüû ýþýþýüûüûüû ýþýþýüûüûüû äãä ýþýþýüûüûüû ýþýþýüûüûüû ëýþýþýüûüûüû ëë


Máx. 100%

õõ þýüûüû þýüûüû þýüûüû þýüûüû þýüûüû þýüûüû þýüûüû óñò ðó ñò ð
ööùø÷ öùø÷ ùø Pivote
ééé
50%

Mín. 0%
(b) PB% = 200%

Error
        
 
 Abertura de válvula
Máx.
   åæ   åæ                
100%

                    
            ÿ

50%

Mín.
Pivote  ÿ ÿ 0%
(c) PB% = 50%

Fig. 5.12: Cambio en la PB % para modificar la acción 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 relación de cambios entre
la entrada y la salida:
∆u
U
Kc = ∆e
(5.13)
E
donde ∆e es el cambio en la señal de error, ∆u es cambio en la señal de control, U
es el rango máximo medible (o span) de la salida del controlador y E es el rango
de medición (o span) de la señal 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
controlador produjo un desplazamiento de ∆u = 3 mm en el vástago de la válvula
84 Control PID SISO

∆e Controlador ∆u
E Proporcional U

Fig. 5.13: Controlador tipo P (proporcional).

de control. Se sabe además que el desplazamiento máximo del vástago es de U = 40


mm y que el rango de medición de la variable del proceso controlado es de 100 o C a
500o C, lo cual significa que E = 500o C - 100o C = 400o C.

Solución.- La ganancia Kc del controlador para el punto de operación 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 acción proporcional que se emplea en un proceso depende de las
caracterı́sticas y variables propias de tal proceso. Por lo tanto, cada proceso va a
requerir una determinada BP %, dentro de la cual va a operar en la mejor forma.
En general podemos decir que si la BP es angosta (Kc suficientemente grande),
entonces un cambio pequeño en e(t) puede provocar que la señal u(t) haga oscilar
la salida y(t), volviendo inestable al sistema de control realimentado, tal como se
observa cuando la BP % es 48.8 (Kc = 2.05) en la Fig. 5.14. Por el contrario, una
BP muy ancha (Kc muy pequeña), 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 conclusión, una BP muy ancha
proporciona poca acción de control proporcional, mientras que cuando la BP es muy
angosta, la acción de control es muy grande.
En muchos casos, la acción proporcional de control es la causante del fenómeno
offset o ess (error en estado estable), el cual se traduce en una desviación permanente
entre las señales SP y PV. En la Fig. 5.14, las flechas con doble punta indican la
magnitud del offset para cada curva. Notar que el SP es de valor uno. 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 ÓN PROPORCIONAL’);
xlabel(’TIEMPO’); ylabel(’AMPLITUD’); print -deps -f mcp
5.3 Modos de Control PID 85

ACCIÓN PROPORCIONAL

1.4

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

0.8

0.6

Kc=1.05; BP%=95.24
0.4

Kc=0.05; BP%=2000
0.2

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

Fig. 5.14: Modo de control proporcional.

5.3.3. Control Proporcional Integral


La acción de control integral, o control reset, es necesaria cuando la cantidad de
offset en un proceso sujeto al control proporcional es inaceptable. Esta acción 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 más Integral).
La Fig. 5.15, 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 ganancia integral y Ti es el tiempo reset o integral. Observar que
en todos los casos, el offset desaparece, y, conforme aumenta KI (disminuye Ti ), el
tiempo de estabilización, indicadas por flechas horizontales de dos puntas, decrece,
pero, el sobrenivel aumenta. Esto último es más notorio para el caso K I = 0.2.
% mcpi.m MODO DE CONTROL PI CON P CONSTANTE
clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(’s’);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6; % PROCESO
for Ti=3:6:15; KI=Kc/Ti; Gc=Kc+KI/s; PI=feedback(Gc*Gp,1); % CONTROL PI
step(PI,’k’,Tf); hold on; end; hold off; grid; xlabel(’TIEMPO’);
ylabel(’AMPLITUD’); title(’ACCIÓN PROPORCIONAL MÁS INTEGRAL’);
print -deps -f mcpi

5.3.4. Control Proporcional Derivativo


La acción de control derivativa, o control rate, emplea la razón de cambio de la
señal controlada y(t) de un proceso, para ajustar la salida u(t) del controlador. La
magnitud del ajuste está determinada en qué tan rápida es la desviación del error.
86 Control PID SISO

ACCIÓN PROPORCIONAL MÁS 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 más integral.

Esta acción de control se suma a menudo al control proporcional para corregir cambios
rápidos en la variable controlada. Ası́, este modo de control toma el nombre de PD
(Proporcional más Derivativo).
La Fig. 5.16, elaborada con el programa mcpd.m mostrado abajo, ilustra tres
curvas de respuesta del sistema de control realimentado, empleando un controlador
PD de la forma:
de(t)
u(t) = Kc e(t) + KD K D = K c Td
dt
donde KD es la ganancia derivativa y Td es el tiempo derivativo o rate. Observar que
para todos los casos, el offset es el mismo (y de gran magnitud), ası́ como también lo
es el tiempo de estabilización (flecha horizontal de doble punta). Notar también que
conforme aumenta KD (aumenta Td ), el sobrenivel también crece.
% mcpd.m MODO DE CONTROL PD CON P CONSTANTE
clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(’s’);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6; % PROCESO
for Td=0.1:0.5:1.1; KD=Kc*Td; Gc=Kc+KD*s; PD=feedback(Gc*Gp,1); % CONT PD
step(PD,’k’,Tf); hold on; end; hold off; grid; xlabel(’TIEMPO’);
ylabel(’AMPLITUD’); title(’ACCIÓN PROPORCIONAL MÁS DERIVATIVA’);
print -deps -f mcpd

5.3.5. Control PID


Hemos visto que sólo el control PI es capaz de estabilizar la salida del sistema de
control de prueba en su SP. Esto significa que los modos de control P y PD no son
adecuados para controlar el mencionado proceso de prueba dado en (5.12). Empleando
un control PID, las posibilidades de controlar la mayorı́a de los procesos industriales
se acrecienta, dado que se pueden emplear todas las combinaciones posibles que ofrece
este controlador: P, I, PI, PD y PID.
5.3 Modos de Control PID 87

ACCIÓN PROPORCIONAL MÁS 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 más derivativo.

La Tabla 5.1 muestra la tendencia que tienen las especificaciones de diseño cuando
se incrementan las ganancias Kc , Ki o Kd . Por otro lado, la Tabla 5.2 nos informa
acerca de la velocidad de respuesta o de la estabilidad del sistema, cuando se incre-
mentan los parámetros Kc , Ti o Td . Tales Tablas deben de ser aplicadas con cuidado,
debido a que en un sistema de control PID, algún cambio en un parámetro de diseño
puede afectar el comportamiento de los otros.

Tabla 5.1: Variación de los parámetros de diseño cuando se incrementa: K c , Ki o Kd

Parámetro Tiempo de Sobrenivel Ts : Tiempo de ess : Error en


de subida Tr (PO %) estabilización estado estable
Kc Disminuye Aumenta Cambio pequeño Disminuye
Ki Disminuye Aumenta Aumenta Elimina
Kd Cambio pequeño Disminuye Disminuye Cambio pequeño

Tabla 5.2: Variación de la velocidad y de la estabilidad debido a Kc , Ti o Td

Parámetro Velocidad Estabilidad


Kc aumenta aumenta se reduce
Ti aumenta disminuye aumenta
Td aumenta aumenta aumenta
88 Control PID SISO

5.4. Control de Dos Posiciones


La acción de control ON–OFF o de dos posiciones se implementa con un dispos-
itivo que posee dos condiciones de operación: completamente ON (ejemplos: válvula
100 % abierta, relé activado) y completamente OFF (ejemplos: válvula cerrada del
todo, relé desactivado). La Fig. 5.17(a) muestra un sistema de control con un con-
trolador de dos posiciones y una válvula ON–OFF (de apertura y cierre) como el
EFC.
En la Fig. 5.17(b), el controlador es el dispositivo no lineal denominado relé ide-
al. Supongamos que queremos mantener la temperatura y(t) de un producto cerca
del set point, controlando la entrada de vapor por medio de una válvula ON–OFF.
Claramente, cuando y(t) sobrepasa el set point, el controlador genera una señal U min
para que la válvula se cierre. En cambio, si y(t) se encuentra debajo del set point, el
controlador genera una señal Umax para que la válvula se abra. El efecto final es que
la salida controlada y(t) fluctúa alrededor del set point.
En la Fig. 5.17(c), el controlador es un relé con zona muerta de magnitud h 1 − h2
alrededor del set point. Notar que si la variable controlada y(t) se encuentra dentro de
la zona muerta, no ocurre ninguna acción de control. De esta manera la zona muerta
minimiza el desgaste y los daños debido a que se evita el continuo funcionamiento
cı́clico del EFC, por ejemplo, la válvula mostrada en la Fig. 5.17(b).

Ejemplo 5.5

Diseñar un controlador de dos posiciones sin zona muerta para controlar el siguiente
proceso:
Kp
Gp (s) = e−τ s
Ts + 1
Solución: La Fig. 5.18 muestra el diagrama Simulink del sistema de control (archivo
onoff1.mdl), mientras que la Fig. 5.19 muestra la salida y(t) controlada y la señal de
control u(t). Este gráfico se obtuvo ejecutando el archivo onoff1data.m, cuyo listado
se muestra abajo. El relay empleado posee los parámetros Umin = 0.8, Umax = 1.2,
Switch On Point = 0 y Switch Off Point = 0. La FT de la válvula se asume que es
una constante incluida en Kp .

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

5.5. Estructuras del Controlador PID


El algoritmo de control PID es el más usado en la actualidad por la industria. Se
estima que tal algoritmo se aplica en más del 90 % de las aplicaciones. Sin embargo, no
existe un estándar industrial de tal algoritmo. Existen varias estructuras del algoritmo
PID [11], algunas de las cuales se formulan a continuación.
5.5 Estructuras del Controlador PID 89

212
Set Point e(t) Control de dos
posiciones
u(t)

Válvula
1 Proceso y(t)

ON−OFF
Sistema de
Instrumentación
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

Válvula Válvula
Abierta Abierta
(Umax) (Umax)

t t
Válvula Válvula
Cerrada Cerrada
(Umin) (b) (Umin) (c)

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

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.

El controlador PID Ideal

El controlador PID ideal, denominado también controlador no interactivo, algo-


ritmo ISA (Instrument Society of America) o controlador paralelo no interactivo se
90 Control PID SISO

CONTROL ON−OFF 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 señal de control ON–OFF u(t) para el ejemplo 5.7.

formula como:
 Z 
1 t de
u = KC e + e dt + Td
Ti 0 dt
e = r−y (5.15)

donde u es la señal o fuerza de control, y es la salida controlada del proceso (per-


manentemente sujeta a medición), e es la señal de error, r es la señal de referencia
deseada o set :point, Kc es la ganancia proporcional, Ti es la constante de tiempo
integral o simplemente tiempo integral, y Td es la constante de tiempo derivativa, o
simplemente tiempo derivativo.
Cabe anotar que la forma de la señal de error empleada: e = r − y corresponde a
una acción de control inversa. Para una acción 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 también paralelo ideal, no interactivo,
independiente o independiente de la ganancia, es una variación 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 parámetros Kc , 1/Ti y Td del controlador PID paralelo dado en (5.17)
corresponden a los parámetros Kc , Kc /Ti y Kc Td del controlador PID ideal de (5.16).
Por consiguiente, (5.17) puede ser siempre reemplazado por (5.16).
5.5 Estructuras del Controlador PID 91

El controlador PID Ideal Filtrado

Muchas veces es necesario introducir un filtro para suavizar señales 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 acción derivativa, entonces T se puede formular pro-
porcional al tiempo derivativo como sigue:

1
T = α Td → ef (s) = e(s) (5.19)
1 + α Td s

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, denominada también no inter-


activo, posee la expresión:
!
u(s) 1 Td s
Gc (s) = = Kc 1+ + 3 ≤ N ≤ 10 (5.21)
e(s) Ti s 1 + TNd s

El Controlador PID Clásico

El controlador PID clásico mostrado se denomina también controlador en cascada,


interactivo, serie, interactuante, análogo o comercial y se describe como:
  !
u(s) 1 1 + Td s
Gc (s) = = Kc 1 + Td
3 ≤ N ≤ 10 (5.22)
e(s) Ti s 1+ N s

El Controlador PID Clásico Generalizado

El controlador PID clásico 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
92 Control PID SISO

El Controlador PID Dependiente


El controlador PID dependiente se denomina también controlador serie, interac-
tuante o de algoritmo análogo, y se describe como:
  
u(s) 0 1 0
Gc (s) = = Kc 1 + 0 1 + Td s (5.24)
e(s) Ti s

La expresión dada en (5.24) se puede reordenar como:


0 0
" 0 0
#  
0 Ti + T 1 T T
i d s 1
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 parámetros de sintonización se convierten en:


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

Para Td > TI /4, el controlador dependiente nunca será similar al controlador ideal,
ya que para esta condición los parámetros en (5.27) se vuelven imaginarios.

El Controlador PID Interactivo


El controlador interactivo posee la siguiente estructura (compararla con la estruc-
tura del controlador clásico):
  !
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
5.6 Métodos de Sintonización de Controladores PID 93

El Controlador PID con Dos Grados de Libertad


El controlador con dos grados de libertad, conocido también como controlador
m–PID o ISA–PID, 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. Métodos de Sintonización de Controladores PID


En un sistema de control realimentado, el controlador PID debe generar la señal
de control que actuando sobre el proceso, provoque que la salida de dicho proceso siga
a una señal de referencia, cumpliendo ciertas especificaciones de diseño previamente
establecidas. Este objetivo de control se logra determinando los valores adecuados
de los parámetros Kc , Ti y Td del controlador. En otras palabras, sintonizando los
parámetros del controlador. Existen diversos métodos de sintonización, algunos de
los cuales vamos a explorar e ilustrar con aplicaciones. La referencia [11] contiene un
lista exhaustiva de las reglas de sintonización de varias estructuras de controladores
PI y PID aplicados a diversos tipos de plantas.

5.6.1. Métodos Basados en la Curva de Reacción


La respuesta de un proceso a un escalón se denomina la curva de reacción. En
un proceso autoregulado, su curva de reacción tiende a un estado estacionario, que
también puede ser el estado cero. Ejemplos de tal procesos son:
Kp Kp
Gp (s) = Gp (s) =
Ts + 1 (T1 s + 1)(T2 s + 1)
En contraposición, los procesos no autoregulados poseen una curva de reacción no
estacionaria, dado que crecen continuamente en el tiempo. Ejemplos de dichos pro-
cesos son:
Kp Kp
Gp (s) = Gp (s) =
s(T s + 1) s(T1 s + 1)(T2 s + 1)

Método de la Constante de Tiempo


El método de la constante de tiempo del lazo de control se emplea para procesos
de primer orden dado por la ecuación (5.32). Los parámetros del controlador PID se
sintonizan con las relaciones siguientes:
1 1
Kc = Ti = T Td = Ti (5.31)
Kp 4
Ejemplo 5.6
Controlar el siguiente proceso empleando el método de la constante de tiempo:
Kp
Gp (s) = (5.32)
Ts + 1
donde Kp = 2 y T = 5. Para el control emplear la Fig. 5.1(a) con Gm (s) = 1.
Solución: Ver el archivo ct1.m. La salida controlada se muestra en la Fig. 5.20.
94 Control PID SISO

% ct1.m CONTROL DE UN PROCESO DE PRIMER ORDEN


clear all; close all; clc; Kp=2; T=5; s=tf(’s’); Gp=Kp/(T*s+1); % PROCESO
Kc=1/Kp; Ti=T; Td=T/4; Gc=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gc*Gp,1);
step(PID,’k’,50); grid; xlabel(’TIEMPO’); ylabel(’SALIDA’);
title(’CONTROL PID DE UN PROCESO DE PRIMER ORDEN’);print -deps -f ct1

CONTROL PID USANDO EL MÉTODO DE LA CONSTANTE DE TIEMPO

1.2

1.1

0.9

0.8
SALIDA

0.7

0.6

0.5

0.4

0.3

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

Fig. 5.20: Salida controlada del ejemplo 5.6.

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

Tabla 5.3: Reglas de sintonı́a para controlar procesos tipo G p (s) = Kp e−τ s .

Método Controlador Gc (s) Kc Ti Td


  
1 1+Td s 0.7
Curva de reacción K c 1 + Ti s Td Kp τ 2.66τ τ
1+ N s

Ejemplo 5.7

Controlar el siguiente proceso empleando la Tabla 5.3:

Gp (s) = Kp e−τ s

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


Solución: Usamos la Tabla 5.3 para calcular los parámetros del controlador PID con
N = 3. La Fig. 5.21 muestra el diagrama Simulink del sistema de control (archivo
hartree1.mdl), mientras que la Fig. 5.22 muestra la salida y(t) controlada y la señal
de control u(t). Este gráfico se obtuvo ejecutando el archivo hartree1graf.m, cuyo
listado se muestra abajo.
5.6 Métodos de Sintonización de Controladores PID 95

Notar en el diagrama Simulink que los bloques Kc y Gc1 (s) forman un controlador
PI. Observar también que los bloques rh, yh, uh y th son del tipo To Workspace
y sirven para almacenar datos y estructuras. Como estamos interesados en crear
vectores de datos para luego graficarlos, hacer doble click en cada bloque del diagrama
Simulink. En cada caso aparecerá una ventana, en la cual seleccionaremos Array en
Save Format.

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

rh1 th1 uh1 yh1


rh1 Clock th1 uh1 yh1

Fig. 5.21: Diagrama Simulink para el ejemplo 5.7.

CONTROL DEL PROCESO G(s)=Kp*exp(−tau*s)


1

0.8
SALIDA y(t)

0.6

0.4

0.2

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

0.8
CONTROL u(t)

0.6

0.4

0.2

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

Fig. 5.22: Salida controlada y señal de control 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 th1; load yh1; load uh1; load rh1;
subplot(211), plot(th1,rh1,th1,yh1), xlabel(’TIEMPO [s]’),
96 Control PID SISO

ylabel(’SALIDA y(t)’), title(’CONTROL DEL PROCESO G(s)=Kp*exp(-tau*s)’)


subplot(212), plot(th1,uh1), xlabel(’TIEMPO [s]’), ylabel(’CONTROL u(t)’)
print -f -deps hartree1graf, print -s -deps hartree1

Método de Ziegler y Nichols


El método de la curva de reacción de Ziegler y Nichols emplea, valga la redun-
dancia, la curva de reacción 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
La curva de reacción se emplea para obtener los parámetros K p , τ y T , que luego se
usan para calcular los parámetros Kc , Ti y Td del controlador PID ideal, empleando
la Tabla 5.4. Las fórmulas en dicha Tabla fueron el producto de intensivos trabajos
experimentales realizados por los investigadores Ziegler y Nichols en 1942 [12].

Tabla 5.4: Método de la curva de reacción de Ziegler y Nichols para determinar los
parámetros Kc , Ti y Td .

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

PD Kc (1 + Td s) 1.2/a ∞ 0.42τ

En algunos procesos, el tiempo muerto τ es bastante pequeño, por lo que su


cuantificación es dificultosa. Para estos casos, es conocido un método de cálculo que
consiste en localizar en la curva de reacción las tazas de cambio más altas, las cuales
ocurren en los tiempos t1 = τ + T /3 y t2 = τ + T . Estos tiempos corresponden al
28.3 % y 63.2 % del valor máximo de la curva de reacción, tal como se muestra en la
Fig. 5.23. Conociendo t1 y t2 , los parámetros T y τ se determinan de:
3
T = (t2 − t1 ) τ = t2 − T (5.34)
2

Ejemplo 5.8

Controlar el siguiente proceso de quinto orden empleando la técnica de la curva de


reacción de Ziegler y Nichols:
Kp
Gp (s) =
(s + Ta )(s + Tb )(s + Tc )(s + Td )(s + Te )
5.6 Métodos de Sintonización de Controladores PID 97

y
100%

63.2%

28.3%
t
t t2
1

Fig. 5.23: Tazas de cambio más altas de la curva de reacción.

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


Solución: La ganancia proporcional Kpp del proceso Gp (s) se obtiene en el estado
estacionario, es decir, cuando s = 0, resultando:
Kp
Kpp = = 5.33
Ta Tb Tc Td Te
Este resultado se puede comprobar en el primer gráfico de la Fig. 5.24, la cual muestra
la respuesta al escalón (la curva de reacción) del proceso con una ganancia en estado
estable de aproximadamente 5.5. De esta curva también se obtienen los parámetros
τ = 1.7 s y T = 6.7 – τ = 5 s del modelo del proceso:
Kpp −sτ
Gp (s) = e
Ts + 1
Con estos valores se calculan los parámetros de los controladores P, PI, PID y PD
empleando la Tabla 5.4. El segundo gráfico de la Fig. 5.24 ilustra la comparación entre
las salidas controladas. Observar que sólo los controladores PI y PID son capaces
de controlar el proceso sin postsintonı́a. Tales resultados se obtienen ejecutando el
programa zn1.m listado abajo.
% zn1.m CONTROL P, PI, PID Y PD DE UN PROCESO V ÍA LA CURVA DE REACCIÓN
clear all; close all; clc;
Kp=20; Ta=0.5; Tb=1; Tc=1.5; Td=2; Te=2.5; s=tf(’s’);
Gp=Kp/(s+Ta)/(s+Tb)/(s+Tc)/(s+Td)/(s+Te); % PROCESO
subplot(211); step(Gp,’k’); grid;
title(’RESPUESTA AL ESCALÓN’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
tau=1.7; T=6.7-tau; Kpp=5.5; a=Kpp*tau/T; % DE LA CURVA DE REACCI ÓN
Kc=1/a; Gc1=Kc; P=feedback(Gp*Gc1,1); % CONTROL P
Kc=0.9/a; Ti=10*tau/3; Gc2=Kc*(1+1/Ti/s); PI=feedback(Gp*Gc2,1); % PI
Kc=1.2/a; Ti=2*tau; Td=0.5*tau;
Gc3=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc3,1); % CONTROL PID
Kc=1.2/a; Td=0.42*tau; Gc4=Kc*(1+Td*s); PD=feedback(Gp*Gc4,1); % PD
subplot(212); step(P,’k’,PI,’k’,PID,’k’,PD,’k’); grid; xlabel(’TIEMPO’);
title(’SALIDAS CONTROLADAS’); ylabel(’SALIDA’); print -deps -f zn1

Ejemplo 5.9

Controlar el proceso nivel en un tanque de almacenamiento empleando la técnica de


la curva de reacción de Ziegler y Nichols. El diagrama de bloques del proceso nivel,
98 Control PID SISO

RESPUESTA AL ESCALÓN
AMPLITUD 6

4
Kpp
2

0
0 5 10 15
TIEMPO (sec)

SALIDAS CONTROLADAS

2
PID
1.5
SALIDA

PI
1

0.5

P PD
0
0 20 40 60 80 100 120
TIEMPO (sec)

Fig. 5.24: Respuestas al escalón (gráfico superior) y respuestas controladas (gráfico


inferior) correspondientes al ejemplo 5.8.

extraı́do de [13], se muestra en la Fig. 5.25(a), donde las funciones de transferencia


del actuador hidráulico, del tanque y del flotador se formulan, respectivamente:
10 3.15 1
GH (s) = GT (s) = GF (s) = 1 τh = 1
s+1 30s + 1 9 s2 + 31 s + 1

Para propósitos de comparación emplear los controladores ideal dado en (5.35), no


interactivo mostrado en (5.36) y mejorado (ecuación (5.37)).
 
u(s) 1 Kc
P ID(s) = = Kc 1 + + Td s = K c + + K c Td s (5.35)
e(s) Ti s Ti s
!
u(s) 1 Td s
P I D(s) = = Kc 1 + + 3 ≤ N ≤ 10 (5.36)
e(s) Ti s 1 + TNd s
  !
1 Td s
P I Dy(s) = Kc 1 + e(s) − Kc y(s) (5.37)
Ti s 1 + TNd s

Los controles PID y PI D emplean la Fig. 5.1(a), mientras que el control PI Dy


usa la Fig. 5.1(b). En el proceso que nos ocupa, el tiempo muerto τ se calcula de la
relación τ = d/v, donde v es la velocidad del flujo que ingresa al tanque y d es es la
longitud de tuberı́a entre la válvula de control de flujo y el punto de medición.
5.6 Métodos de Sintonización de Controladores PID 99

Controlador Referencia
Actuador (set point)
v
d

Flotador

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

ym GF (s)

(a)
Flotador

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

ym GF (s)
(b) Flotador

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

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

Solución: El primer gráfico de la Fig. 5.26 muestra la respuesta al escalón (la curva
de reacción) del proceso, de la cual se obtienen τ = 1 y T = 30 − τ . Con estos
valores se calculan los parámetros del controlador PID empleando la Tabla 5.4. El
segundo gráfico de la Fig. 5.26 ilustra la comparación entre las salidas controladas.
Tales resultados se obtienen ejecutando el programa zn1a.m listado abajo.

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


clear all; close all; clc; s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1);
GF=1/(s^2/9+s/3+1); tauh=1; [num,den]=pade(tauh,3); Gtau=num/den;
Gpo=GH*Gtau*GT*GF; % Gpo: PROCESO A LAZO ABIERTO INCLUYENDO GF (FLOTADOR)
subplot(211); step(Gpo,’k’); grid % GENERA LA CURVA DE REACCI ÓN
title(’RESPUESTA AL ESCALÓN’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
tau=1; T=30-tau; % TOMADOS DE LA CURVA DE REACCI ÓN
Gp=GH*Gtau*GT; Kp=31.5; % Kp ES EL PRODUCTO DE 10*31.5
a=Kp*tau/T; Kc=1.2/a; Ti=2*tau; Td=0.5*tau; N=10; % PAR ÁMETROS PID
100 Control PID SISO

RESPUESTA AL ESCALÓN

20

15
AMPLITUD

10

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

SALIDAS CONTROLADAS

2
PI__Dy
1.5
SALIDA

0.5
PID y PI__D
0
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)

Fig. 5.26: Curva de reacción del proceso nivel y respuestas controladas para el ejemplo
5.9 (gráfico inferior).

Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,GF); % CONTROL PID


Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,GF); % CONT PI_D
Gci=Kc*(1+1/Ti/s); Gcd=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; ylabel(’SALIDA’);
title(’SALIDAS CONTROLADAS’); xlabel(’TIEMPO’); print -deps -f zn1a

Método de Chien–Hrones–Reswick
El método de Chien–Hrones–Reswick (CHR) [14] ilustrado en la Fig. 5.27(a), se
aplica a procesos que aceptan un modelo dinámico como el de la ecuación (5.33). Este
método propone un conjunto de reglas de sintonización para los casos siguientes (ver
Tabla 5.5):

1. Respuesta aperiódica sin sobrenivel en la señal de salida y controlada a cambios


tipo escalón 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 aperiódica sin sobrenivel en la salida yd controlada a cambios tipo


escalón del disturbio d, sin presencia de la entrada r, y para un coeficiente de
5.6 Métodos de Sintonización de Controladores PID 101

amortiguamiento ζ > 0.8, tal como se muestra en la Fig. 5.27(c). Observar que
en esta situación existe rechazo al disturbio, dado que yd tiende a cero.

3. Respuesta periódica con sobrenivel del 20 % en la salida controlada y a cambios


tipo escalón 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 aperiódica con sobrenivel del 20 % en la salida yd controlada a cam-


bios tipo escalón del disturbio d, sin presencia de la señal 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 situación también existe rechazo al disturbio, ya que y d
tiende a cero.

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: Método de Chien–Hrones–Reswick.

Ejemplo 5.10

Controlar el proceso nivel del ejemplo 5.9 empleando el método de Chien–Hrones–


Reswick para el caso de rechazo al disturbio (r=0 y d 6= 0) sin presencia de oscila-
ciones en la respuesta del proceso (Fig. 5.27(c)). Para propósitos de comparación usar
los controladores PID(s) (ecuación (5.35)), PI D(s) (ecuación (5.36)) y PI Dy(s)
(ecuación (5.37)), empleando la estructura de la Fig. 5.28(b) para los casos PID y
PI D, y la de la Fig. 5.28(c) para el caso PI Dy.
Solución: Los parámetros τ = 1 y T = 30 − τ se obtuvieron con el primer gráfico de
la Fig. 5.26. Con estos valores se calculan los parámetros del controlador empleando
la Tabla 5.5 (caso (c), controlador PID). La Fig. 5.28 ilustra la comparación entre
102 Control PID SISO

Tabla 5.5: Método de Chien–Hrones–Reswick 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τ

las salidas controladas, las cuales se obtienen ejecutando el programa chrd.m listado
abajo.
% chrd.m CONTROL PID, PI_D Y PI_Dy POR EL MÉTODO CHR (RECHAZO AL DISTURBIO)
clear all; close all; clc;
s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1);
[num,den]=pade(1,3); Gtau=num/den; Gp=GH*Gtau*GT; Kp=31.5; % Kp=10*31.5
tau=2; T=30-tau; % TOMADOS DE LA CURVA DE REACCI ÓN
a=Kp*tau/T; Kc=0.95/a; Ti=2.4*tau; Td=0.42*tau; N=10; % PAR ÁMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp,Gc1*GF); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp,Gc2*GF); % CONTR PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); PI_Dy=feedback(Gp,Gci*GF+Gcd);
step(PID,’k’,PI_D,’k’,PI_Dy,’k’); grid; title(’SALIDAS CONTROLADAS’);
xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f chrd

Método de Cohen–Coon
El método de sintonización desarrollado por los investigadores G.H. Cohen y G.A.
Coon [15] también se aplica a procesos que aceptan un modelo dinámico como el de
la ecuación (5.33). Las fórmulas de sintonización se muestran en la Tabla 5.6, donde:
Kp τ τ
a= L= (5.38)
T τ +T
Notar que las fórmulas de la Tabla 5.6 se asemejan a las de la Tabla 5.4 cuando L es
suficientemente pequeño.

Ejemplo 5.11

Se pide controlar el proceso nivel descrito en el ejemplo 5.9 empleando el método de


Cohen–Coon. El diagrama de bloques del sistema nivel se muestra en la Fig. 5.25(a).
5.6 Métodos de Sintonización de Controladores PID 103

Disturbio d
Actuador Controlador r=0
v
d

(a) Flotador

d e y
G H(s) e −sτ GT (s)
Actuador Tiempo muerto Tanque
u
GC (s) GF (s)
Controlador Flotador
(b)

u y
d G H(s) e −sτ GT (s)
Actuador Tanque

Control D G Cd(s)

GF (s)
Control PI G C i(s)
(c)

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

Tabla 5.6: Método de Cohen y Coon para hallar los parámetros K C , TI y TD .

100
Tipo Controlador GC (s) Kc = BP Ti Td
 
1 0.35L
P Kc a 1 + 1−L ∞ 0
   
1 0.9 0.92L 3.3−3L
PI Kc 1 + Ti s a 1 + 1−L 1+1.2L τ 0
 
1.24 0.13L 0.27−0.36L
PD Kc (1 + Td s) a 1 + 1−L ∞ 1−0.87L τ
   
1.35 0.18L 2.5−2L 0.37−0.37L
PID Kc 1 + T1i s + Td s a 1 + 1−L 1−0.39L τ 1−0.8L τ

Para propósitos de comparación emplear los controladores PID, PI D y PI Dy. Para


el control PID y PI D emplear el diagrama de bloques de la Fig. 5.25(b), mientras
que para el control PI–Dy usar el diagrama de bloques de la Fig. 5.25(c).
104 Control PID SISO

SALIDAS CONTROLADAS

1.6

1.4

1.2

0.8
SALIDA

0.6
PI__Dy
0.4
PID y PI__D
0.2

−0.2

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

Fig. 5.29: Rechazo al disturbio empleando controladores tipo PID, PI–D y PI–Dy.

Solución: Los parámetros τ = 1 y T = 30 − τ se obtuvieron del primer gráfico de la


Fig. 5.26. Con estos valores se calculan los parámetros del controlador empleando la
Tabla 5.6. La Fig. 5.30 muestra las salidas controladas.

SALIDAS CONTROLADAS

1.8

1.6

1.4

1.2
PI__Dy
SALIDA

0.8
PID y PI__D
0.6

0.4

0.2

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

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


y el método de Cohen-Coon.

% cohen.m CONTROL PID, PI_D Y PI_Dy EMPLEANDO EL M ÉTODO DE COHEN-COON


clear all; close all; clc;
s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1);
[num,den]=pade(1,3); Gtau=num/den; Gp=GH*Gtau*GT; Kp=31.5; % K=10*31.5
tau=1; T=30-tau; % TOMADOS DE LA CURVA DE REACCI ÓN
a=Kp*tau/T; L=tau/(tau+T); Kc=1.35/a*(1+0.18*L/(1-L));
Ti=(2.5-2*L)*tau/(1-0.39*L); Td=(0.37-0.37*L)*tau/(1-0.8*L); N=10; % PID
5.6 Métodos de Sintonización de Controladores PID 105

Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,GF); % CONTROL PID


Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,GF); % CONT PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gpcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gpcd,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. Métodos a Lazo Cerrado


Los métodos de sintonización que emplean la curva de reacción del proceso, se
diseñan a lazo abierto. En cambio, otros métodos de sintonización emplean ciertas
caracterı́sticas que sólo se presentan cuando el proceso está operando a lazo cerrado.
Algunos de estos métodos se describen a continuación.

Método de Samal
El método de sintonización de parámetros de Samal [16] está diseñado para re-
chazar los disturbios que actúan principalmente en la señal de control, tal como se
muestra en la Fig. 5.31(a), donde el rechazo al disturbio se manifiesta porque la señal
de salida y controlada tiende a cero para un tiempo de estabilización T s y un so-
brenivel de magnitud M . El proceso al cual se aplican los parámetros del controlador
PID, poseen un modelo de FT de la forma:

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

donde los parámetros 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 escalón, mientras que la Fig. 5.31(e) se emplea para determinar T s .

Ejemplo 5.12

Controlar el siguiente proceso empleando el método 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 propósitos de comparación emplear los
controladores PID ideal (ecuación (5.35)), no interactivo (ecuación (5.36)) y mejorado
(ecuación (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).
106 Control PID SISO

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 I 4 4
P D
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: Método de Samal para hallar los parámetros de un controlador PID.

Solución: El gráfico superior de la Fig. 5.32 muestra la respuesta al escalón (la curva
de reacción) del proceso. De esta curva se obtienen los parámetros τ = 0.8 s y T =
3.9 – τ = 3.1 s. Empleando la Tabla 2.6 se extraen los valores de n = 3 y T n = 0.270.
De la Fig. 5.31(b) se determinan Vo = 2 y Kc = V o/Kp , mientras que de la Fig.
5.31(c) se calculan Ti = 1.8Tn y Td = 0.7Tn . El gráfico inferior de la Fig. 5.32 ilustra
la comparación 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 ÉTODO DE SAMAL
clear all; close all; clc; Kp=10; Tb=1; Tc=1.5; Td=2; Te=2.5; s=tf(’s’);
Gp=Kp/(s+Tb)/(s+Tc)/(s+Td)/(s+Te); subplot(211); step(Gp,’k’); grid;
5.6 Métodos de Sintonización de Controladores PID 107

RESPUESTA AL ESCALÓN

1.5

AMPLITUD 1

0.5

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

SALIDAS CONTROLADAS

1.5
PI__Dy
SALIDA

0.5
PID y PI__D
0
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (sec)

Fig. 5.32: Respuesta al escalón (Fig. inferior) y respuestas controladas (Fig. superior)
empleando controladores tipo PID, PI D y PI Dy y el método de Samal.

title(’RESPUESTA AL ESCALÓN’); 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 ÚN SAMAL
Tn=0.216; Vo=2; Kc=Vo/Kp; Ti=1.8*Tn; Td=0.7*Tn; N=10;% PAR ÁMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); % CONTR PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gpcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gpcd,1); % CONTROL PI_Dy
subplot(212); step(PID,’k’,PI_D,’k’,PI_Dy,’k’); grid;ylabel(’SALIDA’);
title(’SALIDAS CONTROLADAS’); xlabel(’TIEMPO’); print -deps -f samal1

Método de la Oscilación Crı́tica de Ziegler y Nichols


El método de la oscilación crı́tica de Ziegler y Nichols [12] emplea la configuración
de un sistema de control a lazo cerrado y se puede aplicar tanto a sistemas que son
modelados con la ecuación (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 parámetros Kc , Ti y Td del controlador PID se pueden obtener a partir de tal
respuesta oscilatoria, empleando el siguiente procedimiento:

Fijar los parámetros Ti y Td en ∞ y 0, respectivamente. Incrementar poco a


poco el parámetro Kc hasta obtener una respuesta en forma de oscilaciones
sostenidas (ver la Fig. 5.33).
En dicha respuesta, medir el perı́odo de oscilación crı́tico Tcrit y anotar la
108 Control PID SISO

ganancia crı́tica Kcrit (o ganancia lı́mite) para la cual se obtuvo dicho perı́odo.
Los parámetros Kc , Ti y Td se calculan luego usando la Tabla 5.7.

Es necesario hacer notar que la magnitud de la oscilación sostenida, lo que es equi-


valente a decir la magnitud de variación de la variable de salida, debe ser mantenida
la más pequeña 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: Método de la oscilación crı́tica de Ziegler y Nichols.

Tabla 5.7: Método de la oscilación crı́tica de Ziegler y Nichols para determinar los
parámetros Kc , Ti y Td .

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

Ejemplo 5.13

Controlar el proceso nivel del problema 5.9 empleando la técnica de las oscilación
crı́tica de Ziegler y Nichols. Para propósitos de comparación emplear los controladores
PID ideal (ecuación (5.35)), no interactivo (ecuación (5.36)) y mejorado (ecuación
(5.29)). Para el control PID y PI D emplear el diagrama de bloques de la Fig. 5.1(b),
mientras que para el control PI Dy usar el diagrama de bloques de la Fig. 5.1(c).

Solución: El primer gráfico de la Fig. 5.34 muestra la respuesta al escalón a manera


de una oscilación sostenida que se obtiene empleando un controlador proporcional
de ganancia GC (s) = Kcrit = 0.85 en la Fig. 5.25(b). Notar que la oscilación posee
un perı́odo igual a Tcrit = 8 s. Con estos valores se calculan los parámetros del
controlador PID empleando la Tabla 5.7. El segundo gráfico de la Fig. 5.34 ilustra la
comparación 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 ÓN CRÍTICA
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);
5.6 Métodos de Sintonización de Controladores PID 109

OSCILACIÓN CRÍTICA

2
Tcrit
1.5
AMPLITUD

0.5

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

SALIDAS CONTROLADAS

2
PI__Dy
1.5
SALIDA

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

Fig. 5.34: Oscilaciones sostenidas (primer gráfico) para Kp = Kcrit y respuestas


controladas (gráfico inferior) para el ejemplo 5.13.

[num,den]=pade(1,3); Gtau=num/den; Gp=GH*Gtau*GT;


Kcrit=3.95; G_c0=feedback(Kcrit*Gp,GF); subplot(211); step(G_c0,’k’,20);
grid; title(’OSCILACIÓN CRÍTICA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
Tcrit=4.25; % TOMADOS DE LA OSCILACIÓN SOSTENIDA
Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PAR ÁMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,GF); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,GF); % CONT 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; ylabel(’SALIDA’);
title(’SALIDAS CONTROLADAS’); xlabel(’TIEMPO’); print -deps -f zn2

Ejemplo 5.14

Controlar un proceso no autoregulado que posee la siguiente FT, empleando la técnica


de las oscilaciones sostenidas de Ziegler y Nichols.
1
Gp (s) =
s(s + 1)4
Para propósitos de comparación emplear los controladores PID ideal, PI D no inter-
activo y PI Dy mejorado.
110 Control PID SISO

Solución: El primer gráfico de la Fig. 5.35 muestra la respuesta al escalón a manera


de una oscilación sostenida que se obtiene empleando un controlador proporcional
de ganancia GC (s) = Kcrit = 0.569. Notar que la oscilación posee un perı́odo igual
a τcrit = 15 s. Con estos valores se calculan los parámetros del controlador PID
empleando la Tabla 5.7. El segundo gráfico de la Fig. 5.35 ilustra la comparación
entre las salidas controladas. Tales resultados se obtienen ejecutando el programa
zn2a.m listado abajo.

OSCILACIÓN CRÍTICA

Tcrit
1.5
AMPLITUD

0.5

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

SALIDAS CONTROLADAS

1.5
SALIDA

PI__Dy
1
PID y PI__D
0.5

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

Fig. 5.35: Oscilaciones sostenidas (primer gráfico) para Kp = Kcrit y respuestas


controladas (gráfico inferior) para el ejemplo 5.14.

% zn2a.m CONTROL PID, PI_D Y PI_Dy MEDIANTE LA OSCILACI ÓN CRÍTICA


clear all; close all; clc; s=tf(’s’); Gp=1/(s*(s+1)^4);
Kcrit=0.569; G_c0=feedback(Kcrit*Gp,1); subplot(211); step(G_c0,’k’,50);
grid; title(’OSCILACIÓN CRÍTICA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
Tcrit=15; % TOMADO DE LA OSCILACIÓN SOSTENIDA
Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PAR ÁMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); % CONTR PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gpcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gpcd,1); % CONTROL PI_Dy
subplot(212); step(PID,’k’,PI_D,’k’,PI_Dy,’k’); grid; ylabel(’SALIDA’);
title(’SALIDAS CONTROLADAS’); xlabel(’TIEMPO’); print -deps -f zn2a
5.6 Métodos de Sintonización de Controladores PID 111

Método de la Oscilación Crı́tica de Yu


Las siguientes reglas de sintonización atribuidas a Yu (ver referencias de [11]),
se aplican al control de procesos que poseen una FT de la forma Gp (s) = Kp e−τ s .
El control se realiza empleando la configuración de la Fig. 5.1(a). El controlador
empleado es el denominado clásico 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.3τcrit Td = 0

Ejemplo 5.15

Controlar el proceso Gp (s) = 2e−2s empleando la técnica de la oscilación crı́tica y las


reglas de sintonización arriba formuladas.
Solución: El primer gráfico de la Fig. 5.36 muestra la respuesta al escalón a manera
de una oscilación sostenida que se obtiene empleando un controlador proporcional de
ganancia GC (s) = Kcrit = 0.45 usando la configuración de la Fig. 5.33. Notar que
la oscilación posee un perı́odo igual a τcrit = 4 s. Con estos valores se calculan los
parámetros del controlador PID empleando:

Kc = 0.3Kcrit Ti = 2.3τcrit Td = 0

El segundo gráfico de la Fig. 5.36 ilustra la salidas controlada. Tales resultados se


obtienen ejecutando el programa yu1.m listado abajo.
% yu1.m CONTROL PI EMPLEANDO LAS REGLAS DE YU CON LA OSCILACI ÓN CRÍTICA
clear all; close all; clc; s=tf(’s’); Kp=2; af1=1; af2=1; bf0=1; bf1=1;
bf2=1; [num,den]=pade(2,3); Gtau=tf(num,den); Gp=Kp*Gtau; % Gp: PROCESO
Kcrit=0.45; G_c0=feedback(Kcrit*Gp,1); subplot(211); step(G_c0,’k’);
grid; title(’OSCILACIÓN CRÍTICA’); xlabel(’TIEMPO’);ylabel(’AMPLITUD’);
Tcrit=4; % TOMADO DE LA OSCILACIÓN CRÍTICA
Kc=0.3*Kcrit; Ti=2.3*Tcrit; Td=0; N=3; % PAR ÁMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N));
Gc2=(bf0+bf1*s+bf2*s^2)/(1+af1*s+af2*s^2); Gc=series(Gc1,Gc2);
PID=feedback(Gp*Gc,1); subplot(212); step(PID,’k’); xlabel(’TIEMPO’);
grid; title(’SALIDA CONTROLADA’); ylabel(’SALIDA’); print -deps -f yu1

Método del Relé


El método de la oscilación crı́tica a lazo cerrado puede ser arriesgado, ya que
en casos reales fuerza a la planta a operar cerca de la inestabilidad. En la práctica,
también, resulta muy dificultoso mantener la amplitud constante. Una variante de este
método se muestra en la Fig. 5.37 [17], en donde se emplea un relé para conseguir una
oscilación sostenida de perı́odo Tcrit pero de pequeña amplitud a, para una ganancia
Kcrit = 4L/(π a), donde L es la ganancia del relé. Teniendo como datos Tcrit y Kcrit
se puede ahora usar la Tabla 5.7.
112 Control PID SISO

OSCILACIÓN CRÍTICA

AMPLITUD
0
Tcrit
−5

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

SALIDA CONTROLADA

1
SALIDA

0.5

−0.5
0 50 100 150 200 250
TIEMPO (sec)

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

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

Fig. 5.37: Diagrama de bloques del proceso realimentado empleado en el método de


sintonización mediante relé.

Ejemplo 5.16

Controlar el siguiente proceso no autoregulado empleando la técnica del relé:

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

Para propósitos de comparación emplear los controladores PID, PI D y PI Dy. Tam-


bién determinar las ecuaciones de estado del sistema.

Solución: La primera parte del programa relay.m listado abajo, el cual usa el dia-
grama de bloques de la Fig. 5.37, permite obtener el primer y segundo gráfico de la
Fig. 5.39 para una magnitud del relé de L = 0.1. El diagrama de bloques de la Fig.
5.6 Métodos de Sintonización de Controladores PID 113

5.38 se emplea para determinar las cinco ecuaciones de estado del proceso:

ẋ1 = −x1 + x2 ẋ2 = −x2 + x3

ẋ3 = −x3 + x4 ẋ4 = −x4 + x5 ẋ5 = u


De la oscilación sostenida mostrada en el primer gráfico de la Fig. 5.39 se desprenden
los parámetros: a = 0.25 y Tcrit = 15, mientras que el segundo gráfico ilustra la ley
de control u = ±L. Conocido los parámetros a, Tcrit y L, ahora se puede calcular la
ganancia Kcrit y los parámetros PID empleando la Tabla 5.7. El tercer gráfico de la
Fig. 5.39 muestra la comparación entre las salidas controladas. Tales resultados se
obtienen ejecutando la segunda parte del programa relay.m listado abajo.

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 proceso mostrando sus variables de estado.

2
SALIDA y

Tcrit
1

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

+L
0
−L

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

2
SALIDA

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

1
Fig. 5.39: Respuesta de Gp (s) = s(s+1) 4 al escalón empleando un relé (gráfico supe-

rior), ley de control u (gráfico medio) y respuestas estabilizadas (gráfico inferior).


114 Control PID SISO

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


clear all; close all; clc;
% PROGRAMA PARA PRODUCIR LA OSCILACIÓN SOSTENIDA
x1=0; x2=0; x3=0; x4=0; x5=0; T = 0.01; M = 8000; L=0.1;
for k = 1:M; r=1; R(k)=r; e=r-x1; % REFERENCIA ESCAL ÓN r Y ERROR e
if(e>=0), u=L; else u=-L; end % FUNCIÓN RELÉ
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,’k’,ejet,X1,’k’); grid
ylabel(’SALIDA y’); xlabel(’TIEMPO’);
subplot(312); plot(ejet,U,’k’);grid; ylabel(’CONTROL u’);xlabel(’TIEMPO’)
% PROGRAMA PARA CONTROLAR EL PROCESO Gp(S)
s=tf(’s’); Gp=1/(s*(s+1)^4); % PROCESO
a=0.25; Tcrit=15; Kcrit=4*L/(pi*a); % TOMADO DE LA OSCILACI ÓN SOSTENIDA
KC=0.6*Kcrit; TI=0.5*Tcrit; TD=0.125*Tcrit; N=10; % PAR ÁMETROS PID
Gc1=KC*(1+1/TI/s+TD*s); PID=feedback(Gp*Gc1,1); % CONTROL PID
Gc2=KC*(1+1/TI/s+TD*s/(1+TD*s/N)); PI_D=feedback(Gp*Gc2,1); % CONTR PI_D
Gci=KC*(1+1/TI/s); Gcd=Kc*TD*s/(1+TD*s/N); Gpcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gpcd,1); % CONTROL PI-Dy
subplot(313); step(PID,’k’,PI_D,’k’,PI_Dy,’k’); grid; ylabel(’SALIDA’);
title(’SALIDAS CONTROLADAS’); xlabel(’TIEMPO’); print -deps -f relay

Método de las Oscilaciones Amortiguadas


El método de las oscilaciones amortiguadas propuesto en [18], se conoce también
como el método TDQR (Tuning for Quarter Decay Response) o sintonización para
un decaimiento de un cuarto de la respuesta. Este método se aplica a procesos que
pueden ser modelados en la forma dada en la ecuación (5.33) y también a otros
procesos no autoregulados. En ambos casos, la respuesta al escalón a lazo cerrado,
debe ser de modo tal que el segundo máximo sea un cuarto del primer máximo, 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 perı́odo correspondiente. Los parámetros
de sintonización del controlador se obtienen luego de la Tabla 5.8.

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

A/4
t t

Fig. 5.40: Método de las oscilaciones amortiguadas de Harriot.


Ejemplo 5.17

Controlar el proceso nivel del ejemplo 5.9 empleando la técnica de las oscilaciones
amortiguadas de Harriot. Para propósitos de comparación emplear los controladores
PID (ecuación (5.35)), PI D (ecuación (5.36)) y PI Dy (ecuación (5.37)), empleando
las estructuras (a) y (b) de la Fig. 5.1.
5.6 Métodos de Sintonización de Controladores PID 115

Tabla 5.8: Método de las oscilaciones amortiguadas de Harriot para hallar los
parámetros Kc , Ti y Td .

100
Tipo Controlador Gc (s) Kc = BP Ti Td
P Kc Ko ∞ 0
 
PI Kc 1 + T1i s Ko To /1.5 0
 
PID Kc 1 + T1i s + Td s Ko To /1.5 To /6

Solución: El primer gráfico de la Fig. 5.41 muestra la respuesta al escalón en donde


el segundo máximo de la oscilación es un cuarto del primer máximo, la cual se obtiene
empleando un controlador proporcional de ganancia GC (s) = Ko = 0.55 en la Fig.
5.1(a). Notar que la oscilación posee un perı́odo igual a To = 10 s. Con estos valores
se calculan los parámetros del controlador PID empleando la Tabla 5.8. El segundo
gráfico de la Fig. 5.41 ilustra la comparación entre las salidas controladas. Tales
resultados se obtienen ejecutando el programa harriot.m listado abajo.

OSCILACIÓN SOSTENIDA

1.5

1
AMPLITUD

A
0.5
A/4
0

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

SALIDAS CONTROLADAS

2
PI__Dy
SALIDA

0 PID PI__D

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

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


controladas (gráfico inferior) para el ejemplo 5.17.

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


116 Control PID SISO

clear all; close all; clc;


s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1);
[num,den]=pade(1,3); Gtau=tf(num,den); % TIEMPO MUERTO exp(-tau*s)
Gp=GH*Gtau*GT; % Gp: PROCESO, GH: FLOTADOR
Ko=0.55; G_c0=feedback(Ko*Gp,GF); subplot(211); step(G_c0,’k’,20); grid
title(’OSCILACIÓN SOSTENIDA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
To=10; Kc = Ko; Ti=To/1.5; Td=To/6; N=10; % PAR ÁMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,GF); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,GF); % CONTR PI_D
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gpcd=feedback(Gp,Gcd);
PI_Dy=feedback(Gci*Gpcd,GF); % CONTROL PI_Dy
subplot(212); step(PID,’k’,PI_D,’k’,PI_Dy,’k’); xlabel(’TIEMPO’); grid
title(’SALIDAS CONTROLADAS’); ylabel(’SALIDA’); print -deps -f harriot
Ejemplo 5.18
Controlar un proceso no autoregulado que posee la siguiente FT, empleando la técnica
de las oscilaciones amortiguadas de Harriot.
1
Gp (s) =
s(s + 1)4
Para comparación emplear los controladores PID (ecuación (5.35)), PI D (ecuación
(5.36)) y PI Dy (ecuación (5.37)), usando las estructuras (a) y (b) de la Fig. 5.1.
Solución: El primer gráfico de la Fig. 5.42 muestra la respuesta al escalón como
una oscilación sostenida que se obtiene vı́a un controlador proporcional de ganancia
GC (s) = Kcrit = 0.569. Notar que la oscilación posee un perı́odo de τcrit = 15 s. Con
estos valores se calculan los parámetros del controlador PID empleando la Tabla 5.7.
El segundo gráfico de la Fig. 5.42 ilustra la comparación 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 ÓN 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,’k’,50); grid;
title(’OSCILACIÓN AMORTIGUADA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
To=20; % TOMADO DE LA OSCILACIÓN AMORTIGUADA
Kc=Ko; Ti=To/1.5; Td=To/6; N=10; % PARÁMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1); % CONTROL PID
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); %CONTROL PI_D
subplot(212); step(PID,’k’,PI_D,’k’); grid;
title(’SALIDAS CONTROLADAS’); xlabel(’TIEMPO’); ylabel(’SALIDA’);
print -deps -f harriota

5.6.3. Métodos Basados en la Minimización de un Índice


En el sistema realimentado de la Fig. 5.43, e(s) = r(s) − y(s) es el error del
sistema, r(s) o SP es la señal deseada, e y(s) o PV es la salida controlada. Notar que
G(s) es una FT que incluye el controlador, el EFC y el proceso, mientras que H(s)
comprende el sensor y el transmisor. De la Fig. 5.43 se deduce:
1
e(s) = r(s)−y(s) = r(s)−H(s)G(s)e(s); e(s) = r(s); e(t) = L−1 [e(s)]
1 + GH(s)
(5.40)
5.6 Métodos de Sintonización de Controladores PID 117

OSCILACIÓN AMORTIGUADA

1.5
AMPLITUD

1
A

0.5 A/4

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

SALIDAS CONTROLADAS

1.5
SALIDA

PID PI__D
0.5

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

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


troladas (gráfico inferior) para el ejemplo 5.18.

La idea principal en los métodos de sintonización basados en criterios óptimos, consiste

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


G(s)

H(s)

Fig. 5.43: Sistema de control SISO realimentado.

en minimizar un determinado ı́ndice de rendimiento, en el cual estén involucrados tan-


to el tiempo continuo t como el error e(t). Los ı́ndices de rendimiento más usados son:
ISE (Integral Squared Error), IAE (Integral Absolute Error), IT AE (Integral Time
Absolute Error), IST E (Integral Square Time weighted Error) e IST 2 E (Integral
Square Time–Square weighted Error). Las fórmulas de dichos ı́ndices son:
Z ∞ Z ∞ Z ∞
2
ISE = e (t)dt IAE = |e(t)|dt IT AE = t|e(t)|dt
0 0 0

Z ∞ Z ∞
2 2
IST E = t e(t)dt IST E = t2 e2 (t)dt (5.41)
0 0
118 Control PID SISO

donde el error e(t) puede ser de la forma dada en (5.40). Una vez formulado el ı́ndice
de rendimiento, por ejemplo ISE, el siguiente paso consiste en minimizar dicho ı́ndice:

∂ISE
=0
∂z

donde z puede ser una determinada variable o parámetro del cual se desea deter-
minar su valor extremo; por ejemplo, el parámetro Ti de un controlador PID. A
continuación se presentan algunas reglas de sintonización basados en diversos ı́ndices
de rendimiento.

Método de Shinskey
Las reglas de sintonización de la Tabla 5.9, atribuidas Shinskey (control I y PI) y
Nomura et al. (control PID), se aplican a procesos que poseen una FT de la forma:
Gp (s) = Kp e−τ s . El control se realiza empleando la configuración de la Fig. 5.1(a).
Los trabajos de Shinskey Nomura et al. se encuentran en las referencias de [11].

Tabla 5.9: Reglas de sintonı́a para controlar procesos tipo G p (s) = Kp e−τ s .

Método Controlador Gc (s) Kc Ti Td


1
Mı́nimo ITAE Indefinido 1.6Kp τ 0
 Ti s 
0.4
Mı́nimo ITAE Kc 1 + T1i s Kp 0.5τ 0
 
0.2635
Mı́nimo ITAE Kc 1 + T1i s + Td s Kp 0.361τ 0.1911τ

Ejemplo 5.19

Controlar el proceso con FT Gp (s) = Kp e−τ s , con Kp = 2 y τ = 2 usando el criterio


ITAE y un controlador PI.

Solución: La Fig. 5.44 muestra la respuesta controlada, resultado que se obtienen


ejecutando el programa shinskey.m listado abajo.

% shinskey.m CONTROL PI USANDO ITAE


clear all; close all; clc; s=tf(’s’); Kp=2; tau=2;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp*Gtau; % Gp: PROCESO
Kc=0.4/Kp; Ti=0.5*tau; Td=0; % PARÁMETROS PID
Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID
step(PID,’k’); grid; title(’CONTROL DE G(s)=Kp*exp(-tau*s) USANDO ITAE’);
xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f shinskey
5.6 Métodos de Sintonización de Controladores PID 119

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.44: Control PI del proceso Gp (s) = Kp e−τ s usando ITAE (ejemplo 5.19).

Método de Wang–Juang–Chan
Las fórmulas de sintonización de Wang–Juang–Chan (citadas en [19]) se basan en
el criterio de optimización de IT AE y se pueden aplicar a procesos que aceptan un
modelo dinámico como el de la ecuación (5.33). Estas fórmulas son:

(0.7303 + 0.5307T /τ )(T + 0.5τ ) 0.5τ T


Kc = ; Ti = T + 0.5τ ; Td = (5.42)
Kp (T + τ ) T + 0.5τ

Metodo de Zhuang y Atherton


El método de Zhuang y Atherton [20] minimiza los criterios ISE, IST E e IST 2 E
empleando controladores PI y PID ideales. La Tabla 5.10 muestra las fórmulas de
sintonización que se pueden aplicar a procesos que aceptan un modelo dinámico como
el de la ecuación (5.33). El diseño del sistema de control emplea la configuración de
la Fig. 5.1(a).
Por otro lado, prescindiendo de la ganancia Kc de la parte derivativa del contro-
lador PID mejorado dado en (5.37), el algoritmo de control toma la forma:
Kc Td s
u(s) = Kc e(s) + e(s) − y(s) = P (s) + I(s) + D(s) (5.43)
Ti s 1 + Td s/N

La Tabla 5.11 muestra las reglas de sintonización para el controlador descrito en


(5.43). Tales reglas se pueden aplicar a procesos que aceptan un modelo dinámico
como el de la ecuación (5.33). El diseño del sistema de control emplea la configuración
de la Fig. 5.1(a).

Ejemplo 5.20
K
p
Controlar el proceso con FT: Gp (s) = T s+1 e−τ s , donde Kp = 2, τ = 2 y T = 20.
Emplear el criterio ISE, un controlador PID y las reglas de la Tabla 5.10.
Solución: La Fig. 5.45 muestra la respuesta controlada, resultado que se obtiene
ejecutando el programa zh1.m listado abajo.
120 Control PID SISO

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


trolador ideal.
Rango de τ /T 0.1< τ /T <1 1.1< τ /T <2

Tipo Parámetro 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

Tabla 5.11: Método de Zhuang y Atherton para determinar Kc , Ti y Td en un con-


trolador cuya acción derivativa se encuentra en la realimentación.

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

Tipo Parámetro 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

% zh1.m CONTROL PID USANDO ISE


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

CONTROL PID USANDO ISE

1.5

0.5
SALIDA

−0.5

−1

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

Kp
Fig. 5.45: Control PID del proceso Gp (s) = T s+1 e−τ s usando ISE (ejemplo 5.20).

Método de Kessler
La Tabla 5.12 muestra las fórmulas propuestas por C. Kessler [21] para determinar
los parámetros de un controlador PID basado en criterios óptimos de diseño.

Tabla 5.12: Método de Kessler para hallar los parámetros K c , Ti y Td .

Proceso 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
Empleando el método de Kessler controlar un avión–helicóptero cuya dinámica sim-
plificada se puede representar como:
1
Gp(s) =
(1 + 20s)(1 + 10s)(1 + 0.5s)
Solución: La FT del proceso, que es de tercer orden, se puede formular como:
Kp
Gp(s) = Q
(1 + T1 s)(1 + T2 s) µ (1 + tµ s)
122 Control PID SISO

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


T1 > T2 > Tσ . Este proceso se puede estabilizar con un controlador PID, tal como se
observa en la Fig. 5.46, resultado que se obtiene ejecutando el programa kessler2.m.
RESPUESTA AL ESCALÓN

0.8
AMPLITUD

0.6

0.4

0.2

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

SALIDA CONTROLADA

1.5

1
SALIDA

0.5

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

Fig. 5.46: Respuesta al escalón (gráfico superior) y respuesta controlada (gráfico in-
ferior) empleando un controlador PID de acuerdo al método de Kessler.

% kessler2.m CONTROL PID EMPLEANDO EL MÉTODO DE KESSLER


clear all; close all; clc;
Kp=1; T1=20; T2=10; mu=1; tmu=0.5; Tsigma=tmu; s=tf(’s’);
Gp=Kp/(1+T1*s)/(1+T2*s)/(1+tmu*s); % PROCESO
subplot(211); step(Gp); grid;
title(’RESPUESTA AL ESCALÓN’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
Kc=T1/(2*Kp*Tsigma); Ti=4*Tsigma; Td=T2;
Gc=Kc*(1+1/Ti/s)*(1+Td*s); PID=feedback(Gp*Gc,1); % CONTROL PID
subplot(212); step(PID); grid;
title(’SALIDA CONTROLADA’); xlabel(’TIEMPO’); ylabel(’SALIDA’);
print -deps -f kessler2

Ejemplo 5.22

Controlar un sistema posicionador empleando el método de Kessler, sabiendo que su


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

Solución: 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)
5.6 Métodos de Sintonización de Controladores PID 123

Los parámetros de este sistema son: Kp = 0.2, T2 = 1, µ = 1, tµ = t1 = Tσ = 0.2.


También se cumple que T2 > Tσ . De acuerdo a Kessler, el sistema se puede estabi-
lizar con un controlador PID, tal como se verifica en la Fig. 5.47 (gráfico inferior),
resultado que se obtiene ejecutando el programa kessler1.m listado abajo. Notar que
este sistema es no autoregulado, tal como se observa en gráfico superior de la Fig.
5.47.

RESPUESTA AL ESCALÓN

300

250
AMPLITUD

200

150

100

50

0
0 500 1000 1500
TIEMPO (sec)

SALIDA CONTROLADA

1.5

1
SALIDA

0.5

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

Fig. 5.47: Respuesta al escalón (gráfico superior) y respuesta controlada (gráfico in-
ferior) empleando un controlador PID de acuerdo al método de Kessler.

% kessler1.m CONTROL PID EMPLEANDO EL MÉTODO DE KESSLER


clear all; close all; clc;
Kp=0.2; T2=1; mu=1; tmu=0.2; Tsigma=tmu; s=tf(’s’);
Gp=Kp/s/(1+T2*s)/(1+tmu*s); % PROCESO
subplot(211); step(Gp); grid;
title(’RESPUESTA AL ESCALÓN’); 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
124 Control PID SISO

Kp
Método de Xue para Procesos con FT: s
e−τ s
El método de Xue se aplica a procesos que poseen una FT con parte proporcional,
parte integral y tiempo muerto de la forma:
Y (s) Kp −τ s
G(s) = = e (5.44)
U (s) s
Debido a la presencia del integrador, los controladores PD y PID resultan ser los
adecuados para controlar tales procesos. La Tabla 5.13 muestra los valores de los
coeficientes empleados por los parámetros de los controladores PD y PID [22]:
a1
ControladorP D : Kc = Td = a 2 τ
Kp τ
a3
ControladorP ID : Kc = Ti = a 4 τ Td = a 5 τ (5.45)
Kp τ

Tabla 5.13: Parámetros ai para calcular Kc , Ti y Td para el control de procesos tipo


IPτ (ecuación (5.45)).

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
Controlar el proceso con FT Gp (s) = s e−τ s , con Kp = 2, T = 20 y τ = 2 usando
el criterio ISE y un controlador PID.
Solución: La Fig. 5.48 muestra la respuesta controlada, resultado que se obtiene
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; % PROCESO A CONTROLAR
Kc=a3/(Kp*tau); Ti=a4*tau; Td=a5*tau;
Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID
step(PID,’k’); title(’CONTROL PID USANDO ISE’);
xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f zh2

Kp
Método de Xue para Procesos con FT: s(T s+1)
e−τ s
La FT del siguiente proceso posee parte proporcional, parte integral, parte retardo
de primer orden y tiempo muerto:
y(s) Kp
G(s) = = e−τ s (5.46)
u(s) s(T s + 1)
5.6 Métodos de Sintonización de Controladores PID 125

CONTROL PID USANDO ISE

0
SALIDA

−1

−2

−3

−4

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

Kp
Fig. 5.48: Control PID del proceso Gp (s) = s e−τ s (ejemplo 5.23).

Debido a la presencia del integrador, los controladores PD y PID resultan los ade-
cuados para controlar tales procesos. Las fórmulas para determinar los parámetros
del controlador PD son [22]:
2
Kc = Td = T τ (5.47)
3Kp τ
mientras que para el controlador PID, se tiene:
"  0.65 #
1.111T 1 T Ti
Kc = 2 h  i2 Ti = 2τ 1 + Td = (5.48)
Kp τ 0.65 τ 4
1 + Tτ

Ejemplo 5.24
Kp
Controlar el proceso con FT Gp (s) = s(T s+1) e−τ s , con Kp = 2, T = 2 y τ = 2.
Solución: La Fig. 5.49 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh3.m listado abajo.
% zh3.m CONTROL PID
clear all; close all; clc; s=tf(’s’); Kp=2; tau=2; T=2;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp/(s*(T*s+1))*Gtau; % PROCESO A CONTROLAR
Kc=1.111*T/(Kp*tau^2)/(1+(T/tau^(0.65)))^2; Ti=2*tau*(1+(T/tau)^(0.65));
Td=Ti/4;
Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID
step(PID,’k’); title(’CONTROL PID’);
xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f zh3

Kp
Método de Xue para Procesos con FT: T s−1
e−τ s
La FT del siguiente proceso posee parte proporcional, parte integral, parte retardo
de primer orden inestable y tiempo muerto:
y(s) Kp
G(s) = = e−τ s (5.49)
u(s) Ts − 1
126 Control PID SISO

CONTROL PID

1.6

1.4

1.2

1
SALIDA

0.8

0.6

0.4

0.2

−0.2
0 50 100 150
TIEMPO (sec)

Kp
Fig. 5.49: Control PID del proceso Gp (s) = s(T s+1) e−τ s usando ISE (ejemplo 5.24).

Debido a la presencia del integrador y a la raı́z inestable s = 1/T , el controlador


PID parece ser el más adecuado para controlar tales procesos. Las fórmulas para
determinar los parámetros del controlador PID son [22]:
  τ −0.02   τ γ
a 1  τ  b1  τ  b2
Kc = Ti = a 2 T Td = a 3 T 1 − b 3
Kp T T T T
(5.50)
Los parámetros ai , bi y γ se obtienen de la Tabla 5.14 para diferentes criterios.

Tabla 5.14: Parámetros ai para calcular Kc , Ti y Td para el control de procesos tipo


IPT1 τ inestables (ecuación (5.49)).

Criterio a1 b1 a2 b2 a3 b3 γ
ISE 1.32 0.92 4.00 0.47 3.78 0.84 0.95
ITSE 1.38 0.90 4.12 0.90 3.62 0.85 0.93
ISTSE 1.35 0.95 4.52 1.13 3.70 0.86 0.97

Ejemplo 5.25
Kp
Controlar el proceso con FT Gp (s) = T s−1 e−τ s , con Kp = 2, T = 2 y τ = 2.

Solución: La Fig. 5.49 muestra la respuesta controlada, resultado que se obtienen


ejecutando el programa zh3.m listado abajo.

% 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; % PROCESO A CONTROLAR
Kc=(a1/Kp)*(tau/T)^b1; Ti=a2*T*(tau/T)^b2;
5.7 El Efecto Windup 127

CONTROL PI−D USANDO ISTSE

3
SALIDA

−1

−2

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

Kp
Fig. 5.50: Control PI-D del proceso Gp (s) = s−1 e−τ s usando ISTSE (ejemplo 5.25).

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. El Efecto Windup


En toda implementación práctica, la señal 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 adquisición de datos, y la segunda es que su valor no debe
de exceder el rango permitido por el actuador. Por estas razones es que introducimos
un limitador a la salida del controlador. Lamentablemente este limitador, el cual es
un elemento no lineal, es el causante del efecto denominado en windup (saturación)
que se explica a continuación.
La Fig. 5.51 muestra el diagrama en Simulink empleado para explicar el efecto
windup. Ejecutar el programa windup.mdl y luego el programa windupgraf.m para
obtener la Fig. 5.52, en donde se observa que cuando ocurre un cambio tipo escalón en
la señal de referencia r(t) (primer gráfico), la señal de error positiva inicial (1 − y(t))
se hace bastante grande, provocando que la señal de control u(t) (segundo gráfico)
alcance rápidamente el valor lı́mite de saturación um . A pesar de que la señal de salida
y(t) iguala al valor de referencia en el tiempo t1 , lo cual genera una señal de error
(1 − y(t)) negativa debido al valor grande de la señal yi en la salida del integrador,
la señal de control u(t) permanece en el valor de saturación máximo u m . Esto causa
que la salida y(t) se incremente continuamente hasta que se alcance el tiempo t 2 , y
la acción negativa de la señal de error comience a tener efecto.
Observar en el primer gráfico de la Fig. 5.52 que el efecto windup provoca un
aumento del sobreimpulso y del tiempo de estabilización en la señal controlada y(t). Si
el algoritmo PID empleado es del tipo discreto, el fenómeno windup no es tan notorio,
aún cuando la señal de control esté limitada, debido a que el algoritmo discreto no
emplea la suma de los errores para generar el término integral del controlador. Lo
128 Control PID SISO

que se emplea es un cálculo recursivo como veremos más 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
t y

Clock y
t

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

EFECTO WINDUP
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.52: Gráficos para explicar el efecto windup.

% windupgraf.m
clear all; close all; clc; load yi; load y; load u; load t;
subplot(311), plot(t,y,’k’), xlabel(’TIEMPO [s]’), Ylabel(’SALIDA y’),
title(’EFECTO WINDUP’)
subplot(312), plot(t,u,’k’), xlabel(’TIEMPO [s]’),Ylabel(’CONTROL u’)
subplot(313), plot(t,yi,’k’),xlabel(’TIEMPO [s]’),Ylabel(’INTEGRADOR yi’)
print -f -deps windupfig, print -s -deps windupsim

Existen diversos métodos para eliminar en gran medida el efecto windup en sis-
temas de control que emplean controladores PID continuos [24], [24]. Uno de estos
5.7 El Efecto Windup 129

métodos se muestra en el diagrama Simulink de la Fig. 5.53, el cual muestra un


controlador PID con mecanismo anti windup. Los parámetros del controlador son los
usuales: tiempo integral Ti , tiempo derivativo Td y ganancia proporcional Kc . La sali-
da y(t) del proceso controlado y la correspondiente fuerza de control u(t) se muestran
en la Fig. 5.54, las cuales se obtienen ejecutando primero el programa antiwindup.mdl
y luego el programa antiwindupgraf.m.

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

1/Ti INTEGRADOR uu

10
1.3
s4 +10s3 +35s2 +50s+24
Kc SATURACIÓN
SISTEMA A CONTROLAR

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

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

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.54: Salida controlada y señal de control correspondiente a la Fig. 5.53.


130 Control PID SISO

% antiwindupgraf.m
clear all; close all; clc; load yy; load rr; load uu; load tt;
subplot(211), plot(tt,rr,’k’,tt,yy,’k’), xlabel(’TIEMPO [s]’),
Ylabel(’SALIDA y’), title(’CONTROLADOR PID CON MECANISMO ANTI WINDUP’)
subplot(212), plot(tt,uu,’k’), xlabel(’TIEMPO [s]’), Ylabel(’CONTROL u’)
print -f -deps antiwindupfig, print -s -deps antiwindupsim

Por otra parte, cuando el controlador conmuta de manual a automático, el valor


de la señal de control u(t) puede cambiar de un valor a otro, no importando que la
señal de error e sea cero. Este salto debe de evitarse y en este caso se dice que la
conmutación de manual a automático debe de ser bumpless (sin saltos). Para lograr
conmutación sin saltos, el algoritmo de control debe de ejecutarse siempre, aún en el
caso en que la operación del sistema de control se encuentre en modo manual. Esta
corrección se puede realizar en el correspondiente programa en tiempo real.

5.8. El Algoritmo PID Discreto Modificado


La forma estándar del algoritmo PID mostrado en (5.15) se puede modificar
introduciendo ciertas caracterı́sticas con la finalidad de que su rendimiento mejore
sustancialmente. Por ejemplo, no podemos evitar la ocurrencia fortuita de cambios
bruscos del error e, los cuales pueden incrementar el término derivativo:

de(t) d
= (r(t) − y(t))
dt dt
Este fenómeno es conocido en inglés como derivative kick (puntapié derivativo) y
su efecto se puede apaciguar si es que utilizamos como señal de entrada únicamente
la señal realimentada y en lugar de e. De esta forma, (5.15) con de(t) dy(t)
dt = − dt se
convierte en:  Z 
1 dy
u = Kc e + edt − Td
Ti dt
Otra modificación importante es filtrar la acción derivativa del controlador PID origi-
nal mediante un filtro de primer (o segundo) orden para disminuir el ruido derivativo.
Esta caracterı́stica limita la amplificación del ruido de medición de alta frecuencia
en la salida del controlador. La señal de control será ası́ menos ruidosa y la ganancia
en alta frecuencia permanecerá dentro de cotas apropiadas. Un término derivativo
práctico, ya que un derivador puro no es realizable, puede aproximarse mediante un
término de primer orden que posee una constante de tiempo Tf , el cual a menudo se
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

donde N es una constante que varı́a 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.51)
Ti s 1 + Tf s
5.8 El Algoritmo PID Discreto Modificado 131

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 términos P , I y D representan las partes proporcional, integral y derivativa del
controlador PID modificado, respectivamente.
Sea k el tiempo discreto, el cual está relacionado con el tiempo continuo t mediante
la relación t = T k, donde T es el tiempo de muestreo o discretización. La parte
proporcional P = Kc e(s) de (5.51) se discretiza directamente, obteniéndose:

P = Kc e(k) (5.52)
Rt
Para la parte integral I(s) = TKics e(s), o lo que es lo mismo: I(t) = Kc
Ti 0 e(t)dt
empleamos la aproximación trapezoidal (ver ejemplo A.46):
k k−1
Kc X [e(i) + e(i − 1)] Kc X [e(i) + e(i − 1)] Kc T [e(k) + e(k − 1)]
I(k) = T = T +
Ti 2 Ti 2 Ti 2
i=1 i=1
Kc T
I(k) = I(k − 1) + [e(k) + e(k − 1)] (5.53)
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 Ḋ(t) = −Kc Td ẏ(t)


y aproximando las derivadas Ḋ(t) e ẏ(t) por atraso (desplazamiento de k hacia (k−1)),
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.54)
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.55)

donde P (k), I(k) D(k) se dan en (5.52), (5.53) y (5.54) respectivamente. También
se debe de incluir el efecto del limitador, basado en un modelo con presencia de
saturación con valores máximo y mı́nimo umax y ulow respectivamente:
v = P + I + D;
if(v < ulow), u = ulow; elseif(v > umax), u = umax; else u = v;

Si el tiempo de muestreo Ts es suficientemente pequeño, entonces se pueden usar las


reglas de sintonı́a para procesos continuos discutidas anteriormente. Sin embargo, a
pesar de que no son tan usadas como en el caso continuo, existen reglas de sintonı́a
para el caso discreto, tal como las mostradas en las Tablas 5.15 y 5.16. Estas tablas
K
emplean la FT Gp (s) = 1+Tp s e−τ s del proceso y no son válidas si τ /Ts ≈ 0 ni se
deben de aplicar si τ /Ts < 1/4, donde Ts es el tiempo de muestreo.
132 Control PID SISO

Tabla 5.15: Método de la curva de reacción para hallar los parámetros 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.16: Método de las oscilaciones sostenidas para hallar 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 Kcrit Tcrit
PID Kc + s + Kd s 0.6 Kcrit − 0,5Ki 1.2 Tcrit 0.075Kcrit Ts

Ejemplo 5.26

Controlar la posición angular x1 del manipulador MR1, empleando un algoritmo


de control discreto PID. Dicho manipulador se describe en la subsección 9.2.1. Sus
ecuaciones de estado de segundo orden son:

ẋ1 = x2 ẋ2 = −a1 senx1 − a2 x2 + bu

Solución: En el listado del programa pidposfijo.m se describen todos los parámetros


empleados en la ecuación de estado. Ejecutando este programa se obtiene la respuesta
pedida (Fig. 5.55).
% pidposfijo.m CONTROL DE POSICIÓN PID DEL MANIPULADOR MR1
clear all; close all; clc;
% DATOS DEL SUBPROCESO MECÁNICO
L = 0.25; rh = 0.02; g = 9.81; n = 18.5; Jm = 0.00059; Bm = 0.00014;
mb = 0.4; mh = 0.1; Jg = 0.066; Bg = 0.0124; BL = 0.0023;
Jho = 2*mh*rh^2/5; Jh = Jho + mh*(L+rh)^2; Jbo = mb*L^2/12;
Jb = Jbo + mb*(L/2)^2; JL = Jh + Jb; Jeq = n^2*Jm + Jg + JL;
Beq = n^2*Bm + Bg + BL; Q= mb*g*L/2 + mh*g*(L + rh);
% DATOS DEL SUBPROCESO ELÉCTRICO
Km = 0.0436; Kb=0.0565; La = 0.004; Ra = 3.5; KA = 8.5;
% ECUACIÓN DE ESTADO Y DE SALIDA DE SEGUNDO ORDEN
a1 = Q/Jeq; a2=(Beq*Ra+n^2*Km*Kb)/(Jeq*Ra); b=n*Km*KA/(Jeq*Ra);
% dx1/dt = x2; dx2/dt = -a1*sin(x1) - a2*x2 +b*u
% PERIODO DE MUESTREO Y PARÁMETROS PID
T = 0.01; Nn = 10; Kp = 0.1; Ti = 0.4; Td = 0.01; Tf=Td/Nn;
% CONDICIONES INICIALES
5.9 Problemas 133

0.8

Posición angular (rad)


0.6

0.4

0.2

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

0.5

0.4
Señal de control u (V)

0.3

0.2

0.1

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

Fig. 5.55: Posición angular controlada correspondiente al Ejemplo 5.26.

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 PROCESO (DISCRETIZACI ÓN DIRECTA)
x1 = x1 + T*x2; Y(k) = x1;
x2 = x2 + T*(-a1*(x1)-a2*x2+b*u);
ep = e; x1p=x1; Ip=I;
end
% GRAFICOS
ejex = linspace(0,Mm*T,Mm); subplot(2,1,1)
plot(ejex,R,ejex,Y); grid; ylabel(’Posición angular (rad)’)
subplot(2,1,2); plot(ejex,U); grid; ylabel(’Se~nal de control u (V)’)
xlabel(’Tiempo [s]’); print -f -deps pidposfijo

5.9. Problemas
Problema 5.1
Las FTs Ga (s) hasta Gj (s) corresponden a procesos a ser controlados. Determinar
para cada una de ellos los siguientes modelos dinámicos aproximados:
Kp −τ s
GA (s) = e
Ts + 1
134 Control PID SISO

Kp τ
GB (s) = n
; ≥ 0.104
(Tn s + 1) T
Kp τ
GC (s) = ; < 0.104
(T1 s + 1)(T2 s + 1) T

2 4
Ga (s) = Gb (s) =
(s + 1)3 (s + 1)5
−3s + 2 s2 − 3s + 6
Gc (s) = Gd (s) =
(s + 1)3 (s + 1)(s2 + 3s + 6)(s2 + s + 2)
−10s + 4 6
Ge (s) = e−s/2 Gf (s) =
(s + 1)2 (s + 3)3 (s + 1)6
3 3
Gg (s) = e−s Gh (s) = e−2s
(s + 1)(2s + 1) (s + 1)4
7 3s + 6
Gi (s) = e−30s Gj (s) = e−s/10
(17s + 1)(6s + 1)3 (s + 1)(4s + 1)

Problema 5.2

Realizar los controles PID, PI D y PI Dy de los procesos Ga (s) al Gj (s) en el do-


minio de s empleando MATLAB. Usar al menos tres distintas reglas de sintonización
para cada proceso. El objetivo de control es que la señal controlada siga a una refe-
rencia constante.

Problema 5.3

Realizar los controles PID, PI D y PI Dy de los procesos Ga (s) al Gj (s) empleando


SIMULINK. Usar al menos una regla de sintonización, en lo posible distinta de las
otras, para cada proceso. El objetivo de control es que la señal controlada siga a una
referencia constante.

Problema 5.4

Realizar los controles PID, PI D y PI Dy de los procesos Ga (s) al Gj (s) en el do-


minio del tiempo discreto k=t/T (T es el tiempo de muestreo) empleando MATLAB.
Usar al menos tres distintas reglas de sintonización para cada proceso. El objetivo de
control es que la señal controlada (la salida) tienda a cero en presencia de un distur-
bio tipo escalón a la entrada del proceso. En esta situación, denominada rechazo al
disturbio, la señal de referencia es nula.

Problema 5.5

Realizar los controles PID, PI D y PI Dy de los procesos Ga (s) al Gj (s) Ga (s)


al Gj (s) empleando SIMULINK. Usar al menos una regla de sintonización, en lo
posible distinta de las otras, para cada proceso. El objetivo de control es que la señal
controlada (la salida) tienda a cero en presencia de un disturbio tipo escalón a la
entrada del proceso. En esta situación, denominada rechazo al disturbio, la señal de
referencia es nula.
5.9 Problemas 135

Problema 5.6

Realizar los controles PI o PID según corresponda, de los procesos G k (s) al Gt (s)
empleando el método de Kessler.
2
Gk (s) =
(1 + 20s)(1 + 0.1s)3 (1 + 0.3s)3
9
Gl (s) =
(1 + 20s)(1 + 30s)(1 + 0.2s)4 (1 + 0.5s)2
2
Gm (s) =
s(1 + s)3 (1 + 2s)2
8
Gn (s) =
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) =
s(s + 3)2 (s + 5)(s + 6)
4
Gt (s) = 2
s(1 + s) (1 + 2s)(1 + 0.9s)

Problema 5.7

Para el proceso del problema 2.2, diseñar un sistema de control PID para controlar la
velocidad de la turbina actuando sobre una válvula de control instalada en la tuberı́a
de entrada de agua. Asumir que la FT de transferencia de la válvula es una constante
Kv = 1.4. Se sabe que Kp = 3.6 y T = 6.8 s.

Problema 5.8

Para el proceso del problema 2.4, diseñar un sistema de control PID para controlar la
presión Po en el interior del tanque actuando sobre una válvula de control instalada
en la tuberı́a de entrada de gas. Asumir que T = 3.4 s y que la FT de transferencia
de la válvula es:
2
0.8s + 1

Problema 5.9

Para el proceso del problema 2.5, diseñar un sistema de control PID para controlar
la posición x de la masa M actuando sobre un pistón de control conectado a la masa
M . Asumir que M = 120 kg, K = 2 N/m, B = N/m/s y que la FT de transferencia
del pistón es 4.5.
136 Control PID SISO

Problema 5.10
Para el proceso del problema 2.7, diseñar un sistema de control PID para controlar
la temperatura TF actuando sobre una válvula de control instalada en la tuberı́a de
vapor. Asumir que la FT de transferencia de la válvula es una constante K v = 0.6.
Asumir valores apropiados de los otros parámetros.
Problema 5.11
Para el proceso del problema 2.8, diseñar un sistema de control PID para controlar
el desplazamiento de la masa M2 actuando sobre pistón neumático conectado a esta
masa. La FT de transferencia del pistón neumático es una constante de valor 2.3.
Asumir valores apropiados de los otros parámetros.
Problema 5.12
Empleando Simulink, diseñar un sistema de control PID para controlar la posición
del proceso descrito en el ejemplo 5.26.
Problema 5.13
Empleando Simulink, diseñar un sistema de control PID para controlar la salida del
proceso descrito en el ejemplo 5.3.
Problema 5.14
Empleando Simulink, diseñar un sistema de control PID para controlar la salida del
proceso:
s+2
Gp (s) =
(s + 1)(s + 3)(s + 4)(s + 5)(s + 6)
Problema 5.15
Para el proceso del ejemplo 2.1, diseñar un sistema de control PID para controlar el
flujo actuando sobre una válvula de control instalada en la tuberı́a. Asumir que la
FT de transferencia de la válvula es:
2
0.3s + 1
Problema 5.16
Para el proceso mostrado en la Fig. 2.3, diseñar un sistema de control PID para
controlar el nivel actuando sobre la válvula de control, cuya FT se asume constante
y de valor unitario.
Problema 5.17
Para el proceso mostrado en la Fig. 2.7, diseñar un sistema de control PID para
controlar el flujo de salida actuando sobre la válvula de entrada de FT constante y
de valor dos. Asumir valores adecuados de los parámetros.
Problema 5.18
Para el proceso mostrado en la Fig. 2.8 , diseñar un sistema de control PID para
controlar el desplazamiento y mediante una corriente de control u. Los valores de los
parámetros son: Km = 1.1 N/A, M = 1.3 kg, K = 1 N/m, B = 1.5 N/m/s.
Capı́tulo 6

Estrategias de Control

En este Capı́tulo se desarrollan y discuten diversas estrategias de control que emplean


modos de control PID en sus estructuras. Entre éstas tenemos: control en cascada, control
de la razón, control anticipativo, control selectivo, control override, control de rango
partido y control adaptativo con reconocimiento de patrones. Referencias: [4], [25], [26]
.
Este Capı́tulo también se ocupa de la elaboración de diagramas de instrumentación
industriales.

6.1. Diagramas de Instrumentación


Un diagrama de instrumentación puede ser un diagrama de flujo de procesos
(PFD: Process Flow Diagrammm), un diagrama de instrumentación y tuberı́as (P&ID:
Piping and Instrumentation Diagramm), un diagrama de flujo para ingenierı́a (EFD:
Engineering Flow Diagram), o un diagrama de flujo para mecánica (MFD: Mechan-
ical Flow Diagramm). En esta publicación sólo nos ocuparemos de los diagramas
P&ID, haciendo notar que éstos requieren de los diagramas PFD.
La Fig. 6.1(a) muestra muestra el diagrama de bloques de un sistema de control
realimentado para controlar el flujo a través de una tuberı́a empleando una válvula
de control neumática. El diagrama PFD de dicha instalación, un esquema simple
pero conceptual, se muestra en la Fig. 6.1(b), mientras que la Fig. 6.1(c) ilustra el
correspondiente diagrama P&ID.
Un diagrama P&ID es útil para el diseño, instalación, operación y mantenimiento
de sistemas de control y de mando. En estos diagramas se representan e identifican
mediante letras y sı́mbolos tanto la instrumentación (sensores, transmisores, actua-
dores, tuberı́as de conexión, etc.) de un proceso o planta, ası́ como las funciones de
las variables en juego. Por ejemplo, en la Fig. 6.1(b), la linea con una raya transver-
sal es una señal del proceso, FC (Flow Control) representa un sistema de control
automático del flujo, mientras que en la Fig. 6.1(c), la linea a trazos es una señal
electrónica, la lı́nea con otras dos lı́neas transversales juntas y paralelas indica una
señal neumática, FT (Flow Transmitter) es un transmisor de flujo, FIC (Flow Indica-
tion Control) representa un sistema de control de flujo con instrumento de indicación,
FY (Flow Y) es un dispositivo auxiliar de cómputo actuado por el controlador, y, FV
es una válvula de flujo.
138 Estrategias de Control

Set point

Controlador Convertidor

Transmisor Válvula de control


neumática

Placa de oroficio
(a)

FC

(b)
Conversión
I/P corriente/neumático
FIC FY
01 01
FT
01 FV
01

(c)

Fig. 6.1: (a) Diagrama de bloques. (b) Diagrama PFD. (c) Diagrama P&ID.

La Tabla 6.1, muestra las letras empleadas para la identificación de las variables
de medición y sus funciones, de acuerdo a la norma ANSI–ISA–S5.1–2009 [23]. Ob-
servar que las dos primeras columnas corresponden a las primeras letras, mientras
que las tres últimas columnas se refieren a las letras siguientes. Las notas indicadas
entre paréntesis se explican más abajo. Por otro lado, la Fig. 6.2 muestra las lı́neas
empleadas para unir los diversos componentes de un proceso, ası́ como los sı́mbolos
empleados en los diagramas P&ID.

1. Las letras usadas como primeras letras son variables medidas o de inicialización
y, si fuera el caso, una combinación de una variable medida o de inicialización
con una letra modificadora. Por ejemplo, T es una temperatura, pero TD es una
diferencia de temperatura debido a la letra modificadora D: diferencia.
2. El significado especı́fico de las variables A, B, E, F, H, I, J, K, L, P, Q, R, S,
T, U, V, W, Y y Z no deberı́an de ser alterados.
3. La variable A deberı́a de ser usada para todo tipo de composición y análisis de
las propiedades fı́sicas.
(a) Las variables User’s Choice C, D y M identifican conductividad, densidad
y humedad, tal como lo dicta la práctica.
4. La variable A no deberı́a de ser usada para identificar vibración u otro tipo de
análisis mecánico o de maquinaria. En tales casos, emplear la variable V.
5. Las letras User’s Choice C, D, M y O se pueden usar ya sea como primera letra
o como letra siguiente, pero no en forma simultánea.
6.1 Diagramas de Instrumentación 139

(1) Línea de suministro o (8) Señal sónica o electro−


conexión al proceso magnética no guiada
(2) Señal i ndefinida (9) Para comunicar
(3) Señal indefinida DCSs, PLCs o PCs
(4) Señal eléctrica (10) Línea mecánica . .
(11) Para comunicarDCS−DCS,
(5) Señal hidráulica DCS−PLC, PLC−PC, DCS−Fieldbus
(6) Tubo capilar (12) Conecta dispositivos
(7) Señal sónica o electro− inteligentes
magnética guiada
(a)

Ubbicación Ubbicación Instalado Ubbicación Ubbicación


principal principal en el campo secundaria secundaria
accesible no accesible accesible no accesible

Instrumentos
discretos

Display y
control
compartido

Función de
computadora

Controlador
lógico
programable

C
12 P R I
Instrumentos en Luz Panel montado Purga o Estado rest de Interlock lógico
una caja común piloto en columna C desfogue un enclavador indefinido
con fila 12

(b)

Fig. 6.2: (a) Lı́neas de conexión, (b) Sı́mbolos para instrumentos y sus funciones.
140 Estrategias de Control

Tabla 6.1: Simbologı́a según norma ISA, donde, SIS: Safety Instrument System, FCE:
Final Control Element.

PRIMERA LETRA (1) LETRAS SIGUIENTES (3)


VARIABLE LECTURA FUNCIÓN
MEDIDA O MODIFI– O FUNCIÓN DE MODIFI–
INICIAL CADOR PASIVA SALIDA CADOR
A Analysis (2,3,4) Alarm
B Burner, Com– User’s Choice User’s Choice User’s Choice
bustion (2) (5) (5) (5)
C User’s Choice Control Close (27b)
(3a,5) (23a,23e)
D User’s Choice Difference,
(3a,5) Differential (5) Deviation (28)
E Voltage (2) Sensor, Primary
Element
F Flow, Ratio (12b)
flow rate (2)
G User’s Choice Glass, Viewing
Device(16)
H Hand (2) Vidrio (9) High (27a,28a,29)
I Current (2) Indicate (17)
J Power (2) Scan (18)
K Time, Sche– Time Rate of Control
dule (2) Change (4,21) Station (24)
L Level (2) Light (19) Low (27b,28,29)
M User’s Choice Momentary Middle, Interme–
(1) (4) diate (27c,28,29)
N User’s Choice User’s Choice User’s Choice User’s Choice
(5) (5) (5) (5)
O User’s Choice Orifice, Open (27a)
(5) Restriction
P Pressure (2), Point (Test
Vacuum Connection)
Q Quantity Integrate, Integrate,
Totalize (11b) Totalize
R Radiation (2) Record (20) Run
S Speed, Safety (8) Switch (13)
Frequency
T Temperat. (2) Transmit
U Multivariable Multifunction Multifunction
(2,6) (21) (21) (12)
V Vibration, Valve, Damper,
Mech. Ana– Louver (23c,23e)
lysis (2,4,7)
W Weight, Well, Probe
Force (2)
X Unclassified (8) X–axis (11c) Accessory Devi– Unclassified (8) Unclassified (8)
ces, Unclass. (8)
Y Event, State, Y–axis (11c) Auxiliary Devi–
Presence (2,9) ces (23d,25,26)
Z Position, Z–axis (11c), Driver, Ac–
Dimension (2) SIS (30) tuator, Unclas–
sified FCE
6.1 Diagramas de Instrumentación 141

6. La primera letra U, Multivariable, identifica un instrumento o un lazo que re-


quiere múltples puntos de medición u otras entradas con el fin de generar simples
o múltiples salidas.
7. La primera letra V (Vibration, Mechanical Analysis), se usa para identificar
vibración u otro tipo de análisis mecánico o de maquinaria.
8. La letra X (unclassified ) se emplea para cubrir por una sola vez, o a lo más por
pocas veces, los significados no listados en la Tabla 6.1. Tales significados deben
de ser definidos en la etiqueta de la burbuja (o circulo) o ser documentadas.
Por ejemplo, XR–2 puede significar grabación del esfuerzo, mientras que XX–4
significarı́a un osciloscopio para observar la onda del esfuerzo.
9. La primera letra Y está supuesto a ser usado cuando el control o la respuesta
del monitoreo de sistemas en tiempo real se implementa por eventos, en con-
traposición a los sistemas en tiempo real implementados por tiempo. La letra
Y, en esta situación, se emplea para indicar presencia o estado.
10. Una primera letra en combinación con una variable modificadora, debe de ser
seleccionad de acuerdo a cómo se modifica o cambia la propiedad que está siendo
medida.
11. Entre las variables medidas directamente, que pueden ser consideradas como
primeras letras para el numerado de los lazos, se tiene, entre otros:
(a) PD (Pressure Differential ).
(b) FQ (Flow Differential ).
(c) VX, VY, VZ (Vibration in X–, Y–, and Z–axis). Also: ZX, ZY, ZZ (Position
in X–, Y–, and Z–axis).
12. Entre las variables calculadas a partir de otras variables medidas directamente,
y que no pueden ser consideradas como primeras letras para el numerado de
los lazos, tenemos:
(a) TD (Temperature Difference), WD (Weight Difference).
(b) PF (Pressure Ratio), TF (Temperature Ratio).
(c) PK, TK, WK (Pressure, Temperature, Weight Time Rate of Change).
13. La variable modificadora K, en combinación con una primera letra, significa un
cambio en la razón de la primera letra. Ası́, WK significa pérdida de la razón
de peso.
14. La variable modificadora S (safety) técnicamente no es una medición directa
de la variable, pero sı́ usada para identificar dispositivos primarios de emer-
gencia autoactuados y elementos finales de control, sólamente cuando se usa en
combinación con una de las primeras letras F, P o T. Por consiguiente, las com-
binaciones FS, PS y TS deben de ser consideradas como variables de medición
y de iniciación en todos los esquemas, como sigue:
(a) FSV (Flow Safety Valve) se usa con válvulas diseñadas para la protección
en los casos de exceso de flujo o pérdida de la condición segura del mismo.
PSV y TSV (Pressure, Temperature Safety Valve) se usan con válvulas
diseñadas para la protección en los casos de pérdida de la condición segura
de P y T.
(b) PSV (Pressure Safety Valve) se usa con válvulas diseñadas para la protec-
ción del personal y del equipamiento en casos de emergencia.
142 Estrategias de Control

(c) PSE (pressure rupture disc) y TSE (fusible link ) se usan con todos los
sensores y elementos primarios para la protección en casos de condiciones
de emergencia de las variables P y T.
(d) S no deberı́a de ser usado para identificar Sistemas Instrumentados de
Seguridad y sus componenetes.
15. La forma gramatical del significado de una letra siguiente se debe de modificar
según el requerimiento. Por ejemplo, I se debe leer como indicador o indicando
y T como transmisor o transmitiendo.
16. G debe de usarse en lugar de I para instrumentos o dispositivos que propor-
cionen una vista secundaria tales como tubos para nivel, medidores de presión,
termómetro de vidrio y ventanas para medir flujo.
(a) La función pasiva G también se aplica a instrumentos o dispositivos que
proporcionan una vista no calibrada, tales como un tubo indicador de
vidrio o un monitor de TV.
17. Indicate se aplica normalmente a una lectura analógica o digital de un instru-
mento, o a una medición actual de una señal de entrada a un instrumento
discreto o a un monitor de un sistema de control distribuido.
(a) En el caso de un cargador manual, se debe de usar para marcar o fijar la
indicación de la señal de salida que se está generando. Esto es: HIC o HIK.
18. La función pasiva J (scan) indica una lectura periódica no continua, o varias
lecturas de la misma o de diferentes clases, tales como la medición de tempera-
turas en puntos múltiples.
19. La función pasiva L (light) identifica dispositivos o funciones que indican un
estado de operación normal, tal como en un motor ON–OFF. No es alarma.
20. La función pasiva record se aplica a cualquier forma de almacenamiento perma-
nente de información que permita extraerla empleando diversos medios.
21. La función de lectura/pasiva y salida/activa U (multifunction) se emplea para:
(a) Identificar lazos de control que poseen más funciones de lo usual.
(b) Ahorrar espacio en los esquemas no mostrando burbujas para cada función.
(c) Resulta conveniente describir en el esquema el tipo de función múltiple.
22. La función de lectura/pasiva accesoria X (unclassified ) se emplea para identi-
ficar hardware y dispositivos que no son para medición o control, pero que si
son necesarios para su operación adecuada.
23. Existen diferencias en el significado a ser considerado cuando se selecciona entre
una función de salida/activa para control C, switch S, válvula, damper (com-
puerta), louver (amortiguador) V, y dispositivo auxiliar Y. Esto es:
(a) C significa un dispositivo o función que recibe una señal de entrada, pro-
ducto de una medición, y genera una señal de salida que se emplea para
modular o conmutar una válvula V o un dispositivo auxiliar Y para un
predeterminado setpoint, tal como se realiza en el control de procesos.
(b) S significa un dispositivo o función que conecta, desconecta, o transfiere
señales de aire, eléctricas, electrónicas, hidráulicas, o circuitos. S puede
ser actuado manual o automáticamente mediante señales medidas direc-
tamente o provenientes de un transmisor.
(c) V significa un dispositivo que modula, conmuta, o, deja pasar o interrumpe
un flujo luego de recibir una señal que puede provenir de C, S o Y.
6.1 Diagramas de Instrumentación 143

(d) Y significa un dispositivo automático o una función actuada por Y, T


(transmisor), o S. Y conecta, desconecta, transfiere, computa, y/o con-
vierte señales de aire, eléctricas, electrónicas, hidráulicas, o circuitos. Las
letras siguientes CV sólo se usan para válvulas de control autoactuadas.
24. La función de salida o activa K (control station) deberı́a de ser usado para:
(a) Designar una estación de control accesible al operador cuando se usa con
un controlador que no posee los modos manual–automático u ON–OFF.
(b) Partir la arquitectura o reagrupar los dispositivos de campo para control,
cuando las funciones del controlador no están en la estación del operador.
25. Y incluye, entre otros, solenoides, válvulas, relés, dispositivos de cómputo y de
conversión, y funciones.
26. Si Y se emplea para computar y convertir señales, esto debe ser definido fuera
de la burbuja empleando sı́mbolos o una descripción ad–hoc.
27. El uso de H, L o M para indicar la posición de válvulas y otros dispositivos de
cierre y apertura, se definen como sigue:
(a) H, la válvula se aproxima a su posición completamente abierta. Como
alternativa, emplear O (open).
(b) L, la válvula se aproxima a su posición completamente cerrada. Como
alternativa, emplear C (closed ).
(c) M, la válvula está entre H y L.
28. Cuando se combina la función modificadora D con la función pasiva o de lectura
A, o con la función de salida o activa S, es para indicar una desviación, con
respecto a un set point, mayor a la predeterminada.
29. Las funciones modificadoras H or L deberı́an de añadirse sólo en presencia de
desviaciones positivas o negativas de importancia.
30. H, L o M en alarmas corresponden a los valores de la variable medida, mas no
a los valores de las señales que activan las alarmas. Pero:
(a) Una alarma de nivel alto proveniente de un transmisor de nivel de acción
inversa se identifica con LAH, aún en el caso de que la alarma se activase
cuando la señal cae a un valor bajo.
(b) Estas letras se pueden usar repetidas o en combinación para indicar múlti-
ples niveles de actuación desde la misma medición; por ejemplo: H y HH,
L y LL, o HL.
31. La variable modificadora Z, técnicamente no es una variable medida directa-
mente, pero se usa para identificar los componentes del Sistema Instrumentado
de Seguridad.
(a) Como se indicó en (14), Z no debe de usarse para identificar la seguridad.

La Fig. 6.3 muestra dos aplicaciones de diagramas P&ID, donde el signo asterisco
junto con los números dentro de las burbujas, representa un identificador de tres
caracteres. La Fig. 6.3(a) muestra que las variables PT, TT, LT y FT (Pressure,
Temperature, Level, y Flow Transmitter) se unen para formar la señal UU, la cual se
dirige al actuador de la válvula UV (Multivariable Valve). La señal UU también se
usa como señal SP (Set Point) para el controlador de f lujo FC (Flow Control), cuya
salida se dirige hacia el actuador de la válvula FV (Flow Valve). FO (Flow Orifice)
144 Estrategias de Control

es una restricción, mientras que TI y LI son indicadores de temperatura y de nivel,


respectivamente.
En la Fig. 6.3(b), el tanque T–1 se llena periódicamente de un producto, en
pequeños y grandes volúmenes sobre largos y cortos perı́odos de tiempo, respectiva-
mente, con la siguiente estrategia de control:
1. Diseño del sistema de control.– Pequeños volúmenes en largos y cortos perı́odos
de tiempo pueden llenar el tanque hasta alcanzar el nivel alto LSH (Level Switch
High). En este estado, la bomba P–1 arranca automáticamente para desalojar
el producto. La bomba P–1 se detiene cuando se alcanza el nivel bajo LSL
(Level Switch LOW). Grandes volúmenes en largos perı́odos de tiempo hacen
que la bomba trabaje continuamente. Notar que para mantener un nivel fijo
(LIC: Level Indication and Control), se requiere el auxilio del control de flujo
FIC (Flow Indication and Control). FT y FV identifican al transmisor y a la
válvula de flujo, respectivamente.
2. Control de la bomba vı́a un selector de tres posiciones: HAND–OFF-AUTO.
3. La bomba tiene que parar en cualquier instante cuando: (a) el nivel L cae
debajo del valor mı́nimo preestablecido; (b) se presiona el pulsador STOP; (c)
se conmuta el selector H–O–A a la posición O (OFF). Para mayores detalles,
remitirse a la referencia [23].

PT
*11 TI L1
TT *51 21
*51
UU FC
LT *01 SP *21
FV
*21 *71
FT UV
*71 *01

FO
FO
(a)

STOP
LSL HS LIC
*02 *02−B *02

START FIC
HS HS LSH *01
*02−A *01 *02
T−1 LT FT FV
H−O−A
*02 *01 *01

P−1 FO

(b)

Fig. 6.3: Ejemplos de diagramas de instrumentación.


6.2 Control en Cascada 145

6.2. Control en Cascada


La Fig. 6.4(a) muestra un tanque cerrado, al cual ingresa un producto que que-
remos calentar a una temperatura r (el valor deseado o SP). Para este propósito se
emplea el sobrecalentador, el cual recibe la energı́a térmica que trae consigo el flujo
de agua caliente, que también pasa por la VCA neumática.
En este lazo de control realimentado, la temperatura y, medida con una termore-
sistencia (representada con una T que se introduce al tanque), ingresa al bloque
transmisor T1 para ser convertida en una señal estandarizada (4 a 20 mA) requerida
por el controlador C, el cual se supone que es electrónico. Este controlador genera
la señal de control u, la cual se transforma, gracias al bloque transmisor T 2 , en una
señal neumática estandarizada (3 a 15 psig o 0.2 a 1 bar), antes que ingrese a la
VCA. La Fig. 6.4(b) muestra el diagrama de bloques del circuito de control descrito.
Observar la presencia de la señal de error e = r − y en este diagrama. De hecho,
el algoritmo de control alojado en el bloque controlador, procesa esta señal de error
para generar la señal de control u

r Controlador
y C
T1 u r y
e u
Transmisor Controlador Proceso P
T2
Producto Transmisor Medición

Agua caliente
(a) (b)
r1 u 1= r 2 r1 e1 u1 e2 u2 y2 y1
T1 C1 C1 C2 P2 P1
y1 C2
u2 T2 y2 M2
T3 u 1= r 2
Producto M1

Agua caliente
(c) (d)

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

En muchas aplicaciones, el control en cascada es una estrategia que mejora signi-


ficativamente el rendimiento del lazo de control, como el mostrado en la Fig. 6.4(a).
Para ello, se requiere crear un nuevo lazo de realimentación, tal como se muestra en la
Fig. 6.4(c), en la cual, con el primer lazo, se desea que la temperatura y1 del producto
siga a una referencia r1 , usando el controlador C1 . Con el segundo lazo, se desea que
el flujo de agua caliente y2 siga a una referencia r2 empleando el controlador C2 .
Notar que la salida u1 de C1 es la señal de referencia r2 del controlador C2 .
La Fig. 6.4(d) muestra el diagrama de bloques del sistema de control en cascada,
donde P1 más P2 forman el proceso, M1 y M2 son bloques de medición, y C1 y C2 son
146 Estrategias de Control

los controladores que procesan los errores e1 = r1 −y1 y e2 = r2 −y2 , respectivamente.


De las dos variables controladas en la Fig. 6.4(c), la temperatura y 1 del producto es
la más importante. El flujo de agua caliente y2 se emplea como una variable para
satisfacer los requerimientos de temperatura del producto.
En el control en cascada , el controlador que controla la variable principal, C 1 en
este caso, es conocido como controlador maestro, externo o principal. El controlador
que controla la variable secundaria, C2 en esta situación, recibe el nombre de con-
trolador esclavo, interno o secundario. Por lo general se prefiere usar la terminologı́a
primario/secundario para referirse a los lazos de control primario y secundario del
sistema de control en cascada. Para sistemas de control con más de dos lazos en cas-
cada, la extensión es automática; es decir, cuando existen tres lazos de control por
ejemplo, emplearemos la terminologı́a primario/secundario/terciario, controlados por
C1 , C2 y C3 , respectivamente.
La filosofı́a de diseño en un sistema de control en cascada consiste en que el lazo de
control secundario debe de ser más rápido (alrededor de cinco veces) que el primario,
lo cual es un requisito que cae por su propio peso. Esta filosofı́a de diseño 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 más rápido que el
secundario, y éste tiene que ser más rápido que el primario. Se sugiere el siguiente
procedimiento de diseño:

1. Determinar el modelo dinámico del proceso o planta a controlar.


2. Construir un lazo de control simple y sintonizar el controlador PID empleando
cualquier método. Realizar post–sintonı́a (sintonı́a fina) 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 un método adecuado, por
ejemplo el método de la ganancia lı́mite o del relé. Realizar post–sintonı́a si
fuera necesario.
5. Sintonizar el lazo de control primario empleando el método de la ganancia lı́mite
o del relé. Tener en cuenta que el lazo de control secundario es parte del lazo
de control primario. Realizar post–sintonı́a si fuera necesario.

Ejemplo 6.1

Determinar la respuesta controlada del sistema de control realimentado de la Fig.


6.4(b) y compararla con la respuesta controlada del sistema de control en cascada
ilustrado en la Fig. 6.4(d), sabiendo que los controladores son del tipo PI, que M 1 =
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 VCA.

Solución: El modelo dinámico del proceso ha sido proporcionado en el enunciado del


problema. Para controlar el proceso emplearemos el método de la oscilación lı́mite de
Ziegler y Nichols. El gráfico superior de la Fig. 6.5 muestra la respuesta al escalón a
6.2 Control en Cascada 147

manera de una oscilación sostenida que se obtiene haciendo que el controlador C en la


Fig. 6.4(b) trabaje en modo proporcional con una ganancia Kcrit = 2.18. Notar que la
oscilación posee un perı́odo Tcrit = 12.5. Con tales valores se calculan los parámetros
del controlador PI empleando la Tabla 5.7. El gráfico inferior de la Fig. 6.5 ilustra la
salida y controlada, luego de realizar una postsintonı́a. Tales resultados se obtienen
ejecutando el programa casc1a.m listado abajo.

OSCILACIÓN SOSTENIDA

1.5
y(t)

0.5

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

SALIDA CONTROLADA

60
TEMPERATURA °C

50

40

30

20

10

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

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

% casc1a.m CONTROL PI DEL LAZO SIMPLE VÍA LA OSCILACIÓN SOSTENIDA


clear all; close all; clc;
s=tf(’s’); P2=3/((0.2*s+1)*(3*s+1)*(s+1)); P1=0.8/((4*s+1)*(s+1));
P=P1*P2; % P: PROCESO
Kcrit=2.18; G_c=feedback(Kcrit*P,1); subplot(211); step(G_c,40); grid,
title(’OSCILACIÓN SOSTENIDA’), xlabel(’TIEMPOx60’), ylabel(’y(t)’)
Tcrit=12.5; % TOMADO DE LA OSCILACIÓN SOSTENIDA CON Kcrit=2.18
Kc=0.65*0.45*Kcrit; Ti=0.85*Tcrit; % PAR ÁMETROS PI CON POSTSINTONÍA
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.4(d). El lazo de control secundario se realiza como sigue. El primer gráfico de la
148 Estrategias de Control

Fig. 6.6 muestra la respuesta al escalón a manera de una oscilación sostenida que se
obtiene haciendo que el controlador C2 en la Fig. 6.4(d) trabaje en modo proporcional
con ganancia Kcrit2 = 8.53. Notar que la oscilación posee un perı́odo Tcrit2 = 2.4.
Con tales valores se calculan los parámetros del controlador PI empleando la Tabla
5.7. El segundo gráfico de la Fig. 6.6 ilustra la salida y2 (t) controlada, la cual se logra
realizando post–sintonı́a, tal como se explica en el listado del programa casc1b.m.
El lazo de control primario incluye en su estructura el lazo de control secundario
descrito arriba. El diseño del control PI del lazo primario es similar al del secundario:
se genera una oscilación sostenida (tercer gráfico de la Fig. 6.6) y con los parámetros
Kcrit1 = 3.4 y Tcrit1 = 13 determinados, se calculan los parámetros del controlador
C1 . El gráfico inferior de la Fig. 6.6 ilustra la salida y1 controlada, luego de realizar
una postsintonı́a. Todos estos resultados se obtienen ejecutando el programa casc1b.m
listado abajo.

OSCILACIÓN DEL LAZO SECUNDARIO

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)
OSCILACIÓN DEL LAZO PRIMARIO

2
y1(t)

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

100

50

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

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

% casc1b.m CONTROL EN CASCADA


clear all; close all; clc;
s=tf(’s’); P2=3/((0.2*s+1)*(3*s+1)*(s+1)); P1=0.8/((4*s+1)*(s+1));
Kcrit2=8.53; Gs1=feedback(Kcrit2*P2,1); % FT LAZO SECUNDARIO CON Kcrit2
subplot(411); step(Gs1,10); grid, ylabel(’y2(t)’), xlabel(’TIEMPOx60’),
title(’OSCILACIÓN DEL LAZO SECUNDARIO’)
Tcrit2=2.4; % TOMADO DE LA OSCILACIÓN 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)’),
6.3 Control de la Razón 149

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 ÓN DEL LAZO PRIMARIO’),
xlabel(’TIEMPOx60’), ylabel(’y1(t)’)
Tcrit1=13; % TOMADO DE LA OSCILACIÓN SOSTENIDA CON Kcrit1=3.2
Kc1=0.45*Kcrit1; Ti1=0.8*0.85*Tcrit1; % PAR ÁMETROS 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 (gráfico inferior de la Fig. 6.6),
mientras que para el caso de realimentación simple mostrado en el gráfico inferior de
la Fig. 6.5, se estabiliza en 30 min. Se debe notar también que el perı́odo de oscilación
crı́tica Tcrit1 del lazo primario mostrado en el tercer gráfico de la Fig. 6.6, es mayor
que el Tcrit12 del lazo secundario (primer gráfico de la Fig. 6.6) en una relación:
Tcrit1 13
= = 5.41
Tcrit2 2.4
Con esto se comprueba que el lazo secundario es 5.41 veces más rápido que el primario.

6.3. Control de la Razón


El control de la razón se refiere generalmente a controlar (mantener) la razón
entre dos flujos (o caudales) lo más constante posible. En el esquema de razón más
difundido, tal como el mostrado en la Fig. 6.7, el flujo q1 correspondiente al lazo no
controlado, es conocido como el flujo salvaje. Por otro lado, el lazo controlado, en
donde se ubica el flujo q2 , es denominado el lazo secundario.
El control de la razón encuentra muchas aplicaciones en la industria. Entre ellas:
mezcla o fundición de dos o más componentes; control de la razón aire–combustible
en un proceso de combustión; control de la composición de un producto (técnica
bastante utilizada en las torres de destilación); etc.
Observar en la Fig. 6.7 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 raı́z cuadrada de la
diferencia de presión producida por la placa. Por otro lado, la filosofı́a de control de
la razón se basa en las relaciones siguientes (ver Fig. 6.7):

r2 = V y 1 e2 = r 2 − y 2 = V y 1 − y 2 (6.1)

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


y2
e2 = V y 1 − y 2 = 0 V = (6.2)
Ejemplo 6.2 y1

Diseñar y simular el sistema de control que mantenga la razón combustible–aire en


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

Solución: La Fig. 6.8 muestra el diagrama Simulink correspondiente a la Fig. 6.7.


Notar que se ha incluido la FT de la válvula de control. El proceso flujo y2 se modela
150 Estrategias de Control

u
V r2
y1 y2

q2
Qemador
q1
Horno

Fig. 6.7: Esquema más difundido del control de la razón.

como una constante proporcional. Para mantener la razón V en 10, se ha usado un


controlador PI con parámetros P = Kc = 1 e I = Kc /Ti = 4. El flujo de aire y1 ha
sido considerado como un flujo que varı́a en forma sinusoidal para mayor generalidad.
La Fig. 6.9 muestra el resultado de la simulación que se obtiene ejecutando el archivo
razon1graf.m cuyo listado se muestra abajo. Observar que la razón V(t) se mantiene
en el valor 10 previamente establecido.

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
Producto Product Scope
PI Controller Válvula + caudal y 2
Set V y2 y2
y2

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


% razon1graf.m
clear all; close all; clc;
load th; load y1; load y2; load V;
plot(th,y1,th,y2,th,V), xlabel(’TIEMPO [s]’),
ylabel(’RAZÖN V(t)’), title(’CONTROL DE LA RAZÓN V = y2/y1’)
print -f -deps razon1r, print -s -deps razon1s

6.4. Control Anticipativo


La principal desventaja en los sistemas de control por retroalimentiición radica
en el hecho de que cuando un disturbio ingresa al proceso, éste se propaga por todo
el proceso, forzando que la variable controlada se desvı́e del punto deseado o de
referencia, antes de que aparezca una acción correctiva que compense el efecto de tal
disturbio.
Por cierto, en muchos casos se puede tolerar temporalmente un error entre la señal
controlada y la señal deseada. Sin embargo, existen aplicaciones en donde el error debe
6.4 Control Anticipativo 151

CONTROL DE LA RAZÓN V = y2/y1


45

40

35

30
RAZÓN V(t)

25

20

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

0
0 200 400 600 800 1000
TIEMPO [s]

Fig. 6.9: Resultado de la simulación correspondiente al Ejemplo 6.2.

de ser mı́nimo en presencia de disturbios, lo cual no se logra sólo con el control por
realimentación. Para tales situaciones resulta útil el control anticipativo. Con esta
estrategia de control, los disturbios se miden antes de que ingresen al proceso, lo
cual permite calcular por adelantado la señal de control requerida para mantener la
variable controlada en el valor deseado y sin la presencia de disturbios.
La Fig. 6.10 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. Además, d, u e y son las
señales disturbio, de control y de salida, correspondientemente. De la Fig. 6.10 se
deduce:

y = Gp (s)u + Gd (s)d = Gp (s)Ga (s)d + Gd (s)d = [Gp Ga (s) + Gd (s)] d (6.3)

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


queremos eliminar este efecto en la salida y, entonces esta salida deberı́a de anularse.
Haciendo y = 0 en (6.3):
Gd (s)
0 = Gp Ga (s) + Gd (s) Ga (s) = − (6.4)
Gp (s)
Para tener una idea más clara de la estructura del controlador anticipativo G a (s)
diseñado, asumamos que:
Kp Kd
Gp (s) = e−τp s Gd (s) = e−τd s (6.5)
Tp s + 1 Td s + 1
Por consiguiente:
Gd (s) Kd Tp s + 1 (τp −τd )s
Ga (s) = − =− e (6.6)
Gp (s) K p Td s + 1
152 Estrategias de Control

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


atraso.

d
Gd(s)

u y
Ga(s) Gp(s)

Fig. 6.10: Sistema de control anticipativo.

El sistema de control anticipativo trabaja bien siempre que Gp (s) y Gd (s) repre-
senten lo más fiel posible al proceso y al disturbio. Evidentemente, en presencia de
errores de modelado, el desempeño del sistema de control anticipativo va a disminuir.
Existen dos casos notables para los que no se debe de emplear el control anticipativo.
El primero ocurre cuando el grado del polinomio del denominador de Gp (s) es mayor
que el grado del polinomio del denominador de Gd (s). Por ejemplo, sean:
1 1
Gp (s) = Gd (s) =
s2 + bs + c s+f
donde a, b, c y f son constantes. El controlador anticipativo se calcula como:
Gd (s) s2 + bs + c
Ga (s) = − =−
Gp (s) s+f
Lamentablemente, el controlador Ga (s) resultante es fı́sicamente 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) = e−s Gp (s) = e−2s
s2 + bs + c s+f
Entonces:
Gd (s) s+f
Ga (s) = − =− 2 es
Gp (s) s + bs + c
Notar que el controlador anticipativo resultante es no implementable fı́sicamente
debido a que su tiempo muerto es positivo.
En un determinado diseño, Ga (s) puede resultar en una función de transferencia
inestable. Esto sucede cuando el modelo Gp (s) del proceso no es de mı́nima fase. Es
decir, cuando posee al menos un cero positivo. Para ilustrar esta situación asumamos
que (notar que Gp (s) es de mı́nima fase):
s−1 1
Gp (s) = Gd (s) =
s+1 4s + 1
que resulta en el siguiente controlador anticipativo inestable:
Gd (s) s+1
Ga (s) = − =−
Gp (s) (s − 1)(4s + 1)
6.4 Control Anticipativo 153

Ejemplo 6.3

Diseñar y simular el sistema de control anticipativo mostrado en la Fig. 6.10 para:


5 3
Gd (s) = Gp (s) =
2s + 1 0.5s + 1
Solución: La Fig. 6.11 muestra el diagrama Simulink correspondiente a la Fig. 6.10.
El controlador anticipativo se determina de:

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

La Fig. 6.12 muestra el resultado de la simulación que se obtiene ejecutando el archivo


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

antic 1.mdl

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

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

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

% 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

Control Anticipativo–Realimentado
El control anticipativo posee la capacidad de eliminar el efecto de los disturbios
medibles que actúan sobre la señal controlada. Por otro lado, el control realimentado
puede rechazar el efecto de los disturbios no medibles sobre la señal controlada,
ası́ como también corregir el efecto de los errores de modelado en el lazo de control.
Cae entonces por su propio peso, que si deseamos sacar ventaja de las bondades
de cada uno de los esquemas descritos, debemos de aplicar simultáneamente control
anticipativo y control realimentado , tal como se ilustra en la Fig. 6.13, donde d 1
es un disturbio medible con FT Gd1(s) conocida, mientras que d2 es un disturbio no
medible pero con FT Gd1(s) también conocida. El disturbio d2 se incluye para dar
mayor generalidad al problema, tal como se trata en el el siguiente ejemplo.
154 Estrategias de Control

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)

−2

−4

−6
0 200 400 600 800 1000
TIEMPO [s]

Fig. 6.12: Resultado de la simulación correspondiente al Ejemplo 6.3.

d1 Gd1(s)

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

d2 Gd2(s)

Fig. 6.13: Esquema de control anticipativo más control realimentado.

Ejemplo 6.4

Diseñar y simular el sistema de control anticipativo–realimentado mostrado en la Fig.


6.13 cuando:
5e−2s 3e−3s 6e−5s
Gp (s) = Gd1 (s) = Gd2 (s) =
0.8s + 1 5s + 1 9s + 1
Solución: La Fig. 6.14 muestra el diagrama Simulink correspondiente a la Fig. 6.13.
El controlador anticipativo se determina de:

Gd1 (s) 3 0.8s + 1 −s


Ga (s) = − =− × e
Gp (s) 5 5s + 1
6.4 Control Anticipativo 155

La Fig. 6.15 muestra el resultado de la simulación que se obtiene ejecutando el archivo


anticreal1graf.m cuyo listado se muestra abajo. Observar en el gráfico inferior que la
salida controlada y(t) sigue a la referencia r(t) a pesar de la presencia simultánea de
los disturbios d1 (t) y d2 (t). Es decir, y(t) no está afectada por los disturbios debido
a que el sistema de control los está rechaando.

anticreal 1.mdl
th
3
Clock th
d1 5s+1
d1 Gd1(s) Tiempo u
y
muerto : 3

−4.8s−0.6 5
5s+1 0.8s+1
Ga(s) Tiempo Gp(s) Tiempo
Scope
muerto : 1 muerto : 2

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

Fig. 6.14: Diagrama Simulink correspondiente a la Fig. 6.13.

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.15: Resultado de la simulación correspondiente al Ejemplo 6.4.


156 Estrategias de Control

% 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.5. Control Override


El control override es una estrategia de control que consiste en mantener las varia-
bles del proceso bajo control dentro de ciertos limites, generalmente para propósitos
de protección. Limitando la variable de un proceso en un valor alto o bajo, evita
que ocurran daños tanto en el proceso como en el producto. Dichas variables se limi-
tan empleando ciertos tipos de conmutadores de selección, tales como el HSS (High
Selector Switch) y el LSS (Low Selector Switch).
La Fig. 6.16 muestra una aplicación del control override en un sistema de bombeo
de producto. Las Figs. 6.16(a) y (b) ilustran el diagrama de instrumentación y el
diagrama de bloques del sistema de control respectivamente, donde PT representa
un transmisor de presión, PIC significa indicación y control de la variable presión y
PY, en este caso, es el conmutador de selección, dado que la letra Y indica realizar
un cálculo o algoritmo relacionado con P (la presión).

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.16: Estrategia de control overriding aplicado al bombeo.


6.5 Control Override 157

Observar que existen dos lazos de control de presión, uno para la aspiración y el
otro para la impulsion. En condiciones normales, la presión se controla con el lazo
de impulsion. Si por alguna circunstancia de falla, cae la presión de aspiración de
la bomba por debajo del lı́mite de seguridad, entonces actúa el conmutador selector
para que entre en funcionamiento el lazo de aspiración en lugar del de impulsión.
El conmutador selector trabaja como sigue. En principio, el conmutador selecciona
la mı́nima de las dos señales que le llegan. Además, el set point del controlador
de aspiración tiene que ser inferior a los valores normales de trabajo. En operación
normal, la señal de salida del controlador de impulsion alcanza sus valores de trabajo.
Si la presión de aspiración baja demasiado hasta llegar a ser inferior a su set point,
entonces el controlador de aspiración genera una señal que es inferior a la que sale
del controlador de impulsion. En esta situación, el conmutador hace que entre en
operación el lazo de control de la aspiración. En este caso, el conmutador es del tipo
LSS (Low Selector Switch).
La Fig. 6.17 muestra otra aplicación del control override aplicado a un generador
de vapor, en donde el conmutador selector LSS hará la conmutación del lazo de
control de presión (Lazo 1) al lazo de control de nivel (Lazo 2), cuando el el nivel del
liquido en el hervidor caiga por debajo del nivel permisible previamente establecido.
Esta conmutación también provoca que se cierre la valvula de control.

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.17: Estrategia de control overriding aplicado a un generador de vapor.


158 Estrategias de Control

6.6. Control Selectivo


En ciertas aplicaciones del control de procesos, sólo existe una variable controlada
PV, pero varias variables manipuladas MV. Un ejemplo tı́pico es el encendido y
operación de un horno industrial mediante dos combustibles A y B. La selección de
uno de los combustibles se realiza dependiendo de la disponibilidad de uno de ellos.
Por ejemplo, si el combustible A se quema hasta el lı́mite de su disponibilidad
y cuando tal lı́mite se alcanza, entonces el combustible B debe de ser quemado en
forma suplementaria. El lı́mite de disponibilidad se puede se puede fijar manualmente
o mediante un controlador que detecte la cantidad de combustible almacenada.
Un sistema de control como el descrito debe poseer las siguientes caracterı́sticas:

Capacidad de manipular la variable con limitada disponibilidad en cuanto que


su valor se mantenga debajo de su lı́mite previamente especificado.
Una transición suave cuando se use una u otra variable manipulable, para no
afectar adversamente la variable controlada.

Otro ejemplo de control selectivo se muestra en el sistema de medición múltiple de


la Fig. 6.18, donde los transmisores de flujo FT–1, FT–2 y FT–3 son dedicados para
medir el flujo A, mientras que los transmisores FT–4, FT–5 y FT–6 son para el flujo
B. El objetivo de tales baterı́as de transmisores es el de aumentar la confiabilidad de
la medición, aún en el caso en que falle uno de los transmisores de una baterı́a.
En el proceso mostrado en la Fig. 6.18, la medición de A y B es crı́tica si se quiere
mantener la relación B/A (obtenida en el bloque de cómputo FY–2) entre ciertos
lı́mites de diseño. Por tal razón, el bloque MS (Media Selector) computa en FY–1 y
en FY–3 el promedio de las mediciones de los flujos A y B, respectivamente. Si alguno
de los dos bloques MS detecta que una medición está fallando, entonces el promedio
de la medición se realiza con los otros dos, evitando de esta manera paradas costosas
del proceso. Los bloques FIC–1 y FIC–2 son los lazos de control de la razón B/A y
del flujo A, respectivamente.

6.7. Control de Rango Partido


El control de rango partido, denominado también de gama partida o split range
en inglés, se aplica cuando se desea que la señal o fuerza de control manipule dos o
más actuadores, por ejemplo, dos válvulas de control. En esta situación, el número
de variables de control es mayor que el número de variables controladas.
Un ejemplo tı́pico es el caso de un reactor, mostrado en la Fig. 6.19 al cual ingresa
un producto gaseoso A, y sale un producto B resultante de la reacción. El objetivo
de control es mantener constante la presión P dentro del reactor mediante la acción
programada de las válvulas VA y VB (ver Fig. 6.19) 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 válvula se determina del gráfico de la Fig.
6.19.
6.8 Autosintonización con Reconocimiento de Patrones 159

MS
FY
2
FIC
2
FT FT FT
4 5 6 A

Flujo A
FY
B 2
MS B/ A
FY
1
FIC
1
FT FT FT
1 2 3

Flujo B

Fig. 6.18: Estrategia de control selectivo aplicado a un sistema de medición múltiple.

Selector VA VB
uA uB 100%

Abertura
de válvula
Pr
0% P
P
VA VB 0% 30% 50% 70% 100%
Reactor
u u

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

6.8. Autosintonización con Reconocimiento de Patrones


El sistema de control con autosintonización basado en el reconocimiento de pa-
trones, emplea la respuesta del proceso a un cambio tipo escalón del SP y/o a la acción
de un disturbio, tal como se muestra en la Fig. 6.20(b) y (c), donde el sobrenivel y
el amortiguamiento se definen como [17]:

e3 − e 2 e2
amortiguamiento = sobrenivel = (6.7)
e1 − e 2 e1
Se supone que el proceso Gp (s) a controlar es del tipo primer orden con ganancia Kp ,
constante de tiempo T y tiempo muerto τ :
Kp
Gp (s) = e−τ s (6.8)
Ts + 1
160 Estrategias de Control

cuyos parámetros se pueden determinar empleando el método de la curva de reacción.


También resulta conveniente calcular el tiempo de espera Wmax , el cual es el tiempo
máximo que el controlador espera para la ocurrencia del segundo pico. Este tiempo
se define como:
Wmax = 5τ (6.9)

disturbio
SP e(t) PV
Gc (s) Gp(s)

e(t) (a)
e1

e3

e2
e(t) (b)
e1

e3

t
e2

Tp
(c)

Fig. 6.20: (a) Sistema realimentado. (b) Respuesta a un cambio escalón. (c) Respuesta
a un cambio en el disturbio.

Autosintonización vı́a el reconocimiento de patrones consiste fundamentalmente


en la programación de un sistema experto para que lleve a cabo en forma automática,
tal como si lo estuviera haciendo un experto, el procedimiento de sintonización del
controlador Gc (s). Este método de sintonización está presente en el controlador
Foxboro EXACT (760/761).
La fase de reconocimiento de patrones dentro del procedimiento de autosin-
tonización comienza cuando el error e(t) = SP − P V excede un nivel máximo de
ruido previamente especificado, debido a cambios en el SP o en los disturbios. El
programa experto entonces busca los tres picos e1 , e2 y e3 en la respuesta, mide sus
amplitudes y tiempos para calcular el amortiguamiento, el sobrenivel, el perı́odo de
oscilación Tp y el tiempo máximo Wm = 5τ de dicha respuesta. Si los picos e2 y e3
no fueran detectables, entonces el programa de reconocimiento de patrones debe de
estimarlos para usarlos luego en las fórmulas de sintonización. Estas fórmulas son
6.8 Autosintonización con Reconocimiento de Patrones 161

similares a las de Ziegler y Nichols:

BP = 120Kp τ /T Ti = 1,5τ Td = Ti /6 (6.10)

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


respectivamente.

Información Inicial y Pre–Sintonı́a


El controlador necesita tener a priori un conjunto de parámetros, los cuales deben
de ser suministrados por el usuario o ser estimados por el modo Pre–Tune (léase
autosintonización) del controlador Foxboro. Estos parámetros son:

Los valores iniciales de BP , Ti y Td .


La banda de ruido BN . Está programado que el controlador inicia el proced-
imiento de adaptación cuando el error e(t) exceda dos veces BN , la cual se
indica luego cómo determinarla.
Máximo tiempo de espera Wmax .

La banda de ruido NB se determina durante la última fase del modo Pre–Tune.


Primero, la señal de control vuelve al nivel que tenı́a antes de la ocurrencia del
cambio escalón del SP. Con el controlador aún en manual y con la señal de control
mantenida en un valor constante, la salida controlada se pasa a través de un filtro
pasa alto. La banda de ruido BN se calcula luego estimando la amplitud pico a pico
de la salida del filtro pasa alto. Este filtro puede poseer la forma (entre otras):
La BN estimada se emplea para inicializar el término derivativo como sigue:

Calcular la cantidad Z = (3 - 2NB)/2.5;


si Z > 1 entonces fijar Td = Ti /6;
si Z < 0 entonces fijar Td = 0;
si 0 < Z < 1 entonces fijar Td = ZTi /6;

También existen una serie de parámetros opcionales, a parte de los requeridos, que
deben de ser proporcionados por el usuario. En caso contrario, el programa usa los
valores por defecto, mostrados entre paréntesis en la siguiente lista:

Máximo amortiguamiento permitido (0.3)


Máximo sobrenivel permitido (0.5)
El factor derivativo (1), el cual multiplica al término derivativo, para dosificar
su influencia. Si este factor derivativo es nulo, entonces el controlador se del
tipo PI.
Lı́mite de cambio (10). Este factor hace que los valores de los parámetros del
controlador caigan entre ciertos lı́mites. Si se usa el valor 10 para el factor
lı́mite de cambio, entonces los valores de los parámetros BP, Ti y Td no serán
más grande que diez veces,k o más pequeños que un décimo de sus valores
iniciales.
162 Estrategias de Control

6.9. Problemas
Problema 6.1

En la Fig. 6.21(a), gracias al vapor, el producto inicial se destila en los platos de la


columna de destilación hasta convertirse en producto final (destilado) en el cabezal.
En la Fig. 6.21(b), el destilado se sobrecalienta e ingresa a la columna como reflujo,
el cual se destila para obtener más destilado. Elaborar el diagrama de bloques y el
diagrama de instrumentación para controlar:
1. la temperatura del último plato manipulando el flujo de vapor. Usar la Fig.
6.21(a).
2. la temperatura del último plato empleando una configuración en cascada y
manipulando el flujo de vapor. Usar la Fig. 6.21(a).
3. la temperatura del último plato usando el método de los tres componentes
(configuración (h) en la Fig. 6.23). Emplear la Fig. 6.21(a).
4. la composición del destilado manipulando el reflujo. Usar la Fig. 6.21(b).
5. la composición del destilado manipulando el reflujo y con el auxilio de una
medición de temperatura en un plato determinado. Usar la Fig. 6.21(b).

Destilado Sobrecalentador
Cabezal
Temperatura
del último plato

Destilado
Reflujo

Producto
Producto

Vapor
Vapor
Condensado (a) (b)

Fig. 6.21: Columna de destilación.


Problema 6.2

Escribir un programa en MATLAB para implementar el algoritmo descrito en la


sección 6.7.

Problema 6.3

Escribir un programa en MATLAB para implementar el algoritmo descrito en la


sección 6.8.

Problema 6.4

Elaborar los diagramas de instrumentación de los sistemas de control mostrados en


forma de diagramas de bloque en la Fig. 6.22.
6.9 Problemas 163

Placa de Sensor de Sensor


Controlador VCA Transmisor Sumador Derivador orificio temperatura

Presión Flujo
SP
Pro−
ducto
SP SP
Agua caliente
(b) Control de flujo a presión constante
(a) Control de temperatura
−k

SP
Agua caliente Pro−
Producto ducto SP

Agua caliente

(d) Control de temperatura


con calefacción variable
−k
(c) Control de temperatura con producto variable
SP

−k
Pro−
ducto

Sobre− Agua caliente


calentador SP
(f) Control de temperatura en cascada
(e) Control del rociador de la caldera de vapor

SP Vapor

−k

SP

Agua
SP
(g) Control de la combustión en un horno (h) Control de nivel de una caldera tipo tambor

Fig. 6.22: Sistemas de control estandarizados.


164 Estrategias de Control

Problema 6.5

Elaborar los diagramas de instrumentación de los sistemas de control mostrados en


forma de diagramas de bloque en la Fig. 6.23.

Placa de Sensor de Sensor


Controlador VCA Transmisor Sumador Derivador orificio temperatura

Multiplicador
SP Vapor

−k

CO
SP

Agua
SP
(g) Control de la combustión en un horno (h) Control de nivel de una caldera tipo tambor

Fig. 6.23: Sistemas de control estandarizados. Continuación.

Problema 6.6

Para el tanque con agitador mostrado en la la Fig. 6.24 elaborar el diagrama de


bloques y el diagrama de instrumentación del sistema para controlar el contenido de
sal en el agua, teniendo en cuenta la salinidad de la solución, de modo tal que esta
última variable pueda ser usada para formar un sistema de control en cascada con la
relación de los flujos.

Flujo de agua Flujo de sal

Sensor de salinidad

Fig. 6.24: Tanque de salmuera con agitador.

Problema 6.7

Explicar los diagramas de instrumentación mostrados en la Fig. 6.25.


6.9 Problemas 165

PDI
103 FQI FR
FRCA
302 104 103

Filtro
(a) (b)

SO
Bomba 201 FR
503 FFC FR
504 505

(c)

FR (d)
711
FI H
FR TR PR 302 306
708 709 710

(e) (f)

Fig. 6.25: Diagramas de instrumentación.

Problema 6.8
La Fig. 6.26 muestra un alto horno para la producción de acero. Se deben de cumplir
los siguientes objetivos de control:
1. Control de la temperatura TM del viento mezclado mediante una configuración
cascada–relación de control entre las variables MF , mC y TM .
2. Control de la presión de salida P mediante la válvula motórica V4.
3. Control de la temperatura TS mediante la válvula V3.
4. Control del CO u O2 de la cámara de combustión con el auxilio de las señales
de presión PW y PD y de la válvula V2.
Elaborar los diagramas de bloque y de instrumentación correspondientes para cumplir
los requerimientos listados.
Problema 6.9
Diseñar los controladores G(s)p (principal) y G(s)s (secundario) del sistema de con-
trol en cascada mostrado en la Fig. 6.27. El set point es arbitrario. Sustentar las
especificaciones de diseño obtenidas.
Problema 6.10
Diseñar los controladores G(s)a (anticipativo) y G(c)c (de realimentación) del inter-
cambiador de calor mostrado en la Fig. 6.28, sabiendo que θr = 150◦ F y F = 25
gpms. Sustentar las especificaciones de diseño obtenidas.
Problema 6.11
En el horno industrial de la Fig. 6.29 se desea mantener la relación aire–gas en un
determinado valor, de modo tal que la combustión dentro del horno sea eficiente y
que la temperatura en dicho horno se mantenga constante.
166 Estrategias de Control

Sensor de
M
P CO u O2
V4
PW TS

AGUA V1
V2 V3
VAPOR PD
ALTO
mF
HORNO
V5
TM
Intercambiador
de calor Cámara
Placa de de mezcla
orificio Viento
mezclado
TUBO
mC M CIRCULAR
Válvula
V6 motórica

Fig. 6.26: Alto horno para producir acero.

2 −s
10e
Gp(s) G s (s)
(s+1)((2s+1) (2s+1)((3s+1)

1/2

2/25

Fig. 6.27: Sistema de control en cascada.

Flujo F
Ga (s)

−0.417 Intercambiador
θr θ
4 Flujo 0.6e −5s
Gc (s)
3s+1 (20s+1)(5s+1)
Válvula de control Intercambiador

Fig. 6.28: Intercambiador de calor.

‘8Š8’‘ Š‹ †‡ „…
‘8’‘ ƒ8 ‚ ƒ8 ‚ ƒ8 ‚ ƒ8 ‚ ƒ8 ‚ Horno ‚ ƒ8
ƒ8 ‚ industrial ‚ ƒ8
ƒ8 ‚ ƒ8 ‚ 8 € ‚ € ƒ‚
ƒ8
8
‘ ‘ ’ Gas
 Œ 8  8 8  8  8  8   Ž8Ž
Sensor

rrq
de CO ‘8’‘ t 34 de56 78temp Sensor
7 I K J
caliente
Aire
8
B D E C B ? A @ Œ 8
8
q t s s ~ pop 8
8 ~ O|8
{ Q P 65658
~ |8
{ 98R8U8 ~ |8
{ :; 9 RS ~ F8
{ 8
| HIH [ 8 ~ FG |8
{ ~EDED |8
8 { a ~ |8
8{ <8>?> 8~ |8 { <= ~ |{ nmn }8i }8}8}8}8}8}8}8}8}8}8k}
y jij ‰8
z8 zy ‰8
Aire
u vu o L8NON LM W8
v8 V U T T V W \ 8
] X [ Z Z \ ] Y X b 8
c ^ a ` ` b c _ ^ 8
e d f f h g e d m ˆ ˆ ˆ 8
‰ ˆ 8
‰ ˆ 8
‰ ˆ 8
‰ ˆ 8
‰ ˆ 8
‰ ˆ 8
‰ ˆ ‰ lkl
u8
v v x8 u y 8
z y z
u vu w x8
v8 w x8 w x8 w x8 w x8 w x8 w x8 w x8 w x8 w x8 w xw Artículos calentados
Fig. 6.29: Horno industrial.
Capı́tulo 7

Sı́ntesis de Controladores SISO


y MIMO

Un proceso SISO (Single–Input–Single–Output) está caracterizado por poseer una


salida y una entrada, mientras que un proceso MIMO (Multiple–Input–Multiple–Output)
posee múltiples entradas y múltiples salidas, las cuales no están exentas de presentar
cierto grado de interacción entre ellas. La técnica para modelar esta interacción es emplear
modelos dinámicos multivariables o MIMO.
El problema de sı́ntesis de controladores SISO y MIMO consiste en determinar el
modelo dinámico de la ley de control partiendo de ciertas condiciones y principios previa-
mente establecidos. Esta ley de control puede estar en la forma de una FT (Función de
Transferencia), para el caso SISO, y de una MT (Matriz de Transferencia) para el caso
MIMO.
Este Capitulo trata el problema de sı́ntesis (diseño) de controladores SISO (usando
el método de Dahlin) y MIMO. En este ultimo caso emplearemos el método de de-
sacoplamiento, introduciremos desacopladores en el diseño, y aplicaremos el criterio de
estabilidad de Hurwitz. Citas: [29],[25].

7.1. Método de Dahlin


El siguiente procedimiento de sı́ntesis es atribuido a Dahlin [27]. La Fig. 7.1
muestra un sistema SISO realimentado, donde Gc (s), Gp (s) y H(s) representan las
FTs del controlador, el proceso y el sistema de medición, respectivamente, y, r(s),
e(s), y(s) y u(s) constituyen las señales de referencia (SP), error del sistema, salida
controlada (PV) y ley de control, respectivamente. Para el caso H(s) = 1, de la Fig.
7.1 se deduce:

y(s) = Gp (s)u(s) = Gp (s)Gc (s)e(s) = Gp (s)Gc (s)(r(s) − y(s))

Por consiguiente:
1 y(s)/r(s)
Gc (s) = (7.1)
Gp (s) 1 − y(s)/r(s)
168 Sı́ntesis de Controladores SISO y MIMO

Se puede forzar que la señal controlada y(t) sea la curva de reacción de un proceso
de primer orden de ganancia unitaria y constante de tiempo Tc :

y(s) 1
= (7.2)
r(s) Tc s + 1

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


ganancia unitaria El 100 % de esta ganancia unitaria se alcanza en aproximadamente
cuatro veces Tc . Reemplazando (7.2) en (7.1) se obtiene una fórmula para sintetizar
(diseñar) el controlador:
1 1
Gc (s) = (7.3)
Gp (s) Tc s
En lo que sigue, la fórmula de sı́ntesis dada en (7.3) será determinada para el control
de diferentes procesos.

r(s) e(s) u(s) y(s)


Gc (s) Gp(s)

H(s)

Fig. 7.1: Sistema SISO realimentado.

Proceso Proporcional
Cuando Gp (s) = Kp (proceso proporcional), la ecuación (7.3) toma la forma:

Kc 1
Gc (s) = Kc = (7.4)
s K p Tc

Proceso de Primer Orden


Sea el proceso de primer orden:

Kp
Gp (s) = (7.5)
Ts + 1

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


por la ecuación (7.5), (7.3) toma la forma:
 
1 T
Gc (s) = Kc 1 + Kc = Ti = T (7.6)
Ti s K p Tc

Proceso de Segundo Orden


Sea el proceso de segundo orden:

Kp
Gp (s) = (7.7)
(T1 s + 1)(T2 s + 1)
7.1 Método de Dahlin 169

donde T1 y T2 son las dos constantes de tiempo del proceso. Con Gp (s) dado por la
ecuación (7.7), (7.3) toma la forma:
 
1 T1
Gc (s) = Kc 1+ (Td s + 1) Kc = Ti = T 1 Td = T 2
Ti s K p Tc
(7.8)

Proceso Integral
Cuando:
Kp
Gp (s) =
s(T s + a)

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

1
Gc (s) = Kc (Td s + 1) Kc = Td = T (7.9)
K p Tc

Proceso Doblemente Integral


Si Gp (s) = Kp /s2 (proceso doblemente integral), como es el caso de un satélite
en órbita, la ecuación (7.3) toma la forma:

1
Gc (s) = Kc s Kc = (7.10)
K p Tc

Procesos con Respuesta Inversa o con Sobrenivel


Sea el proceso con un cero positivo ubicado en 1/T3 y dos polos negativos ubicados
en −1/T1 y −1/T2 :
Kp (1 − T3 s)
Gp (s) = (7.11)
(T1 s + 1)(T2 s + 1)

el cual, dependiendo de sus parámetros, corresponde a un proceso que posee una


respuesta al escalón inversa (parte de su respuesta al inicio es negativa) o con so-
brenivel. Para esta situación conviene forzar que la señal controlada y(t) sea la curva
de reacción de un proceso de adelanto–atraso de ganancia unitaria y de la forma:

y(s) 1 − T3 s
= (7.12)
r(s) Tc s + 1

Sustituyendo (7.11) y (7.12) en (7.1), la ley de control toma la forma:


 
1 T1
Gc (s) = Kc 1+ (Td s+1) Kc = Ti = T 1 Td = T 2
Ti s Kp (Tc + T3 )
(7.13)
170 Sı́ntesis de Controladores SISO y MIMO

Procesos con Tiempo Muerto


Sea el proceso de primer orden con tiempo muerto de la forma:

Kp e−τ s
Gp (s) = (7.14)
(T s + 1)

En este caso conviene forzar que la señal controlada y(t) sea la curva de reacción de
un proceso de primer orden con tiempo muerto y ganancia unitaria, de la forma:

y(s) e−τ s
= (7.15)
r(s) Tc s + 1

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


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

donde:
T τ Tc
Kc = Ti = T Td = α=
Kp (Tc + τ ) 2 Tc + τ

Ejemplo 7.1

Verificar los controladores sintetizados empleando el método de Dahlin.


Solución: La Fig. 7.2 muestra las respuestas controladas, resultadoS que se obtienen
ejecutando el programa dahlin1.m listado abajo. No se ha considerado el caso G p (s) =
Kp /s2 por simple comodidad.
% dahlin1.m CONTROL DE PROCESOS: MÉTODO DE DAHLIN
clear all; close all; clc; s=tf(’s’);
Kp=2; T=5; T1=4; T2=6; T3=3; Tc=2; Tt=2;
Gp1=Kp; Gp2=Kp/(T*s+1); Gp3=Kp/((T1*s+1)*(T2*s+1)); Gp4=Kp/(s*(T*s+1));
Gp5=Kp*(1-T3*s)/((T1*s+1)*(T2*s+1)); [num,den]=pade(Tt,3);
Gtau=tf(num,den); Gp6=Kp*Gtau/(T*s+1);
Kc1=1/(Kp*Tc); Gc1=Kc1/s; DH1=feedback(Gc1*Gp1,1); subplot(321);
step(DH1,’k’); grid; xlabel(’TIEMPO [s]’); ylabel(’SALIDA’);
title(’CONTROL DE UN PROCESO PROPORCIONAL’);
Kc2=T/(Kp*Tc); Ti=T; Gc2=Kc2*(1+1/(Ti*s)); DH2=feedback(Gc2*Gp2,1);
subplot(322); step(DH2,’k’); grid; xlabel(’TIEMPO [s]’);
ylabel(’SALIDA’); title(’CONTROL DE UN PROCESO DE 1er ORDEN’);
Kc3=T1/(Kp*Tc); Ti=T1; Td=T2; Gc3=Kc3*(1+1/(Ti*s))*(Td*s+1);
DH3=feedback(Gc3*Gp3,1); subplot(323); step(DH3,’k’); grid;
xlabel(’TIEMPO [s]’); ylabel(’SALIDA’);
title(’CONTROL DE UN PROCESO DE 2do ORDEN’);
Kc4=1/(Kp*Tc); Td=T; Gc4=Kc4*(Td*s+1); DH4=feedback(Gc4*Gp4,1);
subplot(324); step(DH4,’k’); grid; xlabel(’TIEMPO [s]’);
ylabel(’SALIDA’); title(’CONTROL DE UN PROCESO INTEGRATIVO’);
Kc5=T1/(Kp*(Tc+T3)); Ti=T1; Td=T2; Gc5=Kc5*(1+1/(Ti*s))*(Td*s+1);
DH5=feedback(Gc5*Gp5,1); subplot(325); step(DH5,’k’); grid;
xlabel(’TIEMPO [s]’); ylabel(’SALIDA’);
title(’PROCESO CON RPTA INVERSA O SOBRENIVEL’);
7.2 Control MIMO vı́a Desacoplamiento 171

CONTROL DE UN PROCESO PROPORCIONAL CONTROL DE UN PROCESO DE 1er ORDEN

1 1
SALIDA

SALIDA
0.5 0.5

0 0
0 2 4 6 8 10 12 0 2 4 6 8 10 12
TIEMPO [s] (sec) TIEMPO [s] (sec)
CONTROL DE UN PROCESO DE 2do ORDEN CONTROL DE UN PROCESO INTEGRATIVO

1 1
SALIDA

SALIDA
0.5 0.5

0 0
0 2 4 6 8 10 12 0 2 4 6 8 10 12
TIEMPO [s] (sec) TIEMPO [s] (sec)
PROCESO CON RPTA INVERSA O SOBRENIVEL CONTROL DE UN PROCESO CON TIEMPO MUERTO

2 1
SALIDA

SALIDA

1 0.5

0 0

−1 −0.5

−2 −1
0 2 4 6 8 10 12 0 5 10 15
TIEMPO [s] (sec) TIEMPO [s] (sec)

Fig. 7.2: Control de procesos empleando controladores sintetizados por el método de


Dahlin.

Kc6=T/(Kp*(Tc+Tt)); Ti=T; Td=Tt/2; alfa=Tc/(Tc+Tt);


% Gc6=Kc6*(1+1/(Ti*s))*((Td*s+1)/(alfa*Td*s+1));
Gc6=(T*s+1)/(Kp*(Tc*s+1-Gtau));
DH6=feedback(Gc6*Gp6,1); subplot(326); step(DH6,’k’); grid;
xlabel(’TIEMPO [s]’); ylabel(’SALIDA’);
title(’CONTROL DE UN PROCESO CON TIEMPO MUERTO’);
print -deps -f dahlin1

7.2. Control MIMO vı́a Desacoplamiento


El controlador MIMO a diseñar requiere de la representación lineal en el espacio
de estado (ecuación (7.17)) o en el dominio de Laplace (ecuación (7.19)) del proceso
MIMO. Tal diseño debe de cumplir los siguientes requerimientos:

1. No interacción.
2. Exactitud estática.
3. Estabilidad.
172 Sı́ntesis de Controladores SISO y MIMO

Controlador Proceso
MIMO MIMO
r(s) e(s) u(s) y(s)
G c(s) G p (s)

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

Para explicar cada uno de tales requerimientos, formulemos las ecuaciones de


estado y de salida del proceso MIMO:

ẋ = Ax + Bu y = Cx + Du (7.17)

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


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

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


y(s) = Gp Gc (s)e(s) e(s) = r(s) − y(s) (7.19)

donde Gp (s) es la matriz de transferencia del proceso, 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 señales
deseadas o set points. En (7.19), el reemplazo de y(s) en e(s) produce:

y(t) = G(s)r(s) G(s) = (I + Go )−1 Go Go (s) = Gp Gc (s) (7.20)

donde G(s) y Go son las matrices de transferencia de lazo cerrado y de lazo abierto
del sistema. La matriz G(s) posee la forma:
 
G11 (s) · · · G1p (s)
 .. .. .. 
G(s) =  . . . 
Gp1 (s) · · · Gpp (s)

En el dominio de Laplace y para condiciones iniciales nulas, el proceso represen-


tado en (7.17) toma la forma:

sx = Ax + Bu x(s) = (sI − A)−1 Bu y(s) = Cx(s) + Du(s)

Reemplazando la expresión de x(s) en la expresión de y(s), se obtiene la matriz de


transferencia Gp (s) del proceso en función de las matrices de su descripción 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.21)


7.2 Control MIMO vı́a Desacoplamiento 173

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

Gij = 0 para i 6= j (7.22)

Una condición necesaria y suficiente para no interacción en un sistema de control


MIMO con realimentación unitaria es que la matriz de transferencia a lazo abierto
Go (s) sea diagonal. Este último requerimiento es fácil de probar. De la Fig. 7.3, vimos
que:
G(s) = [I + Go (s)]−1 Go (s)
Despejamos Go (s):

Go (s) = Gp (s)Gc (s) = G(s)[I − G(s)]−1 (7.23)

Dado que G(s) tiene que ser diagonal por para no interacción, entonces, I − G(s)
también debe de ser diagonal. Por consiguiente, su matriz inversa [I − G(s)] −1 es
también diagonal y de la forma:
 1

1−G11 (s) 0
 1 
 1−G22 (s) 
−1
[I − G(s)] =   
.. 
 . 
1
0 1−Gpp (s)

Por lo tanto, la relación (7.23) resulta en la siguiente matriz diagonal:


 
G11 (s)
0
 1−G11 (s) G22 (s) 
 
 1−G22 (s) 
Go (s) =  ..  (7.24)
 . 
 
Gpp (s)
0 1−Gpp (s)

7.2.2. Exactitud Estática


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 ecuación anterior se obtiene:

lı́m e(t) = lı́m s e(s) = lı́m [I − G(s)] = 0


t→∞ s→0 s→0
174 Sı́ntesis de Controladores SISO y MIMO

Entonces podemos concluir que para exactitud estática (error en estado estable nulo)
se requiere:
lı́m [G(s)] = I (7.25)
s→0

7.2.3. Estabilidad
Para el caso de condiciones iniciales nulas, de (7.21) sabemos que:

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

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

Adj (I − A)
[I − A]−1 =
det(I − A)

donde Adj significa adjunta, det está por determinante y la ecuación polinómica:

det(I − A) = 0 (7.26)

es la ecuación caracterı́stica del sistema y es de gran trascendencia por que sus raı́ces
determinan la estabilidad del mismo como sigue. El sistema (7.17) es estable si todas
las raı́ces caracterı́sticas de 7.26 se localizan en el semiplano izquierdo del plano–s.
Si existe al menos una raı́z en el semiplano derecho del plano–s, entonces el sistema
es inestable. Si todas las raı́ces se localizan en el semiplano izquierdo del plano–s,
excepto al menos una que se ubique en el eje imaginario (el eje vertical del plano–s),
entonces el sistema es oscilante, que para fines prácticos también es inestable.
Es importante anotar que el proceso a controlar puede ser inestable, como es el
caso del proceso posición angular de un motor DC. Sin embargo, el sistema de control,
como el mostrado en la Fig. 7.3 (notar que Gp (s) forma parte de este sistema), debe
de tener comportamiento estable. A continuación se deduce la ecuación caracterı́stica
del sistema de control.
De la Fig. 7.3 se obtiene:

y(s) = [I + Go (s)]−1 Go (s)r(s) Go (s) = Gp (s) Gc (s) (7.27)

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 ecuación caracterı́stica del sistema se expresa como:

det[I + Go (s)] = 0 (7.28)

Entonces, el sistema MIMO de la Fig. 7.3 es estable si todas las raı́ces caracterı́sticas
de (7.28) se localizan en el semiplano izquierdo del plano–s. Si existe al menos una
raı́z en el semiplano derecho del plano–s, entonces el sistema es inestable. Si todas las
raı́ces se localizan en el semiplano izquierdo del plano–s, excepto al menos una que se
ubique en el eje imaginario (el eje vertical del plano–s), luego el sistema es oscilante,
que para fines de operación del sistema controlado, también es inestable.
7.2 Control MIMO vı́a Desacoplamiento 175

Ejemplo 7.2 Control PID MIMO del Proceso Tanque Cerrado

Diseñar un controlador PID MIMO basado en la técnica de desacoplamiento para


controlar el nivel y la temperatura del proceso tanque cerrado descrito en la sub-
sección 2.8.4. Las especificaciones de diseño son: 0 % de sobrenivel y error en estado
estable nulo tanto para el nivel como para la temperatura. Tiempos de estabilización
menores de 400 s para el nivel y 1000 s para la temperatura.
Solución: En la subsección 2.8.4 se determinó el modelo dinámico lineal en el espacio
de estado del proceso MIMO tanque, que como sabemos, posee dos entradas y dos
salidas. De acuerdo a (7.21), la matriz de transferencia del proceso se determina de:
 
−1 Gp11 (s) Gp12 (s)
Gp (s) = C(sI − A) B + D =
Gp21 (s) Gp22 (s)

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


el programa mimopidsimb.m:
 Kp11 Kp11 
  Tp11 s+1 Tp11 s+1
Gp11 (s) Gp11 (s)  
Gp (s) = =  (7.29)
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 diseñar la matriz de control Gc (s), podemos asumir una matriz G(s) de la
forma:  
1
Tniv s+1 0
G(s) =   (7.30)
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 interacción.
2. Dado que G(0) = I, de acuerdo a (7.25), se satisface el requerimiento de exac-
titud estática.
3. Debido a que los elementos de la diagonal de G(s) son funciones de transferen-
cia de primer orden, cuyas raı́ces caracterı́sticas se ubican en la parte izquierda
del plano s, entonces podemos asegurar que se cumple el requerimiento de es-
tabilidad. Además, 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 ecuación (7.23):

Gc (s) = Gp (s)−1 G(s)[I − G(s)]−1 (7.31)

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


ejecución del programa mimopidsimb.m:
     
1 1
Kc11 1 + Tc11 s −Kc12 1 + Tc12 s
 
GC (s) = 
     
 (7.32)
1 1
−Kc21 1 + Tc21 s Kc12 1 + Tc12 s
176 Sı́ntesis de Controladores SISO y MIMO

La Fig. 7.4 muestra en detalle la interconexión de todos los bloques del sistema de
control MIMO del proceso tanque cerrado. Observar que el controlador MIMO se
sintetiza con cuatro controladores PI.

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

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

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

Fig. 7.4: Diagrama de bloques del sistema de control PID MIMO diseñado.

Simulación del Sistema de Control en el Dominio de s


El programa mimopidsimb.m, cuyo listado se muestra abajo, también simula el
sistema de control del tanque cerrado. En el resultado de la simulación (Fig. 7.5)
se observa que el nivel (gráfico superior izquierda) y la temperatura (gráfico supe-
rior derecha) controlados, cumplen las especificaciones de diseño establecidas en el
enunciado del ejemplo.
% mimopidsimb.m CONTROL PI MULTIVARIABLE DEL TANQUE
clear all; close all; clc;
% PARÁMETROS 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;
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];
7.2 Control MIMO vı́a Desacoplamiento 177

Step Response

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


1

0.8

0.6
To: Out(1)

0.4

0.2
Amplitude

0.8

0.6
To: Out(2)

0.4

0.2

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

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

Gp = CC*inv(s*eye(2) -AA)*BB+DD; G=[1/(Tniv*s+1) 0;0 1/(Ttemp*s+1)];


Gc = inv(Gp)*G*inv(I-G); pretty(simple(Gp)), pretty(simple(Gc))
% Gc = [-a21 b11 - b22 s + b22 a11 s - a22 ]
% [-------------------------- --------------------]
% [ (-b22 + b21) b11 s Tniv (-b22 + b21) s Ttemp]
% [ ]
% [a21 b11 + b21 s - b21 a11 -s + a22 ]
% [------------------------- --------------------]
% [ (-b22 + b21) b11 s Tniv (-b22 + b21) s Ttemp]
% Gc11= Kc11*(1+1/(Ti11*s)); Gc12= -Kc12*(1+1/(Ti21*s));
% Gc21= -Kc21*(1+1/(Ti21*s)); Gc22= Kc12*(1+1/(Ti22*s));

Simulación en el Dominio del Tiempo Continuo

De la Fig. 7.4 podemos formular las ecuaciones que gobiernan el controlador


MIMO PID:

1 1
u1 = Kc11 (1 + ) e1 − Kc12 (1 + ) e2 ; e1 = r 1 − y 1
Tc11 s Tc12 s
1 1
u2 = −Kc21 (1 + ) e1 + Kc12 (1 + ) e2 ; e2 = r 2 − y 2 (7.33)
Tc21 s Tc12 s
178 Sı́ntesis de Controladores SISO y MIMO

Empleando aproximación rectangular para los términos integrales 1s , la discretización


de (7.33) 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 discretización.


Para el tiempo (k − 1) las expresiones de u1 (k) y u2 (k) toman la forma:

k−1 k−1
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
k−1
X k−1
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

Teniendo en cuenta que:


k
X k−1
X k
X k−1
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.34)
Tc12

Para programación en tiempo real prescindimos del argumento k. Por consiguiente,


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

donde e1p y e2p son los errores pasados de e1 y e2 respectivamente. La ecuación de


estado del proceso se discretiza como:

x(k) − x(k − 1)
ẋ ∼
= = A x(k) + B u(k)
T

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


7.2 Control MIMO vı́a Desacoplamiento 179

donde:          
x(1) y1 h u1 qC
x= = = u= =
x(2) y2 θ u2 qD
Para programación en tiempo real, la ecuación de estado discreta del proceso toma
la forma:
x = x + T (A x + B u) (7.36)
La simulación del sistema se logra ejecutando el programa pidmimotanque.m, el cual
toma en cuenta las ecuaciones discretas (7.35) y (7.36). El resultado de la simu-
lación se muestra en la Fig. 7.6. Observar que el controlador PID MIMO estabiliza
simultáneamente el nivel y la temperatura cumpliendo las especificaciones de diseño
del caso.
1
NIVEL [m]

0.5

0
0 500 1000 1500 2000 2500 3000 3500 4000
TIEMPO [s]
AGUA FRÍA [m3/s]

0.01

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 [m3/s]

TIEMPO [s]
0

−0.005

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

Fig. 7.6: Resultado de la simulación del sistema de control PID MIMO del tanque:
nivel y temperatura controladas.

% pidmimotanque.m CONTROL PID MIMO DEL PROCESO TANQUE CERRADO CON AGUA
clear all; close all; clc;
% PARÁMETROS
C=0.6; D=0.0159; d=0.0065; beta=d/D; E=(1-beta^4)^(-1/2); rhoD=996;
g=9.81; a=C*E*pi*d^2*rhoD*sqrt(2*g)/4; A=0.0314; rhoH=988; Cp=4186.8;
rhoC=998; thetaH=50+270.15; thetaC=20+270.15;
% VALORES ESTACIONARIOS
barh=0.4; bartheta=35+270.15; barqC=2.16e-4; barqH=0.5e-4;
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) - ...
180 Sı́ntesis de Controladores SISO y MIMO

(rhoC*thetaC*barqC+rhoH*thetaH*barqH)/(rhoD*A*barh^2);
a22=-a/(A*sqrt(barh)); b11=1/A; b12=1/A;
b21=rhoC*thetaC/(rhoD*A*barh); b22=rhoH*thetaH/(rhoD*A*barh);
AA=[a11 0;a21 a22]; BB=[b11 b11;b21 b22]; CC=[1 0;0 1]; DD = [0 0;0 0];
Tniv=60; Ttemp=100;
% PARÁMETROS DEL CONTROLADOR: SE DETERMINAN DE Gc EN mimopidsimb.m
Kc11=b22/((b22-b21)*b11*Tniv); Ti11=b22/(a21*b11-b22*a11);
Kc12=1/((b22-b21)*Ttemp); Ti12=-1/a22; Kc22=Kc12; Ti22=Ti12;
Kc21=b21/((b22-b21)*b11*Tniv); Ti21=b21/(a21*b11-b21*a11);
% CONDICIONES INICIALES
e1p=0; e2p=0; u1=0; u2=0; x = [0.4;20+270.15]; % NIVEL + TEMPERATURA
T = 0.2; M = 20000; % PERIODO DE MUESTREO Y NÚMERO DE MUESTRAS M
for k = 1:M % INICIO DEL LAZO DE CONTROL
if(k >= 0 && k <= M/4), r1 = 0.5; r2=20+273.15; % SE ~NALES DE REFERENCIA
elseif(k >= M/4 && k <= M/2), r1 = 0.2; r2=40+273.15;
elseif(k >= M/3 && k <= 3*M/4), r1 = 0.4; r2=70+273.15;
elseif(k >= 3*M/4 && k <= M), r1 = 0.3; r2=20+273.15; end
R1(k) = r1; R2(k) = r2;
% CALCULO DEl VECTOR DE CONTROL u(t)
e1 = r1 - x(1); Y1(k) = x(1); e2 = r2 - x(2); Y2(k) = x(2);
u1 = u1 + Kc11*(e1-e1p) + Kc11*T*e1/Ti11 ...
- Kc12*(e2-e2p) - Kc12*T*e2/Ti12; U1(k) = u1;
u2 = u2 - Kc21*(e1-e1p) - Kc21*T*e1/Ti21 ...
+ Kc22*(e2-e2p) + Kc22*T*e2/Ti22; U2(k) = u2; u = [u1;u2];
% MODELO LINEAL (DISCRETIZACION DIRECTA)
x = x + T*(AA*x + BB*u); e1p = e1; e2p = e2;
end
% GRÁFICOS
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 ÍA [m^3/s]’),
xlabel(’TIEMPO [s]’)
subplot(4,1,3), plot(ejet,R2,ejet,Y2), grid
ylabel(’TEMPERATURA [K]’), xlabel(’TIEMPO [s]’)
subplot(4,1,4), plot(ejet,U2), grid, ylabel(’AGUA CALIENTE [m^3/s]’),
xlabel(’TIEMPO [s]’), print -f -deps pidmimotanque

Ejemplo 7.3 Control MIMO del Sistema de Plataformas

Diseñar un controlador MIMO basado en la técnica de desacoplamiento para controlar


las salidas y1 e y2 del sistema de plataformas propuesto en el problema 2.6 y mostrado
en la Fig. 2.26. Las especificaciones de diseño son: 0 % de sobrenivel, error en estado
estable nulo y tiempo de estabilización menor de 20 s para ambas salidas. Valorar
todos los parámetros de la planta en 1.
Solución: Seleccionemos como variables de estado x1 = y1 , x2 = y2 , x3 = y˙1 y
x4 = y˙2 , como variables de salida y1 = x1 e y2 = x2 y como variables de entrada u1
y u2 , esto es:  
x1    
 x2  y1 u1
x=   y= u=
x3  y2 u2
x4
7.2 Control MIMO vı́a Desacoplamiento 181

Se puede demostrar (problema 2.6) que las ecuaciones de estado y de salida son:
ẋ = Ax + Bu y = Cx
 
0 0 1 0
 0 0 0 1 
 
A =  − K1 K1 B1
−m B1 
 m1 m1 1 m1 
K1
m2 − (K1m+K
2
2) B1
−m 2
− (B1m+B
2
2)

 
0 0
 
 0 0  1 0 0 0
B=
 m1
 C=
1
0  0 1 0 0
1
0 m2
El programa mimopid02.m, cuyo listado se muestra abajo, simula el sistema de con-
trol pedido. En el resultado de la simulación (Fig. 7.7) se observa que las salidas
controladas y1 (gráfico superior izquierda) e y2 (gráfico superior derecha) controla-
dos, cumplen las especificaciones de diseño requeridas.
Step Response

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


1

0.8

0.6
To: Out(1)

0.4

0.2
Amplitude

0.8

0.6
To: Out(2)

0.4

0.2

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

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

% mimopid02.m CONTROL MULTIVARIABLE DEL SISTEMA DE PLATAFORMAS


clear all; close all; clc;
K1=1; K2=1; B1=1; B2=1; m1=1; m2=1; % PARÁMETROS
% ECUACIÓN 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),’k’)
print -deps -f mimopid02
182 Sı́ntesis de Controladores SISO y MIMO

7.3. Control MIMO con Desacopladores


En la sección anterior, la selección a priori de una matriz de transferencia diagonal
que represente la dinámica del sistema realimentado, resolvió el problema de inter-
acción existente entre las variables de entrada y de salida, es decir, logró desacoplar
al sistema. En esta sección también se va a usar desacoplamiento en el diseño de
un controlador MIMO. Para este caso, los desacopladores van a formar parte de la
configuración del sistema, tal como se observa en la Fig. 7.8, de la cual se obtienen
las siguientes relaciones:

y1 (s) = Gp11 (s)[u1 (s) + D1 (s)u2 (s)] + Gp12 (s)[u2 (s) + D2 (s)u1 (s)]
y2 (s) = Gp22 (s)[u2 (s) + D2 (s)u1 (s)] + Gp21 (s)[u1 (s) + D1 (s)u2 (s)] (7.37)

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,
la primera ecuación de (7.37) se puede expresar como:
 
∆y1 (s)
= D1 (s)Gp11 (s) + Gp12 (s) = 0 (7.38)
∆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 ecuación de (7.37) se tiene:
 
∆y2 (s)
= D2 (s)Gp22 (s) + Gp21 (s) = 0 (7.39)
∆u1 (s) ∆u2 =0

Por consiguiente, los bloques desacopladores se calculan de:


Gp12 (s) Gp21 (s)
D1 (s) = − D2 (s) = − (7.40)
Gp11 (s) Gp22 (s)
Las ecuaciones que gobiernan la dinámica del sistema mostrado en la Fig. 7.8 son:

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

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.42)
Gp21 Gp22 D2 1 0 Gc2
y = Go e Go = Gp DGc (7.43)
donde Gp es la matriz de la planta o proceso, D es la matriz de desacoplamiento, G c
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 parámetros Kc , Ti y Td
tienen que ser sintonizados para cada aplicación.
7.4 Control MIMO Empleando el Criterio de Hurwitz 183

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.8: Sistema de control MIMO con desacopladores D1 y D2 .

Ejemplo 7.4 Control del Sistema de Plataformas usando Desacopladores

Diseñar un controlador MIMO con desacopladores para controlar las salidas y 1 e


y2 del sistema de plataformas propuesto en el problema 2.6 y mostrado en la Fig.
2.26. Las especificaciones de diseño son: 0 % de sobrenivel, error en estado estable
nulo y tiempo de estabilización menor de 20 s para ambas salidas. Valorar todos los
parámetros de la planta en 1.
Solución: El programa mimopid03.m, cuyo listado se muestra abajo, emplea el mo-
delo del sistema de plataformas del Ejemplo 7.3 y simula el sistema de control pedido.
En el resultado de la simulación (Fig. 7.9) se observa que las salidas controladas y 1
(gráfico superior izquierda) e y2 (gráfico superior derecha) controlados, cumplen las
especificaciones de diseño requeridas.
% mimopid03.m CONTROL PID MIMO CON DESACOPLADORES DEL SISTEMA PLATAFORMAS
clear all; close all; clc;
K1=1; K2=1; B1=1; B2=1; m1=1; m2=1; % PARÁMETROS
% ECUACIÓN 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),’k’)
print -deps -f mimopid03

7.4. Control MIMO Empleando el Criterio de Hurwitz


La Fig. 7.10(a) representa el diagrama de bloques de un sistema de control MIMO,
donde el proceso a controlar Gp (s) es una MT (matriz de transferencia) cuadrada de
orden n y Gc (s) es una matriz diagonal de controladores Gcii , también de orden n.
184 Sı́ntesis de Controladores SISO y MIMO

Step Response

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


1

0.8

To: Out(1) 0.6

0.4

0.2
Amplitude

0.8

0.6
To: Out(2)

0.4

0.2

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

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

En una matriz cuadrada, el número m de entradas ui es igual al número de salidas


yi . En el caso que Gp (s) fuera rectangular, el número de entradas m generadas por el
controlador MIMO correspondiente, siempre debe de ser mayor que el número p de
salidas. Sólo en esta situación es posible crear salidas ficticias a fin de hacer cuadrada
a la matriz Gp (s), con la finalidad de poder aplicar el procedimiento de diseño de la
subsección 7.4.1. Las relaciones siguientes se desprenden de la Fig. 7.10(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.10: (a) Sistema de control MIMO con controlador MIMO Gc . (b) Sistema
equivalente.

−1
y(s) = Gp (s)u(s) u(s) = Gc e(s) y(s) = [I + Gp Gc (s)] Gp Gc (s)

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

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

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


7.10(a) o (b) sea estable, los ceros del determinante de T(s) deben de poseer parte real
7.4 Control MIMO Empleando el Criterio de Hurwitz 185

negativa. Empleando el criterio de Hurwitz (subsección 7.4.2), se pueden determinar


los rangos de los parámetros de cada controlador Gcii de Gc para comportamiento
estable del sistema. A continuación se detalla el procedimiento de diseño.

7.4.1. Procedimiento de Diseño


El procedimiento para diseñar un sistema de control MIMO empleando el criterio
de Hurwitz es como sigue:
1. Formular la matriz T(s) = I + Gp Gc (s) (ver Fig. 7.10(b)), donde:
 
Gp11 (s) · · · Gp1n (s)
 .. .. .. 
Gc (s) = diag[Gc11 , . . . , Gcnn ] Gp (s) =  . . . 
Gpn1 (s) · · · Gpnn (s)

2. Determinar la ecuación caracterı́stica del sistema a lazo cerrado a partir de:

D(s) = det[T(s)] = sn + a1 sn−1 + · · · + an−1 s + an = 0

3. Emplear el criterio de Hurwitz (ver siguiente subsección) 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.10(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 diseño previamente establecidas.

7.4.2. El Criterio de Hurwitz


El criterio de Hurwitz, que es equivalente al conocido criterio de Routh–Hurwitz,
se basa en la construcción de la matriz Hurwitz a partir de la ecuación caracterı́stica
D(s) del sistema realimentado:

D(s) = sn + a1 sn−1 + a2 sn−2 + a3 sn−3 + · · · + an−1 s + an


 
a1 a3 a5 . . . 0 0
 1 a 2 a4 . . . 0 0 
 
 0 a 1 a3 . . . 0 0 
 
H =  0 1 a ... 0 0 
 2 
 . .. .. . . .. .. 
 . . . . . . . 
0 0 0 . . . an−2 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
186 Sı́ntesis de Controladores SISO y MIMO

Ejemplo 7.5 Control MIMO de un Proceso

Empleando el procedimiento de diseño de la subsección 7.4.1 diseñar un controlador


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

las especificaciones de diseño para los dos canales (salidas) son: tiempo de estabi-
lización menor de 2 s, error en estado estable nulo y porcentaje de sobrenivel también
nulo.
Solución: Ejecutar el programa pmimo1.m, el cual sigue el procedimiento de diseño
arriba establecido. La Fig. 7.11 muestra que las salidas controladas del proceso
cumplen las especificaciones de diseño para las ganancias K1 = 2 y K2 = –1.5.
Es necesario anotar que con estos valores de las ganancias, se satisfacen simultánea-
mente las condiciones H1 > 0, H2 > 0, H3 > 0 y H4 > 0 establecidas en el criterio
de Hurwitz.

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

% pmimo1.m CONTROL P MIMO USANDO LA MATRIZ DE RETORNO DE LA DIFERENCIA


clear all; close all; clc; I = eye(2); syms s K1 K2;
Gp=[3/s -280/(s*(s+6)*(s+30));0.05/s -200/(s*(s+6)*(s+30))];
K=[K1 0;0 K2]; D=det(I+Gp*K); % pretty(D) % D=s^4+a1*s^3+a2*s^2+a3*s+a4
a1=36+3*K1; a2=180+108*K1; a3=-200*K2+540*K1; a4=-586*K1*K2;
H=[a1 a3 0 0;1 a2 a4 0;0 a1 a3 0;0 1 a2 a4]; H1=a1;
H2=det([a1 a3;1 a2]); H3=det([a1 a3 0;1 a2 a4;0 a1 a3]); H4=det(H);
% H1 > 0 => K1 > -12; H2 > 0 CON K = -12 => K2 <3 2.4
7.5 Problemas 187

% PARA TENER K1 Y K2 EN EL SEMIPLANO IZQUIERDO DE K1 VS K2 SELECCIONAMOS:


% 0 <= K1 <= 12, -32 <= K2 <= 0; TOMEMOS:
K1=2; K2=-1.5; K=[K1 0;0 K2]; s=tf(’s’);
Gp=[3/s -280/(s*(s+6)*(s+30));0.05/s -200/(s*(s+6)*(s+30))];
G=feedback(Gp*K,I); step(G), print -deps -f pmimo1

7.5. Problemas
Problema 7.1 Turbina

Elaborar un programa en Simulink para controlar el proceso turbina descrito en el


problema 2.2 aplicando el método de Dahlin. El set point es arbitrario. Asumir valores
apropiados de los parámetros necesarios.

Problema 7.2 Tanque Almacenador de Gas

Elaborar un programa en Simulink para controlar el proceso tanque almacenador


de gas descrito en el problema 2.4 aplicando el método de Dahlin. Asumir valores
apropiados de los parámetros en juego. El set point es arbitrario.

Problema 7.3 Flujo en una Tuberı́a

Elaborar un programa en Simulink para controlar el proceso flujo en una tuberı́a


mostrado en la Fig. 2.1 aplicando el método de Dahlin. Asumir valores apropiados
de los parámetros en juego. El set point es arbitrario.

Problema 7.4 Flujo en una Faja de Transporte

Elaborar un programa en Simulink para controlar el proceso flujo en una faja de


transporte mostrado en la Fig. 2.2 aplicando el método de Dahlin. Asumir valores
apropiados de los parámetros en juego. El set point es arbitrario.

Problema 7.5 Nivel en un Tanque Cerrado

Elaborar un programa en Simulink para controlar el proceso nivel en un tanque cer-


rado mostrado en la Fig. 2.3 aplicando el método de Dahlin. El set point es arbitrario.

Problema 7.6 Temperatura en un Tanque con Agitador

Elaborar un programa en Simulink para controlar el proceso temperatura en un


tanque con agitador mostrado en la Fig. 2.5 aplicando el método de Dahlin. Asumir
valores apropiados de los parámetros en juego. El set point es arbitrario.

Problema 7.7 Circuito con Opamps

Elaborar un programa en Simulink para controlar el proceso circuito con opamps


mostrado en la Fig. 2.6 aplicando el método de Dahlin. Asumir valores apropiados
de los parámetros en juego. El set point es arbitrario.

Problema 7.8 Tanques en Cascada


188 Sı́ntesis de Controladores SISO y MIMO

Elaborar un programa en Simulink para controlar el proceso tanques en cascada


mostrado en la Fig. 2.7 aplicando el método de Dahlin. Asumir valores apropiados
de los parámetros en juego. El set point es arbitrario.

Problema 7.9 Satélite

Elaborar un programa en Simulink para controlar el proceso satelite mostrado en la


Fig. 2.10 aplicando el método de Dahlin. Asumir valores apropiados de los parámetros
en juego. El set point es arbitrario.

Problema 7.10 Posición de un Motor DC

Elaborar un programa en Simulink para controlar el proceso posición θ de un motor


DC descrito por la FT: θ(s)/u(s) = 3/(s(s + 5)). Usar el método de Dahlin. Asumir
valores apropiados de los parámetros en juego. El set point es arbitrario.

Problema 7.11 Temperatura en un Horno

Elaborar un programa en Simulink para controlar el proceso temperatura θ en un


horno industrial descrito por la FT: θ(s)/u(s) = 2e−6s /(s(7s + 1)). Usar el método
de Dahlin. Asumir valores apropiados de los parámetros en juego. El set point es
arbitrario.

Problema 7.12 Proceso Tanque Cerrado

Basado en las técnicas descritas en las secciones 7.3 y 7.4, diseñar los controladores
MIMO para controlar el nivel y la temperatura del proceso tanque cerrado descrito
en la subsección 2.8.4. Las especificaciones de diseño tanto para el nivel como para
la temperatura son: 0 % de sobrenivel, error en estado estable nulo y tiempos de
estabilización lo más rapido posible.

Problema 7.13 Sistema de Plataformas

Basado en la técnica descrita en la sección 7.4, diseñar un controlador P MIMO


para el sistema de plataformas mostrado en la Fig. 2.26 y descrito en el problema
2.6. Las especificaciones de diseño para cada salida controlada es: minimo porcentaje
de sobrenivel, error en estado estable nulo y tiempo de estabilización lo más rapido
posible.

Problema 7.14 Manipulador Polar Vertical

La Fig. 7.12 muestra un manipulador robótico polar vertical de 2GDL. Su modelo de


Lagrange es:
      
T1 m1 L21 + m2 d22 0 θ̈1 2d2 m2 θ̇1 d˙2
= +
F2 0 m2 d¨2 −d2 m2 θ̇12
donde las fuerzas de control son el torque rotacional T1 y la fuerza traslacional F2 ,
mientras que θ1 y d2 son la posición angular y el desplazamiento lineal, respectiva-
mente. Asuma Usted valores adecuados de los parámetros y seleccione como vector
de estado:
[θ1 d2 θ̇1 d˙2 ]T
7.5 Problemas 189

Para un determinado punto de operación de su elección, pero diferente del origen,


obtenga el modelo lineal del manipulador en el espacio de estado aplicando el método
del jacobiano descrito en la subsección A.6.2.
Basado en las técnicas descritas en las secciones 7.2, 7.3 y 7.4, diseñar los contro-
ladores PID MIMO para el manipulador polar vertical. Las especificaciones de diseño
para cada salida controlada es: minimo porcentaje de sobrenivel, error en estado es-
table nulo y tiempo de estabilización lo más rapido posible.

L
F

m1
z
m2
x
z
d θ

T L

d
θ y

(a) (b)

Fig. 7.12: Manipulador robótico polar vertical de 2GDL.

Problema 7.15 Manipulador Polar Horizontal

La Fig. 7.13 muestra un manipulador robótico polar horizontal de 2GDL extraı́do de


[28]. Demuestre que su modelo de Lagrange es:
      
T1 m1 L21 + m2 d22 0 θ̈1 2d2 m2 θ̇1 d˙2 + m1 gL1 cosθ1 + m2 gd2 cosθ1
= +
F2 0 m2 d¨2 −d2 m2 θ̇12 + m2 gsenθ1

donde las fuerzas de control son el torque rotacional T1 y la fuerza traslacional F2 ,


mientras que θ1 y d2 son la posición angular y el desplazamiento lineal, respectiva-
mente. Asuma Usted valores adecuados de los parámetros y seleccione como vector
de estado:
[θ1 d2 θ̇1 d˙2 ]T
Para un determinado punto de operación de su elección, pero diferente del origen,
obtenga el modelo lineal del manipulador en el espacio de estado aplicando el método
del jacobiano descrito en la subsección A.6.2.
Basado en las técnicas descritas en las secciones 7.2, 7.3 y 7.4, diseñar los con-
troladores PID MIMO para el manipulador polar horizontal. Las especificaciones de
diseño para cada salida controlada es: minimo porcentaje de sobrenivel, error en
estado estable nulo y tiempo de estabilización lo más rapido posible.

Problema 7.16 Motor Sı́ncrono de Imán Permanente


190 Sı́ntesis de Controladores SISO y MIMO

m1 F

L m2 z
x θ

Fig. 7.13: Manipulador robótico polar horizontal de 2GDL.

El modelo matemático de un motor sı́ncrono de imán permanente (MSIP) en un


sistema de referencias sı́ncronas, o el denominado sistema d–q, se formula como:
dφd dφq
vd = R i d + − ω φq vq = R i q + + ω φd
dt dt
φd = L d i d + φ m φq = L q i q
3 dωr
Te = p[φm iq − (Lq − Ld ) id iq ] = TL + B ωr + J
2 dt
ω = p ωr

vd , vq Voltajes en los ejes d y q del estator V


id , iq Corrientes en los ejes d y q del estator A
φd , φq Flujos magnéticos en los ejes d y q Wb
φm Flujo creado por los magnetos del rotor 0.167 Wb
R Resistencia del estator 4.1 ohm
Ld = L q Inductancias en los eje d y q del estator 0.0068 H
Te Torque electromagnético N.m
TL Torque de carga 0 N.m
J Momento de inercia 0.078×10−4 kg.m2
B Coeficiente de fricción viscosa 2.22×10−4 N.m.s/rad
p Número de pares de polos 2
ωr Velocidad angular del rotor rad/s
ω Velocidad angular eléctrica rad/s

Seleccione un vector de estados con elementos id , iq y ω, como entradas los voltajes


vd y vq y como salidas las corrientes id e iq . Para un determinado punto de operación
de su elección, pero diferente del origen, obtenga el modelo lineal del MSIP en el
espacio de estado aplicando el método del jacobiano descrito en la subsección A.6.2.
Basado en las técnicas descritas en las secciones 7.2, 7.3 y 7.4, diseñar los con-
troladores PID MIMO para el MSIP. Las especificaciones de diseño para cada salida
controlada es: minimo porcentaje de sobrenivel, error en estado estable nulo y tiempo
de estabilización lo más rapido posible.
Capı́tulo 8

Control Predictivo

En este capı́tulo se desarrolla un procedimiento para diseñar sistemas de control


predictivo SISO basado en modelos. El algoritmo de control predictivo empleado es el
denominado Control Matricial Dinámico (DMC: Dynamic Matrix Control).
Para validar el procedimiento de diseño propuesto, se presentan varios ejemplos de
diseño, empleando leyes del Control Matricial Dinámica, en sus versiones escalar y ma-
tricial.

8.1. Control Predictivo Basado en Modelos


El control predictivo basado en modelos [31], [30] es una metodologı́a de control
que usa el modelo del proceso para calcular y optimizar las predicciones de las acciones
de control y de la salida controlada. Esta metodologı́a se ha desarrollado alrededor
de ciertos principios, dos de los cuales son:

Empleo de un modelo del proceso para pronosticar su salida a controlar en


instantes de tiempo futuro.
Cálculo de una acción de control óptima basada en la minimización de funciones
de costo, posiblemente incluyendo restricciones en las variables manipuladas
controladas.
Los diferentes miembros de la familia del control predictivo basado en modelos
difieren principalmente, valga la redundancia, en el modelo usado para representar el
proceso con sus perturbaciones, y en las funciones de costo a ser minimizadas (con o
sin restricciones).
De la gama de algoritmos de control predictivo existentes, nos ocupamos en par-
ticular del denominado Control Matricial Dinámico. Para validar el procedimiento
de diseño propuesto, se presentan varios ejemplos de diseño.
Es importante resaltar que el control predictivo es de naturaleza abierta y cuen-
ta con muchas contribuciones, tanto en lo académico como también en el mundo
industrial. Muchas aplicaciones del control predictivo son usadas hoy en todos los
campos de la actividad industrial. El buen rendimiento de tales aplicaciones es muy
apreciada; por ello, sigue existtiendo un creciente interés en esta metodologı́a.
192 Control Predictivo

8.2. Principios del Control Predictivo


El control predictivo pronostica la salida de la planta en un escenario de tiempo
de duración N2 (el horizonte de tiempo N2 ). Tal predicción depende de las salidas
y entradas pasadas, pero también del escenario del control futuro. La obtención del
modelo que refleje lo más fielmente posible la evolución dinámica de la planta, es la
llave del éxito en las aplicaciones. La notación usada para derivar los principios del
control predictivo es la siguiente:

t, representa el tiempo discreto (t = 0, 1, 2, . . . ).


u(t), denota la entrada al proceso y constituye la variable manipulada o señal
de control.
y(t), es la salida del proceso y constituye la la variable controlada.
w(t), representa la trayectoria deseada (“set point”).
r(t), denota la trayectoria de referencia.
u(t + k/t), denota los valores futuros de la entrada en el tiempo t + k postulados
en el tiempo t, o simplemente, dado t.
y(t + k/t), denota los valores futuros de la salida basado en las mediciones
disponibles en el tiempo t:

{y(t), y(t − 1), . . . , u(t − 1), u(t − 2), . . .}

y en los valores futuros de la entrada postulados en el tiempo t:

{u(t/t), u(t + 1/t), . . .}

Con relación a la figura 8.1, el principio del control predictivo se caracteriza por
la siguiente estrategia:

En cada tiempo t, la salida del proceso y(t + k) se pronostica sobre un horizonte


k = 1 . . . N2 . Los valores pronosticados se denotan como y(t + k/t) y a N2 se
le denomina el horizonte de predicción. La predicción se realiza mediante el
modelo del proceso, el cual se asume que está disponible. El pronóstico en
cuestión depende de las entradas y salidas pasadas, pero también del escenario
del control futuro u(t + k/t), k = 0, . . . , N2 − 1; es decir, de las acciones de
control que se intentan aplicar a partir del tiempo t.
Una trayectoria de referencia r(t + k/t), k = 1, . . . , N2 , que se inicia en r(t/t) =
y(t) y se define sobre el horizonte de predicción. Esta trayectoria describe la for-
ma de guiar la salida del proceso desde su valor actual y(t) hasta la trayectoria
deseada w(t).
El vector de control u(t + k/t), k = 0, . . . , N2 − 1, se calcula para minimizar
una función de costo especı́fica que depende del error del control predictivo
r(t + k/t) − y(t + k/t), k = 1, . . . , N2 .
Al proceso real sólo se le aplica el primer elemento del vector de control óptimo
calculado u(t + k/t), k = 0, . . . , N2 − 1, mientras que se dejan de lado los
demás elementos de dicho vector. En el próximo instante de muestreo, todas
las secuencias temporales se desplazan para dar cabida a las nuevas mediciones
de la salida y(t + 1) y a las del vector de control u(t + k + 1/t + 1), cuyo primer
8.3 El Modelo del Proceso 193

w(t+k/t)

r(t+k/t) y(t+k/t)

Error
Horizonte de
optimización

k k+N1 k+N2 k=t/ t


(a)
u(t+k/t) Actual
Predictivo
Pasado
Horizonte
de control

k k+Nu −1 k=t/ t
(b)

Fig. 8.1: Estrategia del control predictivo. (a) Señales: deseada (w(t)), de referencia
(r(t)) y de salida predictiva (y(t + k/t)). (b) Señal de control predictivo u(t).

elemento es generalmente diferente al primer elemento del vector u(t + k/t),


previamente calculado. Este principio se denomina estrategia del “horizonte
retroactivo”.

Por consiguiente, la estrategia del control predictivo comprende: el proceso de


predicción a través de un modelo del proceso, la especificación de una trayectoria de
referencia, la estructuración de la futura ley de control, la definición de la función de
costo (y sus restricciones) y el cálculo del escenario de control óptimo. Tal estrategia
puede ser visualizada en el diagrama de bloques mostrado en la Fig. 8.2.

Entradas y
salidas Salidas + Trayectoria de
pasadas predecidas referencia
MODELO -
Entradas
futuras
OPTIMIZADOR

Funcion
’ de costo restricciones

Fig. 8.2: Estrategia del Control Predictivo Basado en Modelos

8.3. El Modelo del Proceso


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

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


194 Control Predictivo

tal como se ilustra en la Fig. 8.3, donde y(t) es la salida medible del proceso, u(t) es
la entrada al proceso (la señal de control), x(t) es la salida del modelo y n(t) es el
disturbio en el proceso.

n
u x y
MODELO

Fig. 8.3: Modelo del proceso bajo perturbaciones.

El Disturbio n(t)

La señal de disturbio n(t) incluye todos los efectos no deseados en la salida y(t).
Esta señal representa el efecto conjunto de todos los disturbios sobre el proceso,
otras entradas no medibles, ruido de medición, errores de modelado, incertidumbres,
etc. Una forma de modelar al disturbio consiste en introducir un ruido blanco e(t)
a un filtro. La salida del filtro, la señal de disturbio n(t) de interés, también es un
ruido pero coloreado. Los conceptos de ruido blanco y ruido coloreado se detallan a
continuación.
El ruido blanco e(t) es una señal aleatoria cuyos valores poseen una media o val-
or esperado nulo y una determinada distribución estadı́stica f (e). Esta distribución
puede ser uniforme, tal como se muestra en la Fig. 8.4 o gaussiana (la famosa cam-
pana). Si analizamos las señales de un ruido blanco en dos bases de tiempo diferentes,
encontraremos que tales valores no guardan correlación estadı́stica alguna entre ellas;
es decir, tales valores no están correlacionados. Sea e un vector de ruido blanco. La
media y la autocorrelación R(τ ) de e se expresan como:

E[e] = 0 R(τ ) = E[eeT ] = σ 2 I

donde τ es una base de tiempos arbitraria, E[.] es el operador estadı́stico esperanza,


I es la matriz identidad y σ 2 es conocida como la varianza. La densidad espectral de
potencia S(ω) del ruido blanco se halla tomando la transformada de Fourier de σ 2 I,
resultando la varianza σ 2 ; es decir, un espectro de frecuencias de magnitud constante
e igual a σ 2 , para un rango de frecuencias con intervalo < +∞, −∞ >, tal como se
muestra en la Fig. 8.4, donde también se ilustran las caracterı́sticas autocorrelación
R(τ ), densidad espectral de potencia S(ω) y distribución f (n) del ruido coloreado.
Cualquier ruido, sea z, que no cumpla las dos caracterı́sticas estadı́sticas del ruido
blanco, se denomina ruido coloreado. Tal como se mencionaba anteriormente, si ten-
emos una fuente generadora de ruido blanco, es fácil obtener ruido coloreado. Basta
pasar el ruido blanco por un filtro. A la salida del filtro tendremos ruido coloreado,
caracterizado por poseer un espectro de frecuencias no uniforme.
Matemáticamente, el disturbio n(t), que es de carácter estocástico, puede ser
modelado mediante un filtro coloreado de la forma:

n(t) C(z −1 )
= (8.2)
e(t) D(z −1 )
8.3 El Modelo del Proceso 195

R(τ ) R(τ )

σ2 Autocorrelación
τ τ
0 0
f(e) f(n)
... ... e n
e Filtro e
0 Ruido Ruido 0
blanco coloreado
uniforme
S(ω) S(ω)
Densudad
... ... espectral
de potencia
ω
0 0 ω

Fig. 8.4: Ruido blanco y ruido coloreado, con sus caracterı́sticas estadı́sticas.

donde z −1 es el operador de desplazamiento, e(t) es un ruido blanco no correlacionado


con media cero, y los polinomios son de la forma:
C(z −1 ) = 1 + c1 z −1 + · · · + cnc z −nc (8.3)
−1 −1 −nd
D(z ) = 1 + d1 z + · · · + d nd z (8.4)
El filtro de disturbio debe diseñarse: para eliminar disturbios en el estado estable
(cuando z = 1), como filtro selectivo (para eliminar una determinada frecuencia)
y para incrementar la robustez del sistema en la presencia de errores de medición.
Estructuras tı́picas de los polinomios del filtro pueden ser:
C(z −1 ) = 1 + cz −1 ; D(z −1 ) = (1 + dz −1 )(1 − z −1 )
Los conceptos de ruido blanco y filtro coloreado se explican en el ejemplo ??. De la
ecuación (8.2) podemos despejar:
C(z −1 )n(t) = D(z −1 )e(t)
El operador de desplazamiento z −1 está relacionado con el tiempo discreto t como
sigue:
[1 + c1 z −1 + · · · + cnc z −nc ]n(t) = n(t) + c1 n(t − 1) + · · · + cnc n(t − nc ) (8.5)
[1 + d1 z −1 + · · · + dnd z −nd ]e(t) = e(t) + d1 e(t − 1) + · · · + dnd e(t − nd ) (8.6)

La Salida x(t) del Modelo


La señal x(t) representa el efecto del proceso en la salida y(t) debido a la entrada
u(t). De nuevo, x(t) no es una señal medible. En general, la relación entre u(t) y x(t)
puede representarse mediante un modelo dinámico genérico de la forma:
x(t) = f (x(t − 1), x(t − 2), . . . , u(t − 1), u(t − 2), . . .) (8.7)
196 Control Predictivo

donde f (.) es una función que puede estructurarse de diversas formas. Es decir,
f (.) puede ser una ecuación de diferencias, una red neuronal o una caja negra con
parámetros a ser estimados. Notar en (8.7) que cuando no se considera n(t), entonces:
x(t) = y(t), x(t − 1) = y(t − 1), y ası́ sucesivamente.

El Modelo CARIMA
El modelo CARIMA, del inglés Controlled Autoregressive Integrated Moving Av-
erage, es un modelo lineal básico y bastante extendido en su aplicación, y es pre-
cisamente el que emplearemos. Tal modelo CARIMA para un determinado proceso
puede ser representado por:
C(z −1 )
A(z −1 )y(t) = B(z −1 )u(t) + e(t) (8.8)
D(z −1 )
donde z es la variable de desplazamiento de la transformada Z, y:

A(z −1 ) = 1 + a1 z −1 + ... + ana z −na (8.9)


−1 −1 −nb
B(z ) = b1 z + ... + bnb z (8.10)

El origen del término CARIMA se debe a que la ecuación de diferencias del modelo
del proceso presenta tres componentes, a saber, la componente salida autoregresiva
A(z −1 )y(t), de donde despejamos y(t):

y(t) = − a1 y(t − 1) − a2 y(t − 2) − ... − ana y(t − na )

el componente promedio temporal de control B(z −1 )u(t), es decir:

+ b0 u(t − 1) + b1 u(t − 2) + ... + bnb u(t − nb − 1)


C(z −1 )
y el componente promedio temporal integrado del error D(z −1 )
e(t):

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


+
D(z −1 )
Por ejemplo, para un proceso de segundo orden sin presencia de perturbaciones; esto
es, con C(z −1 ) = 0, la representación CARIMA toma la forma:
B(z −1 ) b1 z −1 + b2 z −2
y(t) = x(t) = u(t) = u(t) (8.11)
A(z −1 ) 1 + a1 z −1 + a2 z −2
la cual conduce a la ecuación de diferencias:

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

El modelo lineal CARIMA más generalizado es de la forma:


B(z −1 ) C(z −1 )
A(z −1 )y(t) = u(t) + e(t) (8.13)
F (z −1 ) D(z −1 )
Notar en (8.13) que la salida y(t) del modelo también cumple que (ver ecuación (8.1)):
B C
y(t) = x(t) + n(t) x(t) = u(t) n(t) = e(t)
AF AD
8.3 El Modelo del Proceso 197

La representación predictiva de la última expresión es:

y(t + k/t) = x(t + k/t) + n(t + k/t) (8.14)

donde:
B C
x(t + k/t) = u(t + k/t) n(t + k/t) = e(t + k/t)
AF AD

Ejemplo 8.1
El modelo lineal de orden dos de un servomotor DC puede ser descrito por las si-
guientes ecuaciones en el espacio de estado:

q̇ = w
ẇ = −c1 q − c2 w + c3 u

donde q es la posición angular y w = dq/dt es la velocidad angular. Asumiendo que


el ruido de medición n(t) en la posición del eje del servomotor (la salida del proceso)
es coloreado y de la forma:
1
n(t) = e(t)
1 − z −1
determine su modelo CARIMA.
Solución: La función de transferencia de pulso del proceso de segundo orden posee
la forma:
q(z) b1 z + b2 b1 z −1 + b2 z −2 B(z −1 )
= 2 = =
u(z) z + a1 z + a2 1 + a1 z −1 + a2 z −2 A(z −1 )
Añadiendo el ruido de medición obtenemos:
B(z −1 ) B(z −1 ) 1
y(z) = u(z) + n(t) = u(z) + e(t)
A(z −1 ) A(z −1 ) 1 − z −1

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


donde e(t) es ruido blanco gaussiano con media nula. La ecuación de diferencias del
proceso ruidoso se obtiene despejando y(t) de la última expresión:

y(t) = (1 − a1 )q(t − 1) + (a1 − a2 )q(t − 2) + a2 q(t − 3)+

b1 u(t − 1) + (b2 − b1 )u(t − 2) − b2 u(t − 3) + e(t) + a1 e(t − 1) + a2 e(t − 2)

Ejemplo 8.2

Comparar las respuestas no ruidosa q(t) y ruidosa y(t) del ejemplo anterior. Los
parámetros requeridos se derivan de un proceso de segundo orden cuyas ecuaciones
de estado y de salida son conocidas. La respuesta q(t) se obtiene cuando la entrada al
proceso es una sinusoide u(t), mientras que la ruidosa y(t) se debe a un ruido blanco
gaussiano que se añade a q(t). Asumir un tiempo de muestreo de T = 0.01 s.
Solución: La solución del problema planteado se detalla en el programa ejruido.m.
Los resultados se muestran en la Fig. 8.5. Observar en la Fig. inferior que el ruido
e(t) empleado posee media cero y una función de distribución gaussiana.
198 Control Predictivo

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


clear all; close all; clc;
% PROCESO CONTINUO DE SEGUNDO ORDEN Y SU MODELO DISCRETO
Ac = [0 1;-14.4007 -1.2707]; Bc = [0;30.4696]; Cc = [1 0]; Dc = [0];
T = 0.01; [G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,’zoh’); [num,den]=ss2tf(G,H,C,D);
a1 = den(2); a2 = den(3); b1 = num(2); b2 = num(3);
% CONDICIONES INICIALES NULAS
qp=0; qpp=0; up=0; upp=0;
yp=0; ypp=0; yppp=0; ep=0; epp=0;
% RESPUESTAS DEL PROCESO
MM = 1000; for t=1:MM; u=sin(0.006*t); U(t)=u; % SINUSOIDE DE ENTRADA
q = -a1*qp -a2*qpp + b1*u + b2*up; Q(t)=q; % RESPUESTA NO RUIDOSA
e = 0.1*randn; E(t)=e; % RUIDO BLANCO GAUSSIANO, MEDIA NULA, VARIANZA 0.1
y = (1-a1)*yp + (a1-a2)*ypp + a2*yppp ...
+ b1*u + (b2-b1)*up - b2*upp + e + a1*ep + a2*epp; Y(t)=y;
yppp=ypp; ypp=yp; yp=y; upp=up; up=u; epp=ep; ep=e;
end
% GRAFICOS
ejex = linspace(0,MM*T,MM); subplot(5,1,1); plot(ejex,U); grid
ylabel(’u(t) [V]’); xlabel(’TIEMPO [s]’); subplot(5,1,2);
plot(ejex,Q); grid; ylabel(’q(t) [rad]’); xlabel(’TIEMPO [s]’);
subplot(5,1,3); plot(ejex,Y); grid; ylabel(’y(t) [rad]’)
xlabel(’TIEMPO [s]’); subplot(5,1,4); plot(ejex,E); grid;
ylabel(’e(t) [rad]’); xlabel(’TIEMPO [s]’); subplot(5,1,5); hist(E);
ylabel(’e(t) GAUSS.’); xlabel(’<------ e(t) ------>’);
print -f -deps ejruidor

8.4. El Controlador Predictivo


8.4.1. Objetivo del Controlador
El objetivo del controlador predictivo es determinar el vector de control:

u(t + k/t), k = 0, . . . , N2 − 1

que minimice la siguiente función de costo:


N2
X NX
u −1

J= [r(t + k/t) − y(t + k/t)]2 + λ [∆u(t + k/t)]2 (8.15)


k=N1 k=0

donde :
∆u(t + k/t) = u(t + k/t) − u(t + k − 1/t) (8.16)
con ∆u(t + k/t) = 0 para k ≥ Nu . La trayectoria de referencia está representada por
la ecuación:
r(t + k/t) = αr(t + k − 1/t) + (1 − α)w(t + k/t) (8.17)
evaluada para k = 1, . . . , N2 , con r(t/t) = y(t). Los parámetros de diseño son:

N1 : horizonte de predicción mı́nimo.


N2 : horizonte de predicción máximo; por defecto podemos considerar N 2 =
N1 + 1, . . . , N1 + 10.
8.4 El Controlador Predictivo 199

u(t) [V] 1
0
−1
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]
−3
x 10
5
q(t) [rad]

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

5
y(t) [rad]

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

0.5
e(t) [rad]

0
−0.5
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]
e(t) GAUSS.

400
200
0
−0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4
<−−−−−− e(t) −−−−−−>

Fig. 8.5: Respuestas del ejemplo 8.2.

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

N1 , . . . , N2 : horizonte de coincidencia; por defecto considerar N1 (tiempo muer-


to).
λ: parámetro de ponderación; por defecto considerar cero.
α: parámetro de filtraje; por defecto considerar cero.
Si la trayectoria deseada w(t) se programa previamente, entonces los valores futuros
w(t+k) se pueden emplear para determinar w(t+k/t). Es decir, w(t+k/t) = w(t+k)
para k = 1, . . . , N2 . Si no deseamos una estrategia de control predictivo en avance, el
valor actual w(t) se puede usar como un valor de predicción w(t + k/t) = w(t) para
k = 1, . . . , N2 .
Es importante observar además que:
1. La trayectoria de referencia dada en (8.17) constituye un filtro de primer orden
para w(t). Este filtro se puede representar mediante la siguiente función de
transferencia:
r(z) 1−α z(1 − α)
= −1
= (8.18)
w(z) 1 − αz z−α

2. El filtro para w(t) se puede implementar fuera del lazo de control, no afectando
de esta manera a la estabilidad del sistema, pero sı́ contribuyendo al rechazo
del ruido.
200 Control Predictivo

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

N u =4

“”“”•“•“ u
”
¢ £ £ ¢ ¤”¤”¥¤¥¤ ¨”©¨© ª”ª”ªª ¬”­¬­ ®”®”®® °”±°± ²”²”²²
u(t+k/t)

”–”– —–—– š”š ž”ŸžŸ  ” ”¡ ¡  ¢”¢ ¦”¦”§¦§¦ ¨”¨ «« ¬”¬ ¯¯ °”° ³³
™˜™˜ š”š œ”œ ž”ž
›› œ”œ
o o o o
o o o o
o o o o o o o o o o o o o o o o
o o o o o
o o o
r=w
y y(t+k/t)
N1 N2
PASADO FUTURO
TIEMPO ACTUAL t

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

8.4.2. Respuesta Libre y Respuesta Forzada


Conceptualmente, la respuesta futura y(t + k/t) puede ser considerada como el
resultado acumulativo de dos efectos:

y(t + k/t) = ylibre (t + k/t) + yf orz (t + k/t) (8.19)

donde el subı́ndice forz indica forzada. La respuesta libre ylibre (t + k/t) aparece como
consecuencia de los factores siguientes:
El efecto debido a las señales de control pasadas u(t − 1), u(t − 2), . . .
El efecto debido a un escenario de control futuro. Por defecto se tiene u(t/t) =
u(t − 1), u(t + 1/t) = u(t − 1), u(t + 2/t) = u(t − 1), . . .; esto es, ∆u(t/t) =
∆u(t + 1/t) = . . . = ∆u(t + Nu − 1/t) = 0.
El efecto debido a las perturbaciones futuras del ruido n(t + k/t).
Las condiciones iniciales a tomar son: y(t), y(t − 1), . . . , y(t − n), donde n es el orden
del proceso.
La componente forzada yf orz (t+k/t) aparece debido al efecto causado por cambios
consecutivos de la variable manipulada, tanto en el tiempo actual como en el tiempo
futuro. Es decir, originado por las acciones de control ∆u(t/t), ∆u(t + 1/t), . . . ,
∆u(t + Nu − 1/t), con las condiciones iniciales: y(k) = y(k − 1) = · · · = y(k − n) = 0.
La Fig. (Fig. 8.7(c)) muestra el efecto conjunto de las respuestas libre y forzada
en un proceso lineal, donde tales respuestas se pueden sumar gracias a que se cumple
el principio de superposición. Desafortunadamente, el principio de superposición no
es válido para procesos no lineales.
Por consiguiente, el efecto acumulativo de la acción conjunta de los escalones es:

yf orz (t + k/t) = gk ∆u(t/t) + gk−1 ∆u(t + 1/t) + · · · + gk−Nu +1 ∆u(t + Nu − 1/t) (8.20)
8.4 El Controlador Predictivo 201

y
3
Respuestas libre más forzada
2 Señal de referencia

1
Respuesta libre
0 Respuesta forzada
t
u Señales de control para
2 la respuesta lforzada

1
Señales de control para
0 la respuesta libre
t

Fig. 8.7: Respuestas libre y forzada.

donde los parámetros g1 , . . . , gN2 son los coeficientes de la respuesta del proceso al
escalón unitario. Es decir, la respuesta de la salida del proceso a los cambios tipo
escalón unitario en la entrada.
Para un proceso lineal, la respuesta al escalón unitario no depende del punto de
operación. Este punto es fijo y puede ser calculado fuera de lı́nea (“off-line”) usando
el modelo del sistema.
Para un proceso no lineal, como en el caso de una red neuronal, la respuesta al
escalón unitario es diferente para cada punto de operación. Esta respuesta tiene que
ser calculada en cada tiempo de muestreo (“on-line”), aplicando en cada instante de
muestreo un cambio escalón (ficticio) a la entrada actual del proceso y calculando su
efecto en la salida respectiva.
De la ecuación (8.20) se puede obtener la siguiente expresión para la componente
forzada:
Yf orz = GU (8.21)
donde:
 T
Yf orz = yf orz (t + N1 /t) yf orz (t + N1 + 1/t) · · · yf orz (t + N2 /t)
 
g N1 gN1 −1 ... ...
 gN1 +1 g N1 ... ... 
G=
 ...


... ... ...
g N2 gN2 −1 . . . gN2 −Nu +1
 T
U= ∆u(t/t) ∆u(t + 1/t) · · · ∆u(t + Nu − 1/t)
y empleando la ecuación (8.19), podemos escribir:

Y = Ȳ + GU (8.22)
202 Control Predictivo

donde:

Y = [y(t + N1 /t) . . . y(t + N2 /t)]T ; U = [∆u(t/t) . . . ∆u(t + Nu − 1/t)]T

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

Ejemplo 8.3

Determinar la respuesta libre y los coeficientes gt de la respuesta al escalón para el


proceso servomotor DC descrito en el ejemplo 8.1.
Solución: La ecuación de diferencias del proceso es:

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

Cuando la entrada es u(k) = 1 para todo k ≥ 0, entonces y(k) = g(k) para todo
t ≥ 0. Luego, los coeficientes g(t) se determinan de:

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

Ası́ podemos obtener que g(0) = 0, g(1) = b1 , g(2) = −a1 b1 + b1 + b2 , y:

g(t) = −a1 g(t − 1) − a2 g(t − 2) + b1 + b2 ; t≥3

Por otro lado, la condición para respuesta libre es que:

u(t/t) = u(t + 1/t) = · · · = u(t + N2 /t) = u(t − 1)

Aplicando tal condición en la ecuación de diferencias del proceso, se obtiene:

ylibre (t + 1) = −a1 ylibre (t) − a2 ylibre (t − 1) + b1 u(t) + b2 u(t − 1)


= −a1 ylibre (t) − a2 ylibre (t − 1) + (b1 + b2 )u(t − 1)

8.4.3. La Ley de Control SISO


Con la notación anterior, la función de costo (ecuación (8.15)) resulta:

(R − Y)T (R − Y) + λUT U = [(R − Ȳ) − GU]T [(R − Ȳ) − GU] + λUT U (8.23)

la cual es una forma cuadrática en U, cuya minimización por diferenciación resulta


en la siguiente solución óptima:

U∗ = (GT G + λI)−1 GT (R − Y) (8.24)

Es importante indicar que:

Solamente el primer elemento ∆u(t/t) de U∗ es necesario para computar la


entrada de control actual u(t) = u(t − 1) + ∆u(t/t). El mismo procedimiento se
repite para la nueva medición y(t + 1) en el próximo instante de tiempo t + 1.
Este procedimiento se denomina el principio del “horizonte retroactivo”.
8.4 El Controlador Predictivo 203

La matriz [GT G + λI] a ser invertida tiene dimensión Nu × Nu . Para el caso


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

Otra aproximación para la estructuración del escenario de control consiste en


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

La optimización de la señal de control u(t + k/t) es ahora con respecto a los


parámetros µi .
El control predictivo muestra diferentes propiedades dependiendo de la selección
de N1 , N2 y Nu . Por ejemplo:
Si N1 = n, N2 = 2n − 1, Nu = n y λ = 0, la salida entonces alcanza la
referencia después de n muestras y se mantiene en este estado, proporcionando
una vigorosa acción de control. Este caso es muy apropiada para aplicaciones
que requieran alto rendimiento, como en la robótica.
Si escogemos N1 = Nu = 1, N2 = ∞ y λ = 0, obtendremos una respuesta
transitoria de la variable controlada, caracterizada por un tiempo de subida
rápido y un tiempo de estabilización lento. Este hecho es relevante en el control
de procesos industriales.

Ejemplo 8.4

Determinar la matriz dinámica de control para el proceso del ejemplo 8.1 empleando
los datos siguientes: N1 = 7, N2 = 12, Nu = 6.
Solución: La solución del problema planteado se detalla en el programa lcm1.m
listado a continuación.
% lcm1.m CÁLCULO DE UNA MATRIZ DINÁMICA DE CONTROL
clear all; close all; clc;
% PROCESO CONTINUO DE SEGUNDO ORDEN Y SU MODELO DISCRETO
Ac=[0 1;-14.4007 -1.2707]; Bc=[0;30.4696]; Cc=[1 0]; Dc=[0];
T=0.01; [G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,’zoh’); [num,den]=ss2tf(G,H,C,D);
a1=den(2); a2=den(3); b1=num(2); b2=num(3);
% CONDICIONES INICIALES NULAS
qp=0; qpp=0; up=0; upp=0;
yp=0; ypp=0; yppp=0; ep=0; epp=0;
N1=6; N2 =12; Nu =7; % HORIZONTES DE CONTROL Y DE OPTIMIZACI ÓN
% RESPUESTA AL ESCALON
g(1) = b1; g(2) = -a1*b1 + b1 + b2;
for k=3:12; g(k) = -a1*g(k-1) -a2*g(k-2) + b1 + b2; end
% LUEGO, LA MATRIZ G TIENE LA FORMA:
G = [g(N1) g(N1-1) g(N1-2) g(N1-3) g(N1-4) g(N1-5) 0
g(N1+1) g(N1) g(N1-1) g(N1-2) g(N1-3) g(N1-4) g(N1-5)
204 Control Predictivo

g(N1+2) g(N1+1) g(N1) g(N1-1) g(N1-2) g(N1-3) g(N1-4)


g(N1+3) g(N1+2) g(N1+1) g(N1) g(N1-1) g(N1-2) g(N1-3)
g(N1+4) g(N1+3) g(N1+2) g(N1+1) g(N1) g(N1-1) g(N1-2)
g(N1+5) g(N1+4) g(N1+3) g(N1+2) g(N1+1) g(N1) g(N1-1)
g(N2) g(N2-1) g(N2-2) g(N2-3) g(N2-4) g(N2-5) g(N2-Nu+1)];

8.5. Procedimiento de Diseño


El procedimiento para diseñar un sistema de control predictivo SISO basado en
modelos, empleando la matriz dinámica de control es como sigue:
1. Formular el problema y definir las especificaciones de diseño, incluyendo los
horizontes de control N1 , N2 y Nu .
2. Determinar el modelo CARIMA del proceso. Ver subsección 8.3.
3. Calcular la respuesta libre y la respuesta forzada del proceso. Ver subsección
8.4.2.
4. Determinar la ley de control. Ver subsección 8.4.3.
5. Validar mediante simulación el sistema de control predictivo SISO.

8.6. Ejemplo de Diseño


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

IR R L IM
+ Kω
+
v C e
-
-
T ω2
J
ω1

Fig. 8.8: Proceso electromecánico.

en C, las ecuaciones dinámicas que gobiernan el subproceso eléctrico son:


1 vC dIM
IR = (v − vC ); C = IR − IM ; L = vC − e
R dt dt
El torque T del motor y la tensión contraelectromotriz se expresan como:
T = K t IM ; e = K e ω1
donde Kt y Ke son la constantes del motor y contarelectromotriz, respectivamente.
Despreciando pérdidas, el torque T también se formula como:
dω2
J =T
dt
8.6 Ejemplo de Diseño 205

Ası́ mismo, la relación que gobierna el resorte rotacional de constante K ω toma la


forma:
dT
= Kω (ω1 − ω2 )
dt
Seleccionando como variables de estado x1 = vC , x2 = IM y x3 = ω2 , y eligiendo
como salida y = x3 , la representación del proceso en el espacio de estado resulta:

ẋ = Ax + Bu; y = Cx
 1 
− RC − C1 0
Kω −Ke Kω
A= LKω +Kt Ke 0 LKω +Kt Ke

Kt
0 J 0
 1

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

g(4)*(r(t+4)-yf(t+4))+g(5)*(r(t+5)-yf(t+5))+g(6)*(r(t+6)-yf(t+6))+ ...
g(7)*(r(t+7)-yf(t+7))+g(8)*(r(t+8)-yf(t+8))+g(9)*(r(t+9)-yf(t+9))+ ...
g(10)*(r(t+10)-yf(t+10)))/(g(1)^2+g(2)^2+g(3)^2+g(4)^2+g(5)^2+ ...
g(6)^2+g(7)^2+g(8)^2+g(9)^2+g(10)^2+lambda);
u(t) = u(t-1) + du(t);
% LIMITADOR MÁS LA ECUACIÓN DE DIFERENCIAS DEL PROCESO
if(u(t) > 100); u(t)=100; elseif(u(t) < -100); u(t) = - 100; end
y(t+1)=-a1*y(t)-a2*y(t-1)-a3*y(t-2)+b1*u(t)+b2*u(t-1)+b3*u(t-2);
end % FIN DEL LAZO
% GRAFICOS
ejex=linspace(0,MM*T,MM-3);
subplot(2,1,1); plot(ejex,W(4:MM),ejex,y(4:MM)); grid
ylabel(’Velocidad [rad/s]’); xlabel(’Tiempo [s]’); subplot(2,1,2)
plot(ejex,u(4:MM)); grid; xlabel(’Tiempo [s]’);
ylabel(’Voltaje de control [V]’); print -deps -f p11pred1

5
Velocidad [rad/s]

−5
0 20 40 60 80 100 120 140 160 180 200
Tiempo [s]

50
Voltaje de control [V]

−50
0 20 40 60 80 100 120 140 160 180 200
Tiempo [s]

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


programa p11pred1.m.

El programa p11pred2.m resuelve el mismo problema, pero empleando una fuerza de


control vectorial. El resultado de la simulación se muestra en la Fig. 8.10, el cual
resulta muy similar al obtenido en la Fig. 8.9.

% p11pred2.m CONTROL DE VELOCIDAD USANDO LEY DE CONTROL MATRICIAL


% MODELO DEL PROCESO EN TIEMPO CONTINUO
J = 0.01; Ke = 0.01; Kt = 0.01; R = 12; C = 0.5; L = 0.5; Kw = 1.8;
Ac = [-1/(R*C) -1/C 0;Kw/(L*Kw+Kt*Ke) 0 -Ke*Kw/(L*Kw+Kt*Ke);0 Kt/J 0];
Bc = [1/(R*C);0;0]; Cc = [0 0 1]; Dc = [0]; T=0.2; % TIEMPO DE MUESTREO
% MODELO LINEAL DISCRETO
[G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,’zoh’); [numd,dend]=ss2tf(G,H,C,D);
a1=dend(2); a2=dend(3); a3=dend(4); b1=numd(2); b2=numd(3); b3=numd(4);
N1 =1; N2 =10; Nu =5; % HORIZONTES
% RESPUESTA AL ESCALON Y MATRIZ GANANCIA GG
g(1) = b1; g(2) =-a1*b1+b1+b2; g(3)=-a1*g(2)-a2*g(1)+b1+b2+b3;
8.7 Problemas 207

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


GG=[g(1) 0 0 0 0
g(2) g(1) 0 0 0
g(3) g(2) g(1) 0 0
g(4) g(3) g(2) g(1) 0
g(5) g(4) g(3) g(2) g(1)
g(6) g(5) g(4) g(3) g(2)
g(7) g(6) g(5) g(4) g(3)
g(8) g(7) g(6) g(5) g(4)
g(9) g(8) g(7) g(6) g(5)
g(10) g(9) g(8) g(7) g(6)]; G1 = GG’*GG;
% CONDICIONES INICIALES Y PARÁMETROS DE CONTROL
yf(1)=0; yf(2)=0; yf(3)=0; yf(4)=0;y(1)=0; y(2)=0; y(3) = 0; y(4)=0;
r(1) =0; r(2) =0; r(3)=0; u(1) =0; u(2) =0; u(3)=0; du(1)=0;
alf=0.85; lambda=0.1; I=eye(5,5); MM=1000;
% LAZO DE CONTROL CON HORIZONTES N1 =1; N2 =10; Nu =5;
for t =4:MM+3
for k=1:N2; W(t+k)= 4*sign(sin(0.01*t)); end % TRAYECTORIA DESEADA
for k=1:N2; r(t+k)=alf*r(t+k-1)+(1-alf)*W(t+k); end % REFERENCIA R
R=[r(t+1) r(t+2) r(t+3) r(t+4) r(t+5) ...
r(t+6) r(t+7) r(t+8) r(t+9) r(t+10)]’;
for k=1:N2
yf(t+k)=-a1*yf(t+k-1)-a2*yf(t+k-2)-a3*yf(t+k-3)+(b1+b2+b3)*u(t-1);
end
YF=[yf(t+1) yf(t+2) yf(t+3) yf(t+4) yf(t+5) ...
yf(t+6) yf(t+7) yf(t+8) yf(t+9) yf(t+10)]’; % RESPUESTA LIBRE
% LEY DE CONTROL VECTORIAL
U=inv(G1+lambda*I)*GG’*(R-YF); du=U(1); u(t) = u(t-1) + du;
% LIMITADOR MÁS LA ECUACIÓN DE DIFERENCIAS DEL PROCESO
if(u(t) > 100); u(t)=100; elseif(u(t) < -100); u(t) = - 100; end
y(t+1)=-a1*y(t)-a2*y(t-1)-a3*y(t-2)+b1*u(t)+b2*u(t-1)+b3*u(t-2);
end
% GRAFICOS
ejex=linspace(0,MM*T,MM-3);
subplot(2,1,1); plot(ejex,W(4:MM),ejex,y(4:MM)); grid
ylabel(’Velocidad [rad/s]’); xlabel(’Tiempo [s]’); subplot(2,1,2)
plot(ejex,u(4:MM)); grid; xlabel(’Tiempo [s]’);
ylabel(’Voltaje de control [V]’); print -deps -f p11pred2

8.7. Problemas
Problema 8.1 Posición de un Motor DC

El circuito con opamps de la Fig. 2.22 alimenta a un motor DC cuya posición θ


queremos controlar empleando dos sistemas de control predictivo, uno con ley de
control escalar y otro con ley de control matricial. La salida controlada deben de
satisfacer ciertas especificaciones de diseño dictadas por el usuario. Diseñe y simule
los sistemas de control pedidos sabiendo que Kp = 5 y que:

θ 1.5
=
Vo s(0.2s + 1)
208 Control Predictivo

Velocidad [rad/s]
0

−5
0 20 40 60 80 100 120 140 160 180 200
Tiempo [s]

40
Voltaje de control [V]

20

−20

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

Fig. 8.10: Resultado de la ejecución del programa p11pred2.m.

Problema 8.2 Turbina

La Fig. 2.23 muestra una turbina de agua unido a un generador eléctrico, cuya
FT es:
M (s) 6
=
ω(s) 3,2s + 1
donde M (s) es el momento rotacional generado por la turbina gracias a la acción
del flujo de agua y ω(s) es la velocidad angular del generador. Diseñar y simular dos
sistemas de control predictivo, uno con ley de control escalar y otro con ley de control
matricial, para controlar el momento M (s), cumpliendo determinadas especificaciones
de diseño dictadas por el usuario.

Problema 8.3 Proceso Mecánico

La Fig. 2.25 muestra una proceso mecánico traslacional, donde M = 2 kg es la


masa de un cuerpo que está accionado por una fuerza u. A esta acción se le oponen
la fuerza fK = Kx N en el resorte y la fuerza de pérdidas fB = B.8v N en el
amortiguador, donde K = 3.4 N/m es la constante del resorte, B = 0.8 N/m/s es la
constante de pérdidas, v = dx/dt es la velocidad de la masa M y x su posición. Diseñar
y simular dos sistemas de control predictivo, uno con ley de control escalar y otro con
ley de control matricial, para controlar la posición x(t), cumpliendo determinadas
especificaciones de diseño dictadas por el usuario. Recordar que la ecuación dinámica
de este proceso es:
d2 x
M 2 = u − f K − fB
dt
Problema 8.4 Proceso Hidráulico

Diseñar y simular dos sistemas de control predictivo, uno con ley de control escalar
y otro con ley de control matricial, para controlar la posición x 2 (t) de la masa M2 del
8.7 Problemas 209

proceso hidráulico mostrado en la Fig. 2.28, cumpliendo determinadas especificaciones


de diseño dictadas por el usuario. Se sabe que M1 = 500 kg, A1 = 0.4 m2 , M2 =
2.2M1 , A2 = 2.1A1 , B = B1 = B2 = 12.3 N/m/s, y K 3.8 N/m.

Problema 8.5 Proceso Hı́brido

Diseñar y simular dos sistemas de control predictivo, uno con ley de control es-
calar y otro con ley de control matricial, para controlar el voltaje V (t) del generador
mostrado en la Fig. 2.29, actuando sobre el flujo de agua q1 (t), cumpliendo determi-
nadas especificaciones de diseño dictadas por el usuario. Se sabe que el radio de la
sección del tanque es de 0.7 m, Ra = Rc = 2.4 ohm, La = Lc = 3.5 H, Kb = 2.7
V/rad/s y JT = 5.1 N–m/rad/s2 .

Problema 8.6 Proceso Electromecánico

Diseñar y simular dos sistemas de control predictivo, uno con ley de control es-
calar y otro con ley de control matricial, para controlar la posición angular θ(s) del
proceso electromecánico mostrado en la Fig. 2.30, cumpliendo determinadas especi-
ficaciones de diseño dictadas por el usuario. Cada controlador predictivo a diseñar,
debe sustituir al amplificador de ganancia A. Datos adicionales: R = 4 ohm, L =
0.7 H, KT = 1.8 N–m/rad, B = N/rad/s, M = 20 kg, Km = 0.7 N–m/A, J = 4.8
N–m/rad/s2 y r = 0.1 m.

Problema 8.7 Inclinación de un Avión

La dinámica de un avión puede ser descrita por varios conjuntos acoplados de ecua-
ciones diferenciales no lineales. Sin embargo, bajo ciertas suposiciones, tales ecua-
ciones pueden ser desacopladas y linealizadas para obtener dos conjuntos: las ecua-
ciones longitudinales y las ecuaciones laterales. El control de la inclinación θ del
avión mostrado en la Fig. 8.11 es un problema longitudinal. Asumiendo que el avión
Empuje
x

θ
Impulso α

γ
e
x’
Arrastre

δe
z
Peso
z’

Fig. 8.11: Avión comercial en pleno vuelo.

está en su velocidad de crucero (altura y velocidad constantes), entonces la resistencia


de arrastre y la fuerza impulsora se cancelan mientras que el empuje de elevación se
iguala con el peso (ver figura 8.11). Con tales consideraciones, se puede asumir que
210 Control Predictivo

las ecuaciones longitudinales del movimiento del avión (los datos corresponden a un
avión comercial Boeing) son:

α̇ = −0.313α + 56.7q + 0.232δe


q̇ = −0.0139α − 0.426q + 0.0203δe
θ̇ = 56.7q

donde α es el ángulo de ataque, q es la relación de inclinación, θ es el ángulo de


inclinación y δe es el ángulo del deflector de elevación. La función de transferencia
del proceso es:
θ(s) 1,151s + 0,1774
= 3
δe (s) s + 0,739ss + 0,921s
mientras que sus ecuaciones de estado y de salida son:
      
α̇ −0,313 56.7 0 α 0.232
 q̇  =  −0.0139 −0.426 0   q  +  0.0203  δe
θ̇ 0 56.7 0 θ 0
 
  α
θ= 0 0 1  q 
θ
Diseñar y simular dos sistemas de control predictivo, uno con ley de control escalar y
otro con ley de control matricial, para controlar la inclinación θ del avión mostrado
en la Fig. 8.11, por medio de δe , cumpliendo determinadas especificaciones de diseño
dictadas por el usuario.

Problema 8.8 Tanques en Cascada

La Fig. A.17 muestra dos tanques idénticos colocados en cascada. La sección hori-
zontal A=9 m2 de cada tanque es constante. El objetivo de control es controlar la
altura H2 empleando el flujo Qo . La deducción del modelo linealizado del proceso se
derivó en el ejemplo A.50. Diseñar un controlador predictivo del tipo escalar y otro
del tipo matricial, con los requerimientos siguientes: tiempo de estabilización menor
que 15 s, sobreimpulso menor al 10 % y error en estado estable nulo. Estas condiciones
de diseño deben mantenerse cuando se cambie la referencia (por ejemplo de 3 a 2 m).
Además, el flujo de entrada (la señal de control) no debe sobrepasar los 3 m 3 /s.

Problema 8.9 Secador de Granos

En el proceso de la Fig. 8.12(a) se desea reducir la humedad h del material a granel


de la tolva. La banda transportadora, que se desplaza a una velocidad v = 1 m/s
constante, introduce el material a un horno de secado. El sensor de humedad detecta
hr a una distancia d = 10 m del horno y proporciona la señal de voltaje vr . El
horno puede modelarse como un proceso de primer orden. La Fig. 8.12(b) muestra
la F.T del proceso. Diseñar dos sistemas de control predictivo basado en modelos,
uno con fuerza de control escalar y otro con fuerza de control matricial. El objetivo
de control es estabilizar la humedad del material en la banda transportadora. Con
8.7 Problemas 211

Tolva Controlador
Referencia
Sensor
Horno

d
v

v Deposito
(b)
d/v

u hs hr vr
1 10
e -(d/v)s
s+1 s + 0.5
Horno Tiempo muerto Sensor

Fig. 8.12: Sistema reductor de humedad.

fines de modelado del proceso, el tiempo muerto puede ser descrito empleando la
aproximación de Padé de tercer orden (ver ejemplo A.48):

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


e−T s ≈ =
den(s) 1 + Tt s/2 + (Tt s)2 /10 + (Tt s)3 /120
Las especificaciones de diseño para ambos sistemas de control son: tiempo de estabi-
lización menor que 40 s, error en estado estacionario nulo y porcentaje de sobreimpul-
so menor al 5 %. La selección del tiempo de muestreo y de los horizontes de control
es a conveniencia del diseño.
Problema 8.10 Cañón en la Torreta de un Tanque
Las ecuaciones del modelo linealizado para controlar la posición angular del cañón
ubicado en la la torreta de un tanque mediante un actuador hidráulico son las si-
guientes (ver figura 8.13):

θ̇ = ω
ω̇ = p + dτ
Km Km
ṗ = −Ωm p − q+ ω + dp
J J
q̇ = −Kv Lv q − Kv K∆p Jp + Kv u + dq ; Lv = 1

donde θ es el ángulo de la torreta, ω es la velocidad angular de la torreta, p es la


aceleración angular producida por el actuador hidráulico, q es el desplazamiento de la
servoválvula, Km = [8.46×106 , 1.96×106 ] (el primer valor corresponde al ángulo de
desplazamiento horizontal de la torreta, mientras que el segundo valor, al ángulo de
elevación) es la ganancia del servomotor, J = [7900, 2070 lbf-ft-s 2 ] es la inercia de la
torreta, Ωm = [45.9, 17.3 rad/s] es la frecuencia natural del motor, Kv = [94.3, 94.3]
es la ganancia de la servo válvula, y K∆p = [6.33×10−6 , 3.86×10−5 ] es el coeficiente
de presión diferencial. Las cantidades dτ , dp y dq representan disturbios que también
incluyen los efectos debido a las no linealidades que no fueron tomadas en cuenta en
el modelo linealizado. Es útil saber que 1 lbf–ft–s2 = 1.355 kg–m2 .
(a) Diseñar un sistema de control predictivo con fuerza de control escalar y otro
con fuerza de control matricial, para controlar el ángulo de elevación θ con
212 Control Predictivo

Torreta del tanque

Angulo de
θ ’
elevacion


Azimut: angulo de
posicionamiento horizontal

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

las especificaciones siguientes: tiempo de estabilización menor que 5 s, mı́nimo


sobreimpulso y error en estado estacionario nulo. Los disturbios tipo escalón
pueden actuar simultáneamente y pueden ser positivos o negativos. El sistema
de control diseñado debe ser capaz de minimizar sus efectos. La selección de los
horizontes de control es a conveniencia del problema planteado.
(b) Lo mismo que (a), pero en este caso para controlar el ángulo azimutal.
Problema 8.11

La Fig. A.2 muestra un carro de masa m = 1000 kg desplazándose con una velocidad
v gracias a la acción de la fuerza u producida por su motor. Si se desprecia la inercia
de las ruedas y se asume que la fuerza de fricción bv, donde b= 50 N-s/m es el
coeficiente de fricción, es lo único que se opone al movimiento del carro, entonces la
dinámica del proceso puede modelarse como (ver ejemplo A.9):

dv
mv̇(t) + bv(t) = u(t); v̇ =
dt
Diseñar un sistema de control predictivo con fuerza de control escalar y otro con
fuerza de control matricial, para controlar la velocidad del móvil con mı́nimo tiempo
de estabilización y mı́nimo sobreimpulso. La señal de referencia puede ser arbitraria
(problema de seguimiento). La selección de los valores de los horizontes y el tiempo
de muestreo son a conveniencia del problema planteado.
Capı́tulo 9

Control Fuzzy

Un controlador fuzzy, denominado también difuso o borroso, emplea ciertas reglas


para procesar las variables de entrada con el fin de generar una señal de control que
actúa sobre el proceso (planta o proceso) a controlar. En varios casos, estas señales de
entrada son el error y su derivada.
El sistema de control fuzzy emplea un procesamiento cı́clico que comprende tres
grandes partes: fuzzification, evaluación de reglas y defuzzification, temas que se tratan
en la siguiente sección. Para verificar el método de diseño propuesto en este Capı́tulo, se
desarrolla una aplicación: control fuzzy de la posición angular de un manipulador de un
grado de libertad.

9.1. El Controlador Fuzzy


Mientras que en un controlador convencional, por ejemplo PID, el algoritmo de
control procesa las señales de entrada, en el controlador fuzzy, el procesamiento se
basa en el cumplimiento de ciertas reglas que se aplican a las entradas. Dicho proce-
samiento fuzzy está mucho mas cercano al razonamiento del experto humano. Por
esta razón, tales reglas son especı́ficas para cada aplicación.
El procesamiento en un controlador fuzzy es cı́clico, como también lo es en los
controladores convencionales. Ası́, los valores de las variables de entrada son evaluadas
por las reglas, lo cual sirve para una toma de decisión relacionada con los cambios a
realizar en las variables de salida. Una vez actualizadas las mismas, éstas ejercerán un
cambio sobre la salida controlada de la planta o proceso. Luego, con nuevas variables
de entrada, se repite el ciclo.
Con el propósito de desarrollar un controlador fuzzy, primero se debe de identificar
el problema. Esto es, definir los objetivos de control para los cuales desarrollaremos
tal controlador. Luego debemos de diseñar el sistema de control fuzzy. Para ello
podemos usar el sistema de control a lazo cerrado mostrado en la Fig. 9.1, donde
el controlador convencional del sistema está siendo reemplazado por un controlador
fuzzy. Tal controlador posee tres partes [32], [33]:

1. El fuzzyficador (palabra derivada del inglés fuzzifier), en donde la entrada al


controlador se convierte en variables de entrada tipo fuzzy, usando para ello
funciones de membresia.
214 Control Fuzzy

2. El conjunto de reglas fuzzy, en donde las variables fuzzy de entrada son eva-
luadas para generar variables fuzzy de salida. Estas últimas pasan luego al
defuzzyficador (palabra derivada del inglés defuzzifier).

3. El defuzzificador, el cual toma como base las variables fuzzy de salida para
generar un conjunto de valores de salida: las señales de control.

Las funciones de membresı́a poseen una forma geométrica caracterı́stica. Por ejem-
plo pueden ser de forma triangular, de forma trapezoidal, o de alguna forma arbitraria,
siempre que permita ser descrita y evaluada mediante una función.
El conjunto de reglas fuzzy son las sentencias del tipo “if/then” que se definen en
conformidad con los objetivos de control. Tales reglas constituyen la clave del sistema
de control fuzzy, ya que ellas deciden el comportamiento del sistema para diferentes
entradas.
Con el fin de generar las señales de control, el defuzzyficador puede hacer uso de
varios métodos, todos relacionados con el procesamiento de las variables fuzzy para
generar señales que se puedan implementar en tiempo real. Por ejemplo, es común
tomar el promedio ponderado de las variables ya procesadas con las reglas fuzzy. Esta
metodologı́a será aplicada a un manipulador robótico de un grado de libertad, el cual
se describe en detalle en la sub–siguiente sección.

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


reemplaza por un controlador fuzzy.

9.2. Diseño de un Sistema de Control Fuzzy


En esta sección se diseña un sistema de control fuzzy para controlar la posición
angular del manipulador de un grado de libertad (MR1), cuyo modelo dinámico, para
propósitos de simulación, se determina en la siguiente subsección.

9.2.1. Manipulador Robótico de 1GDL: MR1


La Fig. 9.2 muestra al Manipulador Robótico de 1GDL (MR1), mientras que la
Fig. 9.3 ilustra su esquema de estudio. Este sistema se compone de un subsistema
9.2 Diseño de un Sistema de Control Fuzzy 215

eléctrico y un subsistema mecánico. El subsistema eléctrico comprende un servomotor


DC con decodificador de posición (encoder en inglés) incorporado, el cual se emplea
para medir la posición angular del brazo del manipulador en cada instante de tiempo.
El servomotor posee una caja de engranajes para reducir la velocidad en su eje de
salida; de esta manera se facilita el control de posición del manipulador.

Fig. 9.2: El Manipulador Robótico de 1GDL (MR1).

El subsistema mecánico consiste de un brazo accionado por el torque rotacional


generado en el eje de salida del servomotor DC (el actuador). En el extremo libre del
brazo robótico se puede acoplar un efector final, el cual puede ser una pinza para asir
objetos, una herramienta para soldar, una herramienta para pintar, etc. En nuestro
caso usaremos una pinza con dos grados de libertad: un grado para rotar la pinza y
otro para abrirla y cerrarla. Para propósitos de modelado, vamos a suponer que el
efector final y su carga se pueden modelar mediante una masa mh variable. La Tabla
9.1 describe las variables y los valores de los parámetros del manipulador mostrado
en la Fig. 9.3.
El sistema MR1 es del tipo SISO ya que sólo posee una entrada: el voltaje de
control u aplicado a la armadura del servomotor, y una salida: la posición angular θ
del brazo.

Modelo del Subsistema Mecánico


Para modelar el subsistema mecánico del manipulador empleamos la segunda ley
de Newton para los movimientos lineal y rotacional. La aplicación de esta segunda
ley se traduce en una ecuación de balance mecánico. Con respecto a la Fig. 9.3, la
ecuación de balance mecánico en el eje del servomotor articulado al primer engranaje
se formula como:
dθm d 2 θm
Tm = Jm θ̈m + Bm θ̇m + Tg1 θ̇m = θ̈m = (9.1)
dt dt2
216 Control Fuzzy

Tabla 9.1: Parámetros y variables del manipulador MR1.

Sı́mbolo Descripción Valor Unidades


u Voltaje de entrada al sistema V
KA Ganancia del amplificador 8.5
Va Voltaje de armadura V
Ra Resistencia de armadura 3.5 Ω
La Inductancia de armadura 0.004 H
ia Corriente de armadura A
Km Constante del torque motor 0.0436 N-m/A
Tm Torque motor N-m
TL Torque de carga N-m
τL Torque causado por pesos de la carga N-m
Tg1 Torque de entrada a los engranajes N-m
Tg2 Torque de salida de los engranajes N-m
Jm Inercia del motor 0.00059 kg-m2
Jg Inercia de los engranajes 0.066 kg-m2
JL Inercia de la carga kg-m2
Bm Constante de fricción del motor 0.00014 N-m/rad/s
Bg Constante de fricción en engranajes 0.0124 N-m/rad/s
BL Constante de fricción en la carga 0.0023 N-m/rad/s
mh Masa del efector final 0.1 kg
mb Masa del brazo 0.4 kg
L Longitud del brazo 0.25 m
rh Distancia al centro de masa del efector 0.02 m
Vb Voltaje contra electromotriz V
Kb Constante contra electromotriz 0.0565 V/rad/s
g Aceleración de la gravedad 9.81 m/s2
N1 , N2 N o de dientes de los engranajes N 2 > N1
n Relación de engranajes (n = N2 /N1 ) 18.5
θm Posición angular del motor rad
θ Posición angular de la carga rad
ω Velocidad angular de la carga rad/s
ωm Velocidad angular del motor ωm = nω rad/s
Kw Constante de elasticidad 0.052 N-m/rad
9.2 Diseño de un Sistema de Control Fuzzy 217

La ia mh
θm mh
ωm
·¸µ
¸µ
·¸·µ¸µ ·¸µ
·¸µ ¸·
+ + · ¸·¸· N1
»»µ
µ »µ
µ
» »»¼ θ L θ
u KA ¹ºµ
ºµ
¹ ºµ ¹ºµ
¹ º¹º¹ ¼¼µ
»¼µ¼µ ¼ »¼µ¼»¼ ω mb L
´µ¶µ
´ ¶´
V
_ _b
¾½µ
½¾½µ¾µ ½¾µ
½¾µ ¾½ ´Lµ¶µ ´ ¶´
Tm Bm Tg1
Jm
¾µ ½ ¾½¾½ BL
τ

N2 T Bg TL J
Ra g2 L
Jg

Fig. 9.3: Esquema del Manipulador Robótico de 1GDL.

En (9.1), Jm y Bm representan el momento de inercia y la constante de fricción


viscosa del rotor respectivamente, Tm es el torque del servomotor, Tg1 es el torque de
reacción debido al primer engranaje y θm es la posición angular en el lado del motor.
Para los engranajes de reducción del servomotor podemos formular:
N2 θm
n= = θm = nθ n>1 (9.2)
N1 θ
donde N1 y N2 es el número de dientes de los engranajes y n > 1 es la relación entre
ellos. Para formular la ecuación (9.2) se ha tenido en cuenta que el espacio angular
recorrido por el engranaje de menor radio es n veces mayor que el espacio recorrido
por el engranaje de radio mayor. Por otra parte, el principio de la conservación de la
energı́a establece que el trabajo realizado por el engranaje de la izquierda debe ser
igual al trabajo realizado por el engranaje de la derecha, es decir:

Tg2 θ = Tg1 θm = Tg1 nθ; Tg2 = nTg1 (9.3)

En (9.3), Tg2 es el torque de reacción debido al segundo engranaje. El balance


mecánico en el eje articulado al brazo del manipulador produce:

Tg2 = Jg θ̈ + Bg θ̇ + TL (9.4)

en la cual Jg y Bg representan el momento de inercia y la constante de fricción viscosa


de la caja de reducción respectivamente. El torque de carga TL se formula como (ver
Fig. 9.4):

TL = JL θ̈ + BL θ̇ + τL (9.5)
L
τL = mb g senθ + mh g (L + rh )senθ = Q sen θ (9.6)
2
L
Q = mb g + mh g (L + rh )
2
donde JL y BL representan el momento de inercia y la constante de fricción viscosa
de la carga no lineal (brazo más efector final), g es la constante gravitacional, m b
218 Control Fuzzy

y mh denotan las masas del brazo y del efector final (esta masa también incluye la
masa de la carga en el efector) respectivamente, y rh denota la distancia desde el
extremo del brazo al centro de masa de mh .

rh

θ _L
2
mhg
_L τL
2
mb g

Fig. 9.4: Brazo del manipulador robótico de 1GDL.

Notar en (9.6) que el torque τL se debe a las fuerzas ejercidas por los pesos del
brazo y de la esfera. Ası́, el torque mb g L senθ
2 es el producto del peso mb g del brazo
L senθ
por su brazo de palanca 2 , mientras que el torque mh g (L+rh )senθ es el producto
del peso mh g del efector por su brazo de palanca (L + rh )senθ.
El momento de inercia JL de la carga es la suma del momento de inercia del brazo
Jb más el momento de inercia del efector Jh . Por otra parte, el teorema de los ejes
paralelos, establece que el momento de inercia de una masa m alrededor de un eje de
rotación que no pasa por su C.M. está dado por:

J = Jo + m a 2 (9.7)

donde Jo es el momento de inercia de m alrededor del eje de rotación que pasa por
su centro de masa y a es la distancia entre los dos ejes. Asumiendo que la masa
mb del brazo se concentra en su C.M., su momento de inercia con relación a un eje
perpendicular que pasa por su C.M. es [34]:

1
Jbo = mb L2 (9.8)
12
Considerando que la masa del brazo está distribuida a lo largo de su longitud y
aplicando el teorema de los ejes paralelos, el momento de inercia Jb con respecto al
punto de articulación se formula como:
 2
L 1
Jb = Jbo + mb = mb L2 (9.9)
2 3

Asumiendo que la masa mh del efector está concentrada en su C.M., su momento de


inercia se formula como:
Jh = mh (L + rh )2 (9.10)
9.2 Diseño de un Sistema de Control Fuzzy 219

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

nTm = Jeq θ̈ + Beq θ̇ + τL = Jeq ω̇ + Beq ω + Q senθ (9.11)

donde:

JL = J h + J b Jeq = n2 Jm + Jg + JL Beq = n2 Bm + Bg + BL

Las expresiones de Q, Jh y Jb se dan en (9.9) y (9.10), respectivamente.

Modelo del Subsistema Eléctrico


El voltaje de armadura Va viene expresado por (ver la descripción de las variables
y parámetros en la Tabla 9.1):

dia
Va = ia Ra + La + Vb (9.12)
dt
donde ia , Ra y La son la corriente, la resistencia y la inductancia en la armadura
del servomotor respectivamente, y Vb es el voltaje de fuerza contra electromotriz
gobernado por la relación:

Vb = Kb ωm = Kb nω = Kb nθ̇ (9.13)

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


del motor. El voltaje de armadura Va es:

Va = K A u (9.14)

siendo KA la ganancia del amplificador.

Conversión de Energı́a Eléctrica en Mecánica


Sabemos que el torque motor Tm (energı́a mecánica) es proporcional a la corriente
de armadura ia (energı́a eléctrica):

Tm = K m i a (9.15)

donde Km es la constante del motor. Reemplazando (9.11) en ( 9.15) se obtiene la


siguiente ecuación de conversión de energı́a eléctrica a energı́a mecánica:

nKm ia = Jeq θ̈ + Beq θ̇ + τL (9.16)

Por otra parte, igualando (9.12) con (9.14) obtenemos:

dia KA Kb n Ra
= u− ω− ia (9.17)
dt La La La
Empleando (9.15) en (9.11) y despejando ω̇ = dω/dt obtenemos:

dω Q Beq nKm
=− senθ − ω+ ia (9.18)
dt Jeq Jeq Jeq
220 Control Fuzzy

Ecuación de Estado del Sistema MR1 con La 6= 0


Las ecuaciones (9.17) y (9.18) describen el modelo no lineal del sistema de tercer
orden. Eligiendo en dichas ecuaciones como variables de estado: x1 = θ (posición
angular), x2 = θ̇ (velocidad angular) y x3 = ia (corriente de armadura), se obtiene:

ẋ1 = x2
Q Beq nKm
ẋ2 = − senx1 − x2 + x3
Jeq Jeq Jeq
nKb Ra KA
ẋ3 = − x2 − x3 + u (9.19)
La La La
donde la salida es la posición x1 y la señal de control es u (la tensión de armadura).

Ecuación de Estado del Sistema MR1 con La ∼


=0
En la Tabla 9.1 podemos observar que la inductancia de armadura La del ser-
vomotor es bastante pequeña, de modo tal que puede despreciarse sin que se pierda
considerable exactitud en los resultados. Considerando el producto ẋ 3 La = 0 en la
tercera ecuación de (9.19) y despejando la corriente de armadura x 3 resulta:
KA nKb
x3 = u− x2 (9.20)
Ra Ra
Reemplazando (9.20) en la segunda ecuación de (9.19), se obtiene la ecuación de
estado no lineal de orden dos del manipulador:

ẋ1 = x2
ẋ2 = −a1 senx1 − a2 x2 + bu (9.21)

donde:
 
Q Beq Ra + n2 Km Kb nKm KA
a1 = a2 = b=
Jeq Jeq Ra Jeq Ra

9.2.2. Control Fuzzy del Manipulador MR1


Un sistema de control de posición angular convencional tradicionalmente emplea
un controlador PD. Por ello, el controlador fuzzy empleado es del tipo PD, el cual se
logra haciendo que sus entradas sean el error e(t) y la derivada del error de(t)/dt, y
que su salida sea la señal de control u(t).
En este Capı́tulo empleamos funciones de membresia del tipo triangular para las
entradas y funciones singletons (o únicas) para la salida. El procedimiento de fuzzy-
ficación emplea el método de descomposición mı́nima de las funciones de membresia,
mientras que el procedimiento de defuzzification emplea el método del centroide:
ponderación de las variables promediadas para obtener un valor.
La figura 9.5 muestra las funciones de membresia para el controlador fuzzy tipo
PD, mientras que la Tabla 9.2 presenta el conjunto de reglas del controlador en la
forma de una matriz de memoria asociativa fuzzy (en inglés, FAM: Fuzzy Asociative
Memory matrix). En dicha matriz, las letras tienen el siguiente significado: NL: Nega-
tive Large (negativo grande), NM: Negative Medium (negativo medio), NS: Negative
9.2 Diseño de un Sistema de Control Fuzzy 221

Small (negativo pequeño), ZE: zero (cero), PS: Positive Small (positivo pequeño),
PM: Positive Medium (positivo medio), PL: positive Large (positivo grande).
Notar que en las funciones de membresı́a estamos usando los factores de es-
calamiento p para el error, f para la derivada del error y uu para la salida. Es-
tos factores nos van a permitir sintonizar en tiempo real el controlador difuso para
cumplir el objetivo de control. Debemos anotar que los rangos de e(t) y de(t)/dt son
sólo estimaciones. Para el caso de la salida u(t), estamos asumiendo un rango de
salida de − 2.5 V a + 2.5 V.

NL NM NS ZE PS PM PL
1

0.5

0
−1.2p −1p −0.3p 0 0.3p 1p 1.2p
−0.1p 0.1p
Error e
NL NM NS ZE PS PM PL
1

0.5

0
−6f −5f −4f −3f −2f −1f 0 1f 2f 3f 4f 5f 6f
Derivada del error de/dt
UNM UPL
UNX UNL UNS UZE UPS UPM UPX
1

0.5

0
−2.5uu −2uu −0.9uu 0 0.9uu 2uu 2.5uu
−1.9uu 1.9uu
Salida (señal de control ) u(t)

Fig. 9.5: Funciones de membresı́a para las entradas error e(t) y de(t)/dt, y para la
salida u(t).

9.2.3. El Proceso de Fuzzyficación


El proceso de fuzzyficación emplea básicamente la información de la Fig. 9.5. Por
consiguiente, primero definimos los rangos de las funciones de membresia del error, de
la derivada del error y de la salida (Tablas 9.3, 9.4 y 9.5), donde las abreviaturas en
minúsculas min, nom y max significan mı́nimo, nominal y máximo respectivamente.
El valor nominal siempre se sitúa entre los valores mı́nimo y máximo de la función.
222 Control Fuzzy

Tabla 9.2: Conjunto de reglas del controlador fuzzy mostradas en la forma de una
matriz de memoria asociativa fuzzy (FAM–matrix).

de \ e NL NM NS ZE PS PM PL

DNL NX NX NX NX NS ZE PX

DNM NX NX NL NL NS PS PX

DNS NX NL NL NM PS PS PX

DZE NX NL NL ZE PL PL PX

DPS NX NS NS PM PL PL PX

DPM NX NS PS PL PL PX PX

DPL NX ZE PS PX PX PX PX

Cabe anotar que esta nomenclatura también se emplea en el programa de simulación


del sistema de control fuzzy.
Para explicar el procedimiento de fuzzyficación, tomemos como ejemplo los dos
primeros tramos de la función de membresia NL(t) versus el error e(t). De acuerdo a
la la Fig. 9.5 y a la Tabla 9.3, nlmin = – 1.2p es el valor del error e(t) correspondiente
al valor de memebresia NLmin = 0, mientras que nlnom = – 1p es el valor del error
e(t) para el valor de membresı́a NLnom = 1. Por consiguiente, para el rango:

nlmin ≥ e(t) ≥ nlnom: NL(t) = 1

Para el rango nlnom: ≥ e(t) ≥ nlmax, la función de membresia es una recta de la


forma: NL(t) = me(t) + b, donde m es la pendiente de dicha recta y b una constante.
Las expresiones de m y b se determinan de las siguientes ecuaciones y con los datos
tomados de la Fig. 9.5 y de la Tabla 9.3:

NLnom = 1 = m(–1p) + b NLmax = 0 = m(–0.3p) + b

Reemplazando las expresiones de m y b en la ecuación de la recta se obtiene:


e(t)+0.3p
NL(t) = −
0.7p
Del mismo modo podemos deducir todas las ecuaciones de las memebresias correspon-
dientes al proceso de fuzzyficación de las entradas e(t) y de(t)/dt. Tales ecuaciones se
muestran en código MATLAB en el programa fuzzyposition.m listado abajo. Notar
que sólo para fines de inicialización, se están añadiendo los valores iniciales nulos de
las funciones de membresia.
El grado de satisfacción que se puede alcanzar con la aplicación de las reglas fuzzy
se obtiene a partir de la matriz FAM de la Tabla 9.2. Cada elemento de dicha matriz
9.2 Diseño de un Sistema de Control Fuzzy 223

Tabla 9.3: Valores de e(t) para los puntos extremos de las funciones de membresia.

nlmin = – 1.2p nlnom = – 1.0p nlmax = – 0.3p


nmmin = – 1.0p nmnom = – 0.3p nmmax = – 0.1p
nsmin = – 0.3p nsnom = – 0.1p nsmax = + 0.0p
zemin = – 0.1p zenom = + 0.0p zemax = + 0.1p
psmin = + 0.0p psnom = + 0.1p psmax = + 0.3p
pmmin = + 0.1p pmnom = + 0.3p pmmax = + 1.0p
plmin = + 0.3p plnom = + 1.0p plmax = + 1.2p

Tabla 9.4: Valores de de(t)/dt para algunos puntos de las funciones de membresia.

dnlmin = – 6.0f dnlnom = – 5.0f dnlmax = – 2.0f


dnmmin = – 5.0f dnmnom = – 2.0f dnmmax = – 1.0f
dnsmin = – 2.0f dnsnom = – 1.0f dnsmax = + 0.0f
dzemin = – 1.0f dzenom = + 0.0f dzemax = + 1.0f
dpsmin = + 0.0f dpsnom = + 1.0f dpsmax = + 2.0f
dpmmin = + 1.0f dpmnom = + 2.0f dpmmax = + 5.0f
dplmin = + 2.0f dplnom = + 5.0f dplmax = + 6.0f

Tabla 9.5: Valores de la señal de control u(t) para los singlestones.

unx = - 0.7uu unl = - 0.6uu unm = - 0.4uu


uns = - 0.2uu uze = 0uu ups = + 0.2uu
upm = + 0.4uu upl = + 0.6uu upx = + 0.7uu

es el resultado de la operación fuzzy intersección, que es simplemente una operación


de determinación del mı́nimo entre dos variables. Por ejemplo, el elemento cuarta fila
y sexta columna de la matriz FAM, denominada w46, se determina como sigue:

w46 = min(PM,DZE);

El resultado w46 nos indica el mı́nimo entre los valores de PM(t) y DZE(t), corres-
pondiente a determinados valores de e(t) y de(t)/dt, respectivamente. Los cálculos
para los otros elementos wij, i,j = 1,...,7, se muestran en el listado del programa
fuzzyposition.m, cuyo listado se muestra al final de este Capı́tulo.

9.2.4. El Proceso de Defuzzyficación


Existen diversos métodos de defuzzificación. En el problema del control de posi-
ción angular del manipulador MR1 empleamos el método del centroide. En el caso
224 Control Fuzzy

que nos ocupa, la señal de control fuzzy a aplicar sobre el manipulador MR1 en cada
tiempo de muestreo es:
u = u1/ww

u1 = w11*unx+w12*unx+w13*unx+w14*unx+w15*uns+w16*uze+w17*upx+ ...
w21*unx + w22*unx + w23*unl + w24*unl + w25*uns + w26*ups + w27*upx + ...
w31*unx + w32*unl + w33*unl + w34*unm + w35*ups + w36*ups + w37*upx + ...
w41*unx + w42*unl + w43*unl + w44*uze + w45*upl + w46*upl + w47*upx + ...
w51*unx + w52*uns + w53*uns + w54*upm + w55*upl + w56*upl + w57*upx + ...
w61*unx + w62*uns + w63*ups + w64*upl + w65*upl + w66*upx + w67*upx + ...
w71*unx + w72*uns + w73*ups + w74*upl + w75*upl + w76*upx + w77*upx);
ww= w11 + w12 + w13 + w14 + w15 + w16 + w17 + ...
w21 + w22 + w23 + w24 + w25 + w26 + w27 + ...
w31 + w32 + w33 + w34 + w35 + w36 + w37 + ...
w41 + w42 + w43 + w44 + w45 + w46 + w47 + ...
w51 + w52 + w53 + w54 + w55 + w56 + w57 + ...
w61 + w62 + w63 + w64 + w65 + w66 + w67 + ...
w71 + w72 + w73 + w74 + w75 + w76 + w77;

El programa fuzzyposition.m escrito en código MATLAB y cuyo listado se muestra


al final de este Capı́tulo, simula el comportamiento del sistema de control fuzzy para
controlar la posición angular del brazo manipulador MR1. Para ello emplea el modelo
no lineal de segundo orden dado en (9.18). La Fig. 9.6 muestra el resultado de tal
simulación.
Las figuras 9.7 y 9.8 ilustran en tiempo real la posición controlado y su respectiva
señal de control fuzzy para varias señales de referencia tipo escalón.

% fuzzyposition.m SIMULACIÓN DEL SISTEMA DE CONTROL DE POSICIÓN FUZZY


clear all; close all; clc;

% DATOS DEL SUBSISTEMA MECÁNICO


L = 0.25; rh = 0.02; g = 9.81; n = 18.5; Jm = 0.00059; Bm = 0.00014;
mb = 0.4; mh = 0.1; Jg = 0.066; Bg = 0.0124; BL = 0.0023;
Jho = 2*mh*rh^2/5; Jh = mh*(L+rh)^2; Jbo = mb*L^2/12;
Jb = Jbo + mb*(L/2)^2; JL = Jh + Jb; Jeq = n^2*Jm + Jg + JL;
Beq = n^2*Bm + Bg + BL; Q= mb*g*L/2 + mh*g*(L + rh);

% DATOS DEL SUBSISTEMA ELÉCTRICO


Km = 0.0436; Kb=0.0565; La = 0.004; Ra = 3.5; KA = 8.5;

% ECUACIÓN DE ESTADO Y DE SALIDA DE SEGUNDO ORDEN


a1 = Q/Jeq; a2=(Beq*Ra+n^2*Km*Kb)/(Jeq*Ra); b=n*Km*KA/(Jeq*Ra);
% dx1/dt = x2; dx2/dt = -a1*sin(x1) - a2*x2 +b*u

% VALORES DE e(t) PARA PUNTOS EXTREMOS DE LA FUNCI ÓN DE MEMEBRESÍA:


p=0.6;
nlmin=-1.2*p; nlnom=-1.0*p; nlmax=-0.3*p;
nmmin=-1.0*p; nmnom=-0.3*p; nmmax=-0.1*p;
nsmin=-0.3*p; nsnom=-0.1*p; nsmax=+0.0*p;
zemin=-0.1*p; zenom=+0.0*p; zemax=+0.1*p;
psmin=+0.0*p; psnom=+0.1*p; psmax=+0.3*p;
pmmin=+0.1*p; pmnom=+0.3*p; pmmax=+1.0*p;
plmin=+0.3*p; plnom=+1.0*p; plmax=+1.2*p;
9.2 Diseño de un Sistema de Control Fuzzy 225

0.7

0.6
Posición angular [rad]

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12

2
Señal de control u [v]

−1

−2
0 2 4 6 8 10 12
Tiempo en segundos

Fig. 9.6: Posición angular controlada en la simulación del sistema de control fuzzy
del brazo robótico de 1GDL, para una señal de referencia fija.

Fig. 9.7: Posición angular controlada en el sistema de control fuzzy en tiempo real
del brazo robótico de 1GDL, para una señal de referencia fija.
226 Control Fuzzy

Fig. 9.8: Señal de control de la posición angular en el sistema de control fuzzy en


tiempo real del brazo robótico de 1GDL, para una señal de referencia fija.

% VALORES DE De(t)/DT PARA PUNTOS EXTREMOS DE LA FUNCI ÓN DE MEMEBRESÍA:


f=0.4;
dnlmin=-6.0*f; dnlnom=-5.0*f; dnlmax=-2.0*f;
dnmmin=-5.0*f; dnmnom=-2.0*f; dnmmax=-1.0*f;
dnsmin=-2.0*f; dnsnom=-1.0*f; dnsmax=+0.0*f;
dzemin=-1.0*f; dzenom=+0.0*f; dzemax=+1.0*f;
dpsmin=+0.0*f; dpsnom=+1.0*f; dpsmax=+2.0*f;
dpmmin=+1.0*f; dpmnom=+2.0*f; dpmmax=+5.0*f;
dplmin=+2.0*f; dplnom=+5.0*f; dplmax=+6.0*f;

% VALORES DE u(t) PARA LOS SINGLETONS


ur = 3;
unx=-0.7*ur; unl=-0.6*ur; unm=-0.4*ur; uns=-0.2*ur; uze=0*ur;
ups=0.2*ur; upm=0.4*ur; upl=0.6*ur; upx=0.7*ur;
ep = 0; x1 = 0; x2 = 0; % CONDICIONES INICIALES
% ******** LAZO DEL SISTEMA DE CONTROL FUZZY *********
Mm = 12000; A = 0.5; T=0.001;
for k = 1:Mm
% SE~
NAL DE REFERENCIA
if(k >= 0 && k <= Mm/4)
r = A;
elseif(k >= Mm/4 && k <= Mm/2)
r = 0.5*A;
elseif(k >= Mm/2 && k <= 3*Mm/4)
r = 1*A;
elseif(k >= 3*Mm/4 && k <= Mm)
r = 0.8*A;
end
R(k)=r; e = r - x1; Y(k) = x1; de = (e - ep)/T;

% FUZZYFICACIÓN DE LAS FUNCIONES DE MEMEBRESÍA PARA EL ERROR e:


NL = 0; if( e >= nlmin && e <= nlnom), NL = +1;
9.2 Diseño de un Sistema de Control Fuzzy 227

elseif(e >= nlnom && e <= nlmax), NL = -(e+0.3*p)/(0.7*p); end


NM = 0; if(e >= nmmin && e <= nmnom), NM = +(e+1.0*p)/(0.7*p);
elseif(e >= nmnom && e <= nmmax), NM = -(e+0.1*p)/(0.2*p); end
NS = 0; if(e >= nsmin && e <= nsnom), NS = +(e+0.3*p)/(0.2*p);
elseif(e >= nsnom && e <= nsmax), NS = -(e-0.0)/(0.1*p); end
ZE = 0; if(e >= zemin && e <= zenom), ZE = +(e+0.1*p)/(0.1*p);
elseif(e >= zenom && e <= zemax), ZE = -(e-0.1*p)/(0.1*p); end
PS = 0; if(e >= psmin && e <= psnom), PS = +(e-0.0)/(0.1*p);
elseif(e >= psnom && e <= psmax), PS = -(e-0.3*p)/(0.2*p); end
PM = 0; if(e >= pmmin && e <= pmnom), PM = +(e-0.1*p)/(0.2*p);
elseif(e >= pmnom && e <= pmmax), PM = -(e-1.0*p)/(0.7*p); end
PL = 0; if(e >= plmin && e <= plnom), PL = +(e-0.3*p)/(0.7*p);
elseif(e >= plnom && e <= plmax), PL = +1; end

% FUZZYFICACIÓN DE LAS FUNCIONES DE MEMEBRESÍA PARA LA DERIVADA DEL ERROR de:


DNL = 0; if( de >= dnlmin && de <= dnlnom), DNL = +1;
elseif(de >= dnlnom && de <= dnlmax), DNL = (-de-2*f)/(3*f); end
DNM = 0; if(de >= dnmmin && de <= dnmnom), DNM = +(de+5*f)/(3*f);
elseif(de >= dnmnom && de <= dnmmax), DNM = (-de-1*f)/f; end
DNS = 0; if(de >= dnsmin && de <= dnsnom), DNS = +(de+2*f)/f;
elseif(de >= dnsnom && de <= dnsmax), DNS = (-de-0.0*f)/f; end
DZE = 0; if(de >= dzemin && de <= dzenom), DZE = +(de+1*f)/f;
elseif(de >= dzenom && de <= dzemax), DZE = (-de+1*f)/f; end
DPS = 0; if(de >= dpsmin && de <= dpsnom), DPS = +(de+0.0)/f;
elseif(de >= dpsnom && de <= dpsmax), DPS = (de-2*f)/f; end
DPM = 0; if(de >= dpmmin && de <= dpmnom), DPM = +(de-1*f)/f;
elseif(de >= dpmnom && de <= dpmmax), DPM = (-de+5*f)/(3*f); end
DPL = 0; if(de >= dplmin && de <= dplnom), DPL = +(de-2*f)/(3*f);
elseif(de >= dplnom && de <= dplmax), DPL = +1; end

% GRADO DE SATISFACCIÓN
w11=min(NL,DNL); w12=min(NM,DNL); w13=min(NS,DNL); w14=min(ZE,DNL);
w15=min(PS,DNL); w16=min(PM,DNL); w17=min(PL,DNL);
w21=min(NL,DNM); w22=min(NM,DNM); w23=min(NS,DNM); w24=min(ZE,DNM);
w25=min(PS,DNM); w26=min(PM,DNM); w27=min(PL,DNM);
w31=min(NL,DNS); w32=min(NM,DNS); w33=min(NS,DNS); w34=min(ZE,DNS);
w35=min(PS,DNS); w36=min(PM,DNS); w37=min(PL,DNS);
w41=min(NL,DZE); w42=min(NM,DZE); w43=min(NS,DZE); w44=min(ZE,DZE);
w45=min(PS,DZE); w46=min(PM,DZE); w47=min(PL,DZE);
w51=min(NL,DPS); w52=min(NM,DPS); w53=min(NS,DPS); w54=min(ZE,DPS);
w55=min(PS,DPS); w56=min(PM,DPS); w57=min(PL,DPS);
w61=min(NL,DPM); w62=min(NM,DPM); w63=min(NS,DPM); w64=min(ZE,DPM);
w65=min(PS,DPM); w66=min(PM,DPM); w67=min(PL,DPM);
w71=min(NL,DPL); w72=min(NM,DPL); w73=min(NS,DPL); w74=min(ZE,DPL);
w75=min(PS,DPL); w76=min(PM,DPL); w77=min(PL,DPL);

% DEFUZIFICACIÓN
u1 = (w11*unx+w12*unx+w13*unx+w14*unx+w15*uns+w16*uze+w17*upx+ ...
w21*unx + w22*unx + w23*unl + w24*unl + w25*uns + w26*ups + w27*upx + ...
w31*unx + w32*unl + w33*unl + w34*unm + w35*ups + w36*ups + w37*upx + ...
w41*unx + w42*unl + w43*unl + w44*uze + w45*upl + w46*upl + w47*upx + ...
w51*unx + w52*uns + w53*uns + w54*upm + w55*upl + w56*upl + w57*upx + ...
w61*unx + w62*uns + w63*ups + w64*upl + w65*upl + w66*upx + w67*upx + ...
228 Control Fuzzy

w71*unx + w72*uns + w73*ups + w74*upl + w75*upl + w76*upx + w77*upx);


ww= w11 + w12 + w13 + w14 + w15 + w16 + w17 + ...
w21 + w22 + w23 + w24 + w25 + w26 + w27 + ...
w31 + w32 + w33 + w34 + w35 + w36 + w37 + ...
w41 + w42 + w43 + w44 + w45 + w46 + w47 + ...
w51 + w52 + w53 + w54 + w55 + w56 + w57 + ...
w61 + w62 + w63 + w64 + w65 + w66 + w67 + ...
w71 + w72 + w73 + w74 + w75 + w76 + w77; WW(k) = ww;
u = u1/(ww+0.0001); U(k) = u; U1(k) = u1; % 0.0001 IMPIDE DIVIDIR ENTRE 0

% MODELO DE SEGUNDO ORDEN DEL PROCESO (DISCRETIZACI ÓN DIRECTA)


x1 = x1 + T*x2;
x2 = x2 + T*(-a1*sin(x1)-a2*x2+b*u);
ep = e;
end
% ***************** FIN DEL LAZO **********************
% GRÁFICOS
ejex = linspace(0,Mm*T,Mm); subplot(2,1,1); plot(ejex,R,ejex,Y); grid;
ylabel(’Posición angular [rad]’)
subplot(2,1,2); plot(ejex,U); grid; ylabel(’Se~nal de control u [v]’)
xlabel(’Tiempo en segundos’); print -f -deps fuzzyposition

9.3. Problemas
Problema 9.1

Para el proceso del problema 2.2, diseñar un sistema de control fuzzy para controlar
la velocidad de la turbina actuando sobre una válvula de control instalada en la
tuberı́a de entrada de agua. Asumir que la FT de transferencia de la válvula es una
constante Kv = 1.4. Se sabe que Kp = 3.6 y T = 6.8 s. La salida controlada debe de
cumplir las especificaciones de diseño establecidas por el usuario.

Problema 9.2

Para el proceso del problema 2.4, diseñar un sistema de control fuzzy para controlar
la presión Po en el interior del tanque actuando sobre una válvula de control instalada
en la tuberı́a de entrada de gas. Asumir que T = 3.4 s y que la FT de transferencia
de la válvula es:
2
0.8s + 1
La salida controlada debe de cumplir las especificaciones de diseño establecidas por
el usuario.

Problema 9.3

Para el proceso del problema 2.5, diseñar un sistema de control fuzzy para controlar
la posición x de la masa M actuando sobre un pistón de control conectado a la masa
M . Asumir que M = 120 kg, K = 2 N/m, B = N/m/s y que la FT de transferencia
del pistón es 4.5. La salida controlada debe de cumplir las especificaciones de diseño
establecidas por el usuario.
9.3 Problemas 229

Problema 9.4

Para el proceso del problema 2.7, diseñar un sistema de control fuzzy para controlar
la temperatura TF actuando sobre una válvula de control instalada en la tuberı́a
de vapor. Asumir que la FT de transferencia de la válvula es una constante K v =
0.6. Asumir valores apropiados de los otros parámetros. La salida controlada debe de
cumplir las especificaciones de diseño establecidas por el usuario.

Problema 9.5

Para el proceso del problema 2.8, diseñar un sistema de control fuzzy para controlar
el desplazamiento de la masa M2 actuando sobre pistón neumático conectado a esta
masa. La FT de transferencia del pistón neumático es una constante de valor 2.3.
Asumir valores apropiados de los otros parámetros. La salida controlada debe de
cumplir las especificaciones de diseño establecidas por el usuario.

Problema 9.6

Diseñar un sistema de control fuzzy para controlar la salida del proceso descrito en
el ejemplo 5.3. La salida controlada debe de cumplir las especificaciones de diseño
establecidas por el usuario.

Problema 9.7

Diseñar un sistema de control fuzzy para controlar la salida del y(t) del proceso con
FT:
y(s) s+2
Gp (s) = =
u(s) (s + 1)(s + 3)(s + 4)
La salida controlada debe de cumplir las especificaciones de diseño establecidas por
el usuario.

Problema 9.8

Para el proceso del ejemplo 2.1, diseñar un sistema de control fuzzy para controlar
el flujo actuando sobre una válvula de control instalada en la tuberı́a. Asumir que la
FT de transferencia de la válvula es:
2
0.3s + 1
La salida controlada debe de cumplir las especificaciones de diseño establecidas por
el usuario.

Problema 9.9

Para el proceso mostrado en la Fig. 2.3, diseñar un sistema de control fuzzy para
controlar el nivel actuando sobre la válvula de control, cuya FT se asume constante y
de valor unitario. La salida controlada debe de cumplir las especificaciones de diseño
establecidas por el usuario.
230 Control Fuzzy

Problema 9.10

Para el proceso mostrado en la Fig. 2.7, diseñar un sistema de control fuzzy para
controlar el flujo de salida actuando sobre la válvula de entrada, cuya FT se asume
constante y de valor dos. La salida controlada debe de cumplir las especificaciones de
diseño establecidas por el usuario.

Problema 9.11

Para el proceso mostrado en la Fig. 2.8 , diseñar un sistema de control fuzzy para
controlar el desplazamiento y mediante una corriente de control u. Los valores de los
parámetros son: Km = 1.1 N/A, M = 1.3 kg, K = 1 N/m, B = 1.5 N/m/s. La salida
controlada debe de cumplir las especificaciones de diseño establecidas por el usuario.

Problema 9.12

Para el proceso del problema 2.1, diseñar un sistema de control fuzzy para controlar el
voltaje de salida. Asumir valores apropiados de los parámetros. La salida controlada
debe de cumplir las especificaciones de diseño establecidas por el usuario.

Problema 9.13

Para el proceso de la Fig. 2.10, diseñar un sistema de control fuzzy para controlar la
posición angular del satélite. Asumir valores apropiados de los parámetros. La salida
controlada debe de cumplir las especificaciones de diseño establecidas por el usuario.

Problema 9.14

Para el proceso de la Fig. 2.11, diseñar un sistema de control fuzzy para controlar el
flujo de salida de la faja de transporte. Asumir valores apropiados de los parámetros
y usar aproximación de Padé de segundo o tercer orden para el tiempo muerto. La
salida controlada debe de cumplir las especificaciones de diseño establecidas por el
usuario.
Apéndice A

Sistemas Continuos

Este Capı́tulo presenta la matemática requerida en esta publicación. Los tópicos se


desarrollan principalmente en el dominio continuo. El tópico discretización directa se
desarrolla en el dominio discreto. Los numerosos ejemplos presentados se resuelven en
unos casos analı́ticamente, en otros con ayuda del software MATLAB, y en la mayorı́a de
los casos empleando ambos métodos.
Los temas a tratar son: transformada de Laplace, matrices y determinantes, variables
de estado, discretización directa, sistemas con tiempo muerto, linealización de sistemas
continuos y estabilidad. En este Capı́tulo usaremos el término sistema en lugar de los
términos proceso y planta. Citas recomendables para este Capı́tulo: [36], [37] y [38].

A.1. La Transformada Unilateral de Laplace


A.1.1. Definición y Ejemplos
La transformada unilateral de Laplace G(s) de una función g(t) se define como:
Z ∞
G(s) = L[g(t)] = g(t)e−st dt (A.1)
0

donde el número complejo s = σ + jω es la variable Laplaciana. La región de s en la


cual dicha integral converge se denomina Región de Convergencia.
Un sistema representado por la función g(t) se denomina causal cuando su salida
y(t) depende sólo de la entrada presente u(t) y de las entradas pasadas u(t−t i ), donde
t es la variable dependiente tiempo continuo y los ti para i = 0, . . . , n son números
reales positivo que indican retardos de tiempo. La gran mayorı́a de los sistemas reales
son causales.
La Fig. A.1(a) muestra un tanque con agua calentada mediante vapor. La curva de
reacción del sistema temperatura y(t) mostrado en la Fig. A.1(b) se obtiene variando
la abertura u(t) de la válvula 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 útil para representar en forma algebraica
sistemas causales descritos por ecuaciones diferenciales lineales invariantes con el
tiempo. La Tabla A.2.1 muestra la transformada unilateral de Laplace de algunas
funciones. Varias de sus propiedades se ilustran en la Tabla A.2.
232 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.

Ejemplo A.1

Hallar la transformada de Laplace de la función escalón unitario µ(t) definida como:



1 si t ≥ 0
µ(t) =
0 si t < 0

Solución: Usando la definición dada en (A.1) con g(t) = µ(t):


Z ∞ Z ∞  −st ∞
−st −st −e e−∞ − e−0 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 función escalón unitario retardado µ(t − T )


donde T es real y positivo. La función µ(t − T ) se define como:

1 si t ≥ T
µ(t − T ) =
0 si t < T

Solución: 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 e−T s
L[µ(t − T )] = e−T s G(s) = e−T s =
s s
Ejemplo A.3

Hallar la transformada de Laplace de la función exponencial e−at , donde a y t son


reales y positivos.

Solución: Usando la definición dada en (A.1):


Z ∞ " #∞
−e −(s+a)t 1
L[e−at ] = e−at e−st dt = =
0 s+a s+a
0
A.1 La Transformada Unilateral de Laplace 233

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 función arbitraria pero continua en t = T . Se sabe además que la
función impulso unitario o delta de Dirac δ(t) y delta de Dirac retardada δ(t − T ) se
definen como:
 
1 si t = 0 1 si t = T
δ(t) = δ(t − T ) = (A.3)
0 si t 6= 0 0 si t 6= T

Solución: Aplicando la propiedad fundamental (A.2) con g(t) = e−st y T = 0 se


obtiene: Z ∞
L[δ(t)] = e−st δ(t − T )dt = e−sT |T =0 = 1
0

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


Z ∞
L[δ(t − T )] = e−st δ(t − T )dt = e−sT = z −1
0

La relación: z = esT constituye la variable discreta de desplazamiento y se emplea


para el análisis de sistemas lineales discretos con parámetros invariantes con el tiempo.

Ejemplo A.5

Usando matemática simbólica, hallar la transformada de Laplace de las siguientes


funciones:
dg(t)
g1 (t) = aµ(t) g2 (t) = e−at 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 función escalón unitario definida
en el ejemplo A.1 y g(t) es una función arbitraria dependiente del tiempo.

Solución: El programa laplace1.m resuelve el problema.


% laplace1.m TRANSFORMADA SIMBÓLICA 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)
234 Sistemas Continuos

A.1.2. La Transformada Inversa de Laplace


La transformada inversa de Laplace de una función G(s) se denota como:

g(t) = L−1 [G(s)] (A.4)

Ejemplo A.6

Usando matemática simbólica, 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.


Solución: 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 móvil de masa m = 1000 kg desplazándose con una velocidad
v gracias a la acción de la fuerza u producida por su motor. Si se desprecia la inercia
de las ruedas y se asume que la fuerza de fricción bv es lo único que se opone al
movimiento, donde b= 50 N–s/m es el coeficiente de fricción, entonces la dinámica
del sistema puede modelarse como:

dv(t)
mv̇(t) + bv(t) = u(t) v̇(t) =
dt
Determine la velocidad v(t) y la aceleración v̇(t) del carro como respuesta a una
fuerza u(t) tipo escalón de 1 N. Considere que la fuerza comienza a actuar para una
velocidad inicial del carro de 2 m/s.

v velocidad
friccion
bv m u

Fig. A.2: Móvil en movimiento.

Solución: Teniendo en cuenta que v(0) = 2 m/s, V (s) = L[v(t)] y U (s) = L[u(t)],
apliquemos la propiedad de derivación (2) de la Tabla A.2 en la ecuación dinámica
del carro:
m(sV (s) − v(0)) + bV (s) = U (s)
A.1 La Transformada Unilateral de Laplace 235

1/m v(0)
V (s) = +
s(s + b/m) s + b/m
donde hemos usado el hecho de que U (s) = 1s debido a que la entrada u es del tipo
escalón. La salida v(t) se determina usando la Tabla A.2.1. Para el primer término
de V (s) empleamos la fórmula (14) con n = 1, mientras que para el segundo término
empleamos la fórmula (3). Por consiguiente:
1 b b
v(t) = L−1 [V (s)] = (1 − e− m t ) + v(0)e− m t
b
La derivada de v(t) produce la aceleración pedida:
1 b
v̇ = [1 − bv(0)] e− m t
m
Ejemplo A.8

Empleando las propiedades del valor inicial y del valor final de la Tabla A.2, deter-
minar tales valores para la velocidad del móvil del problema anterior.
Solución: El valor inicial de v(t) se determina de:

lı́m v(t) = lı́m sV (s) = v(0)


t→0 s→∞

El valor final v(t) se obtienen de:


1
lı́m v(t) = lı́m sV (s) =
t→∞ s→0 b

A.1.3. La Función de Transferencia


La función de transferencia FT de un sistema SISO (Single Input Single Output)
se define como la relación:
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 dinámi-
ca de un sistema, ya que se expresa en función de los parámetros de dicho sistema.
Distintos sistemas pueden poseer una misma forma de la FT, pero con parámetros
completamente diferentes. Por ejemplo, los sistemas velocidad de un motor DC, nivel
en un tanque de agua con orificio de salida y un móvil con desplazamiento horizontal
poseen la siguiente forma de su FT:

Y (s) K
=
U (s) τs + 1

Ejemplo A.9

Determinar la FT del móvil del ejemplo A.7. Luego determine la velocidad v(t) del
móvil partiendo de su FT, como respuesta a una fuerza u(t) tipo escalón de 1 N.
236 Sistemas Continuos

Solución: La FT del sistema se obtiene aplicando la propiedad de derivación (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 escalón unitario,
entonces U (s) = 1s . La salida se determina de:
 
−1 −1 1/m
v(t) = L [V (s)] = L
s(s + b/m)

Usando la fórmula (14) (con n = 0) de la Tabla A.2.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 móvil del problema anterior.
Solución: El valor inicial se determina de:

lı́m v(t) = lı́m sV (s) = 0


t→0 s→∞

El valor final se obtiene de:


1
lı́m v(t) = lı́m sV (s) =
t→∞ s→0 b

A.1.4. Fracciones Parciales


Una función o fracción 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 función o fracción 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 fracción A(s) resulta propia.

Ejemplo A.11
A.1 La Transformada Unilateral de Laplace 237

Tabla A.1: Transformadas unilaterales de Laplace

No G(s) g(t)

(1) 1 δ(t)
1
(2) s µ(t)
1
(3) s+a e−at
ω
(4) s2 +ω 2
sen ωt
s
(5) s2 +ω 2
cos ωt
s cos α−ωsenα
(6) s2 +ω 2
cos(ωt + α)
ω
(7) (s+a)2 +ω 2
e−at senωt
(s+a)
(8) (s+a)2 +ω 2
e−at cosωt
(s+a)cosα−ωsenα
(9) (s+a)2 +ω 2
e−at cos(ωt + α)

1 [1−e−bt (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! e−at
s tn+1 at −at
(13) (s+a)n+1 (n+1)! (1 + n )e
h P ν i
(at)
1− n ν=0 e−at
1 ν!
(14) s(s+a)n+1 an+1

s [at−2+(2+at)e−at ]
(15) s2 (s+a)2 a3
1
(16) (s+a)(s+b) (e−at − e−bt )/(b − a)
s
(17) (s+a)(s+b) (be−bt − ae−at )/(b − a)
 
1 1 be−at −ae−bt
(18) s(s+a)(s+b) ab 1 − b−a
1 t 1 1 1 1 −at 1 −bt

(19) s2 (s+a)(s+b) ab − a2 b
− ab2
+ b−a a2
e − b2
e
1 e−at e−bt e−ct
(20) (s+a)(s+b)(s+c) (b−a)(c−a) + (a−b)(c−b) + (a−c)(b−c)
s ae−at be−bt ce−ct
(21) (s+a)(s+b)(s+c) (a−b)(c−a) + (b−a)(c−b) + (c−a)(b−c)
238 Sistemas Continuos

Transformadas unilaterales de Laplace (continuación)

No G(s) g(t)

s2 a2 e−at b2 e−bt c2 e−ct


(22) (s+a)(s+b)(s+c) (b−a)(c−a) + (a−b)(c−b) + (a−c)(b−c)
h i
1 1 bce−at cae−bt abe−ct
(23) s(s+a)(s+b)(s+c) abc 1 − (b−a)(c−a) − (a−b)(c−b) − (a−c)(b−c)
1 1
 −at
(24) (s+a)(s+b)2 (b−a)2
e − [1 + (b − a)t]e−bt
s 1

(25) (s+a)(s+b)2 (b−a)2
−ae−at + [a + (b − a)bt]e−bt
s2 1
 2 −at
(26) (s+a)(s+b)2 (b−a)2
a e − [2ab − b2 + (b − a)b2 t]e−bt
h i
1 1 b2 e−at 2ab−a2 +ab(b−a)t −bt
(27) s(s+a)(s+b)2 ab 2 1 − (b−a) 2 + (b−a) 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 +2ζωn s+ωn
2 ζ < 1; ωd e−δt sen ωd t
2
sωn
(30) s2 +2ζωn s+ωn
2 ζ < 1; ωn2 e−δt sen (ωd t − θ)
2
ωn ωn
(31) s(s2 +2ζωn s+ωn
2) ζ < 1; 1 − ωd e−δt sen (ωd t + θ)
2
ωn −t/T1 −T −t/T2
(32) s(s2 +2ζωn 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 expansión 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 s−1
A manera de ilustración, el valor de H del segundo ejemplo se calcula multiplicando
ambos miembros de la igualdad por el factor (s + 1), para poder aislar H. La relación
resultante se evalúa con la solución de la ecuación (s + 1) = 0; es decir, se evalúa en
A.1 La Transformada Unilateral de Laplace 239

Tabla A.2: Propiedades de la transformada de Laplace

No Descripción 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) Derivación L dg(t) = sG(s) − g(0)
h ndt i
(3) Derivación de orden n L d dtg(t)
n = sn G(s) − sn−1 g(0) − sn−2 dg(0)
dt − · · ·
n−2 n−1
−s dgdtn−2(0) − dgdtn−1(0)
hR i
t
(4) Integral L 0 g(t)dt = G(s) s
(5) Desplazamiento en tiempo L[g(t − t0 )] = e−t0 s G(s)
(6) Desplazamiento en frecuencia L[e−at g(t)] = G(s + a)
(7) Escalamiento L[g(at)] = a1 G( as )
(8) Valor inicial lı́mt→0 g(t) = lı́ms→∞ sG(s)
(9) Valor final lı́mt→∞ g(t) = lı́ms→0 sG(s)
n
(10) Multiplicación por tn L[tn g(t)] = (−1)n d dsG(s)
n
R∞
(11) División 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 fracción 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 términos 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 expansión incluye términos de la forma:
rj rj+1 rj+m−1
+ + ··· +
s − pj (s − pj )2 (s − pj )m
donde rj , . . . , rj+m−1 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 están contenidos en los vectores p y r respectivamente.
240 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 DESCOMPOSICIÓN EN FRACCIONES PARCIALES
clear all; close all; clc;
B = [1 0 -16]; A = [1 0 -1]; % PRIMER CASO
[r,p,k] = residue(B,A); % r = [7.5;-7.5]; p = [-1;1]; k = 1
M = [1 6]; N = [1 -4 4]; % SEGUNDO CASO
[rr,pp,kk] = residue(M,N); % rr = [1;8]; pp = [2;2]; kk = 0;
Por consiguiente:
B(s) 7.5 −7.5 N (s) 1 8
= + +1 = +
A(s) s+1 s−1 M (s) s − 2 (s − 2)2
Ejemplo A.13
Hallar la transformada inversa de Laplace de:
B(s) s4 + 2s3 + 3s2 + 2s + 1
G(s) = = 4
A(s) s + 4s3 + 7s2 + 6s + 2
Solución: El programa fracp2.m calcula los vectores r, p y k:
r = [ r1 ; r2 ; rj ; rj+1 ] = [ −0.5i ; 0.5i ; −2 ; 1 ]
p = [ p1 ; p2 ; pj ; pj+1 ] = [(−1 + i) ; (−1 − i) ; −1 ; −1] k=1
Dado que todas las raı́ces en el vector r son distintas:
r1 r2 rj rj+1
G(s) = k + + + +
s − p1 s − p2 s − pj (s − pj )2
−0.5i 0.5i −2 1
= 1+ + + +
s + 1 − i s + 1 + i s + 1 (s + 1)2
Es fácil demostrar que:
−0.5i 0.5i 1 2 1 ωn2
+ = =
s+1−i s+1+i 2 (s2 + 2s + 2) 2 s2 + 2ζωn s + ωn2
√ √
donde, por igualación: ωn = 2, ζ = 1/ 2. Por consiguiente:
1 2 −2 1
G(s) = 1 + + +
2 (s + 2s + 2) s + 1 (s + 1)2
2

Empleando los pares (1), (29), (3) y (12) de la Tabla A.2.1, con n = 1, se obtiene:
 
−1 −1 ωn2 ωn2 −δt
L [1] = δ(t) L = e sen ωd t
s2 + 2ζωn s + ωn2 ωd
   
1 1
L−1 = e−t L−1 = te−t
s+1 (s + 1)2
donde, ωd = 1 y δ = 1, se calcularon empleando las fórmulas al final de la continuación
de la Tabla A.2.1. Por consiguiente, juntando los resultados anteriores se obtiene:
g(t) = δ(t) + e−t sen t − 2e−t + te−t
A.1 La Transformada Unilateral de Laplace 241

% fracp2.m DESCOMPOSICIÓN 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 ecuación diferencial:

d2 y(t) dy(t)
2
+ 11 + 24y(t) = e−6t
dt dt
dy(0)
con las condiciones iniciales nulas: dt = 0, y(0) = 0.

Solución: Empleamos la propiedad de derivación de la Tabla A.2:


 
d2 y(t) dy(t)  
L 2
+ 11 + 24y(t) = L e−6t
dt dt

 
2 dy(0) 1
s 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 −3t 1 1
y(t) = e + e−8t + e−6t
80 60 48

A.1.5. Álgebra de Bloques


La Fig. A.3 muestra las transformaciones válidas entre bloques y sus correspon-
dientes diagramas de flujo de señales. Cabe anotar que cada bloque representa una
FT. En un diagrama de flujo de señales, cada bloque se transforma en una linea con
dirección y ganancia, mientras que cada punto de suma o de derivación se transforma
en una señal, la cual se representa por un cı́rculo.
Por ejemplo, en el diagrama de bloques mostrado en la Fig. A.3(f), las señales r,
e e y, se convierten en cı́rculos en su diagrama de flujo de señales, mientras que las
ganancias G y H pasan a ser las lı́neas que conectan los bloques. Notar que estas
lı́neas poseen dirección y ganancia. La FT entre x1 y x2 , mostrada en su diagrama
equivalente, se deriva como sigue:

x1 (s) G(s)
x2 (s) = G(s)e(s) = G(s)(x1 (s) ± H(s)) → =
x2 (s) 1 ∓ GH(s)
242 Sistemas Continuos

u e y u y r e r e
G1 G2 G1 G2 G G
r r
u G1 e G 2 y u y 1/G
G 1G 2 r e
G r e
(a) G
1
r e u r u r (d) r 1/G
G G
y r e
y G u r u
G G
r 1 e G u r G u 1 u y y
u 1/G
1 G r G u
y 1 r 1 e G u
y
(b)
1
r y y
r e e (e) 1/G
G G
r r r e y
G G r G y
r G e r e 1 GH
G H
1
e G r 1 e y r y
e G
G
(c) H (f) 1 GH

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


sus equivalentes.

A.2. Matrices y Determinantes


Una matriz A de orden o dimensión n×m, escrita con letra mayúscula 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 números reales o complejos, funciones, otras
matrices, etc. Cuando n = 1, A se convierte en un vector fila. Cuando m = 1, A
toma la forma de un vector columna. Los vectores se denotan en negrita. Por ejemplo,
los vectores columna x(q) y fila y(q) de orden n y dependiente del argumento q se
representan como:
 
x1 (q)
   
x(q) =  ...  y(q) = y1 (q) · · · yn (q)
xn (q)
A.2 Matrices y Determinantes 243

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


   T
xT (q) = x1 (q) · · · xn (q) ; x(q) = x1 (q) · · · xn (q)
   T
y1 (q) y1 (q)
   
yT (q) =  ...  y(q) =  ... 
yn (q) yn (q)
donde el superı́ndice T indica la operación 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 además [aij ] = [bij ].
La suma de dos matrices, denotada como C = A ± B, sólo es posible si A y B
son del mismo orden:
C = [cij ] = A ± B = [aij ± bij ]
La multiplicación de dos matrices, expresada como C = AB, sólo es posible si el
número de columnas de A es igual al número 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 multiplicación es válida: A2×3 B3×1 = C2×1 , tal como se
observa a continuación.
 
  b11    
a11 a12 a13  c11 a11 b11 + a12 b21 + a13 b31
b21  = =
a21 a22 a23 c21 a21 b11 + a22 b21 + a23 b31
b31

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


multiplicado por κ, a saber:

κA = κ[aij ] = [κaij ]

La multiplicación 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 multiplicación no es conmutativa; es decir:

AB 6= BA
244 Sistemas Continuos

Ejemplo A.15

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

Solución: Dado C = AB y D = BA, basta demostrar que C 6= D, tal como se


ilustra en el siguiente programa.
% conmat.m CONMUTACIÓN 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 operación
determinante, la cual se trata más adelante.
Si AB = AC, no necesariamente implica que B = C.
La matriz transpuesta, denotada como AT , es la matriz A con sus filas y columnas
intercambiadas. Por consiguiente:

(AT )T = A; (A + B)T = AT + BT ; (AB)T = BT AT



Un número complejo se designa como s = σ + jω, donde j = −1 es la unidad
de los números imaginarios y tanto σ como ω son números reales. La operación
conjugada, denotada como A∗ , toma la conjugada a todos los elementos complejos
de A. Para la operación conjugada se cumple:

(A∗ )∗ = A; (A + B)∗ = A∗ + B∗ ; (AB)∗ = A∗ B∗

La operación 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 1−j 3 3+j
A= 0 4 −2  B= j 4 −2 + j 
2 6 −9 2−j 6+j −9
A.2 Matrices y Determinantes 245

Solución:  
1 0 2
A∗ = A A H = AT =  2 4 6 
3 −2 −9
   
1−j j 2−j 1+j 3 3−j
BT =  3 4 6+j  B∗ =  −j 4 −2 − j 
3 + j −2 + j −9 2+j 6−j −9
 
1+j −j 2+j
H T ∗ 
B = (B ) = 3 4 6−j 
3 − j −2 − j −9

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 también como In (n es el orden de la matriz), es
una matriz diagonal que sólo posee unos. Si A es cuadrada, AI = IA. En general, se
cumple que:

A es simétrica si: AT = A (A.6)


T
A es antisimétrica 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 periódica si: A = A; κ es un entero positivo (A.13)
κ+1
A es idempotente si: A = A; κ es igual a 1 (A.14)
κ
A es nilpotente si: A = 0; κ es un entero positivo (A.15)
−1
A−1 es la inversa de A si: A A=I (A.16)
A es singular si: det(A) = 0 (A.17)
246 Sistemas Continuos

Una matriz compleja cuadrada A puede ser escrita como la suma de una matriz
hermitiana B = 12 (A + AH ) más otra matriz antihermitiana C = 12 (A − AH ). Es
decir:
1 1
A = B + C = (A + AH ) + (A − AH )
2 2
Ejemplo A.17

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 2−j
A=
6+j 5−j

Solución:  
H 1−j 6−j
∗ T
A = (A ) =
2+j 5+j
 
1 H 1 4−j
B = (A + A ) = BH = (B∗ )T = B
2 4+j 5
 
1 H j −2
C = (A − A ) = CH = (C∗ )T = −C
2 2 −j

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.18)
a21 a22

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


método de la expansión. 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.19)
a31 a33 a31 a32

Con relación a dos matrices cuadradas A y B de orden n:


A.2 Matrices y Determinantes 247

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


2. det(A) = det(AT ).
3. Si la constante real κ multiplica una fila o una columna de A, entonces el det(A)
queda multiplicado por κ.
4. Si la matriz B se obtiene intercambiando dos filas o dos columnas de A, entonces
det(B) = −det(A).
5. Si dos filas o columnas de A son iguales, entonces det(A) = 0.
6. Si sumamos un múltiplo 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
determinación de los eigenvalores o valores propios de una matriz se trata en la
subsección 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 = B−1 A−1 ; (AT )−1 = (A−1 )T
1
((A∗ )T )−1 = ((A−1 )∗ )T ; det(A−1 ) =
det(A)
Si A es una matriz no singular de orden 2, vale recordar que:
   
a b −1 1 d −b
A= ; A = (A.20)
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.21)
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 simbólicamente las fórmulas de la inversa y del determinante de A dadas


en (A.21).

Solución: Ejecutar el programa matinv.m mostrado abajo.


248 Sistemas Continuos

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


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

La Tabla A.3 muestra los comandos para ejecutar operaciones matriciales con
MATLAB.

Cantidades Complejas
Sea G = Gr + jGi un número o función compleja donde <e[G] = Gr es su parte
real e =m[G] = Gi es su parte imaginaria. El valor absoluto o módulo o magnitud
de G se denota como |G| mientras que el ángulo o argumento de G se expresa como
∠ G. Luego, G se puede formular como:

G = <e[G] + j=m[G] = |G|∠ G (A.22)


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 gráfica y usando MATLAB el ángulo y el módulo de:



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

Solución: Los elementos de G corresponden a triángulos notables mostrados en la


Fig. A.4. Ejecutando el programa trnot.m se obtiene la misma solución.

4j

127º
5
−1 1
−3 −60º
2
−135º
2
−j
3j

G 11 = 2 −135º G12 = 5 127º G13 = 2 −60º

Fig. A.4: Triángulos notables para el problema A.19.


A.2 Matrices y Determinantes 249

% trnot.m NÚMEROS 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 cómputo matricial

Operación Código MATLAB


Suma A+B A + B
Resta A−B A - B
Multiplicación AB A*B
Multiplicación κ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 A−1 inv(A)
División izquierda A*X = B; X = A\ B
División derecha X*A = B; X = B/A
Valor absoluto |A| abs(A)
Ángulo ∠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.


 
1−j 2−j 3−j
A =  4j −2 3 + 5j 
6 − j 7 − j 8 + 3j

(A∗ + AT − 0,7jA3 )A−1 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.

Solución: El programa calmat.m calcula la matriz B pedida. Además, por ser her-
mitiana: M = MH , y por ser antihermitiana: N = −NH . Entonces basta comprobar
que M − MH = 0 y que N + NH = 0.
250 Sistemas Continuos

% calmat.m CÁLCULO 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’ Ó M-M’=0
N = (B - B’)/2; % N ES ANTIHERMITIANA PORQUE M=-M’ Ó M+M’=0

Ejemplo A.21

Multiplicación con Partición de Matrices.– Dos matrices Anm y Bmp (los


subı́ndices 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 condición necesaria para realizar el producto Cnp = Anm Bmp empleando parti-
ciones, es que las columnas de A y las filas de B sean particionadas en la misma
forma. Por lo tanto, n = n1 + · · · + nn , m = m1 + · · · + mm y p = p1 + · · · + pp .

Ejemplo A.22

Empleando la regla descrita determinar si el producto siguiente es válido y si lo es,


obtener C = AB.
  
A22 A23 A21 B22 B23
AB =  A32 A33 A31   B32 B33 
A42 A43 A41 B12 B13

Solución: 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 partición es correcta. La multiplicación 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 ecuación diferencial matricial que reemplace a las dos
ecuaciones diferenciales siguientes:
dx dy
= ẋ = Ax + Bv; = ẏ = Cy + Dw
dt dt
dy
donde ddtx = ẋ y dt = ẏ denotan las derivadas de x e y con respecto al tiempo,
respectivamente.
A.2 Matrices y Determinantes 251

Solución: Es importante notar que si x es de orden n, entonces A debe ser de


orden n × n. También, si v es de orden p, entonces B debe ser de orden n × p, y
ası́ sucesivamente. La ecuación pedida se muestra a continuación, donde 0 es la matriz
nula. Las dimensiones de los vectores y matrices se indican con subı́ndices.
       
ẋ A 0 x B 0 v
= +
ẏ 0 C y 0 D w
ẋn×1 = An×n xn×1 + 0n×m ym×1 + Bn×p vp×1 + 0n×q wq×1
ẏm×1 = 0m×n xn×1 + Cm×m ym×1 + 0m×p vp×1 + Dm×q wq×1

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 combinación lineal de los restantes. Al contrario, tal conjunto
de vectores es linealmente dependiente cuando alguno de ellos se puede escribir como
una combinación lineal de los demás.
Ejemplo A.24
Determinar si los siguientes vectores son o no linealmente dependientes.
     
18 3 4
u =  28  v= 5  w= 6 
29 7 5
Solución: 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 incógnitas resulta: α = 2 y β = 3.
Por lo tanto, el conjunto de vectores u, v y w son linealmente dependientes.
Ejemplo A.25
Determinar si los siguientes vectores son o no linealmente independientes.
     
1 3 4
u= 2   v= 5   
w= 6 
3 7 5
Solución: 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 incógnitas resultante es incompatible y sin solu-
ción. Entonces, el conjunto de vectores u, v y w es linealmente independiente.
252 Sistemas Continuos

Rango de una Matriz


Si A es una matriz de orden n × m, su rango, denotado como rango(A), es igual
al número máximo r de sus vectores filas (o columnas) linealmente independientes.
En cualquier matriz, el número de vectores filas linealmente independientes coincide
con el número de vectores columnas linealmente independientes. Por consiguiente, el
valor máximo 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 también se puede determinar evaluando los determinantes de
sus mı́nimos cuadrados, tal como se ilustra en el siguiente ejemplo.

Ejemplo A.26

Determinar el rango de las siguientes matrices empleando varios métodos:


   
1 2 3 1 3 2
A= 3 5 7  B= 3 8 9 
4 6 5 1 2 5

Solución: La matriz A de orden n = 3 posee rango completo (r = n = 3) por dos


razones. La primera es que ningún vector fila o vector columna es una combinación
lineal de las restantes. La segunda razón 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 mı́nimos 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


mı́nimo cuadrado es diferente de 0, mientras que el determinante del tercer mı́nimo
cuadrado es nulo.

Propiedades del Rango


Si A es una matriz de orden n × m y B es de orden m × k, se cumple:

rango(AB) = rango(AH ) = rango(AH A) = rango(AAH )


rango(AB) = rango(AT ) = rango(AT A) = rango(AAT )
rango(AB) ≤ rango(A); rango(AB) ≤ rango(B)
rango(AB) = rango(A), si A y B son no singulares
rango(AB) = rango(B), si A y B son no singulares
A.2 Matrices y Determinantes 253

Ejemplo A.27

Sean las matrices Anm , Bmp y Cmm . Demostrar numéricamente que:

rango(A) ≤ mı́n(n, m)
rango(A) = rango(AH )
rango(AB) ≤ min(rango(A), rango(B))
rango(CB) = rango(B)

Solución: 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 también como valor propio,
modo, eigenvalue, o raı́z caracterı́stica, es un escalar λ que permite una solución no
trivial de la ecuación:
Ax = λx (A.23)
Factorizando x en (A.23) obtenemos la ecuación caracterı́stica de A:

det(λI − A) = 0 (A.24)

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


es solución de (ver (A.23)):
Aei = λi ei (A.25)
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
254 Sistemas Continuos

Determinar los eigenvalores y eigenvectores del sistema siguiente:


    
ẋ1 1 2 x1
=
ẋ2 4 3 x2

Solución: Los eigenvalores se determinan de (A.24):


   
λ 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.25) para λ1 y λ2 :


Ae1 = λ1 e1 y Ae2 = λ2 e2 , obteniéndose:
       
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

Solución: Ejecutar el programa eig1.m.


% eig1.m CÁLCULO 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 numéricamente:

det(A) = λ1 λ2 . . . λn ; i = 1, . . . , n

Solución: Ver el programa eig2.m.


% eig2.m COMPRUEBA QUE det(A)=L(1)L(2)L(3)L(4)
clear all
A = [1-j 2-j 3-j -3+8j
4j -2 3+5j 4-2j
6-j 7-j 8+3j 3+j
2 -1 j 0];
L = eig(A); % DETERMINA LOS EIGENVALORES DE A
detA = det(A); P = L(1)*L(2)*L(3)*L(4); % SE CUMPLE QUE: det(A) = P
A.2 Matrices y Determinantes 255

Pseudoinversas
El concepto de pseudoinversa de una matriz es la generalización de su inversa y
resulta útil para encontrar una solución en un conjunto de ecuaciones algebraicas en
donde el número de variables desconocidas y el número de ecuaciones linealmente
independientes no son iguales. Sea la ecuación:

Ax = b

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 solución de tal ecuación está dada
por:
xo = AID b AID = AT (AAT )−1
donde AID es la matriz pseudoinversa derecha (o mı́nima inversa derecha) de A que
cumple la propiedad: AAID = In .
En forma similar, sea la ecuación: Ax = b, donde A es una matriz de orden m×n
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 solución de tal ecuación se obtiene de:

xo = AII b AII = (AT A)−1 AT

donde AII es la matriz pseudoinversa izquierda (o mı́nima 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 SOLUCIÓN 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 SOLUCIÓN DE DIMENSIÓN (3,1)
MPII = (C’*C)^(-1)*C’; % MATRIZ PSEUDOINVERSA IZQUIERDA
y = MPII*d; % VECTOR SOLUCIÓN DE DIMENSIÓN (2,1)

Ejemplo A.32

Resolver el siguiente sistema (más incógnitas que ecuaciones):

(5 − j)x1 + (2 + 3j)x2 + (3 − j)x3 + (−1 + 4j)x4 + (−6 + j)x5 = 2 − 9j


4jx1 − 2x2 + (3 + 5j)x3 − 7jx4 + (8 − 2j)x5 = 4 − j
(6 − j)x1 + (7 − j)x2 + (8 − 3j)x3 + (3 − j)x4 + (1 + 4j)x5 = 3 + j
Solución: Ver el programa miqe.m.
% miqe.m SISTEMA DE ECUACIONES: MÁS INCÓGNITAS 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;
256 Sistemas Continuos

Ejemplo A.33

Resolver el siguiente sistema (más ecuaciones que incógnitas):

(5 − j)x1 + (2 + 3j)x2 + (3 − j)x3 = 2 − 9j


4jx1 − 2x2 + (3 + 5j)x3 = 4 − j
(6 − j)x1 + (7 − j)x2 + (8 − 3j)x3 = 3 + j
(−1 + 4j)x1 + (−6 + j)x2 + (3 − j)x3 = −3 + 7j
−7jx1 + (8 − 2j)x2 + (1 + 4j)x3 = −9

Solución: Ejecutar el programa meqi.m.


% meqi.m SISTEMA DE ECUACIONES: MÁS ECUACIONES QUE INCÓGNITAS
clear all; close all; clc;
A = [5-j 2+3j 3-j
4j -2 3+5j
6-j 7-j 8-3j
-1+4j -6+j 3-j
-7j 8-2j 1+4j];
B = [2-9j;4-j;3+j;-3+7j;-9]; X = A\B;

A.2.5. Diagonalización de Matrices y Formas Canónicas


Diagonalización 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 = E−1 . Sea Λ una
matriz diagonal formada con los eigenvalores de A. Entonces se cumple:
 
λ1 0 . . . 0
 0 λ2 . . . 0 
 
E−1 AE = Λ =  . .. ..  (A.26)
 .. . . 
0 0 . . . λn

El proceso de diagonalización arriba mencionado permite transformar un sistema


descrito por la denominada ecuación de estado (sección A.3) :

dx
= ẋ = Ax + Bu
dt
en otro sistema descrito por la ecuación:
dx∗
= ẋ∗ = A∗ x∗ + B∗ u
dt
donde: x = Ex∗ es una transformación lineal, A∗ = E−1 AE = Λ y B∗ = E−1 B.
Esta transformación se denomina canónica.
Por otro lado, si A es una matriz de orden n de rango completo que posee eingen-
valores repetidos, entonces A se puede diagonalizar mediante la relación E −1 AE = Λ.
Sin embargo, la matriz de eigenvectores E no es unitaria (EH 6= E−1 ).
A.3 Variables de Estado 257

Ejemplo A.34

Hallar la transformación canónica del siguiente sistema:


   
2 0 1
ẋ = Ax + Bu = x+ u
−1 1 −1
Solución: Ejecutar el programa trancan.m para obtener la siguiente transformación
canónica:
dx∗
= ẋ∗ = A∗ x∗ + B∗ u
dt
 ∗    ∗   
ẋ1 1 0 x1 √0
= + u
ẋ∗2 0 2 x∗2 2
% trancan.m TRANSFORMACIÓN CANÓNICA
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 DIAGONALIZACIÓN DE MATRICES DE RANGO COMPLETO
clear all; close all; clc;
A1 = [2 2 -1;2 3 0;-1 0 2]; n1 = 3; % rank(A1) = 3 (RANGO COMPLETO)
[E1,D1] = eig(A1); DD1=inv(E1)*A1*E1;
% D1=DD1=diag(4.7093,2.1939,0.0968), RA ÍCES NO REPETIDAS => inv(E1)=E1’
A2 = [-2 -1 -1 -1 2;1 3 1 1 -1;-1 -4 -2 -1 1;-1 -4 -1 -2 1;...
-2 -2 -2 -2 3]; n2 = 5; % rank(A2) = 5 (RANGO COMPLETO)
[E2,D2] = eig(A2); DD2=inv(E2)*A2*E2;
% D2 = DD2 = diag(-1,1.5+0.866i,1.5-0.866i,-1,-1)
% DOS RAÍCES REPETIDAS => inv(E2) ~= E2’
A3 = [-2 3 3 -1 -6 -2;1 0 -1 0 2 1;1 -2 0 1 2 0;1 1 -1 -1 2 1;...
1 -2 -1 1 3 1;1 0 -1 0 2 0]; n3 = 6; % rank(A3)=6 (RANGO COMPLETO)
[E3,D3] = eig(A3); DD3=inv(E3)*A3*E3;
% D3 = diag(-1,-1,1,1,1,-1), TRES RAÍCES REPETIDAS => inv(E3) ~= E3’

A.3. Variables de Estado


A.3.1. Ejemplo de Introducción
El siguiente ejemplo sirve para introducir el concepto de variable de estado. La
Fig. A.5 muestra el sistema tanque con agua, donde el volumen de agua acumulado
se modela como:
dh dh
S = S ḣ = qi − qo ḣ = (A.27)
dt dt
donde S es la sección 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.28)
Rh
258 Sistemas Continuos

ÀÀ
¿À¿¿ qi

ÃÂÃÂÂ
ÃÃÂÃÂ A

h
ÃÂ
ÁÁ Sensor de presión qo

Fig. A.5: Sistema tanque con agua.

donde Rh es la resistencia hidráulica, la cual se calcula de la relación:


H
Rh = (A.29)
Q
donde H y Q son los valores estacionarios de h y qo , respectivamente. Despejando
ḣ de (A.27) se obtiene la ecuación de estado del sistema, la cual es una ecuación
diferencial de primer orden de la forma:
1 1
ḣ = − h + qi ẋ = A x + B u (A.30)
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 distribución de orden uno. La ecuación de salida del proceso
toma la forma:
y = Cx = [1]x (A.31)
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[ẋ] = L[ẏ] =
s[Y (s) − y(0)], la FT del sistema con y(0) = 0 resulta de (A.30):
Y (s) Rh
= (A.32)
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 dinámica del sistema. Sin
embargo, la representación en el espacio de estado (variables de estado más ecuaciones
de estado y de salida), es general porque se puede aplicar también a sistemas no
lineales como se verá oportunamente. En cambio, la FT sólo es aplicable a sistemas
lineales.
Para sistemas MIMO lineales y con parámetros invariantes con el tiempo, las
ecuaciones de estado y de salida toman la forma:

ẋ = Ax + Bu y = Cx + Du (A.33)
A.3 Variables de Estado 259

donde los ordenes de los vectores y matrices se ilustran en la siguiente relación:

ẋn×1 = An×n xn×1 + Bn×m um×1 yp×1 = Cp×n xn×1 + Dp×m um×1

A.3.2. Definición de Variables de Estado


El vector de estado x = [x1 . . . xn ]T de un sistema (donde el superı́ndice T indica
transpuesta) es el mı́nimo conjunto de variables, las variables de estado x 1 . . . xn , las
cuales contienen información suficiente acerca de la historia pasada del sistema. Esta
información permite computar todos los futuros estados del sistema, asumiendo por
supuesto, que todas las futuras entradas u son también conocidas, como del mismo
modo lo son las ecuaciones dinámicas que describen dicho sistema. El número n de
variables de estado (el número de ecuaciones diferenciales de primer orden) define el
orden o la dimensión 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 ecuación ẋ = 0 cuando u = 0. Para sistemas lineales, el punto de
equilibrio es siempre el origen 0 porque ẋ = Ax = 0 implica que xe = 0, donde el
superı́ndice e indica equilibrio.

Ejemplo A.36

La Fig. A.6 muestra un sistema masa–resorte compuesto por una masa M unida
a un resorte de constante K. Determinar analı́tica y gráficamente su plano de fase
mostrando las correspondientes trayectorias de estado y sus puntos de equilibrio.
Notar que el sistema masa–resorte es no forzado porque no existe fuerza exterior
alguna actuando sobre el mismo.

z
K=1

M=1 z0

Fig. A.6: Sistema mecánico masa–resorte.

Solución: El sistema masa–resorte está gobernado por la siguiente ecuación diferen-


cial lineal de segundo orden:
M z̈ + Kz = 0 (A.34)
Como el sistema es de orden dos, seleccionemos como variables de estado x 1 = z y
x2 = ż. Este modelo dinámico con M = K = 1 produce dos ecuaciones de estado y
una ecuación de salida:

ẋ1 = x2 ẋ2 = −x1 y = x1


260 Sistemas Continuos

Por consiguiente, las ecuaciones de estado y salida del sistema masa–resorte son:
ẋ = Ax y = Cx
     
ẋ1 x1 0 1  
ẋ = x= A= C= 1 0
ẋ2 x2 −1 0
Asumamos que estiramos el resorte hasta que M se encuentre en la posición inicial
z0 . Luego soltamos el resorte, lo cual produce un movimiento oscilatorio que puede
modelarse como z(t) = z0 cos t. Es fácil comprobar que la solución z(t) = z0 cos t
verifica el modelo dinámico dado en (A.34). Usando las variables de estado definidas
anteriormente resulta:
x1 (t) = z0 cos t x2 (t) = −z0 sen t
Elevando al cuadrado y sumando se obtiene:
x21 + x22 = z02 (cos2 t + sen2 t) = z02
La última ecuación representa un cı́rculo de radio z0 . Por consiguiente, las trayectorias
de estado en el plano de fase x1 versus x2 son cı́rculos cuyos radios dependen de la
posición inicial de reposo z0 . tales trayectorias se muestran en la Fig. A.7. Para
obtener dichas trayectorias de fase, ejecutar el programa pfl.m.
Los eigenvalores del sistema masa–resorte se determinan de:
 
λ 1
det(λI − A) = det = λ2 + 1 = 0
−1 λ
Por lo tanto: λ1 = i, λ2 = −i, ambas raı́ces imaginarias, lo cual nos informa del
carácter oscilante de la respuesta del sistema, tal como se discute en la siguiente
sección. El único punto de equilibrio xe = 0 del sistema se determina de:
 e   
x1 0
ẋe = Axe = 0 xe = =
xe2 0
% C2pfl.m PLANO DE FASE EN UN SISTEMA LINEAL
clear all; close all; clc;
g = inline(’[x(2);-x(1)]’,’t’,’x’); % MODELO MATEM ÁTICO
vectfield(g,-1:0.2:1,-1:0.2:1) % RANGOS DE LOS EJES HORIZONTAL Y VERTICAL
hold on
for x20=-1:0.2:1 % SIMULACIÓN PARA ESTAS CONDICIONES INICIALES DE y(2)
[ts,xs]=ode45(g,[0,10],[0;x20]); % [0,10]: SIMULACI ÓN DE 0 A 10 s
plot(xs(:,1),xs(:,2)); grid;
end
hold off, ylabel(’x2(t)’), xlabel(’x1(t)’),
title(’PLANO DE FASE x2(t) VS x1(t)’), print -deps -f C2pfl

A.3.3. Matriz de Transferencia y Estabilidad


Las ecuaciones de estado y de salida multivariables de un Sistema Lineal e Inva-
riante 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:
ẋ = Ax + Bu + Ev
y = Cx + Du + Fw (A.35)
A.3 Variables de Estado 261

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

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1


POSICIÓN x1

Fig. A.7: Plano de fase mostrando las trayectorias de estado (Ejemplo A.36).

Donde E y F son matrices disturbio también conocidas. El sistema es invariante


con el tiempo porque todas sus matrices son constantes. Si v y/o w fueran vectores
estimados o estadı́sticos, entonces el SLIT en cuestión serı́a estocástico. El sistema
SLIT libre de disturbios se determina haciendo v = w = 0 en (A.35):

ẋ = Ax + Bu
y = Cx + Du (A.36)

La matriz de transferencia (MT) del sistema SLIT se halla aplicando la transformada


de Laplace en (A.36) con x(0) = y(0) = 0 (condiciones iniciales nulas):

sX(s) = AX(s) + BU(s)


Y(s) = CX(s) + DU(s) (A.37)

Despejamos X(s) de la primera relación de (A.37) y la reemplazamos en la segunda


relación. El resultado es:

Y(s) = [C(sI − A)−1 B + D]U(s) = G(s)u(s) (A.38)


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 matemática simbólica:

ẋ1 = −x1 + x2 + 2u1 − u2 ẋ2 = 2x1 − 3x2 + u1 − 2u2

y1 = x1 − 5u2 y2 = −x2 − 3u1


262 Sistemas Continuos

Solución: Las ecuaciones de estado y de salida correspondientes son:

ẋ = 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 CÁLCULO DE LA MATRIZ DE TRANSFERENCIA


clear all; close all; clc;
syms s;
A=[-1 1;2 -3]; B=[2 -1;1 -2]; C=[1 0;0 -1]; D=[0 -5;-3 0]; I = [1 0;0 1];
G = C*inv(s*I-A)*B + D; pretty(simplify(G))

Estabilidad
Cuando las señales y y u son unidimensionales, la ecuación (A.38) se convierte en
la FT del sistema SLIT y se puede representar como la relación entre dos polinomios
A(s) y B(s) como sigue:

y(s) B(s)
= G(s) = [C(sI − A)−1 B + D] = (A.39)
u(s) A(s)

En general, la ecuación caracterı́stica del sistema SLIT (ecuación (A.36)) se ob-


tiene de:
A(s) = det(sI − A) = 0 (A.40)
Las raı́ces de (A.40) son los eigenvalores de la matriz de estado A, tal como se trató en
(A.24). 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 ẋ = Ax (ecuación (A.36) con u = 0 es estable, siempre


que todos sus eigenvalores (raı́ces de (A.40)) posean parte real negativa. Cuando al
menos uno de tales eigenvalores posea parte real positiva o cero, entonces el sistema
es inestable.

Notar que todas las funciones de transferencia de la matriz G del ejemplo A.37
poseen un mismo denominador común: el polinomio A(s) = s2 +4s+1. Este polinomio
es también la ecuación caracterı́stica del sistema multivariable, siendo sus eigenvalores
s1 = –3.7321 y s2 = –0.2679. Por consiguiente, tal sistema es estable.
El sistema no forzado ẋ = Ax posee un solo punto de equilibrio: el origen, debido
a que la solución de ẋ = Ax = 0 es xe = 0. Por consiguiente, un SLIT no forzado
es estable, cuando el estado x del sistema tiende al estado de equilibrio xe = 0
A.3 Variables de Estado 263

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

Tipos de Puntos Singulares en SLITs de 2do Orden


Un SLIT de orden dos no forzado se describe mediante la siguiente ecuación
matricial:     
ẋ1 a11 a12 x1
ẋ = = Ax =
ẋ2 a21 a22 x2
Para este sistema, el único punto singular o de equilibrio es xe = 0 (el origen). Los
dos eigenvalores λ1 y λ2 de la matriz de estado A se determinan de su ecuación
caracterı́stica: det(λI − A) = 0. Dependiendo de la ubicación de los eigenvalores
λ1 = σ1 + jω1 y λ2 = σ2 + jω2 en el plano σ versus jω, el punto de equilibrio
correspondiente presenta ciertas caracterı́sticas, tal como se ilustra en la Fig. A.8, en
donde los puntos negros sobre los gráficos 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 también
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 demostración se establece que en general, para que el sistema ẋ = Ax + Bu
sea completamente controlable, la siguiente matriz M de orden n × nm:
 
M= B AB · · · An−1 B (A.41)

denominada matriz de controlabilidad, debe ser de rango n. Para ahondar un poco


en el tema de controlabilidad, a continuación se analiza un caso especial.

Caso Especial: Eigenvalores de A no se Repiten


Si los eigenvalores de A son distintos, entonces reemplazando la transformación
lineal x = Ex∗ en ẋ = Ax + Bu, donde E es la matriz de vectores propios (ver
subsección A.2.5), y despejando x∗ se obtiene:

ẋ∗ = E−1 AEx∗ + E−1 Bu = Λx∗ + B∗ u (A.42)


264 Sistemas Continuos

jω x2 jω x2

σ x1 σ x1
λ1 λ 2 λ1 λ 2

(a) (b)
jω x2 jω x2

λ1
σ x1 σ x1
λ1 λ2
λ2
(c) (d)
jω x2 jω x2

λ1
λ1
σ x1 σ x1
λ2
λ2 (f)
(e)

Fig. A.8: Tipos de puntos singulares en un sistema lineal de segundo orden: (a)
nodo estable, (b) nodo inestable, (c) punto silla de montar, (d) foco estable, (e) foco
inestable, (f) punto centro.

       
ẋ∗1 λ1 0 x∗1 b∗11 b∗12 · · · b∗1m u1
 ẋ∗2   λ2  x∗2   b∗21 b∗22 · · · b∗2m  u2 
       
 ..  =  ..  .. + .. .. .. ..  .. 
 .   .  .   . . . .  . 
ẋ∗n 0 λn x∗n b∗n1 b∗n2 ∗
· · · bnm um

De la ecuación (A.42) podemos aseverar que para controlabilidad completa, ninguna


fila de B∗ = E−1 B debe de ser nula. Si por ejemplo, la variable de estado x2 (la cual
está asociada a x∗2 y al eigenvalor λ2 ) es no controlable, entonces la segunda fila de
B∗ tiene que ser nula. Si este es el caso, de la ecuación (A.42) se obtiene:

ẋ∗2 = λ2 x∗2 + 0u1 + 0u2 + · · · + 0um

de donde claramente se observa que ninguna fuerza de control está actuando sobre
la variable x∗2 .

Controlabilidad Completa a la Salida


El sistema SLIT descrito en (A.45) 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 · · · CAn−1 B D] (A.43)


A.3 Variables de Estado 265

Observar que (A.43) requiere la presencia del término Du en la ecuación de salida


dada en (A.36).

Ejemplo A.38

En el programa cont1.m se determina la controlabilidad completa y de la salida de


un SLIT con ecuación de estado ẋ = Ax + Bu y ecuación de salida y = Cx + Du.
% cont1.m CONTROLABILIDAD COMPLETA DE UN SLIT
clear all; close all;clc;
A = [2 2 -1;2 3 0;-1 0 2]; B = [0 2;-1 0;2 1];
C = [1 0 1;-2 3 0]; D = [1 -1;0 3]; % n = 3; p = 2;
M = ctrb(A,B); % M = [A A*B A^2*B]: MATRIZ DE CONTROLABILIDAD
rankM = rank(M); % rankM = 3 = n => SISTEMA COMPLETAMENTE CONTROLABLE
CS = [C*B C*A*B C*A^2*B D]; rankCS = rank(CS);
% rankCS = p = 2 => SISTEMA COMPLETAMENTE CONTROLABLE A LA SALIDA

Observabilidad Completa
Un sistema SLIT es completamente observable si algún estado x(t), incluyendo el
estado inicial x(t0 ), se puede determinar partiendo de la observación de la salida y(t)
en un tiempo finito t0 ≤ t ≤ t1 . La observabilidad completa en un sistema es de suma
importancia porque permite reconstruir las variables de estado no medibles partiendo
del vector medible y(t). Sin demostración se establece la condición de estabilidad
completa. Para que un sistema sea completamente observable, es necesario que el
rango de la denominada matriz de observabilidad N de dimensión np × p :
 
C
 CA   H
 
N= ..  = CH AH CH · · · (AH )n−1 CH (A.44)
 . 
CAn−1

posea rango n (rango completo). En (A.44), el superı́ndice H indica operación hermi-


tiana. Se sabe que si todas las matrices son reales, entonces la operación hermitiana
se reemplaza por la operción transpuesta.
Si existe una transformación lineal x = Ex∗ de modo tal que E−1 AE = Λ, donde
Λ es la matriz diagonal cuyos elementos λi son los eigenvalores de A, entonces (??)
toma la forma:
ẋ∗ = E−1 AEx∗ = Λx∗ x∗ = eΛt x∗ (t0 )
Luego:
  
eλ 1 t 0 x∗1 (t0 )
 eλ 2 t  x∗2 (t0 ) 
∗ Λt ∗   
y = CEx = CEe x (t0 ) = CE  ..  .. 
 .  . 
0 e λn t x∗n (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 podrı́a reconstruir completamente el vector de estado x, lo que
se contrapone a la definición de observabilidad completa.
266 Sistemas Continuos

Ejemplo A.39
En el programa observ1.m se determina la observabilidad completa de varios SLITs.
% observ1.m OBSERVABILIDAD COMPLETA DE SLITs
clear all; close all; clc;
A1 = [2 0 0;0 2 0;0 3 1]; B1 = [0 1;1 0;0 1]; C1 = [1 2 1;2 0 3]; n1 = 3;
[E1,D1] = eig(A1); DD1 = inv(E1)*A1*E1; % D1 = diag(2,1,2)
N1 = obsv(A1,C1); % RETORNA MATRIZ DE OBSERVABILIDAD [C1; C1*A1; C1*A1^2]
rankN1=rank(N1); % rankN1=3=n1 => SISTEMA COMPLETAMENTE OBSERVABLE
A2 = [-1 1 -1;0 1 -4;0 1 -3]; B2 = [0 2 1]; C2 = [0 1 -1]; n2 = 3;
[E2,D2] = eig(A2); DD2 = inv(E2)*A2*E2; % D2 = diag(-1,-1,-1)
N2 = obsv(A2,C2); % RETORNA MATRIZ DE OBSERVABILIDAD [C2; C2*A2; C2*A2^2]
rankN2=rank(N2); % rankN2=2<n2 => SISTEMA NO ES COMPLETAMENTE OBSERVABLE
A3 = [2 2 -1;2 3 0;-1 0 2]; B3 = [0 1;1 0;0 1]; C3 = [1 2 1;2 0 3]; n3=3;
[E3,D3] = eig(A3); DD3 = inv(E3)*A3*E3; % D3 = diag(0.0968,2.1939,4.7093)
N3 = obsv(A3,C3); % RETORNA MATRIZ DE OBSERVABILIDAD [C3; C3*A3; C3*A3^2]
rankN3=rank(N3); % rankN3=3=n3 => SISTEMA COMPLETAMENTE OBSERVABLE

A.3.5. Solución de la Ecuación de Estado de SLITs Continuos


En la subsección A.3.3, ecuación (A.36), vimos que la dinámica linealizada de un
sistema (sin la presencia de disturbios) se representa en el espacio de estado mediante
sus ecuaciones de estado y de salida:
ẋ = Ax + Bu; y = Cx + Du (A.45)
La solución de la ecuación de estado anterior, dado un estado inicial x(t 0 ), es:
Z t
A(t−t0 )
x(t) = e x(t0 ) + eA(t−τ ) Bu(τ )dτ
t0
Z t
= Φ(t − t0 )x(t0 ) + Φ(t − τ )Bu(τ )dτ (A.46)
t0

donde:

X Aν (t − t0 )ν A2 (t − t0 )2 A3 (t − t0 )3
Φ(t−t0 ) = eA(t−t0 ) = = I+A(t−t0 )+ + +· · ·
ν! 2! 3!
ν=0
(A.47)
es la matriz de transición o exponencial. La derivada total de e A(t−t 0 ) resulta:
deA(t−t0 ) A3 (t − to )2
= A + A2 (t − to ) + + ···
dt  2! 
A2 (t − t0 )2
= A I + A(t − t0 ) + + +···
2!
= AeA(t−t0 ) = eA(t−t0 ) A (A.48)
Derivando ahora (A.46) con respecto al tiempo t se obtiene:
 Z 
A(t−t0 ) d At t −Aτ
ẋ = Ae x(t0 ) + e e Bu(τ )dτ
dt t0
Z t
A(t−t0 )
= Ae x(t0 ) + Ae At
e−Aτ Bu(τ )dτ + eAt e−At Bu = Ax + Bu
t0
A.3 Variables de Estado 267

De esta forma se demuestra que (A.46) es la solución de la ecuación de estado (A.45).


La representación de la ecuación 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.49)

y(s) = Cx(s) + Du(s) = C(sI − A)−1 x(t0 ) + [C(sI − A)−1 B + D]u(s) (A.50)
Comparando (A.49) con (A.46) podemos afirmar que:

Φ(t − t0 ) = eA(t−t0 ) = L−1 [(sI − A)−1 ] (A.51)

La matriz Φ(t − t0 ) se denomina la matriz de transición. Para incluir el tiempo inicial


t0 , las integraciones en L−1 [(sI − A)−1 ] se deben de hacer de t0 a t. La matriz de
transferencia definida en (A.38) también se obtiene haciendo x(t0 ) = 0 en (A.50).

Ejemplo A.40

Graficar la respuesta x(t) del sistema: ẋ = −2x + 5u con x(0) = 3. La entrada u(t)
tiene la forma mostrada en la Fig. A.9.

1 u(t)

t
0 1 2 3 4

Fig. A.9: Entrada u(t) para el ejemplo A.40.

Solución: Emplearemos la solución dada en (A.46) con A = −2 y B = 5. Para


0 ≤ t ≤ 1, u(t) = 0, t0 = 0 y x(t0 ) = 3. Luego:

x(t) = 3e−2t ; x(1) = 3e−2


3−t
Para 1 ≤ t ≤ 3, u(t) = 2 , t0 = 1 y x(t0 ) = x(1). Luego:
Z t
3−τ 5  τ =t
x(t) = 3e−2 e−2(t−1) + e−2(t−τ ) 5 dτ = 3e−2t + e−2t 7e2τ − e2τ τ τ =1
1 2 8

5 5
x(t) = 3e−2t + [7 − t − 6e2(1−t) ]; x(3) = 3e−6 + (4 − 6e−4 )
8 8
Para t ≥ 3 , u(t) = 0, t0 = 3 y x(t0 ) = x(3). Luego:

x(t) = x(3)e−2(t−3)

El gráfico de x(t), obtenido con el programa C2rpta.m se muestra en la Fig. A.10.


268 Sistemas Continuos

2.5

RESPUESTA x(t)

1.5

0.5

0
0 1 2 3 4 5 6 7 8 9 10
TIEMPO EN SEGUNDOS

Fig. A.10: Respuesta x(t) de un SLIT de primer orden a una entrada arbitraria u(t).

% 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) = 3e−t , determinar la respuesta de un sistema descrito por las siguientes
ecuaciones de estado y de salida:

x˙1 = −7x1 + x2 + 2u; x˙2 = −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 discretización para los tiempos de muestreo de
0.1 s y 0.04 s.
Solución: Es fácil determinar que las ecuaciones de estado y de salida del sistema
poseen la forma ẋ = 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
A.3 Variables de Estado 269

Según la Tabla A.2.1: u(s) = L[3e−t ] = 3/(s + 1). Luego, x(s) (ecuación (A.49)) e
y(s) (ecuación (A.50)) toman la forma:
 −1  
−1  

s + 7 −1 −6
s + 7 −1 2
x(s) = + u(s)
12 s 12 1
s −1
      
1 s 1 −6 2 3
= 2 +
s + 7s + 12 −12 s + 7 1 −1 s+1
" 2 #
−6s +s−2
(s+1)(s+3)(s+4)
= s2 +77s−14
(s+1)(s+3)(s+4)

" #  
−6s2 +s−2
  (s+1)(s+3)(s+4) 3
y(s) = Cx(s) + Du(s) = 3 −4 s2 +77s−14 −2
(s+1)(s+3)(s+4)
s+1
−22s2 − 305s + 50 6 297/6 −767/2 918/3
= − = + +
(s + 1)(s + 3)(s + 4) s + 1 s+1 s+3 s+4
297 −t −767 −3t 918 −4t
y(t) = e + e + e , t≥0
6 2 3
Las respuestas mostradas en la Fig. A.11 se realizaron con el programa crpta.m.
Notar que se emplea la siguiente aproximación de la derivada:

x(k + 1) − x(k)
ẋ ∼
= = Ax + Bu → x = x + T (Ax + Bu)
T

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 ) prácticamente coinciden. Conforme T aumenta (por ejem-
plo para T = 0.1 s), la diferencia entre y(t) e y(kT ) es más notoria, lo cual nos indica
que los sistemas muestreados dependen de T . Se deja como ejercicio resolver este
ejemplo usando MATLAB.

% crpta.m COMPARACIÓN DE RESPUESTAS PARA DIFERENTES TIEMPOS DE MUESTREO


clear all; close all; clc;
A = [-7 1;-12 0]; B = [2;-1]; Cc = [3 -4]; Dc = [-2];
x = [-6;1]; T1=0.1; T2=0.04; % CONDICION INICIAL Y TIEMPOS DE MUESTREO
for k = 1:100
u(k) = 3*exp(-k*T1); x = x + T1*(A*x + B*u(k)); y1(k) = Cc*x + Dc*u(k);
end
for k = 1:250
u(k) = 3*exp(-k*T2); x = x + T2*(A*x + B*u(k)); y2(k) = Cc*x + Dc*u(k);
end
t = 0:0.1:10; y = 297*exp(-t)/6 - 767*exp(-3*t)/2 + 918*exp(-4*t)/3;
% GRÁFICOS
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
270 Sistemas Continuos

20

y(t) para T1 = 0.1 s


10

0
y(t) para T2 = 0.04 s
RESPUESTAS

−10

y(t)
−20

−30

−40

−50
0 2 4 6 8 10
TIEMPO [s]

Fig. A.11: Respuestas para el ejemplo A.41.

En el ejemplo anterior sean u1 (t) = 3e−t , u2 (t) = 2u1 (t) y u3 (t) = u1 (t) + u2 (t) y
sean las salidas respectivas y1 (t), y2 (t) e y3 (t). El programa C2prosup.m demuestra
gráficamente (ver figura A.12) los principios de proporcionalidad: y 2 (t) = 2y1 (t), y
de superposición: y3 (t) = y1 (t) + y2 (t).

% C2prosup.m PRINCIPIOS DE PROPORCIONALIDAD Y SUPERPOSICI ÓN


clear all; close all; clc;
A = [-7 1;-12 0]; B = [2;-1]; Cc = [3 -4]; Dc = [-2];
T = 0.04; M = 100; x1 = [0;0]; x2 = x1; x3 = x1;
for k= 1:M
u1(k)=3; x1 = x1 + T*(A*x1 + B*u1(k)); y1(k) = Cc*x1 + Dc*u1(k);
u2(k)=2*u1(k); x2 = x2 + T*(A*x2 + B*u2(k)); y2(k) = Cc*x2 + Dc*u2(k);
u3(k)=u1(k)+u2(k); x3 = x3 + T*(A*x3 + B*u3(k)); y3(k) = Cc*x3 + Dc*u3(k);
end
t=linspace(0,M*T,M); plot(t,y1,t,y2,’--’,t,y3,’:’); grid
ylabel(’RESPUESTAS’), xlabel(’TIEMPO [s]’), print -deps -f C2prosup

Ejemplo A.43

En el sistema de la Fig. A.13 ya se han definido las variables de estado xi del sistema,
las cuales se han fijado a la salida de cada bloque de primer orden. Para este sistema:
(a) Determinar su ecuación de estado y su ecuación de salida. (b) Hallar su matriz
de transferencia. (c) Determinar si el sistema es estable. (d) Hallar la controlabilidad
completa, la controlabilidad completa en la salida y la observabilidad completa del
sistema. (e) Usar (A.51) para determinar su matriz de transición con t 0 = 0. (f) De-
terminar y(t) para x(t0 ) = 0 usando (A.50). (g) Graficar las respuestas y1 (t) e y2 (t)
a entradas tipo escalón unitario.
A.3 Variables de Estado 271

80

70
y3 = y1 + y2
60

50

RESPUESTAS
40
y2 = 2y1
30

20
y1
10

−10

−20
0 0.5 1 1.5 2 2.5 3 3.5 4
TIEMPO [s]

Fig. A.12: Respuestas de un sistema lineal a entradas arbitrarias. Observar que


y2 (t) = 2y1 (t) (proporcionalidad) e y3 (t) = y1 (t) + y2 (t) (superposición)

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.13: Sistema del ejemplo A.43

Solución: (a) Del diagrama de bloques se puede comprobar que las salidas y1 e y2
poseen las expresiones:
y1 = x 2 + x 3 + x 4 − x 5 + u 3 y2 = x 1 − x 2 + x 5 + u 2 (A.52)
Operando en el bloque que tiene como salida la variable de estado x1 , se obtiene:
1
x1 = (u1 − y1 ) → (s + 1)x1 = ẋ1 + x1 = u1 − y1
s+1
Reemplazando y1 de (A.52) en la última expresión, se obtiene:
ẋ1 = −x1 − x2 − x3 − x4 + x5 − u3 (A.53)
Operando del mismo modo con los otros bloques resultan:
(s + 2)x2 = 2(u2 − x2 ) → ẋ2 = −4x2 + 2u2
272 Sistemas Continuos

(s + 3)x3 = 3(u3 − x5 ) → ẋ3 = −3x3 − 3x5 + 3u3


(s + 4)x4 = 4(x1 + u2 − x2 ) → ẋ4 = 4x1 − 4x2 − 4x4 + 4u2
(s + 5)x5 = 5(x2 + u3 − x3 + x3 ) → ẋ5 = 5x2 − 5x5 + 5x3 (A.54)

Las ecuaciones en (A.53) y (A.54) forman la ecuación de estado ẋ = Ax + Bu


mientras que las ecuaciones en (A.52) forman la ecuación de salida y = Cx + Du,
tal como se muestra a continuación.
      
ẋ1 −1 −1 −1 −1 1 x1 1 0 −1  
 ẋ2   0 −4 0 0 0     
     x 2   0 2 0  u1
 ẋ3  =  0 0 −3 0 −3      
     x 3  +  0 0 3  u2
 ẋ4   4 −4 0 −4 0   x4   0 4 0  u3
ẋ5 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 = − e−3t + e−5t − e−4t + 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 = − e−3t + e−5t − e−4t + e 2 cos t − 7e 2 sen t
2 4 16 2 16 2 112 2

Por otro lado, la Fig. A.14 muestra las respuestas y1 (t) e y2 (t) (Out(1) y Out(2) en
el gráfico) a los escalones u1 = 1, u2 = 1 y u3 = 1 (In(1), In(2) e In(3) en el gráfico)
obtenidas con el comando step de MATLAB. Ejecutar el archivo va.m.
A.3 Variables de Estado 273

% va.m VARIOS CÁLCULOS 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 ÍCES SON NEGATIVAS
% (d) CONTROLABILIDAD Y OBSERVABILIDAD
M = ctrb(A,B); % MATRIZ DE CONTROLABILIDAD M = [A A*B A^2*B A^3*C A^4*B]
rankM = rank(M); % rankM = 5 = n => SISTEMA COMPLETAMENTE CONTROLABLE
CS = [C*B C*A*B C*A^2*B C*A^3*B C*A^4*B D]; rankCS = rank(CS);
% rankCS = p = 2 => SISTEMA COMPLETAMENTE CONTROLABLE A LA SALIDA
N = obsv(A,C); % MATRIZ DE OBSERVABILIDAD N=[C; C*A; C*A^2; C*A^3; C*A^4]
rankN=rank(N); % rankN=5=n => EL SISTEMA ES COMPLETAMENTE OBSERVABLE
% (e) MATRIZ DE TRANSICIÓN Phi(t)=L^(-1)[(sI-A)^(-1)]
Phi = ilaplace(inv(s*I-A)); pretty(simplify(Phi))
% (f) RESPUESTAS y1(t) e y2(t)
U = [1/s;1/s;1/s]; Y = G*U; y = ilaplace(Y); pretty(simplify(y))
% (g) GRÁFICOS DE LAS SALIDAS
step(A,B,C,D), print -deps -f va

A.3.6. Formas Canónicas SISO en el Espacio de Estado


La ecuación diferencial que describe a un sistema SISO con parámetros constantes
toma la forma:

dn y(t) dn−1 y(t) dn u(t) dn−1 u(t)


+ a 1 + · · · + a n y(t) = b 0 + b 1 + · · · + bn u(t) (A.55)
dtn dtn−1 dtn dtn−1

La FT correspondiente al sistema (A.55) es:

y(s) b0 sn + b1 sn−1 + · · · + bn b0 + b1 s−1 + · · · + bn s−n


G(s) = = n = (A.56)
u(s) s + a1 sn−1 + · · · + an 1 + a1 s−1 + · · · + an s−n

En (A.39) vimos que la FT también 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: ẋ = Ax+Bu; y = Cx+Du.


Tal sistema posee diversas representaciones notables en el espacio de estado. Dichas
representaciones se denominan formas canónicas. La transformación canónica tratada
en el ejemplo A.34 es una de ellas. Otras formas canónicas se describen a continuación.
274 Sistemas Continuos

Step Response

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


1.5

0.5
To: Out(1)

−0.5
Amplitude

−1

1.5

1
To: Out(2)

0.5

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

Fig. A.14: Respuestas y1 (t) e y2 (t) a los escalones u1 = 1, u2 = 1 y u3 = 1 (ejemplo


A.43)
.

Primera Forma Canónica Controlable:


    
0 1 0 ··· 0 x1 0
 0 0 1 ··· 
0 x2   0
    
 .. .. .. 
..  
..  ..
ẋ =  . . . 
. +
. u .
    
 0 0 0 ··· 1   xn−1   0 
−an −an−1 −an−2 · · · −a1 xn 1
 
y = bn − an b0 bn−1 − an−1 b0 ··· b 1 − a 1 b0 x + b 0 u (A.57)

Segunda Forma Canónica Controlable:


    
0 1 0 ··· 0 x1 β1
 0 0 1  ··· 0 x2   β2 
    
 .. .. ..  .. ..   .. 
ẋ =  . . .  . . + . u
    
 0 0 0 ··· 1   xn−1   βn−1 
−an −an−1 −an−2 · · · −a1 xn βn
 
y = 1 0 · · · 0 x + β0 u (A.58)
donde: β0 = b0 , β1 = b1 − a1 β0 , β2 = b2 − a1 β1 − a2 β0 , etc. Generalizando:

βn = bn − a1 βn−1 − · · · − an−1 β1 − an β0
A.3 Variables de Estado 275

Tercera Forma Canónica Controlable:


    
−a1 −a2 ··· −an−1 −an x1 1
 1 0 ··· 0 0   x2 0 
    
 0 1 ··· 0 0    .. .. 
ẋ =   + . . u
 .. .. .. ..    
 . . . .   xn−1   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.59)

Primera Forma Canónica Observable:


    
0 0 ··· 0 0 −an x1 bn − a n b0
 1 0 ··· 0 
0  
−an−1 x2 bn−1 − an−1 b0 
    
 .. .. .. 
..  .. .. .. 
ẋ =  . . . . + . . . u
    
 0 0 ··· 1 0 −a2   xn−1   b2 − a 2 b0 
0 0 ··· 0 1 −a1 xn b1 − a 1 b0
 
y = 0 0 · · · 0 1 x + b0 u (A.60)

Segunda forma canónica observable:


    
−a1 1 0 ··· 0 0 x1 b1 − a 1 b0
 −a2 0 1 ··· 0 0  x2   b2 − a 2 b0 
    
 .. .. .. .. .. ..   .. 
ẋ =  . . . . . . + . u
    
 −an−1 0 0 ··· 0 1   xn−1   bn−1 − an−1 b0 
−an 0 0 ··· 0 0 xn bn − a n b0
 
y= 1 0 ··· 0 0 · · · x + b0 u (A.61)

Forma Canónica Diagonal (eigenvalores no repetidos)

Formulando (A.56) como:


X ci n
y(s) b0 sn + b1 sn−1 + · · · + bn−1 s + bn
G(s) = = = b0 +
u(s) (s − p1 )(s − p2 ) · · · (s − pn ) s − pi
i=1

donde las raı́ces pi (los eigenvalores del sistema) son no repetidos, las constantes ci
se pueden hallar en la forma acostumbrada a partir de:

ci = lı́m [(s − pi )G(s)]


s→pi

Luego, la forma canónica diagonal es:


 
ẋ1     
  λ1 0 ··· 0 x1 1
 ẋ2      
 ..   0 λ2 ··· 0  x2   1 
 . = .. .. ..  .. + .. u
   . . .  .   . 
 ẋn−1 
0 0 ··· λn xn 1
ẋn
 
y= c1 c2 ··· cn x + b0 u (A.62)
276 Sistemas Continuos

Forma Canónica de Jordan (eigenvalores repetidos)

Describiremos la forma canónica de Jordan con un ejemplo. Supongamos que


(A.56) toma la forma:

y(s) b0 sn + b1 sn−1 + · · · + bn−1 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 ecuación (A.5)).
La forma canónica de Jordan es (notar la ubicación 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 

ẋ =      
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.63)
X ci 8
y(s) c1 c2 c3 c4 c5
= b0 + + + + + + (A.64)
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 canónicas para:

1 − 2.8s−1 − 0.65s−2 + 6.8s−3 − 4.25s−4 − 1.3s−5 + 1.2s−6


G(s) =
1 + 1.3s−1 − 1.69s−2 − 0.345s−3 + 0.49s−4 + 0.02s−5 − 0.04s−6
% C2forca1.m FORMAS CANÓNICAS
clear all; close all; clc;
b0=1; b1=-2.8; b2=-0.65; b3=6.8; b4=-4.25; b5=-1.3; b6=1.2;
a1=1.3; a2=-1.69; a3=-0.345; a4=0.49; a5=0.02; a6=-0.04;
B = [b0 b1 b2 b3 b4 b5 b6]; % B(s): POLINOMIO DEL NUMERADOR
A =[1 a1 a2 a3 a4 a5 a6]; % A(s): POLINOMIO DEL DENOMINADOR
roots(A); % RAÍCES DE A(s): 0.5, 0.5, 0.5, -0.4, -0.4, -2
% EL SISTEMA ES INESTABLE DEBIDO A LA RAÍZ TRIPLE 0.5
% 2DA FORMA CANÓNICA CONTROLABLE: dx/dt = Acc*x + Bcc*u; y = Ccc*x + Dcc*u
beta0 = b0;
beta1 = b1-a1*beta0;
beta2 = b2-a1*beta1-a2*beta0;
beta3 = b3-a1*beta2-a2*beta1-a3*beta0;
A.3 Variables de Estado 277

beta4 = b4-a1*beta3-a2*beta2-a3*beta1-a4*beta0;
beta5 = b5-a1*beta4-a2*beta3-a3*beta2-a4*beta1-a5*beta0;
beta6 = b6-a1*beta5-a2*beta4-a3*beta3-a4*beta2-a5*beta1-a6*beta0;
Acc = [0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
-a6 -a5 -a4 -a3 -a2 -a1];
Bcc = [beta1;beta2;beta3;beta4;beta5;beta6];
Ccc = [1 0 0 0 0 0]; Dcc =[beta0];
% 1RA FORMA CANÓNICA OBSERVABLE: dx/dt = Aco*x + Bco*u; y = Coo*x + Doo*u
Aoo = [0 0 0 0 0 -a6
1 0 0 0 0 -a5
0 1 0 0 0 -a4
0 0 1 0 0 -a3
0 0 0 1 0 -a2
0 0 0 0 1 -a1];
Aco = [b6-a6*b0;b5-a5*b0;b4-a4*b0;b3-a3*b0;b2-a2*b0;b1-a1*b0];
Cco = [0 0 0 0 0 1]; Dco=[b0];
% FORMA CANÓNICA DE JORDAN: dx/dt = Aj*x + Bj*u; y = Cj*x + Dj*u
[c,p,k] = residue(B,A); % EXPANSIÓN EN FRACCIONES PARCIALES
% c = [-1.89 3.6133 -1.0136 0.1111 -5.8233 -0.5323]’;
% p = [-2 0.5 0.5 0.5 -0.4 -0.4]; k = 1;
c1=c(1); c2=c(2); c3=c(3); c4=c(4); c5=c(5); c6=c(6);
p1=p(1); p2=p(2); p2=p(3); p2=p(4); p3=p(5); p3=p(6);
Aj = [p1 0 0 0 0 0
0 p2 1 0 0 0
0 0 p2 1 0 0
0 0 0 p2 0 0
0 0 0 0 p3 1
0 0 0 0 0 p3];
Bj = [1;0;0;1;0;1];
Cj = [c1 c2 c3 c4 c5 c6]; Dj = [k];

Ejemplo A.45

Conocido el sistema ẋ = Ax + Bu, y = Cx + Du, determinar la ecuación de estado y


la ecuación de salida en su forma canónica de Jordan: ẋ = 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 función de transferencia.

Solución: El siguiente programa resuelve las preguntas planteadas.


% C2forca2.m FORMA CANÓNICA 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);
278 Sistemas Continuos

% dx/dt = Aj*x + Bj*u; y = Cj*x + Dj*u


Aj = [p1 0 0 0;0 p1 1 0;0 0 p1 0;0 0 0 p2];
Bj = [0;1;1;1]; Cj = [c1 c2 c3 c4]; Dj = [k];
[numj,denj] = ss2tf(Aj,Bj,Cj,Dj); % SE VERIFICA: num=numj, den=denj
eigAj = eig(Aj); % EIGENVALORES DE Aj Y A SON IGUALES: [-1, -1, -1, 0]

A.4. Discretización Directa


Discretización de la Integral
Es bastante útil discretizar directamente modelos dinámicos que contengan inte-
grales y derivadas. La integral de una curva e(t); es decir, el área debajo de dicha
curva, se puede aproximar empleando una sumatoria de rectángulos de la forma
T e(iT ) (Fig. A.15(a)) o trapezoides de la forma:
e(T i) + e(T i + T )
T
2
tal como se observa en la Fig. A.15(b), donde T es el tiempo de muestreo. Los
siguientes ejemplos ilustran tal aproximaciones.

e(t) e(t) e(iT+T)


e(iT) e(iT)

T t=iT T t=iT
(a) (b)

Fig. A.15: (a) Aproximación del área bajo la curva e(t) mediante rectángulos. (b)
Mediante trapezoides.

Ejemplo A.46
Determinar la ecuación de diferencias de la siguiente integral usando tanto aproxi-
mación rectangular como trapezoidal.
Z t
u(t) = e(τ )dτ
0
Solución: Si empleamos sumatoria de rectángulos para aproximar el área debajo de
la curva e(t), se obtiene:
k
X k
X k−1
X
u(kT ) ≈ T e(iT ) = T e(iT ) = T e(iT ) + T e(kT ) = u(kT − T ) + T e(kT )
i=0 i=0 i=0

u(kT ) − u(kT − T ) = T e(kT )


u(k) = u(k − 1) + T e(k) (A.65)
A.4 Discretización Directa 279

donde k = t/T es el tiempo discreto. En la expresión (A.65), denotada como la


ecuación discreta de la integral, hemos omitido en el argumento su dependencia con
el tiempo de muestreo T , ya que todos los términos se discretizan empleando dicho
tiempo. Para el otro caso, empleamos sumatoria de trapecios para aproximar el área
debajo de la curva e(t):
k
X k−1
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.66)
2

Discretización de la Derivada
Términos que contengan derivadas pueden discretizarse empleando diferencias
por atraso:
de(t) ∆e(kT ) e(kT ) − e(kT − T ) e(k) − e(k − 1)
= ė(t) ≈ = =
dt T T T
dė(t) ∆ė(kT ) ė(t) − ė(t − T ) ∆e(kT ) − ∆e(kT − T )
= ë(t) ≈ = =
dt T T T2
e(k) − e(k − 1) − [e(k − 1) − e(k − 2)] e(k) − 2e(k − 1) + e(k − 2)
= 2
=
T T2
..
. (A.67)

Si la discretización 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)
= ė(t) ≈ = =
dt T T T
dė(t) ∆ė(kT ) ė(t + T ) − ė(t) ∆e(kT + T ) − ∆e(kT )
= ë(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.68)

Ejemplo A.47

El controlador PID se emplea en más del 90 % de los circuitos de control existentes


en la industria. Este controlador se formula en la ecuación (A.69), donde K c es la
ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo. Deter-
minar la ecuación de diferencias de dicho controlador. En un primer caso emplear
aproximación rectangular y luego usar aproximación trapezoidal.
 Z t 
1 de(t)
u(t) = Kc e(t) + e(t)dt + TD (A.69)
TI 0 dt
280 Sistemas Continuos

Solución: Empleando las relaciones (A.65) y (A.67) en (A.69) se obtiene:


( k
)
T X TD
u(k) = Kc e(k) + e(i) + [e(k) − e(k − 1)]
TI T
i=0
( k−1
)
T X TD
u(k − 1) = Kc e(k − 1) + e(i) + [e(k − 1) − e(k − 2)]
TI T
i=0
Pk Pk−1
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 ecuación de diferencias del
controlador PID:

u(k) = u(k − 1) + q0 e(k) + q1 e(k − 1) + q2 e(k − 2) (A.70)

donde:
   
T TD TD TD
q0 = K c 1 + + ; q1 = −Kc 1 + 2 ; q2 = K c
Ti T T T

Si la integración emplea el método 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
( k−1   )
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 k−1
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 expresión similar a (A.70), 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 señal de control
llegue al actuador. En otro caso, dicho retardo aparece cuando el punto de medición
está lejos de la zona de interés, por ejemplo, cuando en la planta sólo se pueden
instalar sensores lejos de la zona de interés para la medición. 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 continuación:

ẋ(t) = Ax(t − τx ) + Bu(t − τu ) y(t − τy ) = Cx(t) + Du(t) (A.71)


A.5 Sistemas con Tiempo Muerto 281

Donde τx , τu y τy son los tiempos muertos. En el dominio continuo, el tiempo muerto


τ se modela mediante la siguiente expresión 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 continuación:

x(k + 1) = Gx(k − dx ) + Hu(k − du ) y(k + dy ) = Cx(k) (A.72)

donde los tiempos muertos dk , du y dy toman valores enteros positivos.


Resulta útil emplear la aproximación de Padé 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 aproximación de tercer orden podemos acomodar retardos de fase de hasta
200o (3.5 rad) [35], lo cual es suficiente para capturar el efecto del tiempo muerto en
muchas aplicaciones. Tal aproximación 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 aproximación racional para el tiempo muerto es


transformar el modelo del sistema dado en (A.71) en otro modelo sin tiempos muertos.

Ejemplo A.48

Comparar la respuesta a un escalón 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 relación de Padé de tercer orden. Luego, determinar la ecuación
de estado aproximada del sistema.
Solución: El programa ejpade.m resuelve el problema planteado y los resultados se
ilustran en la Fig. A.16.

% ejpade.m PROCESOS CON TIEMPO MUERTO D Y CON APROXIMACI ÓN DE PADÉ


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; % APROXIMACI ÓN 3er ORDEN DE exp(-s*D)
Gp=10/(2*s+1); G1=Gp*exp(-s*D); G2=Gp*(numD/denD); step(G1,’k’,G2,’k’)
print -deps -f ejpades
sis=ss(G2); % TIPEAR sis PARA VER EL MODELO EN EL ESPACIO DE ESTADO
282 Sistemas Continuos

Step Response

10

6
Amplitude

exp(−sD)

0
Padé de 3er orden

−2
0 5 10 15 20 25
Time (sec)

Fig. A.16: Comparación de las respuestas a un escalón del sistema y de su modelo


aproximado mediante una aproximación de Padé de tercer orden (ejemplo A.48).

A.6. Linealización de Sistemas Continuos


A.6.1. Caso SISO
El desarrollo de la serie de Taylor permite expandir una expresión no lineal con-
tinua Y = f (X) alrededor de un punto de operación (o estado de equilibrio) X como
sigue:

df (X − X) d2 f (X − X)2
Y = f (X) = f (X) + + 2 + · · · (A.73)
dX (X=X) 1! dX (X=X) 2!
Si la expresión de Y depende de las n variables X1 , . . . , Xn , entonces el desarrollo de
Taylor, despreciando los términos de orden más 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.74)
∂X2 (X2 =X 2 ) ∂Xn (Xn =X n )

Ejemplo A.49
Linealizar la siguiente taza de reacción rA para el punto de operación (T , C A ):
E
rA = k0 e− RT CA
A.6 Linealización de Sistemas Continuos 283

donde k0 , E y R son constantes.


Solución: Aplicando (A.74) 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.75)
∂T (T =T ) ∂CA (CA =C A )

Las variables t y cA se denominan variables residuales o de desviación.

A.6.2. Caso MIMO


Un sistema MIMO no Lineal invariante con el tiempo de orden n se puede repre-
sentar como:
Ẋ = f (X, U) Y = g(X, U) (A.76)
         
Ẋ1 f1 (X, U) Y1 g1 (X, U) U1
 ..   ..   ..   ..   
 . = .   . = .  U =  ... 
Ẋn fn (X, U) Yp gp (X, U) Um
donde f (X, U) es la ecuación de estado del sistema, mientras que g(X, U) es la
ecuación de salida. Tanto f como g son funciones vectoriales de las variables vec-
toriales X y U. El desarrollo de Taylor para la ecuación 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 ∂X∂U ∂U2
Despreciando los términos de orden dos se obtiene:

∂f ∂f
Ẋ = f (X, U) = f (X, U) + (X − X) + (U − U)
∂X (X,U) ∂U (X,U)

∂f ∂f
Ẋ − f (X, U) = ẋ = x+ u (A.77)
∂X (X,U) ∂U (X,U)

Del mismo modo, la ecuación de salida del sistema se puede formular como:

∂g ∂g
y= x+ u (A.78)
∂X (X,U) ∂U (X,U)

Por consiguiente, las formas linealizadas de (A.77) y (A.78) se puede expresar como:

ẋ = Ax + Bu y = Cx + Du (A.79)

donde A es la matriz de estado de orden n × n, B es la matriz de distribución 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
desviación) de estados, u = U − U es el vector residual de control, e y = Y − Y es
284 Sistemas Continuos

el vector residual de la salida. Los estados estacionarios o de equilibrio de X y U son


X y U respectivamente, mientras que el estado estacionario del vector de salida Y,
cuando el sistema está controlado, es el vector de referencias o set points R; es decir:
Y = R.
El procedimiento de linealización significa entonces que estamos asumiendo varia-
ciones pequeñas de la dinámica 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.80)
∂hp ∂hp ∂hp ∂hp
∂X1 ··· ∂Xn (X,U) ∂U1 ··· ∂Um (X,U)

Ejemplo A.50

La Fig. A.17 muestra dos tanques idénticos colocados en cascada. La sección hori-
zontal S=9 m2 de cada tanque es constante. El objetivo de control es estabilizar
(controlar) la altura H2 empleando como fuerza de control el flujo de alimentación
Qo . Determinar el modelo linealizado de este sistema hidráulico, su estabilidad y su
función de transferencia.

Q p
0 0

ρ Tanque
H1
p 1
1 γ
g
Q
p 1
0
ρ
Tanque
H2
p 2
2 γ
Q
2

Fig. A.17: Sistema hidráulico.

Solución: 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 geometrı́a del orificio.
Si ρ=1.23 kg/m3 es la densidad del lı́quido y g=9.81 m/s2 es la aceleración de la
gravedad:
P1 − P0 = ρgH1 P2 − P0 = ρgH2
A.6 Linealización de Sistemas Continuos 285

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
Ẋ1 = U − X1 = f1 (X, U )
S S

γ ρg p p
Ẋ2 = [ X1 − X2 ] = f2 (X, U )
S
y su correspondiente ecuación de salida:

Y = h(X, U ) = X2

Observar que las ecuaciones anteriores poseen las formas dada en (A.76)):

Ẋ = f(X, U ) Y = h(X, U ) = X2

donde la salida Y (la función g) y la entrada U son en este caso escalares, y:


   
Ẋ1 f1
Ẋ = f=
Ẋ2 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.81)
γ ρg
Aplicando el jacobiano, el sistema linealizado resulta:

ẋ = A x + B u y = h(x, u) = x2 = C x D = [0]

donde:
" #  √
γ ρg 
  ∂f1 ∂f1 − √ 0
x1 2S
√ X̄1
x= ; A= ∂X1
∂f2
∂X2
∂f2 = γ ρg

γ ρg

x2 ∂X1 ∂X2 √ − √
(X 1 ,X 2 ,U ) 2S X1 2S X2
 ∂f1     
∂U 1/S ∂h ∂h
B= ∂f2 = ; C= = [0 1]
∂U
0 ∂X1 ∂X2 (X 1 ,X 2 ,U )
(X 1 ,X 2 ,U )
La estabilidad y la función de transferencia del sistema se computan con el programa
C2tqh.m.
286 Sistemas Continuos

% C2tqh.m SISTEMA HIDRÁULICO


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:


   
2 −2 2 2 4 4
A =  −6 4 −2  B =  4 8 12 
−4 2 0 2 4 6

Problema A.2

Demostrar que AB = AC, lo cual no necesariamente implica que B = C, , cuando:


     
2 −6 4 2 8 2 0 4 2 −2 −4
A =  4 2 −6  B= 4 2 2 2  C =  6 −4 −2 −2 
8 −6 −2 2 −4 2 4 4 −10 −2 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:
   
4 −6 −10 −2 6 10
A =  −2 8 10  B =  2 −6 −10 
2 −6 −10 −2 6 10

Problema A.4

Demostrar que A y B son idempotentes.


   
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 periódica, con perı́odo igual a 2:


 
1 −2 −6
A =  −3 2 9 
2 0 −3
A.7 Problemas 287

Problema A.6
Demostrar que la siguientes matriz es nilpotente:
 
1 −3 −4
A =  −1 3 4 
1 −3 −4
Problema A.7
Dada las matrices:
   
1 1 + i 2 + 3i i 1 + i 2 − 3i
A= 1−i 2 −i  B =  −1 + i 2i 1 
2 − 3i i 0 −2 − 3i −1 0
demostrar que A, iB y A∗ son hermitianas, y que B y B∗ son antihermitianas.
Problema A.8
Empleando matemática simbólica demostrar que:
 n  n 
λ 1 λ nλn−1
=
0 λ 0 λn
Problema A.9
Empleando matemática simbólica demostrar que las matrices:
 2   3 2 
a a 1 bcd a a a 1
 b2 b 1 acd    3 2 1 
A= B =  b b b 
 c2 c 1 abd   c c2
3 c 1 
d2 d 1 abc d3 d2 d 1
poseen el mismo determinante: (a − b)(a − c)(a − d)(b − c)(b − d)(c − d).
Problema A.10
Empleando matemática simbólica hallar la derivada con respecto a x del determinante
de la matriz:  
x 1 2
A =  x2 2x + 1 x3 
0 3x − 2 x + 1 2

Problema A.11
Examine la dependencia o independencia lineal del siguiente conjunto de vectores. Si
el conjunto es dependiente, seleccione el máximo subconjunto linealmente indepen-
diente y exprese cada uno de los vectores dependientes como una combinación lineal
de los independientes.
       
4 8 0 12
 2   4   0   6 
       
x1 =      
 6  ; x2 =  2  ; x3 =  10  ; x4 =  −2 
 
 4   −4   12   −12 
−2 6 −10 14
288 Sistemas Continuos

Problema A.12

Si la matriz A es antisimétrica e I + A es no singular, demostrar que B = (I − A)(I +


A)−1 es ortogonal. Obtenga una matriz ortogonal B sabiendo que:
 
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 = [2 + 2i 2i 2]T ; x2 = [2i 2 − 2i 0]T ; x3 = [2 − 2i 2i 6i]T

Problema A.14

Si la matriz A es antihermitiana e I+A es no singular, entonces B = (I−A)(I+A) −1


es unitaria. Obtenga una matriz unitaria B si se conoce que:
 
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:
   
2 2 + 2i −2 1 1 + i 1 + 2i
A =  2 − 2i 12 −6 + 2i  B= 1−i 3 5 
−2 −6 − 2i 22 1 − 2i 5 10

Problema A.16

Para cada ecuación integro–diferencial, elaborar un programa en MATLAB para


graficar la salida y(t) cuando u(t) es un escalón unitario. Luego, elaborar un pro-
grama en Simulink para visualizar la señal 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
A.7 Problemas 289

Problema A.17

Determinar la ecuación de estado y la ecuación de salida de los sistemas:

(a) 2x1 + 3x2 − 5x3 = 4u1 − 3u2 + ẋ1 ; ẋ2 − x1 + 8x2 − 2x3 = −u1
2x2 − 5x3 = −3u1 − 4u2 − ẋ3
y1 = x1 − 3x2 − u2 ; y2 = −3x1 + 7x3 + u1 − 5u2
(b) −x1 − 8x2 + x3 + ẋ1 = u1 ; 2x1 + 4x2 − 2x3 = −3u2 − u2 + ẋ2
2x2 − 5x3 = −3u1 + 3u2 + ẋ3
y1 = 3x1 − x2 + u1 ; y2 = −x1 − 5x3 − 5u2
(c) 6x1 + 7x2 + ẋ1 = 4u2 ; ẋ2 − 3x1 + 5x2 + 62x3 = −u1 − 7u2
x2 − 6x3 = ẋ3 − u1 + 9u2
y1 = 4x1 + x2 − u1 + u2 ; y2 = −3x1 + 7x2 − 5u2
(d) 3x2 − 5x3 + ẋ1 = −3u1 + 3u2 ; ẋ2 − 6x1 + 5x2 − 7x3 = −3u2
x1 − 2x2 − 5x3 + ẋ3 = −3u1
y1 = x1 − u2 + 8u2 ; y2 = −3x2 + 7x3 − 9u1 − 2u2

donde u1 y u2 son las entradas, y1 e y2 son las salidas y x1 , x2 y x3 son las variables
de estado.

Problema A.18

Graficar la corriente i(t) que circula en un circuito serie RLC alimentado por una
baterı́a E de 12 V, sabiendo que R = 100 Ω, C = 1 F, L = 2 H, i(0) = 5 A y di(0)
dt = −5
A/s. Partiendo de la ecuación caracterı́stica del circuito, determine la estabilidad, la
frecuencia natural de oscilación y el coeficiente de amortiguamiento de dicho circuito.

Problema A.19

Una forma de determinar la estabilidad de un SLIT con entrada x(t) y salida y(t)
conociendo su función G(t) de respuesta al impulso δ(t), es evaluando la siguiente
condición para estabilidad: Z ∞
|G(τ )|dτ < ∞
−∞
Rt
Por ejemplo, para un integrador y(t) = 0 x(τ )dτ con y(0) = 0, su respuesta al
Rt
impulso es: y(t) = G(t) = 0 δ(τ )dτ = µ(t), que es la función escalón, la cual es igual
a 1 para t ≥ 1. El sistema es inestable porque:
Z ∞ Z ∞
|G(τ )|dτ = |1|dτ = ∞
−∞ 0

Aplicando este principio, determine G(t) y la estabilidad del sistema: ẏ + 2y = x.

Problema A.20
290 Sistemas Continuos

Hallar la transformada inversa de:


s3 + s2 + 2s + 1
G(s) =
s3 + 3s2 + 2s + 3
.

Problema A.21

Graficar para varios valores del cero c, la respuesta al escalón del sistema:
y(s) K(s + c)
= 2
u(s) s + 3s + 100
Para cada c, seleccionar el valor de K que haga: lı́m 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 transición, la ecuación caracterı́stica, 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 canónicas 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 posición angular θ y de velocidad


angular θ̇ = ω, se describe mediante la relación: ω̇ = −ω + 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) analı́ticamente.

Problema A.26

El diagrama de bloques de la Fig. A.18 corresponde al sistema de control automático


de la profundidad y de un submarino, el cual se logra generando un ángulo 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 método de
prueba y error que haga que la salida y siga a la referencia r con suficiente rapidez y
con mı́nimo error e = r − y.
A.7 Problemas 291

r e a (s − 1)
2
1 y
K 2 s
s +1

Fig. A.18: Sistema de control de la profundidad de un submarino (problema A.26).

Problema A.27
h At i
Sabiendo que: dedt = A, hallar la matriz de estado A de un sistema cuya matriz
t=0
de transición es:  −t 
2e cos(t + 0,7) 3e−t cos(t + 1,5)
e−t cos(t − 1,5) 2e−t cos(t − 0,7)

Problema A.28

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 térmica, R = 20 Ω es la resistencia eléctrica,
Rt = 0.1 o C/J es la resistencia térmica, i(t) es una corriente de entrada tipo escalón
de magnitud 0.5 A y de duración 2000 s, cuyo valor inicial es 1 A. Ta es la temperatura
ambiente que actúa como una entrada tipo escalón de duración 6000 s, cuyo valor
inicial es 20 o C y su valor final es 15 o C, qR es el flujo de calor en J/s producido en
R, qp es el flujo de calor en J/s que va al exterior y Ti es la temperatura en o C en
el interior. Elaborar un programa en Simulink para graficar las señales i(t), T a (t) y
Ti (t). Considerar que la temperatura Ti (0) inicial en el integrador es 22 o C.

Problema A.29

En la Fig. A.19, R es un escalón unitario y N es un disturbio escalón de magnitud


0.1R. Emplear Simulink y usar el método de prueba y error para determinar los
parámetros 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.19: Sistema realimentado para el problema A.29.

Problema A.30
292 Sistemas Continuos

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. También, Fo = 0.01 m3 /min, To1 = 280K y To2
= 350 K son perturbaciones tipo escalón.

Problema A.31

En la Fig. A.20, R es un escalón unitario y N es un disturbio escalón de magnitud


0.1R. Emplear Simulink y usar el método de prueba y error para determinar los
parámetros Kc y Ki que hagan que la salida Y siga a la referencia R con suficiente
rapidez.

R Y
10e−3t
Kc + Ki/s
4s+1

2e −2t

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

Problema A.32

Para el sistema mostrado en la Fig. A.21 investigar empleando Simulink si es posible


hallar las ganancias K1 , K2 y K3 que hagan que y1 siga a r1 y que y2 siga a r3 con
suficiente rapidez.

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.21: Sistema del problema A.32


A.7 Problemas 293

Problema A.33

La función 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
Vı́a Simulink determine: (a) su respuesta ye (t) a un escalón 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 canónicas.

Problema A.34

Las poblaciones P1 , P2 y P3 de tres especies en un área restringida están gobernadas


por las ecuaciones:

Ṗ1 = 2P1 + 3P2 + 6P3 + c1 u


Ṗ2 = −3P1 + 3P2 + 8P3 + c2 u
Ṗ3 = P1 − 3P2 + 2P3 + c3 u

Si la entrada u es un escalón y se sabe que c1 , c2 y c3 son constantes que cumplen


las condiciones: 0 ≤ c1 , 0 ≤ c2 , 0 ≤ c3 y c < −1 + c2 + c3 , elaborar un programa en
MATLAB para graficar las respuestas P1 (t), P2 (t) y P3 (t).

Problema A.35

Dada la siguiente ecuación de estado:

ẋ(t) = −4x(t) + 2u(t)

graficar x(t) sabiendo que x(0) = 1 y u(t) es la rampa mostrada en la Fig. A.22.

ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ


u(t)

ÅÄÅÄÅÄÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ


1

ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ


0 1 t

Fig. A.22: Función rampa.

Problema A.36

Para el punto de operación:

x1 = −1, x2 = −1, u1 = −2, u2 = −1

hallar las ecuaciones de estado y de salida lineales del siguiente sistema no lineal y
determinar la estabilidad del sistema linealizado.

ẋ1 = −2x21 + 3x1 x2 − u31 + u2


294 Sistemas Continuos

ẋ2 = −4x31 + 6x21 x2 − 4u31 − 2u22


y1 = 3x1 − 4u1 + 6u22
y2 = −3x21 + 4x2 + 2u1

Problema A.37

En el sistema de la Fig. A.23: (a) Determinar su ecuación de estado y ecuación 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 observabili-
dad completa. (e) Determinar la matriz de transición con t0 = 0. (f) Hallar y1 (t) e
y2 (t) donde u1 (t) y u2 (t) son entradas rampa unitaria. (f) Elaborar un programa en
MATLAB para graficar y1 (t) e y2 (t).

u1 y1
1
4
s+1

u2 2 y2
6
s+2

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

Problema A.38

Para el sistema mostrado en la Fig. A.24, elabore un programas en Simulink. Por


tanteo, determine los valores de Kp , Ki = Kp /Ti y Kd = Kp Ti que debe de poseer el
bloque PID para que la salida y(t) siga a la señal escalón deseada r(t) en presencia
de la carga (o disturbio) n(t). También debe de verificar que cuando r(t) es nula, la
salida y(t) debe de tender a cero. La magnitud de r(t) es 10 veces la magnitud de
n(t). La forma de G(s) es:

8(s + 1)
G(s) = e−4s
(s + 3)(s + 4)(s + 5)(s + 6)(s + 7)2 (s + 8)

n(t)
r(t) y(t)
PID G(s)

Fig. A.24: Sistema de control con presencia de disturbio.


Apéndice B

Fundamentos de MATLAB y
Simulink

MATLAB [1] es un lenguaje técnico de cómputo de alto nivel e interactivo que puede
ser empleado para el desarrollo de algoritmos, visualización y análisis de datos y com-
putación numérica. MATLAB se emplea mundialmente en diversas aplicaciones que in-
cluyen procesamiento de señales e imágenes, telecomunicaciones, diseño de sistemas de
control, pruebas y mediciones, modelado y análisis financiero y biologı́a computacional.
MATLAB también cuenta con una colección herramientas (Toolboxes) para propósitos
especı́ficos, disponibles por separado, los cuales permiten resolver ciertas clases de prob-
lemas en el área de su aplicación.
Simulink [2] emplea un lenguaje en bloques y se usa para modelar, simular y analizar
sistemas dinámicos continuos, discretos o hı́bridos (combinación de ambas). El modelo
del sistema puede ser lineal o no lineal y puede tener diferentes partes que se discreticen
o se actualicen a diferentes tiempos de muestreo. Esta herramienta permite validar los
modelos dinámicos existentes o aquellos construidos desde cero.
En este Apéndice, una sección está dedicada a MATLAB y la otra a Simulink.
Todos los archivos de esta publicación se pueden descargar del link DESCARGAS de
www.ctlima.com.

B.1. Fundamentos de MATLAB


B.1.1. El Entorno de Trabajo de MATLAB
Luego de instalar el programa MATLAB, aparece un icono caracterı́stico del mis-
mo en el escritorio. Para iniciar MATLAB hacer doble click en tal ı́cono para hacer
aparecer la Fig. B.1. La interacción de MATLAB con el usuario es a través 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 través de la ventana de comandos.
Directorio actual (Current Directory).- Ventana que muestra los directorios y
archivos actuales.
296 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 menú: File − > Exit MATLAB o tipear
quit en la ventana de comandos.
Para obtener información detallada de cualquier tópico relacionado con MAT-
LAB, hacer click en el icono sı́mbolo de interrogación ?, ubicado debajo de la lı́nea
del menú de la Fig. B.1, para que aparezca la ventana Help. En el espacio Search for
de tal ventana, tipear el tópico del que desea información. Por ejemplo, si tipea save
y hace click en Go, entonces la información detallada y ejemplos sobre este comando
aparecerán 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 distinción entre mayúsculas y
minúsculas en sus comandos. Se sugiere usar siempre letras minúsculas para los co-
mandos. El sı́mbolo >> que aparece en la ventana de comandos es el prompt de
B.1 Fundamentos de MATLAB 297

MATLAB. Los comandos escritos después del prompt requieren de un ENTER para
que MATLAB los procese. El formato siguiente: >> help roots ENTER , es útil
cuando se desea tener información de un determinado comando. En este caso partic-
ular, luego de presionar la tecla ENTER, la VC (Ventana de Comandos) muestra la
ayuda correspondiente al comando roots. En lo que sigue, la introducción de la tecla
ENTER será sobreentendida.
El comando format long le dice a MATLAB que se quiere trabajar con 15 dı́gitos
para doble precisión y 5 dı́gitos para simple precisión. Por ejemplo, escribiendo en
la VC: >> format long, 1/3, MATLAB devuelve 0.33333333333333, mientras
que >> format, 1/3 devuelve 0.3333.
Las operaciones fundamentales en MATLAB son suma a+b, resta a-b, multipli-
cación a*b, división derecha a/b, división izquierda a\b y exponenciación a^b. La
división izquierda se emplea más con matrices. El resultado de la operación a/b es
igual al resultado de b\a.
El orden de precedencia en las operaciones fundamentales es: ejecutar primero
el paréntesis más interno, luego los exponentes, después la multiplicación o división
(ambos tienen igual presedencia), y finalmente la suma y resta. Ejemplo:
>> 0.7854-(0.7854)^3/(1*2*3)+0.785^5/(1*2*3*4*5)...
-(0.785)^7/(1*2*3*4*5*6*7)

ans =
0.7071

Observar que los tres puntos al final de la primera fila indica que la sentencia continúa
en la siguiente lı́nea.
√ MATLAB √ reconoce a las letras i y j como números imaginarios. Es decir: i =
−1 y j = −1. Por ejemplo, >> 4i - 2j devuelve 0 + 2.0000i, mientras que
>> 8i-j4 devuelve Undefined function or variable ’j4’.
Sabemos que la división sobre cero es infinito, mientras que la división 0/0 es
indeterminada. En notación MATLAB >> 20/0 devuelve Inf , mientras que
>> 0/0 devuelve NaN, donde NaN está por Not a Number.
A continuación se describen otros comandos de utilidad general. Se recomienda
leer el help del comando antes de usarlo.

help help Lista tópicos de ayuda.


what Lista archivos con extensión 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 lı́nea. 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.
pwd Muestra el directorio de trabajo actual.
298 Fundamentos de MATLAB y Simulink

size Muestra el tamaño de una matriz.


length Número de elementos de un vector.
disp Muestra los valores de una matriz o texto.
exist Chequea si están 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 versión actual de MATLAB.
why Devuelve respuestas breves a casi cualquier interrogante.
lasterr Devuelve el último mensaje de error.
diary Guarda el texto de la sesión de trabajo actual.
unix Ejecuta comandos del sistema operativo Unix.
ver Informa sobre la versión de MATLAB, Simulink y Toolboxes.
info Da información acerca de la empresa Mathworks.
whatsnew Informa acerca de lo nuevo de MATLAB.
hostid Identifica el número del servidor host.
date Proporciona la fecha.
clock Proporciona el vector: [año, mes, dı́a, 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 gráfico.

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 última fila corresponde
al vector c=[8 6 4 2].

B.1.3. Creación de Archivos Tipo m


La forma más conveniente de procesar información 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 299

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 automáticamente la extensión m del archivo.

Hay tres formas de ejecutar el archivo m generado: (1) presionando la tecla F5;
(2) haciendo click en Debug → Run en el menú del editor; (3) haciendo click
en el icono Run and Save del editor, el cual se ubica debajo de la lı́nea que
contiene el menú del editor.

Si el programa posee errores, éstos serán mostrados en la ventana de comandos.


Corregir tales errores y ejecutar el programa. Esta operación puede repetirse
pocas o varias veces dependiendo de la magnitud del programa y experiencia
del programador.

La ejecución de un archivo m se puede parar en cualquier momento presionando


simultáneamente las teclas Ctrl + C.
El siguiente archivo de nombre miarchivom.m contiene información adicional.

% miarchivom.m GENERACIÓN DE UN ARCHIVO m.


% MATLAB NO PROCESA LO QUE ESTÁ A LA DERECHA DEL SÍMBOLO: %
clear all; close all; clc;
% clear: LIMPIA VARIABLES Y FUNCIONES DE LA MEMORIA.
% close: CIERRA FIGURAS.
% clc: LIMPIA LA VENTANA DE COMANDOS (VC) DE MATLAB
% TAMBIÉN ES VÁLIDO ESCRIBIR: clear all, close all, clc
a=7; b=-4; % DATOS, DONDE EL SÍMBOLO ; IMPIDE QUE LA VC
% MUESTRE a Y b LUEGO DE EJECUTAR miarchivom.m
r=a-b; m = a*b; d = a/b; e = a^b; % OPERACIONES ARITM ÉTICAS
s=a+b % LA VC DEVUELVE s=3 LUEGO DE EJECUTAR miarchivom.m

En lo que sigue, sólo emplearemos archivos m para explicar mediante numerosos


ejemplos las bondades del lenguaje MATLAB. En tales ejemplos emplearemos tanto
los comandos listados en la subsección B.1.2 ası́ como otros más especializados.

B.1.4. Matemática con MATLAB


Funciones Matemáticas Comunes
% funcionesmat.m FUNCIONES MATEMÁTICAS COMUNES
clear all; close all; clc;

% APROXIMACIONES
x1=5.92;
r1=ceil(x1); % r1=6 (ceil REDONDEA HACIA INFINITO)
r2=fix (x1); % r2=5 (fix REDONDEA HACIA CERO)
r3=floor (x1); % r3=5 (floor REDONDEA HACIA MENOS INFINITO)
300 Fundamentos de MATLAB y Simulink

r4=round([19.54646 13.656 -2.1565 0.78]);


% r4=[20 14 -2 1] (round REDONDEA HACIA EL ENTERO M ÁS PRÓXIMO)

% TRIGONOMETRÍA
r5=sin(pi/2); % r5=1 (ÁNGULO EN RADIANES)
r6=sind(-90); % r6=-1 (ÁNGULO EN GRADOS)
r7=cosd(60); % r7=0.5 (ÁNGULO EN GRADOS)
r8=asind(1); % r8=90 (ÁNGULO EN GRADOS)

% ALGUNAS OPERACIONES
r9=abs (-7); % VALOR ABSOLUTO, r9=7
r10=sign(10); % SIGNO, r10=10/abs(10)=10/10=1
r11=gcd (9,12); % MÁXIMO COMÚN DIVISOR ENTRE 9 Y 12, r11=3
r12=lcm (10,25); % MÍNIMO COMÚN MÚLTIPLO ENTRE 10 Y 25, r12=50
r13=mod (-12,5); % MÓDULO, SI y~=0, n=floor(x./y)=-3, r13=x-n.*y=3
r14=rem (12,5); % RESTO DE LA DIVISIÓN ENTRE 12 Y 5, r14=2
r15=nthroot (8,3); % RAÍZ CÚBICA DE 8, r15=2

% CON NÚMEROS COMPLEJOS


x=3+4i;
r16=sign(x); % r16=x/abs(x)=(3+4i)/5=0.6+0.8i

Vectores y Matrices
% vectoresymatrices.m VECTORES Y MATRICES. ELEM = ELEMENTOS
clear all; close all; clc;

% CÓMO DEFINIRLOS
x = [5 7 -2 4 -6]; % VECTOR FILA, ELEM SEPARADOS POR ESPACIOS
y = [2,1,3,7]; % VECTOR FILA, ELEM SEPARADOS POR COMAS
z = [0 1 2,3 4,5]; % IDEM, ELEM SEPARADOS POR COMAS Y ESPACIOS
w = [2;1;3;7]; % VECTOR COLUMNA
A = [1 2 3 % A(1)=1, A(3)=2, A(5)=3
4 5 6]; % A(2)=4, A(4)=3, A(6)=6
B = [1 2 3;4 5 6]; % MATRIZ DE 2 FILAS Y 3 COLUMNAS AL IGUAL QUE A

% DIRECCIONAMIENTO
r1=x(2); % r1=7
r2=x(end); % r2=-6
r3=x(2:4); % r3=[7 -2 4]
r4=x(1:3:5); % r4=[5, -2 y -6]
r5=x([3 5 1]); % r5=^[-2, -6, 1]
r6=A(2,1); % r6=4
r7=A(2,:); % r7=[4 5 6]
r8=A(2,2:3); % r8=[5 6] (2da FILA, COLUMNAS DE 2 A LA 3)
r9=A(2,[3 1]); % r9=[6 4}
r10=A([2 1],2:3); % r10=[5 6] (FILAS 2 y 1, COLUMNAS DE 2 A LA 3)
% [2 3]
r11=A(end,[1 3]); % r11=[4 6]

% CONSTRUCCIÓN ABREVIADA DE ALGUNOS VECTORES


r12=(1:7); % r12=[1 2 3 4 5 6 7]
r13=[1:7]; % r13=[1 2 3 4 5 6 7]
B.1 Fundamentos de MATLAB 301

r14=(1:3:10); % r14=[1 4 7 10] (ENTRE 1 Y 10 CON INCREMENTO 3)


r15=(1:4:10); % r15=[1 5 9] (ENTRE 1 Y 10 CON INCREMENTO 4)
r16=(50:-7:1); % r16=[50 43 36 29 22 15 8 1]
r17=linspace(2,6,3); % r17=[2 4 6] (LINEAL ENTRE 2 Y 6, 3 ELEM.)
r18=linspace(2,6,4); % r17=[2.0000 3.3333 4.6667 6.0000]
r19=linspace(2,6); % VECTOR LINEAL ENTRE 2 Y 6 CON 100 ELEM.
r20=logspace(0,2,4); % r20=[1.0000 4.6416 21.5443 100], VECTOR

% LOGARÍTMICAMENTE ESPACIADO 10^0 Y 10^2 CON 4 ELEM. EQUIDISTANTES


r21=logspace (0,2); % VECTOR LOG. ENTRE 10^0 Y 10^2 CON 50 ELEM.

% CONSTRUCCIÓN DE ALGUNAS MATRICES


r22=zeros(3); % MATRIZ CUADRADA DE 3x3 LLENA DE CEROS
r23=zeros(2,5); % MATRIZ 2 x 5 DE CEROS
r24=ones(2,3); % MATRIZ 2 x 3 DE CEROS
r25=rand(2,4); % MATRIZ 2 x 4 DE NÚMEROS ALEATORIOS ENTRE 1 Y 0
% CON DISTRIBUCIÓN UNIFORME
r26=randn (2,5); % MATRIZ 2 x 5 DE NÚMEROS ALEATORIOS, DISTRIBUCIÓN
% NORMAL, MEDIA 0 Y DESVIACIÓN 1: NORMAL(0,1)
r27=eye(2); % MATRIZ IDENTIDAD 2 X 2
r28=eye(4,2); % MATRIZ 4 X 2 DE 1s EN LA DIAGONAL, 0s EN EL RESTO
r29=magic(3); % MATRIZ MÁGICA 3 x 3, CONTIENE NÚMEROS 1 AL 3^2,
% DONDE: SUMA ELEM FILAS = SUMA ELEM COLUMNAS = SUMA ELEM DIAGONAL:
% 8 1 6
% 3 5 7
% 4 9 2
r30=hilb(3); % MATRIZ DE HILBERT 3 x 3
r40=invhilb(3); % INVERSA DE LA MATRIZ DE HILBERT 3 x 3

% OPERACIONES BÁSICAS CON MATRICES


P=[1 2;3 4]; Q=[1 1;0 1]; R=[1+i 2+2i;3+i 4+7i];
r41=P*Q; % r41=[1 3;3 7]
r42=P.*Q; % r42=[1 2;0 4] (MULTIPLICACIÓN ELEMENTO A ELEMENTO)
r43=R’; % CONJUGADA Y TRANSPUESTA DE R Y VICIVERSA
r44=R.’; % TRANSPUESTA DE R
r45=P+2; % SUMA 2 A CADA ELEMENTO DE A

% FUNCIONES PARA OPERAR CON VECTORES


% SEAN LOS VECTORES: x = [x1 x2 x3]; y = [y1 y2 y3];
% PRODUCTO VECTORIAL:
% cross(x,y)=[(x2*y3-y2*x3) -(x1*y3-y1*x3) (x1*y2-y1*x2)]
x1 = [1 2 3]; y1 = [4 5 6]; xcy=cross(x1,y1); % xcy=[-3 6 -3]
% PRODUCTO ESCALAR: dot(x,y)=x1*y4+x2*y5+x3*y6
xdy=dot(x1,y1); % xdy=32

% FUNCIONES PARA EL ANÁLISIS DE MATRICES


v = [1 2 3];
% >> diag (v) % CREA MATRIZ DIAGONAL CON ELEMENTOS 1, 2 Y 3
M = [1 2 3 4; 7 8 9 2; 2 4 6 8];
r46=diag(M); % r46=[1;8;6]: VECTOR CON ELEMENTOS DE LA DIAGONAL
r47=size(M); % r47=[3 4]: DIMENSIONES DE M (3 FILAS Y 4 COLUMNAS)
r48=length(M); % DEVUELVE 4 (LA DIMENSIÓN MAYOR DE LA MATRIZ M)
r49=rank(M); % r49=2 (2 ES EL RANGO DE M, VER help rank)
302 Fundamentos de MATLAB y Simulink

r50=rref(M); % REDUCCIÓN 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 ÍNDICES [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 MATRIZ 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

% DIVISIÓN C/D RESUELVE EL SISTEMA Cx=D Y ES EQUIVALENTE A inv(C)*D.


% DIVISIÓN 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], REPRESENTACI ÓN ASCII DE a
r62=abs(a); % r62=[99 97 115 97], REPRESENTACI ÓN ASCII DE a
r63=double(a); % r63=[99 97 115 97], REPRESENTACI ÓN ASCII DE a
r64=setstr([99 97 115 97]); % r64=casa
r65=abs(’a’)-abs(’A’); % r65=32, RESTA MIN ÚSCULAS MENOS MAYÚSCULAS
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
clear all; close all; clc;

% NOTACIÓN: 5x^4 - 9x^3 + 13x^2 + 9x - 14 ==> [1 -9 13 9 -14]


x = [1 -9 13 9 -14]; rx=roots(x); % rx CONTIENE RA ÍCES DE x
xx = poly(rx); % DEVUELVE xx GENERADO POR RA ÍCES DE rx (xx=x)
p = [1 2 7]; q = [1 3 6];
B.1 Fundamentos de MATLAB 303

c = conv(p,q); % c=(z^2+2z+7)(z^2+3z+6)=z^4+5z^3+19z^2+33z+42
% =[1 5 19 33 42]
d = deconv(c,q); % COCIENTE DE DIVIDIR c ENTRE q
dp = polyder(p); % DERIVADA DE POLINOMIO p
dpq = polyder(p,q); % DERIVADA DEL PRODUCTO p*q
ep=polyval(p,[0 1 5]); % EVALÚA p=x^2+2x+7 PARA x=0, x=1 y x=5
em=polyval(p,[0 1 2;-1 -2 -3;4 0 7]); % EVAL ÚA p PARA CADA FILA
% em=
% 7 10 15
% 6 7 10
% 31 7 70

Operaciones Relacionales y Lógicas


% operaclogicas.m OPERACIONES RELACIONALES Y L ÓGICAS
clear all; close all; clc;

% OPERADORES RELACIONALES: < <= > >= == ~=


% OPERADORES LÓGICOS: & (AND) | (OR) ~ (NOT)
% ORDEN DE PRECEDENCIA: ~= == <= >= < >
a =1:9; b=5-a; % a=[1 2 3 4 5 6 7 8 9], b=[4 3 2 1 0 -1 -2 -3 -4]
r1=a<6; % r1=[1 1 1 1 1 0 0 0 0], r(i)=1 SI a<6, 0 si a >= 6
r2=a==b; % r2(i)=1 SI a(i)==b(i) ES VERDADERO, 0 SI ES FALSO
r3=a~=b; % r3(i)=1 SI a(i)~=b(i) ES VERDADERO, 0 SI ES FALSO
r4=(a>b)&(b>-3); % r4(i)=1 SI (a(i)>b(i))&(b(i)>-3), 0 SI ES FALSO
c = [Inf 0 5 -8 NaN 94];
% >> exist(’c’) % DEVUELVE 1 PORQUE c EXISTE
% >> isnan(c) % DEVUELVE 1 SI c(i) ES NaN Y 0 SI NO ES NaN
% >> isinf(c) % DEVUELVE 1 SI c(i) ES Inf Y 0 SI NO ES Inf
% >> isfinite(c) % DEVUELVE 1 SI c(i) ES FINITO Y 0 SI NO LO ES

Creación de Funciones
La forma general de una función de dos variables es:

function[a,b]=nombre_función(x,y)

Por ejemplo, se desea crear la función de nombre calculos para calcular la suma
y la resta de dos números, vectores o matrices (x,y). Los resultados los devuelve en
[a,b]. Los listados del archivo calculos.m y el archivo usacalculo.m para usar calcu-
los.m se muestran a continuación. Sólo es necesario ejecutar el archivo usacalculos.m
para obtener los resultados.
% calculos.m FUNCIÓN calculos
clear all; close all; clc;
function[suma,resta] = calculos(x,y)
suma = x + y;
resta = x - y;

% usacalculos.m USA FUNCIÓN 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
304 Fundamentos de MATLAB y Simulink

Programación
% programacion.m PROGRAMACIÓN EN MATLAB
clear all; close all; clc;

% SENTENCIA FOR
for x = 1:5
disp(’x toma el valor’) % DEVUELVE x toma el valor PARA CADA x
disp(x) % DEVUELVE EL VALOR DE x
end

% SENTENCIA WHILE
a=3;
while a < 5
disp(’a es menor que 5 porque su valor es:’)
disp(a)
a = a + 1;
end

% SENTENCIA IF
b = 5;
if b == 0 % SE USA == PORQUE ES UNA EXPRESIÓN LÓGICA
disp (’el valor de b es 0’)
elseif b == 1
disp (’el valor de b es 1’)
elseif b == 2
disp (’el valor de b es 2’)
elseif b == 3
disp (’el valor de b es 3’)
else
disp (’b no es ni 0 ni 1 ni 2 ni 3’)
end

% GENERACIÓN DE NÚMEROS PRIMOS MENORES DE 100


disp(’Estos son los números primos menores de 100’)
disp(2)
for i=2:100
n=2;
while n <= sqrt(i)
if rem(i,n)==0
n=i;
else n=n+1;
end
end
if n~=i disp(i)
end
end

Análisis Numérico y de Datos


% analisisnumerico.m ANÁLISIS NUMÉRICO
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
B.1 Fundamentos de MATLAB 305

dd=diff(’(sin (x^2))’,2); % DEVUELVE SEGUNDA DERIVADA RESPECTO A x


ec=feval(’cos’,pi); % EVALÚA EL COSENO EN pi
ep=feval(’cos’, [0 pi/3 pi] ); % EVALÚA EL COSENO EN VARIOS PUNTOS
em=feval(@cos,[0 pi/3 pi] ); % EVALÚA EL COSENO EN VARIOS PUNTOS
fm=fminbnd(@sind,0,360); % VALOR ENTRE 0,360, sind TOMA EL M ÍNIMO
fz=fzero(’sind’,100); % VALOR MÁS PRÓXIMO A 100 DONDE sind=0
fq=quad(’sin’,0,pi); % INTEGRAL DEL SENO DE 0 A pi, APROX. RECT.

% analisisdatos.m ANÁLISIS 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 MATRIZ 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 MÁXIMO DE CADA COLUMNA
% >> min (X) % DEVUELVE VALOR MÍNIMO DE CADA COLUMNA
% >> iqr (X) % DEVUELVE RANGO intercuartı́lico DE CADA COLUMNA
% >> range(X) % DEVUELVE RANGO DE CADA COLUMNA: DIFERENCIA ENTRE
% EL MÁXIMO Y EL MÍNIMO

Y = [5 7 9 2 9 3 1 7 5 1 3 9 2 7 5 1 5 5 1 8];
% >> tabulate(Y) % DEVUELVE:
% Value Count Percent
% 1 4 20.00% (EL NÚMERO 1 APARECE 4 VECES)
% 2 2 10.00% (EL NÚMERO 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%

B.1.5. Gráficos
% graficas2D.m GRÁFICAS EN 2 DIMENSIONES
clear all; close all; clc;
figure(1) % CREA figure(1)
x=[-2 -1 0 1 2 3]; y=[4 1 0 1 4 9]; z=[6 5 3 7 5 2];
w=[-2 -1 0 0.5 1.5 2.5];
plot(x,y,’*’,x,z,’-’), xlabel(’eje x’), ylabel(’eje y’),
title(’x vs y’), grid, text(1,4,’HOLA>&$’), axis([-3 3 -1 10]),
gtext(’AQUÍ COLOCO TEXTO’)
figure(2)
x1 = pi*(-1:0.01:1); y1=x1.*sind(x1); y2=cosd(x1);
y3=sin(x1).*exp(x1); y4=exp(-x1);
subplot(2,2,1), plot(X1,Y1), title (’x1*seno(x1)*’)
subplot(2,2,2), plot(x1,y2), title (’cos(x1)’)
subplot(2,2,3), plot(x1,y3), title (’sen(x1)*exp(x1)’)
306 Fundamentos de MATLAB y Simulink

subplot(2,2,4), plot(x1,y4), title (’-exp(x1)’)


figure(3)
plot(x1,y1), title (’x1*seno(x1)*’),
hold on
plot (x1,y2), title (’cos(x1)’), plot (x1,y3),
title (’sen(x1)*exp(x1)’), hold off
figure(4)
subplot(221), fplot(’sind(x)’,[0 180]),
title(’sen(x) de 0 a 360 grados’)
subplot(222), fplot(’x^2*sin(1/x)’,[-0.05 0.05]),
title(’x^2 * sin(1/x)’)
subplot(223), ezplot(’exp(x)’) % EASY PLOT DE exp(x)
subplot(224), ezplot(’sin(t)’,’cos(t)’,[0 pi])
figure(5)
subplot(2,1,1), ezplot(’x^2 - y^2 - 1’)
x3=[-2 0 2 0 -2]; y3=[4 8 4 0 4];
subplot(2,1,2), plot(x3,y3), fill(x3,y3,’r’) % r=RED
% graficas3D.m GRÁFICAS EN 3 DIMENSIONES
clear all; close all; clc;
figure(6)
x3=[-2 0 2 0 -2]; y3=[4 8 4 0 4]; z3=[3 5 10 5 3];
subplot(311), fill3(x3,y3,z3,’b’) % plot en 3D, b=blue
subplot(312), ezsurf(’sin(x*y)’,[-2 2 -2 2])
subplot(313), x4=-720:720; y4=sind(x4); z4=cosd(x4); plot3(x4,y4,z4)
figure(7)
x = -10:0.5:10; y = -10:0.5:10;
subplot(3,1,1), [X,Y]=meshgrid(x,y); % CREA MATRICES PARA LA MALLA
Z=sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
mesh (X,Y,Z) % DIBUJA LA GRÁFICA
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)
subplot(3,1,3), surf (X,Y,Z)
figure(8)
x = -10:0.5:10; y = -10:0.5:10;
[X,Y] = meshgrid(x,y); % CREA MATRICES PARA HACER LA MALLA
Z = sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
subplot(2,2,1), contour (X,Y,Z) % DIBUJA L ÍNEAS 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 ÓN 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)
B.1 Fundamentos de MATLAB 307

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 ÓN
colormap(pink); % FIJA EN pink (ROSADO) EL COLOR DE LA FIGURA
rotate3d; % GIRA LA FIGURA USANDO EL MAUSE
print -f -depsc ultimo % GENERA ultimo.eps EN COLOR

B.1.6. Matemática Simbólica


% simbolica.m MATEMÁTICA SIMBÓLICA
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
r7=int(f2); % r7=-cos(b + a*theta)/a, INTEGRAL EN theta
f8=1/(1+u^2); r8=int(f8); % r8=atan(u), INTEGRAL INDEFINIDA EN n
f9=exp(-x^2); r9=int(f9); % r9=(pi^(1/2)*erf(x))/2,
% erf=función error
c=0; d=1; f10 = x^7; r10=int(f10,c,d); % r10=1/8, INTEGRAL DEFINIDA
c=1; d=2; f11 = 1/x; r11=int(f11,c,d); % r11=log(2), INTEGRAL DEFIN.
c=0; d=1; f12 = log(x)*sqrt(x); r12=int(f12, c, d); % r12=-4/9
c=0; d=inf; f13 = exp(-x^2); r13=int(f13, c, d); % r13=pi^(1/2)/2

% SIMPLIFICACIONES Y SUSTITUCIONES
% collect: COLECTA TODOS LOS COEFICIENTES CON LA MISMA POTENCIA DE x
f14=(x-1)*(x-2)*(x-3); r14=collect(f14); % r14=x^3-6*x^2+11*x-6
f15=x*(x*(x-6)+11)-6; r15=collect(f15); % r14=x^3-6*x^2+11*x-6
f16=(1+x)*t + x*t; r16=collect(f16); % r16=(2*t)*x+t

% expand: DISTRIBUYE PRODUCTOS EN SUMAS Y APLICA IDENTIDADES DE SUMAS


f17 = a*(x+y); r17=expand(f17); % r17=a*x + a*y
f18 = (x-1)*(x-2)*(x-3); r18=expand(f18); % r18=x^3-6*x^2+11*x-6
f19 = x*(x*(x-6)+ 11)-6; r19=expand(f19); % r19=x^3-6*x^2+11*x-6
f20 = exp(a + b); r20=expand(f20); % r20=exp(a)*exp(b)
f21 = cos(x + y); r21=expand(f21); % r21=cos(x)*cos(y)-sin(x)*sin(y)
f22 = cos(3*acos(x)); r22=expand(f22); % r22=4*x^3 - 3*x
f23 = 3*x*(x^2-1)+x^3; r23=expand(f23); % r23=4*x^3 - 3*x

% horner: TRANSFORMA UN POLINOMIO SIMBÓLICO EN SU FORMA ENCADENADA


f24 = x^3-6*x^2+11*x-6; r24=horner(f24); % r24=x*(x*(x-6)+11)-6
308 Fundamentos de MATLAB y Simulink

f25 = 1.1+2.2*x+3.3*x^2; r25=horner(f25);


% r25=x*((33*x)/10+11/5)+11/10

% factor: EXPRESA f COMO UN PRODUCTO DE POLINOMIOS DE GRADO BAJO


f26 = x^3-6*x^2+11*x-6; r26=factor(f26); % r26=(x-3)*(x-1)*(x-2)
f27 = x^3-6*x^2+11*x-5; r27=factor(f27); % r27=x^3-6*x^2+11*x-5
f28 = x^6 + 1; r28=factor(f28); % r28=(x^2 + 1)*(x^4 - x^2 + 1)

% simplify: HERRAMIENTA PODEROSA PARA SIMPLIFICAR


f29 = x*(x*(x-6)+11)-6; r29=simplify(f29); % r29=(x-1)*(x-2)*(x-3)
f30 = (1 - x^2)/(1 - x); r30=simplify(f30); % r30=x + 1
f31 = (1/a^3+6/a^2+12/a+8)^(1/3); r31=simplify(f31);
% r31=((2*a+1)^3/a^3)^(1/3)
f32 = exp(x)*exp(y); r32=simplify(f32); % r32=exp(x + y)
f33 = cos(x)^2 + sin(x)^2; r33=simplify(f33); % r33=1

% simple: ENCUENTRA UNA EXPRESIÓN CON MÍNIMA 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(f37); % r40=4*x^3 - 3*x
% pretty: HACE MÁS VISIBLE LAS EXPRESIONES SIMBÓLICAS
% >> pretty(f34)

El comando pretty(f34) devuelve:


 1/3
1 6 12
3
+ 2+ +8
a a a

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 parámetros. Simulink tam-
bién usa algunas caracterı́sticas de MATLAB, tales como: definición de las entradas
del modelo, almacenamiento de las salidas del modelo para análisis y visualización,
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 simulación, y (6)
validar los resultados de la simulación.

B.2.1. Fundamentos del Software Simulink


Para mostrar la biblioteca de bloques (Simulink Library Browser, Fig. B.2):

1. Abrir MATLAB, luego tipear simulink en el prompt.


B.2 Fundamentos de Simulink 309

2. Click el botón 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.

Fig. B.2: Librerı́a de bloques (Simulink Library Browser).

Para crear un nuevo modelo, seleccionar en el menú de la ventana Simulink Library


Browser (SLB): File > New > Model. El software abre una ventana vacı́a (Fig. B.3)
en donde construir el modelo.
Para abrir un modelo existente:
1. En el menú de la ventana SLB, seleccionar File > Open. En la ventana Open
buscar el archivo con extensión .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
310 Fundamentos de MATLAB y Simulink

Fig. B.3: Nueva ventana para construir un modelo.

la ventana Buscar carpeta. En esta ventana ubicarse en el directorio donde


está el archivo .mdl. Luego, en el prompt de MATLAB, escribir el nombre del
archivo sin extensión, para que aparezca el modelo buscado.

La ventana SLB, Fig. B.4, muestra la biblioteca de bloques de Simulink instaladas


en su sistema. Los bloques se pueden copiar o arrastrar desde esta ventana a una
ventana vacı́a. Cuando use la ventana SLB, notar lo siguiente:

Los bloques de una biblioteca se pueden ver seleccionando el nombre de la


biblioteca en la parte izquierda de la ventana SLB, o haciendo doble click en el
bloque seleccionado.

Cuando se selecciona un bloque, su descripción aparece en la parte inferior de


la ventana SLB.

Para obtener mayor información de un bloque, seleccionar el bloque en la ven-


tana SLB, y en su menú ir hacia Help > Help on the Selected Block.

Los parámetros de un bloque se pueden visualizar y cambiar haciendo click


derecha sobre el bloque.

Se puede buscar un determinado block en la ventana SLB, insertando el nombre

del block en el campo de búsqueda ubicado a la derecha del icono .


Luego, hacer click sobre tal icono.

La forma más rápida de obtener ayuda en un bloque de una biblioteca, es hacer


click derecho y luego seleccionar Help.
B.2 Fundamentos de Simulink 311

Fig. B.4: 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 botón Start ubicado en el ex-
tremo inferior izquierdo de la ventana MATLAB y luego ir a Start > Simulink > Demos.

B.2.2. Creación de un Modelo Simulink


El problema a resolver vı́a Simulink, es controlar la posición angular de un brazo
robótico de 1GDL empleando un controlador por linealización de la realimentación 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.5 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, Conversión de x a
z, Señal u y Señal v, son en realidad subsistemas que alojan, cada uno, una porción
del programa de control.
Por otro lado, el bloque Referencia r es una señal sinusoide que se arrastra desde su
ubicación en la ventana SLB: Simulink > Sources > Sine Wave (Fig. B.6), 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.7 muestra el contenido del subsistema Proce-
312 Fundamentos de MATLAB y Simulink

disnl2_u
u
Mux

gráfico
Señal u Proceso Mux
Señal v no lineal
disnl2_x1
x1
Referencia disnl2_r
r Conversión Observador r
de x a z no lineal

Fig. B.5: Diagrama de bloques del archivo Simulink disnl2.mdl.

so no lineal. Sus componentes se arrastran desde la ventana SLB a la ventana de la Fig.


B.7. Observar en dicha Fig. que los cı́rculos x1, x2 y x3 son las variables de salida del
sistema, mientras que el cı́rculo u es la entrada. La entrada u se genera arrastrando la
elipse In1 ubicada en la ventana SLB: Simulink > Commonly Used Blocks > In1,
mientras que para las tres salidas se requiere arrastrar tres veces la elipse Out1 ubica-
da en la ventana SLB: Simulink > Commonly Used Blocks > Out1. El subsistema
Proceso no lineal se crea seleccionando con el click derecho todo el contenido de
la Fig. B.7 y luego tipeando Ctr + G o seleccionando en el menú de MATLAB:
Edit > Create Subsystem.
Los rectángulos u, x1 y r mostrados en la Fig. B.5, que sirven para almacenar
datos, se crean arrastrando tres veces el rectángulo To File ubicado en la ventana SLB:
Simulik > Sinks > To File. Haciendo doble click en cada rectángulo, se introduce
un nombre a elección por ejemplo, disnl2_u, disnl2_x1 y disnl2_r. En la Fig. B.5,
Scope es un graficador que se obtiene de la ventana SLB: Simulink > Sinks > Scope.
El procedimiento para obtener el resultado de este programa: los gráficos de la salida
x1 controlada u la fuerza de control u, es el siguiente:

1. Ejecutar el archivo disnl2p.m para introducir datos al sistema. El archivo no se


ejecuta completamente porque recién se van a crear los archivos de datos.

2. Correr el programa Simulink disnl2.mdl haciendo click en el triángulo negro


ubicado en la parte superior de la Fig. B.5.

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


B.2 Fundamentos de Simulink 313

Fig. B.6: Ubicación 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
eléctrico sum2 subsistema Integrador
mecánico

n*E
gan 2 MATLAB
N
Function
gan 3
seno

Fig. B.7: Contenido del subsistema Proceso no lineal.


314 Fundamentos de MATLAB y Simulink

Posición (radianes)
0.5

−0.5

−1
0 2 4 6 8 10 12 14 16 18 20
Tiempo en segundos

2.5
Señal de control (voltios)

1.5

0.5

−0.5
0 2 4 6 8 10 12 14 16 18 20
Tiempo en segundos

Fig. B.8: Salida controlada y fuerza de control correspondiente.


Bibliografı́a

[1] The MathWorks, Inc., MATLABr 7 Getting Started Guide, 1984–2010.

[2] The MathWorks, Inc., Simulink 7 Getting Started Guide, 1990–2010.

[3] Katsuhiko Ogata, Modern Control Engineering (5th Edition), Prentice Hall,
2009.

[4] C.A. Smith y A.B. Corripio, Control Automático de Procesos, Editorial Limusa,
2007.

[5] TecQuipment Ltd, TE37 Control and Instrumentation Study Station, User
Guide, 2009.

[6] Gregory K. McMillan and Douglas M. Considine, Process/Industrial Instruments


and Controls Handbook (Fifth Edition), McGraw-Hill, 1999.

[7] Alan S. Morris and Reza Langaris, Measurement and Instrumentation: Theory
and Application, Elsevier Inc., 2012.

[8] R. H. Bishop, The mechatronics handbook, ISA–The Instrumentation, Systems,


and Automation Society, CRC Press, 2002.

[9] R. H. Bishop, Mechatronic Systems, Sensors, and Actuators: Fundamentals and


Modeling, CRC Press, 2007.

[10] W. Bolton, Mechatronics: Electronic Control Systems in Mechanical and Elec-


trical Engineering, Pearson/Prentice Hall, 2003.

[11] A. O’Dwyer, Handbook of PI and PID Controller Tuning Rules, 3rd edition,
Imperial College Press, 2009.

[12] 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.

[13] Richard C. Dorf y Robert H. Bishop, Sistemas de Control Moderno (10ma Edi-
ción), Pearson Prentice Hall, 2005.

[14] 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.
316 BIBLIOGRAFÍA

[15] G. H. Cohen and G. A. Coon, “Theoretical consideration of retarded control,”


Trans. ASME, vol. 75, pp. 827-834, 1953.

[16] Erwin Samal, Grundriss der Praktischen Regelungstechnik (11. durchsehene Au-
flage, R. Oldenbourg Verlag Muenchen Wien 1980.

[17] K.J. Åström y T. Hägglund, PID Controllers: Theory, Design, and Tuning, In-
strument Society of America, 1995.

[18] P. Harriot, Process Control, McGrawHill Book Co., 1964.

[19] F.S. Wang, W.S. Juang y C.T. Chan,“Optimal tuning of PID controllers for
single and cascade control loops”. Chemical Engineering Communications, Vol.
132, pp 15–34, 1995.

[20] M. Zhuang y D. P. Atherton, “Automatic tuning of optimum PID controllers”,


IEE Proceedings–Part D: Control Theory and Applications, Vol. 140, No. 3, pp.
216–224, 1993.

[21] C. Kessler, C., “Das symmetrische Optimum”, part 1, rt, No.11, pp. 395-400 and
part 2, rt, No.12, pp. 432-436, (1958)

[22] D. Xue, Y. Q. Chen y D. P. Atherton, Linear Feedback Control: Analysis and


Design with Matlab, SIAM, 2007.

[23] Instrumentation Symbols and Identification, ANSI/ ISA–S5.1–2009, American


National Standard, ISBN: 978–1–936007–29–5.

[24] C. Smith, Practical Process Control: Tuning and Troubleshooting, Wiley, 2009.

[25] C. Smith, Advanced Process Control: Beyond Single Loop Control, Wiley–
AICHE, 2010.

[26] W. Altmann, Practical process control for engineers and technicians, Elsevier,
2005.

[27] E. B. Dahlin, “Designing and Tuning Digital Controllers,” Instruments and Con-
trol Systems, V. 41 (June 1968), p. 77.

[28] A. Barrientos, L. F. Peñin, C. Balaguer, and R. Aracil, Fundamentos de Robótica,


2nd Edition, McGraw-Hill/Interamericana de España, S. A., Madrid, Buenos
aires, Caracas, and others, 2007.

[29] T. Edgar, D. Mellichamp, Process Dynamics and Control D. Seborg, John Wiley
& sons Inc., 3rd Edition, 2010.

[30] Eduardo F. Camacho y Carlos Bordons, Model Predictive Control, Springer-


Verlag London Limited, 2004.

[31] R. De Keyser, “A Gentle Introduction to Model Based Predictive Control”. In


PADI2 International Conference on Control Engineering and Signal Processing,
Piura, Perú, 1998.
BIBLIOGRAFÍA 317

[32] H. Zhang, D. Liu Fuzzy Modeling And Fuzzy Control, Birkhäuser, Boston, Basel
Berlin, 2006

[33] J. Jantzen, Foundations of Fuzzy Control, Wiley, 2007.

[34] Murray R. Spiegel, Mathematical handbook, Shaum’s Outline Series, McGraw-


Hill,Inc., 3ed Edition, New York et. al. 2008.

[35] 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.

[36] L. Sánchez, M. Legua, Ecuaciones Diferenciales Y Transformadas de Laplace


Con Aplicaciones, Editorial Universidad Politecnica de Valencia, 2006.

[37] B. Kolman, D. Hill, Algebra Lineal, Pearson Educación, México 2006.

[38] A. Fernández, Control de los Sistemas Continuos, Ediciones de la Universidad


de Oviedo, 2007.
Índice alfabético

Álgebra de bloques, 241 Controlador, 3


Índices ISE, IAE, IT AE, IST E e IST 2 E, esclavo, interno o secundario, 146
117 fuzzy, 213
maestro, externo o primario, 146
Actuador, 63 PID discreto modificado, 130
clasificación, 64 Controlador PID
Ancho de banda, 78 clásico, 91
Banda proporcional, 80 clásico generalizado, 91
con dos grados de libertad, 93
Control con parte derivativa filtrada, 91
anticipativo, 6, 71, 150 dependiente, 92
anticipativo–realimentado, 153 en paralelo, 90
con reconocimiento de patrones, 159 ideal, 89
de la razón, 149 ideal filtrado, 91
de rango partido, 158 interactivo, 92
en cascada, 145 mejorado, 92
ON–OFF, 88 Controlador predictivo
override, 156 función de costo, 198
PID, 86 ley de control SISO, 202
proporcional, 84 objetivo, 198
proporcional derivativo, 85 parámetros de diseño, 198
proporcional integral, 85 respuesta forzada, 200
selectivo, 158 respuesta libre, 200
Control matricial dinámico, 191 Curva de reacción, 12, 15, 34
Control MIMO
con desacopladores, 182 Defuzzyficación, 214, 223
criterio de Hurwitz, 183 Determinantes, 246
estabilidad, 174 propiedades, 246
exactitud estática, 173 Diagrama
no interacción, 173 de instrumentación, 137
vı́a desacoplamiento, 171 P&ID: Piping and Instrumentation
Control predictivo Diagramm, 137
basado en modelos, 191 PFD: Process Flow Diagramm, 137
disturbios, 194 Discretización directa, 278
modelo CARIMA, 196 Disturbios, 4
modelo del proceso, 193 Dosificador, 63
principios, 192 clasificación, 64
procedimiento de diseño, 204
Controlabilidad, 263 Ecuación caracterı́stica, 74, 79, 262
ÍNDICE ALFABÉTICO 319

Ecuación de estado, 261 manipulador de 1 grado de liber-


solución, 266 tad, 215
EFC: Elemento Final de Control, 3, 63
El criterio de Hurwitz, 185 Observabilidad, 265
Elementos ideales, 7
PLC: Programmable Logic Controller,
Error en estado estable, 74
7
Especificaciones de diseño
Porcentaje de sobrenivel, 73
en el tiempo, 73
Proceso, 1
en frecuencia, 76
autoregulado, 36
Formas canónicas, 273 con tiempo muerto, 21
Formas canóonicas curva de reacción autoregulada, 34,
de Jordan, 276 76
Fracciones parciales, 236 curva de reacción no autoregulada,
Frecuencia de resonancia, 78 38
Función de transferencia, 235 de orden superior, 22
Funciones de membresı́a, 214, 222 de primer orden, 13
Fuzzyficación, 213, 222 de segundo orden, 18
funciones de transferencia, 39
Gráficos de Bode, Nyquist y Nichols, integral, 20
76 proporcional, 11

Linealización de sistemas, 282 Respuesta al escalón


caso especial, 35
Método de Dahlin, 167 método de la tangente, 34
Margen de fase, 80 método del 28.3 % y 63.2 %, 36
Margen de ganancia, 80
MATLAB, 295 Sensores, 2
archivos m, 298 caracterı́sticas estáticas y dinámi-
comandos y funciones, 296 cas, 46
gráficos, 305 de aceleración, 52
matemática, 299 de flujo, 57
simbólica, 307 de fuerza y torque, 53
Matrices de nivel en fluidos, 60
diagonalización, 256 de nivel en sólidos, 61
eigenvalores y eigenvectores, 253 de posición, 48
inversa, 247 de presión, 53
operaciones, 243, 249 de temperatura, 55
pseudoinversa, 255 de velocidad, 51
rango, 252 y transmisores, 45
tipos, 245 Simulink, 295
Matriz de transferencia, 261 creación de modelos, 311
Motor DC fundamentos, 308
controlado por armadura, 27 Sintonización PID
controlado por campo, 26 basado en la curva de reacción, 93
modelo en el espacio de estado, 27 método de Chien–Hrones-Reswick,
MR1 100
ecuación de estado, 220 método de Cohen–Coon, 102
320 ÍNDICE ALFABÉTICO

método de Hartree, 94 Variables de estado, 257, 259


método de Kessler, 121 VCA
método de la constante de tiempo, curvas cracterı́sticas, 64, 68
93 dimensionamiento, 66
método de la oscilación crı́tica, 107 en operación, 70
método de las oscilaciones amor- modelado del caudal, 64
tiguadas, 114 neumática, 63
método de Metodo de Zhuang y software de dimensionamiento, 68
Atherton, 119 VCA: Válvula de Control Automática,
método de Samal, 105 63
método de Shinskey, 118
método de Wang–Juang–Chan, 119 Windup
método de Yu, 111 su efecto, 127
método de Ziegler y Nichols, 96 su eliminación, 129
método del relé, 111
métodos a lazo cerrado, 105
métodos basados en ı́ndices, 116
primer método de Xue, 124
segundo método de Xue, 124
tercer método de Xue, 125
Sistema causal, 231
Sistema de control
a lazo abierto, 6
a lazo cerrado, 1
Sistema de control SISO
a lazo cerrado, 71
objetivo, 72
Sistema de medición, 2
Sistema SLIT, 260
puntos singulares, 263
Sistemas con tiempo muerto, 280
Sistemas estables e inestables, 263

Tanque cerrado
descripción, 28
modelo de Lagrange, 33
modelo lineal, 33
modelo no lineal, 30
Tiempo de estabilización, 73
Transformada de Laplace
Fórmulas de, 236
inversa, 234
propiedades, 239
Propiedades de la, 239
tablas, 237
unilateral, 231
Transmisor, 2

You might also like