Control de procesos avanzando. Ingenieria industrial curso de herramientas de calidad, parametros e indicadores de la ca
Views 301 Downloads 48 File size 3MB
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.
88
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