Control de Procesos Avanzado

Control de procesos avanzando. Ingenieria industrial curso de herramientas de calidad, parametros e indicadores de la ca

Views 301 Downloads 48 File size 3MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

CONTROL DE PROCESOS ´ PRACTICO Y AVANZADO ARTURO ROJAS MORENO, Ph.D.

F F F F F F F F

Modelado de Procesos El Sistema de Medici´ on Elementos Finales de Control Control PID SISO Estrategias de Control PID S´ıntesis de Controladores SISO y MIMO Control Predictivo y Control Fuzzy Programas fuente en MATLAB

II

´ CONTROL DE PROCESOS PRACTICO Y AVANZADO c 2012 Arturo Rojas-Moreno. Todos los derechos reservados. Copyright ISBN Queda rigurosamente prohibida la reproducci´on total o parcial de esta obra por cualquier medio o procedimiento, sin la autorizaci´on escrita del propietario del “Copyright”.

A mis Profesores

´Indice general III

Prefacio

IX

Abreviaturas

XI

1. Introducci´ on 1.1. Sistema de Control a Lazo Cerrado . . . . . . . . . . . . . . . . . . . . 1.2. Sistema de Control a Lazo Abierto . . . . . . . . . . . . . . . . . . . . 1.3. Din´amica Lineal de los Elementos Ideales . . . . . . . . . . . . . . . . 2. El Proceso a Controlar 2.1. Procesos con Comportamiento Proporcional . . . . . 2.2. Procesos de Primer Orden . . . . . . . . . . . . . . . 2.3. Procesos de Segundo Orden . . . . . . . . . . . . . . 2.4. Procesos Integrales . . . . . . . . . . . . . . . . . . . 2.5. Procesos con Tiempo Muerto . . . . . . . . . . . . . 2.6. Procesos de Orden Superior . . . . . . . . . . . . . . 2.7. El Motor DC . . . . . . . . . . . . . . . . . . . . . . 2.8. Modelo MIMO del Proceso Tanque Cerrado . . . . . 2.8.1. Descripci´on del Proceso . . . . . . . . . . . . 2.8.2. Modelo Din´amico No Lineal del Proceso . . . 2.8.3. Modelo Din´amico de Lagrange del Proceso . 2.8.4. Modelo Din´amico Lineal del Proceso . . . . . 2.9. Respuesta Transitoria de los Procesos . . . . . . . . 2.9.1. Respuesta al Escal´on: M´etodo de la Tangente 2.9.2. M´etodo del 28.3 % y 63.2 % . . . . . . . . . . 2.9.3. Otras Respuestas al Escal´on y al Impulso . . 2.10. Problemas . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

1 1 6 7 11 11 13 18 20 21 22 26 28 28 30 33 33 34 34 36 36 39

3. El Sistema de Medici´ on 45 3.1. Caracter´ısticas de los Sensores . . . . . . . . . . . . . . . . . . . . . . 45 3.2. Sensores de Medici´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4. Elementos Finales de Control 63 4.1. Caracter´ısticas del Elemento Final de Control . . . . . . . . . . . . . . 63 4.2. La V´alvula de Control Autom´atica (VCA) . . . . . . . . . . . . . . . . 64

´ INDICE GENERAL

VI

4.2.1. Generalidades de una VCA . . . . . . . . . . . . . . . . . . . . 4.2.2. Carcter´ıstica de una VCA en Operaci´on . . . . . . . . . . . . .

64 70

5. Control PID SISO 5.1. Sistema de Control SISO . . . . . . . . . . . . . . . . . . . . . . . 5.2. Especificaciones de Dise˜ no . . . . . . . . . . . . . . . . . . . . . . 5.2.1. Especificaciones de Dise˜ no en el Dominio del Tiempo . . . 5.2.2. Especificaciones de Dise˜ no en el Dominio de la Frecuencia 5.3. Modos de Control PID . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1. La Banda Proporcional BP % . . . . . . . . . . . . . . . . 5.3.2. Control Proporcional . . . . . . . . . . . . . . . . . . . . . 5.3.3. Control Proporcional Integral . . . . . . . . . . . . . . . . 5.3.4. Control Proporcional Derivativo . . . . . . . . . . . . . . 5.3.5. Control PID . . . . . . . . . . . . . . . . . . . . . . . . . 5.4. Control de Dos Posiciones . . . . . . . . . . . . . . . . . . . . . . 5.5. Estructuras del Controlador PID . . . . . . . . . . . . . . . . . . 5.6. M´etodos de Sintonizaci´on de Controladores PID . . . . . . . . . 5.6.1. M´etodos Basados en la Curva de Reacci´on . . . . . . . . . 5.6.2. M´etodos a Lazo Cerrado . . . . . . . . . . . . . . . . . . . 5.6.3. M´etodos Basados en la Minimizaci´on de un ´Indice . . . . 5.7. El Efecto Windup . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8. El Algoritmo PID Discreto Modificado . . . . . . . . . . . . . . . 5.9. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

71 71 73 73 75 80 80 84 85 85 86 88 88 93 93 105 116 127 130 133

6. Estrategias de Control 6.1. Diagramas de Instrumentaci´on . . . . . . . . . . . 6.2. Control en Cascada . . . . . . . . . . . . . . . . . . 6.3. Control de la Raz´on . . . . . . . . . . . . . . . . . 6.4. Control Anticipativo . . . . . . . . . . . . . . . . . 6.5. Control Override . . . . . . . . . . . . . . . . . . . 6.6. Control Selectivo . . . . . . . . . . . . . . . . . . . 6.7. Control de Rango Partido . . . . . . . . . . . . . . 6.8. Autosintonizaci´on con Reconocimiento de Patrones 6.9. Problemas . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

137 137 145 149 150 156 158 158 159 162

7. S´ıntesis de Controladores SISO y MIMO 7.1. M´etodo de Dahlin . . . . . . . . . . . . . . . . . . 7.2. Control MIMO v´ıa Desacoplamiento . . . . . . . . 7.2.1. No Interacci´on . . . . . . . . . . . . . . . . 7.2.2. Exactitud Est´atica . . . . . . . . . . . . . . 7.2.3. Estabilidad . . . . . . . . . . . . . . . . . . 7.3. Control MIMO con Desacopladores . . . . . . . . . 7.4. Control MIMO Empleando el Criterio de Hurwitz . 7.4.1. Procedimiento de Dise˜ no . . . . . . . . . . 7.4.2. El Criterio de Hurwitz . . . . . . . . . . . . 7.5. Problemas . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

167 167 171 173 173 174 182 183 185 185 187

´ INDICE GENERAL

VII

8. Control Predictivo 8.1. Control Predictivo Basado en Modelos . . . . 8.2. Principios del Control Predictivo . . . . . . . 8.3. El Modelo del Proceso . . . . . . . . . . . . . 8.4. El Controlador Predictivo . . . . . . . . . . . 8.4.1. Objetivo del Controlador . . . . . . . 8.4.2. Respuesta Libre y Respuesta Forzada 8.4.3. La Ley de Control SISO . . . . . . . . 8.5. Procedimiento de Dise˜ no . . . . . . . . . . . . 8.6. Ejemplo de Dise˜ no . . . . . . . . . . . . . . . 8.7. Problemas . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

191 191 192 193 198 198 200 202 204 204 207

9. Control Fuzzy 9.1. El Controlador Fuzzy . . . . . . . . . . . . . 9.2. Dise˜ no de un Sistema de Control Fuzzy . . . 9.2.1. Manipulador Rob´otico de 1GDL: MR1 9.2.2. Control Fuzzy del Manipulador MR1 . 9.2.3. El Proceso de Fuzzyficaci´on . . . . . . 9.2.4. El Proceso de Defuzzyficaci´on . . . . . 9.3. Problemas . . . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

213 213 214 214 220 221 223 228

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

231 . 231 . 231 . 234 . 235 . 236 . 241 . 242 . 243 . 245 . 246 . 251 . 256 . 257 . 257 . 259 . 260 . 263 . 266 . 273 . 278 . 280 . 282 . 282 . 283 . 286

A. Sistemas Continuos A.1. La Transformada Unilateral de Laplace . . . . . . . . . . . . . A.1.1. Definici´on y Ejemplos . . . . . . . . . . . . . . . . . . . A.1.2. La Transformada Inversa de Laplace . . . . . . . . . . . A.1.3. La Funci´on de Transferencia . . . . . . . . . . . . . . . . A.1.4. Fracciones Parciales . . . . . . . . . . . . . . . . . . . . ´ A.1.5. Algebra de Bloques . . . . . . . . . . . . . . . . . . . . . A.2. Matrices y Determinantes . . . . . . . . . . . . . . . . . . . . . A.2.1. Operaciones con Matrices . . . . . . . . . . . . . . . . . A.2.2. Tipos de Matrices . . . . . . . . . . . . . . . . . . . . . A.2.3. Determinantes y Matriz Inversa . . . . . . . . . . . . . . A.2.4. Rango, Eigenvectores y Pseudoinversas . . . . . . . . . . A.2.5. Diagonalizaci´on de Matrices y Formas Can´onicas . . . . A.3. Variables de Estado . . . . . . . . . . . . . . . . . . . . . . . . A.3.1. Ejemplo de Introducci´on . . . . . . . . . . . . . . . . . . A.3.2. Definici´on de Variables de Estado . . . . . . . . . . . . . A.3.3. Matriz de Transferencia y Estabilidad . . . . . . . . . . A.3.4. Controlabilidad y Observabilidad . . . . . . . . . . . . . A.3.5. Soluci´on de la Ecuaci´on de Estado de SLITs Continuos A.3.6. Formas Can´onicas SISO en el Espacio de Estado . . . . A.4. Discretizaci´on Directa . . . . . . . . . . . . . . . . . . . . . . . A.5. Sistemas con Tiempo Muerto . . . . . . . . . . . . . . . . . . . A.6. Linealizaci´on de Sistemas Continuos . . . . . . . . . . . . . . . A.6.1. Caso SISO . . . . . . . . . . . . . . . . . . . . . . . . . A.6.2. Caso MIMO . . . . . . . . . . . . . . . . . . . . . . . . . A.7. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

´ INDICE GENERAL

VIII

B. Fundamentos de MATLAB y Simulink B.1. Fundamentos de MATLAB . . . . . . . . . B.1.1. El Entorno de Trabajo de MATLAB B.1.2. Comandos y Funciones Generales . . B.1.3. Creaci´on de Archivos Tipo m . . . . B.1.4. Matem´atica con MATLAB . . . . . B.1.5. Gr´aficos . . . . . . . . . . . . . . . . B.1.6. Matem´atica Simb´olica . . . . . . . . B.2. Fundamentos de Simulink . . . . . . . . . . B.2.1. Fundamentos del Software Simulink B.2.2. Creaci´on de un Modelo Simulink . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

295 . 295 . 295 . 296 . 298 . 299 . 305 . 307 . 308 . 308 . 311

B . ibliograf´ıa

315

´ Indice . alfab´ etico

318

Prefacio Esta publicaci´on est´a dirigida a todos los profesionales, cient´ıficos, especialistas y estudiantes interesados en familiarizarse con el modelado, la simulaci´on y el control de procesos industriales. La din´amica de los procesos tratados se describen empleando modelos lineales y no lineales. El libro se titula Control de Procesos Pr´actico y Avanzado porque su contenido abarca tanto temas relacionados con el dise˜ no pr´actico de sistemas de control de una entrada y una salida empleando controladores PID (Proporcional Integral Derivativo), as´ı como tambi´en 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´on, 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´alculo, dise˜ no y simulaci´on de sistemas de control de procesos. Tambi´en se emplea el software Simulinkr [2], el cual trabaja dentro del entorno MATLAB. El Ap´endice 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´atica, f´ısica y fundamentos de control autom´atico que se dictan en una Universidad o Instituto. Sin embargo, se recomienda que el lector se remita al Ap´endice A: Matem´aticas para el Control de Procesos, donde, con el auxilio de la herramienta MATLAB, se hace un repaso de los t´opicos de matem´aticas requeridos en el desarrollo de los Cap´ıtulos de este libro. El procedimiento de dise˜ no de sistemas de control empleado en este libro comprende: la formulaci´on del problema a resolver, el modelado del proceso, el dise˜ no del algoritmo de control, y la verificaci´on del sistema de control dise˜ nado v´ıa simulaci´on. Esta publicaci´on 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´on y control, y en temas relacionados con el dise˜ no e implementaci´on de sistemas de control. La organizaci´on de este libro comprende los cap´ıtulos siguientes: Cap´ıtulo 1: Introducci´ on. Este cap´ıtulo presenta una introducci´on sobre los sistemas de control a lazo cerrado y a lazo abierto, describiendo sus componentes.

Prefacio

X

Antes de abordar los siguientes cap´ıtulos se recomienda leer los Ap´endices A y B. Cap´ıtulo 2: El Proceso a Controlar. En este cap´ıtulo se deducen y simulan los modelos din´amicos de varios procesos, tanto de aquellos que poseen comportamiento lineal como no lineal. Cap´ıtulo 3: El Sistema de medici´ on. Los t´opicos relevantes del sistema de medici´on, como son los sensores y los transmisores, se tratan en este Cap´ıtulo. Cap´ıtulo 4: Elementos Finales de Control. Diferentes tipos de elementos finales de control son descritos en este Cap´ıtulo, que tambi´en incluye un breve estudio de las v´alvulas autom´aticas de control. Cap´ıtulo 5: Control PID SISO. El control PID (Proporcional Integral Derivativo) de procesos SISO (Single Input Single Output) es el m´as usado en la industria. Por ello, esta publicaci´on le dedica un Cap´ıtulo entero. Cap´ıtulo 6: Estrategias de Control. Este Cap´ıtulo comprende la elaboraci´on de los diagramas de instrumentaci´on, y el estudio de varias estrategias de control industrial: cascada, raz´on, override, selectivo, de rango partido y autosintonizaci´on. 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´etodos, entre los cuales est´an: el m´etodo de Dahlin para controladores SISO, y los m´etodos de desacoplamiento y de Hurwitz para controladores MIMO. Cap´ıtulo 8: Control Predictivo. El control predictivo de procesos est´a ganando mayor relevancia en la industria debido a sus m´ ultiples aplicaciones exitosas. Este Cap´ıtulo describe la t´ecnica del control predictivo basado en modelos y su aplicaci´on a procesos SISO. Cap´ıtulo 9: Control Fuzzy. El control de procesos empleando inteligencia artificial cobra cada vez mayor relevancia en la industria. Este Cap´ıtulo trata la t´ecnica de control inteligente denominada fuzzy. Ap´ endice A: Matem´ atica para el Control de Procesos. Este Ap´endice trata algunos t´opicos de matem´atica aplicada requeridos en el desarrollo de los cap´ıtulos. Se pone ´enfasis en la soluci´on de problemas matem´aticos empleando software. Ap´ endice B: Fundamentos de MATLAB y Simulink. Este cap´ıtulo se ocupa de la teor´ıa y aplicaciones del paquete MATLAB/Simulink.

Arturo Rojas Moreno, Ph.D. [email protected] www.ctlima.com

Abreviaturas ANSI CARIMA DC EC EFC EFD FAM FSV, PSV, TSV FT, MT FCE ISA ISE IAE ITAE ISTE IST2 E LVDT MATLAB MFD MIMO MR1 MSIP MV NTC opamp PID P&ID PLC PV RTD SIS SISO SLB SLIT SP VC VCA

American National Standards Institute Controlled Autoregressive Integrated Moving Average Direct Current (corriente continua) Ecuaci´on caracter´ıstica Elemento Final de Control Engineering Flow Diagram Fuzzy Asociative Memory Flow-, Pressure- and Temperature Safety Valve Funci´on y Matriz de Transferencia Final Control Element International Society of Automation Integral Squared Error Integral Absolute Error Integral Time Absolute Error Integral Square Time weighted Error Integral Square Time–Square weighted Error Linear Variable Differential Transformer MATrix LABoratory Mechanical Flow Diagram Multiple–Input–Multiple–Output Manipulador Rob´otico de 1 grado de libertad Motor S´ıncrono de Im´an Permanente Manipulated Variable Negative Temperature Coefficient Amplificador operacional Proporcional–Integral–Derivativo Piping and Instrumentation Diagram Programmable Logic Controller Process Variable Resistance Temperature Detector Safety Instrument System Single Input Single Output (Una Entrada Una Salida) Simulink Library Browser Sistema Lineal Invariante con el Tiempo Set Point Ventana de Comandos de MATLAB V´alvula de Control Autom´atica

Cap´ıtulo 1

Introducci´ on En este Cap´ıtulo se hace un breve introducci´on sobre los sistemas de control a lazo cerrado y a lazo abierto, describiendo sus componentes e incluyendo ejemplos ilustrativos para reforzar la comprensi´on de los conceptos. Tales componentes son: el proceso cuya variable de salida se desea controlar, el sistema de medici´on que sensa y transmite la variable a controlar, el controlador que procesa la desviaci´on entre el valor de la variable a controlar con respecto a una se˜ nal deseada con el prop´osito de generar una se˜ nal de control, y el elemento final de control que recibe la se˜ nal generada por el controlador para efectuar cambios en el proceso, con la finalidad de reducir a cero la desviaci´on previamente descrita. Este Cap´ıtulo tambi´en se ocupa del modelado lineal de los elementos ideales con los siguientes prop´ositos: describir la din´amica de tales elementos y familiarizarse con el manejo de unidades. Las unidades de medida usadas en esta publicaci´on 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´on entre sus componentes) de un sistema de control a lazo cerrado. A continuaci´on 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´on, enfriamiento, mezcla, fundici´on, separaci´on, destilaci´on, llenado y vaciado, evaporaci´on, cocci´on, entre otros. Los instrumentos son dispositivos que se emplean en los procesos para monitorearlos y controlarlos, lo cual se logra mediante la medici´on de algunas de sus caracter´ısticas, tambi´en denominadas los par´ ametros del proceso. Algunos ejemplos de caracter´ısticas del proceso son: capacitancia, inductancia, resistencia, voltaje, corriente, peso, presi´on, aceleraci´on, sonido, color, nivel, temperatura, humedad, densidad, contenido de humedad, viscocidad, dimensi´on, concentraci´on de pH, flujo, velocidad, espesor, gravedad espec´ıfica, entre otros. La variable y mostrada en la Fig. 1.4, conocida tambi´en como PV (Process Variable), es la variable

2

Introducci´ on

SP r

Controlador de realimentación e

Algoritmo de Control

MV u Elemento final de control

Disturbios Proceso

PV y

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´on usaremos con mayor frecuencia el t´ermino flujo en lugar de sus sin´onimos caudal o gasto.

El Sistema de Medici´ on Es com´ un que un proceso posea varios par´ametros que necesitan ser monitoreados simult´aneamente. Esto se logra por lo general, empleando un sistema de medici´on para cada par´ametro (ver Fig. 1.1). Cada sistema de medici´on consta de un sensor que proporciona la variable medida, y de un transmisor que cambia dicha variable en una se˜ nal estandarizada que pueda ser transmitida. La variable medida representa entonces la condici´on actual de la variable controlada y. En algunos casos, la variable medida y la variable controlada es la misma variable. Por ejemplo, la medici´on 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´on en el fondo del tanque. Es decir, en este caso medimos presi´on para controlar nivel. Se˜ nales estandarizadas que se emplean en el control de procesos son: 4 a 20 mA (miliamperio), 3 a 15 psi (libra por pulgada cuadrada) y 0.2 a 1 bar. Otros rangos de se˜ nales tambi´en son empleados: 0 a 10 V (volt), − 10 a + 10 V, etc. El transmisor tambi´en es conocido como convertidor, transductor, y en general como un acondicionador de se˜ nales. Si fuera necesario, un acondicionador de se˜ nal se puede dise˜ nar empleando opamps (amplificadores operacionales) en su implementaci´on. En muchos casos, el sensor y el transmisor son parte de un solo instrumento. Los sistemas de medici´on actuales tambi´en incluyen hardware para almacenar algoritmos y rutinas de c´alculo, y para el procesamiento de se˜ nales digitales empleando protocolos industriales de comunicaci´on. Los sistemas de medici´on inteligente reciben dicha denominaci´on, por que poseen la capacidad de procesamiento de se˜ nales. En general, los sistema de medici´on 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´on 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˜ nal de referencia r o SP (Set Point), que es la se˜ nal deseada de la variable controlada. En otras palabras, en los sistemas de control a lazo cerrado, las se˜ nales r e y son comparadas. La diferencia entre ellas es la se˜ nal de error e, llamada tambi´en se˜ nal de desviaci´on. Cuando existe una desviaci´on, es necesario actuar para eliminarla. Esta acci´on incluye el ajuste y la acci´on de una se˜ nal o fuerza de control u, denominada tambi´en la variable manipulada MV (Manipulated Variable), para minimizar el error; es decir, para hacer que la se˜ nal y siga a r, cumpliendo ciertas especificaciones de dise˜ no (secci´on 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´on, se tiene que ajustar mediante el pedal del acelerador una cierta cantidad de gas (la variable manipulada MV) para cambiar la velocidad (la variable controlada o PV). El bloque denominado controlador (ver la Fig. 1.1), es el que procesa la se˜ nal de error e empleando un algoritmo de control, para generar la ley de control u que va hacia el elemento de control final. El agregado de la palabra realimentaci´on, que en general no es necesario, s´olo es para indicar en este caso que tal controlador forma parte de un sistema de control realimentado. La funci´on del controlador mostrado en la la Fig. 1.1 se logra llevando a cabo tres pasos. El primero consiste en recopilar informaci´on acerca de la variable del proceso que se desea controlar. Luego, usar convenientemente dicha informaci´on para tomar una decisi´on con relaci´on a la condici´on del proceso. Finalmente, tomar una acci´on basada en tal decisi´on, empleando para ello el elemento de control final. Es importante anotar que para mantener el control, la recopilaci´on de informaci´on 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´ectrica de una vivienda, en donde la acci´on de control se realiza conectando o desconectando a la red la resistencia de calefacci´on 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´on, se decide que es necesario cambiar la condici´on del proceso: aumentar o disminuir la temperatura. Finalmente, se toma la acci´on 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´atica. En el control manual, la decisi´on la realiza la persona, mientras que en el control autom´atico la realiza un dispositivo. La terma es un caso de control autom´atico de la temperatura, mientras que la conducci´on de un carro para mantenerlo a una velocidad constante, es un caso de control manual.

El Elemento Final de Control (EFC) El controlador genera una se˜ nal que por si misma no posee la potencia necesaria para provocar cambios en el proceso. Por tal raz´on, la se˜ nal de salida del controlador

4

Introducci´ on

se dirige hacia el elemento final de control (EFC), el cual s´ı posee la capacidad de efectuar cambios en el proceso con el prop´osito de disminuir el error e = r − y. Por consiguiente, el EFC es el hardware que implementa la decisi´on tomada por el controlador. La fuente de energ´ıa com´ un del EFC puede ser el´ectrica, neum´atica e hidr´aulica. Ejemplos de EFC el´ectricos son los motores AC y DC, motores paso a paso, v´alvulas de control mot´oricas, solenoides, rel´es, entre otros. Entre los EFC hidr´aulicos y neum´aticos tenemos: v´alvulas neum´aticas, pistones hidr´aulicos y neum´aticos, motores hidr´aulicos y neum´aticos, etc. Dependiendo del tipo de EFC, en muchos casos ser´a necesario incluir un convertidor (o transmisor) de se˜ nal entre el controlador y el EFC, tal como se muestra en el ejemplo 1.1.

Los Disturbios Adem´as de la variable manipulada, otros factores pueden afectar la variable controlada. Por ejemplo, la velocidad del carro puede ser afectada por la resistencia del viento y por la calidad de la pista. Por otro lado, La temperatura del agua en la terma puede ser afectada por un mal aislamiento del tanque o por la cambiante temperatura del entorno. En control de procesos, estos factores se denominan disturbios. Para compensar la acci´on de los disturbios, se requiere de una continua circulaci´on de la informaci´on sobre el proceso. En el sistema de control a lazo cerrado de la Fig. 1.1, la informaci´on fluye constantemente hacia los instrumentos. Tal informaci´on es denotada como realimentaci´on. Todos los instrumentos y dispositivos que intervienen en el control de un proceso son referidos como el lazo de control realimentado. Ejemplo 1.1 En el sistema de control de flujo mostrado en la Fig. 1.2(a), indicar sus componentes y las se˜ nales normalizadas. Este sistema emplea como sensor de flujo una placa de orificio para producir la ca´ıda de presi´on ∆P = P1 − P2, con la finalidad de tener una medici´on indirecta del flujo F, pues sabemos que tal flujo o gasto es proporcional a la ra´ız cuadrada de ∆P. Soluci´ on: Ver Fig. 1.2(b).√Observar que se requiere un primer transmisor para realizar la operaci´on F = C ∆P , donde C es una constante de proporcionalidad, y luego convertir esta operaci´on en una se˜ nal de corriente estandarizada (4 a 20 mA). El signo ra´ız cuadrada a un costado del transmisor indica esta operaci´on. Notar tambi´en 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´alvula de control, trabaja con se˜ nal neum´atica estandarizada. Ejemplo 1.2 En el sistema de control de temperatura mostrado en la Fig. 1.3, indicar cu´al es la se˜ nal disturbio y porqu´e. Este sistema emplea como sensor una termoresistencia, cuya salida es un valor de resistencia el´ectrica, la cual es proporcional a la temperatura en el interior del tanque. Los valores de resistencia se convierten a se˜ nales estandarizadas de 4 a 20 mA mediante el transmisor. Observar que la v´alvula de control es del tipo

1.1 Sistema de Control a Lazo Cerrado

5

CONTROLADOR

TRANSMISOR

TRANSMISOR

ACTUADOR F P1 P2 PLACA DE ORIFICIO

VÁLVULA NEUMÁTICA

(a)

SP

4 − 20 mA

4 − 20 mA CONTROLADOR

4 − 20 mA PV

MV

TRANSMISOR

TRANSMISOR

ACTUADOR P

3 − 15 psi

PROCESO

P1 P2 SENSOR: PLACA DE ORIFICIO

F

EFC: VÁLVULA DE CONTROL NEUMÁTICA (b)

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

el´ectrica porque trabaja con una se˜ nal de 4 a 20 mA. Esta se˜ nal alimenta al motor DC. El movimiento de rotaci´on del eje del motor se convierte en un movimiento de traslaci´on para hacer desplazar el eje de la v´alvula de control.

Sensor (ohm) Producto

Transmisor MV 4−20 mA

Controlador

PV 4−20 mA

SP 4−20 mA

Agua caliente

Fig. 1.3: Sistema de control de temperatura.

Soluci´ on: El flujo del producto que ingresa al tanque constituye la se˜ nal de disturbio. Mientras m´as brusca sea la variaci´on de este flujo, mayor ser´a la dificultad para que la se˜ nal PV siga a la se˜ nal SP.

6

Introducci´ on

1.2.

Sistema de Control a Lazo Abierto

La Fig. 1.4 muestra el diagrama de bloques de un sistema de control a lazo abierto, donde podemos observar que no existe un lazo de realimentaci´on. Dicho lazo si est´a presente en el sistema de control de la Fig. 1.1.

SP r

MV Controlador u Elemento final anticipativo de control

Disturbios Proceso

PV y Sensor más 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´on que tienen que ver principalmente con aperturas y cierres temporizados de v´alvulas y otros dispositivos. La programaci´on de los tiempos de la entrada en operaci´on de los compresores que conforman un sistema de generaci´on 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˜ nal de control) se ajusta antes de que ocurran cambios en la variable controlada. La estrategia de control anticipativo se trata en detalle en la secci´on 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´alisis din´amico complejo de los disturbios para que la estrategia de control trabaje efectivamente. S´olo en muy pocos casos en la industria, el control anticipativo es relevante. Existen otras estrategias de control, adem´as del control anticipativo, tales como control de la raz´on de dos variables, control en cascada, control de rango partido y control selectivo, todas las cuales ser´an 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´on dentro del tanque, respectivamente. Este ejemplo es un caso t´ıpico de mando programable, el cual se implementa con un PLC y v´alvulas ON–OFF (de apertura y cierre). La apertura y cierre de tales v´alvulas se realiza con un programa elaborado para tal prop´osito. Este programa se puede realizar

1.3 Din´ amica Lineal de los Elementos Ideales

7

empleando diversos m´etodos. Uno de los m´as populares es el m´etodo de la escalera. No es prop´osito de este libro entrar en detalles de este m´etodo de programaci´on. Luego de culminado y probado el programa, ´este se almacena en la memoria del PLC. Para el caso que nos ocupa, tal programa satisface la siguiente secuencia l´ogica: ESTADO 0 (REPOSO): V2 OFF ESTADO 1 (LLENAR PRODUCTO): V1 ON ´ ESTADO 2 (TANQUE LLENO): LT MAXIMO, V1 OFF, V2 OFF, V3 ON ´ ESTADO 3 (TRANSPORTAR PRODUCTO): PT MAXIMO, V4 ON, V5 ON ´ ´ ESTADO 4 (SOPLAR NITROGENO): PT MINIMA, V3 OFF, V4 OFF ESTADO 5 (DESFOGUE/REPOSO): V2 ON, V5 OFF TRANSPORTE V4

DESFOGUE V1 V2

V5 SOPLADO ADICIONAL

ENTRADA DE PRODUCTO

LT PT

SOPLADO INFERIOR V3

Fig. 1.5: Tanque del ejemplo 1.3 para el soplado de un producto. LT: Level Transmitter; PT: Pressure Transmitter; V1, ... V5: v´alvulas.

1.3.

Din´ amica Lineal de los Elementos Ideales

La Tabla 1.1 describe los modelos din´amicos lineales de los elementos ideales, mientras que las Figs. 1.6, 1.7 y 1.8 muestran los s´ımbolos de los mismos. Tal informaci´on 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´ectrica L en H (henry), en donde se cumple que la diferencia de potencial v21 = v2 − v1 en V (volt) es proporcional a la variaci´on de la corriente i en A (ampere) con respecto al tiempo.

8

Introducci´ on

Tabla 1.1: Modelos din´amicos para elementos ideales. Almacenador o disipador

Elemento f´ısico

Ecuaci´on descriptiva

Energ´ıa E o potencia P

Almacenador inductivo

Inductancia el´ectrica L

di v21 = L dt

E = 12 Li2

Almacenador inductivo

Resorte traslacional

v21 =

1 df K dt

E=

1 F2 2 K

Almacenador inductivo

Resorte rotacional

ω21 =

1 dT K dt

E=

1 F2 2 K

Almacenador inductivo

Inercia fluidica

p21 = I dq dt

E = 12 Iq 2

Almacenador capacitivo

Capacitancia el´ectrica

i = C dvdt21

2 E = 12 Cv21

Almacenador capacitivo

Masa

f = M dv dt

E = 12 M v 2

Almacenador capacitivo

Momento de Inercia

T = J dω dt

E = 12 Jω 2

Almacenador capacitivo

Capacitancia fluidica

q21 = Cf dpdt21

E = 12 Cf p22

Almacenador capacitivo

Capacitancia t´ermica

q = Ct dT dt

E = Ct T

Disipador de energ´ıa

Resistencia el´ectrica

i=

Disipador de energ´ıa

Amortiguador traslacional

f = Bv21

2 P = Bv21

Disipador de energ´ıa

Amortiguador rotacional

T = Bω21

2 P = Bω21

Disipador de energ´ıa

Resistencia fluidica

q=

1 Rf p21

P=

1 2 Rf p21

Disipador de energ´ıa

Resistencia t´ermica

q=

1 Rt T21

P=

1 Rt T21

1 R v21

P=

1 2 R v21

1.3 Din´ amica Lineal de los Elementos Ideales

9

La Fig. 1.6(b) ilustra el resorte traslacional de constante K, en donde la variaci´on de velocidad v21 en m/s es proporcional a la variaci´on 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´on, es f´acil demostrar que f = Kx21 . Por ello, K est´a 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´on 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´on angular, es f´acil demostrar que T = Kθ21 . Por ello, K est´a en N.m/rad. En la Fig. 1.6(d), donde l es el nivel, se cumple que el cambio de presi´on p21 en Pa (pascal), donde 1 Pa = 1 N/m2 , es proporcional a la variaci´on 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: I=

v

i

L v2 (a)

f

K v1 (b)

p21 dq/dt

ω1 T

f v2

K

θ1

T

ω2 θ2

(c)

q

I

p1 p2 (d)

Fig. 1.6: Elementos ideales almacenadores de energ´ıa inductiva. (a) Inductancia el´ectrica. (b) Resorte traslacional. (c) Resorte rotacional. (d) Inercia flu´ıdica. La Fig. 1.7(e) ilustra la capacitancia el´ectrica C en F (farad), en donde la corriente i en A (ampere) que circula a trav´es 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´ ua sobre M produce la aceleraci´on 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´on T en N.m es proporcional a la aceleraci´on 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´on 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´ermica Ct en J/K, la cual se muestra en la Fig. 1.7(i). La Fig. 1.8(j) muestra una resistencia el´ectrica 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´ on

i

v1

C v2

v

(e) q

p2

q1

ω T

Ct

T

q2

J

(g)

(f)

p1

Cf

f

M

(i)

(h)

Fig. 1.7: Elementos ideales almacenadores de energ´ıa capacitiva. (e) Capacitancia el´ectrica. (f) Masa. (g) Momento de inercia. (h) Capacitancia fluidica. (i) Capacitancia T´ermica.

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´on 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 proporcionalidad B se denomina la constante de fricci´on viscosa rotacional, cuya unidad es N.m.s/rad. La resistencia fluidica Rf se define como la variaci´on de la presi´on 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´ermica Rt se define como la variaci´on 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.

v1

f

R

i

v2

v1

(j)

p1 q

Rf

(m)

B

f v2

(k)

p2

T1

ω1 T ω B T 2

Rt q

(l)

T2

(n)

Fig. 1.8: Elementos ideales disipadores de energ´ıa. (j) Resistencia el´ectrica. (k) Amortiguador traslacional. (l) Amortiguador rotacional. (m) Resistencia fluidica. (n) Resistencia t´ermica.

Cap´ıtulo 2

El Proceso a Controlar La din´amica de una gran variedad de procesos a ser controlados se puede describir mediante un conjunto de ecuaciones diferenciales. Tal descripci´on matem´atica se obtiene aplicando las leyes de la f´ısicas y de la qu´ımica en dicho proceso, tales como la conservaci´on de la energ´ıa y las leyes de Newton. Para construir un modelo adecuado para prop´ositos de control, se requiere conocer bien la din´amica del proceso. No siempre es mejor que un modelo sea lo m´as exacto posible a su comportamiento din´amico. Tener en cuenta que mientras m´as complejo sea el modelo, m´as dificultoso ser´a el an´alisis y dise˜ no del sistema de control. Lo recomendable es que el modelo del proceso mantenga las caracter´ısticas din´amicas de inter´es para el rango de operaci´on del sistema de control a dise˜ nar. En este cap´ıtulo se determinan los modelos din´amicos de varios procesos con tres prop´ositos fundamentales. El primero, para que sirvan como una fuente de datos de salida para poder construir curvas de reacci´on; el segundo, para que su din´amica sea usada en el dise˜ no de controladores; por u ´ltimo, para verificar la funcionalidad del controlador actuando sobre el proceso.

2.1.

Procesos con Comportamiento Proporcional

Un proceso SISO con comportamiento proporcional se caracteriza por poseer una Funci´on de Transferencia (FT, ver subsecci´on 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´on uniforme por donde circula un flujo y, cuya magnitud est´a gobernada por la abertura u de la v´alvula de control. Las letras FI (Flow Indication) dentro del c´ırculo indican la presencia de un instrumento de indicaci´on de flujo.

12

El Proceso a Controlar

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

∆y y2 − y 1 = ∆u u2 − u 1

(2.2)

En el dominio de Laplace, la expresi´on gen´erica de la FT del proceso flujo toma la forma: y(s) = Kp u(s) (2.3) donde s es el operador de Laplace. u u u

FI

2

y Válvula de control

(a)

∆u

u1 y y 2 y

t1

t2

t ∆y

1 t1

t2

t (b)

Fig. 2.1: (a) Proceso flujo. (b) Respuesta al escal´on (curva de reacci´on 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´alvula es de 10 mm y que el m´aximo flujo que puede pasar por la tuber´ıa es de 10 L/min (L: litro). Asumir que el cambio de flujo ∆y a trav´es de la v´alvula es proporcional al cambio de abertura de v´alvula ∆u. Soluci´ on.- La proporcionalidad se refiere a que ∆y = Kp ∆u. Empleando la ecuaci´on (2.2), la ganancia Kp se calcula como: Kp =

y2 − y 1 10 − 0 L ∆y = = =1 ∆u u2 − u 1 10 − 0 min.mm



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´a 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´on mostrado en la Fig. 2.1(b) tambi´en se aplica al proceso flujo de granos. Consid´erese 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´andola 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´a dada por (2.3). Silo de material

Banda transportadora u 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´as un retardo de primer 1 (ver Tabla 2.8); es decir, su salida y(s) est´a relacionada con su entrada orden T s+1 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´on uniforme S, al cual ingresa un flujo de agua qC y sale otro flujo qD a trav´es de un orificio ubicado en la base del tanque. La Tabla 2.1 describe las variables y par´ametros en juego. Aplicando balance de masas en el tanque se tiene que el cambio de volumen de agua acumulado en el interior del tanque se puede modelar como: S

dh = S h˙ = qC − qD dt

(2.5)

14

El Proceso a Controlar q

C

S

h

q

Rebose

D

Fig. 2.3: Proceso tanque cerrado con orificio de salida en la base y tuber´ıa de rebose.

Tabla 2.1: Par´ametros y variables del proceso nivel en un tanque cerrado. S´ımbolo dS

Descripci´on Di´ametro del tanque

Valor 0.2

Unidades. m

S

Secci´on circular del tanque

0.0314

m2

h

Nivel del agua

h

Nivel del agua en estado estacionario

qC

Flujo de agua fr´ıa hacia el tanque

qC

Estado estacionario de qC

qD

Flujo de salida del tanque

qD

Estado estacionario de qD

Rh

Resistencia hidr´aulica: Rh = h/q D

m 0.4

m m3 /s

1.66×10−4

m3 /s m3 /s

2.16×10−4

m3 /s s/m2

donde h es la altura del agua y Sdh/dt es el cambio de volumen de agua en el diferencial de tiempo dt dentro del tanque. Para variaciones peque˜ nas de h y asumiendo que el flujo de salida qD es laminar, se puede formular: qD =

h Rh

(2.6)

donde Rh es la resistencia hidr´aulica del tanque, la cual se puede determinar de [3]: Rh =

h qD

(2.7)

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´ on de estado lineal del nivel: 1 1 h + qC h˙ = − Rh S S

(2.8)

2.2 Procesos de Primer Orden

15

En el dominio de Laplace: h˙ = s h − h(0), donde s es el operador de Laplace. Si se tiene en cuenta que h(0) = 0 (requisito indispensable para hallar la FT del proceso), (2.8) toma la forma: h(s) Rh = qC (s) SRh s + 1

h(s) =

Rh qC (s) SRh s + 1

(2.9)

Asumiendo que el flujo de entrada es un escal´on de amplitud A, entonces, su transformada de Laplace es: qC (s) = A/s. Por consiguiente, de (2.9) se obtiene: h(s) =

Rh A s(SRh s + 1)

(2.10)

Aplicando los teoremas del valor inicial y del valor final (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

t→0

s→∞

l´ım h(t) = l´ım sh(s) = Rh A

t→∞

s→o

La curva de reacci´on a lazo abierto del nivel h se determina resolviendo (2.8) o (2.10). Vamos a intentar tres soluciones. Para una primera soluci´on, descomponemos (2.10) en fracciones parciales: " # 1 1 Rh A = Rh A − h(s) = 1 s(SRh s + 1) s (s + SR ) h Tomando transformada inversa de Laplace a cada t´ermino de h(s) se obtiene: i h − 1 t (2.11) h(t) = Rh A 1 − e SRh Los valores inicial y final de h(t) resultan: l´ım h(t) = 0

t→0

l´ım h(t) = Rh A

t→inf

Notar que estos valores coinciden con los hallados empleando (2.10). La segunda forma de hallar h(t) es empleando matem´atica simb´olica, tal como se ilustra en el programa nivel1simb.m listado abajo: % nivel1simb.m DETERMINACI´ ON DE h(t) USANDO TRANSFORMADA INVERSA DE LAPLACE clear all; close all; clc; syms s Rh A S; h=ilaplace(Rh*A*(1/s - 1/(s + 1/(S*Rh)))); pretty(simplify(h))

La tercera forma de hallar h(t) es mediante un programa en MATLAB, el cual tambi´en grafica la curva de reacci´on. Este programa requiere la ecuaci´on de diferencias del proceso nivel. Para ello se debe de discretizar la ecuaci´on 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 u ´ltima notaci´on es m´as conveniente para programaci´on en tiempo real. Ejecutar el programa curvah.m para obtener la curva de reacci´on de la Fig. 2.4.

16

El Proceso a Controlar

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

qC [L/h]

10.5 10 9.5 9 8.5

0

50

100

150

200 250 TIEMPO

300 [s]

350

400

450

500

0

50

100

150

200 250 TIEMPO

300 [s]

350

400

450

500

0.4

NIVEL [m]

0.3 0.2 0.1 0

Fig. 2.4: Proceso nivel en un tanque cerrado.

Temperatura en un Tanque con Agitador La Fig. 2.5 muestra un proceso t´ermico: 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´erdidas se va a demostrar que la FT Ti (s)/To (s) es de primer orden. La Tabla 2.2 describe las variables y par´ametros en juego. Suponiendo que el l´ıquido en el tanque se agita uniformemente, que los flujos volum´etricos de entrada y de salida, la densidad y capacidad calor´ıfica del l´ıquido son todos constantes, y que el proceso es adiab´atico (sin p´erdidas) debido a que el tanque posee buen aislamiento, entonces, la ecuaci´on del balance de energ´ıa es: qρCp Ti − qρCp To = V ρCv

dTo dt

En el dominio de Laplace, (2.12) resulta: qρCp Ti (s) − qρCp To (s) = V ρCv (sTo − To (0))

(2.12)

2.2 Procesos de Primer Orden

17

q Ti

q T

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

Tabla 2.2: Par´ametros y variables del proceso temperatura en un tanque con agitador. S´ımbolo q ρ

Descripci´on Flujo de entrada y de salida

Unidades m3 /s kg/m3

Densidad del l´ıquido en q

Cp

Capacidad calor´ıfica a presi´on constante

Cv

Capacidad calor´ıfica a volumen constante

V

Volumen del l´ıquido en el tanque

J kg.K J kg.K m3

Ti

Temperatura del flujo de entrada

oC

To

Temperatura del flujo de salida

oC

Sabemos que la determinaci´on de la FT de cualquier proceso requiere que todas las condiciones iniciales sean nulas. En el caso que nos ocupa, tal requerimiento se cumple si To (0) = 0. Por lo tanto, su correspondiente FT To (s)/Ti (s) resulta: To (s) 1 = Ti (s) τs + 1

τ=

V Cv qCp

(2.13)

La curva de reacci´on del proceso con Ti (s) = A/s, la cual es semejante al gr´afico inferior de la Fig. 2.4, posee la forma: t

To (t) = A (1 − e− τ ) la cual se halla ejecutando el programa en matem´atica simb´olica temp1simb.m, donde tau representa a la letra griega τ : % temp1simb.m DETERMINACI´ ON DE To(t) USANDO TRANSFORMADA INVERSA DE LAPLACE clear all; close all; clc; syms s tau A; To = ilaplace(A/(s*(tau*s+1))); pretty(simplify(To))

18

El Proceso a Controlar

2.3.

Procesos de Segundo Orden

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

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

1

Vo (s) = − sC2 1 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 R1

C2 R2

C1

Vi

Vi Seguidor de voltaje

Opamp inversor

C2

Vx

Vo Opamp inversor

Fig. 2.6: Proceso de segundo orden con opamps.

Tanques en Cascada La Fig. 2.7 muestra dos tanques unidos por una tuber´ıa. Los par´ametros y variables de este proceso se describen en la Tabla 2.3. Las ecuaciones din´amicas que gobiernan este proceso son: q1 = q2 =

h1 − h 2 R1 h2 R2

dh1 = q − q1 dt dh2 C2 = q1 − q2 dt C1

Pasando al dominio de Laplace con condiciones iniciales nulas, se obtiene: q1 (s) = q2 (s) =

h1 (s) − h2 (s) R1 h2 (s) R2

C1 sh1 (s) = q(s) − q1 (s) C2 sh2 (s) = q1 (s) − q2 (s)

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´ametros y variables del proceso temperatura en un tanque con agitador. S´ımbolo

Descripci´on

Unidades

q, q1 , q2

Flujos de entrada, intermedio y de salida

R1 , R2

Resistencias hidr´aulicas

C1 , C2

Capacitancias hidr´aulicas

m3 s s m2 m2

h1 , h2

Niveles en los tanques

m2

q

h1

h2

R1

R2 q2

q1

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

Indicador con N´ ucleo de Fierro M´ ovil La Fig. 2.8 muestra un indicador con n´ ucleo de fierro m´ovil, donde K es la constante del resorte, B es la constante de viscocidad del amortiguador, M es la masa del n´ ucleo de fierro encerrado por la bobina, y u es la corriente que circula por la bobina. La fuerza electromagn´etica Km u, donde Km es una constante, produce un movimiento traslacional y en el n´ ucleo, cuya direcci´on y magnitud depende de la direcci´on y magnitud de la corriente u. El movimiento y, que es tambi´en el desplazamiento del indicador, es proporcional a la corriente u. La ecuaci´on que gobierna el movimiento del n´ ucleo es: dy d2 y Km u = Ky + B +M 2 dt dt En el dominio de Laplace y con condiciones iniciales nulas, la ecuaci´on anterior resulta: Km u(s) = Ky(s) + Bsy(s) + M s2 y(s) Por consiguiente, la FT y(s)/u(s) toma la forma: y(s) = 2 u(s) s + Km Kp = M

Km M B Ms

+

K M

=

s2

B ζ= √ 2 KM

Kp + 2ζωn s + ωn2 ωn =

r

K M

20

El Proceso a Controlar u Resorte

uo

K Bobina M

u

u

uo Escala yo

Corriente

t

y y

y

yo

t

Amortiguador B

Fig. 2.8: Indicador con n´ ucleo de fierro m´ovil.

2.4.

Procesos Integrales

Llenado de un Tanque La Fig. 2.9 muestra un tanque de secci´on A que est´a siendo llenado por un flujo u de entrada. S´olo cuando el tanque alcanza un nivel m´aximo, entonces se prende la bomba de vaciado. El volumen acumulado en el tanque es: A

dy =u dt

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

u(t)

Flujo u(t)

y(t)

uo t1

y(t)

t

y(t) yo

Bomba

t1

Fig. 2.9: Llenado de un tanque.

t

2.5 Procesos con Tiempo Muerto

21

Sat´ elite El sat´elite mostrado en la Fig. 2.10 se puede modelar como: J

d2 θ = J θ¨ = u dt2

d2 θ θ¨ = 2 dt

donde J es el momento de inercia del sat´elite, θ es el a´ngulo de inclinaci´on y u es el torque generado por los impulsores para corregir el a´ngulo de inclinaci´on. En el dominio de Laplace, con condiciones iniciales nulas, el modelo del sat´elite toma la forma: Js2 θ(s) = u(s). Luego, la FT del sat´elite es un doble integrador: Kp θ(s) = 2 u(s) s

Kp =

1 J

˙ y como Por otro lado, si seleccionamos como variables de estado x1 = θ y x2 = θ, salida y = x1 , entonces las ecuaciones de estado y de salida resultan: x˙ 1 = x2

x˙ 2 = u/J

y = x1

En forma matricial: 

x˙ 1 x˙ 2



=



0 1 0 0



x1 x2



+



0 1 J



u

y = [1 0]



x1 x2



θ

J

u

Fig. 2.10: Esquema simplificado de un sat´elite.

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´alvula 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´olo 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 consiguiente, la FT de este proceso resulta: y(s) = Kp e−Tt s u(s)

                                                                                                                                                                                                                                                                                                                                                                                                                                             

Kp =

∆y ∆u

L

u(t)

Valvula de cuchilla u+ u

Motor

t0

v = wr

t

t1

y(t)

r

Velocidad w constante

u

uo

Tt

y o u

t

0

t1

y t

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´ un de longitud L, el flujo suma y(t) = y1 (t) + y2 (t) circula a una velocidad v. Hasta el tiempo t1 , las aberturas de v´alvulas [u1 ]o y [u2 ]o dejan circular un flujo de magnitud yo . En el tiempo t1 se incrementan las aberturas de las v´alvulas 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) = Kp e−Tt s u1 (s)

2.6.

Kp =

∆y ∆u1 + ∆u2

Procesos de Orden Superior

Proceso de Enfriamiento de Tercer Orden En la Fig. 2.13(a), Qc es el flujo de agua a una temperatura Tc que ingresa a la camisa de enfriamiento del tanque, con el prop´osito 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 Flujo u1 (t)

t

u2(t) Flujo y(t) a Sensor una velocidad de PH v constante

Flujo u2 (t)

u 2(t)

[u 2]o

t Tt

y(t)

y(t)

yo

t

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

a una temperatura T . La pared met´alica 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´ametros del proceso.

Rebose

Agua fría qC TC ρC

q T TC Camisa de enfriamiento Tanque metálico Tm

Producto q Ti ρ

(a)

ti

K6 tc i

1 τ 3 s+1

K5

tc

K1 1 τ 2 s+1 t m

K4

K7 q

c

K2

K3

(b)

Fig. 2.13: Proceso de enfriamiento.

1 τ 1 s+1

t

24

El Proceso a Controlar

Tabla 2.4: Par´ametros y variables del proceso de enfriamiento en un tanque. En esta Tabla, C.T.C. significa Coeficiente de Transferencia Calor´ıfica. S´ımbolo Qc , Qc , qc

Descripci´on Flujo de agua actual, estable y residual

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

Cp

Capacidad calor´ıfica de q

Cv

Capacidad calor´ıfica en el tanque

C vm

Capacidad calor´ıfica del metal de la pared

V

Volumen del producto en el tanque

Vm

Volumen de la pared de metal del tanque

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

J kg−K J kg−K J kg−K m3

m3

Temp. actual, estable y residual de q

K

Temperatura actual, estable y residual de Qc

K

Temperatura actual, estable y residual de q

K

Temperatura actual, estable y residual del metal

K

hi

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

ho Ai

C.T.C. de la cara externa del tanque ´ Area interna de transferencia de calor

J m2 −s−K J m2 −s−K m2

Ao

´ Area externa de transferencia de calor

m2

El balance de energ´ıa en el flujo se expresa como: qρCp Ti − hi Ai T + hi Ai Tm − qρCp T = V ρCv

dT dt

(2.14)

La ecuaci´on (2.14) tambi´en es v´alida para el estado estacionario: qρCp T i − hi Ai T + hi Ai T m − qρCp T = V ρCv

dT dt

(2.15)

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

dt dt

(2.16)

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

K2 K1 ti (s) + tm (s) τ1 s + 1 τ1 s + 1

(2.17)

2.6 Procesos de Orden Superior

K1 =

qρCp qρCp + hi Ai

K2 =

25 hi A − i qρCp + hi Ai

V ρCp qρCp + hi Ai

τ1 =

El balance de energ´ıa para la pared del tanque y su correspondiente estado estacionario se formulan como: dTm dt dT m hi Ai (T − T m ) − ho Ao (T m − T c ) = Vm ρm CVm dt

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

(2.18) (2.19)

Sabiendo que tc = Tc − T c , restando (2.18) de (2.19) se obtiene: hi Ai (t − tm ) − ho Ao (tm − tc ) = Vm ρm CVm tm (s) =

dtm dt

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

(2.20)

hi Ai ho Ao V m ρ m C vm K4 = τ2 = hi Ai + h o Ao hi Ai + h o Ao hi Ai + h o Ao El balance de energ´ıa en la camisa de enfriamiento produce: K3 =

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

dTc dt

(2.21)

La ecuaci´on (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´on 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 dt (2.23) En el estado estacionario todas las variables residuales son nulas. Por consiguiente, (2.23) toma la forma:

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

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

dT c dt

(2.24)

Restando (2.24) de (2.23) y pasando la resultante al dominio de Laplace se obtiene: tc (s) = K5 =

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

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

K7 =

ρc Cp (T c − T ci ) h o A o + Q c ρc C p

K6 = τ3 =

(2.25)

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

Vc ρc C p h o A o + Q c ρc C p

La Fig. 2.13(b) muestra el diagrama de bloques del proceso construido con las ecuaciones (2.17), (2.20) y (2.25).

26

2.7.

El Proceso a Controlar

El Motor DC

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

Rf

La Vb

Lf

Vf If

Campo If

1 Rf

Lf s

Km

T d

Tm

TL (b)

Armadura Va

Km Vb

Im Ra

Td

Tm

1

J B

ω θ

Ia (a)

Vf

Va

Ra

TL

L as

Motor más carga ω

1 B

Js

θ

1 s

Motor más carga ω

1 Js

B

1 s

θ

Kb (c)

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

Motor DC Controlado por el Campo Cuando el motor DC est´a 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´amica del motor CC en este caso son: Vf (s) = (Rf + Lf s)If (s) Tm (s) = Km If (s) = TL (s) + Td (s) TL (s) = Jsω(s) + Bω(s)

ω(s) = sθ(s)

2.7 El Motor DC

27

El diagrama de bloques para este caso se muestra en la Fig. 2.14(b). Considerando que el torque de disturbio Td es despreciable, la FT resulta: Gp (s) =

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

(2.26)

Si la inductancia de campo Lf es suficientemente peque˜ na, entonces la FT para la posici´on θ(s) y para la velocidad angular ω(s) = sθ(s) toman la forma: Gp (s) = Gp (s) =

θ(s) Vf (s) ω(s) Vf (s)

K s(τ s + 1) K ∼ = τs + 1 ∼ =

(2.27) τ=

J B

K=

Km Rf B

(2.28)

Motor DC Controlado por la Armadura Si el motor DC est´a controlado por la armadura, entonces la corriente de armadura Ia es variable, mientras que la corriente de campo If permanece constante. Las ecuaciones en el dominio de Laplace que rigen la din´amica 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´on se muestra en la Fig. 2.14(c). Asumiendo que el torque de disturbio Td es despreciable, la FT resulta: Gp (s) =

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

(2.30)

Si la inductancia de armadura La es suficientemente peque˜ na, entonces la FT para la posici´on θ(s) y para la velocidad angular ω(s) = sθ(s) toman la forma: Gp (s) = Gp (s) =

θ(s) Va (s) ω(s) Va (s)

K s(τ s + 1) K Km ∼ ; K= ; = τs + 1 Ra B + Kb Km ∼ =

(2.31) τ=

Ra J (2.32) 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´as el motor DC controlado por armadura debido a la inherente realimentaci´on que presenta en este caso. Por tal raz´on 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: x˙ 1 = x2

x˙ 2 = −

B Km x2 + x3 J J

x˙ 3 = −

Kb 1 x3 + Va La La

Si se elige como salida la posici´on y = x1 y se designa a Va como la entrada u, la forma matricial de la ecuaci´on de estado resulta: x˙ = Ax + Bu       1 0 0 0 x˙ 1  x˙ 2  =  0 − B − Km  +  0  u J J 1 b a x˙ 3 0 −K −R La La La

y = Cx y=



(2.33) 1 0 0





 x1  x2  x3

Si se considera que la inductancia de armadura La es despreciable, entonces podemos usar las FTs dadas en (2.31). Para el caso posici´on θ, seleccionemos x 1 = θ y x2 = θ˙ como las variables de estado del motor, y = θ como la salida y u = Va como la se˜ nal de entrada. Se deja como ejercicio demostrar que partiendo de la primera FT de (2.31), la representaci´on en el espacio de estado resulta: 

x˙ 1 x˙ 2



x˙ = Ax + Bu     0 0 1 + K u = 0 − τ1 τ

y = Cx y=



1 0

(2.34) 



x1 x2



Para el caso velocidad angular ω, seleccionemos x = y = ω como la variable de estado y a la vez salida y u = Va como la se˜ nal de entrada. Se deja como ejercicio demostrar que partiendo de la segunda FT de (2.31), la representaci´on en el espacio de estado toma la forma: x = Ax + Bu y = Cx (2.35) 1 K A=− B= C=1 τ τ

2.8. 2.8.1.

Modelo MIMO del Proceso Tanque Cerrado Descripci´ on del Proceso

El proceso tanque cerrado con agua estudiado aqu´ı [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´osito de producir el flujo de salida qC a una temperatura θ. Por consiguiente, el proceso tanque con agua es multivariable cuadrado debido a que posee dos entradas: los flujos qC y qH , y dos salidas: el nivel h del agua dentro del tanque y la temperatura θ que se asume uniforme en el interior del tanque. El objetivo del sistema de control a dise˜ nar, es determinar adecuadas fuerzas de control qC y qH con la capacidad de estabilizar las salidas controladas h y θ, cumpliendo ciertas especificaciones de dise˜ no previamente establecidas. La manipulaci´on de las fuerzas de control se realizan mediante dos v´alvulas de control neum´aticas, mientras que el transmisor de nivel LT y el transmisor de temperatura TT se ocupan de medir y transmitir el nivel y la temperatura respectivamente. La Tabla 2.5 describe las variables y los par´ametros valorados del proceso tanque cerrado con agua.

2.8 Modelo MIMO del Proceso Tanque Cerrado

29

Tabla 2.5: Par´ametros, variables y s´ımbolos del proceso tanque con agua. S´ımbolo dA

Descripci´on Di´ametro del tanque

Valor 0.2

Unidades m

A

Secci´on circular del tanque

0.0314

m2

h

Nivel del agua

h

Nivel del agua en estado estacionario

qC

Flujo de agua fr´ıa hacia el tanque

qC

Estado estacionario de qC

qH

Flujo de agua caliente hacia el tanque

qH

Estado estacionario de qH

qD

Flujo de salida desde el tanque

qD

Estado estacionario de qD

Rh

Resistencia hidr´aulica: Rh = h/q D

g

Aceleraci´on de la gravedad

m 0.4

m m3 /s

1.66×10−4

m3 /s m3 /s

0.5×10−4

m3 /s m3 /s

2.16×10−4

m3 /s s/m2

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

θ

Estado estacionario de θ

K 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´ametro del orificio de la placa en qD

6.5

mm

D

Di´ametro de la placa de orificio en qD

15.9

mm

Cp

Calor espec´ıfico del agua

4186.8

J 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´on

30

El Proceso a Controlar

Fig. 2.15: Proceso tanque cerrado con agua.

2.8.2.

Modelo Din´ amico No Lineal del Proceso

Balance de Masas Aplicando balance de masas en el tanque, el cambio de volumen de agua acumulado en su interior se modela como: A

dh = Ah˙ = qC + qH − qD dt

(2.36)

donde A es la secci´on del tanque, h es la altura del agua, Ah˙ 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 a = CE d2 ρD 2g (2.37) qD = CE d2 2ρD ∆p = a h; 4 4 donde hemos usado el hecho de que la ca´ıda de presi´on ∆p en la tuber´ıa de di´ametro D provocada por la placa de orificio de di´ametro d se expresa como: ∆p = ρD gh En la expresi´on (2.37), g es la aceleraci´on 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

Rebose

LT

Drenaje Agua Caliente Agua Fría

FT

FT

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

una relaci´on igual a 0.41 y E es una constante de correcci´on del valor del flujo debido a consideraciones geom´etricas, el cual se expresa como: E = (1 − β 4 )−1/2 Despejando h˙ de (2.36), la ecuaci´on de estado para la variable de estado nivel toma la forma: a√ 1 1 h˙ = − h + qC + qH (2.38) A A A Los valores de las densidades del agua en funci´on de la temperatura se pueden obtener de figura 2.17. Balance de Energ´ıa T´ ermica El balance de energ´ıa t´ermica 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´a 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

dθ = AhρD Cp θ˙ dt

32

El Proceso a Controlar DENSIDAD Kg/m3 1005 1000 995 990 985 980

10

0

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´ametros 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´on de estado ˙ de la variable de estado temperatura θ se obtiene despejando dθ dt = θ de (2.39): a √ ρH θ H qH ρC θ C qC θ˙ = − θ h+ + Ah ρD A h ρD A h

(2.41)

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´on de estado que describe la din´amica del proceso tanque cerrado con agua se formula como:

x˙ =



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



(2.42)



Dado que las variables de estado son las variables medidas del proceso, entonces la ecuaci´on de salida posee la siguiente expresi´on: y = Cx

(2.43)

2.8 Modelo MIMO del Proceso Tanque Cerrado

y=

2.8.3.



y1 y2



=



x1 x2



33 

C=

1 0 0 1



Modelo Din´ amico de Lagrange del Proceso

El modelo din´amico de Lagrange del proceso tanque cerrado con agua se obtiene reordenado las ecuaciones de (2.42) en la forma siguiente: √ u1 + u2 = Ax˙ 1 + a x1

√ ρC θC u1 + ρH θH u2 = ρD Ax1 x˙ 2 + ρD a x1 x2 Por consiguiente: 

1 ρc θ C

1 ρH θ H



u1 u2



=



A 0 0 ρD Ax1



x˙ 1 x˙ 2



+



 √ a x1 √ ρD a x 1 x 2

Operando en la u ´ltima ecuaci´on, es f´acil demostrar que el modelo din´amico de Lagrange del proceso toma la forma: u = P x˙ + d 1 P= (ρH θH − ρC θC ) 1 d= (ρH θH − ρC θC )

2.8.4.





(2.44)

ρH θH A −ρD Ax1 −ρC θC A ρD Ax1



 √ √ ρH θ H a x 1 − ρ D a x 1 x 2 √ √ −ρC θC a x1 + ρD a x1 x2

Modelo Din´ amico Lineal del Proceso

El modelo din´amico lineal del proceso se obtiene linealizando el modelo no lineal dado en (2.42), empleando el m´etodo del jacobiano descrito en la subsecci´on A.6.2. El modelo lineal resulta: x˙ = Ax + Bu 

 A= 

 B=

∂f1 ∂x1

∂f1 ∂x2

∂f2 ∂x1

∂f2 ∂x2

∂f1 ∂u1

∂f1 ∂u2

∂f2 ∂u1

∂f2 ∂u2







  = 

  =

y = Cx a − 2A√ x

ax √2 2A x31



ρC θC u1 ρD Ax21

1 A

1 A

ρC θ C u 1 ρD Ax1

ρH θ H ρD Ax1

 

(2.45) 0

1



ρH θ H u 2 ρD Ax21

− A√ax1

C=



  

1 0 0 1



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´ on: M´ etodo de la Tangente

Asumamos que la respuesta y de un proceso a una entrada u tipo escal´on (su curva de reacci´on) 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˜ nal u cambia de u0 a u1 , entonces, a partir de t1 , se produce la curva de reacci´on mostrada. Este tipo de respuesta se puede aproximar mediante una FT de primer orden en cascada con una FT del tiempo muerto: Gp (s) =

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

Kp =

y1 − y 0 u1 − u 0

(2.46)

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´ametros T y τ se obtienen gr´aficamente trazando una tangente que toque el punto de tangencia (P.T.) sobre la curva de reacci´on. u

y

u1

u

u0 t

0

t1

Proceso autoregulado KP e τs Ts + 1

t

y

y 1 P.T. y0

τ t

0

t1

T

t

Fig. 2.18: Curva de reacci´on de un proceso.

La curva de reacci´on mostrada en la Fig. 2.18 tambi´en se puede aproximar mediante una FT de orden n de la forma: G(s) =

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

Kp =

y1 − y 0 u1 − u 0

(2.47)

Los par´ametros n y Tn de (2.47) se determinan empleando la Tabla 2.6. Ejemplo 2.2 Determinar dos modelos din´amicos que describan el comportamiento velocidad frenada de un motor DC a partir de su curva de reacci´on, 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´axima de voltaje es 40 V y el rango del instrumento de medici´on de rpm a la salida es de 0 a 1000 rpm.

2.9 Respuesta Transitoria de los Procesos

35

Soluci´ on: El primer modelo din´amico se halla con la ecuaci´on (2.46) donde τ = 2 s y T = 9.2 s: G(s) =

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

y1 − y 0 600 − 400 rpm = = 20 u1 − u 0 20 − 10 V

Kp =

El segundo modelo din´amico se refiere a la ecuaci´on (2.47). Con los datos proporcionados en el ejemplo se obtiene: τ /T = 0.217. Empleando la Tabla 2.6 se puede determinar: n = 3 y Tn /T = 0.270, lo que implica: Tn = 2.484 s. La FT resulta: G(s) =

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

La ganancia normalizada Kpn se determina de: Kpn =

600−400 1000−0 20−10 40−0

=

0.2 = 0.4 0.5

Tabla 2.6: Determinaci´on de los par´ametro 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´amica del proceso autoregulado se puede aproximar mediante la siguiente FT de segundo orden: G(s) =

Y (s) KP = U (s) (T1 s + 1)(T2 s + 1)

KP =

y1 − y 0 u1 − u 0

(2.48)

donde T1 y T2 son dos constantes de tiempo que se relacionan mediante la ecuaci´on: T1 = kT2

k>1

La constante k se determina usando la Tabla 2.7. Ejemplo 2.3 Hallar el modelo que describa la din´amica de un sistema mecatr´onico de velocidad a partir de su curva de reacci´on, 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´ on: El modelo din´amico se refiere a la ecuaci´on (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: G(s) =

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

Tabla 2.7: Determinaci´on de los par´ametro 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´ etodo del 28.3 % y 63.2 %

La Fig. 2.19 muestra la curva de reacci´on para el m´etodo 28.3 % y 63.2 %. En este m´etodo 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´ametros de la FT dada en la ecuaci´on (2.46) se determinan de: T = 1.5(t63.2 % − t28.3 % )

τ = t63.2 % − T

u

t 63.2%

y

u1 ∆u

u

u0 t

0

t1

t

Proceso autoregulado KP e τs Ts + 1

(2.49)

t 28.3

y 1 y

∆y

0.632 ∆y y0

0.283 ∆ y t

0

t1

t

Fig. 2.19: Curva de reacci´on para el m´etodo 28.3 % y 63.2 %.

2.9.3.

Otras Respuestas al Escal´ on y al Impulso

Los procesos autoregulados presentan una respuesta finita (constante o cero) a entradas de prueba escal´on o impulso. Sabemos que cuando la entrada u(t) es un escal´on 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˜ no en el dominio del tiempo como veremos en la siguiente secci´on. La FT de este proceso es: y(s) ωn2 Gp (s) = (2.50) = 2 r(s) s + 2ζωn s + ωn2 donde ωn es conocida como la frecuencia natural de oscilaci´on y ζ es el coeficiente de amortiguamiento. Cuando r(s) = A/s (entrada tipo escal´on de magnitud A), y(s) en (2.50) toma la forma: Aωn2 (2.51) y(s) = s(s2 + 2ζωn s + ωn2 ) Tomando la transformada inversa de Laplace (f´ormula (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´afico 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´ormula (32) de la Tabla A.2.1. Cuando u(s) = A (entrada tipo impulso) en la ecuaci´on (2.50, y(s) toma la forma: y(s) =

Aωn2 s2 + 2ζωn s + ωn2

(2.53)

Tomando la transformada inversa de Laplace (f´ormula (29) de la Tabla A.2.1) resulta: y(t) =

Aωn2 −ζωn t e sen ωd t ωd

(2.54)

La Fig. 2.20 (gr´afico superior derecha) muestra y(t) para A = 1 y varios valores de ζ. Notar tambi´en que para ζ ≥ 1 la respuesta se vuelve sobreamortiguada. Una forma alternativa de (2.50) incluye un tiempo muerto τ . Esto es: G(s) =

y(s) ω2 = 2 e−sτ u(s) s + 2ζωs + ω 2

(2.55)

Para una entrada tipo escal´on (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´on correspondiente a (2.55):   ωn −ζωn (t−τ ) y(t) = A 1 − e sen[ωd (t − τ ) + θ] (2.56) ωd La Fig. 2.20 (gr´afico 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´afico 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 4

1.5

0.2

Amplitude

Amplitude

2

1 0.5 0

0

1.8 0

5 Time (sec)

−2

10

0.2

2

1.8 0

5 Time (sec)

Step Response

Impulse Response 4

1.5

0.2

Amplitude

Amplitude

2

1 0.5 0

10

2

0.2

0

1.8 0

5 Time (sec)

10

−2

1.8 0

5 Time (sec)

10

Fig. 2.20: Respuestas al escal´on y al impulso de procesos de segundo orden en funci´on del par´ametro ζ.

% r1.m RESPUESTAS AL ESCAL´ ON 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´ on en Procesos No Autoregulados Procesos no autoregulados, como es el caso de la posici´on 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´on al escal´on no finita, tal como se ilustra en la Fig. 2.21. La din´amica de tales procesos se puede modelar como: Gp (s) =

Kp −τ s e s

R = Kp τ

(2.58)

2.10 Problemas

39

donde τ es el tiempo muerto, R es la raz´on de reacci´on unitaria y Kp es la ganancia proporcional. Los par´ametros R y τ se obtienen gr´aficamente, tal como se ilustra en la Fig. 2.21. Proceso no autoregulado

u A

u

Kp e τs s

y y

R = Kp τ

τ

R

t τ

Fig. 2.21: Respuesta al escal´on de un proceso no autoregulado. A manera de resumen, la Tabla 2.8 muestra la FT (funci´on de transferencia) de varios procesos en funci´on 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.

Ri

Vin

Seguidor de voltaje

Rf

R Opamp inversor

R Vo Opamp 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´ectrico. Demostrar que: Kp M (s) = ω(s) Ts + 1 donde M (s) es el momento rotacional generado por la turbina gracias a la acci´on del flujo de agua, ω(s) es la velocidad angular del generador y T su correspondiente constante de tiempo. Asumir conocido cualquier otro par´ametro necesario.

40

El Proceso a Controlar

Tabla 2.8: Funciones de Transferencia de varios procesos en funci´on de su comportamiento, donde τ es el tiempo muerto. Otras combinaciones son posibles. Proceso

FT

Proceso

Proporcional (P)

Kp

Primer orden

Integral (I)

Kp s

Segundo orden (primera forma)

Doblemente integral

Kp s2

Segundo orden (segunda forma)

Proporcional integral (PI) Proporcional derivativo (PD) P+I+D Proporcional con tiempo muerto τ

 Kp 1 +

1 Ti s



Segundo orden

1 Ti s

Kp T s+1 Kp (T1 s+1)(T2 s+1) Kp (T s+1)2 2 ωn 2 s2 +2ζωs+ωn

(tercera forma)

Kp (1 + Td s)  Kp 1 +

FT

+ Td s



De orden n (primera forma) De orden n

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

Kp (T s+1)n

(segunda forma)

Kp

e−τ s

2do orden con tiempo muerto τ (primera forma)

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

Integral con tiempo muerto τ

Kp s

e−τ s

2do orden con tiempo muerto τ (segunda forma)

2 ωn 2 s2 +2ζωs+ωn

e−τ s

1er orden con tiempo muerto τ

Kp T s+1

2do orden con tiempo muerto τ y derivativo

2s ωn 2 s2 +2ζωs+ωn

e−τ s

e−τ s

Generador eléctrico Turbina Entrada de agua M ω

Desague

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

e−τ s

2.10 Problemas

41

Problema 2.3 Proceso Tanque Cerrado En la subsecci´on 2.8.1 se determinaron el modelo de Lagrange y la ecuaci´on 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´on de estado y el modelo de Lagrange del proceso para esta situaci´on. Problema 2.4 Tanque Almacenador de Gas La Fig. 2.24 muestra un tanque de almacenamiento de gas. Demostrar que: Po (s) 1 = Pi (s) Ts + 1

T = RC

donde Po es la presi´on del gas dentro del recipiente, Pi es la presi´on del gas de entrada, R = (Pi − Po )/Q es el la resistencia neum´atica, Q es el flujo del gas, C = dm/dp (variaci´on de la masa con respecto a la variaci´on de la presi´on) es la capacitancia neum´atica, 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´as que la capacitancia C multiplicada por la variaci´on de la presi´on de salida dPo , es igual al gas Q a˜ nadido 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´ anico La Fig. 2.25 muestra una proceso mec´anico traslacional, donde M es la masa de un cuerpo que est´a accionado por una fuerza u. A esta acci´on se le oponen la fuerza fK = Kx en el resorte y la fuerza de p´erdidas fB = Bv en el amortiguador, donde K es la constante del resorte, B es la constante de p´erdidas, v = dx/dt es la velocidad de la masa M y x su posici´on. Sabiendo que la ecuaci´on din´amica de este proceso es: M dv/dt = u − fK − fB , determine la FT v(s)/u(s) y la ecuaci´on 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˜ nales u1 y u2 generadas por dos actuadores. Las se˜ nales de control son

42

El Proceso a Controlar x v

K fK

B

M

u

fB

Fig. 2.25: Proceso mec´anico traslacional.

capaces de llevar a cero con suficiente rapidez los errores de posici´on e 2 = r2 − y2 , donde r1 y r2 son las se˜ nales de referencia e y1 e y2 , las se˜ nales de salida a controlar, son las posiciones individuales de las plataformas. (a) Determinar las ecuaciones de estado y de salida del proceso. (b) Determine el modelo de Lagrange del proceso.

 

r1

r2



+

e1 u1

+



 

         R1



− +



R2 −

      

y1

P1 Y1 K1

+

u2

B1 y

P2 − e2

2

Y2 K2

B2



Fig. 2.26: Plataformas acopladas.

Problema 2.7 Proceso T´ ermico En el proceso t´ermico de la Fig. 2.27 determinar su ecuaci´on de estado, cuando las v´alvulas V1 y V2 est´an 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´as que TF > TM , TF > Ta . Los par´ametros 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´ermicas. Problema 2.8 Proceso Hidr´ aulico En el proceso hidr´aulico mostrado en la Fig. 2.28 se desea determinar su ecuaci´on de estado, sabiendo que la entrada al proceso es la fuerza f (t) aplicada sobre la masa

2.10 Problemas

43

V1

  # ## ## #### "!!" "!!"   "!"! "!"!  "!"! "!"!  "!"! "!"!              Ta

qi

RF

h

CM

CF

RM

TM Q

TF

VAPOR

qo V2

Fig. 2.27: Proceso t´ermico del problema 2.7.

M1 de secci´on A1 y la salida es el desplazamiento x2 de la masa M2 de de secci´on A2 . B, B1 y B2 son los coeficientes de fricci´on viscosa mientras K es la constante del resorte.

**+ ,,f(t)

M1

B1 /2

B2 /2

&'

ACEITE

B1 /2

f1

A1

()

f2

A2 M2

B2 /2

%$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ K

B

Fig. 2.28: Proceso hidr´aulico 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´on 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´on 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 = q − q1 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 P1 = K1 TT = Po + ρgh

A

44

El Proceso a Controlar

donde Po , ρ, g, K1 , A, K2 , JT . DT , KT , Kf , Kb , RG , LG , RV y LV son par´ametros conocidos. q Po

RG

A

h q1

P1

θT ωT

θG ωG

TT

TG

IG

VG KT q1

DT

RV V

Turbina JT

LG

K bω

LV

Generador DC en paralelo

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

Problema 2.10 Proceso Electromec´ anico En el proceso electromec´anico 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´alidas: u = Ae = A(Ref − θ) = RIa + L

dIa + Vb dt

V b = K b ωm Tm = Km Ia = KT (θm − θ) dω KT (θm − θ) = J + fr dt d2 x dx f = M 2 +B dt dt dθ x = rθ ω= dt

ωm =

00?> AB1010 ?> @AB1010 ?> @AB1010 ?> @ AB 001010 C1010 C1010 CC 676 76 010 10 2210 ./ 3232 3232 :3232 89;: 89;: 223232 0.8, tal como se muestra en la Fig. 5.27(b). 2. Respuesta aperi´odica sin sobrenivel en la salida yd controlada a cambios tipo escal´on del disturbio d, sin presencia de la entrada r, y para un coeficiente de

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

101

amortiguamiento ζ > 0.8, tal como se muestra en la Fig. 5.27(c). Observar que en esta situaci´on existe rechazo al disturbio, dado que yd tiende a cero. 3. Respuesta peri´odica con sobrenivel del 20 % en la salida controlada y a cambios tipo escal´on 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´odica con sobrenivel del 20 % en la salida yd controlada a cambios tipo escal´on del disturbio d, sin presencia de la se˜ nal r, y para un coeficiente de amortiguamiento de 0.4 < ζ < 0.8, tal como se muestra en la Fig. 5.27(e). Observar que en esta situaci´on tambi´en existe rechazo al disturbio, ya que y d tiende a cero. d D r

t r

R

PID

e

t

Proceso

u

(a)

y

y

y R

d

R d=0

d=0 t

t (d)

(b) y d

y d

r=0

r=0

D t (c)

D

t (e)

Fig. 5.27: M´etodo de Chien–Hrones–Reswick.

Ejemplo 5.10 Controlar el proceso nivel del ejemplo 5.9 empleando el m´etodo de Chien–Hrones– Reswick para el caso de rechazo al disturbio (r=0 y d 6= 0) sin presencia de oscilaciones en la respuesta del proceso (Fig. 5.27(c)). Para prop´ositos de comparaci´on usar los controladores PID(s) (ecuaci´on (5.35)), PI D(s) (ecuaci´on (5.36)) y PI Dy(s) (ecuaci´on (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´ on: Los par´ametros τ = 1 y T = 30 − τ se obtuvieron con el primer gr´afico de la Fig. 5.26. Con estos valores se calculan los par´ametros del controlador empleando la Tabla 5.5 (caso (c), controlador PID). La Fig. 5.28 ilustra la comparaci´on entre

102

Control PID SISO

Tabla 5.5: M´etodo de Chien–Hrones–Reswick para determinar K C , TI y TD . Tipo

Controlador GC (s)

P

Kc

PI

PID



Kc 1 +

 Kc 1 +

1 Ti s

1 Ti s



+ Td s



Caso (b): ζ > 0.8 d=0

Caso (c): ζ > 0.8 r=0

Caso (d): 0.4< ζ < 0.8 d=0

Caso (e): 0.4< ζ < 0.8 r=0

Kc = 0.3/a Ti = ∞ Td = 0

Kc = 0.3/a Ti = ∞ Td = 0

Kc = 0.7/a Ti = ∞ Td = 0

Kc = 0.7/a Ti = ∞ Td = 0

Kc = 0.35/a

Kc = 0.6/a

Kc = 0.6/a

Kc = 0.7/a

Ti = 1.2T Td = 0

Ti = 4τ Td = 0

Ti = T Td = 0

Ti = 2.3τ Td = 0

Kc = 0.6/a

Kc = 0.95/a

Kc = 0.95/a

Kc = 1.2/a

Ti = T Td = 0.5τ

Ti = 2.4τ Td = 0.42τ

Ti = 1.4T Td = 0.47τ

Ti = 2τ Td = 0.42τ

las salidas controladas, las cuales se obtienen ejecutando el programa chrd.m listado abajo. % chrd.m CONTROL PID, PI_D Y PI_Dy POR EL M´ ETODO CHR (RECHAZO AL DISTURBIO) clear all; close all; clc; s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1); [num,den]=pade(1,3); Gtau=num/den; Gp=GH*Gtau*GT; Kp=31.5; % Kp=10*31.5 tau=2; T=30-tau; % TOMADOS DE LA CURVA DE REACCI ´ ON a=Kp*tau/T; Kc=0.95/a; Ti=2.4*tau; Td=0.42*tau; N=10; % PAR ´ AMETROS PID Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp,Gc1*GF); % CONTROL PID Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp,Gc2*GF); % CONTR PI_D Gci=Kc*(1+1/Ti/s); Gcd=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´ etodo de Cohen–Coon El m´etodo de sintonizaci´on desarrollado por los investigadores G.H. Cohen y G.A. Coon [15] tambi´en se aplica a procesos que aceptan un modelo din´amico como el de la ecuaci´on (5.33). Las f´ormulas de sintonizaci´on se muestran en la Tabla 5.6, donde: a=

Kp τ T

L=

τ τ +T

(5.38)

Notar que las f´ormulas de la Tabla 5.6 se asemejan a las de la Tabla 5.4 cuando L es suficientemente peque˜ no. Ejemplo 5.11 Se pide controlar el proceso nivel descrito en el ejemplo 5.9 empleando el m´etodo de Cohen–Coon. El diagrama de bloques del sistema nivel se muestra en la Fig. 5.25(a).

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

103

Disturbio d Actuador

r=0

Controlador

v

d Flotador

(a)

e

d

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

u

GC (s)

GF (s)

Controlador

Flotador

y

(b)

u

d

e −sτ

G H(s)

GT (s)

Actuador

y

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´etodo de Cohen y Coon para hallar los par´ametros K C , TI y TD . Tipo

Controlador GC (s)

P PI PD PID

Kc 

Kc 1 +

1 Ti s



Kc (1 + Td s)   Kc 1 + T1i s + Td s

100 Kc = BP   1 0.35L 1 + a 1−L   0.9 0.92L 1 + a 1−L   1.24 0.13L 1 + a 1−L   1.35 0.18L 1 + a 1−L

Ti

Td



0

3.3−3L 1+1.2L

τ



2.5−2L 1−0.39L

τ

0 0.27−0.36L 1−0.87L τ 0.37−0.37L 1−0.8L τ

Para prop´ositos de comparaci´on 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

SALIDA

1 0.8 0.6

PI__Dy

0.4

PID y PI__D

0.2 0 −0.2 −0.4

0

10

20

30 40 TIEMPO (sec)

50

60

70

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

Soluci´ on: Los par´ametros τ = 1 y T = 30 − τ se obtuvieron del primer gr´afico de la Fig. 5.26. Con estos valores se calculan los par´ametros del controlador empleando la Tabla 5.6. La Fig. 5.30 muestra las salidas controladas. SALIDAS CONTROLADAS 1.8 1.6 1.4

SALIDA

1.2

PI__Dy 1 0.8

PID y PI__D

0.6 0.4 0.2 0

0

5

10

15 20 TIEMPO (sec)

25

30

35

Fig. 5.30: Respuestas controladas empleando controladores tipo PID, PI D y PI Dy y el m´etodo de Cohen-Coon.

% cohen.m CONTROL PID, PI_D Y PI_Dy EMPLEANDO EL M ´ ETODO DE COHEN-COON clear all; close all; clc; s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1); [num,den]=pade(1,3); Gtau=num/den; Gp=GH*Gtau*GT; Kp=31.5; % K=10*31.5 tau=1; T=30-tau; % TOMADOS DE LA CURVA DE REACCI ´ ON a=Kp*tau/T; L=tau/(tau+T); Kc=1.35/a*(1+0.18*L/(1-L)); Ti=(2.5-2*L)*tau/(1-0.39*L); Td=(0.37-0.37*L)*tau/(1-0.8*L); N=10; % PID

5.6 M´ etodos de Sintonizaci´ on 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´ etodos a Lazo Cerrado

Los m´etodos de sintonizaci´on que emplean la curva de reacci´on del proceso, se dise˜ nan a lazo abierto. En cambio, otros m´etodos de sintonizaci´on emplean ciertas caracter´ısticas que s´olo se presentan cuando el proceso est´a operando a lazo cerrado. Algunos de estos m´etodos se describen a continuaci´on.

M´ etodo de Samal El m´etodo de sintonizaci´on de par´ametros de Samal [16] est´a dise˜ nado para rechazar los disturbios que act´ uan principalmente en la se˜ nal de control, tal como se muestra en la Fig. 5.31(a), donde el rechazo al disturbio se manifiesta porque la se˜ nal de salida y controlada tiende a cero para un tiempo de estabilizaci´on T s y un sobrenivel de magnitud M . El proceso al cual se aplican los par´ametros del controlador PID, poseen un modelo de FT de la forma: Gp (s) =

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

(5.39)

donde los par´ametros 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´on, mientras que la Fig. 5.31(e) se emplea para determinar T s . Ejemplo 5.12 Controlar el siguiente proceso empleando el m´etodo de Samal: Gp(s) =

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

donde: [T1 , T2 , T3 , T4 ] = [1, 1.5, 2, 2.5]. Para prop´ositos de comparaci´on emplear los controladores PID ideal (ecuaci´on (5.35)), no interactivo (ecuaci´on (5.36)) y mejorado (ecuaci´on (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

D 0

r=0

e

P, I, PI, PID

(a) y

d

t

(1+Ts) n

u

PI Vo

20

4

16

3

P 12

2

8

1 I 1

2

3

4

(c)

5 I

Vo

4

3 2

PI

PID

4

1

0

0

n

2

3

4

Ts T

0.8

I

0.6

PI

0.4

16

I

12

P

PI PID

PID

0.2

4

P 2

n

20

8

1

0

(e)

1

0

2 Td T 1

PID PID

1

D

3

I

(d) M Kp D

5

4 Ti T

t

Ts

0

(b) 5

M

D

y

Kp

3

4

n

0

1

2

3

4

n

Fig. 5.31: M´etodo de Samal para hallar los par´ametros de un controlador PID.

Soluci´ on: El gr´afico superior de la Fig. 5.32 muestra la respuesta al escal´on (la curva de reacci´on) del proceso. De esta curva se obtienen los par´ametros τ = 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´afico inferior de la Fig. 5.32 ilustra la comparaci´on entre las salidas controladas. Tales resultados se obtienen ejecutando el programa samal1.m listado abajo. % samal1.m CONTROL PID, PI_D Y PI_Dy EMPLEANDO EL M ´ ETODO DE SAMAL clear all; close all; clc; Kp=10; Tb=1; Tc=1.5; Td=2; Te=2.5; s=tf(’s’); Gp=Kp/(s+Tb)/(s+Tc)/(s+Td)/(s+Te); subplot(211); step(Gp,’k’); grid;

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

107

RESPUESTA AL ESCALÓN

AMPLITUD

1.5

1

0.5

0

0

1

2

3

4 5 TIEMPO (sec)

6

7

8

9

45

50

SALIDAS CONTROLADAS 1.5

SALIDA

PI__Dy 1

0.5

PID y PI__D 0

0

5

10

15

20 25 30 TIEMPO (sec)

35

40

Fig. 5.32: Respuesta al escal´on (Fig. inferior) y respuestas controladas (Fig. superior) empleando controladores tipo PID, PI D y PI Dy y el m´etodo de Samal.

´N’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); title(’RESPUESTA AL ESCALO % tau=0.8; T=3.9-tau=3.1; % tau/T=0.258 => n=3 => Tn/tau=0.270 % Gm(s)=Kp/(Tn*s+1)^n % MODELO DEL PROCESO SEG ´ UN SAMAL Tn=0.216; Vo=2; Kc=Vo/Kp; Ti=1.8*Tn; Td=0.7*Tn; N=10;% PAR ´ AMETROS PID Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1); % CONTROL PID Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); % CONTR PI_D Gci=Kc*(1+1/Ti/s); Gcd=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´ etodo de la Oscilaci´ on Cr´ıtica de Ziegler y Nichols El m´etodo de la oscilaci´on cr´ıtica de Ziegler y Nichols [12] emplea la configuraci´on de un sistema de control a lazo cerrado y se puede aplicar tanto a sistemas que son modelados con la ecuaci´on (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´ametros Kc , Ti y Td del controlador PID se pueden obtener a partir de tal respuesta oscilatoria, empleando el siguiente procedimiento: Fijar los par´ametros Ti y Td en ∞ y 0, respectivamente. Incrementar poco a poco el par´ametro Kc hasta obtener una respuesta en forma de oscilaciones sostenidas (ver la Fig. 5.33). En dicha respuesta, medir el per´ıodo de oscilaci´on 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´ametros Kc , Ti y Td se calculan luego usando la Tabla 5.7.

Es necesario hacer notar que la magnitud de la oscilaci´on sostenida, lo que es equivalente a decir la magnitud de variaci´on de la variable de salida, debe ser mantenida la m´as peque˜ na posible para evitar problemas en la variable controlada. r

r

K crit

e

PID

u

Proceso

R

y

y R T crit t

t

Fig. 5.33: M´etodo de la oscilaci´on cr´ıtica de Ziegler y Nichols.

Tabla 5.7: M´etodo de la oscilaci´on cr´ıtica de Ziegler y Nichols para determinar los par´ametros Kc , Ti y Td . Tipo P PI PID

Controlador Gc (s) 

Kc



Kc 1 + T1i s   Kc 1 + T1i s + Td s

100 BP

Ti

Td

0.5Kcrit



0

0.45 Kcrit

0.85 Tcrit

0

0.6 Kcrit

0.5 Tcrit

0.125 Tcrit

Kc =

Ejemplo 5.13 Controlar el proceso nivel del problema 5.9 empleando la t´ecnica de las oscilaci´on cr´ıtica de Ziegler y Nichols. Para prop´ositos de comparaci´on emplear los controladores PID ideal (ecuaci´on (5.35)), no interactivo (ecuaci´on (5.36)) y mejorado (ecuaci´on (5.29)). Para el control PID y PI D emplear el diagrama de bloques de la Fig. 5.1(b), mientras que para el control PI Dy usar el diagrama de bloques de la Fig. 5.1(c). Soluci´ on: El primer gr´afico de la Fig. 5.34 muestra la respuesta al escal´on a manera de una oscilaci´on 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´on posee un per´ıodo igual a Tcrit = 8 s. Con estos valores se calculan los par´ametros del controlador PID empleando la Tabla 5.7. El segundo gr´afico de la Fig. 5.34 ilustra la comparaci´on entre las salidas controladas. Tales resultados se obtienen ejecutando el programa zn2.m listado abajo. ´N CRI ´TICA % zn2.m CONTROL PID, PI_D Y PI_Dy MEDIANTE LA OSCILACI O clear all; close all; clc; s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1);

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

109

OSCILACIÓN CRÍTICA

AMPLITUD

2

Tcrit

1.5 1 0.5 0

0

2

4

6

8

10 12 TIEMPO (sec)

14

16

18

20

SALIDAS CONTROLADAS

SALIDA

2

PI__Dy

1.5 1 0.5 0

PID y PI__D 0

10

20

30 TIEMPO (sec)

40

50

60

Fig. 5.34: Oscilaciones sostenidas (primer gr´afico) para Kp = Kcrit y respuestas controladas (gr´afico 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´ ON CR´ ITICA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); Tcrit=4.25; % TOMADOS DE LA OSCILACI´ ON SOSTENIDA Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PAR ´ AMETROS PID Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,GF); % CONTROL PID Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,GF); % CONT PI_D Gci=Kc*(1+1/Ti/s); Gcd=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´ecnica de las oscilaciones sostenidas de Ziegler y Nichols. Gp (s) =

1 s(s + 1)4

Para prop´ositos de comparaci´on emplear los controladores PID ideal, PI D no interactivo y PI Dy mejorado.

110

Control PID SISO

Soluci´ on: El primer gr´afico de la Fig. 5.35 muestra la respuesta al escal´on a manera de una oscilaci´on sostenida que se obtiene empleando un controlador proporcional de ganancia GC (s) = Kcrit = 0.569. Notar que la oscilaci´on posee un per´ıodo igual a τcrit = 15 s. Con estos valores se calculan los par´ametros del controlador PID empleando la Tabla 5.7. El segundo gr´afico de la Fig. 5.35 ilustra la comparaci´on entre las salidas controladas. Tales resultados se obtienen ejecutando el programa zn2a.m listado abajo.

OSCILACIÓN CRÍTICA

AMPLITUD

2

Tcrit

1.5 1 0.5 0

0

5

10

15

20 25 30 TIEMPO (sec)

35

40

45

50

SALIDAS CONTROLADAS

SALIDA

2 1.5

PI__Dy

1

PID y PI__D

0.5 0

0

10

20

30 TIEMPO (sec)

40

50

60

Fig. 5.35: Oscilaciones sostenidas (primer gr´afico) para Kp = Kcrit y respuestas controladas (gr´afico inferior) para el ejemplo 5.14.

% zn2a.m CONTROL PID, PI_D Y PI_Dy MEDIANTE LA OSCILACI ´ ON CR´ ITICA 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´ ON CR´ ITICA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); Tcrit=15; % TOMADO DE LA OSCILACI´ ON SOSTENIDA Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PAR ´ AMETROS PID Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1); % CONTROL PID Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); % CONTR PI_D Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); 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´ etodos de Sintonizaci´ on de Controladores PID

111

M´ etodo de la Oscilaci´ on Cr´ıtica de Yu Las siguientes reglas de sintonizaci´on 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´on de la Fig. 5.1(a). El controlador empleado es el denominado cl´asico generalizado, cuya FT es: !  bf 0 + bf 1 s + bf 2 s2 u(s) 1 Td s Gc (s) = = Kc 1 + + e(s) Ti s 1 + TNd s 1 + a f 1 s + a f 2 s2 Las reglas son: Kc = 0.3Kcrit

Ti = 2.3τcrit

Td = 0

Ejemplo 5.15 Controlar el proceso Gp (s) = 2e−2s empleando la t´ecnica de la oscilaci´on cr´ıtica y las reglas de sintonizaci´on arriba formuladas. Soluci´ on: El primer gr´afico de la Fig. 5.36 muestra la respuesta al escal´on a manera de una oscilaci´on sostenida que se obtiene empleando un controlador proporcional de ganancia GC (s) = Kcrit = 0.45 usando la configuraci´on de la Fig. 5.33. Notar que la oscilaci´on posee un per´ıodo igual a τcrit = 4 s. Con estos valores se calculan los par´ametros del controlador PID empleando: Kc = 0.3Kcrit

Ti = 2.3τcrit

Td = 0

El segundo gr´afico 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 ´ ON CR´ ITICA clear all; close all; clc; s=tf(’s’); Kp=2; af1=1; af2=1; bf0=1; bf1=1; bf2=1; [num,den]=pade(2,3); Gtau=tf(num,den); Gp=Kp*Gtau; % Gp: PROCESO Kcrit=0.45; G_c0=feedback(Kcrit*Gp,1); subplot(211); step(G_c0,’k’); grid; title(’OSCILACI´ ON CR´ ITICA’); xlabel(’TIEMPO’);ylabel(’AMPLITUD’); Tcrit=4; % TOMADO DE LA OSCILACI´ ON CR´ ITICA Kc=0.3*Kcrit; Ti=2.3*Tcrit; Td=0; N=3; % PAR ´ AMETROS PID Gc1=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); Gc2=(bf0+bf1*s+bf2*s^2)/(1+af1*s+af2*s^2); Gc=series(Gc1,Gc2); PID=feedback(Gp*Gc,1); subplot(212); step(PID,’k’); xlabel(’TIEMPO’); grid; title(’SALIDA CONTROLADA’); ylabel(’SALIDA’); print -deps -f yu1

M´ etodo del Rel´ e El m´etodo de la oscilaci´on 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´actica, tambi´en, resulta muy dificultoso mantener la amplitud constante. Una variante de este m´etodo se muestra en la Fig. 5.37 [17], en donde se emplea un rel´e para conseguir una oscilaci´on sostenida de per´ıodo Tcrit pero de peque˜ na amplitud a, para una ganancia Kcrit = 4L/(π a), donde L es la ganancia del rel´e. Teniendo como datos Tcrit y Kcrit se puede ahora usar la Tabla 5.7.

112

Control PID SISO

OSCILACIÓN CRÍTICA

AMPLITUD

5

0

Tcrit −5

−10

0

10

20

30 TIEMPO (sec)

40

50

60

SALIDA CONTROLADA

SALIDA

1

0.5

0

−0.5

0

50

100 150 TIEMPO (sec)

200

250

Fig. 5.36: Oscilaciones sostenidas (primer gr´afico) para Kp = Kcrit y respuesta controlada (gr´afico inferior) para el ejemplo 5.15.

r

e

+L

−L

a

y

u

u e

Gp(s) Proceso

Relé

t

y Tcrit

Fig. 5.37: Diagrama de bloques del proceso realimentado empleado en el m´etodo de sintonizaci´on mediante rel´e.

Ejemplo 5.16 Controlar el siguiente proceso no autoregulado empleando la t´ecnica del rel´e: Gp (s) =

1 s(s + 1)4

Para prop´ositos de comparaci´on emplear los controladores PID, PI D y PI Dy. Tambi´en determinar las ecuaciones de estado del sistema. Soluci´ on: La primera parte del programa relay.m listado abajo, el cual usa el diagrama de bloques de la Fig. 5.37, permite obtener el primer y segundo gr´afico de la Fig. 5.39 para una magnitud del rel´e de L = 0.1. El diagrama de bloques de la Fig.

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

113

5.38 se emplea para determinar las cinco ecuaciones de estado del proceso: x˙ 1 = −x1 + x2 x˙ 3 = −x3 + x4

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

x˙ 5 = u

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

1 s

x5

x4 1 s+1

1 s+1

x3

1 s+1

x2

1 s+1

x1 = y

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

SALIDA y

2 Tcrit 1

CONTROL u

0

a 0

10

20

30

40 TIEMPO

50

60

70

80

30

40 TIEMPO

50

60

70

80

0.1 +L

0 −0.1

0

−L 10

20

SALIDAS CONTROLADAS SALIDA

2

PI__Dy

1

PID y PI__D 0

0

10

20

30

40 50 60 TIEMPO (sec)

70

80

90

100

1 Fig. 5.39: Respuesta de Gp (s) = s(s+1) on empleando un rel´e (gr´afico supe4 al escal´ rior), ley de control u (gr´afico medio) y respuestas estabilizadas (gr´afico inferior).

114

Control PID SISO

´ COMO CONTROLADOR % relay.m RESPUESTA A LAZO CERRADO CON UN REL E clear all; close all; clc; % PROGRAMA PARA PRODUCIR LA OSCILACI´ ON 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 ´ ON r Y ERROR e if(e>=0), u=L; else u=-L; end % FUNCI´ ON REL´ E U(k)=u; % LEY DE CONTROL u x1=x1+T*(-x1+x2); x2=x2+T*(-x2+x3); x3=x3+T*(-x3+x4); x4=x4+T*(-x4+x5); x5=x5+T*u; X1(k)=x1; % SALIDA DEL PROCESO end ejet=linspace(0,M*T,M); subplot(311); plot(ejet,R,’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 ´ ON SOSTENIDA KC=0.6*Kcrit; TI=0.5*Tcrit; TD=0.125*Tcrit; N=10; % PAR ´ AMETROS PID Gc1=KC*(1+1/TI/s+TD*s); PID=feedback(Gp*Gc1,1); % CONTROL PID Gc2=KC*(1+1/TI/s+TD*s/(1+TD*s/N)); PI_D=feedback(Gp*Gc2,1); % CONTR PI_D Gci=KC*(1+1/TI/s); Gcd=Kc*TD*s/(1+TD*s/N); 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´ etodo de las Oscilaciones Amortiguadas El m´etodo de las oscilaciones amortiguadas propuesto en [18], se conoce tambi´en como el m´etodo TDQR (Tuning for Quarter Decay Response) o sintonizaci´on para un decaimiento de un cuarto de la respuesta. Este m´etodo se aplica a procesos que pueden ser modelados en la forma dada en la ecuaci´on (5.33) y tambi´en a otros procesos no autoregulados. En ambos casos, la respuesta al escal´on a lazo cerrado, debe ser de modo tal que el segundo m´aximo sea un cuarto del primer m´aximo, 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´ametros de sintonizaci´on del controlador se obtienen luego de la Tabla 5.8. r

r

R

e

Ko PID

u

Proceso

y

To

y R

A A/4

t

t

Fig. 5.40: M´etodo de las oscilaciones amortiguadas de Harriot. Ejemplo 5.17 Controlar el proceso nivel del ejemplo 5.9 empleando la t´ecnica de las oscilaciones amortiguadas de Harriot. Para prop´ositos de comparaci´on emplear los controladores PID (ecuaci´on (5.35)), PI D (ecuaci´on (5.36)) y PI Dy (ecuaci´on (5.37)), empleando las estructuras (a) y (b) de la Fig. 5.1.

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

115

Tabla 5.8: M´etodo de las oscilaciones amortiguadas de Harriot para hallar los par´ametros Kc , Ti y Td . Tipo

Controlador Gc (s)

P PI PID



Kc



Kc 1 + T1i s   Kc 1 + T1i s + Td s

Kc =

100 BP

Ti

Td

Ko



0

Ko

To /1.5

0

Ko

To /1.5

To /6

Soluci´ on: El primer gr´afico de la Fig. 5.41 muestra la respuesta al escal´on en donde el segundo m´aximo de la oscilaci´on es un cuarto del primer m´aximo, 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´on posee un per´ıodo igual a To = 10 s. Con estos valores se calculan los par´ametros del controlador PID empleando la Tabla 5.8. El segundo gr´afico de la Fig. 5.41 ilustra la comparaci´on entre las salidas controladas. Tales resultados se obtienen ejecutando el programa harriot.m listado abajo. OSCILACIÓN SOSTENIDA

AMPLITUD

1.5 1

A

0.5

A/4

0 −0.5

0

2

4

6

8

10 12 TIEMPO (sec)

14

16

18

20

SALIDAS CONTROLADAS 2

SALIDA

PI__Dy 1

PID PI__D

0

−1

0

5

10

15 20 TIEMPO (sec)

25

30

35

Fig. 5.41: Oscilaciones amortiguadas (gr´afico superior) para K c = Ko y respuestas controladas (gr´afico inferior) para el ejemplo 5.17.

% harriot.m CONTROL PID, PI_D Y PI_Dy MEDIANTE EL M ´ ETODO 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´ ON SOSTENIDA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); To=10; Kc = Ko; Ti=To/1.5; Td=To/6; N=10; % PAR ´ AMETROS PID Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,GF); % CONTROL PID 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´ecnica de las oscilaciones amortiguadas de Harriot. 1 Gp (s) = s(s + 1)4 Para comparaci´on emplear los controladores PID (ecuaci´on (5.35)), PI D (ecuaci´on (5.36)) y PI Dy (ecuaci´on (5.37)), usando las estructuras (a) y (b) de la Fig. 5.1. Soluci´ on: El primer gr´afico de la Fig. 5.42 muestra la respuesta al escal´on como una oscilaci´on sostenida que se obtiene v´ıa un controlador proporcional de ganancia GC (s) = Kcrit = 0.569. Notar que la oscilaci´on posee un per´ıodo de τcrit = 15 s. Con estos valores se calculan los par´ametros del controlador PID empleando la Tabla 5.7. El segundo gr´afico de la Fig. 5.42 ilustra la comparaci´on entre las salidas controladas. Tales resultados se obtienen ejecutando el programa zn2.m listado abajo. % harriota.m CONTROL PID, PI-D Y PI-Dy MEDIANTE OSCILACI ´ ON AMORTIGUADA clear all; close all; clc; s=tf(’s’); Gp=1/(s*(s+1)^4); Ko=0.3; G_c0=feedback(Ko*Gp,1); subplot(211); step(G_c0,’k’,50); grid; title(’OSCILACI´ ON AMORTIGUADA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); To=20; % TOMADO DE LA OSCILACI´ ON AMORTIGUADA Kc=Ko; Ti=To/1.5; Td=To/6; N=10; % PAR´ AMETROS PID Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1); % CONTROL PID Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); %CONTROL PI_D subplot(212); step(PID,’k’,PI_D,’k’); grid; title(’SALIDAS CONTROLADAS’); xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f harriota

5.6.3.

M´ etodos Basados en la Minimizaci´ on de un ´Indice

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˜ nal 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 r(s); e(t) = L−1 [e(s)] e(s) = r(s)−y(s) = r(s)−H(s)G(s)e(s); e(s) = 1 + GH(s) (5.40)

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

117

OSCILACIÓN AMORTIGUADA

AMPLITUD

1.5

1

A A/4

0.5

0

0

5

10

15

20 25 30 TIEMPO (sec)

35

40

45

50

SALIDAS CONTROLADAS

SALIDA

1.5

1

PID PI__D

0.5

0

0

10

20

30 TIEMPO (sec)

40

50

60

Fig. 5.42: Oscilaciones sostenidas (gr´afico superior) para KC = Ko y respuestas controladas (gr´afico inferior) para el ejemplo 5.18.

La idea principal en los m´etodos de sintonizaci´on basados en criterios o´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´en involucrados tanto el tiempo continuo t como el error e(t). Los ´ındices de rendimiento m´as 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´ormulas de dichos ´ındices son: Z ∞ Z ∞ Z ∞ 2 t|e(t)|dt |e(t)|dt IT AE = e (t)dt IAE = ISE = 0

0

0

IST E =

Z

∞ 0

2

t e(t)dt

2

IST E =

Z

∞ 0

t2 e2 (t)dt

(5.41)

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´ametro del cual se desea determinar su valor extremo; por ejemplo, el par´ametro Ti de un controlador PID. A continuaci´on se presentan algunas reglas de sintonizaci´on basados en diversos ´ındices de rendimiento.

M´ etodo de Shinskey Las reglas de sintonizaci´on 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´on 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´etodo M´ınimo ITAE M´ınimo ITAE M´ınimo ITAE

Controlador Gc (s)

Kc

Ti

Td

1

Indefinido 0.4

1.6Kp τ

0

Kp

0.5τ

0

0.2635 Kp

0.361τ

0.1911τ

 Ti s  Kc 1 + T1i s   Kc 1 + T1i s + Td s

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´ on: La Fig. 5.44 muestra la respuesta controlada, resultado que se obtienen ejecutando el programa shinskey.m listado abajo. % shinskey.m CONTROL PI USANDO ITAE clear all; close all; clc; s=tf(’s’); Kp=2; tau=2; [num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s) Gp=Kp*Gtau; % Gp: PROCESO Kc=0.4/Kp; Ti=0.5*tau; Td=0; % PAR´ AMETROS PID Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID step(PID,’k’); grid; title(’CONTROL DE G(s)=Kp*exp(-tau*s) USANDO ITAE’); xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f shinskey

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

119

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

1

0.8

0.6

SALIDA

0.4

0.2

0

−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´ etodo de Wang–Juang–Chan Las f´ormulas de sintonizaci´on de Wang–Juang–Chan (citadas en [19]) se basan en el criterio de optimizaci´on de IT AE y se pueden aplicar a procesos que aceptan un modelo din´amico como el de la ecuaci´on (5.33). Estas f´ormulas son: Kc =

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

Ti = T + 0.5τ ;

Td =

0.5τ T T + 0.5τ

(5.42)

Metodo de Zhuang y Atherton El m´etodo 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´ormulas de sintonizaci´on que se pueden aplicar a procesos que aceptan un modelo din´amico como el de la ecuaci´on (5.33). El dise˜ no del sistema de control emplea la configuraci´on de la Fig. 5.1(a). Por otro lado, prescindiendo de la ganancia Kc de la parte derivativa del controlador PID mejorado dado en (5.37), el algoritmo de control toma la forma: u(s) = Kc e(s) +

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

(5.43)

La Tabla 5.11 muestra las reglas de sintonizaci´on para el controlador descrito en (5.43). Tales reglas se pueden aplicar a procesos que aceptan un modelo din´amico como el de la ecuaci´on (5.33). El dise˜ no del sistema de control emplea la configuraci´on 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´ on: 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´etodo de Zhuang y Atherton para determinar Kc , Ti y Td en un controlador ideal. Rango de τ /T Tipo

0.1< τ /T T σ Tσ = Σ µ t µ

Tσ = Σ µ t µ ; T 2 > T σ

 Kc 1 +

1 Ti s



(1 + Td s)

(1 + Td s)

Kc

Ti

T1 2Kp Tσ

4Tσ

T1 2Kp Tσ

4Tσ

1 2Kp Tσ

4Tσ

1 2Kp Tσ

4Tσ

Td

T2

T2

Ejemplo 5.21 Empleando el m´etodo de Kessler controlar un avi´on–helic´optero cuya din´amica simplificada se puede representar como: 1 Gp(s) = (1 + 20s)(1 + 10s)(1 + 0.5s) Soluci´ on: La FT del proceso, que es de tercer orden, se puede formular como: Gp(s) =

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

AMPLITUD

0.8 0.6 0.4 0.2 0

0

20

40

60

80 100 TIEMPO (sec)

120

140

160

180

SALIDA CONTROLADA 1.5

SALIDA

1

0.5

0

0

2

4

6 TIEMPO (sec)

8

10

12

Fig. 5.46: Respuesta al escal´on (gr´afico superior) y respuesta controlada (gr´afico inferior) empleando un controlador PID de acuerdo al m´etodo de Kessler.

´TODO DE KESSLER % kessler2.m CONTROL PID EMPLEANDO EL ME clear all; close all; clc; Kp=1; T1=20; T2=10; mu=1; tmu=0.5; Tsigma=tmu; s=tf(’s’); Gp=Kp/(1+T1*s)/(1+T2*s)/(1+tmu*s); % PROCESO subplot(211); step(Gp); grid; title(’RESPUESTA AL ESCAL´ ON’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); Kc=T1/(2*Kp*Tsigma); Ti=4*Tsigma; Td=T2; Gc=Kc*(1+1/Ti/s)*(1+Td*s); PID=feedback(Gp*Gc,1); % CONTROL PID subplot(212); step(PID); grid; title(’SALIDA CONTROLADA’); xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f kessler2

Ejemplo 5.22 Controlar un sistema posicionador empleando el m´etodo de Kessler, sabiendo que su FT es: 1 Gp(s) = s(1 + s)(5 + s) Soluci´ on: La FT del sistema se puede reformular como: Gp(s) =

Kp 0,2 Q = s(1 + s)(1 + 0,2s) s(1 + T2 s) µ (1 + tµ s)

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

123

Los par´ametros de este sistema son: Kp = 0.2, T2 = 1, µ = 1, tµ = t1 = Tσ = 0.2. Tambi´en se cumple que T2 > Tσ . De acuerdo a Kessler, el sistema se puede estabilizar con un controlador PID, tal como se verifica en la Fig. 5.47 (gr´afico 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´afico superior de la Fig. 5.47.

RESPUESTA AL ESCALÓN 300

AMPLITUD

250 200 150 100 50 0

0

500

1000

1500

TIEMPO (sec)

SALIDA CONTROLADA

SALIDA

1.5

1

0.5

0

0

0.5

1

1.5

2

2.5 TIEMPO (sec)

3

3.5

4

4.5

5

Fig. 5.47: Respuesta al escal´on (gr´afico superior) y respuesta controlada (gr´afico inferior) empleando un controlador PID de acuerdo al m´etodo de Kessler.

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

124

Control PID SISO

M´ etodo de Xue para Procesos con FT:

Kp s

e−τ s

El m´etodo de Xue se aplica a procesos que poseen una FT con parte proporcional, parte integral y tiempo muerto de la forma: G(s) =

Kp −τ s Y (s) = e U (s) s

(5.44)

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´ametros de los controladores PD y PID [22]: a1 Td = a 2 τ ControladorP D : Kc = Kp τ a3 ControladorP ID : Kc = Ti = a 4 τ Td = a 5 τ (5.45) Kp τ

Tabla 5.13: Par´ametros ai para calcular Kc , Ti y Td para el control de procesos tipo IPτ (ecuaci´on (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 Controlar el proceso con FT Gp (s) = el criterio ISE y un controlador PID.

Kp s

e−τ s , con Kp = 2, T = 20 y τ = 2 usando

Soluci´ on: 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

M´ etodo de Xue para Procesos con FT:

Kp s(T s+1)

e−τ s

La FT del siguiente proceso posee parte proporcional, parte integral, parte retardo de primer orden y tiempo muerto: G(s) =

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

(5.46)

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

125

CONTROL PID USANDO ISE 3

2

1

SALIDA

0

−1

−2

−3

−4

−5

0

5

10

15 TIEMPO (sec)

20

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

25

Kp s

30

35

e−τ s (ejemplo 5.23).

Debido a la presencia del integrador, los controladores PD y PID resultan los adecuados para controlar tales procesos. Las f´ormulas para determinar los par´ametros del controlador PD son [22]: Kc =

2 3Kp τ

Td = T τ

(5.47)

mientras que para el controlador PID, se tiene: "  0.65 # 1 1.111T T Ti = 2τ 1 + Kc = i2 h 2  0.65 Kp τ τ 1 + Tτ

Td =

Ti 4

(5.48)

Ejemplo 5.24

Controlar el proceso con FT Gp (s) =

Kp s(T s+1)

e−τ s , con Kp = 2, T = 2 y τ = 2.

Soluci´ on: La Fig. 5.49 muestra la respuesta controlada, resultado que se obtienen ejecutando el programa zh3.m listado abajo. % 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

M´ etodo de Xue para Procesos con FT:

Kp T s−1

e−τ s

La FT del siguiente proceso posee parte proporcional, parte integral, parte retardo de primer orden inestable y tiempo muerto: G(s) =

Kp y(s) = e−τ s u(s) Ts − 1

(5.49)

126

Control PID SISO CONTROL PID 1.6

1.4

1.2

SALIDA

1

0.8

0.6

0.4

0.2

0

−0.2

0

50

100

150

TIEMPO (sec)

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

Kp 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´as adecuado para controlar tales procesos. Las f´ormulas para determinar los par´ametros del controlador PID son [22]:   τ  b2  τ −0.02   τ γ a 1  τ  b1 Kc = Ti = a 2 T Td = a 3 T 1 − b 3 Kp T T T T (5.50) Los par´ametros ai , bi y γ se obtienen de la Tabla 5.14 para diferentes criterios. Tabla 5.14: Par´ametros ai para calcular Kc , Ti y Td para el control de procesos tipo IPT1 τ inestables (ecuaci´on (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 Controlar el proceso con FT Gp (s) =

Kp T s−1

e−τ s , con Kp = 2, T = 2 y τ = 2.

Soluci´ on: La Fig. 5.49 muestra la respuesta controlada, resultado que se obtienen ejecutando el programa zh3.m listado abajo. % zh4.m CONTROL PI_D USANDO ISTSE clear all; close all; clc; s=tf(’s’); Kp=2; tau=2; T=2; N=10; a1=1.35; b1=0.95; a2=4.52; b2=1.13; a3=3.7; b3=0.86; gamma=0.97; [num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s) Gp=Kp/(T*s-1)*Gtau; % 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

6

5

4

SALIDA

3

2

1

0

−1

−2

−3

0

10

20

30 TIEMPO (sec)

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

Kp s−1

40

50

60

70

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´on pr´actica, la se˜ nal de salida del controlador debe de estar limitada por dos razones. La primera es que su magnitud no debe de exceder el rango permitido por el sistema de adquisici´on 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´on) que se explica a continuaci´on. 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´on en la se˜ nal de referencia r(t) (primer gr´afico), la se˜ nal de error positiva inicial (1 − y(t)) se hace bastante grande, provocando que la se˜ nal de control u(t) (segundo gr´afico) alcance r´apidamente el valor l´ımite de saturaci´on um . A pesar de que la se˜ nal de salida y(t) iguala al valor de referencia en el tiempo t1 , lo cual genera una se˜ nal de error (1 − y(t)) negativa debido al valor grande de la se˜ nal yi en la salida del integrador, la se˜ nal de control u(t) permanece en el valor de saturaci´on m´aximo u m . Esto causa que la salida y(t) se incremente continuamente hasta que se alcance el tiempo t 2 , y la acci´on negativa de la se˜ nal de error comience a tener efecto. Observar en el primer gr´afico de la Fig. 5.52 que el efecto windup provoca un aumento del sobreimpulso y del tiempo de estabilizaci´on en la se˜ nal controlada y(t). Si el algoritmo PID empleado es del tipo discreto, el fen´omeno windup no es tan notorio, a´ un cuando la se˜ nal de control est´e limitada, debido a que el algoritmo discreto no emplea la suma de los errores para generar el t´ermino integral del controlador. Lo

128

Control PID SISO

que se emplea es un c´alculo recursivo como veremos m´as adelante. windup .mdl ILUSTRA EL EFECTO WINDUP

yi Step =1 5 Kc=5

u

yi

u 1

10

1.12s

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

u

yi

um =3.5

Ti =1.12

Transfer Fcn y

t Clock

Scope

y

y

t

INTEGRADOR yi(t)

CONTROL u(t)

SALIDA y(t)

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

2 t1 1 0

0

2

4

TIEMPO [s]

6

8

10

6

8

10

6

8

10

4 t2 2 0

0

2

4

0

2

4

TIEMPO [s]

10 5 0

TIEMPO [s]

Fig. 5.52: Gr´aficos 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´etodos para eliminar en gran medida el efecto windup en sistemas de control que emplean controladores PID continuos [24], [24]. Uno de estos

5.7 El Efecto Windup

129

m´etodos se muestra en el diagrama Simulink de la Fig. 5.53, el cual muestra un controlador PID con mecanismo anti windup. Los par´ametros del controlador son los usuales: tiempo integral Ti , tiempo derivativo Td y ganancia proporcional Kc . La salida 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

rr

REF.

tt Clock

GANANCIA 1/Ti

rr 1 s

uu

INTEGRADOR

uu

1/1.2 1/Ti

1

0.1

0.5s+1

s4 +10s3 +35s2 +50s+24 SATURACIÓN

SISTEMA A CONTROLAR yy

du/dt

yy antiwindup .m CONTROLADOR PID CON MECANISMO ANTI WINDUP. EL FILTRO SE PUEDE SELECCIONAR A VOLUNTAD.

DERIVADOR

Td

FILTRO

Scope

10

1.3 Kc

tt

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

CONTROLADOR PID CON MECAISMO ANTI WINDUP

1.4

SALIDA y(t)

1.2 1 0.8 0.6 0.4 0.2 0

0

1

2

3

4

5 TIEMPO [s]

6

7

8

9

10

0

1

2

3

4

5 TIEMPO [s]

6

7

8

9

10

CONTROL u(t)

3 2.5 2 1.5 1

Fig. 5.54: Salida controlada y se˜ nal de control correspondiente a la Fig. 5.53.

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´atico, el valor de la se˜ nal de control u(t) puede cambiar de un valor a otro, no importando que la se˜ nal de error e sea cero. Este salto debe de evitarse y en este caso se dice que la conmutaci´on de manual a autom´atico debe de ser bumpless (sin saltos). Para lograr conmutaci´on sin saltos, el algoritmo de control debe de ejecutarse siempre, a´ un en el caso en que la operaci´on del sistema de control se encuentre en modo manual. Esta correcci´on se puede realizar en el correspondiente programa en tiempo real.

5.8.

El Algoritmo PID Discreto Modificado

La forma est´andar 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´ermino derivativo: d de(t) = (r(t) − y(t)) dt dt Este fen´omeno es conocido en ingl´es como derivative kick (puntapi´e derivativo) y su efecto se puede apaciguar si es que utilizamos como se˜ nal de entrada u ´nicamente la se˜ nal 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´on importante es filtrar la acci´on derivativa del controlador PID original mediante un filtro de primer (o segundo) orden para disminuir el ruido derivativo. Esta caracter´ıstica limita la amplificaci´on del ruido de medici´on de alta frecuencia en la salida del controlador. La se˜ nal de control ser´a as´ı menos ruidosa y la ganancia en alta frecuencia permanecer´a dentro de cotas apropiadas. Un t´ermino derivativo pr´actico, ya que un derivador puro no es realizable, puede aproximarse mediante un t´ermino de primer orden que posee una constante de tiempo Tf , el cual a menudo se normaliza con respecto al tiempo derivativo Td . Por consiguiente, el derivador puro del algoritmo PID se modifica como sigue: Td s 

Td s 1 + Tf s

Tf =

Td N

donde N es una constante que var´ıa de 3 a 10 y es conocida como la cota de la ganancia derivativa. Luego, el algoritmo PID toma la forma: u(s) = Kc e(s) +

K c Td s Kc e(s) − y(s) = P (s) + I(s) + D(s) Ti s 1 + Tf s

(5.51)

5.8 El Algoritmo PID Discreto Modificado

P (s) = Kc e(s)

I(s) =

Kc e(s) Ti s

131

D(s) = −

K c Td s y(s) 1 + Tf s

Tf =

Td N

Los t´erminos P , I y D representan las partes proporcional, integral y derivativa del controlador PID modificado, respectivamente. Sea k el tiempo discreto, el cual est´a relacionado con el tiempo continuo t mediante la relaci´on t = T k, donde T es el tiempo de muestreo o discretizaci´on. La parte proporcional P = Kc e(s) de (5.51) se discretiza directamente, obteni´endose: P = Kc e(k)

(5.52)

Para la parte integral I(s) = TKics e(s), o lo que es lo mismo: I(t) = empleamos la aproximaci´on trapezoidal (ver ejemplo A.46): k Kc X [e(i) + e(i − 1)] T I(k) = Ti 2 i=1

=

Kc Ti

Rt 0

e(t)dt

k−1 Kc X [e(i) + e(i − 1)] Kc T [e(k) + e(k − 1)] T + Ti 2 Ti 2 i=1

I(k) = I(k − 1) +

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

(5.53)

Kc T d s y(s) se puede escribir como: La parte derivativa D(s) = − 1+T f s

(1 + Tf s)D(s) = −Kc Td s y(s) ˙ D(t) + Tf D(t) = −Kc Td y(t) ˙

˙ y aproximando las derivadas D(t) e y(t) ˙ por atraso (desplazamiento de k hacia (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: D(k) =

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

Tf =

Td N

(5.54)

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´en se debe de incluir el efecto del limitador, basado en un modelo con presencia de saturaci´on con valores m´aximo 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˜ no, 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´alidas 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´etodo de la curva de reacci´on para hallar los par´ametros K c , Ki y Kd . Tipo

Controlador Gc (s)

P

Kc

PI PID

Kc + Kc +

Ki s

Ki s

+ Kd s

100 BP T 1 Kp τ +Ts 0.9 T Kp τ +0.5Ts − 0.5Ki 1.2 T Kp τ +Ts − 0.5Ki

Kc =

Ki = Kc /Ti

K d = K c Td

0

0

Ts T 0.27 Kp (τ +0.5Ts )2 Ts T 0.6 Kp (τ +0.5Ts )2

0 0.5 T Kp T s

Tabla 5.16: M´etodo de las oscilaciones sostenidas para hallar K c , Ti y Td . Tipo

Controlador Gc (s)

P

KC

PI

Kc +

PID

Kc +

Ki s

Kc =

100 BP

0.5Kcrit Ki s

+ Kd s

0.45 Kcrit − 0.5Ki 0.6 Kcrit − 0,5Ki

Ki = Kc /Ti

K d = K c Td



0

crit 0,54 K Tcrit

1.2

Kcrit Tcrit

0 0.075Kcrit

Tcrit Ts

Ejemplo 5.26 Controlar la posici´on angular x1 del manipulador MR1, empleando un algoritmo de control discreto PID. Dicho manipulador se describe en la subsecci´on 9.2.1. Sus ecuaciones de estado de segundo orden son: x˙ 1 = x2

x˙ 2 = −a1 senx1 − a2 x2 + bu

Soluci´ on: En el listado del programa pidposfijo.m se describen todos los par´ametros empleados en la ecuaci´on de estado. Ejecutando este programa se obtiene la respuesta pedida (Fig. 5.55). % pidposfijo.m CONTROL DE POSICI´ ON PID DEL MANIPULADOR MR1 clear all; close all; clc; % DATOS DEL SUBPROCESO MEC´ ANICO 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´ ECTRICO Km = 0.0436; Kb=0.0565; La = 0.004; Ra = 3.5; KA = 8.5; % ECUACI´ ON 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´ AMETROS PID T = 0.01; Nn = 10; Kp = 0.1; Ti = 0.4; Td = 0.01; Tf=Td/Nn; % CONDICIONES INICIALES

5.9 Problemas

133

Posición angular (rad)

1 0.8 0.6 0.4 0.2 0

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50 Tiempo [s]

60

70

80

90

100

Señal de control u (V)

0.5 0.4 0.3 0.2 0.1 0

Fig. 5.55: Posici´on 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 ´ ON 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´ on angular (rad)’) subplot(2,1,2); plot(ejex,U); grid; ylabel(’Se~ nal de control u (V)’) xlabel(’Tiempo [s]’); print -f -deps pidposfijo

5.9.

Problemas

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´amicos aproximados: GA (s) =

Kp −τ s e Ts + 1

134

Control PID SISO

GB (s) = GC (s) =

Ga (s) = Gc (s) = Ge (s) = Gg (s) = Gi (s) =

Kp τ ; ≥ 0.104 n (Tn s + 1) T Kp τ ; < 0.104 (T1 s + 1)(T2 s + 1) T

2 (s + 1)3 −3s + 2 (s + 1)3 −10s + 4 e−s/2 (s + 1)2 (s + 3)3 3 e−s (s + 1)(2s + 1) 7 e−30s (17s + 1)(6s + 1)3

Gb (s) =

4 (s + 1)5

s2 − 3s + 6 (s + 1)(s2 + 3s + 6)(s2 + s + 2) 6 Gf (s) = (s + 1)6 3 Gh (s) = e−2s (s + 1)4 3s + 6 Gj (s) = e−s/10 (s + 1)(4s + 1)

Gd (s) =

Problema 5.2 Realizar los controles PID, PI D y PI Dy de los procesos Ga (s) al Gj (s) en el dominio de s empleando MATLAB. Usar al menos tres distintas reglas de sintonizaci´on para cada proceso. El objetivo de control es que la se˜ nal controlada siga a una referencia 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´on, en lo posible distinta de las otras, para cada proceso. El objetivo de control es que la se˜ nal 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 dominio del tiempo discreto k=t/T (T es el tiempo de muestreo) empleando MATLAB. Usar al menos tres distintas reglas de sintonizaci´on para cada proceso. El objetivo de control es que la se˜ nal controlada (la salida) tienda a cero en presencia de un disturbio tipo escal´on a la entrada del proceso. En esta situaci´on, denominada rechazo al disturbio, la se˜ nal 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´on, en lo posible distinta de las otras, para cada proceso. El objetivo de control es que la se˜ nal controlada (la salida) tienda a cero en presencia de un disturbio tipo escal´on a la entrada del proceso. En esta situaci´on, denominada rechazo al disturbio, la se˜ nal de referencia es nula.

5.9 Problemas

135

Problema 5.6 Realizar los controles PI o PID seg´ un corresponda, de los procesos G k (s) al Gt (s) empleando el m´etodo de Kessler. Gk (s) = Gl (s) = Gm (s) = Gn (s) = Go (s) = Gp (s) = Gq (s) = Gr (s) = Gs (s) = Gt (s) =

2 (1 + 20s)(1 + 0.1s)3 (1 + 0.3s)3 9 (1 + 20s)(1 + 30s)(1 + 0.2s)4 (1 + 0.5s)2 2 s(1 + s)3 (1 + 2s)2 8 s(1 + 20s)(1 + 0.1s)3 (1 + 0.3s)3 5 (1 + 0.1s)(1 + 0.2s)(1 + 30s)(1 + 0.3s)2 (1 + 0.5s)2 3 s(1 + s)(1 + 2s)(1 + 40s)(1 + 0.2s)4 (1 + 0.5s)3 6 (1 + s)(1 + 2s)(1 + 40s)(1 + 50s)(1 + 0.2s)4 (1 + 0.5s)3 8 (s + 10)(s + 9)(s + 2) 4 s(s + 3)2 (s + 5)(s + 6) 4 2 s(1 + s) (1 + 2s)(1 + 0.9s)

Problema 5.7 Para el proceso del problema 2.2, dise˜ nar un sistema de control PID para controlar la velocidad de la turbina actuando sobre una v´alvula de control instalada en la tuber´ıa de entrada de agua. Asumir que la FT de transferencia de la v´alvula 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˜ nar un sistema de control PID para controlar la presi´on Po en el interior del tanque actuando sobre una v´alvula 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´alvula es: 2 0.8s + 1 Problema 5.9 Para el proceso del problema 2.5, dise˜ nar un sistema de control PID para controlar la posici´on x de la masa M actuando sobre un pist´on 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´on es 4.5.

136

Control PID SISO

Problema 5.10 Para el proceso del problema 2.7, dise˜ nar un sistema de control PID para controlar la temperatura TF actuando sobre una v´alvula de control instalada en la tuber´ıa de vapor. Asumir que la FT de transferencia de la v´alvula es una constante K v = 0.6. Asumir valores apropiados de los otros par´ametros. Problema 5.11 Para el proceso del problema 2.8, dise˜ nar un sistema de control PID para controlar el desplazamiento de la masa M2 actuando sobre pist´on neum´atico conectado a esta masa. La FT de transferencia del pist´on neum´atico es una constante de valor 2.3. Asumir valores apropiados de los otros par´ametros. Problema 5.12 Empleando Simulink, dise˜ nar un sistema de control PID para controlar la posici´on del proceso descrito en el ejemplo 5.26. Problema 5.13 Empleando Simulink, dise˜ nar un sistema de control PID para controlar la salida del proceso descrito en el ejemplo 5.3. Problema 5.14 Empleando Simulink, dise˜ nar 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˜ nar un sistema de control PID para controlar el flujo actuando sobre una v´alvula de control instalada en la tuber´ıa. Asumir que la FT de transferencia de la v´alvula es: 2 0.3s + 1 Problema 5.16 Para el proceso mostrado en la Fig. 2.3, dise˜ nar un sistema de control PID para controlar el nivel actuando sobre la v´alvula de control, cuya FT se asume constante y de valor unitario. Problema 5.17 Para el proceso mostrado en la Fig. 2.7, dise˜ nar un sistema de control PID para controlar el flujo de salida actuando sobre la v´alvula de entrada de FT constante y de valor dos. Asumir valores adecuados de los par´ametros. Problema 5.18 Para el proceso mostrado en la Fig. 2.8 , dise˜ nar un sistema de control PID para controlar el desplazamiento y mediante una corriente de control u. Los valores de los par´ametros 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 ´estas tenemos: control en cascada, control de la raz´on, 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´en se ocupa de la elaboraci´on de diagramas de instrumentaci´on industriales.

6.1.

Diagramas de Instrumentaci´ on

Un diagrama de instrumentaci´on puede ser un diagrama de flujo de procesos (PFD: Process Flow Diagrammm), un diagrama de instrumentaci´on 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´anica (MFD: Mechanical Flow Diagramm). En esta publicaci´on s´olo nos ocuparemos de los diagramas P&ID, haciendo notar que ´estos 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´es de una tuber´ıa empleando una v´alvula de control neum´atica. El diagrama PFD de dicha instalaci´on, 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 u ´til para el dise˜ no, instalaci´on, operaci´on y mantenimiento de sistemas de control y de mando. En estos diagramas se representan e identifican mediante letras y s´ımbolos tanto la instrumentaci´on (sensores, transmisores, actuadores, tuber´ıas de conexi´on, 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 transversal es una se˜ nal del proceso, FC (Flow Control) representa un sistema de control autom´atico del flujo, mientras que en la Fig. 6.1(c), la linea a trazos es una se˜ nal electr´onica, la l´ınea con otras dos l´ıneas transversales juntas y paralelas indica una se˜ nal neum´atica, FT (Flow Transmitter) es un transmisor de flujo, FIC (Flow Indication Control) representa un sistema de control de flujo con instrumento de indicaci´on, FY (Flow Y) es un dispositivo auxiliar de c´omputo actuado por el controlador, y, FV es una v´alvula de flujo.

138

Estrategias de Control Set point Controlador

Convertidor

Transmisor

Válvula de control neumática

Placa de oroficio (a) FC

(b) I/P FIC 01

Conversión corriente/neumático

FY 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´on de las variables de medici´on y sus funciones, de acuerdo a la norma ANSI–ISA–S5.1–2009 [23]. Observar que las dos primeras columnas corresponden a las primeras letras, mientras que las tres u ´ltimas columnas se refieren a las letras siguientes. Las notas indicadas entre par´entesis se explican m´as 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´on y, si fuera el caso, una combinaci´on de una variable medida o de inicializaci´on 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´on y an´alisis 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´actica. 4. La variable A no deber´ıa de ser usada para identificar vibraci´on u otro tipo de an´alisis mec´anico 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´anea.

6.1 Diagramas de Instrumentaci´ on

(1) Línea de suministro o conexión al proceso (2) Señal i ndefinida (3) Señal indefinida (4) Señal eléctrica

139

(8) Señal sónica o electro− magnética no guiada (9) Para comunicar DCSs, PLCs o PCs (10) Línea mecánica (11) Para comunicarDCS−DCS, DCS−PLC, PLC−PC, DCS−Fieldbus (12) Conecta dispositivos inteligentes

.

(5) Señal hidráulica (6) Tubo capilar (7) Señal sónica o electro− magnética guiada

.

(a) Ubbicación Ubbicación principal principal accesible no accesible

Instalado en el campo

Ubbicación secundaria accesible

Ubbicación secundaria no accesible

P

R

I

Instrumentos discretos Display y control compartido Función de computadora Controlador lógico programable

C 12

Instrumentos en una caja común

Luz piloto

Panel montado en columna C con fila 12

Purga o desfogue

Estado rest de Interlock lógico un enclavador indefinido

(b)

Fig. 6.2: (a) L´ıneas de conexi´on, (b) S´ımbolos para instrumentos y sus funciones.

140

Estrategias de Control

Tabla 6.1: Simbolog´ıa seg´ un norma ISA, donde, SIS: Safety Instrument System, FCE: Final Control Element.

A B C D E F G H I J K L M N O P Q R S T U V

W X Y Z

PRIMERA LETRA (1) VARIABLE MEDIDA O MODIFI– INICIAL CADOR Analysis (2,3,4) Burner, Com– bustion (2) User’s Choice (3a,5) User’s Choice Difference, (3a,5) Differential (5) Voltage (2) Flow, flow rate (2) User’s Choice Hand (2) Current (2) Power (2) Time, Sche– dule (2) Level (2) User’s Choice (1) User’s Choice (5) User’s Choice (5) Pressure (2), Vacuum Quantity Radiation (2) Speed, Frequency Temperat. (2) Multivariable (2,6) Vibration, Mech. Ana– lysis (2,4,7) Weight, Force (2) Unclassified (8) Event, State, Presence (2,9) Position, Dimension (2)

LETRAS SIGUIENTES (3) ´ LECTURA FUNCION ´ O FUNCION DE MODIFI– PASIVA SALIDA CADOR Alarm User’s Choice User’s Choice User’s Choice (5) (5) (5) Control Close (27b) (23a,23e) Deviation (28) Sensor, Primary Element

Ratio (12b) Glass, Viewing Device(16) Vidrio (9)

High (27a,28a,29) Indicate (17)

Scan (18) Time Rate of Change (4,21)

Control Station (24) Light (19)

Momentary (4)

Integrate, Totalize (11b)

User’s Choice (5) Orifice, Restriction Point (Test Connection) Integrate, Totalize Record (20)

Safety (8)

User’s Choice (5)

Low (27b,28,29) Middle, Interme– diate (27c,28,29) User’s Choice (5) Open (27a)

Run Switch (13)

Multifunction (21)

Transmit Multifunction (21) Valve, Damper, Louver (23c,23e)

(12)

Unclassified (8)

Unclassified (8)

Well, Probe X–axis (11c) Y–axis (11c) Z–axis (11c), SIS (30)

Accessory Devi– ces, Unclass. (8)

Auxiliary Devi– ces (23d,25,26) Driver, Ac– tuator, Unclas– sified FCE

6.1 Diagramas de Instrumentaci´ on

141

6. La primera letra U, Multivariable, identifica un instrumento o un lazo que requiere m´ ultples puntos de medici´on u otras entradas con el fin de generar simples o m´ ultiples salidas. 7. La primera letra V (Vibration, Mechanical Analysis), se usa para identificar vibraci´on u otro tipo de an´alisis mec´anico o de maquinaria. 8. La letra X (unclassified ) se emplea para cubrir por una sola vez, o a lo m´as 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´on del esfuerzo, mientras que XX–4 significar´ıa un osciloscopio para observar la onda del esfuerzo. 9. La primera letra Y est´a supuesto a ser usado cuando el control o la respuesta del monitoreo de sistemas en tiempo real se implementa por eventos, en contraposici´on a los sistemas en tiempo real implementados por tiempo. La letra Y, en esta situaci´on, se emplea para indicar presencia o estado. 10. Una primera letra en combinaci´on con una variable modificadora, debe de ser seleccionad de acuerdo a c´omo se modifica o cambia la propiedad que est´a 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´on con una primera letra, significa un cambio en la raz´on de la primera letra. As´ı, WK significa p´erdida de la raz´on de peso. 14. La variable modificadora S (safety) t´ecnicamente no es una medici´on directa de la variable, pero s´ı usada para identificar dispositivos primarios de emergencia autoactuados y elementos finales de control, s´olamente cuando se usa en combinaci´on con una de las primeras letras F, P o T. Por consiguiente, las combinaciones FS, PS y TS deben de ser consideradas como variables de medici´on y de iniciaci´on en todos los esquemas, como sigue: (a) FSV (Flow Safety Valve) se usa con v´alvulas dise˜ nadas para la protecci´on en los casos de exceso de flujo o p´erdida de la condici´on segura del mismo. PSV y TSV (Pressure, Temperature Safety Valve) se usan con v´alvulas dise˜ nadas para la protecci´on en los casos de p´erdida de la condici´on segura de P y T. (b) PSV (Pressure Safety Valve) se usa con v´alvulas dise˜ nadas para la protecci´on 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´on 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´ un 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 proporcionen una vista secundaria tales como tubos para nivel, medidores de presi´on, term´ometro de vidrio y ventanas para medir flujo. (a) La funci´on pasiva G tambi´en 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´ogica o digital de un instrumento, o a una medici´on actual de una se˜ nal 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´on de la se˜ nal de salida que se est´a generando. Esto es: HIC o HIK. 18. La funci´on pasiva J (scan) indica una lectura peri´odica no continua, o varias lecturas de la misma o de diferentes clases, tales como la medici´on de temperaturas en puntos m´ ultiples. 19. La funci´on pasiva L (light) identifica dispositivos o funciones que indican un estado de operaci´on normal, tal como en un motor ON–OFF. No es alarma. 20. La funci´on pasiva record se aplica a cualquier forma de almacenamiento permanente de informaci´on que permita extraerla empleando diversos medios. 21. La funci´on de lectura/pasiva y salida/activa U (multifunction) se emplea para: (a) Identificar lazos de control que poseen m´as funciones de lo usual. (b) Ahorrar espacio en los esquemas no mostrando burbujas para cada funci´on. (c) Resulta conveniente describir en el esquema el tipo de funci´on m´ ultiple. 22. La funci´on de lectura/pasiva accesoria X (unclassified ) se emplea para identificar hardware y dispositivos que no son para medici´on o control, pero que si son necesarios para su operaci´on adecuada. 23. Existen diferencias en el significado a ser considerado cuando se selecciona entre una funci´on de salida/activa para control C, switch S, v´alvula, damper (compuerta), louver (amortiguador) V, y dispositivo auxiliar Y. Esto es: (a) C significa un dispositivo o funci´on que recibe una se˜ nal de entrada, producto de una medici´on, y genera una se˜ nal de salida que se emplea para modular o conmutar una v´alvula 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´on que conecta, desconecta, o transfiere se˜ nales de aire, el´ectricas, electr´onicas, hidr´aulicas, o circuitos. S puede ser actuado manual o autom´aticamente mediante se˜ nales medidas directamente 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˜ nal que puede provenir de C, S o Y.

6.1 Diagramas de Instrumentaci´ on

24.

25. 26. 27.

28.

29. 30.

31.

143

(d) Y significa un dispositivo autom´atico o una funci´on actuada por Y, T (transmisor), o S. Y conecta, desconecta, transfiere, computa, y/o convierte se˜ nales de aire, el´ectricas, electr´onicas, hidr´aulicas, o circuitos. Las letras siguientes CV s´olo se usan para v´alvulas de control autoactuadas. La funci´on de salida o activa K (control station) deber´ıa de ser usado para: (a) Designar una estaci´on de control accesible al operador cuando se usa con un controlador que no posee los modos manual–autom´atico u ON–OFF. (b) Partir la arquitectura o reagrupar los dispositivos de campo para control, cuando las funciones del controlador no est´an en la estaci´on del operador. Y incluye, entre otros, solenoides, v´alvulas, rel´es, dispositivos de c´omputo y de conversi´on, y funciones. Si Y se emplea para computar y convertir se˜ nales, esto debe ser definido fuera de la burbuja empleando s´ımbolos o una descripci´on ad–hoc. El uso de H, L o M para indicar la posici´on de v´alvulas y otros dispositivos de cierre y apertura, se definen como sigue: (a) H, la v´alvula se aproxima a su posici´on completamente abierta. Como alternativa, emplear O (open). (b) L, la v´alvula se aproxima a su posici´on completamente cerrada. Como alternativa, emplear C (closed ). (c) M, la v´alvula est´a entre H y L. Cuando se combina la funci´on modificadora D con la funci´on pasiva o de lectura A, o con la funci´on de salida o activa S, es para indicar una desviaci´on, con respecto a un set point, mayor a la predeterminada. Las funciones modificadoras H or L deber´ıan de a˜ nadirse s´olo en presencia de desviaciones positivas o negativas de importancia. H, L o M en alarmas corresponden a los valores de la variable medida, mas no a los valores de las se˜ nales que activan las alarmas. Pero: (a) Una alarma de nivel alto proveniente de un transmisor de nivel de acci´on inversa se identifica con LAH, a´ un en el caso de que la alarma se activase cuando la se˜ nal cae a un valor bajo. (b) Estas letras se pueden usar repetidas o en combinaci´on para indicar m´ ultiples niveles de actuaci´on desde la misma medici´on; por ejemplo: H y HH, L y LL, o HL. La variable modificadora Z, t´ecnicamente no es una variable medida directamente, pero se usa para identificar los componentes del Sistema Instrumentado de Seguridad. (a) Como se indic´o 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´ umeros 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˜ nal UU, la cual se dirige al actuador de la v´alvula UV (Multivariable Valve). La se˜ nal UU tambi´en se usa como se˜ nal SP (Set Point) para el controlador de f lujo FC (Flow Control), cuya salida se dirige hacia el actuador de la v´alvula FV (Flow Valve). FO (Flow Orifice)

144

Estrategias de Control

es una restricci´on, 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´odicamente de un producto, en peque˜ nos y grandes vol´ umenes sobre largos y cortos per´ıodos de tiempo, respectivamente, con la siguiente estrategia de control: 1. Dise˜ no del sistema de control.– Peque˜ nos vol´ umenes 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´aticamente para desalojar el producto. La bomba P–1 se detiene cuando se alcanza el nivel bajo LSL (Level Switch LOW). Grandes vol´ umenes 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´alvula 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´on O (OFF). Para mayores detalles, remitirse a la referencia [23]. PT *11

TI *51

TT *51 LT *21

UU *01

FT *71

L1 21

SP

FC *21

FV *71

UV *01 FO FO (a)

LSL *02

STOP HS *02−B

LIC *02

START

T−1

LT *02

HS *02−A

HS LSH *01 *02 H−O−A

P−1

FIC *01 FT *01

FV *01

FO (b)

Fig. 6.3: Ejemplos de diagramas de instrumentaci´on.

6.2 Control en Cascada

6.2.

145

Control en Cascada

La Fig. 6.4(a) muestra un tanque cerrado, al cual ingresa un producto que queremos calentar a una temperatura r (el valor deseado o SP). Para este prop´osito se emplea el sobrecalentador, el cual recibe la energ´ıa t´ermica que trae consigo el flujo de agua caliente, que tambi´en pasa por la VCA neum´atica. En este lazo de control realimentado, la temperatura y, medida con una termoresistencia (representada con una T que se introduce al tanque), ingresa al bloque transmisor T1 para ser convertida en una se˜ nal estandarizada (4 a 20 mA) requerida por el controlador C, el cual se supone que es electr´onico. Este controlador genera la se˜ nal de control u, la cual se transforma, gracias al bloque transmisor T 2 , en una se˜ nal neum´atica 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˜ nal de error e = r − y en este diagrama. De hecho, el algoritmo de control alojado en el bloque controlador, procesa esta se˜ nal de error para generar la se˜ nal de control u r

Controlador C T1 u Transmisor T2 Transmisor y

Producto

(a) r1 y1 u2

T1

e

C1

u

Controlador

(b) r1

u 1= r 2

e1

C1

u1

e2

C2

C2 y2

y

Proceso P

Medición

Agua caliente

T2

Producto

r

T3

u2

P2

y2

P1

y1

M2

u 1= r 2

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 significativamente 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´on, 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˜ nal 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´as P2 forman el proceso, M1 y M2 son bloques de medici´on, 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´as 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´on, recibe el nombre de controlador 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´as de dos lazos en cascada, la extensi´on es autom´atica; 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˜ no en un sistema de control en cascada consiste en que el lazo de control secundario debe de ser m´as r´apido (alrededor de cinco veces) que el primario, lo cual es un requisito que cae por su propio peso. Esta filosof´ıa de dise˜ no se puede generalizar para cualquier cantidad de lazos en cascada. Por ejemplo, en un sistema con tres lazos de control en cascada, el lazo terciario debe de ser m´as r´apido que el secundario, y ´este tiene que ser m´as r´apido que el primario. Se sugiere el siguiente procedimiento de dise˜ no: 1. Determinar el modelo din´amico del proceso o planta a controlar. 2. Construir un lazo de control simple y sintonizar el controlador PID empleando cualquier m´etodo. Realizar post–sinton´ıa (sinton´ıa fina) si fuera necesario. 3. Construir el sistema de control en cascada definiendo los lazos de control primario y secundario. 4. Sintonizar el lazo de control secundario empleando un m´etodo adecuado, por ejemplo el m´etodo de la ganancia l´ımite o del rel´e. Realizar post–sinton´ıa si fuera necesario. 5. Sintonizar el lazo de control primario empleando el m´etodo de la ganancia l´ımite o del rel´e. 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: P2 (s) =

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

P1 (s) =

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

Cabe anotar que 3/(0.2s + 1) es la FT de la VCA. Soluci´ on: El modelo din´amico del proceso ha sido proporcionado en el enunciado del problema. Para controlar el proceso emplearemos el m´etodo de la oscilaci´on l´ımite de Ziegler y Nichols. El gr´afico superior de la Fig. 6.5 muestra la respuesta al escal´on a

6.2 Control en Cascada

147

manera de una oscilaci´on 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´on posee un per´ıodo Tcrit = 12.5. Con tales valores se calculan los par´ametros del controlador PI empleando la Tabla 5.7. El gr´afico 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 2

y(t)

1.5

1

0.5

0

0

5

10

15

20 TIEMPOx60 (sec)

25

30

35

40

SALIDA CONTROLADA

TEMPERATURA °C

60 50 40 30 20 10 0

0

10

20

30 TIEMPOx60 (sec)

40

50

60

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

% casc1a.m CONTROL PI DEL LAZO SIMPLE V´ IA LA OSCILACI´ ON SOSTENIDA clear all; close all; clc; s=tf(’s’); P2=3/((0.2*s+1)*(3*s+1)*(s+1)); P1=0.8/((4*s+1)*(s+1)); P=P1*P2; % P: PROCESO Kcrit=2.18; G_c=feedback(Kcrit*P,1); subplot(211); step(G_c,40); grid, title(’OSCILACI´ ON SOSTENIDA’), xlabel(’TIEMPOx60’), ylabel(’y(t)’) Tcrit=12.5; % TOMADO DE LA OSCILACI´ ON SOSTENIDA CON Kcrit=2.18 Kc=0.65*0.45*Kcrit; Ti=0.85*Tcrit; % PAR ´ AMETROS PI CON POSTSINTON´ IA C=Kc*(1+1/(Ti*s)); SIMPLE=50*feedback(C*P,1); % CONTROL LAZO SIMPLE subplot(212); step(SIMPLE,60); grid; title(’SALIDA CONTROLADA’); xlabel(’TIEMPOx60’); ylabel(’TEMPERATURA ◦ C’); print -deps -f casc1a

El diagrama de bloques del sistema de control en cascada se muestra en la Fig. 6.4(d). El lazo de control secundario se realiza como sigue. El primer gr´afico de la

148

Estrategias de Control

Fig. 6.6 muestra la respuesta al escal´on a manera de una oscilaci´on 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´on posee un per´ıodo Tcrit2 = 2.4. Con tales valores se calculan los par´ametros del controlador PI empleando la Tabla 5.7. El segundo gr´afico 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˜ no del control PI del lazo primario es similar al del secundario: se genera una oscilaci´on sostenida (tercer gr´afico de la Fig. 6.6) y con los par´ametros Kcrit1 = 3.4 y Tcrit1 = 13 determinados, se calculan los par´ametros del controlador C1 . El gr´afico 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

y2(t)

2 1 0

0

1

2

3

4 5 6 TIEMPOx60 (sec) CONTROL DEL LAZO SECUNDARIO

7

8

9

10

y2(t)

2 1 0

0

5

10 15 TIEMPOx60 (sec) OSCILACIÓN DEL LAZO PRIMARIO

20

25

y1(t)

2 1

TEMPERATURA °C

0

0

5

10

15 20 25 TIEMPOx60 (sec) SALIDA CONTROLADA EN CASCADA

30

35

40

100 50 0

0

10

20

30 40 TIEMPOx60 (sec)

50

60

70

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´ ON DEL LAZO SECUNDARIO’) Tcrit2=2.4; % TOMADO DE LA OSCILACI´ ON SOSTENIDA CON Kcrit2=8.53 Kc2=0.1*0.45*Kcrit2; Ti2=0.85*Tcrit2; C2=Kc2*(1+1/(Ti2*s)); Gs2=feedback(C2*P2,1); subplot(412), step(Gs2), grid, ylabel(’y2(t)’),

6.3 Control de la Raz´ on

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 ´ ON DEL LAZO PRIMARIO’), xlabel(’TIEMPOx60’), ylabel(’y1(t)’) Tcrit1=13; % TOMADO DE LA OSCILACI´ ON SOSTENIDA CON Kcrit1=3.2 Kc1=0.45*Kcrit1; Ti1=0.8*0.85*Tcrit1; % PAR ´ AMETROS PI C1=Kc1*(1+1/(Ti1*s)); CASCADA=50*feedback(C1*Gs2*P1,1); % CONTROL CASCADA subplot(414); step(CASCADA); grid, title(’SALIDA CONTROLADA EN CASCADA’), xlabel(’TIEMPOx60’), ylabel(’TEMPERATURA ◦ C’), print -deps -f casc1b

Observar que el rendimiento del sistema de control en cascada es mejor porque la temperatura se estabiliza en aproximadamente 22 min (gr´afico inferior de la Fig. 6.6), mientras que para el caso de realimentaci´on simple mostrado en el gr´afico inferior de la Fig. 6.5, se estabiliza en 30 min. Se debe notar tambi´en que el per´ıodo de oscilaci´on cr´ıtica Tcrit1 del lazo primario mostrado en el tercer gr´afico de la Fig. 6.6, es mayor que el Tcrit12 del lazo secundario (primer gr´afico de la Fig. 6.6) en una relaci´on: Tcrit1 13 = = 5.41 Tcrit2 2.4 Con esto se comprueba que el lazo secundario es 5.41 veces m´as r´apido que el primario.

6.3.

Control de la Raz´ on

El control de la raz´on se refiere generalmente a controlar (mantener) la raz´on entre dos flujos (o caudales) lo m´as constante posible. En el esquema de raz´on m´as 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´on encuentra muchas aplicaciones en la industria. Entre ellas: mezcla o fundici´on de dos o m´as componentes; control de la raz´on aire–combustible en un proceso de combusti´on; control de la composici´on de un producto (t´ecnica bastante utilizada en las torres de destilaci´on); 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´on producida por la placa. Por otro lado, la filosof´ıa de control de la raz´on 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: Ejemplo 6.2

e2 = V y 1 − y 2 = 0

V =

y2 y1

(6.2)

Dise˜ nar y simular el sistema de control que mantenga la raz´on combustible–aire en 10 en la Fig. 6.7. Esto es: q2 /q1 = V = 10. Soluci´ on: La Fig. 6.8 muestra el diagrama Simulink correspondiente a la Fig. 6.7. Notar que se ha incluido la FT de la v´alvula de control. El proceso flujo y2 se modela

150

Estrategias de Control

V

r2

y1

u y2

q2

Qemador

q1

Horno

Fig. 6.7: Esquema m´as difundido del control de la raz´on.

como una constante proporcional. Para mantener la raz´on V en 10, se ha usado un controlador PI con par´ametros 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´on que se obtiene ejecutando el archivo razon1graf.m cuyo listado se muestra abajo. Observar que la raz´on V(t) se mantiene en el valor 10 previamente establecido. razon1.mdl

th

y1

Clock

y1

1 u Inversa

Aire r2

1/y1

e2 PID

10 Set V

Producto

y2

PI Controller

y2

V=y2/y1

th

V

2 0.5s+1 Válvula + caudal y 2

Product

Scope

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¨ ON V(t)’), title(’CONTROL DE LA RAZ´ ON 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´on radica en el hecho de que cuando un disturbio ingresa al proceso, ´este se propaga por todo el proceso, forzando que la variable controlada se desv´ıe del punto deseado o de referencia, antes de que aparezca una acci´on correctiva que compense el efecto de tal disturbio. Por cierto, en muchos casos se puede tolerar temporalmente un error entre la se˜ nal controlada y la se˜ nal deseada. Sin embargo, existen aplicaciones en donde el error debe

6.4 Control Anticipativo

151 CONTROL DE LA RAZÓN V = y2/y1

45 40 35

RAZÓN V(t)

30 25 20 y2(t)

15

V = 10

10 y1(t)

5 0

0

200

400 600 TIEMPO [s]

800

1000

Fig. 6.9: Resultado de la simulaci´on correspondiente al Ejemplo 6.2.

de ser m´ınimo en presencia de disturbios, lo cual no se logra s´olo con el control por realimentaci´on. Para tales situaciones resulta u ´til el control anticipativo. Con esta estrategia de control, los disturbios se miden antes de que ingresen al proceso, lo cual permite calcular por adelantado la se˜ nal de control requerida para mantener la 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 anticipativo donde Gp (s), Ga (s) y Gd (s) son las funciones de transferencia del proceso, del controlador anticipativo y del disturbio, respectivamente. Adem´as, d, u e y son las se˜ nales 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´on (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): 0 = Gp Ga (s) + Gd (s)

Ga (s) = −

Gd (s) Gp (s)

(6.4)

Para tener una idea m´as clara de la estructura del controlador anticipativo G a (s) dise˜ nado, asumamos que: Gp (s) =

Kp e−τp s Tp s + 1

Gd (s) =

Kd e−τd s Td s + 1

(6.5)

Por consiguiente: Ga (s) = −

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

(6.6)

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

Ga(s)

y

Gp(s)

Fig. 6.10: Sistema de control anticipativo.

El sistema de control anticipativo trabaja bien siempre que Gp (s) y Gd (s) representen lo m´as fiel posible al proceso y al disturbio. Evidentemente, en presencia de errores de modelado, el desempe˜ no del sistema de control anticipativo va a disminuir. Existen dos casos notables para los que no se debe de emplear el control anticipativo. El primero ocurre cuando el grado del polinomio del denominador de Gp (s) es mayor que el grado del polinomio del denominador de Gd (s). Por ejemplo, sean: Gp (s) =

1 s2 + bs + c

1 s+f

Gd (s) =

donde a, b, c y f son constantes. El controlador anticipativo se calcula como: Ga (s) = −

Gd (s) s2 + bs + c =− 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: Gd (s) =

s2

1 e−s + bs + c

Entonces: Ga (s) = −

Gp (s) =

1 e−2s s+f

Gd (s) s+f =− 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˜ no, Ga (s) puede resultar en una funci´on 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´on asumamos que (notar que Gp (s) es de m´ınima fase): Gp (s) =

s−1 s+1

Gd (s) =

1 4s + 1

que resulta en el siguiente controlador anticipativo inestable: Ga (s) = −

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

6.4 Control Anticipativo

153

Ejemplo 6.3 Dise˜ nar y simular el sistema de control anticipativo mostrado en la Fig. 6.10 para: Gd (s) =

5 2s + 1

Gp (s) =

3 0.5s + 1

Soluci´ on: La Fig. 6.11 muestra el diagrama Simulink correspondiente a la Fig. 6.10. El controlador anticipativo se determina de: Ga (s) = −

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

La Fig. 6.12 muestra el resultado de la simulaci´on que se obtiene ejecutando el archivo antic1graf.m cuyo listado se muestra abajo. Observar en el gr´afico inferior que la salida controlada y(t) tiende a cero. Es decir, y(t) no est´a afectada por el disturbio. antic 1.mdl

d

d

5

Scope 1

2s+1 d

Gd(s)

u

y

−2.5s−5

3

6s+3

0.5s+1

Ga(s)

Gp(s)

th Clock

th

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´ uan sobre la se˜ nal controlada. Por otro lado, el control realimentado puede rechazar el efecto de los disturbios no medibles sobre la se˜ nal controlada, as´ı como tambi´en 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´aneamente 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´en 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

d(t),u(t)

1 0

u

d

−1 −2

0

200

400 600 TIEMPO [s] SALIDA CONTROLADA y(t)

800

1000

200

400 600 TIEMPO [s]

800

1000

−3

2

x 10

y(t)

0 −2 −4 −6

0

Fig. 6.12: Resultado de la simulaci´on correspondiente al Ejemplo 6.3.

d1

Gd1(s) G a (s)

r

e

u

G c (s) d2

y

G p (s) Gd2(s)

Fig. 6.13: Esquema de control anticipativo m´as control realimentado.

Ejemplo 6.4 Dise˜ nar y simular el sistema de control anticipativo–realimentado mostrado en la Fig. 6.13 cuando: Gp (s) =

5e−2s 0.8s + 1

Gd1 (s) =

3e−3s 5s + 1

Gd2 (s) =

6e−5s 9s + 1

Soluci´ on: La Fig. 6.14 muestra el diagrama Simulink correspondiente a la Fig. 6.13. El controlador anticipativo se determina de: Ga (s) = −

3 0.8s + 1 −s Gd1 (s) =− × e Gp (s) 5 5s + 1

6.4 Control Anticipativo

155

La Fig. 6.15 muestra el resultado de la simulaci´on que se obtiene ejecutando el archivo anticreal1graf.m cuyo listado se muestra abajo. Observar en el gr´afico inferior que la salida controlada y(t) sigue a la referencia r(t) a pesar de la presencia simult´anea de los disturbios d1 (t) y d2 (t). Es decir, y(t) no est´a afectada por los disturbios debido a que el sistema de control los est´a rechaando. anticreal 1.mdl th

3 5s+1 Gd1(s)

d1

d1

Clock u

Tiempo muerto : 3

−4.8s−0.6

y

5

5s+1

0.8s+1 Tiempo muerto : 1

Ga(s)

r = 10

th

Gp(s)

PID

6

Gc(s)

9s+1 Gd1(s)1

Tiempo muerto : 2

Scope r

Tiempo muerto : 5

d2

Fig. 6.14: Diagrama Simulink correspondiente a la Fig. 6.13.

SALIDA y(t) CONTROLADA

14 12

y(t)

10 8 6 4 2 0

0

20

40

60

80

100 TIEMPO [s]

120

140

160

180

200

120

140

160

180

200

CONTROL u(t)

3.5 3

u(t)

2.5 2 1.5 1 0.5

0

20

40

60

80

100 TIEMPO [s]

Fig. 6.15: Resultado de la simulaci´on 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 variables del proceso bajo control dentro de ciertos limites, generalmente para prop´ositos de protecci´on. Limitando la variable de un proceso en un valor alto o bajo, evita que ocurran da˜ nos tanto en el proceso como en el producto. Dichas variables se limitan empleando ciertos tipos de conmutadores de selecci´on, tales como el HSS (High Selector Switch) y el LSS (Low Selector Switch). La Fig. 6.16 muestra una aplicaci´on del control override en un sistema de bombeo de producto. Las Figs. 6.16(a) y (b) ilustran el diagrama de instrumentaci´on y el diagrama de bloques del sistema de control respectivamente, donde PT representa un transmisor de presi´on, PIC significa indicaci´on y control de la variable presi´on y PY, en este caso, es el conmutador de selecci´on, dado que la letra Y indica realizar un c´alculo o algoritmo relacionado con P (la presi´on). PIC

PIC

PY LAZO 2

LAZO 1 PT

PT

IMPULSION ASPIRACION BOMBA (a) TRANSMISOR DE IMPULSION LAZO 1

CONTROLADOR DE IMPULSION CONMUTADOR SELECTOR CONTROLADOR

VALVULA DE CONTROL

PROCESO PRESION IMPULSION

VALVULA DE CONTROL

PROCESO PRESION ASPIRACION

DE ASPIRACION TRANSMISOR

(b)

LAZO 2

DE ASPIRACION

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

6.5 Control Override

157

Observar que existen dos lazos de control de presi´on, uno para la aspiraci´on y el otro para la impulsion. En condiciones normales, la presi´on se controla con el lazo de impulsion. Si por alguna circunstancia de falla, cae la presi´on de aspiraci´on de la bomba por debajo del l´ımite de seguridad, entonces act´ ua el conmutador selector para que entre en funcionamiento el lazo de aspiraci´on en lugar del de impulsi´on. El conmutador selector trabaja como sigue. En principio, el conmutador selecciona la m´ınima de las dos se˜ nales que le llegan. Adem´as, el set point del controlador de aspiraci´on tiene que ser inferior a los valores normales de trabajo. En operaci´on normal, la se˜ nal de salida del controlador de impulsion alcanza sus valores de trabajo. Si la presi´on de aspiraci´on baja demasiado hasta llegar a ser inferior a su set point, entonces el controlador de aspiraci´on genera una se˜ nal que es inferior a la que sale del controlador de impulsion. En esta situaci´on, el conmutador hace que entre en operaci´on el lazo de control de la aspiraci´on. En este caso, el conmutador es del tipo LSS (Low Selector Switch). La Fig. 6.17 muestra otra aplicaci´on del control override aplicado a un generador de vapor, en donde el conmutador selector LSS har´a la conmutaci´on del lazo de control de presi´on (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´on tambi´en provoca que se cierre la valvula de control.

LINEA DE VAPOR

LIMEA DE DESCARGA

LAZO 2

LT

PT

LAZO 1

LC

LSS

PC

AGUA

CALEFACTOR

(a) TRANSMISOR DE PRESION LAZO 1

CONTROLADOR DE PRESION

VALVULA CONMUTADOR LSS

CONTROLADOR DE NIVEL TRANSMISOR

(b)

DE CONTROL

PROCESO PRESION

VALVULA DE CONTROL

PROCESO NIVEL

LAZO 2

DE NIVEL

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

158

6.6.

Estrategias de Control

Control Selectivo

En ciertas aplicaciones del control de procesos, s´olo existe una variable controlada PV, pero varias variables manipuladas MV. Un ejemplo t´ıpico es el encendido y operaci´on de un horno industrial mediante dos combustibles A y B. La selecci´ on de uno de los combustibles se realiza dependiendo de la disponibilidad de uno de ellos. Por ejemplo, si el combustible A se quema hasta el 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´on 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´on m´ ultiple 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´on, a´ un 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´on de A y B es cr´ıtica si se quiere mantener la relaci´on B/A (obtenida en el bloque de c´omputo FY–2) entre ciertos l´ımites de dise˜ no. Por tal raz´on, 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´on est´a fallando, entonces el promedio de la medici´on 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´on B/A y del flujo A, respectivamente.

6.7.

Control de Rango Partido

El control de rango partido, denominado tambi´en de gama partida o split range en ingl´es, se aplica cuando se desea que la se˜ nal o fuerza de control manipule dos o m´as actuadores, por ejemplo, dos v´alvulas de control. En esta situaci´on, el n´ umero de variables de control es mayor que el n´ umero 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´on. El objetivo de control es mantener constante la presi´on P dentro del reactor mediante la acci´on programada de las v´alvulas 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´alvula se determina del gr´afico de la Fig. 6.19.

6.8 Autosintonizaci´ on con Reconocimiento de Patrones

FY 2 FT 4

159

MS FIC 2

FT 6

FT 5

A Flujo A

FY 1 FT 1

B

MS

FT 2

FY 2

B/ A FIC 1

FT 3

Flujo B

Fig. 6.18: Estrategia de control selectivo aplicado a un sistema de medici´on m´ ultiple.

uA

Selector

uB

VB

VA

100% Abertura de válvula

Pr

0% VA

P Reactor

VB

P 0%

30% 50%

70%

u

100%

u

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

6.8.

Autosintonizaci´ on con Reconocimiento de Patrones

El sistema de control con autosintonizaci´on basado en el reconocimiento de patrones, emplea la respuesta del proceso a un cambio tipo escal´on del SP y/o a la acci´on 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]: e2 e3 − e 2 amortiguamiento = (6.7) sobrenivel = e1 − e 2 e1

Se supone que el proceso Gp (s) a controlar es del tipo primer orden con ganancia Kp , constante de tiempo T y tiempo muerto τ : Gp (s) =

Kp e−τ s Ts + 1

(6.8)

160

Estrategias de Control

cuyos par´ametros se pueden determinar empleando el m´etodo de la curva de reacci´on. Tambi´en resulta conveniente calcular el tiempo de espera Wmax , el cual es el tiempo m´aximo que el controlador espera para la ocurrencia del segundo pico. Este tiempo se define como: Wmax = 5τ (6.9)

disturbio e(t)

SP

Gc (s)

e(t)

Gp(s)

PV

(a)

e1 e3 t e(t)

e1

e2

(b) e3 t

e2 Tp (c)

Fig. 6.20: (a) Sistema realimentado. (b) Respuesta a un cambio escal´on. (c) Respuesta a un cambio en el disturbio.

Autosintonizaci´on v´ıa el reconocimiento de patrones consiste fundamentalmente en la programaci´on de un sistema experto para que lleve a cabo en forma autom´atica, tal como si lo estuviera haciendo un experto, el procedimiento de sintonizaci´on del controlador Gc (s). Este m´etodo de sintonizaci´on est´a presente en el controlador Foxboro EXACT (760/761). La fase de reconocimiento de patrones dentro del procedimiento de autosintonizaci´on comienza cuando el error e(t) = SP − P V excede un nivel m´aximo 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´on Tp y el tiempo m´aximo 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´ormulas de sintonizaci´on. Estas f´ormulas son

6.8 Autosintonizaci´ on 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´ on Inicial y Pre–Sinton´ıa El controlador necesita tener a priori un conjunto de par´ametros, los cuales deben de ser suministrados por el usuario o ser estimados por el modo Pre–Tune (l´ease autosintonizaci´on) del controlador Foxboro. Estos par´ametros son: Los valores iniciales de BP , Ti y Td . La banda de ruido BN . Est´a programado que el controlador inicia el procedimiento de adaptaci´on cuando el error e(t) exceda dos veces BN , la cual se indica luego c´omo determinarla. M´aximo tiempo de espera Wmax . La banda de ruido NB se determina durante la u ´ltima fase del modo Pre–Tune. Primero, la se˜ nal de control vuelve al nivel que ten´ıa antes de la ocurrencia del cambio escal´on del SP. Con el controlador a´ un en manual y con la se˜ nal de control mantenida en un valor constante, la salida controlada se pasa a trav´es 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´ermino 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´en existen una serie de par´ametros 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´entesis en la siguiente lista: M´aximo amortiguamiento permitido (0.3) M´aximo sobrenivel permitido (0.5) El factor derivativo (1), el cual multiplica al t´ermino 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´ametros 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´ametros BP, Ti y Td no ser´an m´as grande que diez veces,k o m´as peque˜ nos que un d´ecimo de sus valores iniciales.

162

6.9.

Estrategias de Control

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´on 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´as destilado. Elaborar el diagrama de bloques y el diagrama de instrumentaci´on para controlar: 1. la temperatura del u ´ltimo plato manipulando el flujo de vapor. Usar la Fig. 6.21(a). 2. la temperatura del u ´ltimo plato empleando una configuraci´on en cascada y manipulando el flujo de vapor. Usar la Fig. 6.21(a). 3. la temperatura del u ´ltimo plato usando el m´etodo de los tres componentes (configuraci´on (h) en la Fig. 6.23). Emplear la Fig. 6.21(a). 4. la composici´on del destilado manipulando el reflujo. Usar la Fig. 6.21(b). 5. la composici´on del destilado manipulando el reflujo y con el auxilio de una medici´on de temperatura en un plato determinado. Usar la Fig. 6.21(b). Destilado Temperatura del último plato

Cabezal

Sobrecalentador

Reflujo

Destilado

Producto Producto Vapor Condensado

(a)

(b)

Vapor

Fig. 6.21: Columna de destilaci´on. Problema 6.2 Escribir un programa en MATLAB para implementar el algoritmo descrito en la secci´on 6.7. Problema 6.3 Escribir un programa en MATLAB para implementar el algoritmo descrito en la secci´on 6.8. Problema 6.4 Elaborar los diagramas de instrumentaci´on de los sistemas de control mostrados en forma de diagramas de bloque en la Fig. 6.22.

6.9 Problemas

163

Controlador VCA Transmisor Sumador Derivador

Sensor de Sensor temperatura

Placa de orificio

Presión

Flujo

SP Pro− ducto SP

Agua caliente

SP

(b) Control de flujo a presión constante

(a) Control de temperatura

−k SP Producto

Pro− ducto

Agua caliente

SP Agua caliente

−k (c) Control de temperatura con producto variable

−k

Sobre− calentador

(d) Control de temperatura con calefacción variable SP

Pro− ducto Agua caliente

SP

(e) Control del rociador de la caldera de vapor

(f) Control de temperatura en cascada

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´on de los sistemas de control mostrados en forma de diagramas de bloque en la Fig. 6.23.

Placa de Controlador VCA Transmisor Sumador Derivador orificio

Sensor de Sensor 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´on.

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´on del sistema para controlar el contenido de sal en el agua, teniendo en cuenta la salinidad de la soluci´on, de modo tal que esta u ´ltima variable pueda ser usada para formar un sistema de control en cascada con la relaci´on 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´on mostrados en la Fig. 6.25.

6.9 Problemas

165 PDI 103

FRCA 302

FQI 104

FR 103

Filtro (a)

(b) SO 201

Bomba

FR 503

FR 505

FFC 504

(c) (d)

FR 711 FR

TR

PR

708

709

710

(e)

FI 302

H 306

(f)

Fig. 6.25: Diagramas de instrumentaci´on.

Problema 6.8 La Fig. 6.26 muestra un alto horno para la producci´on de acero. Se deben de cumplir los siguientes objetivos de control: 1. Control de la temperatura TM del viento mezclado mediante una configuraci´on cascada–relaci´on de control entre las variables MF , mC y TM . 2. Control de la presi´on de salida P mediante la v´alvula mot´orica V4. 3. Control de la temperatura TS mediante la v´alvula V3. 4. Control del CO u O2 de la c´amara de combusti´on con el auxilio de las se˜ nales de presi´on PW y PD y de la v´alvula V2. Elaborar los diagramas de bloque y de instrumentaci´on correspondientes para cumplir los requerimientos listados. Problema 6.9 Dise˜ nar los controladores G(s)p (principal) y G(s)s (secundario) del sistema de control en cascada mostrado en la Fig. 6.27. El set point es arbitrario. Sustentar las especificaciones de dise˜ no obtenidas. Problema 6.10 Dise˜ nar los controladores G(s)a (anticipativo) y G(c)c (de realimentaci´on) del intercambiador de calor mostrado en la Fig. 6.28, sabiendo que θr = 150◦ F y F = 25 gpms. Sustentar las especificaciones de dise˜ no obtenidas. Problema 6.11 En el horno industrial de la Fig. 6.29 se desea mantener la relaci´on aire–gas en un determinado valor, de modo tal que la combusti´on dentro del horno sea eficiente y que la temperatura en dicho horno se mantenga constante.

166

Estrategias de Control Sensor de P CO u O2

M V4

TS

PW AGUA V1 V2

V3

VAPOR mF

PD

ALTO HORNO

V5

Intercambiador de calor

TM

Cámara de mezcla

Placa de orificio mC

Viento mezclado

TUBO CIRCULAR

M

Válvula V6 motórica

Fig. 6.26: Alto horno para producir acero.

Gp(s)

G s (s)

2

−s 10e

(s+1)((2s+1)

(2s+1)((3s+1)

1/2 2/25

Fig. 6.27: Sistema de control en cascada.

Ga (s)

Flujo F −0.417 Intercambiador

θr

Gc (s)

4

0.6e −5s

Flujo

(20s+1)(5s+1)

3s+1 Válvula de control

θ

Intercambiador

Fig. 6.28: Intercambiador de calor.

‘8Š8’‘ Š‹ †‡ „… ‘8’‘ ƒ8 ‚ ƒ8 ‚ ƒ8 ‚ ƒ8 ‚ ƒ8 ‚ Horno ‚ ƒ8 ‚ industrial ‚ ƒ8 ‚ ƒ8 ‚ 8 ‚ € ƒ‚ ƒ8 ƒ8 ƒ8 € Gas 8 ‘ ‘ ’ Sensor Aire Sensor de CO  Œ 8  8  8  8  8  8   Ž8Ž caliente ‘8’‘ t 34 de56 78temp Œ 8 8 8 B D C B E I K J ? A @ 7 Aire rrq HIH [ 8 65658 98R8U8 :; 9 RS ~ F8 ?> 8 = 0 && k = M/4 && k = M/3 && k = 3*M/4 && k 1; 1 − T1 e p ωd = ω n 1 − ζ 2

2e

−t/T2

T1 −T2

θ = arc cos ζ = arc cos (ωd /ωn ) δ = ζ ωn T1,2 =

1 ωn

(ζ ±

p ζ 2 − 1)

Los siguientes tres ejemplos ilustran la expansi´on en fracciones parciales: 3s + 2 C D E F = + + + 2 2 s(4s + 3)(2s + 5) s 4s + 3 (2s + 5) (2s + 5) Cs + D Es + F H 7s2 − 2s + 1 = 2 + 2 + 2 2 2 (s + 2s + 4) (s + 1) (s + 2s + 4) s + 2s + 4 s + 1 s2 − 9 8 =1− =1− 2 s −1 (s + 1)(s − 1)



D C + s+1 s−1



A manera de ilustraci´on, 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´on resultante se eval´ ua con la soluci´on de la ecuaci´on (s + 1) = 0; es decir, se eval´ ua en

A.1 La Transformada Unilateral de Laplace

239

Tabla A.2: Propiedades de la transformada de Laplace No

Descripci´on

Propiedad

(1)

Linealidad

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

(2)

Derivaci´on

(3)

Derivaci´on de orden n

= a1 G1 (s) + a2 G2 (s) h i L dg(t) = sG(s) − g(0) h ndt i L d dtg(t) = sn G(s) − sn−1 g(0) − sn−2 dg(0) n dt − · · · n−2

n−1

−s dgdtn−2(0) − dgdtn−1(0) i hR t L 0 g(t)dt = G(s) s

(4)

Integral

(5)

Desplazamiento en tiempo

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

(10)

Multiplicaci´on por tn

(11)

Divisi´on entre t

L[tn g(t)] = (−1)n d dsG(s) n R∞ L[g(t)/t] = 0 G(t)dt

L[g(t − t0 )] = e−t0 s G(s)

n

s = −1 como sigue:  2  10 (7s − 2s + 1)(s + 1) (Cs + D)(s + 1) (Es + F )(s + 1) − + H= = 2 2 2 2 2 (s + 2s + 4) (s + 1) (s + 2s + 4) s + 2s + 4 9 s=−1 Comando para Expandir Fracciones Racionales El comando [r,p,k] = residue(B,A) permite expandir una fracci´on racional en la forma siguiente: B(s) r1 r2 rn = + + ··· + + k(s) A(s) s − p1 s − p2 s − pn

(A.5)

donde p1 , . . . , pn son los n polos que no se repiten, r1 , . . . , rn son los residuos y k(s) comprime los t´erminos 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´on incluye t´erminos de la forma: rj+1 rj+m−1 rj + + ··· + 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´an 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 = 2 A(s) s −1

N (s) s+6 s+6 = = 2 M (s) (s − 2)2 s − 4s + 4

% fracp1.m DESCOMPOSICI´ ON 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: 7.5 −7.5 B(s) = + +1 A(s) s+1 s−1

Ejemplo A.13

N (s) 1 8 = + M (s) s − 2 (s − 2)2

Hallar la transformada inversa de Laplace de: G(s) =

s4 + 2s3 + 3s2 + 2s + 1 B(s) = 4 A(s) s + 4s3 + 7s2 + 6s + 2

Soluci´ on: El programa fracp2.m calcula los vectores r, p y k: r = [ r1 ; r2 ; rj ; rj+1 ] = [ −0.5i ; 0.5i ; −2 ; 1 ] p = [ p1 ; p2 ; pj ; pj+1 ] = [(−1 + i) ; (−1 − i) ; −1 ; −1]

k=1

Dado que todas las ra´ıces en el vector r son distintas: rj rj+1 r2 r1 + + + G(s) = k + s − p1 s − p2 s − pj (s − pj )2 −0.5i 0.5i −2 1 = 1+ + + + s + 1 − i s + 1 + i s + 1 (s + 1)2 Es f´acil demostrar que:

−0.5i 2 ωn2 0.5i 1 1 + = = s+1−i s+1+i 2 (s2 + 2s + 2) 2 s2 + 2ζωn s + ωn2 √ √ donde, por igualaci´on: ωn = 2, ζ = 1/ 2. Por consiguiente: G(s) = 1 +

−2 1 1 2 + + 2 2 (s + 2s + 2) s + 1 (s + 1)2

Empleando los pares (1), (29), (3) y (12) de la Tabla A.2.1, con n = 1, se obtiene:   ωn2 ωn2 −δt −1 −1 L [1] = δ(t) L = e sen ωd t s2 + 2ζωn s + ωn2 ωd     1 1 = e−t L−1 L−1 = te−t s+1 (s + 1)2 donde, ωd = 1 y δ = 1, se calcularon empleando las f´ormulas al final de la continuaci´on 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´ ON EN FRACCIONES PARCIALES clear all; close all; clc; B = [1,2,3,2,1]; % POLINOMIO B(s) A = [1,4,7,6,2]; % POLINOMIO A(s) [r,p,k] = residue(B,A); % r = [-0.5i;0.5i;-2;1]; p = [-1+i;-1-i;-1;-1]; k = 1

Ejemplo A.14 Resolver la siguiente ecuaci´on diferencial: d2 y(t) dy(t) + 11 + 24y(t) = e−6t 2 dt dt con las condiciones iniciales nulas:

dy(0) dt

= 0, y(0) = 0.

Soluci´ on: Empleamos la propiedad de derivaci´on de la Tabla A.2:    d2 y(t) dy(t) + 24y(t) = L e−6t L + 11 2 dt dt 

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

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

A.1.5.

3 −3t 1 1 e + e−8t + e−6t 80 60 48

´ Algebra de Bloques

La Fig. A.3 muestra las transformaciones v´alidas entre bloques y sus correspondientes diagramas de flujo de se˜ nales. Cabe anotar que cada bloque representa una FT. En un diagrama de flujo de se˜ nales, cada bloque se transforma en una linea con direcci´on y ganancia, mientras que cada punto de suma o de derivaci´on se transforma en una se˜ nal, la cual se representa por un c´ırculo. Por ejemplo, en el diagrama de bloques mostrado en la Fig. A.3(f), las se˜ nales r, e e y, se convierten en c´ırculos en su diagrama de flujo de se˜ nales, mientras que las ganancias G y H pasan a ser las l´ıneas que conectan los bloques. Notar que estas l´ıneas poseen direcci´on y ganancia. La FT entre x1 y x2 , mostrada en su diagrama equivalente, se deriva como sigue: x2 (s) = G(s)e(s) = G(s)(x1 (s) ± H(s))



G(s) x1 (s) = x2 (s) 1 ∓ GH(s)

242

Sistemas Continuos

u u

e

G1

G2

y

u

y

u

G1 e G 2

G1 G2

r

y

r

y

G 1G 2

r

(a) r

e

r 1

G

r

r

y e G u 1

r

u

G r

r G u 1 y

G

r G

e

e

G e

y G

e

(e)

1/G

y

r

u

(f)

y

y G 1 GH

r

r 1 e y G H

G

y 1/G r 1 e G u

H

(c)

1/G

r

y u r G u 1

e

G r

1

u

G

e

G

r

(d)

1

r r

r

1/G r

r

y

(b)

e

y

G u

G

G e e

G

e

G

e

G

r

1

u

r

e

G

y G 1 GH

Fig. A.3: Diagramas de bloque, sus correspondientes diagramas de flujo de se˜ nales y sus equivalentes.

A.2.

Matrices y Determinantes

Una matriz A de orden o dimensi´on n×m, escrita con letra may´ uscula en negrita, es un arreglo rectangular con sus elementos aij dispuestos en n filas y m columnas. Es decir:  a11 . . . a1m  ..  A = [aij ] =  ... .  an1 . . . anm 

i = 1, . . . , n;

j = 1, . . . , m

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

 x1 (q)   x(q) =  ...  xn (q)

y(q) =



y1 (q) · · · yn (q)



A.2 Matrices y Determinantes

243

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



x1 (q) · · · xn (q) 

 y1 (q)   yT (q) =  ...  yn (q)



;

x(q) =



x1 (q) · · · xn (q)



T y1 (q)   y(q) =  ...  yn (q)

T

donde el super´ındice T indica la operaci´on transpuesta, la cual transforma las columnas en filas y viceversa.

A.2.1.

Operaciones con Matrices

Una matriz A con todos sus elementos aij iguales a cero se denomina matriz cero o nula y se denota como A = 0. Dos matrices A = [aij ] y B = [bij ] son iguales si son del mismo orden y adem´as [aij ] = [bij ]. La suma de dos matrices, denotada como C = A ± B, s´olo es posible si A y B son del mismo orden: C = [cij ] = A ± B = [aij ± bij ] La multiplicaci´on de dos matrices, expresada como C = AB, s´olo es posible si el n´ umero de columnas de A es igual al n´ umero de filas de B. Si A es de orden n × m y B es de orden m × r, entonces C debe ser de orden n × r. Los elementos de C se determinan como sigue: cij =

m X

aik bkj ;

i = 1, 2, . . . , n; j = 1, 2, . . . , m

k=1

Por ejemplo, la siguiente multiplicaci´on es v´alida: A2×3 B3×1 = C2×1 , tal como se observa a continuaci´on.    b11      a11 a12 a13  a11 b11 + a12 b21 + a13 b31 c11 b21  = = a21 a22 a23 a21 b11 + a22 b21 + a23 b31 c21 b31

Si κ es un escalar, entonces κA resulta una matriz en donde cada elemento queda multiplicado por κ, a saber: κA = κ[aij ] = [κaij ] La multiplicaci´on 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´on no es conmutativa; es decir: AB 6= BA

244

Sistemas Continuos

Ejemplo A.15 Determinar si las matrices A  1 A= 0 2

y B conmutan o no.    1 2 3 2 3 4 −2  B =  0 4 −2  2 6 −9 6 −9

Soluci´ on: Dado C = AB y D = BA, basta demostrar que C 6= D, tal como se ilustra en el siguiente programa. % conmat.m CONMUTACI´ ON DE MATRICES clear all; close all; clc; A = [1 2 3;0 4 -2;2 6 -9]; B = [-1 5 0;1 4 -3;0 -6 -2]; C = A*B; % C = [1 -5 -12;4 28 -8;4 88 0] D = B*A; % D = [-1 18 -13;-5 0 22;-4 -36 30] % A Y B NO SON CONMUTATIVAS PORQUE C ES DIFERENTE DE D

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

(AB)T = BT AT √ Un n´ umero complejo se designa como s = σ + jω, donde j = −1 es la unidad de los n´ umeros imaginarios y tanto σ como ω son n´ umeros reales. La operaci´on conjugada, denotada como A∗ , toma la conjugada a todos los elementos complejos de A. Para la operaci´on conjugada se cumple: (A∗ )∗ = A;

(A + B)T = AT + BT ;

(A + B)∗ = A∗ + B∗ ;

(AB)∗ = A∗ B∗

La operaci´on hermitiana de A, denotada como AH , toma la conjugada y luego la transpuesta (o toma la transpuesta y luego la conjugada) de la matriz A. Es decir: AH = (A∗ )T = (AT )∗ Por consiguiente: (AH )H = A;

(A + B)H = AH + BH ;

(AB)H = BH AH

Si A es una matriz real; es decir, si todos sus elementos son reales, entonces A ∗ = A y AH = (A∗ )T = AT . Ejemplo A.16 Dada la matriz real A y  1 A= 0 2

la matriz compleja B hallar A∗ , AH , AT , BT , B∗ y BH .    2 3 1−j 3 3+j 4 −2  4 −2 + j  B= j 6 −9 2−j 6+j −9

A.2 Matrices y Determinantes

245

Soluci´ on:

 1 0 2 6  A∗ = A A H = AT =  2 4 3 −2 −9     1−j j 2−j 1+j 3 3−j 4 6+j  4 −2 − j  BT =  3 B∗ =  −j 3 + j −2 + j −9 2+j 6−j −9   1+j −j 2+j H T ∗  3 4 6−j  B = (B ) = 3 − j −2 − j −9

A.2.2.



Tipos de Matrices

Si el orden de una matriz A es n × n, entonces A es una matriz cuadrada de orden n. Esta matriz posee una diagonal principal, o simplemente una diagonal con elementos aii . La traza de una matriz cuadrada se define como: traza(A) = a11 + · · · + ann Una matriz cuadrada se denomina matriz diagonal cuando los elementos que no pertenecen a su diagonal son todos ceros:   d11 0 0 . . . 0  0 d22 0 . . . 0    D = [dii ] =  . .. .. ..   .. . . .  0 0 0 . . . dnn

Una matriz cuadrada se denomina triangular superior si los elementos debajo de su diagonal son todos ceros. Si los elementos encima de su diagonal son todos ceros, entonces la matriz es triangular inferior. La matriz identidad I, denotada tambi´en como In (n es el orden de la matriz), es una matriz diagonal que s´olo posee unos. Si A es cuadrada, AI = IA. En general, se cumple que: A es sim´etrica si: A es antisim´etrica si: A es hermitiana si: A es antihermitiana si: A es ortogonal si: A es unitaria si: A es normal si: A es peri´odica si: A es idempotente si: A es nilpotente si: A−1

es la inversa de A si: A es singular si:

AT = A

(A.6)

T

A = −A A

H

A

H

(A.7)

T ∗

∗ T

= (A ) = (A ) = A = −A

(A.8) (A.9)

T

T

AA

H

H

AA

H

T

AA = A A = I, entonces: A = A = A A = I, entonces: A

H

−1

=A

H

−1

(A.10) (A.11)

=A A

(A.12)

A

κ+1

= A;

κ es un entero positivo

(A.13)

A

κ+1

= A;

κ es igual a 1

(A.14)

κ

A = 0; A

−1

κ es un entero positivo

A=I

det(A) = 0

(A.15) (A.16) (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´as 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´ on:

 1−j 6−j A = (A ) = 2+j 5+j   1 1 4−j H BH = (B∗ )T = B B = (A + A ) = 4+j 5 2   1 j −2 H C = (A − A ) = CH = (C∗ )T = −C 2 −j 2 H

A.2.3.



∗ T

Determinantes y Matriz Inversa

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



a11 a12 a21 a22



= a11 a22 − a12 a21

(A.18)

Para obtener el determinante de una matriz de orden n > 2 podemos emplear el m´etodo de la expansi´on. Si tomamos como base la primera fila, el determinante de una matriz A se obtiene de: det(A) =

n X j=1

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

donde A1j , j = 1, . . . , n es la matriz que resulta luego de eliminar la fila 1 y la columna j de A. Por ejemplo, el determinante de una matriz de orden n = 3 se calcula como:     a11 a12 a13 a a 22 23 1+1 det  a21 a22 a23  = (−1) a11 det + a32 a33 a31 a32 a33     a21 a22 a21 a23 1+3 1+2 (A.19) + (−1) a13 det (−1) a12 det a31 a32 a31 a33 Con relaci´on 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´ ultiplo de una fila o una columna de A a cualquiera de sus filas o columnas, el valor del det(A) no cambia. 7. det(AB) = det(BA) = det(A)det(B) 8. Si los eigenvalores de A son λ1 , λ2 , . . . , λn , luego: det(A) = λ1 λ2 . . . λn . La determinaci´on de los eigenvalores o valores propios de una matriz se trata en la subsecci´on 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 ((A∗ )T )−1 = ((A−1 )∗ )T ;

det(A−1 ) =

1 det(A)

Si A es una matriz no singular de orden 2, vale recordar que:     1 a b d −b −1 A= ; A = c d ad − bc −c a Del mismo modo, si A es una matriz no singular de orden 3:   a b c A= d e f  g h i       e f b c b det −det det  h i h i e        1 d f a c a −1  −det det −det A = g i g i det(A)        d  d e a b a det −det det g h g h d det(A) = aei + gbf + cdh − gec − ahf − idb

 c f  c f b e

(A.20)

       

(A.21)

Ejemplo A.18 Comprobar simb´olicamente las f´ormulas de la inversa y del determinante de A dadas en (A.21). Soluci´ on: Ejecutar el programa matinv.m mostrado abajo.

248

Sistemas Continuos

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

La Tabla A.3 muestra los comandos para ejecutar operaciones matriciales con MATLAB. Cantidades Complejas Sea G = Gr + jGi un n´ umero o funci´on compleja donde SISTEMA COMPLETAMENTE CONTROLABLE A LA SALIDA

Observabilidad Completa Un sistema SLIT es completamente observable si alg´ un estado x(t), incluyendo el estado inicial x(t0 ), se puede determinar partiendo de la observaci´on 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´on se establece la condici´on de estabilidad completa. Para que un sistema sea completamente observable, es necesario que el rango de la denominada matriz de observabilidad N de dimensi´on np × p :   C  CA   H   N= (A.44)  = CH AH CH · · · (AH )n−1 CH ..   . CAn−1

posea rango n (rango completo). En (A.44), el super´ındice H indica operaci´on hermitiana. Se sabe que si todas las matrices son reales, entonces la operaci´on hermitiana se reemplaza por la operci´on transpuesta. Si existe una transformaci´on 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: x˙ ∗ = E−1 AEx∗ = Λx∗ x∗ = eΛt x∗ (t0 ) Luego: 

  y = CEx = CEe x (t0 ) = CE   ∗

Λt ∗

eλ 1 t

0 eλ 2 t ..

0

. e λn t

    

x∗1 (t0 ) x∗2 (t0 ) .. . 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´on 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 SISTEMA NO ES COMPLETAMENTE OBSERVABLE A3 = [2 2 -1;2 3 0;-1 0 2]; B3 = [0 1;1 0;0 1]; C3 = [1 2 1;2 0 3]; n3=3; [E3,D3] = eig(A3); DD3 = inv(E3)*A3*E3; % D3 = diag(0.0968,2.1939,4.7093) N3 = obsv(A3,C3); % RETORNA MATRIZ DE OBSERVABILIDAD [C3; C3*A3; C3*A3^2] rankN3=rank(N3); % rankN3=3=n3 => SISTEMA COMPLETAMENTE OBSERVABLE

A.3.5.

Soluci´ on de la Ecuaci´ on de Estado de SLITs Continuos

En la subsecci´on A.3.3, ecuaci´on (A.36), vimos que la din´amica linealizada de un sistema (sin la presencia de disturbios) se representa en el espacio de estado mediante sus ecuaciones de estado y de salida: x˙ = Ax + Bu;

y = Cx + Du

(A.45)

La soluci´on de la ecuaci´on 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

= Φ(t − t0 )x(t0 ) +

Z

t

t0

Φ(t − τ )Bu(τ )dτ

(A.46)

donde: ∞ X Aν (t − t0 )ν

A2 (t − t0 )2 A3 (t − t0 )3 + +· · · ν! 2! 3! ν=0 (A.47) A(t−t ) 0 es la matriz de transici´on o exponencial. La derivada total de e resulta:

Φ(t−t0 ) = eA(t−t0 ) =

deA(t−t0 ) dt

= I+A(t−t0 )+

A3 (t − to )2 = A + A2 (t − to ) + + ··· 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 d At t −Aτ A(t−t0 ) e x˙ = Ae x(t0 ) + e Bu(τ )dτ dt t0 Z t A(t−t0 ) At e−Aτ Bu(τ )dτ + eAt e−At Bu = Ax + Bu = Ae x(t0 ) + Ae t0

A.3 Variables de Estado

267

De esta forma se demuestra que (A.46) es la soluci´on de la ecuaci´on de estado (A.45). La representaci´on de la ecuaci´on de estado en el dominio laplaciano toma la forma: sx(s) − x(t0 ) = Ax(s) + Bu(s)

x(s) = (sI − A)−1 x(t0 ) + (sI − A)−1 Bu(s) = Φ(s)x(t0 ) + Φ(s)Bu(s)

y(s) = Cx(s) + Du(s) = C(sI − A)−1 x(t0 ) + [C(sI − A)−1 B + D]u(s)

(A.49) (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´on. 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´en se obtiene haciendo x(t0 ) = 0 en (A.50). Ejemplo A.40 Graficar la respuesta x(t) del sistema: x˙ = −2x + 5u con x(0) = 3. La entrada u(t) tiene la forma mostrada en la Fig. A.9. u(t)

1

t 0

1

2

3

4

Fig. A.9: Entrada u(t) para el ejemplo A.40.

Soluci´ on: Emplearemos la soluci´on 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 ; Para 1 ≤ t ≤ 3, u(t) =

3−t 2 , t0

x(t) = 3e−2 e−2(t−1) +

Z

t 1

x(1) = 3e−2

= 1 y x(t0 ) = x(1). Luego:

e−2(t−τ ) 5

 τ =t 3−τ 5 dτ = 3e−2t + e−2t 7e2τ − e2τ τ τ =1 2 8

5 x(t) = 3e−2t + [7 − t − 6e2(1−t) ]; 8

5 x(3) = 3e−6 + (4 − 6e−4 ) 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´afico de x(t), obtenido con el programa C2rpta.m se muestra en la Fig. A.10.

268

Sistemas Continuos 3

2.5

RESPUESTA x(t)

2

1.5

1

0.5

0

0

1

2

3

4 5 6 TIEMPO EN SEGUNDOS

7

8

9

10

Fig. A.10: Respuesta x(t) de un SLIT de primer orden a una entrada arbitraria u(t).

% C2rpta.m RESPUESTA DE UN SLIT A UNA ENTRADA ARBITRARIA clear all; close all; clc; x_3 = 3*exp(-6)+5*(4-6*exp(-4))/8; k=1; T=10; for t=0:0.01:T x(k)=3*exp(-2*t); if t>1; x(k)= 3*exp(-2*t)+5*(7-t-6*exp(2-2*t))/8; end if t>3; x(k)= x_3*exp(-2*(t-3)); end k=k+1; end ejex = linspace(0,T,T/0.01); plot(ejex,x(1:T/0.01)); grid ylabel(’RESPUESTA x(t)’); xlabel(’TIEMPO [s]’); print -deps -f rptarb

Ejemplo A.41 Dado u(t) = 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´on para los tiempos de muestreo de 0.1 s y 0.04 s. Soluci´ on: Es f´acil determinar que las ecuaciones de estado y de salida del sistema poseen la forma x˙ = Ax + Bu y y = Cx + Du respectivamente, donde:     −7 1 2 A= ; B= −12 0 −1 C=



3 −4



;

D = [−2];

x(0) =



−6 1



A.3 Variables de Estado

269

Seg´ un la Tabla A.2.1: u(s) = L[3e−t ] = 3/(s + 1). Luego, x(s) (ecuaci´on (A.49)) e y(s) (ecuaci´on (A.50)) toman la forma: 

−1   s + 7 −1 2 u(s) 12 s −1        3 1 2 −6 s 1 + = 2 −1 1 s + 7s + 12 −12 s + 7 s+1 " # 2

x(s) =

s + 7 −1 12 s

−1 

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

y(t) =



+



−6s +s−2 (s+1)(s+3)(s+4) s2 +77s−14 (s+1)(s+3)(s+4)

=

=

−6 1



3 −4



"

−6s2 +s−2 (s+1)(s+3)(s+4) s2 +77s−14 (s+1)(s+3)(s+4)

#

−2



3 s+1



6 297/6 −767/2 918/3 −22s2 − 305s + 50 − = + + (s + 1)(s + 3)(s + 4) s + 1 s+1 s+3 s+4 297 −t −767 −3t 918 −4t e + e + e , 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´on de la derivada: x˙ ∼ =

x(k + 1) − x(k) = Ax + Bu → x = x + T (Ax + Bu) T

donde T es el tiempo de muestreo y k = t/T es el tiempo discreto. Para T ≤ 0.04 s, las respuestas y(t) e y(kT ) pr´acticamente coinciden. Conforme T aumenta (por ejemplo para T = 0.1 s), la diferencia entre y(t) e y(kT ) es m´as notoria, lo cual nos indica que los sistemas muestreados dependen de T . Se deja como ejercicio resolver este ejemplo usando MATLAB. % crpta.m COMPARACI´ ON DE RESPUESTAS PARA DIFERENTES TIEMPOS DE MUESTREO clear all; close all; clc; A = [-7 1;-12 0]; B = [2;-1]; Cc = [3 -4]; Dc = [-2]; x = [-6;1]; T1=0.1; T2=0.04; % CONDICION INICIAL Y TIEMPOS DE MUESTREO for k = 1:100 u(k) = 3*exp(-k*T1); x = x + T1*(A*x + B*u(k)); y1(k) = Cc*x + Dc*u(k); end for k = 1:250 u(k) = 3*exp(-k*T2); x = x + T2*(A*x + B*u(k)); y2(k) = Cc*x + Dc*u(k); end t = 0:0.1:10; y = 297*exp(-t)/6 - 767*exp(-3*t)/2 + 918*exp(-4*t)/3; % GR´ AFICOS t=linspace(0,10,101); t1=linspace(0,10,100); t2=linspace(0,10,250); plot(t,y,t1,y1,’--’,t2,y2,’:’); grid ylabel(’RESPUESTAS ’); xlabel(’TIEMPO [s]’); print -deps -f crpta

Ejemplo A.42

270

Sistemas Continuos

20 y(t) para T1 = 0.1 s

10

RESPUESTAS

0 y(t) para T2 = 0.04 s −10 y(t) −20 −30 −40 −50

0

2

4

TIEMPO [s]

6

8

10

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´aficamente (ver figura A.12) los principios de proporcionalidad: y 2 (t) = 2y1 (t), y de superposici´on: y3 (t) = y1 (t) + y2 (t). % C2prosup.m PRINCIPIOS DE PROPORCIONALIDAD Y SUPERPOSICI ´ ON clear all; close all; clc; A = [-7 1;-12 0]; B = [2;-1]; Cc = [3 -4]; Dc = [-2]; T = 0.04; M = 100; x1 = [0;0]; x2 = x1; x3 = x1; for k= 1:M u1(k)=3; x1 = x1 + T*(A*x1 + B*u1(k)); y1(k) = Cc*x1 + Dc*u1(k); u2(k)=2*u1(k); x2 = x2 + T*(A*x2 + B*u2(k)); y2(k) = Cc*x2 + Dc*u2(k); u3(k)=u1(k)+u2(k); x3 = x3 + T*(A*x3 + B*u3(k)); y3(k) = Cc*x3 + Dc*u3(k); end t=linspace(0,M*T,M); plot(t,y1,t,y2,’--’,t,y3,’:’); grid ylabel(’RESPUESTAS’), xlabel(’TIEMPO [s]’), print -deps -f C2prosup

Ejemplo A.43 En el sistema de la Fig. A.13 ya se han definido las variables de estado xi del sistema, las cuales se han fijado a la salida de cada bloque de primer orden. Para este sistema: (a) Determinar su ecuaci´on de estado y su ecuaci´on 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´on con t 0 = 0. (f) Determinar y(t) para x(t0 ) = 0 usando (A.50). (g) Graficar las respuestas y1 (t) e y2 (t) a entradas tipo escal´on unitario.

A.3 Variables de Estado

271

80 70 y3 = y1 + y2 60

RESPUESTAS

50 40

y2 = 2y1

30 20

y1

10 0 −10 −20

0

0.5

1

1.5

2 2.5 TIEMPO [s]

3

3.5

4

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´on) x1

1 s+1

u1 u2

x2

2 s+2

4 s+4

5 s+5

u3

3 s+3

x4

y1

x5

y2

x3

Fig. A.13: Sistema del ejemplo A.43

Soluci´ on: (a) Del diagrama de bloques se puede comprobar que las salidas y1 e y2 poseen las expresiones: y1 = x 2 + x 3 + x 4 − x 5 + u 3

y2 = x 1 − x 2 + x 5 + u 2

(A.52)

Operando en el bloque que tiene como salida la variable de estado x1 , se obtiene: x1 =

1 (u1 − y1 ) s+1



(s + 1)x1 = x˙ 1 + x1 = u1 − y1

Reemplazando y1 de (A.52) en la u ´ltima expresi´on, se obtiene: x˙ 1 = −x1 − x2 − x3 − x4 + x5 − u3 Operando del mismo modo con los otros bloques resultan: (s + 2)x2 = 2(u2 − x2 )



x˙ 2 = −4x2 + 2u2

(A.53)

272

Sistemas Continuos (s + 3)x3 = 3(u3 − x5 )



x˙ 3 = −3x3 − 3x5 + 3u3

(s + 4)x4 = 4(x1 + u2 − x2 )



x˙ 4 = 4x1 − 4x2 − 4x4 + 4u2

(s + 5)x5 = 5(x2 + u3 − x3 + x3 )



x˙ 5 = 5x2 − 5x5 + 5x3

(A.54)

Las ecuaciones en (A.53) y (A.54) forman la ecuaci´on de estado x˙ = Ax + Bu mientras que las ecuaciones en (A.52) forman la ecuaci´on de salida y = Cx + Du, tal como se muestra a continuaci´on.        x˙ 1 −1 −1 −1 −1 1 x1 1 0 −1    x˙ 2   0 −4 0     0 0       x 2   0 2 0  u1  x˙ 3  =  0      0 −3 0 −3       x 3  +  0 0 3  u2  x˙ 4   4 −4 0 −4 0   x4   0 4 0  u3 x˙ 5 0 5 0 0 −5 x5 0 0 5 

y1 y2



=





 1 0 1 1 −1    1 −1 0 0 1 

x1 x2 x3 x4 x5

La MT G(s) toma la forma (ver archivo va.m): G(s) =

G11 (s) =



s+8 s2 + 5s + 8

G21 (s) =

s+4 2 s + 5s + 8



4s4 + 14s3 − 4s2 − 139s − 120 (s2 + 5s + 8)(s2 + 9s + 20)(s + 3)

(s2 + 10s + 24)2 (s + 5)(s + 3)(s2 + 5s + 8)

G22 (s) =

G23 (s) =

     u1   + 0 0 1  u2   0 1 0  u3

G11 (s) G12 (s) G13 (s) G21 (s) G22 (s) G23 (s) G12 (s) =

G13 (s) =



s5 + 15s2 + 93s3 + 291s2 + 510s + 480 (s2 + 5s + 8)(s2 + 9s + 20)(s + 3)

4s3 + 30s2 + 91s + 120 (s + 5)(s3 + s2 + 23s + 24)

Los elementos y1 (t) e y2 (t) del vector de salida y (calculados en va.m) resultan: 5 13 17 5 51 5 y1 = − e−3t + e−5t − e−4t + e− 2 t cos 2 4 16 2 16

√ ! 7 111 √ − 5 t 7e 2 sen t − 2 112

√ ! 7 t 2

5 3 183 − 5 t 1 39 e 2 cos y2 = − e−3t + e−5t − e−4t + 2 4 16 2 16

√ ! 99 √ − 5 t 7 t − 7e 2 sen 2 112

√ ! 7 t 2

Por otro lado, la Fig. A.14 muestra las respuestas y1 (t) e y2 (t) (Out(1) y Out(2) en el gr´afico) a los escalones u1 = 1, u2 = 1 y u3 = 1 (In(1), In(2) e In(3) en el gr´afico) obtenidas con el comando step de MATLAB. Ejecutar el archivo va.m.

A.3 Variables de Estado

273

´LCULOS PARA EL EJEMPLO 2.43 % va.m VARIOS CA clear all; close all; clc; % (a) ECUACIONES DE ESTADO Y DE SALIDA A = [-1 -1 -1 -1 1;0 -4 0 0 0;0 0 -3 0 -3;4 -4 0 -4 0;0 5 0 0 -5]; B = [1 0 -1;0 2 0;0 0 3;0 4 0;0 0 5]; C = [1 0 1 1 -1;1 -1 0 0 1]; D = [0 0 1;0 1 0]; I = eye(5); n = 5; p = 2; syms s; % (b) MATRIZ DE TRANSFERENCIA G = C*inv(s*I-A)*B + D; pretty(simplify(G)) % (c) ESTABILIDAD [E,DD]=eig(A); % DD = diag(-2.5000+1.3229i, -2.5000-1.3229i, -3.0000, -5.0000, -4.0000) % SISTEMA ESTABLE PORQUE LA PARTE REAL DE LAS RA ´ ICES SON NEGATIVAS % (d) CONTROLABILIDAD Y OBSERVABILIDAD M = ctrb(A,B); % MATRIZ DE CONTROLABILIDAD M = [A A*B A^2*B A^3*C A^4*B] rankM = rank(M); % rankM = 5 = n => SISTEMA COMPLETAMENTE CONTROLABLE CS = [C*B C*A*B C*A^2*B C*A^3*B C*A^4*B D]; rankCS = rank(CS); % rankCS = p = 2 => SISTEMA COMPLETAMENTE CONTROLABLE A LA SALIDA N = obsv(A,C); % MATRIZ DE OBSERVABILIDAD N=[C; C*A; C*A^2; C*A^3; C*A^4] rankN=rank(N); % rankN=5=n => EL SISTEMA ES COMPLETAMENTE OBSERVABLE % (e) MATRIZ DE TRANSICI´ ON Phi(t)=L^(-1)[(sI-A)^(-1)] Phi = ilaplace(inv(s*I-A)); pretty(simplify(Phi)) % (f) RESPUESTAS y1(t) e y2(t) U = [1/s;1/s;1/s]; Y = G*U; y = ilaplace(Y); pretty(simplify(y)) % (g) GR´ AFICOS DE LAS SALIDAS step(A,B,C,D), print -deps -f va

A.3.6.

Formas Can´ onicas SISO en el Espacio de Estado

La ecuaci´on diferencial que describe a un sistema SISO con par´ametros constantes toma la forma: dn−1 y(t) dn u(t) dn−1 u(t) dn y(t) + a + · · · + a y(t) = b + b + · · · + bn u(t) (A.55) 1 n 0 1 dtn dtn−1 dtn dtn−1 La FT correspondiente al sistema (A.55) es: G(s) =

b0 sn + b1 sn−1 + · · · + bn b0 + b1 s−1 + · · · + bn s−n y(s) = n = u(s) s + a1 sn−1 + · · · + an 1 + a1 s−1 + · · · + an s−n

(A.56)

En (A.39) vimos que la FT tambi´en se puede formular como: y(s) = G(s) = [C(sI − A)−1 B + D] u(s) que corresponde al sistema SLIT en el espacio de estado: x˙ = Ax+Bu; y = Cx+Du. Tal sistema posee diversas representaciones notables en el espacio de estado. Dichas representaciones se denominan formas can´onicas. La transformaci´on can´onica tratada en el ejemplo A.34 es una de ellas. Otras formas can´onicas se describen a continuaci´on.

274

Sistemas Continuos Step Response From: In(1)

1.5

From: In(2)

From: In(3)

1

To: Out(1)

0.5

0

Amplitude

−0.5

−1 1.5

To: Out(2)

1

0.5

0

0

1

2

3

0

1

2 Time (sec)

3

0

1

2

3

Fig. A.14: Respuestas y1 (t) e y2 (t) a los escalones u1 = 1, u2 = 1 y u3 = 1 (ejemplo A.43) .

Primera Forma Can´ onica Controlable: 

0 0 .. .

   x˙ =   

1 0 .. .

0 1 .. .

··· ···

0 0 0 ··· −an −an−1 −an−2 · · ·  y = bn − an b0 bn−1 − an−1 b0



0 0 .. .

x1 x2 .. .

     1   xn−1 −a1 xn ···





0 0 .. .



         + u      0  1  b 1 − a 1 b0 x + b 0 u

(A.57)

Segunda Forma Can´ onica Controlable: 

   x˙ =   

0 0 .. . 0 −an

1 0 .. .

0 1 .. .

··· ···

0 0 .. .



x1 x2 .. .

     0 0 ··· 1   xn−1 −an−1 −an−2 · · · −a1 xn   y = 1 0 · · · 0 x + β0 u





β1 β2 .. .

      +     βn−1 βn



   u  

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

A.3 Variables de Estado

275

Tercera Forma Can´ onica Controlable: 

   x˙ =   

−a1 1 0 .. .

−a2 0 1 .. .

··· ··· ···

−an−1 0 0 .. .

0 

0

···

1

y=

b1 − a 1 b0

−an 0 0 .. .



x1 x2 .. .

       xn−1 xn





1 0 .. .

      +     0 0 0  · · · b n − a n b0 x + b 0 u

b2 − a 2 b0



   u  

(A.59)

Primera Forma Can´ onica Observable: 

0 1 .. .

0 0 .. .

   x˙ =    0 0

0 0

··· ···

0 0 .. .

0 0 .. .



−an −an−1 .. .





x1 x2 .. .

bn − a n b0 bn−1 − an−1 b0 .. .

         +     ··· 1 0 −a2   xn−1   xn ··· 0 1 −a1   y = 0 0 · · · 0 1 x + b0 u

b2 − a 2 b0 b1 − a 1 b0



   u  

(A.60)

Segunda forma can´ onica observable: 

−a1 −a2 .. .

   x˙ =    −an−1 −an

1 0 .. .

0 1 .. .

··· ···

0 0 .. .

0 0

0 0

··· ···

0 0

y=



1



0 0 .. .

x1 x2 .. .

     1   xn−1 0 xn

0

···

0





b1 − a 1 b0 b2 − a 2 b0 .. .

      +     bn−1 − an−1 b0 bn − a n b0  0 · · · x + b0 u



   u  

(A.61)

Forma Can´ onica Diagonal (eigenvalores no repetidos) Formulando (A.56) como: n

X ci 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´onica diagonal es: 

x˙ 1 x˙ 2 .. .

      x˙ n−1 x˙ n



      =   

y=

λ1 0 .. .

0 λ2 .. .

··· ···

0 0 .. .

0

0

···

λn



c1

c2

···

cn

     

x1 x2 .. . xn





    +  

x + b0 u

1 1 .. . 1



  u  (A.62)

276

Sistemas Continuos

Forma Can´ onica de Jordan (eigenvalores repetidos) Describiremos la forma can´onica de Jordan con un ejemplo. Supongamos que (A.56) toma la forma: G(s) =

y(s) b0 sn + b1 sn−1 + · · · + bn−1 s + bn B(s) = = 3 2 u(s) (s − p1 ) (s − p4 ) (s − p6 ) · · · (s − pn ) A(s)

8

X ci c2 c3 c4 c5 c1 + + + + + = b0 + (s − p1 )3 (s − p1 )2 s − p1 (s − p2 )2 s − p2 s − pi i=6

donde los eigenvalores p1 y p2 se repiten tres y dos veces respectivamente, y el resto, p6 , p7 y p8 no lo son. Las constantes b0 , ci , i = 1, . . . , 8 y los eigenvalores p1 , p2 , p6 , p7 y p8 se calculan empleando el comando [r,p,k] = residue(B,A) (ver ecuaci´on (A.5)). La forma can´onica de Jordan es (notar la ubicaci´on de los ceros y unos en el vector que multiplica a u):      x1 0 p1 1 0 0 0 0 0 0  0 p 1 1 0 0 0 0 0   x2   0        0 0 p 1 0 0 0 0 0   x3   1        0 0 0 p 2 1 0 0 0   x4   0        x˙ =    x5  +  1  u 0 0 0 0 p 0 0 0 2       0 0 0 0 0 p 6 0 0   x6   1        0 0 0 0 0 0 p 7 0   x7   1  1 0 0 0 0 0 0 0 p8 x8   y = c1 c2 c3 c4 c5 c6 c7 c8 c9 x + b 0 u (A.63) 8

X ci 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´onicas para: G(s) =

1 − 2.8s−1 − 0.65s−2 + 6.8s−3 − 4.25s−4 − 1.3s−5 + 1.2s−6 1 + 1.3s−1 − 1.69s−2 − 0.345s−3 + 0.49s−4 + 0.02s−5 − 0.04s−6

´NICAS % C2forca1.m FORMAS CANO clear all; close all; clc; b0=1; b1=-2.8; b2=-0.65; b3=6.8; b4=-4.25; b5=-1.3; b6=1.2; a1=1.3; a2=-1.69; a3=-0.345; a4=0.49; a5=0.02; a6=-0.04; B = [b0 b1 b2 b3 b4 b5 b6]; % B(s): POLINOMIO DEL NUMERADOR A =[1 a1 a2 a3 a4 a5 a6]; % A(s): POLINOMIO DEL DENOMINADOR roots(A); % RA´ ICES DE A(s): 0.5, 0.5, 0.5, -0.4, -0.4, -2 % EL SISTEMA ES INESTABLE DEBIDO A LA RA´ IZ TRIPLE 0.5 % 2DA FORMA CAN´ ONICA CONTROLABLE: dx/dt = Acc*x + Bcc*u; y = Ccc*x + Dcc*u beta0 = b0; beta1 = b1-a1*beta0; beta2 = b2-a1*beta1-a2*beta0; beta3 = b3-a1*beta2-a2*beta1-a3*beta0;

A.3 Variables de Estado

277

beta4 beta5 beta6 Acc =

%

% % %

= b4-a1*beta3-a2*beta2-a3*beta1-a4*beta0; = b5-a1*beta4-a2*beta3-a3*beta2-a4*beta1-a5*beta0; = b6-a1*beta5-a2*beta4-a3*beta3-a4*beta2-a5*beta1-a6*beta0; [0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 -a6 -a5 -a4 -a3 -a2 -a1]; Bcc = [beta1;beta2;beta3;beta4;beta5;beta6]; Ccc = [1 0 0 0 0 0]; Dcc =[beta0]; 1RA FORMA CAN´ ONICA OBSERVABLE: dx/dt = Aco*x + Bco*u; y = Coo*x + Doo*u Aoo = [0 0 0 0 0 -a6 1 0 0 0 0 -a5 0 1 0 0 0 -a4 0 0 1 0 0 -a3 0 0 0 1 0 -a2 0 0 0 0 1 -a1]; Aco = [b6-a6*b0;b5-a5*b0;b4-a4*b0;b3-a3*b0;b2-a2*b0;b1-a1*b0]; Cco = [0 0 0 0 0 1]; Dco=[b0]; FORMA CAN´ ONICA DE JORDAN: dx/dt = Aj*x + Bj*u; y = Cj*x + Dj*u [c,p,k] = residue(B,A); % EXPANSI´ ON EN FRACCIONES PARCIALES c = [-1.89 3.6133 -1.0136 0.1111 -5.8233 -0.5323]’; p = [-2 0.5 0.5 0.5 -0.4 -0.4]; k = 1; c1=c(1); c2=c(2); c3=c(3); c4=c(4); c5=c(5); c6=c(6); p1=p(1); p2=p(2); p2=p(3); p2=p(4); p3=p(5); p3=p(6); Aj = [p1 0 0 0 0 0 0 p2 1 0 0 0 0 0 p2 1 0 0 0 0 0 p2 0 0 0 0 0 0 p3 1 0 0 0 0 0 p3]; Bj = [1;0;0;1;0;1]; Cj = [c1 c2 c3 c4 c5 c6]; Dj = [k];

Ejemplo A.45 Conocido el sistema x˙ = Ax + Bu, y = Cx + Du, determinar la ecuaci´on de estado y la ecuaci´on de salida en su forma can´onica de Jordan: x˙ = Aj x+Bj u, y = Cj x+Dj u. Demuestre que las matrices A y Aj poseen los mismos eigenvalores y que ambas representaciones de estado generan la misma funci´on de transferencia. Soluci´ on: El siguiente programa resuelve las preguntas planteadas. ´NICA DE JORDAN DE dx/dt + A*x + B*u; y = C*x + D*u % C2forca2.m FORMA CANO 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´ on Directa

Discretizaci´ on de la Integral Es bastante u ´til discretizar directamente modelos din´amicos que contengan integrales y derivadas. La integral de una curva e(t); es decir, el a´rea debajo de dicha curva, se puede aproximar empleando una sumatoria de rect´angulos de la forma T e(iT ) (Fig. A.15(a)) o trapezoides de la forma: T

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

tal como se observa en la Fig. A.15(b), donde T es el tiempo de muestreo. Los siguientes ejemplos ilustran tal aproximaciones. e(t)

e(t)

e(iT)

t=iT

T

e(iT+T)

e(iT)

t=iT

T

(a)

(b)

Fig. A.15: (a) Aproximaci´on del a´rea bajo la curva e(t) mediante rect´angulos. (b) Mediante trapezoides.

Ejemplo A.46 Determinar la ecuaci´on de diferencias de la siguiente integral usando tanto aproximaci´on rectangular como trapezoidal. Z t e(τ )dτ u(t) = 0

Soluci´ on: Si empleamos sumatoria de rect´angulos para aproximar el a´rea debajo de la curva e(t), se obtiene: u(kT ) ≈

k X i=0

T e(iT ) = T

k X i=0

e(iT ) = T

k−1 X i=0

e(iT ) + T e(kT ) = u(kT − T ) + T e(kT )

u(kT ) − u(kT − T ) = T e(kT ) u(k) = u(k − 1) + T e(k)

(A.65)

A.4 Discretizaci´ on Directa

279

donde k = t/T es el tiempo discreto. En la expresi´on (A.65), denotada como la ecuaci´on discreta de la integral, hemos omitido en el argumento su dependencia con el tiempo de muestreo T , ya que todos los t´erminos se discretizan empleando dicho tiempo. Para el otro caso, empleamos sumatoria de trapecios para aproximar el a´rea debajo de la curva e(t): k X e(iT − T ) + e(iT ) u(kT ) ≈ T 2 i=1

k−1 X e(kT − T ) + e(kT ) e(iT − T ) + e(iT ) = T +T 2 2 i=0

= u(kT − T ) + T

e(kT − T ) + e(kT ) 2

T [e(kT − T ) + e(kT )] 2 T u(k) = u(k − 1) + [e(k − 1) + e(k)] 2

u(kT ) − u(kT − T ) =

(A.66)

Discretizaci´ on de la Derivada T´erminos que contengan derivadas pueden discretizarse empleando diferencias por atraso: de(t) dt de(t) ˙ dt

∆e(kT ) e(kT ) − e(kT − T ) e(k) − e(k − 1) = = T T T ∆e(kT ˙ ) e(t) ˙ − e(t ˙ − T) ∆e(kT ) − ∆e(kT − T ) = e¨(t) ≈ = = T T T2 e(k) − 2e(k − 1) + e(k − 2) e(k) − e(k − 1) − [e(k − 1) − e(k − 2)] = = 2 T T2 .. . (A.67) = e(t) ˙ ≈

Si la discretizaci´on de la derivada se realiza por adelanto, entonces las diferencias son de la forma: de(t) dt de(t) ˙ dt

∆e(kT ) e(kT + T ) − e(kT ) e(k + 1) − e(k) = = T T T ∆e(kT ˙ ) e(t ˙ + T ) − e(t) ˙ ∆e(kT + T ) − ∆e(kT ) = e¨(t) ≈ = = T T T2 e(k + 1) − e(k) − [e(k) − e(k − 1)] e(k + 1) − 2e(k) + e(k − 1)] = = T2 T2 .. . (A.68) = e(t) ˙ ≈

Ejemplo A.47 El controlador PID se emplea en m´as del 90 % de los circuitos de control existentes en la industria. Este controlador se formula en la ecuaci´on (A.69), donde K c es la ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo. Determinar la ecuaci´on de diferencias de dicho controlador. En un primer caso emplear aproximaci´on rectangular y luego usar aproximaci´on trapezoidal.   Z t de(t) 1 e(t)dt + TD u(t) = Kc e(t) + (A.69) TI 0 dt

280

Sistemas Continuos

Soluci´ on: Empleando las relaciones (A.65) y (A.67) en (A.69) se obtiene: u(k) = Kc

u(k − 1) = Kc

(

(

k T X TD e(k) + [e(k) − e(k − 1)] e(i) + TI T i=0

)

k−1 TD T X e(i) + e(k − 1) + [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´on de diferencias del controlador PID: u(k) = u(k − 1) + q0 e(k) + q1 e(k − 1) + q2 e(k − 2)

(A.70)

donde:   TD q1 = −Kc 1 + 2 ; T

  TD T ; + q0 = K c 1 + Ti T

q2 = K c

TD T

Si la integraci´on emplea el m´etodo trapezoidal, entonces: ( )  k  1 X e(i − 1) + e(i) TD T u(k) = Kc e(k) + + [e(k) − e(k − 1)] TI 2 T i=1

u(k − 1) = Kc

(

)  k−1  e(i − 1) + e(i) TD 1 X [e(k − 1) − e(k − 2)] T + e(k − 1) + TI 2 T i=1

Restando las expresiones anteriores teniendo en cuenta que: k X i=1

[e(i − 1) + e(i)] =

k−1 X i=1

[e(i − 1) + e(i)] + e(k − 1) + e(k)

y despejando u(k) obtenemos una expresi´on similar a (A.70), donde:     T T TD TD TD + ; q1 = −Kc 1 + 2 − ; q2 = K c q0 = K c 1 + T 2TI T 2TI T

A.5.

Sistemas con Tiempo Muerto

En algunos sistemas industriales, el tiempo muerto se debe de tomar en cuenta cuando por ejemplo existe un retardo considerable hasta que la se˜ nal de control llegue al actuador. En otro caso, dicho retardo aparece cuando el punto de medici´on est´a lejos de la zona de inter´es, por ejemplo, cuando en la planta s´olo se pueden instalar sensores lejos de la zona de inter´es para la medici´on. 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´on: x(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´on 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´on: 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 u ´til emplear la aproximaci´on de Pad´e para modelar el tiempo muerto en el dominio continuo: e−τ s = 1 − sτ +

1 num(s) 1 (sτ )2 − (sτ )3 + · · · = !2 !3 den(s)

Con una aproximaci´on 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´on tiene la forma: e−τ s ≈

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

La principal ventaja de usar una aproximaci´on 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´on 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´on de Pad´e de tercer orden. Luego, determinar la ecuaci´on de estado aproximada del sistema. Soluci´ on: El programa ejpade.m resuelve el problema planteado y los resultados se ilustran en la Fig. A.16. % ejpade.m PROCESOS CON TIEMPO MUERTO D Y CON APROXIMACI ´ ON DE PAD´ E clear all; close all; clc; s = tf(’s’); % HABILITA FT D = 5.8; numD=-D^3*s^3/120+D^2*s^2/10-D*s/2+1; denD=D^3*s^3/120+D^2*s^2/10+D*s/2+1; % APROXIMACI ´ ON 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

8

Amplitude

6

4

2

exp(−sD) 0

−2

Padé de 3er orden

0

5

10

15

20

25

Time (sec)

Fig. A.16: Comparaci´on de las respuestas a un escal´on del sistema y de su modelo aproximado mediante una aproximaci´on de Pad´e de tercer orden (ejemplo A.48).

A.6.

Linealizaci´ on de Sistemas Continuos

A.6.1.

Caso SISO

El desarrollo de la serie de Taylor permite expandir una expresi´on no lineal continua Y = f (X) alrededor de un punto de operaci´on (o estado de equilibrio) X como sigue: (X − X) (X − X)2 df d2 f Y = f (X) = f (X) + + + · · · (A.73) 2 dX (X=X) 1! dX (X=X) 2!

Si la expresi´on de Y depende de las n variables X1 , . . . , Xn , entonces el desarrollo de Taylor, despreciando los t´erminos de orden m´as alto, produce: ∂f (X1 − X 1 ) Y = f (X1 , . . . , Xn ) = f (X 1 , . . . , X n ) + ∂X1 (X1 =X 1 ) ∂f ∂f + (X2 − X 2 ) + · · · + (Xn − X n ) (A.74) ∂X2 ∂Xn (X2 =X 2 )

(Xn =X n )

Ejemplo A.49

Linealizar la siguiente taza de reacci´on rA para el punto de operaci´on (T , C A ): E

rA = k0 e− RT CA

A.6 Linealizaci´ on de Sistemas Continuos

283

donde k0 , E y R son constantes. Soluci´ on: Aplicando (A.74) con X1 = T y X2 = CA se obtiene: r A = r A + C 1 t + C 2 cA − E RT

r A = k0 e CA ∂rA C1 = ∂T (T =T )

t=T −T

c A = CA − C A

∂rA C2 = ∂CA (CA =C A )

(A.75)

Las variables t y cA se denominan variables residuales o de desviaci´on.

A.6.2.

Caso MIMO

Un sistema MIMO no Lineal invariante con el tiempo de orden n se puede representar como: ˙ = f (X, U) X Y = g(X, U) (A.76)           X˙ 1 f1 (X, U) Y1 g1 (X, U) U1  ..     ..      .. .. U =  ...   . =   . =  . . fn (X, U) Yp gp (X, U) Um X˙ n

donde f (X, U) es la ecuaci´on de estado del sistema, mientras que g(X, U) es la ecuaci´on de salida. Tanto f como g son funciones vectoriales de las variables vectoriales X y U. El desarrollo de Taylor para la ecuaci´on de estado de este sistema, resulta:   ¯ U) ∂f (X, U) ∂f (X, ˙ (X − X) + (U − U) + X = f (X, U) + ∂X ∂U   ¯ U) 1 ∂ 2 f (X, U) ∂ 2 f (X, U) ∂ 2 f (X, 2 2 ¯ (X − X) + 2 (X − X)(U − U ) + (U − U) + · · · 2! ∂x2 ∂X∂U ∂U2 Despreciando los t´erminos de orden dos se obtiene: ∂f ∂f ˙ (X − X) + (U − U) X = f (X, U) = f (X, U) + ∂X (X,U) ∂U (X,U) ∂f ∂f ˙ X − f (X, U) = x˙ = x+ u (A.77) ∂X ∂U (X,U)

(X,U)

Del mismo modo, la ecuaci´on 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: x˙ = Ax + Bu

y = Cx + Du

(A.79)

donde A es la matriz de estado de orden n × n, B es la matriz de distribuci´on 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´on) 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´a controlado, es el vector de referencias o set points R; es decir: Y = R. El procedimiento de linealizaci´on significa entonces que estamos asumiendo variaciones peque˜ nas de la din´amica del sistema alrededor del estado estacionario o de equilibrio. Las matrices A, B, C y D se determinadas evaluando las siguientes matrices jacobianas:  ∂f1  ∂f1 ∂f1  ∂f1  ∂X1 · · · ∂Xn ∂U1 · · · ∂Um   ..  ..  .. .. A =  ... B =  ... . . .  .  

 C = 

∂fn ∂X1 ∂h1 ∂X1

.. .

∂hp ∂X1

···

∂fn ∂Xn

··· .. . ···

∂h1 ∂Xn

.. .

∂hp ∂Xn

  

(X,U)



 D=

(X,U)

∂fn ∂U1

∂h1 ∂U1

.. .

∂hp ∂U1

···

∂fn ∂Um

··· .. . ···

∂h1 ∂Um

.. .

∂hp ∂Um

(X,U)

  

(A.80) (X,U)

Ejemplo A.50 La Fig. A.17 muestra dos tanques id´enticos colocados en cascada. La secci´on horizontal S=9 m2 de cada tanque es constante. El objetivo de control es estabilizar (controlar) la altura H2 empleando como fuerza de control el flujo de alimentaci´on Qo . Determinar el modelo linealizado de este sistema hidr´aulico, su estabilidad y su funci´on de transferencia. Q

p

0

H1

0

ρ p

γ

1

p H2

Tanque 1 Q

0

g 1

ρ p

2

Tanque 2

γ Q

2

Fig. A.17: Sistema hidr´aulico. Soluci´ on: Los flujos de salida Q1 y Q2 de los tanques se pueden modelar como: p p Q1 = γ P 1 − P 0 ; Q2 = γ P 2 − P 0

donde P1 , P2 y P0 son las presiones en el fondo de los tanques y en el exterior respectivamente, y γ=0.4 es una constante que depende de la geometr´ıa del orificio. Si ρ=1.23 kg/m3 es la densidad del l´ıquido y g=9.81 m/s2 es la aceleraci´on de la gravedad: P1 − P0 = ρgH1 P2 − P0 = ρgH2

A.6 Linealizaci´ on de Sistemas Continuos

285

El flujo acumulado en cada tanque es: Q0 − Q 1 = S

dH1 dt

dH2 dt

Q1 − Q 2 = S

Definiendo las variables de estado X1 = H1 y X2 = H2 y la entrada U = Q0 , y resolviendo las ecuaciones anteriores para X1 y X2 , obtenemos: √ γ ρg p 1 X˙ 1 = U − X1 = f1 (X, U ) S S √ p γ ρg p X˙ 2 = [ X1 − X2 ] = f2 (X, U ) S y su correspondiente ecuaci´on de salida: Y = h(X, U ) = X2 Observar que las ecuaciones anteriores poseen las formas dada en (A.76)): ˙ = f(X, U ) X

Y = h(X, U ) = X2

donde la salida Y (la funci´on g) y la entrada U son en este caso escalares, y:     X˙ 1 f1 ˙ X= f= f2 X˙ 2 Definamos las siguientes variables residuales: x1 = X 1 − X 1

x2 = X 2 − X 2

u=U −U

Conociendo que U = 3 m3 /s, el estado estable del sistema se puede obtener de: √ q γ ρg 1 ˙ X1 = U − X1 = 0 S S √ q q  γ ρg ˙ X2 = X1 − X2 = 0 S lo que resulta en:

2

U X1 = X2 = 2 γ ρg Aplicando el jacobiano, el sistema linealizado resulta: x˙ = A x + B u

(A.81)

y = h(x, u) = x2 = C x

D = [0]

donde: x=



B=



x1 x2 ∂f1 ∂U ∂f2 ∂U



;



A=

(X 1 ,X 2 ,U )

" =

∂f1 ∂X1 ∂f2 ∂X1



1/S 0

∂f1 ∂X2 ∂f2 ∂X2



;

#

(X 1 ,X 2 ,U )

C=





=

∂h ∂X1



√ γ ρg √ ¯ 2S √ X1 γ ρg

2S



∂h ∂X2

X1



0 −

√ γ ρg 2S



X2

 

= [0 1]

(X 1 ,X 2 ,U )

La estabilidad y la funci´on de transferencia del sistema se computan con el programa C2tqh.m.

286

Sistemas Continuos

% C2tqh.m SISTEMA HIDR´ AULICO clear all; close all; clc; S = 9; gamma = 0.4; rho = 1.23; g = 9.81; Qoinf = 3; % PARAMETROS X1bar = Ubar^2/(gamma^2*rho*g); X2bar = X1bar; % PUNTOS DE EQUILIBRIO a11 = -gamma*sqrt(rho*g)/(2*S*sqrt(X1bar)); a21 = -a11; a22 = -gamma*sqrt(rho*g)/(2*S*sqrt(X2bar)); A = [a11 0;a21 a22]; B = [1/S;0]; C = [0 1]; D = [0]; % SISTEMA LINEAL eigA = eig(A); % EINGENVALORES: -0.0358 Y -0.0358 => SISTEMA ESTABLE [P,Q] = ss2tf(A,B,C,D); % P = [0 0 0.004]; Q = [1 0.0715 0.0013] % FUNCION DE TRANSFERENCIA: P(s)/Q(s)=0.004 /(s^2 + 0.0715s + 0.0013)

A.7.

Problemas

Problema A.1 Demostrar que AB 6= BA, cuando:   2 −2 2 A =  −6 4 −2  −4 2 0

Problema A.2

Demostrar que AB = AC, lo cual    2 −6 4 B= A =  4 2 −6  8 −6 −2

Problema A.3



 2 4 4 B =  4 8 12  2 4 6

no necesariamente implica que B = C, , cuando:    4 2 −2 −4 2 8 2 0 4 2 2 2  C =  6 −4 −2 −2  4 −10 −2 0 2 −4 2 4

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 10  A =  −2 8 B =  2 −6 −10  2 −6 −10 −2 6 10

Problema A.4

Demostrar que A y B son idempotentes.   2 −3 −5 5  A =  −1 4 1 −3 −4

Problema A.5



 −1 3 5 B =  1 −3 −5  −1 3 5

Demostrar que la siguientes matriz es peri´odica, con per´ıodo igual a 2:   1 −2 −6 9  A =  −3 2 2 0 −3

A.7 Problemas

287

Problema A.6 Demostrar que la siguientes matriz es nilpotente:   1 −3 −4 4  A =  −1 3 1 −3 −4

Problema A.7

Dada las matrices:   1 1 + i 2 + 3i 2 −i  A= 1−i 2 − 3i i 0

 i 1 + i 2 − 3i 2i 1  B =  −1 + i −2 − 3i −1 0 

demostrar que A, iB y A∗ son hermitianas, y que B y B∗ son antihermitianas. Problema A.8 Empleando matem´atica simb´olica demostrar que:  n  n  λ nλn−1 λ 1 = 0 λn 0 λ Problema A.9 Empleando matem´atica  2 a  b2 A=  c2 d2

simb´olica demostrar que las matrices:   3 2 a 1 bcd a a 3 2   b 1 acd   b b B = 3  c c2 c 1 abd  d 1 abc d3 d2

a b c d

 1 1   1  1

poseen el mismo determinante: (a − b)(a − c)(a − d)(b − c)(b − d)(c − d). Problema A.10 Empleando matem´atica simb´olica hallar la derivada con respecto a x del determinante de la matriz:   x 1 2 x3  A =  x2 2x + 1 2 0 3x − 2 x + 1 Problema A.11

Examine la dependencia o independencia lineal del siguiente conjunto de vectores. Si el conjunto es dependiente, seleccione el m´aximo subconjunto linealmente independiente y exprese cada uno de los vectores dependientes como una combinaci´on 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´etrica 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 i 0 i  A= −1 + i i 0 Problema A.15 Demostrar que el producto xH Ax es definida positiva y que el producto xH Bx es semidefinida positiva, donde:     2 2 + 2i −2 1 1 + i 1 + 2i 12 −6 + 2i  3 5  A =  2 − 2i B= 1−i −2 −6 − 2i 22 1 − 2i 5 10 Problema A.16

Para cada ecuaci´on integro–diferencial, elaborar un programa en MATLAB para graficar la salida y(t) cuando u(t) es un escal´on unitario. Luego, elaborar un programa en Simulink para visualizar la se˜ nal y(t). Todas las condiciones iniciales son nulas. Z t p dy(t) (a) + 2y(t) 5y(t) + 4 y(τ )dτ = u(t) dt 0 d2 y(t) dy(t) (b) + y(t) = u(t) dt2 dt Z t dy(t) 2 y(τ )dτ = u(t) + 2y (t) + 4 (c) − dt 0 Z t d2 y(t) 3 y(τ )dτ = u(t) + 7y (t) − (d) − dt2 0

A.7 Problemas

289

Problema A.17 Determinar la ecuaci´on de estado y la ecuaci´on de salida de los sistemas: (a)

2x1 + 3x2 − 5x3 = 4u1 − 3u2 + x˙ 1 ;

x˙ 2 − x1 + 8x2 − 2x3 = −u1

2x2 − 5x3 = −3u1 − 4u2 − x˙ 3

(b)

y1 = x1 − 3x2 − u2 ;

y2 = −3x1 + 7x3 + u1 − 5u2

−x1 − 8x2 + x3 + x˙ 1 = u1 ;

2x1 + 4x2 − 2x3 = −3u2 − u2 + x˙ 2

2x2 − 5x3 = −3u1 + 3u2 + x˙ 3

(c)

y1 = 3x1 − x2 + u1 ;

y2 = −x1 − 5x3 − 5u2

6x1 + 7x2 + x˙ 1 = 4u2 ;

x2 − 6x3 = x˙ 3 − u1 + 9u2

(d)

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

y1 = 4x1 + x2 − u1 + u2 ;

y2 = −3x1 + 7x2 − 5u2

3x2 − 5x3 + x˙ 1 = −3u1 + 3u2 ;

x˙ 2 − 6x1 + 5x2 − 7x3 = −3u2

x1 − 2x2 − 5x3 + x˙ 3 = −3u1

y1 = x1 − u2 + 8u2 ;

y2 = −3x2 + 7x3 − 9u1 − 2u2

donde u1 y u2 son las entradas, y1 e y2 son las salidas y x1 , x2 y x3 son las variables de estado. Problema A.18 Graficar la corriente i(t) que circula en un circuito serie RLC alimentado por una 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´on caracter´ıstica del circuito, determine la estabilidad, la frecuencia natural de oscilaci´on 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´on G(t) de respuesta al impulso δ(t), es evaluando la siguiente condici´on 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´on escal´on, la cual es igual a 1 para t ≥ 1. El sistema es inestable porque: Z ∞ Z ∞ |1|dτ = ∞ |G(τ )|dτ = −∞

0

Aplicando este principio, determine G(t) y la estabilidad del sistema: y˙ + 2y = x. Problema A.20

290

Sistemas Continuos

Hallar la transformada inversa de: G(s) =

s3 + s2 + 2s + 1 s3 + 3s2 + 2s + 3

. Problema A.21 Graficar para varios valores del cero c, la respuesta al escal´on 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: G(s) =

3s3 + 20 s2 (s + 1)

Problema A.23 Determine la matriz de transici´on, la ecuaci´on caracter´ıstica, la estabilidad, la controlabilidad, la observabilidad (el primer elemento del vector de estado v es la salida) y la FT del sistema siguiente:     0 1 3 v˙ = v+ u 0 −2 −4 Problema A.24 Hallar varias ecuaciones de estado y de salida can´onicas para el sistema: s3 − 2s + 1 y(s) = 3 u(s) s − 2s2 + 3s − 4 Problema A.25 Un motor DC empleado en los sistemas de control de posici´on angular θ y de velocidad angular θ˙ = ω, se describe mediante la relaci´on: ω˙ = −ω + 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´atico de la profundidad y de un submarino, el cual se logra generando un a´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´etodo 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

K

(s − 1)

2

y

1 s

2

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´on 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: qR = q a − q p

qR = Ri2

qa = C t

dTi dt

qp =

Ti − T a Rt

donde Ct = 4184 J/o C es la capacitancia t´ermica, R = 20 Ω es la resistencia el´ectrica, Rt = 0.1 o C/J es la resistencia t´ermica, i(t) es una corriente de entrada tipo escal´on de magnitud 0.5 A y de duraci´on 2000 s, cuyo valor inicial es 1 A. Ta es la temperatura ambiente que act´ ua como una entrada tipo escal´on de duraci´on 6000 s, cuyo valor o inicial es 20 C y su valor final es 15 o C, qR es el flujo de calor en J/s producido en R, qp es el flujo de calor en J/s que va al exterior y Ti es la temperatura en o C en el interior. Elaborar un programa en Simulink para graficar las se˜ nales i(t), T a (t) y Ti (t). Considerar que la temperatura Ti (0) inicial en el integrador es 22 o C. Problema A.29 En la Fig. A.19, R es un escal´on unitario y N es un disturbio escal´on de magnitud 0.1R. Emplear Simulink y usar el m´etodo de prueba y error para determinar los par´ametros Kc y Ki que hagan que la salida Y siga a la referencia R con suficiente rapidez. N R Kc + Ki/s

(s+7)(s+8)(s+9) (s+1)(s+2)(s+3)(s+4)(s+5)

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

Problema A.30

Y

292

Sistemas Continuos

Graficar las salidas usando Simulink en el siguiente sistema de ecuaciones diferenciales acopladas: dT = A(T − To1 )Fo − B(T − Ta ) dt

dTa = C(Ta − To2 )Fo + D(Ta − T ) dt

donde A = C = 0.08, B = D = 0.05. Tambi´en, Fo = 0.01 m3 /min, To1 = 280K y To2 = 350 K son perturbaciones tipo escal´on. Problema A.31 En la Fig. A.20, R es un escal´on unitario y N es un disturbio escal´on de magnitud 0.1R. Emplear Simulink y usar el m´etodo de prueba y error para determinar los par´ametros Kc y Ki que hagan que la salida Y siga a la referencia R con suficiente rapidez. N R

Y

10e−3t 4s+1

Kc + Ki/s 2e −2t

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

Problema A.32 Para el sistema mostrado en la Fig. A.21 investigar empleando Simulink si es posible hallar las ganancias K1 , K2 y K3 que hagan que y1 siga a r1 y que y2 siga a r3 con suficiente rapidez.

r1 r2

r3

K1

K2

u

1

u2

x1

1 s+1

2 s+2

x2

4 s+4

5 s+5 K3

u3

3 s+3

x3

Fig. A.21: Sistema del problema A.32

x4

y1

x5

y2

A.7 Problemas

293

Problema A.33 La funci´on de transferencia de un sistema tiene la forma: G(s) =

5s2 − 0.9167s − 0.5417 y(s) = 3 u(s) s + 0.5833s2 + 0.0417s + 0,0417

V´ıa Simulink determine: (a) su respuesta ye (t) a un escal´on 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´onicas. Problema A.34 Las poblaciones P1 , P2 y P3 de tres especies en un a´rea restringida est´an gobernadas por las ecuaciones: P˙1 = 2P1 + 3P2 + 6P3 + c1 u P˙2 = −3P1 + 3P2 + 8P3 + c2 u P˙3 = P1 − 3P2 + 2P3 + c3 u Si la entrada u es un escal´on 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´on de estado: x(t) ˙ = −4x(t) + 2u(t) graficar x(t) sabiendo que x(0) = 1 y u(t) es la rampa mostrada en la Fig. A.22.

ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ ÅÄÅÄÅÄ u(t)

1

0

1

t

Fig. A.22: Funci´on rampa.

Problema A.36 Para el punto de operaci´on: 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. x˙ 1 = −2x21 + 3x1 x2 − u31 + u2

294

Sistemas Continuos x˙ 2 = −4x31 + 6x21 x2 − 4u31 − 2u22 y1 = 3x1 − 4u1 + 6u22

y2 = −3x21 + 4x2 + 2u1 Problema A.37 En el sistema de la Fig. A.23: (a) Determinar su ecuaci´on de estado y ecuaci´on de salida. (b) Hallar su matriz de transferencia. (c) Determinar su estabilidad. (d) Hallar la controlabilidad completa, la controlabilidad completa a la salida y la observabilidad completa. (e) Determinar la matriz de transici´on 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

1 s+1

4

u2

2 s+2

6

y1

y2

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˜ nal escal´on deseada r(t) en presencia de la carga (o disturbio) n(t). Tambi´en 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: G(s) =

8(s + 1) e−4s (s + 3)(s + 4)(s + 5)(s + 6)(s + 7)2 (s + 8) n(t)

r(t)

PID

G(s)

y(t)

Fig. A.24: Sistema de control con presencia de disturbio.

Ap´ endice B

Fundamentos de MATLAB y Simulink MATLAB [1] es un lenguaje t´ecnico de c´omputo de alto nivel e interactivo que puede ser empleado para el desarrollo de algoritmos, visualizaci´on y an´alisis de datos y computaci´on num´erica. MATLAB se emplea mundialmente en diversas aplicaciones que incluyen procesamiento de se˜ nales e im´agenes, telecomunicaciones, dise˜ no de sistemas de control, pruebas y mediciones, modelado y an´alisis financiero y biolog´ıa computacional. MATLAB tambi´en cuenta con una colecci´on herramientas (Toolboxes) para prop´ositos espec´ıficos, disponibles por separado, los cuales permiten resolver ciertas clases de problemas en el ´area de su aplicaci´on. Simulink [2] emplea un lenguaje en bloques y se usa para modelar, simular y analizar sistemas din´amicos continuos, discretos o h´ıbridos (combinaci´on 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´amicos existentes o aquellos construidos desde cero. En este Ap´endice, una secci´on est´a dedicada a MATLAB y la otra a Simulink. Todos los archivos de esta publicaci´on 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 mismo en el escritorio. Para iniciar MATLAB hacer doble click en tal ´ıcono para hacer aparecer la Fig. B.1. La interacci´on de MATLAB con el usuario es a trav´es de ventanas. Las principales son (ver Fig. B.1): Ventana de comandos (Command Window).- Aqu´ı se ejecutan las instrucciones. Historial de comandos (Command History).- Ventana que muestra el historial de las instrucciones introducidas a trav´es 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 almacenadas en memoria. Ventana de figuras.- Las figuras aparecen cuando el usuario las realiza.

Para cerrar el programa, seleccionar en el men´ u: File − > Exit MATLAB o tipear quit en la ventana de comandos. Para obtener informaci´on detallada de cualquier t´opico relacionado con MATLAB, hacer click en el icono s´ımbolo de interrogaci´on ?, ubicado debajo de la l´ınea del men´ u de la Fig. B.1, para que aparezca la ventana Help. En el espacio Search for de tal ventana, tipear el t´opico del que desea informaci´on. Por ejemplo, si tipea save y hace click en Go, entonces la informaci´on detallada y ejemplos sobre este comando aparecer´an 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´on entre may´ usculas y min´ usculas en sus comandos. Se sugiere usar siempre letras min´ usculas para los comandos. 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´es del prompt requieren de un ENTER para que MATLAB los procese. El formato siguiente: >> help roots ENTER , es u ´til cuando se desea tener informaci´on de un determinado comando. En este caso particular, luego de presionar la tecla ENTER, la VC (Ventana de Comandos) muestra la ayuda correspondiente al comando roots. En lo que sigue, la introducci´on de la tecla ENTER ser´a sobreentendida. El comando format long le dice a MATLAB que se quiere trabajar con 15 d´ıgitos para doble precisi´on y 5 d´ıgitos para simple precisi´on. 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, multiplicaci´on a*b, divisi´on derecha a/b, divisi´on izquierda a\b y exponenciaci´on a^b. La divisi´on izquierda se emplea m´as con matrices. El resultado de la operaci´on a/b es igual al resultado de b\a. El orden de precedencia en las operaciones fundamentales es: ejecutar primero el par´entesis m´as interno, luego los exponentes, despu´es la multiplicaci´on o divisi´on (ambos tienen igual presedencia), y finalmente la suma y resta. Ejemplo: >> 0.7854-(0.7854)^3/(1*2*3)+0.785^5/(1*2*3*4*5)... -(0.785)^7/(1*2*3*4*5*6*7) ans = 0.7071

Observar que los tres puntos al final de la primera fila indica que la sentencia contin´ ua en la siguiente l´ınea. umeros imaginarios. Es decir: i = √ MATLAB √ reconoce a las letras i y j como n´ −1 y j = −1. Por ejemplo, >> 4i - 2j devuelve 0 + 2.0000i, mientras que >> 8i-j4 devuelve Undefined function or variable ’j4’. Sabemos que la divisi´on sobre cero es infinito, mientras que la divisi´on 0/0 es indeterminada. En notaci´on MATLAB >> 20/0 devuelve Inf , mientras que >> 0/0 devuelve NaN, donde NaN est´a por Not a Number. A continuaci´on se describen otros comandos de utilidad general. Se recomienda leer el help del comando antes de usarlo. help help Lista t´opicos de ayuda. what Lista archivos con extensi´on 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˜ no de una matriz. length N´ umero de elementos de un vector. disp Muestra los valores de una matriz o texto. exist Chequea si est´an 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´on actual de MATLAB. why Devuelve respuestas breves a casi cualquier interrogante. lasterr Devuelve el u ´ltimo mensaje de error. diary Guarda el texto de la sesi´on de trabajo actual. unix Ejecuta comandos del sistema operativo Unix. ver Informa sobre la versi´on de MATLAB, Simulink y Toolboxes. info Da informaci´on acerca de la empresa Mathworks. whatsnew Informa acerca de lo nuevo de MATLAB. hostid Identifica el n´ umero del servidor host. date Proporciona la fecha. clock Proporciona el vector: [a˜ no, mes, 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´afico. Por ejemplo, ingresando: >> clear, a = magic(3); b = ones(1, 3)*-5.7; >> save -ascii mydata.dat >> clear, load mydata.dat, mydata mydata = 8.0000 1.0000 6.0000 3.0000 5.0000 7.0000 4.0000 9.0000 2.0000 -5.7000 -5.7000 -5.7000 8.0000 6.0000 4.0000

c = [8 6 4];

donde las 3 primeras filas corresponden a la matriz formada por el comando a=magic(3), la fila 5 se origina por el comando b = ones(1, 3)*-5.7 y la u ´ltima fila corresponde al vector c=[8 6 4 2].

B.1.3.

Creaci´ on de Archivos Tipo m

La forma m´as conveniente de procesar informaci´on 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´aticamente la extensi´on m del archivo. Hay tres formas de ejecutar el archivo m generado: (1) presionando la tecla F5; (2) haciendo click en Debug → Run en el men´ u del editor; (3) haciendo click en el icono Run and Save del editor, el cual se ubica debajo de la l´ınea que contiene el men´ u del editor. Si el programa posee errores, ´estos ser´an mostrados en la ventana de comandos. Corregir tales errores y ejecutar el programa. Esta operaci´on puede repetirse pocas o varias veces dependiendo de la magnitud del programa y experiencia del programador. La ejecuci´on de un archivo m se puede parar en cualquier momento presionando simult´aneamente las teclas Ctrl + C. El siguiente archivo de nombre miarchivom.m contiene informaci´on adicional. % miarchivom.m GENERACI´ ON DE UN ARCHIVO m. % MATLAB NO PROCESA LO QUE EST´ A A LA DERECHA DEL S´ IMBOLO: % clear all; close all; clc; % clear: LIMPIA VARIABLES Y FUNCIONES DE LA MEMORIA. % close: CIERRA FIGURAS. % clc: LIMPIA LA VENTANA DE COMANDOS (VC) DE MATLAB % TAMBI´ EN ES V´ ALIDO ESCRIBIR: clear all, close all, clc a=7; b=-4; % DATOS, DONDE EL S´ IMBOLO ; IMPIDE QUE LA VC % MUESTRE a Y b LUEGO DE EJECUTAR miarchivom.m r=a-b; m = a*b; d = a/b; e = a^b; % OPERACIONES ARITM ´ ETICAS s=a+b % LA VC DEVUELVE s=3 LUEGO DE EJECUTAR miarchivom.m

En lo que sigue, s´olo emplearemos archivos m para explicar mediante numerosos ejemplos las bondades del lenguaje MATLAB. En tales ejemplos emplearemos tanto los comandos listados en la subsecci´on B.1.2 as´ı como otros m´as especializados.

B.1.4.

Matem´ atica con MATLAB

Funciones Matem´ aticas Comunes % funcionesmat.m FUNCIONES MATEM´ ATICAS COMUNES clear all; close all; clc; % APROXIMACIONES x1=5.92; r1=ceil(x1); % r1=6 (ceil REDONDEA HACIA INFINITO) 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 ´ AS PR´ OXIMO) % TRIGONOMETR´ IA r5=sin(pi/2); r6=sind(-90); r7=cosd(60); r8=asind(1);

% % % %

r5=1 (´ ANGULO EN RADIANES) r6=-1 (´ ANGULO EN GRADOS) r7=0.5 (´ ANGULO EN GRADOS) r8=90 (´ ANGULO EN GRADOS)

% ALGUNAS OPERACIONES r9=abs (-7); % r10=sign(10); % r11=gcd (9,12); % r12=lcm (10,25); % r13=mod (-12,5); % r14=rem (12,5); % r15=nthroot (8,3); %

VALOR ABSOLUTO, r9=7 SIGNO, r10=10/abs(10)=10/10=1 M´ AXIMO COM´ UN DIVISOR ENTRE 9 Y 12, r11=3 M´ INIMO COM´ UN M´ ULTIPLO ENTRE 10 Y 25, r12=50 M´ ODULO, SI y~=0, n=floor(x./y)=-3, r13=x-n.*y=3 RESTO DE LA DIVISI´ ON ENTRE 12 Y 5, r14=2 RA´ IZ C ´ UBICA DE 8, r15=2

% CON N´ UMEROS COMPLEJOS x=3+4i; r16=sign(x); % r16=x/abs(x)=(3+4i)/5=0.6+0.8i

Vectores y Matrices % vectoresymatrices.m VECTORES Y MATRICES. ELEM = ELEMENTOS clear all; close all; clc; % C´ OMO DEFINIRLOS x = [5 7 -2 4 -6]; y = [2,1,3,7]; z = [0 1 2,3 4,5]; w = [2;1;3;7]; A = [1 2 3 4 5 6]; B = [1 2 3;4 5 6]; % DIRECCIONAMIENTO r1=x(2); r2=x(end); r3=x(2:4); r4=x(1:3:5); r5=x([3 5 1]); r6=A(2,1); r7=A(2,:); r8=A(2,2:3); r9=A(2,[3 1]); r10=A([2 1],2:3); % r11=A(end,[1 3]);

% % % % % % %

VECTOR FILA, ELEM SEPARADOS POR ESPACIOS VECTOR FILA, ELEM SEPARADOS POR COMAS IDEM, ELEM SEPARADOS POR COMAS Y ESPACIOS VECTOR COLUMNA A(1)=1, A(3)=2, A(5)=3 A(2)=4, A(4)=3, A(6)=6 MATRIZ DE 2 FILAS Y 3 COLUMNAS AL IGUAL QUE A

% % % % % % % % % %

r1=7 r2=-6 r3=[7 -2 4] r4=[5, -2 y -6] r5=^[-2, -6, 1] r6=4 r7=[4 5 6] r8=[5 6] (2da FILA, COLUMNAS DE 2 A LA 3) r9=[6 4} r10=[5 6] (FILAS 2 y 1, COLUMNAS DE 2 A LA 3) [2 3] % r11=[4 6]

% CONSTRUCCI´ ON 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 r14=(1:3:10); % r14=[1 4 7 10] (ENTRE 1 Y 10 CON INCREMENTO 3) r15=(1:4:10); % r15=[1 5 9] (ENTRE 1 Y 10 CON INCREMENTO 4) r16=(50:-7:1); % r16=[50 43 36 29 22 15 8 1] r17=linspace(2,6,3); % r17=[2 4 6] (LINEAL ENTRE 2 Y 6, 3 ELEM.) r18=linspace(2,6,4); % r17=[2.0000 3.3333 4.6667 6.0000] r19=linspace(2,6); % VECTOR LINEAL ENTRE 2 Y 6 CON 100 ELEM. r20=logspace(0,2,4); % r20=[1.0000 4.6416 21.5443 100], VECTOR % LOGAR´ ITMICAMENTE ESPACIADO 10^0 Y 10^2 CON 4 ELEM. EQUIDISTANTES r21=logspace (0,2); % VECTOR LOG. ENTRE 10^0 Y 10^2 CON 50 ELEM. % CONSTRUCCI´ ON DE ALGUNAS MATRICES r22=zeros(3); % MATRIZ CUADRADA DE 3x3 LLENA DE CEROS r23=zeros(2,5); % MATRIZ 2 x 5 DE CEROS r24=ones(2,3); % MATRIZ 2 x 3 DE CEROS r25=rand(2,4); % MATRIZ 2 x 4 DE N´ UMEROS ALEATORIOS ENTRE 1 Y 0 % CON DISTRIBUCI´ ON UNIFORME r26=randn (2,5); % MATRIZ 2 x 5 DE N´ UMEROS ALEATORIOS, DISTRIBUCI´ ON % NORMAL, MEDIA 0 Y DESVIACI´ ON 1: NORMAL(0,1) r27=eye(2); % MATRIZ IDENTIDAD 2 X 2 r28=eye(4,2); % MATRIZ 4 X 2 DE 1s EN LA DIAGONAL, 0s EN EL RESTO r29=magic(3); % MATRIZ M´ AGICA 3 x 3, CONTIENE N´ UMEROS 1 AL 3^2, % DONDE: SUMA ELEM FILAS = SUMA ELEM COLUMNAS = SUMA ELEM DIAGONAL: % 8 1 6 % 3 5 7 % 4 9 2 r30=hilb(3); % MATRIZ DE HILBERT 3 x 3 r40=invhilb(3); % INVERSA DE LA MATRIZ DE HILBERT 3 x 3 % OPERACIONES B´ ASICAS CON MATRICES P=[1 2;3 4]; Q=[1 1;0 1]; R=[1+i 2+2i;3+i 4+7i]; r41=P*Q; % r41=[1 3;3 7] r42=P.*Q; % r42=[1 2;0 4] (MULTIPLICACI´ ON ELEMENTO A ELEMENTO) r43=R’; % CONJUGADA Y TRANSPUESTA DE R Y VICIVERSA r44=R.’; % TRANSPUESTA DE R r45=P+2; % SUMA 2 A CADA ELEMENTO DE A % % % %

FUNCIONES PARA OPERAR CON VECTORES SEAN LOS VECTORES: x = [x1 x2 x3]; y = [y1 y2 y3]; PRODUCTO VECTORIAL: cross(x,y)=[(x2*y3-y2*x3) -(x1*y3-y1*x3) (x1*y2-y1*x2)] x1 = [1 2 3]; y1 = [4 5 6]; xcy=cross(x1,y1); % xcy=[-3 6 -3] % PRODUCTO ESCALAR: dot(x,y)=x1*y4+x2*y5+x3*y6 xdy=dot(x1,y1); % xdy=32

% FUNCIONES PARA EL AN´ ALISIS DE MATRICES v = [1 2 3]; % >> diag (v) % CREA MATRIZ DIAGONAL CON ELEMENTOS 1, 2 Y 3 M = [1 2 3 4; 7 8 9 2; 2 4 6 8]; r46=diag(M); % r46=[1;8;6]: VECTOR CON ELEMENTOS DE LA DIAGONAL r47=size(M); % r47=[3 4]: DIMENSIONES DE M (3 FILAS Y 4 COLUMNAS) r48=length(M); % DEVUELVE 4 (LA DIMENSI´ ON MAYOR DE LA MATRIZ M) r49=rank(M); % r49=2 (2 ES EL RANGO DE M, VER help rank)

301

302

% % % %

Fundamentos de MATLAB y Simulink

r50=rref(M); % REDUCCI´ ON MEDIANTE GAUSS r50 = 1 0 -1 -4.6667 0 1 2 4.3333 0 0 0 0 % rank(M)=2 PORQUE EXISTEN DOS FILAS NULAS r51=tril(M); % CREA MATRIZ TRIANGULAR SUPERIOR r52=triu(M); % CREA MATRIZ TRIANGULAR INFERIOR

% OTRAS OPERACIONES CON MATRICES A1=[1 0 0 2 3 4 5 0 2 4 0 0]; r52=find(A1); % DEVUELVE VECTOR COLUMNA DE ´ INDICES [1;2;3,5;6;8;10] r54=reshape(A1,2,6); % r54: MATRIZ 2 X 6 A PARTIR DE COLUMNAS DE A1 % r54= % 1 2 4 0 0 0 % 3 0 4 5 2 0 r55=rot90(A1); % A1 GIRA 90o , r55 TOMA LA FORMA: % 2 0 0 % 0 5 0 % 0 4 4 % 1 3 2 r56=rot90(A1,3); % A1 gira 270o ( 90o x 3 = 270o ) % FORMEMOS LA 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´ ON C/D RESUELVE EL SISTEMA Cx=D Y ES EQUIVALENTE A inv(C)*D. % DIVISI´ ON 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 ´ ON ASCII DE a r62=abs(a); % r62=[99 97 115 97], REPRESENTACI ´ ON ASCII DE a r63=double(a); % r63=[99 97 115 97], REPRESENTACI ´ ON ASCII DE a r64=setstr([99 97 115 97]); % r64=casa r65=abs(’a’)-abs(’A’); % r65=32, RESTA MIN ´ USCULAS MENOS MAY´ USCULAS r66=setstr (a-32); % r66=CASA (LA DIFERENCIA) d=5; disp(d); % DEVUELVE 5 EN LA VC disp(’escribe esto’); % DEVUELVE > EN LA VC

Polinomios % polinomios.m POLINOMIOS clear all; close all; clc; % NOTACI´ ON: 5x^4 x = [1 -9 13 9 xx = poly(rx); p = [1 2 7]; q

- 9x^3 + 13x^2 + 9x - 14 ==> [1 -9 13 9 -14] -14]; rx=roots(x); % rx CONTIENE RA ´ ICES DE x % DEVUELVE xx GENERADO POR RA ´ ICES DE rx (xx=x) = [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´ UA p=x^2+2x+7 PARA x=0, x=1 y x=5 em=polyval(p,[0 1 2;-1 -2 -3;4 0 7]); % EVAL ´ UA p PARA CADA FILA em= 7 10 15 6 7 10 31 7 70

Operaciones Relacionales y L´ ogicas % operaclogicas.m OPERACIONES RELACIONALES Y L ´ OGICAS clear all; close all; clc; % OPERADORES RELACIONALES:
= == ~= % OPERADORES L´ OGICOS: & (AND) | (OR) ~ (NOT) % ORDEN DE PRECEDENCIA: ~= == = < > a =1:9; b=5-a; % a=[1 2 3 4 5 6 7 8 9], b=[4 3 2 1 0 -1 -2 -3 -4] r1=ab)&(b>-3); % r4(i)=1 SI (a(i)>b(i))&(b(i)>-3), 0 SI ES FALSO c = [Inf 0 5 -8 NaN 94]; % >> exist(’c’) % DEVUELVE 1 PORQUE c EXISTE % >> isnan(c) % DEVUELVE 1 SI c(i) ES NaN Y 0 SI NO ES NaN % >> isinf(c) % DEVUELVE 1 SI c(i) ES Inf Y 0 SI NO ES Inf % >> isfinite(c) % DEVUELVE 1 SI c(i) ES FINITO Y 0 SI NO LO ES

Creaci´ on de Funciones La forma general de una funci´on de dos variables es: function[a,b]=nombre_funci´ on(x,y) Por ejemplo, se desea crear la funci´on de nombre calculos para calcular la suma y la resta de dos n´ umeros, vectores o matrices (x,y). Los resultados los devuelve en [a,b]. Los listados del archivo calculos.m y el archivo usacalculo.m para usar calculos.m se muestran a continuaci´on. S´olo es necesario ejecutar el archivo usacalculos.m para obtener los resultados. % calculos.m FUNCI´ ON calculos clear all; close all; clc; function[suma,resta] = calculos(x,y) suma = x + y; resta = x - y; % usacalculos.m USA FUNCI´ ON CONTENIDA EN calculos.m clear all; close all; clc; x = [1 5; 3 -2; 3 7; 4 -1; 0 2]; y = [16 -1; 0 4; 1 5; -1 0; -1 3]; [a,b] = calculos(x,y); a, b % LA VENTANA DE COMANDO VC DEVUELVE a = x+y, b = x-y

304

Fundamentos de MATLAB y Simulink

Programaci´ on % programacion.m PROGRAMACI´ ON EN MATLAB clear all; close all; clc; % SENTENCIA FOR for x = 1:5 disp(’x toma el valor’) % DEVUELVE x toma el valor PARA CADA x disp(x) % DEVUELVE EL VALOR DE x end % SENTENCIA WHILE a=3; while a < 5 disp(’a es menor que 5 porque su valor es:’) disp(a) a = a + 1; end % SENTENCIA IF b = 5; if b == 0 % SE USA == PORQUE ES UNA EXPRESI´ ON L´ OGICA disp (’el valor de b es 0’) elseif b == 1 disp (’el valor de b es 1’) elseif b == 2 disp (’el valor de b es 2’) elseif b == 3 disp (’el valor de b es 3’) else disp (’b no es ni 0 ni 1 ni 2 ni 3’) end % GENERACI´ ON DE N´ UMEROS PRIMOS MENORES DE 100 disp(’Estos son los n´ umeros primos menores de 100’) disp(2) for i=2:100 n=2; while n > cumprod(X) % >> cumsum(X) % >> mean(X) % >> sort(X) % >> sum(X) % >> var(X) % >> max (X) % >> min (X) % >> iqr (X) % >> range(X) %

3 1 7 5 1; 3 9 2 7 5; 1 5 5 1 8]; DEVUELVE MATRIZ DE PRODUCTOS ACUMULADOS DEVUELVE MATRIZ DE SUMAS ACUMULADAS DEVUELVE LA MEDIA DE CADA COLUMNA ORDENA LOS VALORES DE CADA COLUMNA DEVUELVE SUMA DE LOS ELEMENTOS DE CADA COLUMNA DEVUELVE VARIANZA DE LOS ELEMENTOS DE C/COLUMNA DEVUELVE VALOR M´ AXIMO DE CADA COLUMNA DEVUELVE VALOR M´ INIMO DE CADA COLUMNA DEVUELVE RANGO intercuart´ ılico DE CADA COLUMNA DEVUELVE RANGO DE CADA COLUMNA: DIFERENCIA ENTRE EL M´ AXIMO Y EL M´ INIMO

Y = [5 7 9 2 9 3 1 7 5 1 3 9 2 7 5 1 5 5 1 8]; >> tabulate(Y) % DEVUELVE: Value Count Percent 1 4 20.00% (EL N´ UMERO 1 APARECE 4 VECES) 2 2 10.00% (EL N´ UMERO 2 APARECE 2 VECES) 3 2 10.00% 4 0 0.00% 5 5 25.00% 6 0 0.00% 7 3 15.00% 8 1 5.00% 9 3 15.00%

B.1.5.

Gr´ aficos

% graficas2D.m GR´ AFICAS EN 2 DIMENSIONES clear all; close all; clc; figure(1) % CREA figure(1) x=[-2 -1 0 1 2 3]; y=[4 1 0 1 4 9]; z=[6 5 3 7 5 2]; w=[-2 -1 0 0.5 1.5 2.5]; plot(x,y,’*’,x,z,’-’), xlabel(’eje x’), ylabel(’eje y’), title(’x vs y’), grid, text(1,4,’HOLA>&$’), axis([-3 3 -1 10]), gtext(’AQU´ I COLOCO TEXTO’) figure(2) x1 = pi*(-1:0.01:1); y1=x1.*sind(x1); y2=cosd(x1); y3=sin(x1).*exp(x1); y4=exp(-x1); subplot(2,2,1), plot(X1,Y1), title (’x1*seno(x1)*’) subplot(2,2,2), plot(x1,y2), title (’cos(x1)’) subplot(2,2,3), plot(x1,y3), title (’sen(x1)*exp(x1)’)

305

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´ AFICAS EN 3 DIMENSIONES clear all; close all; clc; figure(6) x3=[-2 0 2 0 -2]; y3=[4 8 4 0 4]; z3=[3 5 10 5 3]; subplot(311), fill3(x3,y3,z3,’b’) % plot en 3D, b=blue subplot(312), ezsurf(’sin(x*y)’,[-2 2 -2 2]) subplot(313), x4=-720:720; y4=sind(x4); z4=cosd(x4); plot3(x4,y4,z4) figure(7) x = -10:0.5:10; y = -10:0.5:10; subplot(3,1,1), [X,Y]=meshgrid(x,y); % CREA MATRICES PARA LA MALLA Z=sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1); mesh (X,Y,Z) % DIBUJA LA GR´ AFICA subplot(3,1,2), [X,Y] = meshgrid (-10:0.5:10); Z=sin(sqrt(X .^2 + Y .^2))./sqrt(X .^ 2 + Y .^2 + 0.1); mesh(X,Y,Z) subplot(3,1,3), surf (X,Y,Z) figure(8) x = -10:0.5:10; y = -10:0.5:10; [X,Y] = meshgrid(x,y); % CREA MATRICES PARA HACER LA MALLA Z = sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1); subplot(2,2,1), contour (X,Y,Z) % DIBUJA L ´ INEAS DEL CONTORNO subplot(2,2,2), pcolor(X,Y,Z) % TRANSFORMA ALTURA EN COLORES subplot(2,2,3), surf(X,Y,Z), view(10,70) % AZIMUT 10, ELEVACI ´ ON 70 subplot(2,2,4), surf(X,Y,Z), view(10,-12.2), colorbar % colorbar A~ NADE BARRA DE COLOR % >> surf (X,Y,Z), [az,el]=view % DEVUELVE AZIMUT=-37.5, ELEVAC=30 figure(11) x=-10:0.5:10; y = -10:0.5:10; [X,Y] = meshgrid(x,y); % CREA MATRICES PARA HACER LA MALLA Z=sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1); subplot(2,1,1), [C,h]=contour(X,Y,Z); clabel(C,h) % A~ NADE ALTURAS A CONTORNOS subplot(2,1,2), M = [0 0 0; 1 0 0; 0 1 0; 0 0 1; 1 1 0]; % MATRIZ DE COLORES NEGRO, ROJO, VERDE, AZUL, AMARILLO colormap(M), surf (X,Y,Z)

B.1 Fundamentos de MATLAB figure(12) t=0:0.001:0.009; v=900:1025; [T V]=meshgrid(t,v); aux1=16*pi^2*(T.^2).*((V-918).^2).*((V-1011).^2); aux2=aux1+(2*V-1929).^2; w=T./aux2; z=35000000*w; surfl(t,v,z); % SUPERFICIE SOMBREADA 3D CON RAYOS shading interp; % FIJA MODO shading (SOMBRA) CON INTERPOLACI ´ ON colormap(pink); % FIJA EN pink (ROSADO) EL COLOR DE LA FIGURA rotate3d; % GIRA LA FIGURA USANDO EL MAUSE print -f -depsc ultimo % GENERA ultimo.eps EN COLOR

B.1.6.

Matem´ atica Simb´ olica

% simbolica.m MATEM´ ATICA SIMB´ OLICA clear all; close all; clc; % DERIVADAS E INTEGRALES syms x n a b t theta y u; f1=x^n; r1=diff(f1); % r1=x^n*n/x=n*x^(n - 1), DERIVADA EN x f2=sin(a*t + b); r2=diff(f2); % r2=a*cos(b + a*t), DERIVADA EN t f3=exp(i*th); r3=diff(f3); % r3=exp(th*i)*i, DERIVADA EN th r4=int(f1); % r4=x^(n+1)/(n+1), INTEGRAL INDEFINIDA EN x f5=y^(-1); r5=int(f5); % r5=1/y, INTEGRAL INDEFINIDA EN y f6=n^x; r6=int(f6); % r6=n^x/log(n), INTEGRAL INDEFINIDA EN n r7=int(f2); % r7=-cos(b + a*theta)/a, INTEGRAL EN theta f8=1/(1+u^2); r8=int(f8); % r8=atan(u), INTEGRAL INDEFINIDA EN n f9=exp(-x^2); r9=int(f9); % r9=(pi^(1/2)*erf(x))/2, % erf=funci´ on error c=0; d=1; f10 = x^7; r10=int(f10,c,d); % r10=1/8, INTEGRAL DEFINIDA c=1; d=2; f11 = 1/x; r11=int(f11,c,d); % r11=log(2), INTEGRAL DEFIN. c=0; d=1; f12 = log(x)*sqrt(x); r12=int(f12, c, d); % r12=-4/9 c=0; d=inf; f13 = exp(-x^2); r13=int(f13, c, d); % r13=pi^(1/2)/2 % SIMPLIFICACIONES Y SUSTITUCIONES % collect: COLECTA TODOS LOS COEFICIENTES CON LA MISMA POTENCIA DE x f14=(x-1)*(x-2)*(x-3); r14=collect(f14); % r14=x^3-6*x^2+11*x-6 f15=x*(x*(x-6)+11)-6; r15=collect(f15); % r14=x^3-6*x^2+11*x-6 f16=(1+x)*t + x*t; r16=collect(f16); % r16=(2*t)*x+t % expand: DISTRIBUYE PRODUCTOS EN SUMAS Y APLICA IDENTIDADES DE SUMAS f17 = a*(x+y); r17=expand(f17); % r17=a*x + a*y f18 = (x-1)*(x-2)*(x-3); r18=expand(f18); % r18=x^3-6*x^2+11*x-6 f19 = x*(x*(x-6)+ 11)-6; r19=expand(f19); % r19=x^3-6*x^2+11*x-6 f20 = exp(a + b); r20=expand(f20); % r20=exp(a)*exp(b) f21 = cos(x + y); r21=expand(f21); % r21=cos(x)*cos(y)-sin(x)*sin(y) f22 = cos(3*acos(x)); r22=expand(f22); % r22=4*x^3 - 3*x f23 = 3*x*(x^2-1)+x^3; r23=expand(f23); % r23=4*x^3 - 3*x ´LICO EN SU FORMA ENCADENADA % horner: TRANSFORMA UN POLINOMIO SIMBO f24 = x^3-6*x^2+11*x-6; r24=horner(f24); % r24=x*(x*(x-6)+11)-6

307

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 ´NIMA CANTIDAD DE CARACTERES % simple: ENCUENTRA UNA EXPRESI´ ON CON MI % 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´ AS VISIBLE LAS EXPRESIONES SIMB´ OLICAS % >> pretty(f34)

El comando pretty(f34) devuelve: 

B.2.

6 12 1 + 2+ +8 3 a a a

1/3

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´ametros. Simulink tambi´en usa algunas caracter´ısticas de MATLAB, tales como: definici´on de las entradas del modelo, almacenamiento de las salidas del modelo para an´alisis y visualizaci´on, y realizar operaciones y funciones propias de MATLAB dentro del modelo. Se recomienda los siguientes 6 pasos para modelar un sistema: (1) definir el sistema, (2) identificar los componenetes del sistema, (3) modelar el sistema con ecuaciones, (4) elaborar el diagrama de bloques en Simulink, correr la simulaci´on, y (6) validar los resultados de la simulaci´on.

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´on 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´ u 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´ u de la ventana SLB, seleccionar File > Open. En la ventana Open buscar el archivo con extensi´on .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´a el archivo .mdl. Luego, en el prompt de MATLAB, escribir el nombre del archivo sin extensi´on, 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´on aparece en la parte inferior de la ventana SLB. Para obtener mayor informaci´on de un bloque, seleccionar el bloque en la ventana SLB, y en su men´ u ir hacia Help > Help on the Selected Block. Los par´ametros de un bloque se pueden visualizar y cambiar haciendo click derecha sobre el bloque. Se puede buscar un determinado block en la ventana SLB, insertando el nombre del block en el campo de b´ usqueda ubicado a la derecha del icono Luego, hacer click sobre tal icono.

.

La forma m´as r´apida 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´on Start ubicado en el extremo inferior izquierdo de la ventana MATLAB y luego ir a Start > Simulink > Demos.

B.2.2.

Creaci´ on de un Modelo Simulink

El problema a resolver v´ıa Simulink, es controlar la posici´on angular de un brazo rob´otico de 1GDL empleando un controlador por linealizaci´on de la realimentaci´on 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 diagrama de bloques Simulink que se obtiene tipeando disnl2 en el prompt de MATLAB. Observar que los bloques Proceso no lineal, Observador no lineal, Conversi´on de x a z, Se˜ nal u y Se˜ nal v, son en realidad subsistemas que alojan, cada uno, una porci´on del programa de control. Por otro lado, el bloque Referencia r es una se˜ nal sinusoide que se arrastra desde su ubicaci´on 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 contenido del mismo. Por ejemplo, la Fig. B.7 muestra el contenido del subsistema Proce-

312

Fundamentos de MATLAB y Simulink

disnl2_u u

Mux Señal u

Señal v

Proceso no lineal

gráfico

Mux

disnl2_x1 x1

Referencia r

disnl2_r Conversión Observador de x a z no lineal

r

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 ubicada en la ventana SLB: Simulink > Commonly Used Blocks > Out1. El subsistema Proceso no lineal se crea seleccionando con el click derecho todo el contenido de la Fig. B.7 y luego tipeando Ctr + G o seleccionando en el men´ u de MATLAB: Edit > Create Subsystem. Los rect´angulos u, x1 y r mostrados en la Fig. B.5, que sirven para almacenar datos, se crean arrastrando tres veces el rect´angulo To File ubicado en la ventana SLB: Simulik > Sinks > To File. Haciendo doble click en cada rect´angulo, se introduce un nombre a elecci´on 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´aficos 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´en se van a crear los archivos de datos. 2. Correr el programa Simulink disnl2.mdl haciendo click en el tri´angulo 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´on del bloque Sin Wave.

1 u

Kact

1

gan 5

L.s+R sum1 subsistema eléctrico

3

2

x3

x2

n*K

1

1 s

M.s+B

gan 6

subsistema mecánico

sum2

Integrador

n*E gan 2

N gan 3

MATLAB Function seno

Fig. B.7: Contenido del subsistema Proceso no lineal.

1 x1

314

Fundamentos de MATLAB y Simulink

Posición (radianes)

1 0.5 0 −0.5 −1

0

2

4

6

8 10 12 Tiempo en segundos

14

16

18

20

0

2

4

6

8 10 12 Tiempo en segundos

14

16

18

20

Señal de control (voltios)

2.5 2 1.5 1 0.5 0 −0.5

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´ atico 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 Electrical 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. 759768, 1942. [13] Richard C. Dorf y Robert H. Bishop, Sistemas de Control Moderno (10ma Edici´ on), 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´ IA

[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 Auflage, R. Oldenbourg Verlag Muenchen Wien 1980. [17] K.J. ˚ Astr¨om y T. H¨agglund, PID Controllers: Theory, Design, and Tuning, Instrument 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 Control Systems, V. 41 (June 1968), p. 77. [28] A. Barrientos, L. F. Pe˜ nin, C. Balaguer, and R. Aracil, Fundamentos de Rob´ otica, 2nd Edition, McGraw-Hill/Interamericana de Espa˜ na, S. A., Madrid, Buenos aires, Caracas, and others, 2007. [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, SpringerVerlag 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´ u, 1998.

BIBLIOGRAF´ IA

317

[32] H. Zhang, D. Liu Fuzzy Modeling And Fuzzy Control, Birkh¨auser, Boston, Basel Berlin, 2006 [33] J. Jantzen, Foundations of Fuzzy Control, Wiley, 2007. [34] Murray R. Spiegel, Mathematical handbook, Shaum’s Outline Series, McGrawHill,Inc., 3ed Edition, New York et. al. 2008. [35] A. Rojas-Moreno, Design of Self-tuning Controllers for Processes Having Multiple Unknown Time-varying Delays, Ph.D. Thesis, Utah State University, Logan, UT, 1995. [36] L. S´anchez, 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´on, M´exico 2006. [38] A. Fern´andez, Control de los Sistemas Continuos, Ediciones de la Universidad de Oviedo, 2007.

´Indice alfab´ etico ´ Algebra de bloques, 241 ´Indices ISE, IAE, IT AE, IST E e IST 2 E, 117 Actuador, 63 clasificaci´on, 64 Ancho de banda, 78 Banda proporcional, 80 Control anticipativo, 6, 71, 150 anticipativo–realimentado, 153 con reconocimiento de patrones, 159 de la raz´on, 149 de rango partido, 158 en cascada, 145 ON–OFF, 88 override, 156 PID, 86 proporcional, 84 proporcional derivativo, 85 proporcional integral, 85 selectivo, 158 Control matricial din´amico, 191 Control MIMO con desacopladores, 182 criterio de Hurwitz, 183 estabilidad, 174 exactitud est´atica, 173 no interacci´on, 173 v´ıa desacoplamiento, 171 Control predictivo basado en modelos, 191 disturbios, 194 modelo CARIMA, 196 modelo del proceso, 193 principios, 192 procedimiento de dise˜ no, 204 Controlabilidad, 263

Controlador, 3 esclavo, interno o secundario, 146 fuzzy, 213 maestro, externo o primario, 146 PID discreto modificado, 130 Controlador PID cl´asico, 91 cl´asico generalizado, 91 con dos grados de libertad, 93 con parte derivativa filtrada, 91 dependiente, 92 en paralelo, 90 ideal, 89 ideal filtrado, 91 interactivo, 92 mejorado, 92 Controlador predictivo funci´on de costo, 198 ley de control SISO, 202 objetivo, 198 par´ametros de dise˜ no, 198 respuesta forzada, 200 respuesta libre, 200 Curva de reacci´on, 12, 15, 34 Defuzzyficaci´on, 214, 223 Determinantes, 246 propiedades, 246 Diagrama de instrumentaci´on, 137 P&ID: Piping and Instrumentation Diagramm, 137 PFD: Process Flow Diagramm, 137 Discretizaci´on directa, 278 Disturbios, 4 Dosificador, 63 clasificaci´on, 64 Ecuaci´on caracter´ıstica, 74, 79, 262

´ ´ INDICE ALFABETICO Ecuaci´on de estado, 261 soluci´on, 266 EFC: Elemento Final de Control, 3, 63 El criterio de Hurwitz, 185 Elementos ideales, 7 Error en estado estable, 74 Especificaciones de dise˜ no en el tiempo, 73 en frecuencia, 76 Formas can´onicas, 273 Formas can´oonicas de Jordan, 276 Fracciones parciales, 236 Frecuencia de resonancia, 78 Funci´on de transferencia, 235 Funciones de membres´ıa, 214, 222 Fuzzyficaci´on, 213, 222 Gr´aficos de Bode, Nyquist y Nichols, 76 Linealizaci´on de sistemas, 282 M´etodo de Dahlin, 167 Margen de fase, 80 Margen de ganancia, 80 MATLAB, 295 archivos m, 298 comandos y funciones, 296 gr´aficos, 305 matem´atica, 299 simb´olica, 307 Matrices diagonalizaci´on, 256 eigenvalores y eigenvectores, 253 inversa, 247 operaciones, 243, 249 pseudoinversa, 255 rango, 252 tipos, 245 Matriz de transferencia, 261 Motor DC controlado por armadura, 27 controlado por campo, 26 modelo en el espacio de estado, 27 MR1 ecuaci´on de estado, 220

319 manipulador de 1 grado de libertad, 215 Observabilidad, 265 PLC: Programmable Logic Controller, 7 Porcentaje de sobrenivel, 73 Proceso, 1 autoregulado, 36 con tiempo muerto, 21 curva de reacci´on autoregulada, 34, 76 curva de reacci´on no autoregulada, 38 de orden superior, 22 de primer orden, 13 de segundo orden, 18 funciones de transferencia, 39 integral, 20 proporcional, 11 Respuesta al escal´on caso especial, 35 m´etodo de la tangente, 34 m´etodo del 28.3 % y 63.2 %, 36 Sensores, 2 caracter´ısticas est´aticas y din´amicas, 46 de aceleraci´on, 52 de flujo, 57 de fuerza y torque, 53 de nivel en fluidos, 60 de nivel en s´olidos, 61 de posici´on, 48 de presi´on, 53 de temperatura, 55 de velocidad, 51 y transmisores, 45 Simulink, 295 creaci´on de modelos, 311 fundamentos, 308 Sintonizaci´on PID basado en la curva de reacci´on, 93 m´etodo de Chien–Hrones-Reswick, 100 m´etodo de Cohen–Coon, 102

320 m´etodo de Hartree, 94 m´etodo de Kessler, 121 m´etodo de la constante de tiempo, 93 m´etodo de la oscilaci´on cr´ıtica, 107 m´etodo de las oscilaciones amortiguadas, 114 m´etodo de Metodo de Zhuang y Atherton, 119 m´etodo de Samal, 105 m´etodo de Shinskey, 118 m´etodo de Wang–Juang–Chan, 119 m´etodo de Yu, 111 m´etodo de Ziegler y Nichols, 96 m´etodo del rel´e, 111 m´etodos a lazo cerrado, 105 m´etodos basados en ´ındices, 116 primer m´etodo de Xue, 124 segundo m´etodo de Xue, 124 tercer m´etodo 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´on, 2 Sistema SLIT, 260 puntos singulares, 263 Sistemas con tiempo muerto, 280 Sistemas estables e inestables, 263 Tanque cerrado descripci´on, 28 modelo de Lagrange, 33 modelo lineal, 33 modelo no lineal, 30 Tiempo de estabilizaci´on, 73 Transformada de Laplace F´ormulas de, 236 inversa, 234 propiedades, 239 Propiedades de la, 239 tablas, 237 unilateral, 231 Transmisor, 2

´ ´ INDICE ALFABETICO Variables de estado, 257, 259 VCA curvas cracter´ısticas, 64, 68 dimensionamiento, 66 en operaci´on, 70 modelado del caudal, 64 neum´atica, 63 software de dimensionamiento, 68 VCA: V´alvula de Control Autom´atica, 63 Windup su efecto, 127 su eliminaci´on, 129