ControlDeProcesosV10 Arturo Rojas

CONTROL DE PROCESOS ´ PRACTICO Y AVANZADO ARTURO ROJAS MORENO, Ph.D. F F F F F F F F Modelado de Procesos Sistemas de

Views 62 Downloads 1 File size 3MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • Zero
Citation preview

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

F F F F F F F F

Modelado de Procesos Sistemas de Instrumentaci´ on Elementos Finales de Control Control PID SISO Estrategias de Control PID S´ıntesis de Controladores SISO y MIMO Control Fuzzy Programas fuente en MATLAB

TECSUP

II

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

A la Memoria de mis Padres

´Indice general III

Prefacio

IX

1. Introducci´ on 1.1. Sistema de Control a Lazo Cerrado . . . . . . . . . . . . . . . . . . . . 1.2. Sistema de Control a Lazo Abierto . . . . . . . . . . . . . . . . . . . . 1.3. 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 . . . . . . . . . . . . . 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 5 7 11 11 13 18 20 21 22 26 28 28 30 33 33 34 34 36 37 39

3. El Sistema de Medici´ on 45 3.1. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.1.1. Caracter´ısticas Est´aticas y Din´amicas . . . . . . . . . . . . . . 46 4. Elementos Finales de Control 4.1. Caracter´ısticas . . . . . . . . . . . . . . . . 4.2. La V´alvula de Control Autom´atica (VCA) . 4.2.1. Dimensionamiento de una VCA . . . 4.2.2. Carcter´ıstica de una VCA Operando

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

51 51 52 52 55

´ INDICE GENERAL

VI

5. Control PID SISO 5.1. Sistema de Control SISO . . . . . . . . . . . . . . . . . . . . . . . 5.2. Especificaciones de Dise˜ no . . . . . . . . . . . . . . . . . . . . . . 5.2.1. Especificaciones de Dise˜ no en el Dominio del Tiempo . . . 5.2.2. Especificaciones de Dise˜ no en el Dominio de la Frecuencia 5.3. Modos de Control PID . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1. La Banda Proporcional BP % . . . . . . . . . . . . . . . . 5.3.2. Control Proporcional . . . . . . . . . . . . . . . . . . . . . 5.3.3. Control Integral . . . . . . . . . . . . . . . . . . . . . . . 5.3.4. Control 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. Estrategias de Control 6.1. Control en Cascada . . . . . . . . . . . . . . . . . . 6.2. Control de la Raz´on . . . . . . . . . . . . . . . . . 6.3. Control Anticipativo . . . . . . . . . . . . . . . . . 6.4. Control Override . . . . . . . . . . . . . . . . . . . 6.5. Control Selectivo . . . . . . . . . . . . . . . . . . . 6.6. Control de Rango Partido . . . . . . . . . . . . . . 6.7. Control con Autosintonizaci´on de Par´ametros . . . 6.8. Control Adaptativo con Modelo Referencial . . . . 6.9. Autosintonizaci´on con Reconocimiento de Patrones 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 . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . .

. . . . . . . . . .

. . . . . . . . .

. . . . . . . . . .

. . . . . . . . .

. . . . . . . . . .

. . . . . . . . .

. . . . . . . . . .

. . . . . . . . .

. . . . . . . . . .

. . . . . . . . .

. . . . . . . . . .

. . . . . . . . .

. . . . . . . . . .

. . . . . . . . .

. . . . . . . . . .

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

. . . . . . . . .

. . . . . . . . . .

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

57 57 59 59 61 66 66 70 71 71 72 73 76 79 79 91 102 114 115 121

. . . . . . . . .

. . . . . . . . .

125 125 129 131 136 138 139 140 141 143

. . . . . . . . . .

147 . 147 . 151 . 152 . 153 . 153 . 161 . 164 . 164 . 165 . 166

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

´ INDICE GENERAL 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 Propuestos . . . . . . . . . . . . .

VII

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

169 169 170 171 176 176 178 180 182 182 185

9. Control Fuzzy 193 9.1. El Controlador Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 9.2. Dise˜ no de Sistemas de Control Fuzzy . . . . . . . . . . . . . . . . . . . 194 9.2.1. Control Fuzzy del Manipulador Rob´otico de 1GDL . . . . . . . 194 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

209 . 209 . 209 . 212 . 213 . 214 . 219 . 220 . 221 . 223 . 224 . 229 . 234 . 235 . 235 . 237 . 238 . 241 . 244 . 251 . 256 . 258 . 260 . 260 . 261 . 264

´ 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´aticas . . . . . . . . . . . . . B.1.5. Gr´aficos . . . . . . . . . . . . . . . . B.1.6. Matem´atica Simb´olica . . . . . . . . B.1.7. Simulaci´on de un Sistema de Control B.2. Fundamentos de Simulink . . . . . . . . . . B.2.1. Fundamentos del Software Simulink B.2.2. Creaci´on de un Modelo Simulink . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

275 . 275 . 275 . 276 . 278 . 279 . 286 . 287 . 289 . 292 . 292 . 296

B . ibliograf´ıa

299

´ Indice . alfab´ etico

302

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. Tanto modelos lineales como no lineales se emplean en esta publicaci´on para representar la din´amica de los procesos tratados. El libro se denomina 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 tales como: Control PID multivariable, control de procesos empleando estrategias (cascada, raz´on, rango partido, anticipativo, selectivo) y control con inteligencia artificial (control fuzzy y control neuronal). En todos los Cap´ıtulo que lo conforman, este libro usa intensivamente el software MATLABr para el c´alculo, dise˜ no y simulaci´on de sistemas de control de procesos. Tambi´en se emplea el software Simulinkr , el cual trabaja dentro del entorno MATLAB. Simulink usa diagramas de bloques en su programaci´on. 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 ejecutar sin problemas en versiones recientes de MATLAB. Estos programas fuente se pueden descargar del enlace Descargas de: www.ctlima.com. Para asimilar sin dificultad el contenido de este libro, el lector requiere haber llevado los cursos de matem´atica, f´ısica y fundamentos de control autom´atico dictados 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, empleando intensivamente 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 b´asicamente: la formulaci´on del problema a resolver, el modelado del proceso, el dise˜ no del algoritmo de control, y 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 en diferentes cursos de instrumentaci´on y control.

Prefacio

X

Libro de consulta 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 sucinta sobre los sistemas de control a lazo cerrado y a lazo abierto, describiendo brevemente sus componentes. Antes de abordar los siguientes cap´ıtulos se recomienda leer los Ap´endices A y B. Cap´ıtulo 2: Sistemas de Instrumentaci´ on. Algunos t´opicos relevantes de los sistemas de instrumentaci´on se tratan en este Cap´ıtulo, incluyendo el c´alculo de placas de orificio y el dise˜ no de circuitos acondicionadores de se˜ nal. Cap´ıtulo 3: Elementos Finales de Control. Diferentes tipos de elementos de control final son descritos en este Cap´ıtulo, que tambi´en incluye el c´alculo de v´alvulas de control. Cap´ıtulo 4: Modelado de Sistemas Lineales. En este cap´ıtulo se elaboran y simulan los modelos din´amicos de varios procesos de comportamiento lineal. Cap´ıtulo 5: Modelado de Sistemas No Lineales. Los modelos din´amicos no lineales de diversos procesos son desarrollados y simulados en este cap´ıtulo. Cap´ıtulo 6: Control PID. 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. Cap´ıtulo 7: Control PID MIMO. Varios m´etodos de control PID aplicados a procesos MIMO (Multiple Input Multiple Output), caracterizados por m´ ultiples entradas y m´ ultiples salidas, se tratan en este cap´ıtulo. Cap´ıtulo 8: Control Fuzzy. El control de procesos empleando inteligencia artificial est´a cobrando mayor importancia en la industria en raz´on a sus m´ ultiples aplicaciones exitosas. Este Cap´ıtulo trata sobre el control fuzzy (difuso o borroso), el cual es una t´ecnica de control inteligente. Cap´ıtulo 8: Control Neuronal. Este Cap´ıtulo se ocupa del control neuronal de procesos, el cual es otra t´ecnica de control que emplea inteligencia artificial en su dise˜ no. Ap´ endice A: Matem´ atica para el Control de Procesos. Este Ap´endice trata algunos t´opicos de matem´atica aplicada que son necesarios para el mejor entendimiento de los cap´ıtulos presentados. 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.

XI

VIENEN AGRADECIMIENTOS.

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

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 brevemente sus componentes e incluyendo ejemplos industriales para reforzar la comprensi´on de los conceptos. Tales componentes son: el proceso cuya variable de salida se desea controlar, el sistema de instrumentaci´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 de control final que recibe la se˜ nal generada por el controlador para efectuar cambios en el proceso con la finalidad de que la desviaci´on anteriormente descrita se reduzca a cero.

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.

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.

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,

2

Introducci´ 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 Fig. 1.4, conocida tambi´en como PV (Process Variable), es la variable controlada o salida del proceso.

El Sistema de Medici´ on Es com´ un que un proceso posea varios par´ametros que necesitan ser monitoreadas 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.

El Controlador Para lograr control en la Fig. 1.1, se requiere que el valor de la variable medida tienda a ser el valor de la se˜ nal de referencia r o SP (Set Point), que es la se˜ nal deseada de la variable controlada. En otras palabras, en los sistemas de control a lazo cerrado, las se˜ nales r e y son comparadas. La diferencia entre ellas es la se˜ nal de error

1.1 Sistema de Control a Lazo Cerrado

3

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 va 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´alvu-

4

Introducci´ on

las 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 es proporcional a la ra´ız cuadrada de ∆P. Soluci´ on: Ver Fig. 1.3(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 4 a 20 mA al rango de 3 a 15 psi, dado que el actuador de la v´alvula 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 posee un actuador el´ectrico porque trabaja con una se˜ nal de 4 a 20 mA. Esta se˜ nal alimenta a un motor DC (el actuador). 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. Soluci´ on: El flujo del producto que ingresa al tanque constituye la se˜ nal de disturbio. Mientras mas brusca sea la variaci´on del flujo de producto, mayor ser´a la dificultad para que la se˜ nal PV siga a la se˜ nal SP.

1.2 Sistema de Control a Lazo Abierto

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.

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.

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

6

Introducci´ on

SP r

MV Controlador u Elemento final anticipativo de control

Disturbios Proceso

PV y Sensor más Transmisor Sistema de Instrumentación

Fig. 1.4: Sistemas de control a lazo abierto.

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 actuadores. 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, 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.3. Sin embargo, cabe mencionar que este esquema de control presenta ventajas y desventajas comparado con el control realimentado. Por una parte, es deseable porque evita la ocurrencia de errores antes de que se reflejen en la variable controlada. Sin embargo, para lograr aquello, se requiere de un 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 elaborar 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 elaborado y probado el programa, ´este se almacena en la memoria del PLC. Para el caso que nos ocupa, tal programa satisface la siguiente secuencia 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

1.3 Din´ amica Lineal de los Elementos Ideales

7

´ ESTADO 3 (TRANSPORTAR PRODUCTO): PT MAXIMO, V4 ON, V5 ON ´ ESTADO 4 (SOPLAR NITROGENO): PT M´INIMA, 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.

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 la Fig. 1.6 muestra 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. Las unidades de medida empleadas corresponden al Sistema Internacional, la cual usaremos a lo largo de los cap´ıtulos, salvo indicaciones expresas. De todas formas, siempre est´an disponibles las tablas de conversi´on de unidades. En la Tabla 1.1, la energ´ıa se expresa en J (joule), la potencia en W (watt) y el tiempo t en s (segundos). La Fig. 1.6(a) muestra la inductancia el´ectrica L en H (henrio), 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. 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

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 flu´ıdica

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 flu´ıdica

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 flu´ıdica

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

v

L

i

v2

K

f

(a) v1

v2

θ1

θ2

T

v1

v2

(i)

p1 q

(m)

B v1

(j) Rf

Cf

(g) f

T1

p1 p2

p1 p2

q2

(h) f

ω1 T ω B T 2

v2 (k)

p2

I

(d)

q1

R

i

q

ω T

J

f

(f) Ct

ω2

T

(c)

M

v

(e) q

v2

K

(b)

C

i

ω1 T

f

v1

9

Rt q

(l)

T2

(n)

Fig. 1.6: S´ımbolos de los elementos ideales.

ω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) se cumple que el cambio de presi´on p21 en 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 flu´ıdica, la cual posee las unidades N–s2 /m5 puesto que la inercia flu´ıdica se expresa como: p21 I= dq/dt La Fig. 1.6(e) ilustra la capacitancia el´ectrica C en F (faradio), 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.6(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.6(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.6(h)), es proporcional a la ca´ıda o cambio de presi´on p21 con respecto al tiempo. La proporcionalidad mencionada define a la capacitancia flu´ıdica Cf en m5 /N. El flujo de calor q en J/s (joule/segundo) que circula en un conducto, es proporcional al cambio de temperatura T en grados K (kelvin) con respecto al tiempo. La

10

Introducci´ on

proporcionalidad mencionada define a la capacitancia t´ermica C t en J/K, la cual se muestra en la Fig. 1.6(i). La Fig. 1.6(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 . Notar que la proporcionalidad es la inversa de R, la cual se denomina conductancia G=1/R y su unidad es f (mho). La fuerza f en N que se ejerce en el amortiguador traslacional mostrado en la Fig. 1.6(k), es proporcional al cambio de velocidad v21 . La proporcionalidad B se denomina la constante de 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.6(l), es proporcional al cambio de velocidad angular ω21 . La proporcionalidad B se denomina la constante de fricci´on viscosa rotacional, cuya unidad es N–m–s/rad. La resistencia flu´ıdica Rf se define como la variaci´on de la presi´on p21 en un conducto o recipiente, con respecto al flujo q del fluido en m3 /s, tal como se muestra en la Fig. 1.6(m). Por ello, Rf = p21 /q se expresa en N–s/m5 . De igual manera, la resistencia t´ermica Rt se define como la variaci´on de la temperatura T21 en grados K (kelvin) en un conducto, con respecto al flujo q de calor en J/s, tal como se observa en la Fig. 1.6(n). Por ello, Rt posee las unidades K/J.

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 avanzados; por u ´ltimo, para verificar la funcionalidad del controlador actuando sobre el proceso.

2.1.

Procesos con Comportamiento Proporcional

Un proceso SISO con comportamiento proporcional se caracteriza por poseer una FT constante (ver Tabla 2.8), es decir, su salida y(t) es proporcional a su entrada u(t): y(t) = Kp u(t) (2.1) donde Kp es la ganancia proporcional del proceso. Los dos siguientes procesos poseen comportamiento proporcional.

Flujo en una 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. 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 que pasa por

12

El Proceso a Controlar

la v´alvula es y1 = 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 considerada constante. Para un tiempo t2 , incrementamos la abertura de la v´alvula de u1 a u2 . Consecuentemente, el flujo aumenta de y1 a y2 = A2 vρ, sin experimentar retardo, donde A2 es la secci´on transversal correspondiente a la abertura u2 . La ganancia proporcional del proceso flujo es entonces: Kp =

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

(2.2)

En el dominio de Laplace, la 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

∆u

u1

(a)

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



Flujo en una Faja de Transporte La Fig. 2.2 muestra una faja transportando un flujo de material granulado y. cuya magnitud est´a gobernada por la velocidad u en el eje de salida de una caja reductora.

2.2 Procesos de Primer Orden

13

Observar que un motor es el que hace girar los ejes de entrada y de salida de dicha caja. La respuesta al 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 de primer orden se caracterizan por poseer una FT que posee 1 (ver Tabla 2.8); es una parte proporcional Kp m´as un retardo de primer orden T s+1 decir, su salida y(s) est´a relacionada con su entrada u(s) como sigue: y(s) =

Kp u(s) Ts + 1

(2.4)

donde Kp es la ganancia proporcional del proceso y T es la constante de tiempo. Los siguientes procesos son de primer orden.

Nivel en un Tanque Cerrado La Fig. 2.3 muestra un tanque cerrado de secci´on uniforme S, en el 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)

donde h es la altura del agua y S h˙ es el cambio de volumen de agua en el tiempo t dentro del tanque. Para variaciones peque˜ nas de h y asumiendo que el flujo de salida

14

El Proceso a Controlar q

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

S

Secci´on circular del tanque

h

Nivel del agua

h

Nivel del agua en estado estacionario

Valor 0.2

Unid. m

0.0314

m2 m

qC

Flujo de agua fr´ıa hacia el tanque

qC

Estado estacionario de qC

qD

Flujo de salida desde el tanque

qD

Estado estacionario de qD

Rh

Resistencia hidr´aulica del tanque: Rh = h/q D

qD es laminar, entonces: qD =

0.4 1.66×10−4

m3 /s m3 /s

2.16×10−4

h Rh

m m3 /s

m3 /s s/m2

(2.6)

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

h qD

(2.7)

donde h y q D son los valores en estado estacionario de h y qD respectivamente. Reemplazando (2.6) en (2.44), se obtiene la ecuaci´ on de estado lineal del nivel: 1 1 h˙ = − h + qC Rh S S

(2.8)

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

2.2 Procesos de Primer Orden

15

(2.8) toma la forma: Rh h(s) = qC (s) SRh s + 1

h(s) =

Rh qC (s) SRh s + 1

(2.9)

Asumiendo que el flujo de entrada es un 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 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: " # Rh A 1 1 h(s) = = Rh A − 1 s(SRh s + 1) s (s + SR ) h Tomando transformada inversa de Laplace a cada t´ermino de h(s) se obtiene: h i − 1 t h(t) = Rh A 1 − e SRh (2.11) Los valores inicial y final de h(t) resultan: l´ım h(t) = 0

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 siguiente programa denominado nivel1simb.m: % 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 diferencia del proceso nivel. Para ello se debe de discretizar la ecuaci´on de estado dada en (2.8) como sigue: 1 1 h(k + 1) − h(k) =− h(k) + qC (k) T Rh S S   1 1 h(k + 1) = h(k) + T − h(k) + qC (k) Rh S S   1 1 h=h+T − h + qC Rh S S

donde k = t/T es el tiempo discreto y T es el tiempo de muestreo. La u ´ltima 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. Asumiendo 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 s, (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 = τ : % 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 amplificadores operacionales (opamps) inversores conectados en cascada. La ganancia del seguidor de voltaje es uno. Las ganancias de los amplificadores son respectivamente: 1

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

1

Vo (s) = − sC2 1 Vx (s) R2 + sC

1

2

Este proceso es de segundo orden porque: 1 Vo (s) = Vi (s) (R1 C1 s + 1)(R2 C2 s + 1) C1 R1

C2 R2

C1

Vi

Vi Seguidor de voltaje

Opamp inversor

C2

Vx

Vo Opamp inversor

Fig. 2.6: Proceso de segundo orden con opamps.

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

h1 − h 2 R1

C1

dh1 = q − q1 dt

h2 dh2 C2 = q1 − q2 R2 dt Pasando al dominio de Laplace con condiciones iniciales nulas, se obtiene: q2 =

q1 (s =

h1 (s) − h2 (s) R1

C1 sh1 (s) = q(s) − q1 (s)

h2 (s) C2 sh2 (s) = q1 (s) − q2 (s) R2 Si la entrada es q(s) y la salida es q2 (s), entonces: q2 (s) =

q2 (s) 1 = 2 q(s) R1 C1 R2 C2 s + (R1 C1 + R2 C2 + R2 C1 )s + 1

2.3 Procesos de Segundo Orden

19

Tabla 2.3: 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 producida por u produce un movimiento 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: Km u = Ky + B

dy d2 y +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) 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: Asy(s) = u(s). Por lo tanto, la FT de este proceso es: Kp y(s) = u(s) s

Kp =

1 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 θ¨ = u 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, 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

˙ entonces Por otro lado, si seleccionamos como variables de estado x1 = θ y x2 = θ, las ecuaciones de estado del proceso resultan: x˙ 1 = x2 y x˙ 2 = u/J, mientras que la salida es: y = x1 . En forma matricial:        x˙ 1 0 1 x1 0 = + 1 u x˙ 2 0 0 x2 J y = [1 0]



x1 x2



θ

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. Observar que en el intervalo t0 hasta t1 , el flujo de granos y0 es producido por la abertura u0 de la v´alvula de cuchilla. En el tiempo t1 se incrementa la abertura de la v´alvula en un ∆u, lo cual se traduce en un incremento del flujo en un ∆y, s´olo cuando dicho incremento recorra la distancia L. Sabemos que la faja se mueve a una velocidad constante v. Por consiguiente, el tiempo muerto que demora el flujo ∆y en recorrer L es: Tt =

L v

22

El Proceso a Controlar

La FT de este proceso resulta entonces: y(s) = Kp e−Tt s u(s)

                                                                                                                                                                                                                                                                                                                                                                                    

Kp =

∆y ∆u

L

u(t)

Válvla decuchilla 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 yo . En el tiempo t1 se incrementan las aberturas de las v´alvulas en un ∆u1 (t) y ∆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 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 a una temperatura T . La pared met´alica del tanque se encuentra a una temperatura

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.

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

1 τ 1 s+1

K2

t

K3

(b)

Fig. 2.13: Proceso de enfriamiento.

Tm . El modelo de este proceso fue extra´ıdo de [28]. La Tabla 2.4 muestra las variables y par´ametros del proceso. El balance de energ´ıa en el flujo que se procesa se expresa como: qρCp Ti − hi Ai T + hi Ai Tm − qρCp T = V ρCv

dT dt

(2.14)

24

El Proceso a Controlar

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

Descripci´on Flujo de agua actual, estable y residual

Valor

Unid. m3 /s m3 /s

q

Flujo actual del producto que ingresa

ρ

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

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

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

m3

Temp. actual, estable y residual de q

K

Temp. actual, estable y residual de Qc

K

Temp. actual, estable y residual de q

K

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

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

K1 =

qρCp qρCp + hi Ai

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

hi A − i qρCp + hi Ai

τ1 =

(2.17) V ρCp qρCp + hi Ai

2.6 Procesos de Orden Superior

25

El balance de energ´ıa para la pared del tanque se formula como: hi Ai (T − Tm ) − ho Ao (Tm − Tc ) = Vm ρm CVm

dTm dt

(2.18)

Como en el caso anterior y sabiendo que tc = Tc − T c , se encuentra: hi Ai (t − tm ) − ho Ao (tm − tc ) = Vm ρm CVm tm (s) = K3 =

dtm dt

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

hi Ai hi Ai + h o Ao

K4 =

ho Ao hi Ai + h o Ao

(2.19)

τ2 =

V m ρ m C vm hi Ai + h o Ao

El balance de energ´ıa en la camisa de enfriamiento se formula como: Qc ρc Cp Tci + ho Ao (Tm − Tc ) − Qc ρc Cp Tc = Vc ρc Cv

dTc dt

(2.20)

La ecuaci´on (2.20) 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.21)

Reemplazando las ecuaciones de (2.21) en (2.20) se obtiene: dTc dt (2.22) En el estado estacionario todas las variables residuales son nulas. Por consiguiente, (2.22) toma la forma:

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

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

dT c dt

(2.23)

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

K5 =

K5 K6 K7 tc + tm + qc τ3 s + 1 i τ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.24)

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

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

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

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

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

τ=

J B

K=

Km Rf B

(2.26)

Motor DC Controlado por la Armadura Si el motor DC 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.27)

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

Si la inductancia de armadura La es suficientemente peque˜ na, entonces la FT para la posici´on θ y para la velocidad angular ω 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 ∼ =

τ=

Ra J (2.29) Ra B + Kb Km

Notar que tanto para el motor controlado por campo como por armadura, las FTs para θ y para ω dadas en (2.26) y (2.29) poseen la misma estructura cuando se desprecia ya sea Lf o La . Modelo en el Espacio de Estado En ingenier´ıa de control se emplea m´as el motor CC 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.27), se obtienen las siguientes ecuaciones diferenciales de primer orden: x˙ 1 = x2

x˙ 2 = −

B Km x2 + x3 J J

x˙ 3 = −

Kb 1 x3 + Va La La

Si se elige como salida la 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.30) 1 0 0





 x1  x2  x3

Si se considera que la inductancia de armadura La es despreciable, entonces podemos usar las FTs dadas en (2.29). Para el caso 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.29), 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.31) 



x1 x2



Para el caso velocidad angular ω, seleccionemos x = y = ω como la variable de estado y a la vez salida y u = Va como la se˜ nal de entrada. Se deja como ejercicio demostrar que partiendo de la segunda FT de (2.29), la representaci´on en el espacio de estado toma la forma: x = Ax + Bu y = Cx (2.32) 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´ı 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 sistema tanque con agua. S´ımbolo dA

Descripci´on Di´ametro del tanque

A

Secci´on circular del tanque

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 del tanque: Rh = h/q D

g

Aceleraci´on de la gravedad

Valor 0.2

Unid. m

0.0314

m2 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: Sistema tanque 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.33)

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 [14]: √ p π π p a = CE d2 ρD 2g (2.34) 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.34), 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 sistema 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.33), la ecuaci´on de estado para la variable de estado nivel toma la forma: a√ 1 1 h˙ = − h + qC + qH (2.35) A A A Los valores de las densidades del agua en 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.36)

donde ΦH es calor entregado por el flujo de agua caliente qH , ΦT es el calor del agua en el interior del tanque, ΦD es el calor que toma el flujo de salida qD y ΦC 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.37)

Los par´ametros que aparecen en (2.37) 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.36): a √ ρH θ H qH ρC θ C qC θ˙ = − θ h+ + Ah ρD A h ρD A h

(2.38)

Definamos las siguientes fuerzas de control o variables manipuladas: u1 = qC , u2 = qH y las siguientes variables de estado: x1 = h, x2 = θ y juntando las ecuaciones (2.35) y (2.38), la 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.39)



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

2.8 Modelo MIMO del Proceso Tanque Cerrado

y=

2.8.3.



y1 y2



=



x1 x2



C=

33 

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.39) en la forma siguiente: √ u1 + u2 = Ax˙ 1 + a x1

√ ρC θC u1 + ρH θH u2 = ρD Ax1 x˙ 2 + ρD a x1 x2 Por consiguiente:         √ 1 1 a x1 A 0 x˙ 1 u1 √ + = ρD a x 1 x 2 x˙ 2 u2 ρc θ C ρH θ H 0 ρD Ax1 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

(2.41)

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

2.8.4.

Modelo Din´ amico Lineal del Proceso

La placa de orificio instalada en la tuber´ıa del flujo de salida qD produce un flujo turbulento que para variaciones peque˜ nas del nivel h se puede aproximar como [13]: qD =

2h Rh

(2.42)

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

h qD

(2.43)

donde h y q D son los valores en estado estacionario de h y qD respectivamente. Reemplazando (2.42) en (2.35), se obtiene la ecuaci´on lineal de estado del nivel: 1 1 2 h + qC + qH h˙ = − Rh A A A

(2.44)

En funci´on de las variables de estado definidas anteriormente, (2.44) toma la forma: x˙ 1 = −

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

(2.45)

34

El Proceso a Controlar

Asumiendo que la variaci´on del nivel h es m´ınima, entonces podemos hacer las siguientes sustituciones en la ecuaci´on de estado (2.38) correspondiente a la temperatura en el tanque: p √ h=h qD = a h = a h = q D

donde el valor estacionario q D se calcula de (2.42). Tales reemplazos nos permiten obtener la siguiente descripci´on lineal de la din´amica de la temperatura: q ρC θ C ρH θ H θ˙ = − D θ + qC + qH AhρD hρD AhρD

(2.46)

Empleando las variables de estado definidas anteriormente, (2.46) toma la forma: x˙ 2 = −

ρC θ C ρH θ H qD x2 + u1 + u2 AhρD AhρD AhρD

(2.47)

La ecuaci´on de estado lineal del proceso se obtiene juntando las ecuaciones (2.45) y (2.47): x˙ = A x + B u (2.48)         x1 h u1 qC x= = u= = x2 θ u2 qH   1   1 0 − Rh2 A A A   B= ρ θ A= qD ρH θ H C C 0 − Ahρ Ahρ Ahρ D

D

D

La ecuaci´on de salida es la misma expresi´on dada en (2.40).

2.9. 2.9.1.

Respuesta Transitoria de los Procesos Respuesta al Escal´ on

Asumamos que la respuesta de un sistema (su curva de reacci´on) a una entrada tipo escal´on posee la forma mostrada en la Fig. 2.18, el cual es el caso en muchos sistemas industriales denominados autoregulados. Observar en la Fig. 2.18 que la respuesta y0 en el tiempo t1 se debe a la entrada tipo escal´on u0 . Cuando la se˜ nal escal´on de entrada cambia de u0 a u1 , entonces se produce la curva de reacci´on y(t) mostrada, la cual empieza en t1 . Este tipo de respuesta se puede aproximar mediante una FT de primer orden en cascada con una FT del tiempo muerto: Gp (s) =

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

Kp =

y1 − y 0 u1 − u 0

(2.49)

donde Kp es la ganancia proporcional, T es el retardo de primer orden o la constante de tiempo y τ es el tiempo muerto o retardo puro. Los 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. 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: Kp y(s) y1 − y 0 G(s) = = Kp = (2.50) n u(s) (Tn s + 1) u1 − u 0

Los par´ametros n y Tn de (2.50) se determinan empleando la Tabla 2.6.

2.9 Respuesta Transitoria de los Procesos

35 y

u u1

u

u0 t

0

t1

Proceso autoregulado

y

KP e τs Ts + 1

y 1 P.T. y0

τ t

t

0

t1

t

T

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

Tabla 2.6: Determinaci´on de los par´ametro n y Tn de (2.50). n

2

3

4

5

6

7

8

9

10

τ /T

0.104

0.218

0.320

0.410

0.493

0.591

0.641

0.709

0.775

Tn /T

0.368

0.270

0.224

0.195

0.175

0.151

0.148

0.140

0.132

Ejemplo 2.2 Determinar dos modelos 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 sistema, un generador de voltaje continuo. Los datos le´ıdos fueron: u0 = 10 V, u1 = 20 V, y0 = 400 rpm, y1 = 600 rpm, el tiempo muerto τ = 2 s y T = 9.2 s. Determinar la ganancia normalizada del sistema 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. Soluci´ on: El primer modelo din´amico se halla con la ecuaci´on (2.49) donde τ = 2 s y T = 9.2 s: G(s) =

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

Kp =

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

El segundo modelo din´amico se refiere a la ecuaci´on (2.50). 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 = = n u(s) (Tn s + 1) (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

36

El Proceso a Controlar

Caso Especial Para el caso especial: 0 < τ /T < 0.104 la din´amica del sistema autoregulado se puede aproximar mediante la siguiente FT de segundo orden: G(s) =

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

KP =

y1 − y 0 u1 − u 0

(2.51)

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

k>1

La constante k se determina usando la Tabla 2.7. Tabla 2.7: Determinaci´on de los par´ametro T1 y T2 de (2.51). k

1

2

3

4

5

6

7

8

9

τ /T

0.094

0.090

0.085

0.080

0.075

0.069

0.064

0.058

0.053

T1 /T

0.238

0.175

0.140

0.120

0.107

0.097

0.088

0.081

0.074

Ejemplo 2.3 Determinar el modelo que describa la 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. En este caso, los datos le´ıdos fueron: u0 = 5 V, u1 = 15 V, y0 = 200 rpm, y1 = 300 rpm, τ = 2 s, T = 22 s. Soluci´ on: El modelo din´amico se refiere a la ecuaci´on (2.51). Dado que τ /T = 0.09, empleando la Tabla 2.51 se determina que k = 2 y T1 /T = 0.175, lo que implica que T1 = 3.85 s y T2 = kT1 = 7.7 s. Como KP = (300–200)/(15–5) = 10 rpm/V, la FT pedida es: G(s) =

2.9.2.

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

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.49) se determinan de: T = 1.5(t63.2 % − t28.3 % )

τ = t63.2 % − T

(2.52)

2.9 Respuesta Transitoria de los Procesos

u

37 t 63.2%

y

u1 ∆u

u

u0 t

0

t1

Proceso autoregulado KP e τs Ts + 1

t

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 sistemas 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. 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 sistema es: y(s) ωn2 Gp (s) = = 2 (2.53) 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.53) toma la forma: Aωn2 (2.54) y(s) = s(s2 + 2ζωn s + ωn2 ) Tomando la transformada inversa de Laplace (f´ormula (31) de la Tabla A.1) se obtiene:   ωn −ζωn t y(t) = A 1 − e sen(ωd t + θ) (2.55) ωd La Fig. 2.20 (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.54) para ζ ≥ 1 se obtiene empleando la f´ormula (32) de la Tabla A.1. Cuando u(s) = A (entrada tipo impulso), y(s) en la ecuaci´on (2.53) se formula como: Aωn2 (2.56) y(s) = 2 s + 2ζωn s + ωn2 Tomando la transformada inversa de Laplace (f´ormula (29) de la Tabla A.1) resulta: y(t) =

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

(2.57)

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.

38

El Proceso a Controlar Una forma alternativa de (2.53) incluye un tiempo muerto τ . Esto es: G(s) =

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

(2.58)

Para una entrada tipo escal´on (u(s) = A/s) en (2.58) y aplicando la propiedad (5) de la Tabla A.2 en (2.55), se obtiene la respuesta y(t) al escal´on correspondiente a (2.58):   ωn −ζωn (t−τ ) y(t) = A 1 − e sen[ωd (t − τ ) + θ] (2.59) ω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.58) y aplicando la propiedad (5) de la Tabla A.2 en (2.57), se obtiene la respuesta al impulso y(t) correspondiente a (2.58): Aωn2 −ζωn (t−τ ) y(t) = e sen ωd (t − τ ) (2.60) ω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. % r1.m RESPUESTAS AL ESCAL´ ON Y AL IMPULSO DE PROCESOS AUTOREGULADOS clear all; close all; clc; wn=3; tau=2; s=tf(’s’); subplot(221), for z=[0.2:0.4:1.8]; G1=wn^2/(s^2+2*z*wn*s+wn^2); step(G1), hold on, end subplot(222), for z=[0.2:0.4:1.8]; G2=wn^2/(s^2+2*z*wn*s+wn^2); impulse(G2), hold on, end subplot(223), for z=[0.2:0.4:1.8]; G3=wn^2*exp(-tau*s)/(s^2+2*z*wn*s+wn^2); step(G3), hold on, end subplot(224), for z=[0.2:0.4:1.8]; G4=wn^2*exp(-tau*s)/(s^2+2*z*wn*s+wn^2); impulse(G4), hold on, end, print -deps -f r1

Respuesta al Escal´ on en Procesos No Autoregulados Procesos no autoregulados, como es el caso de la posici´on angular del eje de un motor de CC, o el aumento del nivel de un l´ıquido dentro de un tanque sin tuber´ıa de salida, poseen una respuesta 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.61)

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

39

Step Response

Impulse Response 4

1.5

Amplitude

Amplitude

2

0.2

1 0.5 0

1 0

1.8

2

0.2

0

1.8

5 Time (sec)

−2

10

0

5 Time (sec)

Step Response

Impulse Response 4

1.5

Amplitude

Amplitude

2

0.2

1 0.5 0

10

1.8

1 0

2

0.2

0

1.8

5 Time (sec)

−2

10

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 ζ. Proceso no autoregulado

u A

u

τ

Kp e τs s R = Kp τ

y y

R

t τ

Fig. 2.21: Respuesta al escal´on de un proceso no autoregulado.

2.10.

Problemas

Problema 2.1 Amplificador de 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.

40

El Proceso a Controlar

Tabla 2.8: FT (Funci´on 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

 Kp 1 +

1 Ti s



1 Ti s

+ Td s



Kp s

2do orden con τ (2a forma)

1er orden con tiempo muerto

Kp T s+1

e−τ s

Kp (T s+1)n

(segunda forma)

Integral con tiempo muerto

e−τ s

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

De orden n 2do orden con τ (1a forma)

Seguidor de voltaje

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

De orden n (primera forma)

Kp e−τ s

Vin

Kp (T s+1)2

(tercera forma)

Proporcional con tiempo muerto

Ri

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

Segundo orden

Kp (1 + Td s)  Kp 1 +

FT

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

2do orden con τ y derivativo

Rf

R Opamp inversor

e−τ s

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

e−τ s

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

e−τ s

R Vo Opamp inversor

Fig. 2.22: Circuito con opamps.

Problema 2.2 Turbina La Fig. 8.11 muestra una turbina de agua unido a un generador el´ectrico. Demostrar que: Kp M (s) = ω(s) Ts + 1

2.10 Problemas

41

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. Generador eléctrico Turbina Entrada de agua M ω

Desague

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

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 para Gas La Fig. 2.24 muestra un tanque de almacenamiento de gas. Demostrar que: 1 Po (s) = 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 caudal 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. 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

42

El Proceso a Controlar Pi R Q Po C ρ

Fig. 2.24: Tanque almacenador de gas.

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. La ecuaci´on din´amica de este proceso es: dv = u − f K − fB dt 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. M

x v

K B

fK

M

u

fB

Fig. 2.25: Proceso mec´anico traslacional.

Problema 2.6 Sistema de Plataformas La Fig. 2.26 muestra dos plataformas P1 y P2 de masas m1 y m2 acopladas por resorte y amortiguador. El sistema de plataformas descrito tiene como entradas de control las se˜ nales u1 y u2 generadas por dos actuadores. Las se˜ nales de control son capaces de llevar a cero con suficiente rapidez los errores de 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. Asuma Usted los valores de los par´ametros del sistema. (a) Determinar las ecuaciones de estado y de salida del sistema. (b) Determine el modelo de Lagrange del sistema. Problema 2.7 Proceso T´ ermico En el sistema t´ermico mostrado en la Fig. 2.27 se desea determinar su ecuaci´on de estado, sabiendo que las entradas al sistema son el flujo de agua q1 (t) y el flujo de calor Qi (t), mientras que las salidas son las temperaturas TM y TF . Considerar que la temperatura Ta del medio ambiente es constante. Se sabe adem´as que TF > TM , TF > Ta . Considerar que el flujo de salida qo es laminar. Los par´ametros CF y CM son los calores espec´ıficos del fluido en el tanque y de la masa respectivamente, mientras que RF y R : F son las resistencias hidr´aulicas.

2.10 Problemas

r1



 

e1

u1

+

R1



− +

r2



     

   

+



43

                     

P1

y1

Y1 K1

+

u2

B1 y

P2

R2





2

Y2 K2

B2



e2

Fig. 2.26: Plataformas acopladas.

! "! "!  $% "! "! ## "! "! "! "!   ##                         Ta

qi

RF

h

CM

CF

TM

RM

Q

TF

VAPOR

qo

Fig. 2.27: Sistema hidr´aulico del problema 2.7.

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 sistema es la fuerza f (t) aplicada sobre la masa 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. 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 sistema es el flujo de agua q1 (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 del motor y la corriente de armadura iG del motor. Problema 2.10 Proceso Electromec´ anico

44

El Proceso a Controlar

,,- ../ f(t)

M1

B1 /2

B2 /2

()

ACEITE

B1 /2

f1

A1

*+

f2

A2 M2

B2 /2

&' &' &' &' &' &' &' &' &' &' &' &' K

B

Fig. 2.28: Sistema hidr´aulico del problema 2.8. q Po

Ra

A

q1

P1

θT ωT

θG ωG

TT

TG

Rc V

Turbina

VG KT

JT

q1

La

K bω

Lc

Generador DC en paralelo

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

En el sistema electromec´anico mostrado en la Fig. 2.30 se desea determinar las funciones de transferencia ω(s)/R(s) y θ(s)/R(s). Notar que la barra dentada posee una masa M y gira a ω rad/s

R

e

Ref θ

x

Tm ωm

A

KJK

J ML ML

22A@ DC3232 A@ BDC3232 A@ BDC3232 A@ B DC 223232 E3232 E3232 EE 889 89 232 32 4432 01 5454 5454 GF5454 ?>IH GF5454 ?>IH GF ?>IH GF 445445 5445 65445 76 76

u

Vb

Kb I a Ia

L

Transductor

M

ω dθ dt

J

r

KT

f

x

B

Fig. 2.30: Sistema electromec´anico del problema 8.6.

Cap´ıtulo 3

El Sistema de Medici´ on En este Cap´ıtulo se aborda el sistema de medici´on de un sistema de control realimentado, el cual comprende la medici´on primaria, realizada con sensores, y la conversi´on de la se˜ nal se˜ nal medida en una se˜ nal manipulable, estandarizada y transmitible. Esta conversi´on la realiza el transmisor. Es necesario acotar que en el mercado se pueden encontrar tanto sensores como transmisores (denominados tambi´en transductores, convertidores o acondicionadores de se˜ nal) por separado, as´ı como tambi´en formando instrumentos unidades completas. Tambi´en cabe mencionar que los sistemas de medici´on actuales, adem´as de tener disponibles mediciones estandarizadas tales como 4 a 20 mA o 3 a 15 psi, tambi´en son capaces de procesar se˜ nales digitales empleando uno o varios protocolos industriales.

3.1.

Sensores

Recordemos que la Fig. 1.1 ilustra un sistema de control a lazo cerrado (o realimentado) simple, denominado as´ı poseer un solo lazo de realimentaci´on. El bloque sistema de medici´on para el control de procesos SISO (Single Input Single Output), consta de un sensor y de un transmisor. El sensor proporciona la variable medida, la cual representa la condici´on actual de la variable controlada y, mientras que el transmisor cambia tal medici´on en una se˜ nal estandarizada, la cual generalmente es una se˜ nal que pueda ser procesada y transmitida. En muchos casos la variable medida y la variable controlada pueden ser la misma. Los temas sensores y transmisores se tratan en forma extensa y especilizada en los textos de instrumentaci´on industrial. En esta publicaci´on, tales temas van a ser tratados con el suficiente nivel que exige un texto de control de procesos. La medici´on del valor actual de la se˜ nal a controlar se realiza mediante un sensor, denominado tambi´en elemento primario de medici´on, o un instrumento de medici´on que emplea los sensores adecuados para tal o cual medici´on. Un sensor puede estar caracterizado por una curva de reacci´ on la cual relaciona la variable medida con la se˜ nal generada. Esta curva se obtiene aplicando una serie de entradas conocidas al sensor y almacenando las correspondientes respuestas. Un ejemplo t´ıpico est´a constituido por las curvas caracter´ısticas de Temperatura (◦ F) vs mV de las termocuplas. Seg´ un el tipo de se˜ nal de salida que proporciona, un sensor se puede clasificar en anal´ogicos (la se˜ nal de salida es continua dentro del rango de medici´on), digital (la

46

El Sistema de Medici´ on

se˜ nal de salida es digital), y ON–OFF (la se˜ nal de salida var´ıa entre los umbrales ON y OFF). Seg´ un la magnitud a medir, el sensor puede ser de nivel, presi´on, temperatura, proximidad, flujo, etc. Por ejemplo, una termoresistencia proporciona una se˜ nal continua en ohms, la cual es proporcional a la temperatura medida, mientras que un radar proporciona se˜ nales discretas que son proporcionales a la magnitud de la variable medida. Por otro lado, las se˜ nales que abren y cierran completamente una v´alvula son del tipo ON–OFF.

3.1.1.

Caracter´ısticas Est´ aticas y Din´ amicas

Un sensor posee tanto caracter´ısticas est´aticas como din´amicas. Entre las caracter´ısticas est´aticas tenemos: rango, alcance, resoluci´on, sensibilidad, curva caracter´ıstica, linealidad, saturaci´on, zona muerta, repetibilidad, hist´eresis, precisi´on y exactitud. Las caracter´ısticas din´amicas son: velocidad de respuesta, respuesta en frecuencia, y estabilidad. El rango es el campo de medida de la magnitud de entrada del sensor y var´ıa entre el valor m´aximo y el valor m´ınimo detectables, con una tolerancia de error aceptable. El alcance o span es la diferencia entre el valor m´aximo y el valor m´ınimo de inter´es, mientras que la resoluci´ on es la m´ınima diferencia entre dos valores pr´oximos que el sensor es capaz de distinguir. Supongamos que un volt´ımetro es capaz de medir en el rango de 0 a 500 V, pero nosotros s´olo estamos interesados en medir en la escala de 200 a 300 V, lo cual significa un span de 100 V. El volt´ımetro usado posee una resoluci´on de 0.5 V, es decir, podemos ver sin dificultad lecturas de, por ejemplo, 200.5 V 0 289.5 V. La sensibilidad es la variaci´on de la salida debido a una variaci´on de la entrada. El gr´afico de los puntos de sensibilidad define la curva caracter´ıstica o de de calibraci´on. Este gr´afico representa respuesta no lineal. Mientras mayor sea la pendiente de dicha curva, mejor la sensibilidad. En un sensor con curva de respuesta lineal, la variaci´on de la salida producida por una variaci´on de la entrada es constante; es decir, su sensibilidad es siempre la misma y su curva caracter´ıstica es lineal. Por ejemplo, las curvas caracter´ısticas de los diodos en su zona activa son no lineales porque sus puntos de sensibilidad corriente sobre voltaje no son constantes. En cambio, una conductancia (la inversa de la resistencia) si posee una curva caracter´ıstica lineal, porque sus puntos de sensibilidad corriente sobre voltaje son constantes. La saturaci´ on se manifiesta en un sensor debido a la no linealidad producida por la disminuci´on de sensibilidad, t´ıpicamente al principio o al final del rango. En las zonas de saturaci´on, la medici´on no es confiable. La zona muerta de un sensor es el a´rea de valores de la variable medida que no hace variar la indicaci´on del instrumento. Un sensor posee repetibilidad cuando se puede repetir el valor de la medici´on de una variable para una u ´nica direcci´on de medici´on. La hist´erisis en un sensor se parece a la repetibilidad; sin embargo, el proceso de medici´on es en ambos sentidos. Por ejemplo, un term´ometro posee repetibilidad porque siempre mide 49◦ C en un objeto de 50◦ C cuando dicho objeto pasa de m´as fr´ıo a m´as caliente. Desafortunadamente, este term´ometro posee una hist´eresis de ±1◦ C porque en un objeto de 50◦ C mide 49◦ C cuando dicho objeto pasa de m´as fr´ıo a m´as caliente, y mide 51◦ C cuando el objeto pasa de m´as caliente a m´as fr´ıo. La exactitud de una medici´on se refiere a la m´axima desviaci´on en % del valor

3.1 Sensores

47

medido, con respecto al valor ideal. Por otro lado, un instrumento de medici´on es preciso cuando puede reproducir la lectura medida con una exactitud previamente determinada. Supongamos que se mide una corriente conocida de 100 mA empleando 5 lecturas, las cuales resultan: 104, 103, 105, 103 y 105 mA. Dado que la desviaci´on m´axima en la medici´on es 5 mA con respecto al valor real de 100 mA, la exactitud del instrumento resulta: 5 × 100 = 5 % 100 La precisi´on se halla calculando primero la media de las lecturas: 105 + 103 + 105 + 103 + 105 = 104 mA 5 y luego determinando la m´axima desviaci´on de las lecturas con respecto a dicha media, en este caso: ± 1 mA, que equivale al 1 % con respecto a la medida real de 100 mA. En la mayor´ıa de los casos, los sensores poseen un comportamiento din´amico constante o proporcional, pero en otros casos, el comportamiento es similar al de un proceso de primer orden. Por ejemplo, en un sensor PT 100 empleado para medir la temperatura, la relaci´on entre la salida resistencia en ohm y la entrada temperatura en ◦ C es constante, mientras que en un flotador empleado para la medici´on de nivel, la relaci´on entre la salida voltaje en V y la entrada nivel en m es una expresi´on de primer orden: voltaje K = (3.1) nivel Ts + 1 donde K es la ganancia del sensor, s es la variable de Laplace y T es la constante de tiempo, la cual se interpreta como el tiempo que demora la medici´on. La estabilidad en un sensor se explica como la desviaci´on que sufre la medici´on cuando se var´ıan ciertos par´ametros. La velocidad de respuesta de un sensor es la capacidad para que la se˜ nal de salida siga sin retraso a las variaciones de la se˜ nal de entrada. Una velocidad de respuesta r´apida implica una constante de tiempo T peque˜ na y viciversa. Por otro lado, la respuesta en frecuencia de un sensor se determina excitando al sensor con se˜ nales senoidales de amplitud constante y frecuencia variable. √ Si el sensor recibe excitaciones senoidales, entonces en 3.1: s = jω, donde j = −1 es la unidad de n´ umeros imaginarios y ω = 2πf es la frecuencia angular. Luego:   K K K = =√ arctan(−T ω) = M (ω)∠M (ω) (3.2) T s + 1 s=jω T jω + 1 1 + ω2T 2 K MB (ω) = 20logM (ω) ∠M = arctan(−T ω) 1 + ω2T 2 donde M (ω) es la magnitud de 3.1 y ∠M (ω) es el argumento o fase para cada frecuencia ω. MB (ω) es M expresado en dB (decibelios). El gr´afico de MB (ω) vs ω en escala logar´ıtmica es la respuesta en frecuencia en magnitud del sensor representado en 3.1, mientras que el gr´afico ∠M = arctan(−T ω) vs ω en escala logar´ıtmica es su correspondiente respuesta en frecuencia de su a´ngulo o fase. Tales representaciones se denominan los gr´aficos de Bode en magnitud y fase. Un sensor no es estable cuando la medici´on experimenta desviaciones en los valores medidos debido a la variaci´on de ciertos par´ametros, tales como K y T (ver (3.2)). M (ω) = √

48

El Sistema de Medici´ on

Sensores de Temperatura Los sensores de temperatura, de acuerdo al principio f´ısico o caracter´ıstica con que operan, se pueden clasificar en: 1. Term´ometros de dilataci´on, tales como los term´ometros de vidrio, de bulbo y bimet´alicos. 2. Term´ometros sensibles a la resistencia, tales como los term´ometros con resistencia met´alica y los termistores. 3. Termocuplas o termopares. 4. Medici´on sin contacto, como son los pir´ometros o´pticos, de radiaci´on y de dos colores.

3.1 Sensores

49

Fig. 3.1: Principios de los sensores.

50

El Sistema de Medici´ on

Fig. 3.2: Principios de los sensores.

Cap´ıtulo 4

Elementos Finales de Control Este Cap´ıtulo

4.1.

Caracter´ısticas

El ECF (Elemento de Control Final) es un dispositivo que posee la potencia necesaria para ejercer cambios en el proceso, cada vez que recibe la se˜ nal del controlador. Por lo general, el EFC consta de dos partes: el actuador, que transforma la se˜ nal del controlador en un comando para el dispositivo manipulador, y, el mecanismo de ajuste, el cual dosifica el flujo de masa o de energ´ıa que est´a siendo manipulado. Uno de los EFC m´as empleados en la indutria es la VCA (V´alvula de Control Autom´atico). En una VCA neum´atica, su actuador (el cabezal de la VCA con su membrana) recibe la se˜ nal estandarizada de 3 a 15 psig (o 0.2 a 1 bar) para desplazar el eje o v´astago que est´a unido a la membrana. En el extremo libre de este eje se encuentra el cono u obturador, y a continuaci´on, el asiento de la VCA. Si esta v´alvula est´a siendo usada para controlar el paso de un fluido a trav´es de una tuber´ıa, entonces el mecanismo de ajuste dosifica el caudal que pasa por la VCA aumentando o disminuyendo la abertura entre el cono y su asiento, en concordancia con la se˜ nal estandarizada que recibe de su actuador. Dependiendo de la energ´ıa auxiliar con la que est´an alimentadas, los actuadores se pueden clasificar en el´ectricos, neum´aticos e hidr´aulicos. Los actuadores el´ectricos m´as empleados son el motor DC, el motor AC, la bobina con n´ ucleo de hierro m´ovil, y el inversor de potencia. Entre los actuadores neum´aticos tenemos los de membrana de simple y doble efecto, el cilindro de membrana, el cilindro (o pist´on) de doble y simple efecto. El cilindro hidr´aulico y el cilindro hidr´aulico rotatorio son dos actuadores hidr´aulicos representativos. La Fig. 4.1 muestra el esquema de los actuadores antes mencionados. Los dispositivos de ajuste tambi´en se clasifican de acuerdo a la energ´ıa auxiliar que los alimenta. A su vez, los dispositivos de ajuste el´ectricos pueden ser continuos y discontinuos. La resistencia el´ectrica, el transformador y el transistor de potencia son dispositivos continuos, mientras que el contacto, el micro interruptor, el rel´e, un tiristor o un triac son discontinuos. En las v´alvulas para gas, vapor, l´ıquidos o granos, el conjunto obturador–asiento constituye el dispositivo de ajuste.

52

Elementos Finales de Control

`O_`O_aa `O_`O_ `_`_ O[\O[\ \O[\O[ ^]]^]^ \[\[ ]^]^]^ aaa ]^ a (a)

(c)

(b)

XOWXOWXOW XWXWXW WOXXWOXWOWXXWXW Z XWOXW ZYZY

(d)

(e)

PTSONOPNOPON RQTS PNPNPN TSOTS

UOUOUOUOUOVUOUOUOVUOUUVU UOUOUOVUOVUOVUOVUOVUOVUOVUVUVU VVOVVOVV

R S T (g)

(f)

Y

w

(h)

Fig. 4.1: Actuadores. (a)

(c)

(b)

(d) (e)

(f)

(g)

(h)

Fig. 4.2: Actuadores.

4.2. 4.2.1.

La V´ alvula de Control Autom´ atica (VCA) Dimensionamiento de una VCA

La VCA es uno de los EFC m´as empleados en el control de procesos tales como presi´on, nivel, temperatura, fluidos (l´ıquidos, gases, vapor), PH, redox, etc. Existen tres tipos principales de v´alvula: de aperura y cierre r´apido (v´alvulas ON–OFF), de caracter´ıstica lineal y de caracter´ıstica isoporcentual.

4.2 La V´ alvula de Control Autom´ atica (VCA)

53

La abertura o posici´on del v´astago en una v´alvula ON–OFF est´a restringida a dos posiciones: apertura y cierre, mientras que en las v´alvulas de caracter´ıstica lineal e isoporcentual, las posici´on m del v´astago responde a una ecuaci´on que es funci´on de la constante Cv o tama˜ no de la v´alvula. Para un mejor entendimiento del tema, a continuaci´on se deduce la expresi´on de CV para un fluido que fluye en una VCA. La porci´on de la v´alvula que muestra la Fig. 4.3 corresponde al cono y al asiento de la misma, por donde fluye un producto de caudal Q, que posee un peso espec´ıfico γ y una densidad ρ. El fluido ingresa a v´alvula con una velocidad V1 , cruzando una una secci´on A1 y produciendo una presi´on P1 . El flujo sale por la abertura v´astago– cono de secci´on A2 , a una velocidad V2 y generando una presi´on P2 . El principio de Bernoulli nos permite formular: P1 V12 P2 V22 + + h1 = + + h2 γ 2g γ 2g

(4.1)

Por continuidad: Q = V 1 A1 = V 2 A2



V 1 = β 2 V2

β2 =

A2 A1

(4.2)

Notar en la Fig. 4.3 que la altura h1 es cero porque coincide con el eje horizontal de referencia a trazos, mientras que la altura h2 se puede despreciar por ser peque˜ na. Reemplazando V1 de (4.2) en (4.1) produce: s s (P2 − P1 )2g γH2 O (P2 − P1 )2g γ V2 = × = GF = (4.3) γ(1 − β 4 ) γH 2 O GF γ(1 − β 4 )γH2 O γH 2 O Por consiguiente: Q = V 2 A2 = C v

r

P2 − P 1 GF

Cv = A 2

s

2g GF (1 − β 4 )γH2 O

(4.4)

donde la constante Cv , conocida tambi´en como tama˜ no o dimensionamiento de la v´alvula, posee la expresi´on: s s 2g GF =Q (4.5) Cv = A 2 4 GF (1 − β )γH2 O (P2 − P1 ) Esta u ´ltima expresi´on se corrige multiplic´andola por factores que toman en cuenta p´erdidas, ruido, caracter´ıstica del fluido, etc. Notar que cuando P 2 − P1 = GF = 1, entonces: Q = Cv ; es decir, el caudal iguala al tama˜ no de la v´alvula. Bajo ciertas consideraciones, la constante Cv de la v´alvula ha sido adoptado por los fabricantes y usuarios como un coeficiente de dimensionamiento. En este sentido, esta constante se define como el caudal en galones USA por minuto (gpm) que pasa a trav´es de la v´alvula en posici´on completamente abierta y con una p´erdida de carga (ca´ıda de presi´on) de una libra por pulgada cuadrada (psi). En aquellos pa´ıses donde se emplean el sistema m´etrico, la constante de la v´alvula se denomina Kv y se define como el caudal de agua (de 5 a 40◦ C) en m3 /h que pasa a trav´es de una v´alvula a una determinada apertura y con una p´erdida de carga

54

Elementos Finales de Control

Vástago Cono Q, P1 , V1, A 1

Q, P2 , V 2, A 2 Asiento

h2

Fig. 4.3: Cono y asiento en una v´alvula de control autom´atica.

de de 1 bar (105 Pa). La equivalencia entre los coeficientes Kv y Cv para una VCA completamente abierta es: Kv = 0.86 Cv m3 /h

Cv = 1,16 Kv gpm

(4.6)

El rango de control R de la v´alvula ((rangeability en ingl´es) se define por la relaci´on: Kvs (4.7) R= Kv0 donde Kvs es la constante para v´alvula completamente abierta, mientras que K v0 es el m´ınimo valor de la misma. El rango R toma un valor de 30 a 1 en VCAs del tipo isoporcentual, y de 15 a 1 o de 30 a 1 en VCAs lineales. La curva caracter´ıstica de una VCA lineal est´a regida por la relaci´on: Cv = Cvmax

m 100

(4.8)

mientras que para una VCA isoporcentual: m

Cv = Cvmax R 100 −1

(4.9)

donde m es la posici´on del eje o v´astago de la v´alvula expresado en % y C vmax es el valor m´aximo de Cv . El denominado factor CL , que represente la restricci´on a fluir ofrecida por la linea (tuber´ıa) y por otros elementos del proceso en la linea, se puede calcular de: r B CL = Cvmax (4.10) 1−B donde B es la raz´on de ca´ıda de presi´on, definida como: B=

Ca´ıda de presi´ on m´ınima (v´ alvula abierta) Ca´ıda de presi´ on m´ axima (v´ alvula cerrada)

(4.11)

Un factor de flujo combinado, denominado CE , se puede formular como: CL Cv CE = q CL2 + Cv2

(4.12)

4.2 La V´ alvula de Control Autom´ atica (VCA)

55

Con las consideraciones anteriores, el caudal Q, que fundamentalmente es proporcional a la ra´ız cuadrada de la ca´ıda ∆P = P1 − P2 , se formula como: Q = CE

√ ∆P

(4.13)

La Fig. 4.4 muestra las curvas caracter´ısticas de las v´alvulas ON–OFF, lineal (ecuaci´on (4.8)) e isoporcentual (ecuaci´on (4.9)), mientras que la Fig. 4.5 ilustra la forma de los conos u obturadores.

Fig. 4.4: Curvas caracter´ısticas de las VCAs.

Fig. 4.5: Tipos de conos (obturadores).

4.2.2.

Carcter´ıstica de una VCA Operando

La Fig. 4.6(a) muestra una bomba que genera un caudal Q a una presi´on P 0 . La ca´ıda de presi´on en la VCA es ∆P = P1 − P2 , mientras que las p´erdidas ∆P1 , ∆P2 y ∆P3 ocurren en otras partes de la linea. Para tal situaci´on, es evidente que: P0 = ∆P + ∆P1 + ∆P2 + ∆P3

56

Elementos Finales de Control

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

P2 P

P1

P2

P3

(a)

Para máxima presión nominal

Q Amax

Punto adecuado ubicado al 70% u [mm]

0%

100%

A (b)

Fig. 4.6: (a) V´alvula operando en una linea. (b) Operaci´on de una VCA alrededor del punto de operaci´on A.

Cap´ıtulo 5

Control PID SISO El controlador PID SISO procesa la se˜ nal de error e(t), la cual es la diferencia entre la se˜ nal deseada r(t) y la se˜ nal controlada y(t) (la salida del sistema), empleando un algoritmo de control ampliamente difundido en el mundo industrial, cuya forma m´as conocida es: Z de(t) Kc = P (t) + I(t) + D(t) e(t)dt + Kc Td u(t) = Kc e(t) + Ti dt donde Kc es la ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo. En la expresi´on anterior se puede ver claramente que el algoritmo PID posee una parte R c proporcional: P (t) = Kc e(t), una parte integral: I(t) = K e(t)dt y una derivativa: Ti

D(t) = Kc Td de(t) dt . Este algoritmo posee muchas variaciones, algunas de las cuales vamos a explorar en este cap´ıtulo. Dependiendo de la aplicaci´on, el controlador en cuesti´on puede trabajar como P, PI, PD o PID. Es importante mencionar que el algoritmo PID es el de mayor aplicaci´on industrial (aproximadamente el 90 %) y su modelo din´amico es lineal y de segundo orden. Se emplea para controlar sistemas caracterizados por tener una entrada y una salida, como son los casos del control de presi´on, nivel, flujo, entre otros.

5.1.

Sistema de Control SISO

Un sistema de control SISO realimentado o a lazo cerrado, sin presencia de disturbios, tal como el que se muestra en la Fig. 5.1(a), comprende el proceso con FT Gp (s) cuya salida y (la se˜ nal PV) se desea controlar, un controlador G c (s) que genera la se˜ nal de control u (la se˜ nal MV) y el sistema de medici´on Gm (s) que se ocupa de sensar y transmitir la se˜ nal y. El comparador que genera la se˜ nal de error e = r − y, donde r es la se˜ nal de referencia deseada o SP, es parte del controlador. El controlador mostrado en las Figs. 5.1(b) y (c) ha sido dividido en dos partes: Gc1 (s) y Gc2 (s). Para algunas configuraciones Gc1 (s) es del tipo PI mientras que Gc2 (s) es del tipo D, tal como se ver´a m´as adelante. Notar que el sistema a controlar Gp (s) mostrado en las Figs. 5.1(a), (b) y (c) es del tipo SISO porque posee una entrada: u y una salida: y. Los controladores mostrados en las Figs. 5.1(a) y (b) son parte de un circuito realimentado. En la Fig. 5.1(c), el controlador G c2 (s) es del tipo anticipativo, mientras que Gc1 (s) es del tipo de realimentaci´on.

58

Control PID SISO r

e

u

Gc (s)

G p(s)

y

G m (s) (a) r

e

u

G c1 (s)

G p(s)

y

G c2 (s) G m (s) (b) G a (s) r

e

G c (s)

u

y G p(s)

G m (s) (c)

Fig. 5.1: Sistemas de control realimentados.

El objetivo de control consiste en dise˜ nar una se˜ nal de control u, generada por el algoritmo de control, que sea capaz de estabilizar la salida y del sistema con respecto a una se˜ nal de referencia r. En otras palabras, que la se˜ nal de control u sea capaz de minimizar la se˜ nal de error e = r − y, cumpliendo ciertas especificaciones de dise˜ no previamente establecidas, ya sea en el dominio del tiempo o en el dominio de la frecuencia. El sistema de control SISO realimentado mostrado en la Fig. 5.2 toma en cuenta la acci´on de los disturbios dy , du y dm actuando en la salida del sistema, en la salida del controlador y en la salida del transmisor, respectivamente, los cuales no fueron considerados en el sistema de la 5.1(a). El objetivo de control del sistema en este caso es m´ ultiple: dise˜ nar una se˜ nal de control u que sea capaz de estabilizar la salida y con respecto a la se˜ nal de referencia r, cumpliendo ciertas especificaciones de dise˜ no (ver secci´on 5.2) previamente establecidas, rechazando al mismo tiempo la acci´on de los disturbios que act´ uan sobre el sistema. El filtro de entrada sirve para eliminar las componentes de alta frecuencia, cuya presencia puede ser da˜ nina durante el funcionamiento del sistema de control realimentado. Por otro lado, para evitar posibles da˜ nos en el actuador del elemento final de control, se debe de incluir un limitador, tal como el mostrado en la Fig. 5.2. La presencia de dicho limitador puede provocar el efecto denominado windup, el cual ser´a tratado en la secci´on 5.7.

5.2 Especificaciones de Dise˜ no

59 du

r

Filtro de entrada

e

Controlador

Limitador Proceso más u u u elemento u final de control

dy y

Sensor más transmisor dm

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

5.2.

Especificaciones de Dise˜ no

Todo sistema de control debe de cumplir ciertas especificaciones de dise˜ no. Estas especificaciones se establecen tanto en el dominio del tiempo como en el de la frecuencia. las especificaciones m´as usadas en el dominio del tiempo son: error en estado estable ess , tiempo de estabilizaci´on Ts , porcentaje de sobrenivel P.O. y tiempo de subida Tr . En el dominio de la frecuencia, las especificaciones de m´as aplicaci´on son: ancho de banda ωB , margen de fase Mf y margen de ganancia Mg .

5.2.1.

Especificaciones de Dise˜ no en el Dominio del Tiempo

Para explicar las especificaciones de dise˜ no en el dominio del tiempo, se acostumbra emplear el sistema de segundo orden con realimentaci´on unitaria mostrado en la Fig. 5.3(a). En la Fig. 5.3(b) se observa la respuesta transitoria a un escal´on de entrada, donde ωn es la frecuencia natural de oscilaci´on, ζ < 1 es el coeficiente de amortiguamiento, A es la magnitud de la entrada tipo escal´on r, Mp es el valor m´aximo de la salida y, Tr es el tiempo de subida, Tp es el tiempo pico, Ts es el tiempo de estabilizaci´on y ess es el error en estado estable. El tiempo Ts se define como el tiempo necesario para que la amplitud de la salida y se mantenga dentro de una banda de magnitud ±δ (2δ en total). Para la respuesta mostrada en la Fig. 5.3(b), la magnitud de la banda 2δ se mantiene en 2 % de la magnitud A del set point, luego de transcurridas 4 veces la constante de tiempo τ del sistema. Esto es: 4 (5.1) Ts = 4τ τ= ζωn Para una referencia tipo escal´on de magnitud A, el P O (porcentaje de sobrenivel) del sistema se define como: PO =

Mp − A × 100 A

(5.2)

El error en estado estable ess = r − yss es la diferencia entre la se˜ nal de referencia r y el valor en estado estacionario yss de la salida. Este error debe de permanecer dentro de la banda 2δ preestablecida. Para la situaci´on mostrada en la Fig. 5.3(b),

60

Control PID SISO

el error ess se puede determinar empleando el teorema del valor final, teniendo en cuenta que r(s) = A/s, como sigue: Gp (s) =

y(s) ωn2 = 2 r(s) s + 2ζωn s + ωn2

y(s) = Gp (s)r(s)

A =A ess = r − yss = A − A = 0 s→0 s relaciones exactas para Tp , Mp y P O se expresan como: √ Mp − A 2 100 = 100e−ζπ/ 1−ζ A √   2 A 1 + e−ζπ/ 1−ζ p π−θ θ = arc cos ζ ωd = ω n 1 − ζ 2 ωd π ωd

l´ım y(t) = yss = l´ım sGp (s)

t→∞

Sin demostraci´on, las PO = Mp = Tr = Tp =

ω2 n

r s (s

(5.3) (5.4) (5.5) (5.6)

y

2 ζ ωn ) (a)

r

y

A

ω 2n

r s2

0

2 ζω n s

τ

y

yss

ω 2n

0 T r Tp

(b)

s1 ζω n

Zona de estabilidad



Mp A



e ss τ

Ts

Plano s

jω d

θ ωn

s2 (c)

σ Zona de inestabilidad

Fig. 5.3: Respuesta al escal´on de un sistema de segundo orden autoregulado.

La ecuaci´on caracter´ıstica del sistema de segundo orden es el denominador de la FT mostrada en la Fig. 5.3(b): s2 + 2ζωn s + ωn2 = 0

(5.7)

5.2 Especificaciones de Dise˜ no

61

Sus ra´ıces caracter´ısticas o eigenvalues, ilustradas en la Fig. 5.3(c), se expresan como: s1 = −ζωn + jωd

s2 = −ζωn − jωd

De la Fig. 5.3(c) es f´acil deducir la relaci´on: θ = arc cos ζ usada en (5.5). En los sistemas sobreamortiguados, cuyas respuestas al escal´on ocurren cuando ζ ≥ 1, tal como se muestran en las partes superior e inferior izquierda de la Fig. 2.20, el tiempo de subida Tr se define como el tiempo en que se alcanza el 90 % de la magnitud A de la entrada tipo escal´on, y se calcula de: Tr =

2.16ζ + 0.16 ωn

0.3 ≤ ζ ≤ 0.8

(5.8)

Ejemplo 5.1 La Fig. 5.4 muestra un sistema realimentado. Determinar la ganancia K y el polo p para que se cumplan las siguientes especificaciones de dise˜ no: el porcentaje de sobrenivel de la respuesta y(t) a un escal´on unitario debe de ser menor del 3 % y el tiempo para alcanzar el valor estacionario de la respuesta debe de ser menor de 8 s. r

y

K s (s

p)

Fig. 5.4: Sistema realimentado del ejemplo 5.1.

Soluci´ on: La FT y(s)/r(s) en la Fig. 5.4 se expresa como: y(s) K ωn2 = 2 = 2 r(s) s + ps + K s + 2ζωn s + ωn2

p = 2ζωn

K = ωn2

donde ζ se puede determinar de la condici´on P O < 3 %, a saber: √ c ln(100/P O) 2 c= 100e−ζπ/ 1−ζ < P O → ζ > √ 2 π 1+c de donde resulta: ζ < 0.745. Dado que Ts = ζω4n < 8 s, entonces: ωn > (2ζ)−1 = 0.67. Luego se pueden determinar los par´ametros p y K pedidos.

5.2.2.

Especificaciones de Dise˜ no en el Dominio de la Frecuencia

La repuesta en frecuencia de un sistema se define como la respuesta estacionaria del sistema a una se˜ nal sinusoide de entrada. Para determinar la respuesta en frecuencia de un sistema que posee una FT G(s) = y(s)/u(s), basta reemplazar la variable laplaciana s por jω, es decir, G(jω) = y(jω)/u(jω), donde j es la unidad de los n´ umeros imaginarios, ω es la frecuencia de la sinusoide de entrada u(jω) = Asenωt, e y(jω) = Bsen(ωt + φ) es la salida. Si se mantiene constante la amplitud A de la entrada, para cada frecuencia ω de esta se˜ nal, la salida y(jω) puede experimentar cambios, tanto en su amplitud B como en su fase φ.

62

Control PID SISO

Gr´ aficos de Bode y Nyquist, y Carta de Nichols El gr´afico de Bode en magnitud de una FT G(jω) se obtiene graficando la magnitud |G(jω)|dB = 20 log(G(jω)) expresada en dB (decibelios) versus la frecuencia ω representada en una escala logar´ıtmica (ωlog ). Si la escala logar´ıtmica usada es vulgar (de base 10), entonces ωlog se representa en d´ecadas. En cambio, si es de base 2, ωlog se representa en octavas. Una escala de frecuencias en d´ecadas podr´ıa ser: ωlog : 0.01 – 0.1 – 1 – 10 – 100 - 1000 - 10000 mientras que una escala en octavas ser´ıa: ωlog : 0.25 – 0.5 – 1 – 2 – 4 – 8 – 16 – 32 – 64 El gr´afico de Bode en fase de una FT G(jω) se obtiene graficando la fase ∠G(jω) expresada en grados sexagesimales versus la frecuencia ωlog representada en escala logar´ıtmica de base 10 (d´ecadas) o en escala logar´ıtmica de base 2 (octavas). En general, la FT G(jω) de un sistema se puede representar como G(jω) = u+jv, donde u es la parte real y v es la parte imaginaria. En un gr´afico de Nyquist se gr´afica la parte real u versus la parte imaginaria v de la FT G(jω) del proceso. El gr´afico de |G(jω)|dB versus ω en escala logar´ıtmica se denomina la carta de Nichols que tambi´en se emplea en el dise˜ no de sistemas de control v´ıa la respuesta en frecuencia. Ejemplo 5.2 Elaborar los gr´aficos de Bode y Nyquist y la carta Nichols del proceso con FT: G(s) =

ωn2 s2 + 2zωn s + ωn2

donde ωn = 1 y el coeficiente de amortiguamiento z es variable. Soluci´ on: Las Figs. 5.5, 5.6 y 5.7 muestran los gr´aficos pedidos, los cuales se realizaron ejecutando los programas bode1.m, nyquist1.m y nichols1.m % bode1.m clear all; close all; clc; s=tf(’s’); for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); bode(G), hold on, end % nyquist1.m clear all; close all; clc; s=tf(’s’); for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); nyquist(G), hold on, end % nichols1.m clear all; close all; clc; s=tf(’s’); for z=[0.1:0.4:1.3], G=1/(s^2+2*z*s +1); nichols(G), hold on, end

Especificaciones de Dise˜ no en Frecuencia La Fig. 5.8(a) muestra la respuesta del proceso autoregulado de segundo orden a una entrada sinusoide, mientras que la Fig. 5.8(b) ilustra su gr´afico de Bode en magnitud. Sin demostraci´on, el valor pico Mω de la magnitud, el cual se puede emplear como especificaci´on de dise˜ no, posee la relaci´on: Mω =

1 2ζ(1 − ζ 2 )

ζ ≤ 0.7

(5.9)

5.2 Especificaciones de Dise˜ no

63

Bode Diagram 20

z=0.1 z=0.5

Magnitude (dB)

0 −20

z=0.9 z=1.3

−40 −60

z=0.1 z=0.5

z=0.9 z=1.3

−45 −90 −135 −180

−2

−1

10

0

10

1

10 Frequency (rad/sec)

2

10

10

Fig. 5.5: Gr´aficos de Bode para el ejemplo 5.2.

Nyquist Diagram 6

4

z=0.1 2 Imaginary Axis

Phase (deg)

−80 0

z=0.9

z=0.5

0

−2

z=1.3

−4

−6 −3

−2

−1

0 Real Axis

1

2

Fig. 5.6: Gr´afico de Nyquist para el ejemplo 5.2.

3

64

Control PID SISO

Nichols Chart 20

z=0.1

Open−Loop Gain (dB)

0

−20

z=0.5

−40

z=0.9

z=1.3

−60

−80

−100 −180

−135

−90 Open−Loop Phase (deg)

−45

0

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

La frecuencia ωr en la que ocurre Mω se denomina frecuencia de resonancia y su expresi´on es: p ωr = ωn 1 − 2ζ 2 ζ ≤ 0.7 (5.10)

El ancho de banda del sistema se refiere a la frecuencia ωB para la cual existe una ca´ıda de 3 dB, tal como se observa en la Fig. 5.8(b) y se calcula de: ωB = (−1.196ζ + 1.85)ωn

0.3 ≤ ζ ≤ 0.8

(5.11)

En el sistema realimentado mostrado en la Fig. 5.10(a), las FTs a lazo abierto y a lazo cerrado se definen como: y(s) = G(s)H(s) = GH(s) e(s

y(s) G(s) = r(s) 1 + GH(s)

En el dominio de la frecuencia, tales FTs se expresan como: y(jω) = G(jω)H(jω) = GH(jω) e(jω

y(jω) G(jω) = r(jω) 1 + GH(jω)

La ecuaci´on caracter´ıstica (EC) del sistema de la Fig. 5.10(b) es su denominador: 1 + GH(jω) = 1 + u(jω) + jv(jω) donde u(jω) y (jω) son la parte real e imaginaria de GH(jω), respectivamente. Si tal EC fuera cero, entonces el sistema tomar´ıa un valor muy grande. Esta situaci´on es

5.2 Especificaciones de Dise˜ no

65 y(j ω)=Bsen(ωt+φ)

r(jω)=Asen ωt y(jω)

ω2 n

r(jω)

A

B

(jω)2 2 ζ ωn j ω ωn 2

t

φ

t

(a) y(jω)/r(jω) (b)

dB

(Mω) dB 0dB −3dB 0

ωr

ωB

ω log

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

denominada cr´ıtica, porque se produce cuando el sistema posee ya un comportamiento inestable. Un sistema es estable cuando las ra´ıces de la EC 1 + GH(s) = 0 poseen parte real positiva. Las ra´ıces nulas provocan tambi´en comportamiento inestable del sistema realimentado. En general: p v ∠GH(jω) = arctan GH(jω) = |GH(jω)|∠GH(jω) |GH(jω)| = u2 + v 2 u Se ha mencionado que en el l´ımite de estabilidad, la EC toma la forma: 1 + GH(jω) = 0

GH(jω) = −1

La Fig. 5.9 grafica tal situaci´on, donde u = −1, v = 0, |GH(jω)| = 1 y ∠GH(jω) = 180◦ . jv GH(jω) = 180° 1

u |GH(jω)| = 1

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

El margen de ganancia Mg se define como el rec´ıproco de la ganancia |GH(jω)| para la frecuencia en que la fase de GH(jω) alcanza 180o . Dado que GH(jω) = u+jv,

66

Control PID SISO

dicho a´ngulo ocurre cuando v = 0. El Mg se puede interpretar como un factor por el cual tiene que aumentarse la ganancia del sistema para que el gr´afico de GH(jω) pase por el punto cr´ıtico (u, v) = (−1, 0), tal como se muestra en las Figs. 5.10(b), (c) y (d). Los sistemas estables poseen Mg positivos, mientras que el Mg es negativo para los sistemas inestables. El margen de fase Mf se define como el a´ngulo de fase que debe de girar el gr´afico de GH(jω) = u + jv para que el punto de magnitud |GH(jω)| = 1, pase a trav´es del punto (u, v) = (−1, 0), tal como se muestran en las Figs. 5.10(b), (c) y (d). Los sistemas estables poseen Mf positivos, mientras que el Mf es negativo para los sistemas inestables. Ejemplo 5.3 Determinar los m´argenes de fase y de ganancia del sistema mostrado en la Fig. 5.10(a) sabiendo que: G(s) =

1.5 (s + 0.1)(s + 0.3)(s + 0.4)

H(s) = 0.1

Soluci´ on: Ver programa mfmg1.m y Fig. 5.11. % mfmg1.m C´ ALCULO DE LOS M´ ARGENES DE FASE Y DE GANANCIA clear all; close all; clc; s=tf(’s’); G = (1.5)/((s+0.1)*(s+0.3)*(s+0.4)); H = 0.1; GH = series(G,H); [Mg,Mf,wMg,wMf] = margin(GH); % GR´ AFICA BODE DE GH [20*log10(Mg),Mf,wMg,wMf] % [-0.5976 -2.1262 0.4359 0.4499] % SISTEMA INESTABLE PORQUE Mg EN dB Y Mf EN GRADOS SON NEGATIVOS margin(GH); print -f -deps mfmg1

5.3.

Modos de Control PID

El algoritmo de control PID es la suma de las acciones o modos de control P (proporcional), I (integral) y D (derivativo). En esta secci´on abordaremos estos modos de control. Para un mejor entendimiento del tema, emplearemos un sistema de control con realimentaci´on unitaria y SP igual a la unidad,cuyo proceso posee la siguiente FT: s + Tz Gp (s) = (5.12) (s + T1 )(s + T2 )(s + T3 )(s + T4 )(s + T5 ) En este proceso ser´an aplicadas las acciones de control PID. La acci´on de control ON–OFF se trata por separado en la siguiente secci´on.

5.3.1.

La Banda Proporcional BP %

La acci´on P del controlador se expresa como: u(t) = Kc e(t) (ver Fig. 5.13), donde u(t) es la se˜ nal de salida del controlador (o MV) que se dirige al elemento final de control (EFC), Kc es la ganancia proporcional del controlador, y e(t), la entrada al controlador, es el error de desviaci´on entre la se˜ nal deseada (o SP) y la variable controlada (o PV). En muchos casos pr´acticos no se emplea K c , sino su

5.3 Modos de Control PID

r

G(jω)

67

y G H(jω)

1

H(jω)

y

G(jω)

r (a)

GH dB

GH dB

M g negativo

ω log

0 dB

ωlog

M g positivo ang GH −90 −180 −270

−90 −180 −270

ωlog M f positivo

ω log M f negativo

(b)

M g positivo

M f negativo

jv 1 Mg

jv

M g negativo 1

γ

u

γ

u

1

φ

φ

M f positivo

1 Mg

(c) GH dB

GH dB M g negativo M g positivo

0 dB

0 dB M f positivo

−270

−180

M f negativo

−90

−270

−180

−90

(d)

Fig. 5.10: (a) Sistema realimentado. (b), (c) y (d): M´argenes de fase y de ganancia.

68

Control PID SISO Bode Diagram Gm = −0.598 dB (at 0.436 rad/sec) , Pm = −2.13 deg (at 0.45 rad/sec) 40

Magnitude (dB)

20 0 −20 −40 −60 −80

Phase (deg)

0

−90

−180

−270

−3

10

−2

10

−1

10 Frequency (rad/sec)

0

10

1

10

Fig. 5.11: M´argenes de fase y de ganancia para el ejemplo 5.3.

inversa expresada en porcentaje: BP % = 100/Kc , donde BP % es conocida como la banda proporcional. Dicha BP se puede definir como la cantidad necesaria de cambio porcentual en la entrada del controlador para provocar un cambio de rango completo (100 %) en su salida, debido a la acci´on del control proporcional. Es posible ajustar la cantidad de acci´on proporcional suministrada por el controlador. Este ajuste se refiere al cambio del ancho de la PB %, tal como se ilustra en la Fig. 5.12, en donde la acci´on proporcional est´a representada por la palanca y el ajuste del ancho de la PB % se realiza desplazando el punto pivote de la palanca. En la Fig. 5.12(a) el punto pivote est´a ubicado en el centro de la palanca. Observar que es necesario que la se˜ nal de error, la entrada, haga un recorrido completo (desde su valor m´ınimo hasta su valor m´aximo) para mover el EFC (la v´alvula autom´atica de control) desde su posici´on completamente abierta a completamente cerrada. En este caso, la PB % es 100 % porque se requiere un cambio de 100 % en la entrada para provocar un cambio de 100 % en la salida (salida de rango completo). Notar en la Fig. 5.12(b) que un cambio de 100 % en la entrada provoca un cambio de 50 % en la salida. Por consiguiente, para provocar una salida de rango completo en la salida, se requiere en teor´ıa un cambio de 200 % en la entrada, es decir, una PB % de 200 %. En un caso real, no es posible cambiar la entrada a 200 % debido a que 100 % es lo m´aximo que se puede modificar. Por lo tanto, si el EFC es una v´alvula, ´esta nunca estar´a ni completamente abierta ni completamente cerrada. Para obtener una PB % de 50 %, el punto pivote debe de desplazarse hacia la izquierda del punto medio de la palanca, tal como se observa en la Fig. 5.12(c), en

5.3 Modos de Control PID

69

donde un cambio de 50 % en la entrada es suficiente para provocar un cambio de 100 % (rango completo) en la salida.

¬¦¬¦ ¬ ®­§®­§ fg gf ª©¨«ª© ¨«ª© «ª

Error Máx.

Mín.

y yy sstst uuxwv uxwv xw

Error Máx.

Mín.

œ ¡œ ¡ œ  Ÿž ŸžŸž ¤¥£ ¢¥¤£ ¢¥ ¤£ ¢ ›››

Abertura de válvula 100%

Pivote

(a) PB% = 100%

}|}|{z }|}|{z }|}|{z }|}|{z }|}|{z i}|}|{z i}|}|n{z imlk n im lk }||}{z{z }||}{z{z }||}{z{z }||}{z{z cbb }||}{z{z }||}{z{z j}||}{z{z jj }|}|{z{z}|}|{z{z}|}|{z{z}|}|{z{z}|}|{z{z}|}|{z{z}|}|{z{z qp oqp o {z {z {z {z {z {z h{z rhr h

50% 0%

Abertura de válvula 100% 50%

Pivote

0%

(b) PB% = 200%

•Ž•Ž š™™š • š™™š š™™š š™™š š™™š š™™š š™™š €†… ˆ‡ €†… ˆ‡ €†… ˜˜ ™š™š™ –——–—– ed ™š™š™ –——–—– ed ™š™š™ –——–—– ™š™š™ –——–—– ™š™š™ –——–—– ™š™š™ –——–—– ™š™š™ –——–—– ‹Š „ƒ‰‹Š „ƒ‚‰‹Š „ƒ‚‰ “‘ ”’“‘ ”“’‘ š™ —– ”“ š™ —– š™ —– š™ —– š™ —– š™ —– š™ —– Œ ~ Œ ~ Œ ~

Error Máx.

Abertura de válvula 100% 50%

Pivote

Mín.

(c) PB% = 50%

0%

Fig. 5.12: Cambio en la PB % para modificar la acci´on proporcional del controlador. La Fig. 5.13 muestra el diagrama en bloque de un controlador P (proporcional) caracterizado por su ganancia Kc , la cual se define como la relaci´on de cambios entre la entrada y la salida: Kc =

∆u U ∆e E

(5.13)

donde ∆e es el cambio en la se˜ nal de error, ∆u es cambio en la se˜ nal de control, U es el rango m´aximo medible (o span) de la salida del controlador y E es el rango de medici´on (o span) de la se˜ nal controlada. La banda proporcional en porcentaje, denotada como BP %, se define como la inversa de la ganancia Kc del controlador: PB % =

100 Kc

(5.14)

Ejemplo 5.4 Determinar la banda proporcional de un controlador PID operando en un sistema de control de temperatura, sabiendo que un cambio de ∆e = 15o C en la entrada del controlador produjo un desplazamiento de ∆u = 3 mm en el v´astago de la v´alvula

70

Control PID SISO

∆e E

Controlador Proporcional

∆u U

Fig. 5.13: Controlador tipo P (proporcional).

de control. Se sabe adem´as que el desplazamiento m´aximo del v´astago es de U = 40 mm y que el rango de medici´on de la variable del sistema controlado es de 100 o C a 500o C, lo cual significa que E = 500o C - 100o C = 400o C. Soluci´ on.- La ganancia Kc del controlador para el punto de operaci´on en estudio se determina de (5.13): 3 mm/40 mm ∆u/U = =2 Kc = ∆e/E 15o C/400o C mientras que la PB % se calcula de (5.14): PB % =

5.3.2.

100 100 = = 50 % Kc 2

Control Proporcional

La cantidad de acci´on proporcional que se emplea en un proceso depende de las caracter´ısticas y variables propias de tal proceso. Por lo tanto, cada proceso va a requerir una determinada BP %, dentro de la cual va a operar en la mejor forma. En general podemos decir que si la BP es angosta (Kc suficientemente grande), entonces un cambio peque˜ no en e(t) puede provocar que la se˜ nal u(t) haga oscilar la salida y(t), volviendo inestable al sistema de control realimentado, tal como se observa cuando la BP % es 48.8 (Kc = 2.05) en la Fig. 5.14. Por el contrario, una BP muy ancha (Kc muy peque˜ na), genera un cambio a rango completo en e(t), que a la vez ocasiona que u(t) apenas haga variar la salida y(t), como es el caso cuando BP %=2000 (Kc = 0.05) en la Fig. 5.14. En conclusi´on, una BP muy ancha proporciona poca acci´on de control proporcional, mientras que cuando la BP es muy angosta, la acci´on de control es muy grande. En muchos casos, la acci´on proporcional de control es la causante del fen´omeno offset o ess (error en estado estable), el cual se traduce en una desviaci´on permanente entre las se˜ nales SP y PV. En la Fig. 5.14, las flechas con doble punta indican la magnitud del offset para cada curva. Recordar que el SP es la unidad. Para obtener los resultados anteriores, ejecutar el programa mcp.m listado abajo. % mcp.m MODOS DE CONTROL P clear all; close all; clc; Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(’s’); Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); % PROCESO for Kc=0.05:1:2.05; P=feedback(Kc*Gp,1); step(P,’k’,Tf); % CONTROL P hold on; end; hold off; grid; title(’ACCI ´ ON PROPORCIONAL’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); print -deps -f mcp

5.3 Modos de Control PID

71

ACCIÓN PROPORCIONAL 1.4

1.2

SP

AMPLITUD

1

Kc=2.05; BP%=48.8

0.8

0.6

Kc=1.05; BP%=95.24 0.4

Kc=0.05; BP%=2000 0.2

0

0

10

20

30

40 50 60 TIEMPO (sec)

70

80

90

100

Fig. 5.14: Modo de control proporcional.

5.3.3.

Control Integral

La acci´on de control integral, o control reset, es necesaria cuando la cantidad de offset en un proceso sujeto al control proporcional es inaceptable. Esta acci´on de control se suma a menudo al control proporcional para minimizar el offset o e ss . As´ı, este modo de control toma el nombre de PI (Proporcional m´as Integral). La Fig. 5.16, elaborada con el programa mcpi.m mostrado abajo, muestra tres curvas de respuesta del sistema de control realimentado, empleando un controlador PI de la forma: Z Kc KI = u(t) = Kc e(t) + KI e(t)dt Ti donde KI es la ganacia integral y Ti es el tiempo reset o integral. Observar que en todos los casos, el offset desaparece, y, conforme aumenta KI (disminuya Ti ), el tiempo de estabilizaci´on, indicadas por flechas horizontales de dos puntas, disminuye, pero, el sobrenivel tiende a aumentar. Esto u ´ltimo es m´as notorio para el caso K I = 0.2. % mcpi.m MODO DE CONTROL PI CON P CONSTANTE clear all; close all; clc; Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(’s’); Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6; % PROCESO for Ti=3:6:15; KI=Kc/Ti; Gc=Kc+KI/s; PI=feedback(Gc*Gp,1); % CONTROL PI step(PI,’k’,Tf); hold on; end; hold off; grid; xlabel(’TIEMPO’); ylabel(’AMPLITUD’); title(’ACCI´ ON PROPORCIONAL M´ AS INTEGRAL’); print -deps -f mcpi

5.3.4.

Control Derivativo

La acci´on de control derivativa, o control rate, emplea la raz´on de cambio de la se˜ nal controlada y(t) de un proceso, para ajustar la salida u(t) del controlador.

72

Control PID SISO

ACCIÓN PROPORCIONAL MÁS INTEGRAL 1.4

1.2

Ti = 3; KI=0.2

AMPLITUD

1

Ti=9; KI=0.066

0.8

Ti=15; KI=0.04 0.6

0.4

0.2

0

0

10

20

30

40 50 60 TIEMPO (sec)

70

80

90

100

Fig. 5.15: Modo de control proporcional m´as integral.

La magnitud del ajuste est´a determinada por qu´e tan r´apido es la desviaci´on del error. Esta acci´on de control se suma a menudo al control proporcional para corregir cambios r´apidos en la variable controlada. As´ı, este modo de control toma el nombre de PD (Proporcional m´as Derivativo). La Fig. 5.16, elaborada con el programa mcpd.m mostrado abajo, ilustra tres curvas de respuesta del sistema de control realimentado, empleando un controlador PD de la forma: u(t) = Kc e(t) + KD

de(t) dt

K D = K c Td

donde KD es la ganancia derivativa y Td es el tiempo derivativo o rate. Observar que para todos los casos, el offset es el mismo (y de gran magnitud), as´ı como tambi´en lo es el tiempo de estabilizaci´on (flecha horizontal de doble punta). Notar tambi´en que conforme aumenta KD (aumenta Td ), el sobrenivel tambi´en crece. % mcpd.m MODO DE CONTROL PD CON P CONSTANTE clear all; close all; clc; Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(’s’); Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6; % PROCESO for Td=0.1:0.5:1.1; KD=Kc*Td; Gc=Kc+KD*s; PD=feedback(Gc*Gp,1); % CONT PD step(PD,’k’,Tf); hold on; end; hold off; grid; xlabel(’TIEMPO’); ylabel(’AMPLITUD’); title(’ACCI´ ON PROPORCIONAL M´ AS DERIVATIVA’); print -deps -f mcpd

5.3.5.

Control PID

Hemos visto que s´olo el control PI es capaz de estabilizar la salida del sistema de control en su SP. Esto significa que los modos de control P y PD no son adecuados para controlar el proceso de prueba dado en (5.12). Empleando un control PID, las posibilidades de controlar la mayor´ıa de los procesos industriales se acrecienta, si est´a permitido usar todas las combinaciones posibles: P, I, PI, PD y PID.

5.4 Control de Dos Posiciones

73

ACCIÓN PROPORCIONAL MÁS DERIVATIVA 0.7

KD=0.06; Td=0.1 0.6

KD=0.3; Td=0.6

AMPPLITUD

0.5

KD=0.66; Td=1.1

0.4

0.3

0.2

0.1

0

0

10

20

30

40 50 60 TIEMPO (sec)

70

80

90

100

Fig. 5.16: Modo de control proporcional m´as derivativo.

La Tabla 5.1 muestra la tendencia (a aumentar o disminuir) que tienen los par´ametros de dise˜ no, cuando se incrementan las ganancias Kc , Ki o Kd . Es importante anotar que tal tabla debe de ser aplicada con cuidado, debido a que en un sistema de control PID, los cambios en en los par´ametros de dise˜ no no ocurren por separado, sino tales cambios pueden estar interconectados. Esto es, cambios en un par´ametro de de dise˜ no pueden afectar el comportamiento de otros. Tabla 5.1: Variaci´on de los par´ametros de dise˜ no cuando se incrementa: K c , Ki o Kd Par´ametro

Tiempo de de subida Tr

Sobrenivel (PO %)

Ts : Tiempo de estabilizaci´on

ess : Error en estado estable

Kc

Disminuye

Aumenta

Cambio peque˜ no

Disminuye

Ki

Disminuye

Aumenta

Aumenta

Elimina

Kd

Cambio peque˜ no

Disminuye

Disminuye

Cambio peque˜ no

5.4.

Control de Dos Posiciones

La acci´on de control de dos posiciones se implementa con un dispositivo que posee dos condiciones de operaci´on: completamente ON (por ejemplo: v´alvula 100 % abierta, rel´e activado) y completamente OFF (ejemplo: v´alvula cerrada del todo, rel´e desactivado). La Fig. 5.17(a) muestra un sistema de control con un controlador de dos posiciones y una v´alvula ON–OFF (de apertura y cierre) como el EFC. En la Fig. 5.17(b), el controlador es el dispositivo no lineal denominado rel´e ideal. Supongamos que queremos mantener la temperatura y(t) de un producto cerca

74

Control PID SISO

de set point, controlando la entrada de vapor por medio de una v´alvula ON–OFF. Claramente, cuando y(t) sobrepasa el set point, el controlador genera una se˜ nal U min para que la v´alvula se cierre. En cambio, si y(t) se encuentra debajo del set point, el controlador genera una se˜ nal Umax para que la v´alvula se abra. El efecto final es que la salida controlada y(t) fluct´ ua alrededor del set point. En la Fig. 5.17(C), el controlador es un rel´e con zona muerta de magnitud h 1 − h2 alrededor del set point. Notar que si la variable controlada y(t) se encuentra dentro de la zona muerta, no ocurre ninguna acci´on de control. De esta manera la zona muerta minimiza el desgaste y los da˜ nos debido a que se evita el continuo funcionamiento c´ıclico del EFC, por ejemplo, la v´alvula mostrada en la Fig. 5.17(b). e(t)

Set Point

Control de dos posiciones

u(t)

°¯°¯

Válvula ON−OFF Sistema de Instrumentación (a)

u(t)

u(t) Umax

Umax e(t)

0

h1

Umin y(t)

h2 Umin

e(t)

y(t)

Ymax

Ymax t Zona Muerta

Set Point Ymin

Ymin

Válvula Abierta (Umax)

Válvula Abierta (Umax)

Válvula Cerrada (Umin)

y(t)

Proceso

t

t

t (b)

Válvula Cerrada (Umin)

(c)

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

Ejemplo 5.5 Dise˜ nar un controlador de dos posiciones sin zona muerta para controlar el siguiente proceso: Kp e−τ s Gp (s) = Ts + 1 Soluci´ on: La Fig. 5.18 muestra el diagrama Simulink del sistema de control (archivo onoff1.mdl), mientras que la Fig. 5.19 muestra la salida y(t) controlada y la se˜ nal de

5.4 Control de Dos Posiciones

75

control u(t). Este gr´afico se obtuvo ejecutando el archivo onoff1data.m, cuyo listado se muestra abajo. El relay empleado posee los par´ametros Umin = 0.8, Umax = 1.2, Switch On Point = 0 y Switch Off Point = 0. La FT de la v´alvula se asume que es una constante incluida en Kp .

e(t)

u(t)

y(t)

Kp T.s+1

Step

Relay

Transfer Fcn

Transport Delay

Scope

rh R Clock t

th

uh

yh

t

u

y

Save in format array

Fig. 5.18: Diagrama Simulink para el ejemplo 5.5.

CONTROL ON−OFF DEL PROCESO

1.4 1.2

u(t) 1

y(t) y u(t)

set point 0.8 y(t) 0.6 0.4 0.2 0

0

10

20

TIEMPO [s]

30

40

50

Fig. 5.19: Salida controlada y(t) y se˜ nal de control ON–OFF u(t) para el ejemplo 5.7.

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

76

5.5.

Control PID SISO

Estructuras del Controlador PID

El algoritmo de control PID es el m´as usado en la actualidad por la industria. Se estima que tal algoritmo se aplica en m´as del 90 % de las aplicaciones. Sin embargo, no existe un est´andar industrial de tal algoritmo. Existen varias estructuras del algoritmo PID [29], algunas de las cuales se formulan a continuaci´on. El controlador PID Ideal El controlador PID ideal, denominado tambi´en controlador no interactivo, algoritmo ISA (Instrument Society of America) o controlador paralelo no interactivo se formula como:   Z 1 t de u = KC e + e dt + Td Ti 0 dt e = r−y (5.15) donde u es la se˜ nal o fuerza de control, y es la salida controlada del sistema (permanentemente sujeta a medici´on), e es la se˜ nal de error, r es la se˜ nal de referencia deseada o set :point, Kc es la ganancia proporcional, Ti es la constante de tiempo integral o simplemente tiempo integral, y Td es la constante de tiempo derivativa, o simplemente tiempo derivativo. Cabe anotar que la forma de la se˜ nal de error empleada: e = r − y corresponde a una acci´on de control inversa. Para una acci´on de control directa, el error se expresa como: e = y − r. Nosotros seguiremos usando la primera forma. Por otro lado, el tiempo integral o tiempo reset Ti se expresa a menudo como la tasa integral o reset Tr = 1/Ti . En el dominio de Laplace, (5.15) se expresa como:   u(s) Kc 1 Gc (s) = = Kc 1 + + Td s = K c + + K c Td s (5.16) e(s) Ti s Ti s El controlador PID Paralelo El controlador PID paralelo, denominado tambi´en paralelo ideal, no interactivo, independiente o independiente de la ganancia, es una variaci´on del controlador ideal de (5.16) y se formula en el dominio de Laplace como: Gc (s) =

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

(5.17)

Notar que los par´ametros Kc , 1/Ti y Td del controlador PID paralelo dado en (5.17) corresponden a los par´ametros Kc , Kc /Ti y Kc Td del controlador PID ideal de (5.16). Por consiguiente, (5.17) puede ser siempre reemplazado por (5.16). El controlador PID Ideal Filtrado Muchas veces es necesario introducir un filtro para suavizar se˜ nales ruidosas, antes que se apliquen al algoritmo de control. Para estos casos se recomienda usar el

5.5 Estructuras del Controlador PID

77

siguiente filtro de primer orden formulado tanto en el dominio del tiempo como en el dominio de Laplace: T

def (t) = e(t) − ef (t) dt

ef (s) =

1 e(s) 1 + Ts

(5.18)

donde T es la constante de tiempo del filtro. Dado que el ruido en el sistema se amplifica principalmente por la acci´on derivativa, entonces T se puede formular proporcional al tiempo derivativo como sigue: T = α Td



ef (s) =

1 e(s) 1 + α Td s

(5.19)

Introduciendo en (5.16) el filtro dado en (5.19), se obtiene el siguiente controlador PID ideal filtrado:    u(s) 1 1 Gc (s) = 1+ = Kc + Td s (5.20) e(s) 1 + αTd s Ti s El Controlador PID con Parte Derivativa Filtrada El controlador PID con parte derivativa filtrada, denominada tambi´en no interactiva, posee la expresi´on: ! 1 Td s u(s) = Kc 1 + + 3 ≤ N ≤ 10 (5.21) Gc (s) = e(s) Ti s 1 + TNd s El Controlador PID Cl´ asico El controlador PID cl´asico mostrado se denomina tambi´en controlador en cascada, interactivo, serie, interactuante, an´alogo o comercial y se describe como: !   1 + Td s 1 u(s) 3 ≤ N ≤ 10 (5.22) = Kc 1 + Gc (s) = e(s) Ti s 1 + TNd s El Controlador PID Cl´ asico Generalizado El controlador PID cl´asico generalizado mostrado, con 3 ≤ N ≤ 10 se formula como: !  bf 0 + bf 1 s + bf 2 s2 u(s) Td s 1 Gc (s) = (5.23) = Kc 1 + + e(s) Ti s 1 + TNd s 1 + a f 1 s + a f 2 s2 El Controlador PID Dependiente El controlador PID dependiente se denomina tambi´en controlador serie, interactuante o de algoritmo an´alogo, y se describe como:    1 u(s) 0 0 = Kc 1 + 0 1 + Td s (5.24) Gc (s) = e(s) Ti s

78

Control PID SISO

La expresi´on dada en (5.24) se puede reordenar como: # "   0 0 0 0 T T s 1 1 0 Ti + T i d d + Td s = Kc 1 + 1+ Gc (s) = Kc + 0 0 0 0 0 Ti s Ti Ti + T d s Ti + T d

(5.25)

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

0

T +T Kc = K c i 0 d Ti 0

0

0

0

Ti = T i + T d

0

T T Td = 0 i d 0 Ti + T d

Resolviendo el sistema de ecuaciones dadas en (5.26) se obtiene:   p 0 Kc = 0.5Kc 1 + 1 − 4Td /Ti   p 0 Ti = 0.5Ti 1 + 1 − 4Td /Ti   p 0 Td = 0.5Td 1 + 1 − 4Td /Ti

(5.26)

(5.27)

Cuando Td = Ti /4 en (5.27), los par´ametros de sintonizaci´on se convierten en: 0

Kc = 0.5Kc

0

Ti = 0.5Ti

0

Td = 0.5Td

Para Td > TI /4, el controlador dependiente nunca ser´a similar al controlador ideal, ya que para esta condici´on los par´ametros en (5.27) se vuelven imaginarios. El Controlador PID Interactivo El controlador interactivo posee la siguiente estructura (compararla con la estructura del controlador cl´asico): !   Td s 1 u(s) (5.28) = Kc 1 + Gc (s) = e(s) Ti s 1 + TNd s El Controlador PID Mejorado El controlador mejorado posee la siguiente estructura (compararla con la estructura del controlador interactivo): !   1 Td s u(s) = Kc 1 + e(s) − Kc y(s) (5.29) Ti s 1 + TNd s El Controlador PID con Dos Grados de Libertad El controlador con dos grados de libertad, conocido tambi´en como controlador m–PID o ISA–PID, posee la siguiente estructura: " # # " (1 − β)Td s 1 Td s 1 + + e(s)−Kc 1 + y(s) (5.30) u(s) = Kc (1 − α) + Ti s Ti s 1 + TNd s 1 + TNd s

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

5.6.

79

M´ etodos de Sintonizaci´ on de Controladores PID

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

5.6.1.

M´ etodos Basados en la Curva de Reacci´ on

La respuesta de un proceso a un escal´on se denomina la curva de reacci´on. En un procesos autoregulado, su curva de reacci´on tiende a un estado estacionario, que tambi´en puede ser el estado cero, tal como ocurre en los procesos descritos por las siguientes FTs: Gp (s) =

Kp Ts + 1

Gp (s) =

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

En contraposici´on, los procesos no autoregulados poseen una curva de reacci´on no estacionaria, dado que crece continuamente en el tiempo, tal como acontece en los procesos descritos por las siguientes FTs: Gp (s) =

Kp s(T s + 1)

Gp (s) =

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

M´ etodo de la Constante de Tiempo El m´etodo de la constante de tiempo del lazo de control se emplea para procesos de primer orden dado por la ecuaci´on (??). Los par´ametros del controlador PID se sintonizan con las relaciones siguientes: Kc =

1 Kp

Ti = T

Td =

1 Ti 4

(5.31)

Ejemplo 5.6 Se desea controlar el siguiente proceso empleando el m´etodo de la constante de tiempo: Kp Gp (s) = Ts + 1 donde Kp = 2 y T = 5. Para el control emplear la configuraci´on de la Fig. 5.1(a). Soluci´ on: Ver el archivo ct1.m. La salida controladas se muestran en la Fig. 5.20. % ct1.m CONTROL DE UN PROCESO DE PRIMER ORDEN clear all; close all; clc; Kp=2; T=5; s=tf(’s’); Gp=Kp/(T*s+1); % PROCESO Kc=1/Kp; Ti=T; Td=T/4; Gc=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gc*Gp,1); step(PID,’k’,50); grid; xlabel(’TIEMPO’); ylabel(’SALIDA’); title(’CONTROL PID DE UN PROCESO DE PRIMER ORDEN’);print -deps -f ct1

80

Control PID SISO CONTROL PID USANDO EL MÉTODO DE LA TANGENTE 1.2

1.1

1

0.9

SALIDA

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0

5

10

15

20

25 TIEMPO (sec)

30

35

40

45

50

Fig. 5.20: Salida controlada del ejemplo 5.6.

M´ etodo de Hartree La Tabla 5.2 atribuida a Hartree et al. (ver referencias de [29]), se aplica para controlar procesos que poseen una FT de la forma Gp (s) = Kp e−τ s . El control se realiza empleando el sistema de control de la Fig. 5.1(a). Tabla 5.2: Reglas de sinton´ıa para controlar sistemas tipo Gp (s) = Kp e−τ s . M´etodo Curva de reacci´on

Controlador Gc (s)    1+Td s Kc 1 + T1i s Td 1+ N s

Kc

Ti

Td

0.7 Kp τ

2.66τ

τ

Ejemplo 5.7 Se desea controlar el siguiente proceso empleando la Tabla 5.2: Gp (s) = Kp e−τ s donde Kp = 2 y τ = 2. Para el control emplear el sistema de control de la Fig. 5.1(a). Soluci´ on: Usamos la Tabla 5.2 para calcular los par´ametros del controlador PID con N = 3. La Fig. 5.21 muestra el diagrama Simulink del sistema de control (archivo hartree1.mdl), mientras que la Fig. 5.22 muestra la salida y(t) controlada y la se˜ nal de control u(t). Este gr´afico se obtuvo ejecutando el archivo hartree1graf.m, cuyo listado se muestra abajo. Notar en el diagrama Simulink que los bloques Kc y Gc1 (s) forman un controlador PI. Adem´as, los bloques rh, yh, uh y th son del tipo To Workspace y sirven para almacenar datos y estructuras. Como estamos interesados en crear vectores de datos para luego graficarlos, entonces, luego de hacer doble click en cada bloque, en la ventana que aparece seleccionar Array en Save Format. % hartree1graf.m clear all; close all; clc;

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

81

hartree 1.mdl

Ti .s+1

Td .s+1

Ti .s

Td /N.s+1

Gc1(s)

Gc2(s)

Kc Kc

r rh

Clock

rh

Kp Scope

tau

Kp

th

uh

yh

th

uh

yh

Fig. 5.21: Diagrama Simulink para el ejemplo 5.7.

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

1.5

SALIDA y(t)

1 0.5 0 −0.5

0

20

40

60

80

100 TIEMPO [s]

120

140

160

180

200

0

20

40

60

80

100 TIEMPO [s]

120

140

160

180

200

CONTROL u(t)

0.6 0.4 0.2 0 −0.2

Fig. 5.22: Salida controlada y se˜ nal de control para el ejemplo 5.7.

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

82

Control PID SISO

M´ etodo de Ziegler y Nichols El m´etodo de la curva de reacci´on de Ziegler y Nichols emplea la curva de reacci´on de la Fig. 2.18 y se aplica a procesos autoregulados que se pueden modelar como un proceso de primer orden de ganancia Kp y constante de tiempo T , en cascada con un tiempo muerto τ : Kp y(s) = e−τ s (5.32) Gp (s) = u(s) Ts + 1 La curva de reacci´on se emplea para obtener los par´ametros τ y T , que luego son usados para determinar los par´ametros Kc , Ti y Td del controlador PID ideal, empleando la Tabla 5.3. Las f´ormulas en dicha tabla fueron el producto de intensivos trabajos experimentales realizados por los investigadores Ziegler y Nichols en 1942 [15]. Tabla 5.3: M´etodo de la curva de reacci´on de Ziegler y Nichols para determinar los par´ametros Kc , Ti y Td . Tipo P PI PID PD

Controlador Gc (s)

100 BP ;

a=

Kp τ T

Ti

Td



1/a



0

0.9/a

10τ /3

0

1.2/a



0.5τ

Kc (1 + Td s)

1.2/a



0.42τ



Kc

Kc =

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

En algunos procesos, el tiempo muerto τ es bastante peque˜ no, por lo que es dificultosa su cuantificaci´on. Para estos casos, es conocido un m´etodo de c´alculo que consiste en localizar en la curva de reacci´on las tazas de cambio m´as altas, las cuales ocurren en los tiempos t1 = τ + T /3 y t2 = τ + T . Estos tiempos corresponden al 28.3 % y 63.2 % del valor m´aximo de la curva de reacci´on, tal como se muestra en la Fig. 5.23. Conociendo t1 y t2 , los par´ametros T y τ se determinan de: T =

3 (t2 − t1 ) 2

τ = t2 − T

(5.33)

Ejemplo 5.8 Se desea controlar el siguiente sistema de quinto orden empleando la t´ecnica de la curva de reacci´on de Ziegler y Nichols: Gp (s) =

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

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

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

83

y 100% 63.2% 28.3% t

1

t2

t

Fig. 5.23: Tazas de cambio m´as altas de la curva de reacci´on.

Soluci´ on: La ganancia proporcional del proceso Gp (s) se obtiene en el estado estacionario, es decir, cuando s = 0, resultando: Kpp =

Kp = 5.33 Ta Tb Tc Td Te

Este resultado se puede comprobar en el primer gr´afico de la Fig. 5.24, la cual muestra la respuesta al escal´on (la curva de reacci´on) del sistema con una ganancia en estado estable de aproximadamente 5.5. De esta curva tambi´en se obtienen los par´ametros τ = 1.7 s y T = 6.7 – τ = 5 s del modelo del proceso: Gp (s) =

Kpp −sτ e Ts + 1

Con estos valores se calculan los par´ametros de los controladores P, PI, PID y PD empleando la Tabla 5.3. El segundo gr´afico de la Fig. 5.24 ilustra la comparaci´on entre las salidas controladas. Observar que s´olo los controladores PI y PID son capaces de controlar el proceso sin post–sinton´ıa. Tales resultados se obtienen ejecutando el programa zn1.m listado abajo. ´A LA CURVA DE REACCI´ % zn1.m CONTROL P, PI, PID Y PD DE UN PROCESO V I ON clear all; close all; clc; Kp=20; Ta=0.5; Tb=1; Tc=1.5; Td=2; Te=2.5; s=tf(’s’); Gp=Kp/(s+Ta)/(s+Tb)/(s+Tc)/(s+Td)/(s+Te); % PROCESO subplot(211); step(Gp,’k’); grid; title(’RESPUESTA AL ESCAL´ ON’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); tau=1.7; T=6.7-tau; Kpp=5.5; a=Kpp*tau/T; % DE LA CURVA DE REACCI ´ ON Kc=1/a; Gc1=Kc; P=feedback(Gp*Gc1,1); % CONTROL P Kc=0.9/a; Ti=10*tau/3; Gc2=Kc*(1+1/Ti/s); PI=feedback(Gp*Gc2,1); % PI Kc=1.2/a; Ti=2*tau; Td=0.5*tau; Gc3=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc3,1); % CONTROL PID Kc=1.2/a; Td=0.42*tau; Gc4=Kc*(1+Td*s); PD=feedback(Gp*Gc4,1); % PD subplot(212); step(P,’k’,PI,’k’,PID,’k’,PD,’k’); grid; xlabel(’TIEMPO’); title(’SALIDAS CONTROLADAS’); ylabel(’SALIDA’); print -deps -f zn1

Ejemplo 5.9 Se desea controlar el proceso nivel en un tanque de almacenamiento empleando la t´ecnica de la curva de reacci´on de Ziegler y Nichols. El diagrama de bloques del sistema nivel, extra´ıdo de [16], se muestra en la Fig. 5.25(a), donde las funciones de

84

Control PID SISO

RESPUESTA AL ESCALÓN

AMPLITUD

6

4

Kpp

2

0

0

5

10

15

TIEMPO (sec) SALIDAS CONTROLADAS

SALIDA

2

PID

1.5

PI

1 0.5 0

PD

P 0

20

40

60 TIEMPO (sec)

80

100

120

Fig. 5.24: Respuesta al escal´on del sistema (gr´afico superior) y respuestas controladas para el ejemplo 5.8 (gr´afico inferior).

transferencia del actuador hidr´aulico, del tanque y del flotador se formulan respectivamente: GH (s) =

10 s+1

GT (s) =

3.15 30s + 1

GF (s) =

1 1 9

s2

+ 31 s + 1

τh = 1

Para prop´ositos de comparaci´on emplear los controladores ideal dado en (5.16), dependiente mostrado en (5.24) y mejorado (ecuaci´on (5.29)). Para simplificar la notaci´on, el sistema de control que emplea un controlador ideal ser´a designado como control PID, el que emplea un controlador dependiente ser´a conocido como control PI D, y el que usa un controlador mejorado recibir´a la denominaci´on de control PI Dy. Los controles PID y PI D emplean el diagrama de bloques de la Fig. 5.1(a), mientras que el control PI Dy usa el diagrama de bloques de la Fig. 5.1(b). Por otro lado, en el proceso que nos ocupa, el tiempo muerto τ se puede calcular usando la relaci´on τ = d/v, donde v es la velocidad del flujo que ingresa al tanque y d es es la longitud de tuber´ıa que existe entre la v´alvula de control de flujo y el punto de medici´on del flujo. Soluci´ on: El primer gr´afico de la Fig. 5.26 muestra la respuesta al escal´on (la curva de reacci´on) del sistema, de la cual se obtiene τ = 1 y T = 30 − τ . Con estos valores se calculan los par´ametros del controlador PID empleando la Tabla 5.3. El segundo

5.6 M´ etodos de Sintonizaci´ on de Controladores PID Controlador

Actuador v

85

Referencia (set point)

d Flotador

r

e

GC (s)

u

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

Controlador

ym (a)

r

e

GC (s)

u

ym (b)

e

G C i(s)

Flotador

Actuador

Controlador

r

GF (s)

e −sτ h

G H(s)

u

G H(s)

GT (s)

y

Tanque GF (s) Flotador e −sτ h

Actuador

Controlador proporcional integral

y

GT (s)

y

Tanque G Cd(s)

ym

Controlador derivativo GF (s) (c)

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

gr´afico de la Fig. 5.26 ilustra la comparaci´on entre las salidas controladas. Tales resultados se obtienen ejecutando el programa zn1a.m listado abajo. % zn1a.m CONTROL PID, PI_D Y PI_Dy EMPLEANDO LA CURVA DE REACCI ´ ON clear all; close all; clc; s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1); tauh=1; [num,den]=pade(tauh,3); Gtau=num/den; Gpo=GH*Gtau*GT*GF; % Gpo: PROCESO A LAZO ABIERTO INCLUYENDO GF (FLOTADOR) subplot(211); step(Gpo,’k’); grid % GENERA LA CURVA DE REACCI ´ ON title(’RESPUESTA AL ESCAL´ ON’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); tau=1; T=30-tau; % TOMADOS DE LA CURVA DE REACCI ´ ON Gp=GH*Gtau*GT; Kp=31.5; % Kp ES EL PRODUCTO DE 10*31.5 a=Kp*tau/T; Kc=1.2/a; Ti=2*tau; Td=0.5*tau; N=10; % PAR ´ 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=Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);

86

Control PID SISO

RESPUESTA AL ESCALÓN

AMPLITUD

20 15 10 5 0

0

20

40

60

80 100 TIEMPO (sec)

120

140

160

180

45

50

SALIDAS CONTROLADAS

SALIDA

2

PI__Dy

1.5 1 0.5 0

PID y PI__D 0

5

10

15

20 25 30 TIEMPO (sec)

35

40

Fig. 5.26: Curva de reacci´on del sistema nivel y respuestas controladas para el ejemplo 5.9 (gr´afico inferior).

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

M´ etodo de Chien–Hrones–Reswick El m´etodo de Chien–Hrones–Reswick (CHR) [19] ilustrado en la Fig. 5.27(a), se aplica a sistemas que aceptan un modelo din´amico como el de la ecuaci´on (5.32). Este m´etodo propone un conjunto de reglas de sintonizaci´on para los casos siguientes (ver Tabla 5.4): 1. Respuesta aperi´odica sin sobrenivel en la se˜ nal de salida y controlada a cambios tipo escal´on de la entrada de referencia r, sin presencia del disturbio d, y para un coeficiente de amortiguamiento ζ > 0.8, tal como se muestra en la Fig. 5.27(b). 2. Respuesta aperi´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 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.

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

87

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 Se desea 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 sistema (ver Fig. 5.28(a)). Para prop´ositos de comparaci´on emplear los controladores ideal (PID, ecuaci´on (5.16)), dependiente (PI D, ecuaci´on (5.24)) y mejorado (PI Dy, ecuaci´on (5.29)), empleando las estructuras (b) y (c) de la Fig. 5.28, respectivamente. 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.4 (caso (c), controlador PID). La Fig. 5.28 ilustra la comparaci´on entre

88

Control PID SISO

Tabla 5.4: 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=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 [20] tambi´en se aplica a sistemas que aceptan un modelo din´amico como el de la ecuaci´on (5.32). Las f´ormulas de sintonizaci´on se muestran en la Tabla 5.5, donde: a=

Kp τ T

L=

τ τ +T

(5.34)

Notar que las f´ormulas de la Tabla 5.5 se asemejan a las de la Tabla 5.3 cuando L es suficientemente peque˜ no. Ejemplo 5.11 Se desea controlar el sistema 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 Actuador

Disturbio d

Controlador

v

89

d Flotador

(a)

d

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

u (b)

GF (s)

GC (s)

Controlador d

y

Flotador

r=0 e −sτ h

G H(s) Actuador

GT (s)

y

Tanque G Cd(s) Control D

(c)

GF (s)

G C i(s) Control PI

r=0

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

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.

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

90

Control PID SISO

Tabla 5.5: M´etodo de Cohen y Coon para hallar los par´ametros K C , TI y TD . Tipo

Controlador GC (s)

P

Kc

PI

 Kc 1 +

PD PID

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   0.13L 1.24 1 + a 1−L   1.35 0.18L 1 + a 1−L

Ti

Td



0

3.3−3L 1+1.2L

τ

0



2.5−2L 1−0.39L

τ

0.27−0.36L 1−0.87L

τ

0.37−0.37L 1−0.8L

τ

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

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

5.6.2.

91

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 [21] 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.35)

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 Se desea controlar el siguiente sistema 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.16)), PI D interactivo (ecuaci´on (5.24)) y PI Dy (PID 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 gr´afico superior de la Fig. 5.32 muestra la respuesta al escal´on (la curva de reacci´on) del sistema. De esta curva se pueden obtener los par´ametros τ = 0.8 s y T = 3.9 – τ = 3.1 s. Empleando la Tabla 2.6 se obtiene aproximadamente n = 3 y Tn = 0.270. De la Fig. 5.31(b) se determina Vo = 2 y Kc = V o/Kp , mientras que de la Fig. 5.31(c) se calcula Ti = 1.8Tn y Td = 0.7Tn . El 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.

92

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.

% samal.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; title(’RESPUESTA AL ESCAL´ ON’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); % tau=0.8; T=3.9-tau=3.1; % tau/T=0.258 => n=3 => Tn/tau=0.270 % Gm(s)=Kp/(Tn*s+1)^n % MODELO DEL PROCESO SEG ´ UN SAMAL Tn=0.216; Vo=2; Kc=Vo/Kp; Ti=1.8*Tn; Td=0.7*Tn; N=10;% PAR ´ AMETROS PID Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1); % CONTROL PID Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); % CONTR PI_D Gci=Kc*(1+1/Ti/s); Gcd=Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

93

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.

PI_Dy=feedback(Gci*Gcd,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 [15] 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.32) 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 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.6. 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.

94

Control PID SISO

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.6: 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 Se desea 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 est´andar, PI D interactivo y PI Dy mejorado, empleando las estructuras de la Fig. 5.25. 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.6. 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. ´TICA % zn2.m CONTROL PID, PI_D Y PI_Dy MEDIANTE LA OSCILACI ´ ON CRI 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; 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=Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd); PI_Dy=feedback(Gci*Gcd,GF); % CONTROL PI_Dy subplot(212); step(PID,’k’,PI_D,’k’,PI_Dy,’k’); grid; ylabel(’SALIDA’); title(’SALIDAS CONTROLADAS’); xlabel(’TIEMPO’); print -deps -f zn2

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

95

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.

Ejemplo 5.14 Se desea 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 interactivo y PI Dy mejorado. 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.6. 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. ´N CRI ´TICA % zn2a.m CONTROL PID, PI_D Y PI_Dy MEDIANTE LA OSCILACI O 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);

96

Control PID SISO

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

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); Gcd=feedback(Gp,Gcd); PI_Dy=feedback(Gci*Gcd,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

M´ etodo de la Oscilaci´ on Cr´ıtica de Yu Las siguientes reglas de sintonizaci´on atribuidas a Yu (ver referencias de [29]), se aplican al control de sistemas que poseen una FT de la forma Gp (s) = Kp e−τ s . El control se realiza empleando la configuraci´on de la Fig. 5.1(a). El controlador empleado es el denominado cl´asico generalizado, cuya FT es: u(s) Gc (s) = = Kc e(s)

1 Td s 1+ + Ti s 1 + TNd s

!

bf 0 + bf 1 s + bf 2 s2 1 + a f 1 s + a f 2 s2



5.6 M´ etodos de Sintonizaci´ on de Controladores PID

97

Las reglas son: Kc = 0.3Kcrit

Ti = 2.3τcrit

Td = 0

Ejemplo 5.15 Se desea controlar el sistema Gp (s) = Kp e−τ s 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 en 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. 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.

% 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

98

Control PID SISO

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 = π4La , donde L es la ganancia del rel´e. Teniendo como datos Tcrit y Kcrit se puede ahora usar la Tabla 5.6.

r

e

+L

−L

a

y

u

u e

Relé

Gp(s)

t

y

Proceso

Tcrit

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

Ejemplo 5.16 Se desea controlar un sistema no autoregulado que posee la siguiente FT, empleando la t´ecnica del rel´e de Astr¨om y H¨agglund: 1 Gp (s) = s(s + 1)4 Para prop´ositos de comparaci´on emplear los controladores PID est´andar, PI D interactivo y PI Dy mejorado. 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(a), 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.38 se emplea para determinar las cinco ecuaciones de estado del sistema: x˙ 1 = −x1 + x2

x˙ 2 = −x2 + x3

x˙ 3 = −x3 + x4 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.6. 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.

5.6 M´ etodos de Sintonizaci´ on de Controladores PID u

1 s

x5

x4 1 s+1

1 s+1

x3

1 s+1

x2

99

1 s+1

x1 = y

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

SALIDA y

2

Tcrit

1 0

CONTROL u

r

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 al escal´on del sistema de control del sistema Gp (s) = s(s+1) 4 empleando un rel´e (gr´afico superior), ley de control u (gr´afico medio) y respuestas estabilizadas empleando controladores tipo PID, PI D y PI Dy (gr´afico inferior).

% relay.m RESPUESTA A LAZO CERRADO CON UN REL ´ E COMO CONTROLADOR clear all; close all; clc; % PROGRAMA PARA PRODUCIR LA OSCILACI´ ON SOSTENIDA x1=0; x2=0; x3=0; x4=0; x5=0; % CONDICIONES INICIALES T = 0.01; M = 8000; L=0.1; for k = 1:M r=1; R(k) = r; e=r-x1; % REFERENCIA ESCAL´ ON r Y ERROR e if(e>=0), u=L; else u=-L; end % FUNCI´ ON REL´ E U(k)=u; % LEY DE CONTROL u x1=x1+T*(-x1+x2); x2=x2+T*(-x2+x3); x3=x3+T*(-x3+x4); x4=x4+T*(-x4+x5); x5=x5+T*u; X1(k)=x1; % SALIDA DEL PROCESO end ejet = linspace(0,M*T,M); subplot(311); plot(ejet,R,ejet,X1); grid ylabel(’SALIDA y’); xlabel(’TIEMPO’);

100

Control PID SISO

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

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 sistemas que pueden ser modelados en la forma dada en la ecuaci´on (5.32) y tambi´en a otros sistemas 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.7. r

r

Ko

e

PID

u

Proceso

y

To

y A

R

R

A/4 t

t

Fig. 5.40: M´etodo de las oscilaciones amortiguadas de Harriot.

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

Ejemplo 5.17

Controlador Gc (s) 

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

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

101

Se desea controlar el sistema nivel del ejemplo 5.9 empleando la t´ecnica de las oscilaciones amortiguadas de Harriot. Para prop´ositos de comparaci´on emplear los controladores ideal (PID, ecuaci´on (5.16)), dependiente (PI D, ecuaci´on (5.24)) y mejorado (PI Dy, ecuaci´on (5.29)), empleando las estructuras (b) y (c) de la Fig. 5.25. 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.25(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.7. 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.

´TODO DE HARRIOT % harriot.m CONTROL PID, PI_D Y PI_Dy MEDIANTE EL M E clear all; close all; clc; s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1); [num,den]=pade(1,3); Gtau=tf(num,den); % TIEMPO MUERTO exp(-tau*s) Gp=GH*Gtau*GT; % Gp: PROCESO, GH: FLOTADOR Ko=0.55; G_c0=feedback(Ko*Gp,GF); subplot(211); step(G_c0,’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

102

Control PID SISO

Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,GF); % CONTR PI_D Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd); PI_Dy=feedback(Gci*Gcd,GF); % CONTROL PI_Dy 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 Se desea controlar un sistema no autoregulado que posee la siguiente FT, empleando la t´ecnica de las oscilaciones amortiguadas de Harriot. Gp (s) =

1 s(s + 1)4

Para prop´ositos de comparaci´on emplear los controladores ideal (PID, ecuaci´on (5.16)), dependiente (PI D, ecuaci´on (5.24)) y mejorado (PI Dy, ecuaci´on (5.29)), empleando las estructuras (b) y (c) de la Fig. 5.25. 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.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.6. 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. % harriota.m CONTROL PID, PI_D Y PI_Dy MEDIANTE OSCILACI ´ ON AMORTIGUADA clear all; close all; clc; s=tf(’s’); Gp=1/(s*(s+1)^4); Ko=0.3; G_c0=feedback(Ko*Gp,1); subplot(211); step(G_c0,50); grid; title(’OSCILACI´ ON AMORTIGUADA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’); To=20; % TOMADO DE LA OSCILACI´ ON AMORTIGUADA Kc=Ko; Ti=To/1.5; Td=To/6; N=10; % PAR´ AMETROS PID Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,1); % CONTROL PID Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,1); % CONTROL PI_D Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd); PI_Dy=feedback(Gci*Gcd,1); % CONTROL PI_Dy subplot(212); step(PID,’k’,PI_D,’k’,PI_Dy,’k’); title(’SALIDAS CONTROLADAS’); xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f harriota

5.6.3.

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

La Fig. 5.43 muestra un sistema de control SISO realimentado, donde e(s) = r(s)−y(s) es el error del sistema, r(s) la se˜ nal deseada o SP e y(s) la salida controlada o PV. Adem´as, 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: e(s) = r(s)−y(s) = r(s)−H(s)G(s)e(s);

e(s) =

1 r(s); 1 + GH(s)

e(t) = L−1 [e(s)]

(5.36) La idea principal en los m´etodos de sintonizaci´on basados en criterios o´ptimos, consiste en minimizar un determinado ´ındice de rendimiento, en el cual est´en involucrados

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

103

OSCILACIÓN AMORTIGUADA

AMPLITUD

1.5

1

A 0.5

0

A/4 0

5

10

15

20 25 30 TIEMPO (sec)

35

40

45

50

SALIDAS CONTROLADAS

SALIDA

1.5

1

PID 0.5

0

0

PI−D

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.

r(s)

e(s)

y(s)

G(s) H(s)

Fig. 5.43: Sistema de control SISO realimentado.

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:

ISE =

Z



2

e (t)dt

IAE =

0

IST E =

Z

∞ 0

2

t e(t)dt

Z

∞ 0

|e(t)|dt

2

IST E =

IT AE =

Z

∞ 0

Z

t2 e2 (t)dt



t|e(t)|dt

0

(5.37)

104

Control PID SISO

donde el error e(t) puede ser de la forma dada en (5.36). 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.8, 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 [29]. Tabla 5.8: Reglas de sinton´ıa para controlar sistemas tipo Gp (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 Se desea controlar el sistema con FT Gp (s) = Kp e−τ s , con Kp = 2 y τ = 2 usando el criterio ITAE y un controlador PI. Soluci´ on: La Fig. 5.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: SISTEMA Kc=0.4/Kp; Ti=0.5*tau; Td=0; % PAR´ AMETROS PID Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID step(PID); title(’CONTROL DE G(s)=Kp*exp(-tau*s) USANDO ITAE’); xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f shinskey

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

105

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

SALIDA

0.6 0.4 0.2 0 −0.2 −0.4 −0.6 −0.8

0

5

10

15

TIEMPO (sec)

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

M´ etodo de Wang–Juang–Chan Las f´ormulas de sintonizaci´on de de Wang–Juang–Chan (citadas en [24]) se basan en el criterio de optimizaci´on de IT AE y se pueden aplicar a sistemas que aceptan un modelo din´amico como el de la ecuaci´on (5.32). Estas f´ormulas son: (0.7303 + 0.5307T /τ )(T + 0.5τ ) Kp (T + τ ) = T + 0.5τ 0.5τ T = T + 0.5τ

Kc = Ti Td

(5.38)

Metodo de Zhuang y Atherton El m´etodo de Zhuang y Atherton [26] minimiza los criterios ISE, IST E e IST 2 E empleando controladores PI y PID ideales. La Tabla 5.9 muestra las f´ormulas de sintonizaci´on que se pueden aplicadar a procesos que aceptan un modelo din´amico como el de la ecuaci´on (5.32) y que est´en sujetos a cambios tipo escal´on en la se˜ nal de referencia del sistema de control, tal como se muestra en la Fig. 5.1(a). Por otro lado, si prescindimos de la ganancia Kc de la parte derivativa del controlador PID mejorado dado en (5.29), 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.39)

La Tabla 5.10 muestra las reglas de sintonizaci´on para el controlador descrito en (5.49). Tales reglas se pueden aplicar a procesos que aceptan un modelo din´amico

106

Control PID SISO

Tabla 5.9: 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 σ

(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

Soluci´ on: La FT del sistema, que es de tercer orden, se puede formular como: Gp(s) =

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

donde: Kp = 1, T1 = 20, T2 = 10, µ = 1, tµ = t1 = Tσ = 0.25, y, T1 > 4Tσ , T1 > T2 > Tσ . Este proceso se puede estabilizar con un controlador PID, tal como se observa en la Fig. 5.46, resultado que se obtiene ejecutando el programa kessler2.m listado abajo. % kessler2.m CONTROL PID EMPLEANDO EL M´ ETODO DE KESSLER clear all; close all; clc; Kp=1; T1=20; T2=10; mu=1; tmu=0.5; Tsigma=tmu; s=tf(’s’); Gp=Kp/(1+T1*s)/(1+T2*s)/(1+tmu*s); % PROCESO subplot(211); step(Gp); grid; title(’RESPUESTA AL ESCAL´ 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 Se desea 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

109

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

SALIDA

1.5

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.

Este sistema, de acuerdo a Kessler, es del tipo PITn con par´ametros Kp = 0.2, T2 = 1, µ = 1, tµ = t1 = Tσ = 0.2, y T2 > Tσ , se puede estabilizar con un controlador PID, tal como se observa en la Fig. 5.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 inferior de la Fig. 5.47.

% 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

110

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

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

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

(5.40)

Debido a la presencia del integrador, los controladores PD y PID resultan ser los adecuados para controlar tales sistemas. La Tabla 5.12 muestra los valores de los coeficientes empleados por los par´ametros de los controladores PD y PID [27]: ControladorP D :

Kc =

ControladorP ID :

Kc =

a1 Kp τ a3 Kp τ

Td = a 2 τ Ti = a 4 τ

Td = a 5 τ

(5.41)

Ejemplo 5.23 Se desea controlar el sistema con FT Gp (s) = usando el criterio ISE y un controlador PID.

Kp s

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

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

111

Tabla 5.12: Par´ametros ai para calcular Kc , Ti y Td para el control de sistemas tipo IPτ (ecuaci´on (5.41)). Criterio

a1

a2

a3

a4

a5

ISE

1.03

0.49

1.37

1.496

0.59

ITSE

0.96

0.45

1.36

1.66

0.53

ISTSE

0.9

0.45

1.34

1.83

0.49

Soluci´ on: La Fig. 5.48 muestra la respuesta controlada, resultado que se obtienen ejecutando el programa zh2.m listado abajo. CONTROL PID USANDO ISE 3

2

1

SALIDA

0

−1

−2

−3

−4

−5

0

5

10

15 20 TIEMPO (sec)

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

25

Kp s

30

35

e−τ s (ejemplo 5.23).

% zh2.m CONTROL PID USANDO ISE clear all; close all; clc; s=tf(’s’); Kp=2; tau=2; T=20; % tau/T=0.1 a1=1.03; a2=0.49; a3=1.37; a4=1.496; a5=0.59; N=10; [num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s) Gp=Kp/(s)*Gtau; % SISTEMA A CONTROLAR Kc=a3/(Kp*tau); Ti=a4*tau; Td=a5*tau; Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID step(PID,’k’); title(’CONTROL PID USANDO ISE’); xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f zh2

112

Control PID SISO

M´ etodo de Xue para Procesos con FT:

Kp s(T s+1)

e−τ s

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

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

(5.42)

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

2 3Kp τ

Td = T τ

(5.43)

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

Td =

Ti 4

(5.44)

Ejemplo 5.24

Se desea controlar el sistema con FT Gp (s) = 2.

Kp s(T s+1)

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

Soluci´ on: La Fig. 5.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; % SISTEMA A CONTROLAR Kc=1.111*T/(Kp*tau^2)/(1+(T/tau^(0.65)))^2; Ti=2*tau*(1+(T/tau)^(0.65)); Td=Ti/4; Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID step(PID,’k’); title(’CONTROL PID’); xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f zh3

M´ etodo de Xue para Procesos con FT:

Kp T s−1

e−τ s

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

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

(5.45)

Debido a la presencia del integrador y a la ra´ız inestable s = 1/T , el controlador PID parece ser el m´as adecuado para controlar tales sistemas. Las f´ormulas para determinar los par´ametros del controlador PID son [27]:   τ −0.02   τ γ  τ  b2 a 1  τ  b1 Kc = Ti = a 2 T Td = a 3 T 1 − b 3 Kp T T T T (5.46) Los par´ametros ai , bi y γ se pueden obtener de la Tabla 5.13 para diferentes criterios.

5.6 M´ etodos de Sintonizaci´ on de Controladores PID

113

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 sistema Gp (s) =

Kp s(T s+1)

e−τ s usando ISE (ejemplo 5.24).

Tabla 5.13: Par´ametros ai para calcular Kc , Ti y Td para el control de sistemas tipo IPT1 τ inestables (ecuaci´on (5.45)). Criterio

a1

b1

a2

b2

a3

b3

γ

ISE

1.32

0.92

4.00

0.47

3.78

0.84

0.95

ITSE

1.38

0.90

4.12

0.90

3.62

0.85

0.93

ISTSE

1.35

0.95

4.52

1.13

3.70

0.86

0.97

Ejemplo 5.25 Se desea controlar el sistema 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; % SISTEMA A CONTROLAR Kc=(a1/Kp)*(tau/T)^b1; Ti=a2*T*(tau/T)^b2; Td=a3*T*(1-b3*(tau/T)^(-0.02))*(tau/T)^gamma; Gc=Kc*(1+1/(Ti*s)+Td*s/(1+Td*s/N)); PI_D=feedback(Gc*Gp,1);% CONTROL PI-D

114

Control PID SISO CONTROL PI−D USANDO ISTSE 6

5

4

SALIDA

3

2

1

0

−1

−2

−3

0

10

20

30 40 TIEMPO (sec)

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

Kp s−1

50

60

70

e−τ s usando ISTSE (ejemplo 5.25).

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 raz´on es que su valor no debe de exceder el rango permitido por el actuador. Por estas razones es que debemos de introducir un limitador a la salida del controlador. Lamentablemente este limitador, el cual es un elemento no lineal, es el causante del efecto denominado en ingl´es windup (saturaci´on), el cual se explica a continuaci´on. La Fig. 5.51 muestra el diagrama en Simulink empleado para explicar el efecto windup. Ejecutando primero el programa windup.mdl y luego el programa windupgraf.m se obtiene la Fig. 5.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 u m . A pesar de que la se˜ nal de salida y(t) iguala al valor de referencia en el tiempo t1 , lo cual genera una se˜ nal de error (1 − y(t)) negativa debido al valor grande de la se˜ nal y i en la salida del integrador, la se˜ nal de control u(t) permanece en el valor de saturaci´on m´aximo um . Esto causa que la salida y(t) se incremente continuamente hasta que se alcance

5.8 El Algoritmo PID Discreto Modificado

115

el tiempo t2 , 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). Por otro, 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 que se emplea es el c´alculo recursivo como veremos m´as adelante.

windup .mdl ILUSTRA EL EFECTO WINDUP

yi Step =1

u

1.12s

Kc=5

Ti =1.12 t t

Scope

y

1

5

Clock

u

yi

10 yi

u

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

um =3.5

Transfer Fcn y y

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

Existen diversos m´etodos para eliminar en gran medida el efecto windup en sistemas de control que emplean controladores PID continuos. Uno de estos 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 sistema 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. 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

Control PID SISO

INTEGRADOR yi(t)

CONTROL u(t)

SALIDA y(t)

116 EFECTO WIND UP

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.

1/1.2

rr

REF.

tt Clock

GANANCIA 1/Ti

rr 1/1.2 1/Ti

1 s

uu

INTEGRADOR

uu

1 0.5s+1 FILTRO

0.1 Td

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

SISTEMA A CONTROLAR yy

du/dt DERIVADOR

Scope

10

1.3 Kc

tt

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

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

bruscos del error e, los cuales pueden incrementar el t´ermino derivativo: de(t) d = (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

5.8 El Algoritmo PID Discreto Modificado

117

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.

dy(t) la se˜ nal realimentada y en lugar de e. De esta forma, (5.15) con de(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) + P (s) = Kc e(s)

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

I(s) =

Kc e(s) Ti s

D(s) = −

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

(5.47) Tf =

Td N

118

Control PID SISO

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.47) se discretiza directamente, obteni´endose: P = Kc e(k)

(5.48)

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

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

El algoritmo PID discreto usado en las implementaciones en tiempo real resulta: u(k) = P (k) + I(k) + D(k)

(5.51)

donde P (k), I(k) D(k) se dan en (5.48), (5.49) y (5.50) 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 > uhigh), u = uhigh; else u = v;

Si el tiempo de muestreo Ts es suficientemente peque˜ no, entonces se pueden usar las reglas de sinton´ıa para sistemas 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.14 y 5.15. Estas tablas K emplean la FT Gp (s) = 1+Tp s e−τ s del sistema y no son v´alidas si τ /Ts ≈ 0 ni se deben de aplicar si τ /Ts < 1/4, donde Ts es el tiempo de muestreo. Ejemplo 5.26

5.8 El Algoritmo PID Discreto Modificado

119

Tabla 5.14: M´etodo de la curva de reacci´on para determinar los par´ametros PID. K c , Ki y Kd . Tipo

Controlador Gc (s)

P

Kc

PI

Kc +

PID

Kc +

Ki s

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

Kc =

Ki s

+ Kd s

Ki = Kc /Ti

K d = K c Td

0

0

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

0.5 T Kp T s

0

Tabla 5.15: M´etodo de las oscilaciones sostenidas para hallar los par´ametros K C , TI y TD . Tipo

Controlador Gc (s)

P

KC

PI PID

Kc + Kc +

Ki s

Kc =

100 BP

0.5Kcrit Ki s

0.45 Kcrit − 0.5Ki

+ Kd s

0.6 Kcrit − 0,5Ki

Ki = Kc /Ti

K d = K c Td



0

crit 0,54 K Tcrit crit 1.2 K Tcrit

0 0.075Kcrit

Tcrit Ts

Se desea controlar la posici´on angular x1 de un manipulador empleando un algoritmo de control discreto PID. las ecuaciones de estado del manipulador son: x˙ 1 = x2 x˙ 2 = −

B n2 KE nKact N x2 − + x2 + u M M M Ra Ra M

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). Ya se han usado par´ametros PID previamente determinados. % pidposfijo.m CONTROL DE POSICION PID DEL MANIPULADOR MR1 clear all; close all; clc; % PARAMETROS DEL PROCESO NO LINEAL (TABLA 3.3) JL = 3.5e-7; bL = 1e-5; Ro = 0.01; Jm = 1.9062e-6; bm = 1.8338e-6; g = 9.81; E = 31.035e-3; Ra = 7.38; m = 0.06377; Kact = 14.9; K = 31.071e-3; n = 19.741; L = 4.64e-3; Lo = 0.776; Mo = 0.045; B = n^2*bm + bL; Jeff = n^2*Jm +JL; M = Jeff + (1/3)*m*Lo^2 + Mo*Lo^2 + (2/5)*Mo*Ro^2; N = g*Lo*(Mo+m/2); % PERIODO DE MUESTREO Y PARAMETROS PID T = 0.01; Nn = 10; Kp = 0.1; Ti = 0.4; Td = 0.01; Tf=Td/Nn; % CONDICIONES INICIALES ep = 0; x1 = 0; x1p=0; x2 = 0; Ip = 0; Dp=0; % ******** LAZO DEL SISTEMA DE CONTROL ********* Mm = 5000; T = 0.01; Nn = 10; ulow = -5; uhigh = 5; for k = 1:Mm

120

Control PID SISO

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 correspondinte al Ejemplo 5.26.

r = 1; R(k) = r; e = r - x1; P = Kp*e; I = Ip + T*Kp*(e+ep)/(2*Ti); D = (Td/(Nn*T + Td))*Dp - Kp*Td*Nn*(x1 - x1p)/(Nn*T + Td); v = P + I + D; if(v < ulow), u = ulow; elseif( v > uhigh), u = uhigh; else u = v; end U(k) = u; % MODELO DE SEGUNDO ORDEN DEL SISTMA (DISCRETIZACION DIRECTA) x1 = x1 + T*x2; Y(k) = x1; x2 = x2 + T*( -(N/M)*x1 - (B/M + n^2*K*E/(M*Ra))*x2 + (n*K*Kact/(Ra*M))*u ); ep = e; x1p=x1; Ip=I; end % GRAFICOS ejex = linspace(0,Mm*T,Mm); subplot(2,1,1) plot(ejex,R,ejex,Y); grid; ylabel(’Posici´ on angular (rad)’) subplot(2,1,2); plot(ejex,U); grid; ylabel(’Se~ nal de control u (V)’) xlabel(’Tiempo [s]’); print -f -deps pidposfijo

5.9 Problemas

5.9.

121

Problemas

Problema 5.1 Las FTs Ga (s) hasta Gj (s) corresponden a sistemas a ser controlados. Determinar para cada una de ellas los siguientes modelos din´amicos aproximados: GA (s) =

Kp −τ s e Ts + 1 GC (s) =

Ga (s) = Gd (s) = Gf (s) = Gi (s) =

2 (s + 1)3

GB (s) =

Kp ; (Tn s + 1)n

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

τ < 0.104 T

−3s + 2 (s + 1)3 2 −10s + 4 s − 3s + 6 Ge (s) = e−s/2 2 2 (s + 1)(s + 3s + 6)(s + s + 2) (s + 1)2 (s + 3)3 6 3 3 Gg (s) = e−s Gh (s) = e−2s (s + 1)6 (s + 1)(2s + 1) (s + 1)4 7 3s + 6 e−30s Gj (s) = e−s/10 (17s + 1)(6s + 1)3 (s + 1)(4s + 1) Gb (s) =

4 (s + 1)5

τ ≥ 0.104 T

Gc (s) =

Problema 5.2 Realizar los controles PID, PI–D y PI-Dy de los sistemas Ga (s) al Gj (s) en el dominio de s empleando MATLAB. Usar al menos cinco distintas reglas de sintonizaci´on para cada sistema. El objetivo de control es que la se˜ nal controlada siga a una referencia constante. Problema 5.3 Realizar los controles PID, PI–D y PI–Dy de los sistemas Ga (s) al Gj (s) empleando SIMULINK. Usar al menos una regla de sintonizaci´on, distinta de las otras, para cada sistema. El objetivo de control es que la se˜ nal controlada siga a una referencia constante. Problema 5.4 Realizar los controles PID, PI–D y PI–Dy de los sistemas Ga (s) al Gj (s) en el dominio del tiempo discreto k=t/T (T es el tiempo de muestreo) empleando MATLAB. Usar al menos tres distintas reglas de sintonizaci´on para cada sistema. 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 sistema. En esta situaci´on, denominada rechazo al disturbio, la se˜ nal de referencia es nula. Problema 5.5

122

Control PID SISO

Realizar los controles PID, PI–D y PI–Dy de los sistemas Ga (s) al Gj (s) empleando SIMULINK. Usar al menos una regla de sintonizaci´on, distinta de las otras, para cada sistema. El objetivo de control es que la se˜ nal controlada (la salida) tienda a cero en presencia de un disturbio tipo escal´on a la entrada del sistema. En esta situaci´on, denominada rechazo al disturbio, la se˜ nal de referencia es nula. Problema 5.6 Realizar los controles PI o PID seg´ un corresponda, de los sistemas G k (s) al Gt (s) empleando el m´etodo de Kessler. Gk (s) = Gl (s) = Gm (s) = Gn (s) = Go (s) = Gp (s) = Gq (s) = Gr (s) = Gs (s) = Gt (s) = Problema 5.7

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

Para el sistema del ejemplo ??, dise˜ nar controladores PID, PI–D y PI–Dy que cumplan el siguiente objetivo de control: la se˜ nal controlada x1 debe de seguir a la se˜ nal en estado estable x1e con un porcentaje de de sobrenivel menor del 5 %, tiempo de estabilizaci´on menor de 8 s y error en estado estable nulo. Tener en cuenta que para la situaci´on descrita, y1 = x1 − x1e debe de ser nulo. Problema 5.8 Para el sistema del ejemplo ??, dise˜ nar controladores PID, PI–D y PI–Dy que cumplan el siguiente objetivo de control: la se˜ nal controlada y = ω2 debe de seguir una se˜ nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de estabilizaci´on menor de 4 s y error en estado estable nulo. Problema 5.9

5.9 Problemas

123

Para el sistema del ejemplo ??, dise˜ nar controladores PID, PI–D y PI–Dy que cumplan el siguiente objetivo de control: la se˜ nal controlada x1 debe de seguir una se˜ nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de estabilizaci´on menor de 4 s y error en estado estable nulo. Problema 5.10 Para el sistema de la Fig. 2.14(c), dise˜ nar controladores PID, PI–D y PI–Dy que cumplan el siguiente objetivo de control: la se˜ nal controlada ω debe de seguir una se˜ nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de estabilizaci´on menor de 4 s y error en estado estable nulo. Problema 5.11 Para el sistema de la Fig. ??(b), dise˜ nar controladores PID, PI–D y PI–Dy que cumplan el siguiente objetivo de control: la se˜ nal controlada ω debe de seguir una se˜ nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de estabilizaci´on menor de 10 s y error en estado estable nulo. Problema 5.12 Para el sistema del ejemplo ??, dise˜ nar controladores PID, PI–D y PI–Dy que cumplan el siguiente objetivo de control: la se˜ nal controlada q3 debe de seguir una se˜ nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de estabilizaci´on menor de 4 s y error en estado estable nulo. Problema 5.13 Para el sistema del problema ??, dise˜ nar controladores PID, PI–D y PI–Dy que cumplan el siguiente objetivo de control: la se˜ nal controlada θ debe de seguir una se˜ nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de estabilizaci´on menor de 4 s y error en estado estable nulo. Problema 5.14 Para el sistema del problema ??, dise˜ nar controladores PID, PI–D y PI–Dy que cumplan el siguiente objetivo de control: la se˜ nal controlada iR debe de seguir una se˜ nal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de estabilizaci´on menor de 4 s y error en estado estable nulo.

Cap´ıtulo 6

Estrategias de Control En este Cap´ıtulo se desarrollan y discuten diversas estrategias de control. Algunas de ellas emplean modos de control PID en sus estructuras, tales como: control en cascada, control de la raz´on, control anticipativo, control selectivo, control override, y control de rango partido. Otras estrategias de control emplean controladores m´as avanzados como son el control con autosintonizaci´on de par´ametros (self–tuning regulator), el controlador adaptativo con modelo referencial y el controlador adaptativo con reconocimiento de patrones.

6.1.

Control en Cascada

La Fig. 6.1(a) muestra un sistema que comprende un tanque cerrado, en el 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 (v´alvula de control autom´atica) del tipo neum´atica. En este lazo de control realimentado simple, 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 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, requerida por la VCA. La Fig. 6.1(b) muestra el diagrama de bloques del circuito de control descrito. Observar la presencia de la se˜ nal de error e = r − y en este diagrama. De hecho, el algoritmo de control alojado en el bloque Controlador, procesa tal se˜ nal de error e para generar la se˜ nal de control u En muchas aplicaciones, el control en cascada es una estrategia que mejora significativamente el rendimiento de un lazo de control realimentado simple, como el de la Fig. 6.1(a). Para ello, se requiere crear un nuevo lazo de realimentaci´on, tal como se muestra en la Fig. 6.1(c), en la cual, con el primer lazo, se desea que la temperatura y1 del producto siga a una referencia r1 , usando el controlador C1 . Con el segundo lazo, se desea que el flujo de agua caliente y2 siga a una referencia r2 empleando el controlador C2 . Notar que la salida u1 de C1 es la se˜ nal de referencia r2 del controlador C2 . La Fig. 6.1(d) muestra el diagrama de bloques del sistema de control en cascada,

126

Estrategias de Control

donde P1 m´as P2 forman el proceso, M1 y M2 son bloques de medici´on, y C1 y C2 son los controladores que procesan los errores e1 = r1 −y1 y e2 = r2 −y2 , respectivamente. De las dos variables controladas en la Fig. 6.1(c), la temperatura y 1 del producto es la m´as importante. El flujo de agua caliente y2 se emplea como una variable para satisfacer los requerimientos de temperatura del producto. 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.1: Circuito de control simple (a) y su diagrama de bloques (b). Circuito de Control en cascada (c) y su diagrama de bloques (d). En el control en cascada, el controlador que controla la variable controlada principal, C1 en este caso, es conocido como controlador maestro, externo o principal. El controlador que controla la variable controlada secundaria, C 2 en esta situaci´on, recibe el nombre de controlador esclavo, interno o secundario. Por lo com´ un se prefiere usar la terminolog´ıa primario/secundario para referirse a los lazos de control primario y secundario controlados por los controladores primario C 1 y secundario C2 , respectivamente. Para sistemas de control con m´as de dos lazos en cascada, la extensi´on es autom´atica. 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.

6.1 Control en Cascada

127

4. Sintonizar el lazo de control secundario empleando 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 realimentado simple de la Fig. 6.1(b) y compararla con la respuesta controlada del sistema de control en cascada ilustrado en la Fig. 6.1(d), sabiendo que los controladores son del tipo PI, que M1 = M2 = 1, que r = r1 = 50o C, y que P (s) = P2 (s) × P1 (s), donde: P2 (s) =

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

P1 (s) =

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

Cabe anotar que 3/(0.2s + 1) es la FT de la 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.2 muestra la respuesta al escal´on a manera de una oscilaci´on sostenida que se obtiene haciendo que el controlador C en la Fig. 6.1(b) trabaje en modo proporcional con una ganancia Kcrit = 2.18. Notar que la oscilaci´on posee un per´ıodo Tcrit = 12.5. Con tales valores se calculan los par´ametros del controlador PI empleando la Tabla 5.6. El gr´afico inferior de la Fig. 6.2 ilustra la salida y controlada, luego de realizar una postsinton´ıa. Tales resultados se obtienen ejecutando el programa casc1a.m listado abajo. % 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.1(d). El lazo de control secundario se realiza como sigue. El primer gr´afico de la Fig. 6.3 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.1(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.6. El segundo gr´afico de la Fig. 6.3 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.3) y con los par´ametros Kcrit1 = 3.4 y Tcrit1 = 13 determinados, se calculan los par´ametros del controlador

128

Estrategias de Control 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.2: 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.

C1 . El gr´afico inferior de la Fig. 6.3 ilustra la salida y1 controlada, luego de realizar una postsinton´ıa. Todos estos resultados se obtienen ejecutando el programa casc1b.m listado abajo. % casc1b.m CONTROL EN CASCADA clear all; close all; clc; s=tf(’s’); P2=3/((0.2*s+1)*(3*s+1)*(s+1)); P1=0.8/((4*s+1)*(s+1)); Kcrit2=8.53; Gs1=feedback(Kcrit2*P2,1); % FT LAZO SECUNDARIO CON Kcrit2 subplot(411); step(Gs1,10); grid, ylabel(’y2(t)’), xlabel(’TIEMPOx60’), title(’OSCILACI´ ON DEL LAZO SECUNDARIO’) Tcrit2=2.4; % TOMADO DE LA OSCILACI´ ON SOSTENIDA CON Kcrit2=8.53 Kc2=0.1*0.45*Kcrit2; Ti2=0.85*Tcrit2; C2=Kc2*(1+1/(Ti2*s)); Gs2=feedback(C2*P2,1); subplot(412), step(Gs2), grid, ylabel(’y2(t)’), xlabel(’TIEMPOx60’), title(’CONTROL DEL LAZO SECUNDARIO’) Kcrit1=3.2; Gp1=feedback(Kcrit1*Gs2*P1,1); % FT LAZO PRIMARIO CON Kcrit1 subplot(413); step(Gp1,40); grid, title(’OSCILACI ´ ON DEL LAZO PRIMARIO’), xlabel(’TIEMPOx60’), ylabel(’y1(t)’) Tcrit1=13; % TOMADO DE LA OSCILACI´ ON SOSTENIDA CON Kcrit1=3.2 Kc1=0.45*Kcrit1; Ti1=0.8*0.85*Tcrit1; % PAR ´ AMETROS PI C1=Kc1*(1+1/(Ti1*s)); CASCADA=50*feedback(C1*Gs2*P1,1); % CONTROL CASCADA subplot(414); step(CASCADA); grid, title(’SALIDA CONTROLADA EN CASCADA’), xlabel(’TIEMPOx60’), ylabel(’TEMPERATURA ◦ C’), print -deps -f casc1b

6.2 Control de la Raz´ on

129

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

50

60

70

TIEMPOx60 (sec)

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

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.3), mientras que para el caso de realimentaci´on simple mostrado en el gr´afico inferior de la Fig. 6.2, 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.3, es mayor que el Tcrit12 del lazo secundario (primer gr´afico de la Fig. 6.3) en una relaci´on: Tcrit1 13 = = 5.41 Tcrit2 2.4 Este hecho comprueba que el lazo secundario es 5.41 veces m´as r´apido que el lazo primario.

6.2.

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.4, el flujo q1 correspondiente al lazo no controlado, es conocido como el flujo salvaje. Por otro lado, el lazo controlado, en donde se ubica el flujo q2 , es denominado 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 para la combusti´on.

130

Estrategias de Control Control de la composici´on de un producto, t´ecnica bastante utilizada en las torres de destilaci´on.

Observar en la Fig. 6.4 que los flujos q1 y q2 se miden empleando placas de orificio, las cuales usan el principio de que el flujo es proporcional a la 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.4): 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: e2 = V y 1 − y 2 = 0

V y1

q2 q1

r2

V =

y2 y1

(6.2)

u y2

Qemador Horno

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

Ejemplo 6.2 Dise˜ nar y simular el sistema de control que mantenga la raz´on combustible–aire en 10 en la Fig. 6.4. Esto es: q2 /q1 = V = 10. Soluci´ on: La Fig. 6.5 muestra el diagrama Simulink correspondiente a la Fig. 6.4. Notar que se ha incluido la FT de la v´alvula de control. El proceso flujo y2 se modela 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.6 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. % razon1graf.m clear all; close all; clc; load th; load y1; load y2; load V; plot(th,y1,th,y2,th,V), xlabel(’TIEMPO [s]’), ylabel(’RAZ¨ ON V(t)’), title(’CONTROL DE LA RAZ´ ON V = y2/y1’) print -f -deps razon1r, print -s -deps razon1s

6.3 Control Anticipativo

131

razon1.mdl

th

y1

Clock

y1

1 u Inversa

Aire r2

1/y1

e2

Set V

Producto

0.5s+1

PI Controller

y2

V

2

PID

10

V=y2/y1

th

Válvula + caudal y 2

y2

Product

Scope

y2

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

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.6: Resultado de la simulaci´on correspondiente al Ejemplo 6.2.

6.3.

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

132

Estrategias de Control

variable controlada en el valor deseado y sin la presencia de disturbios. La Fig. 6.7 muestra el diagrama de bloques de un sistema de control anticipativo donde Gp (s), Ga (s) y Gd (s) son las funciones de transferencia del proceso, del controlador anticipativo y del disturbio, respectivamente. Adem´as, d, u e y son las se˜ nales disturbio, de control y de salida, correspondientemente. De la Fig. 6.7 se deduce: y = Gp (s)u + Gd (s)d = Gp (s)Ga (s)d + Gd (s)d = [Gp Ga (s) + Gd (s)] d

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

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

(6.6)

La estructura que toma Ga (s) en (6.6) es la del denominado compensador de adelanto– atraso. d

Gd(s)

Ga(s)

u

y

Gp(s)

Fig. 6.7: Sistema de control anticipativo.

El sistema de control anticipativo trabaja bien siempre que Gp (s) y Gd (s) representen lo 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) =

s2

1 + bs + c

Gd (s) =

1 s+f

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

s2 + bs + c Gd (s) =− Gp (s) s+f

6.3 Control Anticipativo

133

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

s+f Gd (s) =− 2 es Gp (s) s + bs + c

Notar que el controlador anticipativo resultante es no implementable f´ısicamente debido a que su tiempo muerto es positivo. En un determinado dise˜ 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) = −

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

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

5 2s + 1

Gp (s) =

3 0.5s + 1

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

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

La Fig. 6.9 muestra el resultado de la 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. % antic1graf.m clear all; close all; clc; load th; load d; load u; load y; subplot(211), plot(th,d,th,u), xlabel(’TIEMPO [s]’), ylabel(’d(t),u(t)’), title(’VARIABLES d(t) y u(t) EN EL CONTROL ANTICIPATIVO’) subplot(212), plot(th,y), xlabel(’TIEMPO [s]’), ylabel(’y(t)’), title(’SALIDA CONTROLADA y(t)’) print -f -deps antic1r, print -s -deps antic1s

134

Estrategias de Control

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.8: Diagrama Simulink correspondiente a la Fig. 6.7.

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

2

d(t),u(t)

1 0

u

−1 −2

0

200

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

800

1000

200

400 600 TIEMPO [s]

800

1000

−3

2

d

x 10

y(t)

0 −2 −4 −6

0

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

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

6.3 Control Anticipativo d1

135 Gd1(s) G a (s)

r

e

u

G c (s) d2

y

G p (s) Gd2(s)

Fig. 6.10: 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.10 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.11 muestra el diagrama Simulink correspondiente a la Fig. 6.10. El controlador anticipativo se determina de: Ga (s) = −

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

La Fig. 6.12 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 d1

d1

5s+1 Gd1(s)

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 d2

Tiempo muerto : 2

Scope r

Tiempo muerto : 5

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

136

Estrategias de Control 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.12: Resultado de la simulaci´on correspondiente al Ejemplo 6.4.

% anticreal1graf.m clear all; close all; clc; load th; load r; load u; load y; subplot(211), plot(th,y,’k’,th,r,’k’), xlabel(’TIEMPO [s]’), ylabel(’y(t)’), title(’SALIDA y(t) CONTROLADA’), grid subplot(212), plot(th,u,’k’), xlabel(’TIEMPO [s]’), ylabel(’u(t)’), title(’CONTROL u(t)’), grid print -f -deps anticreal1r, print -s -deps anticreal1s

6.4.

Control 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.13 muestra una aplicaci´on del control override en un sistema de bombeo de producto. Las Figs. 6.13(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).

6.4 Control Override

137

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

PIC

PIC

PY LAZO 2

LAZO 1 PT

PT

IMPULSION ASPIRACION BOMBA (a) TRANSMISOR DE IMPULSION LAZO 1

CONTROLADOR DE IMPULSION CONMUTADOR SELECTOR CONTROLADOR

VALVULA DE CONTROL

PROCESO PRESION IMPULSION

VALVULA DE CONTROL

PROCESO PRESION ASPIRACION

DE ASPIRACION TRANSMISOR

(b)

LAZO 2

DE ASPIRACION

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

La Fig. 6.14 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.

138

Estrategias de Control

LINEA DE VAPOR

LIMEA DE DESCARGA

LAZO 2

LT

PT

LAZO 1

LC

LSS

PC

AGUA

CALEFACTOR

(a) TRANSMISOR DE PRESION LAZO 1

CONTROLADOR DE PRESION

VALVULA CONMUTADOR LSS

CONTROLADOR DE NIVEL TRANSMISOR

(b)

DE CONTROL

PROCESO PRESION

VALVULA DE CONTROL

PROCESO NIVEL

LAZO 2

DE NIVEL

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

6.5.

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

6.6 Control de Rango Partido

139

En el proceso mostrado en la Fig. 6.15, 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.

FY 2 FT 4

MS FIC 2

FT 6

FT 5

A Flujo A

FY 1 FT 1

FT 2

B

MS

FY 2

B/ A

FT 3

FIC 1

Flujo B

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

6.6.

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

140

Estrategias de Control

Selector

uA

uB

VB

VA

100% Abertura de válvula

Pr

0% P

VA

Reactor

P 0%

VB

30% 50%

70%

u

100%

u

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

6.7.

Control con Autosintonizaci´ on de Par´ ametros

Los sistemas de control adaptativo ajustan su comportamiento a las cambiantes propiedades del proceso controlado y de las se˜ nales que interact´ uan sobre dicho proceso. Por el contrario, los sistemas de control fijos, como los estudiados en el Cap´ıtulo 5 por ejemplo, se caracterizan por la presencia de una ley de control invariable con el tiempo. La investigaci´on sobre controladores adaptativos se ha centrado en dos grupos principales: controladores adaptativos con un modelo referencial y controladores con autosintonizaci´on (self–tuning regulators). En esta secci´on nos concentraremos en este u ´ltimo controlador. El sistema de control adaptativo con autosintonizaci´on mostrado en la figura 6.17 combina en su dise˜ no un m´etodo de estimaci´on de par´ametros (el de los m´ınimos cuadrados recursivo), una t´ecnica de estimaci´on de estados (el filtro de Kalman), una representaci´on lineal del modelo del proceso en el espacio de estado discreto, y una ley de control: el controlador proporcional–integral o´ptimo cuadr´atico con realimentaci´on de estados. ^x

U

ESTIMADOR DE ESTADOS

^ θ

ESTIMADOR DE PARAMETROS

ESTIMACION DE U

MODELO LINEAL +

Y

CONTROLADOR CON AUTOSINTONIZACION

+

+ u

U

PROCESO NO LINEAL

Y

DISTURBIOS

Fig. 6.17: Configuraci´on del sistema de control con autosintonizaci´on.

Notar en la Fig. 6.17 que el proceso puede poseer un modelo din´amico no lineal, pero debe de ser linealizable. Es decir (ver subsecci´on A.6.2), el modelo no lineal

6.8 Control Adaptativo con Modelo Referencial

141

original del proceso: x˙ = f (X, U)

(6.7)

se puede transformar mediante linealizaci´on en un modelo lineal en el espacio de estado continuo de la forma: x˙ = Ax + Bu)

y = Cx

(6.8)

donde f es una funci´on vectorial de variables vectoriales X, es el vector de estado, U es la ley de control, y, A, B y C son las matrices de estado, de control y de salida del proceso, respectivamente. Observar que la ecuaci´on (6.8) emplea las variables residuales (o de desviaci´on) x y u. La relaci´on entre estas variables con respecto a las actuales X y U es: x=X−X

u=U−U

(6.9)

donde X y U son los valores en estado estacionario (o de equilibrio) de X y U, respectivamente. La discretizaci´on del modelo lineal en (6.8) con un tiempo de muestreo T , resulta en la siguiente descripci´on : x(k + 1) = Gx(k) + Hu(k)

y(k) = Cx(k)

(6.10)

donde k = t/T es el tiempo discreto. El comando MATLAB: [G,H,D,C]=c2dm(A,B,C,D,’zoh’); realiza la conversi´on requerida. El objetivo del control en el sistema de control con autosintonizaci´on, consiste en determinar una fuerza de control capaz de minimizar la diferencia entre la salida del proceso y la se˜ nal de referencia, cumpliendo ciertas especificaciones de dise˜ no previamente establecidas. El sistema de control con autosintonizaci´on mostrado en la Fig. 6.17 opera como sigue: luego de cada tiempo de muestreo, el vector estimado de par´ametros θb se actualiza empleando los datos proporcionados por la entrada U del proceso y por la salida Y del mismo. Luego, los elementos de θb se usan para recuperar el modelo lineal discreto del proceso dada por la ecuaci´on (6.8), lo cual permite estimar el vector de b (empleando un filtro de Kalman) y el valor estado residual del modelo del proceso x de equilibrio U de la ley de control actual U. Tales resultados se usan luego para computar la ley de control residual u y para actualizar la ley de control actual U a partir de la relaci´on: U = U + u.

6.8.

Control Adaptativo con Modelo Referencial

La figura 6.18 ilustra la configuraci´on de un Sistema de Control Adaptativo con Modelo Referencial (SCAMR) que puede ser empleado en una gran variedad de aplicaciones. La estructura SCAMR se compone b´asicamente de un modelo de referencia, un controlador adaptativo, el sistema a controlar y un mecanismo de adaptaci´on. El esquema en consideraci´on se denomina un SCAMR paralelo debido a la ubicaci´on relativa del modelo referencial con respecto al sistema.

142

Estrategias de Control MODELO REFERENCIAL

r

CONTROLADOR ADAPTATIVO

u

SISTEMA NO LINEAL

+

− qd

q MECANISMO DE ADAPTACIÓN

~q

Fig. 6.18: Configuraci´on de un Sistema de Control Adaptativo con Modelo Referencial (SCAMR).

El modelo de referencia, el cual est´a excitado por una entrada externa r, es un sistema din´amico auxiliar usado para obtener la respuesta deseada del sistema. Tal respuesta debe de ser lograda por el SCAMR a pesar de las restricciones generadas por inexactitudes en el modelado de la estructura del modelo de referencia y el modelo del proceso. El mecanismo de adaptaci´on es un conjunto de bloques interconectados usados para implementar la ley de adaptaci´on. De hecho, tal ley de adaptaci´on es el algoritmo de control empleado para modificar los par´ametros del controlador adaptativo, de e = q−qd modo tal que el SCAMR permanezca estable y que el error de seguimiento q converja a cero a pesar de la presencia de par´ametros variantes con el tiempo del sistema y disturbios externos. El m´etodo directo de Lyapunov es empleado para determinar que el SCAMR dise˜ nado garantice convergencia global de las se˜ nales controladas con respecto a sus trayectorias deseadas. El m´etodo de Lyapunov, aplicado a un sistema de control, es capaz de determinar si tal sistema es asint´oticamente estable; es decir, que los estados del sistema de control convergen r´apidamente al estado de equilibrio del sistema. Este m´etodo consiste en formular de una funci´on escalar V (x, t) conveniente, donde x es el vector de estados del sistema y la t indica que los par´ametros de V tambi´en pueden ser variantes con el tiempo. Si la derivada total dV /dt resulta definida negativa (menor que cero), entonces el m´etodo asegura que el sistema posee un comportamiento asint´oticamente estable. El objetivo de control del SCAMR dise˜ nado consiste en producir una fuerza de control u que sea capaz de hacer que el vector de salida y del sistema, siga a la respuesta deseada yd cumpliendo ciertas especificaciones de dise˜ no, a pesar de la presencia de incertidumbre param´etrica (par´ametros no modelados en el modelo din´amico usado o con valores inciertos) y no param´etrica (efectos no lineales no tomados en cuenta en el modelo din´amico tales como fricci´on de coulumb, saturaci´on, entre otros). El SCAMR se puede aplicar a sistemas no lineales (preferiblemente) y lineales. La descripci´on del modelo puede ser imprecisa; esto es, el modelo din´amico del sistema puede presentar incertidumbres en su estructura o din´amica no modelada en su representaci´on. Ya que la descripci´on del sistema permite incertidumbres, el control

6.9 Autosintonizaci´ on con Reconocimiento de Patrones

143

adaptativo (en general) se puede considerar una aproximaci´on particular de control robusto. El objetivo de control del sistema de control dise˜ nado consiste en producir una fuerza de control u que sea capaz de hacer que el vector de salida y del sistema, siga a la respuesta deseada yd cumpliendo ciertas especificaciones de dise˜ no, a pesar de la presencia de incertidumbre param´etrica (par´ametros no modelados en el modelo din´amico usado o con valores inciertos) y no param´etrica (efectos no lineales no tomados en cuenta en el modelo din´amico tales como fricci´on de coulumb, saturaci´on, entre otros).

6.9.

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.19(b) y (c), donde el sobrenivel y el amortiguamiento se definen como: e2 e3 − e 2 (6.11) amortiguamiento = 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 τ : Kp Gp (s) = e−τ s (6.12) Ts + 1 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.13) 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 amortiguameiento, 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 similares a las de Ziegler y Nichols: BP = 120Kp τ /T

Ti = 1,5τ

Td = Ti /6

(6.14)

donde BP es la banda proporcional, y, Ti y Td son los tiempos integral y derivativo, respectivamente.

144

Estrategias de Control 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.19: (a) Sistema realimentado. (b) Respuesta a un cambio escal´on. (c) Respuesta a un cambio en el disturbio.

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;

6.9 Autosintonizaci´ on con Reconocimiento de Patrones

145

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.

Cap´ıtulo 7

S´ıntesis de Controladores SISO y MIMO Un proceso SISO (Single–Input–Single–Output) est´a caracterizado por poseer una salida y una entrada, mientras que un proceso MIMO (Multiple–Input–Multiple–Output) posee m´ ultiples entradas y m´ ultiples salidas, las cuales no est´an exentas de presentar cierto grado de interacci´on entre ellas. La t´ecnica para modelar esta interacci´on es emplear modelos din´amicos multivariables o MIMO. El problema de s´ıntesis de controladores SISO y MIMO consiste en determinar el modelo din´amico de la ley de control partiendo de ciertas condiciones y principios previamente establecidos. Esta ley de control puede estar en la forma de una FT (Funci´on de Transferencia), para el caso SISO, y de una MT (Matriz de Transferencia) para el caso MIMO. Este Cap´ıtulo trata sobre la s´ıntesis (dise˜ no) de controladores SISO empleando el m´etodo de Dahlin, y de controladores MIMO empleando el m´etodo de desacoplamiento, usando desacopladores, y aplicando el criterio de estabilidad de Hurwitz.

7.1.

M´ etodo de Dahlin

El siguiente procedimiento de s´ıntesis es atribuido a Dahlin [30]. La Fig. 7.1 muestra un sistema SISO realimentado, donde Gc (s), Gp (s) y H(s) representan las FTs del controlador, el proceso y el sistema de medici´on, respectivamente, y, r(s), e(s), y(s) y u(s) constituyen las se˜ nales de referencia (SP), error del sistema, salida controlada (PV) y ley de control, respectivamente. Para el caso H(s) = 1, de la Fig. 7.1 se deduce: y(s) = Gp (s)u(s) = Gp (s)Gc (s)e(s) = Gp (s)Gc (s)(r(s) − y(s)) Por consiguiente: Gc (s) =

1 y(s)/r(s) Gp (s) 1 − y(s)/r(s)

(7.1)

Se puede forzar que la se˜ nal controlada y(t) sea la curva de reacci´on de un sistema de primer orden de ganancia unitaria y constante de tiempo Tc : 1 y(s) = r(s) Tc s + 1

(7.2)

148

S´ıntesis de Controladores SISO y MIMO

Sabemos que la constante de tiempo Tc corresponde al al 63.2 % de la magnitud de la ganancia unitaria El 100 % de esta ganancia unitaria se alcanza en aproximadamente cuatro veces Tc . Reemplazando (7.2) en (7.1) se obtiene una f´ormula para sintetizar (dise˜ nar) el controlador: 1 1 (7.3) Gc (s) = Gp (s) Tc s En lo que sigue, la f´ormula de s´ıntesis dada en (7.3) ser´a determinada para el control de diferentes procesos. r(s)

e(s)

Gc (s)

u(s)

Gp(s)

y(s)

H(s)

Fig. 7.1: Sistema SISO realimentado.

Proceso Proporcional Cuando Gp (s) = Kp (proceso proporcional), la ecuaci´on (7.3) toma la forma: Gc (s) =

Kc s

Kc =

1 K p Tc

(7.4)

Proceso de Primer Orden Sea el proceso de primer orden: Gp (s) =

Kp Ts + 1

(7.5)

donde T es la constante de tiempo del proceso y Kp su ganancia. Con Gp (s) dado por la ecuaci´on (7.7), (7.3) toma la forma:   1 T Kc = Ti = T (7.6) Gc (s) = Kc 1 + Ti s K p Tc

Proceso de Segundo Orden Sea el proceso de segundo orden: Gp (s) =

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

(7.7)

donde T1 y T2 son las dos constantes de tiempo del proceso. Con Gp (s) dado por la ecuaci´on (7.7), (7.3) toma la forma:   T1 1 (Td s + 1) Kc = Ti = T 1 Td = T 2 Gc (s) = Kc 1 + Ti s K p Tc (7.8)

7.1 M´ etodo de Dahlin

149

Proceso Integral Cuando: Gp (s) =

Kp s(T s + a)

el cual corresponde a un proceso integral, la ley de control (7.3) toma la forma: Gc (s) = Kc (Td s + 1)

Kc =

1 K p Tc

Td = T

(7.9)

Proceso Doblemente Integral Si Gp (s) = Kp /s2 (proceso doblemente integral, como es el caso de un sat´elite en o´rbita, la ecuaci´on (7.3) toma la forma: Gc (s) = Kc s

Kc =

1 K p Tc

(7.10)

Procesos con Respuesta Inversa o con Sobrenivel Sea el proceso con un cero positivo ubicado en 1/T3 y dos polos negativos ubicados en −1/T1 y −1/T2 : Kp (1 − T3 s) (7.11) Gp (s) = (T1 s + 1)(T2 s + 1) el cual, dependiendo de sus par´ametros, corresponde a un proceso que posee una respuesta al escal´on inversa (parte de su respuesta al inicio es negativa) o con sobrenivel. Para esta situaci´on conviene forzar que la se˜ nal controlada y(t) sea la curva de reacci´on de un sistema de adelanto–atraso de ganancia unitaria y de la forma: y(s) 1 − T3 s = r(s) Tc s + 1 Sustituyendo (7.11) y (7.12) en (7.1), la ley de control toma la forma:   T1 1 (Td s+1) Kc = Gc (s) = Kc 1 + Ti = T 1 Ti s Kp (Tc + T3 )

(7.12)

Td = T 2 (7.13)

Procesos con Tiempo Muerto Sea el proceso de primer orden con tiempo muerto de la forma: Gp (s) =

Kp e−τ s (T s + 1)

(7.14)

En este caso conviene forzar que la se˜ nal controlada y(t) sea la curva de reacci´on de un sistema de de primer orden con tiempo muerto y ganancia unitaria, de la forma: e−τ s y(s) = r(s) Tc s + 1

(7.15)

150

S´ıntesis de Controladores SISO y MIMO

Reemplazando (7.14) y (7.15) en (7.1), la ley de control toma la forma:   1 Td s + 1 Gc (s) = Kc 1 + Ti s αTd s + 1

(7.16)

donde: Kc =

T Kp (Tc + τ )

Ti = T

Td =

τ 2

α=

Tc Tc + τ

Ejemplo 7.1 Verificar los controladores sintetizados empleando el m´etodo de Dahlin. Soluci´ on: La Fig. 7.2 muestra las respuestas controladas, resultadoS que se obtienen ejecutando el programa dahlin1.m listado abajo. No se ha considerado el caso G p (s) = Kp /s2 por simple comodidad. CONTROL DE UN PROCESO PROPORCIONAL

CONTROL DE UN PROCESO DE 1er ORDEN 1 SALIDA

SALIDA

1

0.5

0

0

2

4 6 8 TIEMPO [s] (sec)

10

0.5

0

12

0

CONTROL DE UN PROCESO DE 2do ORDEN

SALIDA

SALIDA 0

2

4 6 8 TIEMPO [s] (sec)

10

12

0.5

0

12

PROCESO CON RPTA INVERSA O SOBRENIVEL

0

2

4 6 8 TIEMPO [s] (sec)

10

12

CONTROL DE UN PROCESO CON TIEMPO MUERTO 1 SALIDA

2 SALIDA

10

1

0.5

1 0 −1 −2

4 6 8 TIEMPO [s] (sec)

CONTROL DE UN PROCESO INTEGRATIVO

1

0

2

0.5 0 −0.5

0

2

4 6 8 TIEMPO [s] (sec)

10

12

−1

0

5 10 TIEMPO [s] (sec)

15

Fig. 7.2: Control de procesos empleando controladores sintetizados por el m´etodo de Dahlin.

´TODO DE DAHLIN % dahlin1.m CONTROL DE PROCESOS: ME clear all; close all; clc; s=tf(’s’); Kp=2; T=5; T1=4; T2=6; T3=3; Tc=2; Tt=2;

7.2 Control MIMO v´ıa Desacoplamiento

151

Gp1=Kp; Gp2=Kp/(T*s+1); Gp3=Kp/((T1*s+1)*(T2*s+1)); Gp4=Kp/(s*(T*s+1)); Gp5=Kp*(1-T3*s)/((T1*s+1)*(T2*s+1)); [num,den]=pade(Tt,3); Gtau=tf(num,den); Gp6=Kp*Gtau/(T*s+1); Kc1=1/(Kp*Tc); Gc1=Kc1/s; DH1=feedback(Gc1*Gp1,1); subplot(321); step(DH1,’k’); grid; xlabel(’TIEMPO [s]’); ylabel(’SALIDA’); title(’CONTROL DE UN PROCESO PROPORCIONAL’); Kc2=T/(Kp*Tc); Ti=T; Gc2=Kc2*(1+1/(Ti*s)); DH2=feedback(Gc2*Gp2,1); subplot(322); step(DH2,’k’); grid; xlabel(’TIEMPO [s]’); ylabel(’SALIDA’); title(’CONTROL DE UN PROCESO DE 1er ORDEN’); Kc3=T1/(Kp*Tc); Ti=T1; Td=T2; Gc3=Kc3*(1+1/(Ti*s))*(Td*s+1); DH3=feedback(Gc3*Gp3,1); subplot(323); step(DH3,’k’); grid; xlabel(’TIEMPO [s]’); ylabel(’SALIDA’); title(’CONTROL DE UN PROCESO DE 2do ORDEN’); Kc4=1/(Kp*Tc); Td=T; Gc4=Kc4*(Td*s+1); DH4=feedback(Gc4*Gp4,1); subplot(324); step(DH4,’k’); grid; xlabel(’TIEMPO [s]’); ylabel(’SALIDA’); title(’CONTROL DE UN PROCESO INTEGRATIVO’); Kc5=T1/(Kp*(Tc+T3)); Ti=T1; Td=T2; Gc5=Kc5*(1+1/(Ti*s))*(Td*s+1); DH5=feedback(Gc5*Gp5,1); subplot(325); step(DH5,’k’); grid; xlabel(’TIEMPO [s]’); ylabel(’SALIDA’); title(’PROCESO CON RPTA INVERSA O SOBRENIVEL’); Kc6=T/(Kp*(Tc+Tt)); Ti=T; Td=Tt/2; alfa=Tc/(Tc+Tt); % Gc6=Kc6*(1+1/(Ti*s))*((Td*s+1)/(alfa*Td*s+1)); Gc6=(T*s+1)/(Kp*(Tc*s+1-Gtau)); DH6=feedback(Gc6*Gp6,1); subplot(326); step(DH6,’k’); grid; xlabel(’TIEMPO [s]’); ylabel(’SALIDA’); title(’CONTROL DE UN PROCESO CON TIEMPO MUERTO’); print -deps -f dahlin1

7.2.

Control MIMO v´ıa Desacoplamiento

El controlador MIMO a dise˜ nar requiere de la representaci´on lineal en el espacio de estado (ecuaci´on (7.17)) o en el dominio de Laplace (ecuaci´on (7.19)) del sistema MIMO. Tal dise˜ no debe de cumplir los siguientes requerimientos: 1. No interacci´on. 2. Exactitud est´atica. 3. Estabilidad. Para explicar cada uno de tales requerimientos, formulemos las ecuaciones de estado y de salida del sistema MIMO: x˙ = Ax + Bu

y = Cx + Du

(7.17)

donde x es el vector de estado de orden n, u es el vector fuerza de control de orden m e y es el vector de salidas controladas de orden p. La Fig. 7.3 muestra el diagrama de bloques del sistema de control MIMO, de donde se pueden deducir las siguientes relaciones: y(s) = Gp (s)u(s)

u(s) = Gc (s)e(s)

(7.18)

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

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

(7.19)

152

S´ıntesis de Controladores SISO y MIMO Controlador MIMO e(s) u(s) G c(s)

r(s)

Proceso MIMO y(s) G p (s)

Fig. 7.3: Diagrama de bloques de un sistema de control MIMO.

donde Gp (s) es la matriz de transferencia del sistema, Gc (s) es la matriz de transferencia del controlador, e(s) es el vector error del sistema y r(s) es el vector de se˜ nales deseadas o set points. En (7.19), el reemplazo de y(s) en e(s) produce: y(t) = G(s)r(s)

G(s) = (I + Go )−1 Go

Go (s) = Gp Gc (s)

(7.20)

donde G(s) y Go son las matrices de transferencia de lazo cerrado y de lazo abierto del sistema. La matriz G(s) posee la forma:   G11 (s) · · · G1p (s)   .. .. .. G(s) =   . . . Gp1 (s) · · · Gpp (s)

En el dominio de Laplace y para condiciones iniciales nulas, el sistema representado en (7.17) toma la forma: sx = Ax + Bu

x(s) = (sI − A)−1 Bu

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

Reemplazando la expresi´on de x(s) en la expresi´on de y(s), se obtiene la matriz de transferencia Gp (s) del sistema en funci´on de las matrices de su descripci´on de estado A, B, C y D: y(s) = [C(sI − A)−1 B + D]u(s)

7.2.1.

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

(7.21)

No Interacci´ on

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

para i 6= j

(7.22)

Una condici´on necesaria y suficiente para no interacci´on en un sistema de control MIMO con realimentaci´on unitaria es que la matriz de transferencia a lazo abierto Go (s) sea diagonal. Este u ´ltimo requerimiento es f´acil de probar. De la Fig. 7.3, vimos que: G(s) = [I + Go (s)]−1 Go (s)

7.2 Control MIMO v´ıa Desacoplamiento

153

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

(7.23)

Dado que G(s) tiene que ser diagonal por para no interacci´on, entonces, I − G(s) tambi´en debe de ser diagonal. Por consiguiente, su matriz inversa [I − G(s)] −1 es tambi´en diagonal y de la forma:   1 0 1−G11 (s)   1   1−G22 (s) −1   [I − G(s)] =  ..  .   1 0 1−Gpp (s) Por lo tanto, la relaci´on (7.23) resulta en la siguiente matriz diagonal:   G11 (s) 0  1−G11 (s)  G22 (s)     1−G22 (s) Go (s) =   ..   .   Gpp (s) 0 1−Gpp (s)

7.2.2.

(7.24)

Exactitud Est´ atica

Nosotros deseamos que para un vector de entrada de referencia constante r(t), es decir, un vector cuyos elementos sean escalones, el vector de error: e(t) = r(t) − y(t) se aproxime a cero cuando t se aproxime a infinito. En el dominio de s, el error resulta: e(s) = r(s) − y(s) = r(s) − G(s)r(s) = [I − G(s)]r(s) = [I − G(s)] donde |r| es la magnitud de r(s), cuya transformada de Laplace es teorema del valor final en la ecuaci´on anterior se obtiene:

|r| s .

|r| s

Aplicando el

l´ım e(t) = l´ım s e(s) = l´ım [I − G(s)] = 0

t→∞

s→0

s→0

Entonces podemos concluir que para exactitud est´atica (error en estado estable nulo) se requiere: l´ım [G(s)] = I (7.25) s→0

7.2.3.

Estabilidad

Para el caso de condiciones iniciales nulas, de (7.26) sabemos que: y(s) = [C(sI − A)−1 B + D]u(s)

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

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

Adj (I − A) det(I − A)

(7.26)

154

S´ıntesis de Controladores SISO y MIMO

donde Adj significa adjunta, det es la operaci´on determinante y la ecuaci´on polin´omica: det(I − A) = 0 (7.27) es la ecuaci´on caracter´ıstica del sistema y es de gran trascendencia por que sus ra´ıces determinan la estabilidad del mismo como sigue. El sistema (7.17) es estable si todas las ra´ıces caracter´ısticas de 7.27 se localizan en el semiplano izquierdo del plano–s. Si existe al menos una ra´ız en el semiplano derecho del plano–s, entonces el sistema es inestable. Si todas las ra´ıces se localizan en el semiplano izquierdo del plano–s, excepto al menos una que se ubique en el eje imaginario (el eje vertical del plano–s), entonces el sistema es oscilante, que para fines pr´acticos tambi´en es inestable. Es importante anotar que el sistema a controlar puede ser inestable, como es el caso del sistema posici´on angular de un motr CC. Sin embargo, el sistema de control, como el mostrado en la Fig. 7.3 (notar que Gp (s) forma parte de este sistem), debe de tener comportamiento estable. A continuaci´on se deduce la ecuaci´on caracter´ıstica del sistema de control. De la Fig. 7.3 se obtiene: y(s) = [I + Go (s)]−1 Go (s)r(s)

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

(7.28)

La inversa de la matriz [I + Go (s)] se puede expresar como: [I + Go (s)]−1 =

Adj [I + Go (s)] det[I + Go (s)]

Por consiguiente, la ecuaci´on caracter´ıstica del sistema se expresa como: det[I + Go (s)] = 0

(7.29)

Entonces, el sistema MIMO de la Fig. 7.3 es estable si todas las ra´ıces caracter´ısticas de (7.29) se localizan en el semiplano izquierdo del plano–s. Si existe al menos una ra´ız en el semiplano derecho del plano–s, entonces el sistema es inestable. Si todas las ra´ıces se localizan en el semiplano izquierdo del plano–s, excepto al menos una que se ubique en el eje imaginario (el eje vertical del plano–s), entonces el sistema es oscilante, que para fines de operaci´on del sistema controlado, tambi´en es inestable. Ejemplo 7.2 Control PID MIMO del Sistema Tanque Cerrado Dise˜ nar un controlador PID MIMO basado en la t´ecnica de desacoplamiento para controlar el nivel y la temperatura del sistema tanque cerrado descrito en la subsecci´on 2.8.4. Las especificaciones de dise˜ no son: 0 % de sobrenivel y error en estado estable nulo tanto para el nivel como para la temperatura. Tiempos de estabilizaci´on menores de 400 s para el nivel y 1000 s para la temperatura. Soluci´ on: En la subsecci´on 2.8.4 se determin´o el modelo din´amico lineal en el espacio de estado del sistema MIMO tanque, que como sabemos, posee dos entradas y dos salidas. De acuerdo a (7.26), la matriz de transferencia del sistema se determina de:   Gp11 (s) Gp12 (s) −1 Gp (s) = C(sI − A) B + D = Gp21 (s) Gp22 (s)

7.2 Control MIMO v´ıa Desacoplamiento

155

La forma de la MT (matriz de transferencia) del sistema Gp (s) se obtiene ejecutando el programa mimopidsimb.m:

Gp (s) =



Gp11 (s) Gp11 (s) Gp21 (s) Gp21 (s)





 =

Kp11 Tp11 s+1

Kp11 Tp11 s+1

Kp21 (Tpa s+1) (Tpb s+1)(Tpc s+1)

Kp21 (Tpa s+1) (Tpb s+1)(Tpc s+1)

  

(7.30)

Para dise˜ nar la matriz de control Gc (s), podemos asumir una matriz G(s) de la forma:   1 0 Tniv s+1  G(s) =  (7.31) 1 0 Ttemp s+1

la cual cumple los requerimientos del caso:

1. La matriz es diagonal, por lo tanto satisface el requerimiento de no interacci´on. 2. Dado que G(0) = I, de acuerdo a (7.25), se satisface el requerimiento de exactitud est´atica. 3. Debido a que los elementos de la diagonal de G(s) son funciones de transferencia de primer orden, cuyas ra´ıces caracter´ısticas se ubican en la parte izquierda del plano s, entonces podemos asegurar que se cumple el requerimiento de estabilidad. Adem´as, cada canal responde exponencialmente con una constante de tiempo igual a Tniv para el primer canal (control de nivel) y Ttemp (control de temperatura) para el segundo canal. Teniendo en cuenta que Go (s) = Gs Gc (s), la matriz de control Gc (s) se obtiene de la ecuaci´on (7.23): Gc (s) = Gp (s)−1 G(s)[I − G(s)]−1

(7.32)

La forma de la MT (matriz de transferencia) del controlador Gc (s) resulta de la ejecuci´on del programa mimopidsimb.m:       1 1 Kc11 1 + Tc11 1 + −K c12 s Tc12 s    GC (s) =  (7.33)       1 1 −Kc21 1 + Tc21 s Kc12 1 + Tc12 s La Fig. 7.4 muestra en detalle la interconexi´on de todos los bloques del sistema de control MIMO del sistema tanque cerrado. Observar que el controlador MIMO se sintetiza con cuatro controladores PI. Simulaci´ on del Sistema de Control en el Dominio de s El programa mimopidsimb.m, cuyo listado se muestra abajo, tambi´en simula el sistema de control del tanque cerrado. En el resultado de la simulaci´on (Fig. 7.5) se observa que el nivel (gr´afico superior izquierda) y la temperatura (gr´afico superior derecha) controlados, cumplen las especificaciones de dise˜ no establecidas en el enunciado del ejemplo.

156

S´ıntesis de Controladores SISO y MIMO

e1 r1

K c11 1+

T p11 s+1

1

K p11

K c21 1+

K c12 1+

e2

K p11

T c11 s

K c12 1+

r2

u1

1

T c12 s

T

p11

y1

s+1

1

K p21 (T pas+1)

T c21 s

(T pbs+1)(T pcs+1)

1

K p21 (T pas+1)

T c12 s

u2

y2

(T pbs+1)(T pcs+1)

Fig. 7.4: Diagrama de bloques del sistema de control PID MIMO dise˜ nado.

Step Response From: In(1)

1

To: Out(1)

0.8

From: In(2)

NIVEL

0.6 0.4

Amplitude

0.2 0 1

To: Out(2)

0.8 0.6

TEMPERATURA

0.4 0.2 0

0

200

400

600

800

1000 1200 0 Time (sec)

200

400

600

800

1000 1200

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

% mimopidsimb.m CONTROL PI MULTIVARIABLE DEL TANQUE clear all; close all; clc; % PAR´ AMETROS DEL TANQUE C=0.6; D=0.0159; d=0.0065; beta=d/D; E=(1-beta^4)^(-1/2); rhoD=996; g=9.81; a=C*E*pi*d^2*rhoD*sqrt(2*g)/4; A=0.0314; rhoH=988; Cp=4186.8; rhoC=998; thetaH=50+270.15; thetaC=20+270.15; % VALORES ESTACIONARIOS barh=0.4; bartheta=35+270.15; barqC=2.16e-4; barqH=0.5e-4; barqD=2.16e-4; Rh=barh/barqD; % MODELO LINEAL, DONDE: df1/dx1=df1dx1, df1/du2=df1u2, etc. df1dx1=-a/(2*A*sqrt(barh)); df1dx2=0;

7.2 Control MIMO v´ıa Desacoplamiento

% % % % % % % % %

157

df2dx1=a*bartheta*barh^(-1.5)/(2*A) ... - (rhoC*thetaC*barqC+rhoH*thetaH*barqH)/(rhoD*A*barh^2); df2dx2=-a/(A*sqrt(barh)); df1du1=1/A; df1du2=1/A; df2du1=rhoC*thetaC/(rhoD*A*barh); df2du2=rhoH*thetaH/(rhoD*A*barh); AA=[df1dx1 df1dx2;df2dx1 df2dx2]; BB=[df1du1 df1du2;df2du1 df2du2]; CC=[1 0;0 1]; DD = [0 0;0 0]; I = CC; Tniv=60; Ttemp=100; s=tf(’s’); Gp = CC*inv(s*eye(2) -AA)*BB+DD; G=[1/(Tniv*s+1) 0;0 1/(Ttemp*s+1)]; Gc = inv(Gp)*G*inv(I-G); Go=Gp*Gc; step(feedback(Go,I)) print -deps -f mimopid01 syms s a11 a21 a22 b11 b21 b22 Tniv Ttemp; AA=[a11 0;a21 a22]; BB=[b11 b11;b21 b22]; Gp = CC*inv(s*eye(2) -AA)*BB+DD; G=[1/(Tniv*s+1) 0;0 1/(Ttemp*s+1)]; Gc = inv(Gp)*G*inv(I-G); pretty(simple(Gp)), pretty(simple(Gc)) Gc = [-a21 b11 - b22 s + b22 a11 s - a22 ] [---------------------------------------------] [ (-b22 + b21) b11 s Tniv (-b22 + b21) s Ttemp] [ ] [a21 b11 + b21 s - b21 a11 -s + a22 ] [--------------------------------------------] [ (-b22 + b21) b11 s Tniv (-b22 + b21) s Ttemp] Gc11= Kc11*(1+1/(Ti11*s)); Gc12= -Kc12*(1+1/(Ti21*s)); Gc21= -Kc21*(1+1/(Ti21*s)); Gc22= Kc12*(1+1/(Ti22*s));

Simulaci´ on del Sistema de Control en el Dominio de t De la Fig. 7.4 podemos formular las ecuaciones que gobiernan el controlador MIMO PID: 1 1 ) e1 − Kc12 (1 + ) e2 u1 = Kc11 (1 + Tc11 s Tc12 s 1 1 ) e1 + Kc12 (1 + ) e2 (7.34) u2 = −Kc21 (1 + Tc21 s Tc12 s donde: e1 = r 1 − y 1

e2 = r 2 − y 2

Empleando aproximaci´on rectangular para los t´erminos integrales 1s , la discretizaci´on de (7.34) resulta: k k Kc11 X Kc12 X u1 (k) = Kc11 e1 (k) + T e1 (i) − Kc12 e2 (k) − T e2 (i) Tc11 Tc12

u2 (k) = Kc21 e1 (k) +

Kc21 Tc21

i=0 k X i=0

T e1 (i) − Kc12 e2 (k) −

Kc12 Tc12

i=0 k X

T e2 (i)

i=0

donde k = t/T es el tiempo discreto y T es el tiempo de muestreo o discretizaci´on. Para el tiempo (k − 1) las expresiones de u1 (k) y u2 (k) toman la forma: u1 (k − 1) = Kc11 e1 (k − 1) + u2 (k − 1) = Kc21 e1 (k − 1) +

k−1 k−1 Kc12 X Kc11 X T e1 (i) − Kc12 e2 (k − 1) − T e2 (i) Tc11 Tc12

Kc21 Tc21

i=0

i=0

k−1 X

k−1 X

i=0

T e1 (i) − Kc12 e2 (k − 1) −

Kc12 Tc12

i=0

T e2 (i)

158

S´ıntesis de Controladores SISO y MIMO

Teniendo en cuenta que: k X

e1 (i) =

i=0

k−1 X

k X

e1 (i) + e1 (k)

i=0

e2 (i) =

i=0

k−1 X

e2 (i) + e2 (k)

i=0

entonces: Kc11 T e1 (k) Tc11 Kc12 T e2 (k) −Kc12 [e2 (k) − e2 (k − 1)] − Tc12 Kc21 u2 (k) − u2 (k − 1) = Kc21 [e1 (k) − e1 (k − 1)] + T e1 (k) Tc21 Kc12 T e2 (k) −Kc12 [e2 (k) − e2 (k − 1)] − Tc12 u1 (k) − u1 (k − 1) = Kc11 [e1 (k) − e1 (k − 1)] +

(7.35)

Para programaci´on en tiempo real prescindimos del argumento k. Por consiguiente, las ecuaciones anteriores toman la forma: Kc11 T e1 − Kc12 (e2 − e2p ) − Tc11 Kc21 T e1 − Kc12 (e2 − e2p ) − = u2 + Kc21 (e1 − e1p ) + Tc21

u1 = u1 + Kc11 (e1 − e1p ) + u2

Kc12 T e2 Tc12 Kc12 T e2 Tc12

(7.36)

donde e1p y e2p son los errores pasados de e1 y e2 respectivamente. La ecuaci´on de estado del sistema se discretiza como: x˙ ∼ =

x(k) − x(k − 1) = A x(k) + B u(k) T

x(k) = x(k − 1) + T (A x(k) + B u(k)) donde: x=



x(1) x(2)



=



y1 y2



=



h θ



u=



u1 u2



=



qC qD



Para programaci´on en tiempo real, la ecuaci´on de estado discreta del sistema toma la forma: x = x + T (A x + B u) (7.37) La simulaci´on del sistema se logra ejecutando el programa pidmimotanque.m, el cual toma en cuenta las ecuaciones discretas (7.36) y (7.37). El resultado de la simulaci´on se muestra en la Fig. 7.6. Observar que el controlador PID MIMO estabiliza simult´aneamente el nivel y la temperatura cumpliendo las especificaciones de dise˜ no del caso. % pidmimotanque.m CONTROL PID MIMO DEL SISTEMA TANQUE CERRADO CON AGUA clear all; close all; clc; % PAR´ AMETROS C=0.6; D=0.0159; d=0.0065; beta=d/D; E=(1-beta^4)^(-1/2); rhoD=996; g=9.81; a=C*E*pi*d^2*rhoD*sqrt(2*g)/4; A=0.0314; rhoH=988; Cp=4186.8; rhoC=998; thetaH=50+270.15; thetaC=20+270.15; % VALORES ESTACIONARIOS barh=0.4; bartheta=35+270.15; barqC=2.16e-4; barqH=0.5e-4;

7.2 Control MIMO v´ıa Desacoplamiento

159

NIVEL [m]

1 0.5

0

500

1000

1500

2000 TIEMPO

[s]

0

500

1000

1500

2000 TIEMPO

[s]

0

500

1000

1500

2000 TIEMPO

[s]

0

500

1000

1500

2000 TIEMPO

[s]

2500

3000

3500

4000

2500

3000

3500

4000

2500

3000

3500

4000

2500

3000

3500

4000

0.01 0.005

TEMPERATURA [ºC]

0 60 40 20

3

AGUA CALIENTE [m /s]

3

AGUA FRÍA [m /s]

0

0 −0.005 −0.01

Fig. 7.6: Resultado de la simulaci´on del sistema de control PID MIMO del tanque: nivel y temperatura controladas.

barqD=2.16e-4; Rh=barh/barqD; % MODELO LINEAL, DONDE: df1/dx1=a11, df1/dx2=a12, etc. a11=-a/(2*A*sqrt(barh)); a12=0; a21=a*bartheta*barh^(-1.5)/(2*A) - ... (rhoC*thetaC*barqC+rhoH*thetaH*barqH)/(rhoD*A*barh^2); a22=-a/(A*sqrt(barh)); b11=1/A; b12=1/A; b21=rhoC*thetaC/(rhoD*A*barh); b22=rhoH*thetaH/(rhoD*A*barh); AA=[a11 0;a21 a22]; BB=[b11 b11;b21 b22]; CC=[1 0;0 1]; DD = [0 0;0 0]; Tniv=60; Ttemp=100; % PAR´ AMETROS DEL CONTROLADOR: SE SETERMINAN DE Gc EN mimopidsimb.m Kc11=b22/((b22-b21)*b11*Tniv); Ti11=b22/(a21*b11-b22*a11); Kc12=1/((b22-b21)*Ttemp); Ti12=-1/a22; Kc22=Kc12; Ti22=Ti12; Kc21=b21/((b22-b21)*b11*Tniv); Ti21=b21/(a21*b11-b21*a11); % CONDICIONES INICIALES e1p=0; e2p=0; u1=0; u2=0; x = [0.4;20+270.15]; % NIVEL + TEMPERATURA T = 0.2; M = 20000; % PERIODO DE MUESTREO Y N´ UMERO DE MUESTRAS M for k = 1:M % INICIO DEL LAZO DE CONTROL if(k >= 0 && k = M/4 && 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

217

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.

218

Sistemas Continuos

Ejemplo A.12 El programa fracp1.m descompone en fracciones parciales las expresiones: B(s) s2 − 16 = 2 A(s) s −1

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

% fracp1.m DESCOMPOSICION EN FRACCIONES PARCIALES clear all; close all; clc; B = [1 0 -16]; A = [1 0 -1]; % PRIMER CASO [r,p,k] = residue(B,A); % r = [7.5;-7.5]; p = [-1;1]; k = 1 M = [1 6]; N = [1 -4 4]; % SEGUNDO CASO [rr,pp,kk] = residue(M,N); % rr = [1;8]; pp = [2;2]; kk = 0;

Por consiguiente: B(s) 7.5 −7.5 = + +1 A(s) s+1 s−1

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

Ejemplo A.13 Hallar la transformada inversa de Laplace de: G(s) =

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

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

k=1

Dado que todas las 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 +

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

Empleando los pares (1), (29), (3) y (12) de la Tabla A.1, con n = 1, se obtiene:   ωn2 −δt ωn2 −1 −1 L [1] = δ(t) L = e sen ωd t s2 + 2ζωn s + ωn2 ωd     1 1 = e−t L−1 = te−t L−1 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.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

219

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

220

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

221

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

222

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

223

Soluci´ on:



 1 0 2 6  A∗ = A A H = AT =  2 4 3 −2 −9     1+j 3 3−j 1−j j 2−j 4 −2 − j  4 6+j  B∗ =  −j BT =  3 2+j 6−j −9 3 + j −2 + 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 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

κ+1

= A A = I, entonces: A

−1

(A.10) (A.11)

=A A

(A.12)

= A;

(A.13)

A = 0; A

=A

H

κ

−1

H

−1

κ es un entero positivo

κ es un entero positivo

A=I

det(A) = 0

(A.14) (A.15) (A.16)

224

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

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.18) + (−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

225

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

       

(A.20)

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

226

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.43)  = CH AH CH · · · (AH )n−1 CH ..   . CAn−1

posea rango n (rango completo). En (A.43), 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.

244

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

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

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

A2 (t − t0 )2 A3 (t − t0 )3 + +· · · ν! 2! 3! ν=0 (A.46) 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.47)

Derivando ahora (A.45) 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

245

De esta forma se demuestra que (A.45) es la soluci´on de la ecuaci´on de estado (A.44). 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.48) (A.49)

Comparando (A.48) con (A.45) podemos afirmar que: Φ(t − t0 ) = eA(t−t0 ) = L−1 [(sI − A)−1 ]

(A.50)

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

246

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

247

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

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

x(s) =

s + 7 −1 12 s

−1 

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

y(t) =



+



−6s +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

248

Sistemas Continuos

20 T1 = 0.1 s 10

RESPUESTAS

0 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.50) para determinar su matriz de transici´on con t 0 = 0. (f) Determinar y(t) para x(t0 ) = 0 usando (A.49). (g) Graficar las respuestas y1 (t) e y2 (t) a entradas tipo escal´on unitario.

A.3 Variables de Estado

249

80 70

y3 = y1 + y2

60

RESPUESTAS

50 y2 = 2y1

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

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

1 (u1 − y1 ) s+1



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

Reemplazando y1 de (A.51) en la u ´ltima 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.52)

250

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

Las ecuaciones en (A.52) y (A.53) forman la ecuaci´on de estado x˙ = Ax + Bu mientras que las ecuaciones en (A.51) 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

251

´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.54) 1 n 0 1 dtn dtn−1 dtn dtn−1 La FT correspondiente al sistema (A.54) 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.55)

En (A.38) 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.

252

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

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

A.3 Variables de Estado

253

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

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

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

Forma Can´ onica Diagonal (eigenvalores no repetidos) Formulando (A.55) 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.61)

254

Sistemas Continuos

Forma Can´ onica de Jordan (eigenvalores repetidos) Describiremos la forma can´onica de Jordan con un ejemplo. Supongamos que (A.55) 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.62) 8

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

Ejemplo A.44 En el programa C2forca1.m se determinan varias formas 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

255

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. % C2forca2.m FORMA CANONICA DE JORDAN DE dx/dt + A*x + B*u; y = C*x + D*u clear all; close all; clc; A = [0 1 0 3;0 -1 1 1;0 0 0 1;0 0 -1 -2]; B = [1;0;-4;0]; C = [1 0 0 0]; D = [-2]; [num,den] = ss2tf(A,B,C,D); eigA = eig(A); % EIGENVALORES DE A: eigA = [-1, -1, -1, 0] [c,p,k] = residue(num,den); % EXPANSION EN FRACCIONES % c = [-8 -8 0 9]’; p = [-1 -1 -1 0]; k = -2; c1=c(1); c2=c(2); c3=c(3); c4=c(4); p1=p(1); p2=p(2); p3=p(3); p4=p(4);

256

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

A.4 Discretizaci´ on Directa

257

donde k = t/T es el tiempo discreto. En la expresi´on (A.64), 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.65)

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.66) = 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.67) = 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.68), 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.68) TI 0 dt

258

Sistemas Continuos

Soluci´ on: Empleando las relaciones (A.64) y (A.66) en (A.68) se obtiene: u(k) = Kc

u(k − 1) = Kc

(

(

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

)

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

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.69), donde:     T T TD TD TD + ; q1 = −Kc 1 + 2 − ; q2 = K c q0 = K c 1 + T 2TI T 2TI T

A.5.

Sistemas con Tiempo Muerto

En algunos sistemas industriales, el tiempo muerto se debe de tomar en cuenta cuando por ejemplo existe un retardo considerable hasta que la se˜ nal de control llegue al actuador. En otro caso, dicho retardo aparece cuando el punto de 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.70)

A.5 Sistemas con Tiempo Muerto

259

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

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 1 num(s) (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) [12], 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.70) 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 SISTEMAS CON TIEMPO MUERTO D Y CON APROXIMACI ´ ON DE PAD´ E clear all; close all; clc; s = tf(’s’); % HABILITA FT D = 5.8; numD=-D^3*s^3/120+D^2*s^2/10-D*s/2+1; denD=D^3*s^3/120+D^2*s^2/10+D*s/2+1; % exp(-s*D) = numD/denD Gp=10/(2*s+1); G1=Gp*exp(-s*D); G2=Gp*(numD/denD); step(G1,G2,’--’) print -deps -f ejpades; sis=ss(G2); % sis: MODELO EN EL ESPACIO DE ESTADO

260

Sistemas Continuos

Step Response 10

8

Amplitude

6

4

2

exp(−sD) 0

Padé de 3er orden −2

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: df (X − X) (X − X)2 d2 f Y = f (X) = f (X) + + + · · · (A.72) dX (X=X) 1! dX 2 (X=X) 2!

Si la 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.73) ∂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

261

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

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

t=T −T

c A = CA − C A

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

(A.74)

Las variables t y cA se denominan variables residuales o de 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.75)           X˙ 1 f1 (X, U) Y1 g1 (X, U) U1  ..     ..      .. .. U =  ...   . =   . =  . . fn (X, U) Yp gp (X, U) Um X˙ n

donde f (X, U) es la 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.76) ∂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.77) ∂X (X,U) ∂U (X,U) Por consiguiente, las formas linealizadas de (A.76) y (A.77) se puede expresar como: x˙ = Ax + Bu

y = Cx + Du

(A.78)

donde A es la matriz de estado de orden n × n, B es la matriz de 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

262

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

263

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.75)): ˙ = 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.80)

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

D = [0]

donde: x=



B=



x1 x2 ∂f1 ∂U ∂f2 ∂U



;



A=

(X 1 ,X 2 ,U )

" =

∂f1 ∂X1 ∂f2 ∂X1



1/S 0

∂f1 ∂X2 ∂f2 ∂X2



;

#

(X 1 ,X 2 ,U )

C=





=

∂h ∂X1



√ γ ρ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.

264

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:   1 −1 1 A =  −2 2 −1  −2 1 0

Problema A.2



 1 2 3 B= 2 4 8  1 2 3

Demostrar que AB = AC, lo cual no necesariamente implica que B = C, , cuando:       2 1 −1 −2 1 4 1 0 1 −3 2 C =  3 −2 −1 −1  B= 2 1 1 1  A =  2 1 −3  2 −5 −1 0 1 −2 1 2 4 −3 −1

Problema A.3

En general: (A ± B)2 6= A2 ± 2AB + B2 y A2 − B2 6= (A + B)(A − B). Demostrar que (A ± B)2 = A2 + B2 cuando:     2 −3 −5 −1 3 5 5  A =  −1 4 B =  1 −3 −5  1 −3 −4 −1 3 5 Problema A.4

Una matriz M es idempotente cuando M2 = M. Demostrar que A2 = A y B2 = B.     2 −3 −5 −1 3 5 5  A =  −1 4 B =  1 −3 −5  1 −3 −4 −1 3 5

Problema A.5

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

A.7 Problemas

265

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.         2 4 0 6  1   2   0   3                 x1 =   3  ; x2 =  1  ; x3 =  5  ; x4 =  −1   2   −2   6   −6  −1 3 −5 7

266

Sistemas Continuos

Problema A.12 Si la matriz A es antisim´etrica e I + A es no singular, entonces B = (I − A)(I + A) −1 es ortogonal. Obtenga la matriz ortogonal B de:   0 1 2 A =  −1 0 3  −2 −3 0 Problema A.13

Demostrar que los siguientes vectores son linealmente independientes y mutuamente ortogonales: x1 = [1 + i i 1]T ;

x2 = [i 1 − i 0]T ;

x3 = [1 − i 1 3i]T

Problema A.14 Si la matriz A es antihermitiana e I+A es no singular, entonces B = (I−A)(I+A) −1 es unitaria. Obtenga la matriz unitaria B de:   0 i 1+i i 0 i  A= −1 + i i 0 Problema A.15 Demostrar que el producto xH Ax es definida positiva y que el producto xH Bx es semidefinida positiva, donde:     1 1+i −1 1 1 + i 1 + 2i 6 −3 + i  3 5  A= 1−i B= 1−i −1 −3 − i 11 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

267

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 ;

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

(c)

y1 = 3x1 − x2 + u1 ;

y2 = −x1 − 5x3 − 5u2

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

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

(d)

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

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 Hallar la transformada inversa de: G(s) = (s3 + s2 + 2s + 1)/(s3 + 3s2 + 2s + 3).

268

Sistemas Continuos

Problema A.21 Graficar para varios valores del cero c, la respuesta al escal´on del sistema: K(s + c) y(s) = 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 siguiente diagrama de bloques 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. Problema A.27

A.7 Problemas

269 r

e

a

K

(s − 1)

2

1 s

2

s +1

y

Fig. A.18: Sistema de control de la profundidad de un submarino (problema A.26). h At i = A, hallar la matriz de estado A de un sistema cuya matriz Sabiendo que: dedt t=0 de 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 inicial es 20 o C y su valor final es 15 o C, qR es el flujo de calor en J/s producido en R, qp es el flujo de calor en J/s que va al exterior y Ti es la temperatura en o C en el interior. Elaborar un programa en Simulink para graficar las se˜ nales i(t), T a (t) y Ti (t). Considerar que la temperatura Ti (0) inicial en el integrador es 22 o C. Problema A.29 En la Fig. A.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

270

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

10e−3t 4s+1

Kc + Ki/s

Y

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

271

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

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

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´a gobernada por las ecuaciones: P˙1 = 2P1 + 3P2 + 6P3 + c1 u P˙2 = −3P1 + 3P2 + 8P3 + c2 u P˙3 = P1 − 3P2 + 2P3 + c3 u 0 ≤ c1

0 ≤ c2

0 ≤ c3

c < −1 + c2 + c3

Elaborar un programa en MATLAB para graficar las respuestas P 1 (t), P2 (t) y P3 (t). Problema A.35 Dada la siguiente 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 su estabilidad. x˙ 1 = −2x21 + 3x1 x2 − u31 + u2

272

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 entrada rampa unitaria. (f) Graficar y1 (t) e y2 (t). Se sugiere hacer un programa. u1

1 s+1

u2

2 s+2

x1

x2

4

6

y1

y2

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

Problema A.38 Para los sistemas de control mostrados en la Fig. A.24, elabore los respectivos programas en Simulink. Por tanteo, determine los valores de P, I y D que debe de poseer el bloque PID para que la salida y(t) siga a la se˜ nal escal´on deseada r(t) en presencia de la carga (o disturbio) n(t). Tambi´en debe de verificar que cuando r(t) es nulo, la salida y(t) debe de tender a cero. La magnitud de r(t) es 10 veces la magnitud de n(t). (a) G(s) = (b)

G(s) =

(c) G(s) = (d) G(s) =

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

A.7 Problemas

273

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

276

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

277

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.

278

Fundamentos de MATLAB y Simulink

pwd Muestra el directorio de trabajo actual. size Muestra el tama˜ no de una matriz. length N´ umero de elementos de un vector. disp Muestra los valores de una matriz o texto. exist Chequea si 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

279

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

Funciones Matem´ aticas Comunes % funcionesmat.m FUNCIONES MATEM´ ATICAS COMUNES clear all; close all; clc; % APROXIMACIONES x1=5.92; r1=ceil(x1); % r1=6 (ceil REDONDEA HACIA INFINITO)

280

% %

%

%

Fundamentos de MATLAB y Simulink

r2=fix (x1); % r2=5 (fix REDONDEA HACIA CERO) r3=floor (x1); % r3=5 (floor REDONDEA HACIA MENOS INFINITO) r4=round([19.54646 13.656 -2.1565 0.78]); r4=[20 14 -2 1] (round REDONDEA HACIA EL ENTERO M´ AS PR´ OXIMO) ´ TRIGONOMETRIA r5=sin(pi/2); % r5=1 (´ ANGULO EN RADIANES) r6=sind(-90); % r6=-1 (´ ANGULO EN GRADOS) r7=cosd(60); % r7=0.5 (´ ANGULO EN GRADOS) r8=asind(1); % r8=90 (´ ANGULO EN GRADOS) ALGUNAS OPERACIONES r9=abs (-7); % VALOR ABSOLUTO, r9=7 r10=sign(10); % SIGNO, r10=10/abs(10)=10/10=1 r11=gcd (9,12); % M´ AXIMO COM´ UN DIVISOR ENTRE 9 Y 12, r11=3 r12=lcm (10,25); % M´ INIMO COM´ UN M ´ ULTIPLO ENTRE 10 Y 25, r12=50 ´ r13=mod (-12,5); % MODULO, SI y~=0, n=floor(x./y)=-3, r13=x-n.*y=3 r14=rem (12,5); % RESTO DE LA DIVISI´ ON ENTRE 12 Y 5, r14=2 r15=nthroot (8,3); % RA´ IZ C´ UBICA DE 8, r15=2 CON N´ UMEROS COMPLEJOS x=3+4i; r16=sign(x); % r16=x/abs(x)=(3+4i)/5=0.6+0.8i

Vectores y Matrices % vectoresymatrices.m VECTORES Y MATRICES. ELEM = ELEMENTOS clear all; close all; clc; % C´ OMO DEFINIRLOS x = [5 7 -2 4 -6]; % VECTOR FILA, ELEM SEPARADOS POR ESPACIOS y = [2,1,3,7]; % VECTOR FILA, ELEM SEPARADOS POR COMAS z = [0 1 2,3 4,5]; % IDEM, ELEM SEPARADOS POR COMAS Y ESPACIOS w = [2;1;3;7]; % VECTOR COLUMNA A = [1 2 3 % A(1)=1, A(3)=2, A(5)=3 4 5 6]; % A(2)=4, A(4)=3, A(6)=6 B = [1 2 3;4 5 6]; % MATRIZ DE 2 FILAS Y 3 COLUMNAS AL IGUAL QUE A % DIRECCIONAMIENTO r1=x(2); % r1=7 r2=x(end); % r2=-6 r3=x(2:4); % r3=[7 -2 4] r4=x(1:3:5); % r4=[5, -2 y -6] r5=x([3 5 1]); % r5=^[-2, -6, 1] r6=A(2,1); % r6=4 r7=A(2,:); % r7=[4 5 6] r8=A(2,2:3); % r8=[5 6] (2da FILA, COLUMNAS DE 2 A LA 3) r9=A(2,[3 1]); % r9=[6 4} r10=A([2 1],2:3); % r10=[5 6] (FILAS 2 y 1, COLUMNAS DE 2 A LA 3) % [2 3] r11=A(end,[1 3]); % r11=[4 6] % CONSTRUCCI´ ON ABREVIADA DE ALGUNOS VECTORES

B.1 Fundamentos de MATLAB

% %

% %

% % % %

%

% % % % % % %

281

r12=(1:7); % r12=[1 2 3 4 5 6 7] r13=[1:7]; % r13=[1 2 3 4 5 6 7] r14=(1:3:10); % r14=[1 4 7 10] (ENTRE 1 Y 10 CON INCREMENTO 3) r15=(1:4:10); % r15=[1 5 9] (ENTRE 1 Y 10 CON INCREMENTO 4) r16=(50:-7:1); % r16=[50 43 36 29 22 15 8 1] r17=linspace(2,6,3); % r17=[2 4 6] (LINEAL ENTRE 2 Y 6, 3 ELEM.) r18=linspace(2,6,4); % r17=[2.0000 3.3333 4.6667 6.0000] r19=linspace(2,6); % VECTOR LINEAL ENTRE 2 Y 6 CON 100 ELEM. r20=logspace(0,2,4); % r20=[1.0000 4.6416 21.5443 100], VECTOR LOGAR´ ITMICAMENTE ESPACIADO 10^0 Y 10^2 CON 4 ELEM. EQUIDISTANTES r21=logspace (0,2); % VECTOR LOG. ENTRE 10^0 Y 10^2 CON 50 ELEM. CONSTRUCCI´ ON DE ALGUNAS MATRICES r22=zeros(3); % MATRIZ CUADRADA DE 3x3 LLENA DE CEROS r23=zeros(2,5); % MATRIZ 2 x 5 DE CEROS r24=ones(2,3); % MATRIZ 2 x 3 DE CEROS UMEROS ALEATORIOS ENTRE 1 Y 0 r25=rand(2,4); % MATRIZ 2 x 4 DE N´ ON UNIFORME CON DISTRIBUCI´ r26=randn (2,5); % MATRIZ 2 x 5 DE N´ UMEROS ALEATORIOS, DISTRIBUCI´ ON NORMAL, MEDIA 0 Y DESVIACI´ ON 1: NORMAL(0,1) r27=eye(2); % MATRIZ IDENTIDAD 2 X 2 r28=eye(4,2); % MATRIZ 4 X 2 DE 1s EN LA DIAGONAL, 0s EN EL RESTO r29=magic(3); % MATRIZ M´ AGICA 3 x 3, CONTIENE N´ UMEROS 1 AL 3^2, DONDE: SUMA ELEM FILAS = SUMA ELEM COLUMNAS = SUMA ELEM DIAGONAL: 8 1 6 3 5 7 4 9 2 r30=hilb(3); % MATRIZ DE HILBERT 3 x 3 r40=invhilb(3); % INVERSA DE LA MATRIZ DE HILBERT 3 x 3 OPERACIONES B´ ASICAS CON MATRICES P=[1 2;3 4]; Q=[1 1;0 1]; R=[1+i 2+2i;3+i 4+7i]; r41=P*Q; % r41=[1 3;3 7] r42=P.*Q; % r42=[1 2;0 4] (MULTIPLICACI´ ON ELEMENTO A ELEMENTO) r43=R’; % CONJUGADA Y TRANSPUESTA DE R Y VICIVERSA r44=R.’; % TRANSPUESTA DE R r45=P+2; % SUMA 2 A CADA ELEMENTO DE A FUNCIONES PARA OPERAR CON VECTORES SEAN LOS VECTORES: x = [x1 x2 x3]; y = [y1 y2 y3]; PRODUCTO VECTORIAL: cross(x,y)=[(x2*y3-y2*x3) -(x1*y3-y1*x3) (x1*y2-y1*x2)] x1 = [1 2 3]; y1 = [4 5 6]; xcy=cross(x1,y1); % xcy=[-3 6 -3] PRODUCTO ESCALAR: dot(x,y)=x1*y4+x2*y5+x3*y6 xdy=dot(x1,y1); % xdy=32 FUNCIONES PARA EL AN´ ALISIS DE MATRICES v = [1 2 3]; >> diag (v) % CREA MATRIZ DIAGONAL CON ELEMENTOS 1, 2 Y 3 M = [1 2 3 4; 7 8 9 2; 2 4 6 8]; r46=diag(M); % r46=[1;8;6]: VECTOR CON ELEMENTOS DE LA DIAGONAL

282

% % % %

%

% % % % % % % %

% % %

Fundamentos de MATLAB y Simulink

r47=size(M); % r47=[3 4]: DIMENSIONES DE M (3 FILAS Y 4 COLUMNAS) r48=length(M); % DEVUELVE 4 (LA DIMENSI´ ON MAYOR DE LA MATRIZ M) r49=rank(M); % r49=2 (2 ES EL RANGO DE M, VER help rank) r50=rref(M); % REDUCCI´ ON MEDIANTE GAUSS r50 = 1 0 -1 -4.6667 0 1 2 4.3333 0 0 0 0 % rank(M)=2 PORQUE EXISTEN DOS FILAS NULAS r51=tril(M); % CREA MATRIZ TRIANGULAR SUPERIOR r52=triu(M); % CREA MATRIZ TRIANGULAR INFERIOR OTRAS OPERACIONES CON MATRICES A1=[1 0 0 2 3 4 5 0 2 4 0 0]; INDICES [1;2;3,5;6;8;10] r52=find(A1); % DEVUELVE VECTOR COLUMNA DE ´ r54=reshape(A1,2,6); % r54: MATRIZ 2 X 6 A PARTIR DE COLUMNAS DE A1 r54= 1 2 4 0 0 0 3 0 4 5 2 0 r55=rot90(A1); % A1 GIRA 90o , r55 TOMA LA FORMA: 2 0 0 0 5 0 0 4 4 1 3 2 r56=rot90(A1,3); % A1 gira 270o ( 90o x 3 = 270o ) FORMEMOS LA MATRIA A2: A2=[A1 2 4 6 3]; r57=funm(A2,@sin); % CALCULA SENO DE CADA ELEMENTO DE A2 r58=expm(A2); % CALCULA MATRIZ EXPONENCIAL DE A2 ´ DIVISION C/D RESUELVE EL SISTEMA Cx=D Y ES EQUIVALENTE A inv(C)*D. ON C\D RESUELVE EL SISTEMA xD=C Y ES EQUIVALENTE A C*inv(D). DIVISI´ TEXTO a = ’casa’; b = ’gato’; AA = ’CASA’; % CADENAS DE CARACTERES r60=a + b; % r60=[202 194 231 208], SUMA ASCII ELEM POR ELEM r61=a + 0; % r61=[99 97 115 97], REPRESENTACI´ ON ASCII DE a r62=abs(a); % r62=[99 97 115 97], REPRESENTACI´ ON ASCII DE a ON ASCII DE a r63=double(a); % r63=[99 97 115 97], REPRESENTACI ´ r64=setstr([99 97 115 97]); % r64=casa USCULAS USCULAS MENOS MAY´ r65=abs(’a’)-abs(’A’); % r65=32, RESTA MIN´ r66=setstr (a-32); % r66=CASA (LA DIFERENCIA) d=5; disp(d); % DEVUELVE 5 EN LA VC disp(’escribe esto’); % DEVUELVE > EN LA VC

Polinomios % polinomios.m POLINOMIOS

B.1 Fundamentos de MATLAB

%

%

% % % %

283

clear all; close all; clc; NOTACI´ ON: 5x^4 - 9x^3 + 13x^2 + 9x - 14 ==> [1 -9 13 9 -14] x = [1 -9 13 9 -14]; rx=roots(x); % rx CONTIENE RA´ ICES DE x xx = poly(rx); % DEVUELVE xx GENERADO POR RA´ ICES DE rx (xx=x) p = [1 2 7]; q = [1 3 6]; c = conv(p,q); % c=(z^2+2z+7)(z^2+3z+6)=z^4+5z^3+19z^2+33z+42 =[1 5 19 33 42] d = deconv(c,q); % COCIENTE DE DIVIDIR c ENTRE q dp = polyder(p); % DERIVADA DE POLINOMIO p dpq = polyder(p,q); % DERIVADA DEL PRODUCTO p*q ep=polyval(p,[0 1 5]); % EVAL´ UA p=x^2+2x+7 PARA x=0, x=1 y x=5 em=polyval(p,[0 1 2;-1 -2 -3;4 0 7]); % EVAL´ UA p PARA CADA FILA em= 7 10 15 6 7 10 31 7 70

Operaciones Relacionales y L´ ogicas % operaclogicas.m OPERACIONES RELACIONALES Y L´ OGICAS clear all; close all; clc; % OPERADORES RELACIONALES:
= == ~= % OPERADORES L´ OGICOS: & (AND) | (OR) ~ (NOT) % ORDEN DE PRECEDENCIA: ~= == = < > a =1:9; b=5-a; % a=[1 2 3 4 5 6 7 8 9], b=[4 3 2 1 0 -1 -2 -3 -4] r1=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

284

Fundamentos de MATLAB y Simulink

clear all; close all; clc; function[suma,resta] = calculos(x,y) suma = x + y; resta = x - y; % usacalculos.m USA FUNCI´ ON CONTENIDA EN calculos.m clear all; close all; clc; x = [1 5; 3 -2; 3 7; 4 -1; 0 2]; y = [16 -1; 0 4; 1 5; -1 0; -1 3]; [a,b] = calculos(x,y); a, b % LA VENTANA DE COMANDO VC DEVUELVE a = x+y, b = x-y Programaci´ on % programacion.m PROGRAMACI´ ON EN MATLAB clear all; close all; clc; % SENTENCIA FOR for x = 1:5 disp(’x toma el valor’) % DEVUELVE x toma el valor PARA CADA x disp(x) % DEVUELVE EL VALOR DE x end % SENTENCIA WHILE a=3; while a < 5 disp(’a es menor que 5 porque su valor es:’) disp(a) a = a + 1; end % SENTENCIA IF b = 5; if b == 0 % SE USA == PORQUE ES UNA EXPRESI´ ON L ´ OGICA disp (’el valor de b es 0’) elseif b == 1 disp (’el valor de b es 1’) elseif b == 2 disp (’el valor de b es 2’) elseif b == 3 disp (’el valor de b es 3’) else disp (’b no es ni 0 ni 1 ni 2 ni 3’) end % GENERACI´ ON DE N´ UMEROS PRIMOS MENORES DE 100 disp(’Estos son los n´ umeros primos menores de 100’) disp(2) for i=2:100 n=2; while n > cumprod(X) % DEVUELVE MATRIZ DE PRODUCTOS ACUMULADOS % >> cumsum(X) % DEVUELVE MATRIA DE SUMAS ACUMULADAS % >> mean(X) % DEVUELVE LA MEDIA DE CADA COLUMNA % >> sort(X) % ORDENA LOS VALORES DE CADA COLUMNA % >> sum(X) % DEVUELVE SUMA DE LOS ELEMENTOS DE CADA COLUMNA % >> var(X) % DEVUELVE VARIANZA DE LOS ELEMENTOS DE C/COLUMNA AXIMO DE CADA COLUMNA % >> max (X) % DEVUELVE VALOR M´ INIMO DE CADA COLUMNA % >> min (X) % DEVUELVE VALOR M´ % >> iqr (X) % DEVUELVE RANGO intercuart´ ılico DE CADA COLUMNA % >> range(X) % DEVUELVE RANGO DE CADA COLUMNA: DIFERENCIA ENTRE % EL M´ AXIMO Y EL M´ INIMO Y = [5 7 9 2 9 3 1 7 5 1 3 9 2 7 5 1 5 5 1 8]; % >> tabulate(Y) % DEVUELVE: % Value Count Percent % 1 4 20.00% (EL N´ UMERO 1 APARECE 4 VECES) % 2 2 10.00% (EL N´ UMERO 2 APARECE 2 VECES) % 3 2 10.00% % 4 0 0.00% % 5 5 25.00% % 6 0 0.00% % 7 3 15.00% % 8 1 5.00% % 9 3 15.00%

286

B.1.5.

Fundamentos de MATLAB y Simulink

Gr´ aficos

% graficas2D.m GR´ AFICAS EN 2 DIMENSIONES clear all; close all; clc; figure(1) % CREA figure(1) x=[-2 -1 0 1 2 3]; y=[4 1 0 1 4 9]; z=[6 5 3 7 5 2]; w=[-2 -1 0 0.5 1.5 2.5]; plot(x,y,’*’,x,z,’-’), xlabel(’eje x’), ylabel(’eje y’), title(’x vs y’), grid, text(1,4,’HOLA>&$’), axis([-3 3 -1 10]), gtext(’AQU´ I COLOCO TEXTO’) figure(2) x1 = pi*(-1:0.01:1); y1=x1.*sind(x1); y2=cosd(x1); y3=sin(x1).*exp(x1); y4=exp(-x1); subplot(2,2,1), plot(X1,Y1), title (’x1*seno(x1)*’) subplot(2,2,2), plot(x1,y2), title (’cos(x1)’) subplot(2,2,3), plot(x1,y3), title (’sen(x1)*exp(x1)’) subplot(2,2,4), plot(x1,y4), title (’-exp(x1)’) figure(3) plot(x1,y1), title (’x1*seno(x1)*’), hold on plot (x1,y2), title (’cos(x1)’), plot (x1,y3), title (’sen(x1)*exp(x1)’), hold off figure(4) subplot(221), fplot(’sind(x)’,[0 180]), title(’sen(x) de 0 a 360 grados’) subplot(222), fplot(’x^2*sin(1/x)’,[-0.05 0.05]), title(’x^2 * sin(1/x)’) subplot(223), ezplot(’exp(x)’) % EASY PLOT DE exp(x) subplot(224), ezplot(’sin(t)’,’cos(t)’,[0 pi]) figure(5) subplot(2,1,1), ezplot(’x^2 - y^2 - 1’) x3=[-2 0 2 0 -2]; y3=[4 8 4 0 4]; subplot(2,1,2), plot(x3,y3), fill(x3,y3,’r’) % r=RED % graficas3D.m GR´ AFICAS EN 3 DIMENSIONES clear all; close all; clc; figure(6) x3=[-2 0 2 0 -2]; y3=[4 8 4 0 4]; z3=[3 5 10 5 3]; subplot(311), fill3(x3,y3,z3,’b’) % plot en 3D, b=blue subplot(312), ezsurf(’sin(x*y)’,[-2 2 -2 2]) subplot(313), x4=-720:720; y4=sind(x4); z4=cosd(x4); plot3(x4,y4,z4) figure(7) x = -10:0.5:10; y = -10:0.5:10; subplot(3,1,1), [X,Y]=meshgrid(x,y); % CREA MATRICES PARA LA MALLA Z=sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1); mesh (X,Y,Z) % DIBUJA LA GR´ AFICA subplot(3,1,2), [X,Y] = meshgrid (-10:0.5:10); Z=sin(sqrt(X .^2 + Y .^2))./sqrt(X .^ 2 + Y .^2 + 0.1); mesh(X,Y,Z)

B.1 Fundamentos de MATLAB

287

subplot(3,1,3), surf (X,Y,Z) figure(8) x = -10:0.5:10; y = -10:0.5:10; [X,Y] = meshgrid(x,y); % CREA MATRICES PARA HACER LA MALLA Z = sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1); subplot(2,2,1), contour (X,Y,Z) % DIBUJA L´ INEAS DEL CONTORNO subplot(2,2,2), pcolor(X,Y,Z) % TRANSFORMA ALTURA EN COLORES ON 70 subplot(2,2,3), surf(X,Y,Z), view(10,70) % AZIMUT 10, ELEVACI ´ subplot(2,2,4), surf(X,Y,Z), view(10,-12.2), colorbar % colorbar A~ NADE BARRA DE COLOR % >> surf (X,Y,Z), [az,el]=view % DEVUELVE AZIMUT=-37.5, ELEVAC=30 figure(11) x=-10:0.5:10; y = -10:0.5:10; [X,Y] = meshgrid(x,y); % CREA MATRICES PARA HACER LA MALLA Z=sin(sqrt(X .^2 + Y .^2))./ sqrt (X .^ 2 + Y .^ 2 + 0.1); subplot(2,1,1), [C,h]=contour(X,Y,Z); clabel(C,h) % A~ NADE ALTURAS A CONTORNOS subplot(2,1,2), M = [0 0 0; 1 0 0; 0 1 0; 0 0 1; 1 1 0]; % MATRIZ DE COLORES NEGRO, ROJO, VERDE, AZUL, AMARILLO colormap(M), surf (X,Y,Z) figure(12) t=0:0.001:0.009; v=900:1025; [T V]=meshgrid(t,v); aux1=16*pi^2*(T.^2).*((V-918).^2).*((V-1011).^2); aux2=aux1+(2*V-1929).^2; w=T./aux2; z=35000000*w; surfl(t,v,z); % SUPERFICIE SOMBREADA 3D CON RAYOS shading interp; % FIJA MODO shading (SOMBRA) CON INTERPOLACI ´ ON colormap(pink); % FIJA EN pink (ROSADO) EL COLOR DE LA FIGURA rotate3d; % GIRA LA FIGURA USANDO EL MAUSE print -f -depsc ultimo % GENERA ultimo.eps EN COLOR

B.1.6.

Matem´ atica Simb´ olica

% simbolica.m MATEM´ ATICA SIMB´ OLICA clear all; close all; clc % DERIVADAS E INTEGRALES syms x n a b t theta y u; f1=x^n; r1=diff(f1); % r1=x^n*n/x=n*x^(n - 1), DERIVADA EN x f2=sin(a*t + b); r2=diff(f2); % r2=a*cos(b + a*t), DERIVADA EN t f3=exp(i*th); r3=diff(f3); % r3=exp(th*i)*i, DERIVADA EN th r4=int(f1); % r4=x^(n+1)/(n+1), INTEGRAL INDEFINIDA EN x f5=y^(-1); r5=int(f5); % r5=1/y, INTEGRAL INDEFINIDA EN y f6=n^x; r6=int(f6); % r6=n^x/log(n), INTEGRAL INDEFINIDA EN n

288

%

% %

%

%

% %

%

%

% % %

%

Fundamentos de MATLAB y Simulink

r7=int(f2); % r7=-cos(b + a*theta)/a, INTEGRAL EN theta f8=1/(1+u^2); r8=int(f8); % r8=atan(u), INTEGRAL INDEFINIDA EN n f9=exp(-x^2); r9=int(f9); % r9=(pi^(1/2)*erf(x))/2, erf=funci´ on error c=0; d=1; f10 = x^7; r10=int(f10,c,d); % r10=1/8, INTEGRAL DEFINIDA c=1; d=2; f11 = 1/x; r11=int(f11,c,d); % r11=log(2), INTEGRAL DEFIN. c=0; d=1; f12 = log(x)*sqrt(x); r12=int(f12, c, d); % r12=-4/9 c=0; d=inf; f13 = exp(-x^2); r13=int(f13, c, d); % r13=pi^(1/2)/2 SIMPLIFICACIONES Y SUSTITUCIONES collect: COLECTA TODOS LOS COEFICIENTES CON LA MISMA POTENCIA DE x f14=(x-1)*(x-2)*(x-3); r14=collect(f14); % r14=x^3-6*x^2+11*x-6 f15=x*(x*(x-6)+11)-6; r15=collect(f15); % r14=x^3-6*x^2+11*x-6 f16=(1+x)*t + x*t; r16=collect(f16); % r16=(2*t)*x+t expand: DISTRIBUYE PRODUCTOS EN SUMAS Y APLICA IDENTIDADES DE SUMAS f17 = a*(x+y); r17=expand(f17); % r17=a*x + a*y f18 = (x-1)*(x-2)*(x-3); r18=expand(f18); % r18=x^3-6*x^2+11*x-6 f19 = x*(x*(x-6)+ 11)-6; r19=expand(f19); % r19=x^3-6*x^2+11*x-6 f20 = exp(a + b); r20=expand(f20); % r20=exp(a)*exp(b) f21 = cos(x + y); r21=expand(f21); % r21=cos(x)*cos(y)-sin(x)*sin(y) f22 = cos(3*acos(x)); r22=expand(f22); % r22=4*x^3 - 3*x f23 = 3*x*(x^2-1)+x^3; r23=expand(f23); % r23=4*x^3 - 3*x horner: TRANSFORMA UN POLINOMIO SIMB´ OLICO EN SU FORMA ENCADENADA f24 = x^3-6*x^2+11*x-6; r24=horner(f24); % r24=x*(x*(x-6)+11)-6 f25 = 1.1+2.2*x+3.3*x^2; r25=horner(f25); r25=x*((33*x)/10+11/5)+11/10 factor: EXPRESA f COMO UN PRODUCTO DE POLINOMIOS DE GRADO BAJO f26 = x^3-6*x^2+11*x-6; r26=factor(f26); % r26=(x-3)*(x-1)*(x-2) f27 = x^3-6*x^2+11*x-5; r27=factor(f27); % r27=x^3-6*x^2+11*x-5 f28 = x^6 + 1; r28=factor(f28); % r28=(x^2 + 1)*(x^4 - x^2 + 1) simplify: HERRAMIENTA PODEROSA PARA SIMPLIFICAR f29 = x*(x*(x-6)+11)-6; r29=simplify(f29); % r29=(x-1)*(x-2)*(x-3) f30 = (1 - x^2)/(1 - x); r30=simplify(f30); % r30=x + 1 f31 = (1/a^3+6/a^2+12/a+8)^(1/3); r31=simplify(f31); r31=((2*a+1)^3/a^3)^(1/3) f32 = exp(x)*exp(y); r32=simplify(f32); % r32=exp(x + y) f33 = cos(x)^2 + sin(x)^2; r33=simplify(f33); % r33=1 simple: ENCUENTRA UNA EXPRESI´ ON CON M´ INIMA CANTIDAD DE CARACTERES syms a positive x; f34 = (1/a^3 + 6/a^2 +12/a + 8)^(1/3); r34=simplify(f34); r34= (8*a^3 + 12*a^2 + 6*a + 1)^(1/3)/a f35 = (1/a^3+6/a^2+12/a+8)^(1/3); r35=simple(f35); % r35=1/a+2 f36 = cos(x) + i*sin(x); r36=simplify(f36); % r36=cos(x) + sin(x)*i f37 = cos(x) + i*sin(x); r37=simple(f37); % r37=exp(x*i) f38 = cos(x)^2 -sin(x)^2; r38=simple(f38); % r38=cos(2*x) f39 = cos(x) + i*sin(x); r39=simple(f39); % r39=exp(x*i) f40 = cos(3*acos(x)); r40=simple(f40); % r40=4*x^3 - 3*x OLICAS AS VISIBLE LAS EXPRESIONES SIMB´ pretty: HACE M´

B.1 Fundamentos de MATLAB

289

% >> pretty(f34) El comando pretty(f34) devuelve: 1/3  1 6 12 + + +8 a3 a2 a

B.1.7.

Simulaci´ on de un Sistema de Control

El siguiente programa simula el sistema de control de posici´on backstepping del prototipo MRE (Manipulador Rob´otico Esf´erico). El modelo din´amico de Lagrange del MRE deducido en la subsecci´on ??, ecuaci´on (??), posee la forma:     u1 q1 u= M(q)¨ q + P(q, q) ˙ q˙ + d(q) = u q= u2 q2 donde: M=



M11 0 0 M22 M11 = M22 = P11 = P12 = P21 = P22 = d21 =

 Ra nKm KA Ra nKm KA Ra nKm KA Ra nKm KA Ra nKm KA Ra nKm KA Ra nKm KA

P= 



P11 P12 P21 P22



d=

1 J1 + Jeq + m2 L2 sen2 q2 4   1 J2 + Jeq + m2 L2 4   2 n Km Kb Beq + Ra   1 m2 L2 q˙1 senq2 cos q2 2   1 − m2 L2 q˙1 senq2 cos q2 4   n2 K m K b Beq + Ra   1 − m2 L2 gsenq2 2



0 d21





El dise˜ no de un controlador backstepping emplea el procedimiento descrito en la secci´on ??, que en forma breve establece hasta el nivel de simulaci´on: (1) Definir las especificaciones de dise˜ no y determinar el modelo no lineal del sistema a controlar en la forma dada en (??). (2) Determinar la ley de control backstepping dada en (??). Para ello, definir el vector de referencias deseadas qd , formular el vector de error e y el vector q˙ r : e = z1 = q − q d

q˙ r = q˙ d − Kz1

donde K es una matriz diagonal con elementos k positivos. El observador se expresa como: b˙ = q˙ d + Ld (q − q b) q

290

Fundamentos de MATLAB y Simulink b se puede donde Ld es una matriz diagonal con elemento ` positivos. El vector q ˙ b. La ley de control backstepping posee la forma: calcular integrando q b˙ )q˙ r + d(q) − Kd (q b˙ − q˙ r ) − K1 z1 u = M(q)¨ q + P(q, q

en donde Kd y K1 son matrices diagonales con elementos kd y k1 positivos, respectivamente. (3) Simular el sistema de control backstepping empleando los par´ametros de sintonizaci´on kd , k1 y `d . La Fig. B.2 muestra el diagrama de flujo empleado en esta publicaci´on para simular los sistemas de control. El archivo bscmrer.m muestra el programa en c´odigo MATLAB para simular el el control simult´aneo de las posiciones de los brazos del MRE empleando un controlador backstepping. Este archivo, que es autoexplicativo, emplea el diagrama de flujos de la Fig. B.2. El resultado de la simulaci´on se muestran en la Fig. B.3. Inicio Parámetros del sistema Parámetros de sintonización Condiciones iniciales

Lazo de control

k=1 Señales de referencia Algoritmo de control Almacenamiento de datos ¿k < N?

SI

NO Gráficos de resultados

Fig. B.2: Diagrama de flujo para la simulaci´on de un sistema de control.

% bscmrer.m CONTROL BACKSTEPPING DEL MANIPULADOR MRE. % CASO: REGULACI´ ON (REFERENCIA CONSTANTE EN EL TIEMPO) clear all; close all; clc;

B.1 Fundamentos de MATLAB

291

% DATOS DEL SUB-SISTEMA MEC´ ANICO d = 0.01; rd = 0.06; b = 0.25; a = 0.044; La = 0.3; Lh = 0.05; md = 0.55; mb = 0.9; ma = 0.8; mh = 0.15; g =9.81; n = 12.5; m1 = md + mb; m2 = ma + mh; L1=(mb*b+md*d)/(mb+md); L2=La+Lh; Jm = 0.0003; Jg = 0.053; Jd = md*rd^2/2; Jb = mb*a^2/6; J1 = Jd+Jb; J2 = m2*L2/3; Jeq = n^2*Jm+Jg; Bm = 0.0001; Bg = 0.01; Beq = n^2*Bm+Bg; ECTRICO % DATOS DEL SUB-SISTEMA EL´ Km = 0.0421; Kb=0.0564; Larm = 0; Ra = 5.3; KA = 12.5; % PAR´ AMETROS DE CONTROL K = 5; K1=8; Ld=10; Kd=8; % VALORES INICIALES q1 = 0; q2 = 0; dq1 = 0; dq2 = 0; qe1 = 0; qe2 = 0; UMERO DE ITERACIONES N % TIEMPO DE MUESTREO T (segundos) Y N´ T= 0.01; N=4000; A = 1; % A: MAGNITUD DE LAS REFERENCIAS DESEADAS % LAZO DE CONTROL for k=1:N; % REFERENCIAS DESEADAS qd1 Y qd2 if(k >= 0 && k = N/4 && k = N/2 && k = 3*N/4 && k Library Browser. 3. Click en el icono Simulink:

ubicado en la barra de menus de MATLAB.

CONTROL u2 [v]

POSICIÓN q2 [rad]

CONTROL u1 [v]

POSICIÓN q1 [rad]

B.2 Fundamentos de Simulink

293

1 0.5 0

0

5

10

15

20

0

5

10

15

20 TIEMPO

0

5

10

15

20

0

5

10

15

20 TIEMPO

25

30

35

40

25

30

35

40

25

30

35

40

25

30

35

40

50 0 −50

[S]

1 0.5 0 50 0 −50

[S]

Fig. B.3: Resultado de la simulaci´on del sistema de control backstepping del MRE: las posiciones de los brazos del manipulador siguen las se˜ nales de referencia deseada.

Para crear un nuevo modelo, seleccionar en el men´ u de la ventana Simulink Library Browser (SLB): File > New > Model. El software abre una ventana vac´ıa (Fig. B.5) en donde construir el modelo. Para abrir un modelo existente: 1. En el men´ u de la ventana SLB, seleccionar File > Open. En la ventana Open buscar el archivo con 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 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.6, muestra la biblioteca de bloques de Simulink instaladas en su sistema. Los bloques se pueden copiar o arrastrar desde esta ventana a una ventana vac´ıa. Cuando use la ventana SLB, notar lo siguiente: Los bloques de una biblioteca se pueden ver seleccionando el nombre de la

294

Fundamentos de MATLAB y Simulink

Fig. B.4: Librer´ıa de bloques (Simulink Library Browser).

Fig. B.5: Nueva ventana para construir un modelo.

B.2 Fundamentos de Simulink

295

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.

Fig. B.6: Biblioteca de bloques en la ventana Simulink Library Browser (SLB).

Simulink proporciona una gran variedad de demos para ilustrar las bondades de este software. Para ingresar a los demos, hacer click en el bot´on Start ubicado en el extremo inferior izquierdo de la ventana MATLAB y luego ir a Start > Simulink > Demos.

296

B.2.2.

Fundamentos de MATLAB y Simulink

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.7 muestra el diagrama de bloques Simulink que se obtiene tipeando disnl2 en el prompt de MATLAB. Observar que los bloques Proceso no lineal, Observador no lineal, 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. 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.7: Diagrama de bloques del archivo Simulink disnl2.mdl. Por otro lado, el bloque Referencia r es una se˜ nal sinusoide que se arrastra desde su ubicaci´on en la ventana SLB: Simulink > Sources > Sine Wave (Fig. B.8), hacia la ventana de trabajo. Haciendo doble click en cualquier subsistema, aparece una ventana con el contenido del mismo. Por ejemplo, la Fig. B.9 muestra el contenido del subsistema Proceso no lineal. Sus componentes se arrastran desde la ventana SLB a la ventana de la Fig. B.9. Observar en dicha Fig. que los 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.9 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.7, 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.7, Scope es un graficador que se obtiene de la ventana SLB: Simulink > Sinks > Scope. El procedimiento para obtener el resultado de este programa: los 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

B.2 Fundamentos de Simulink

297

Fig. B.8: 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.9: Contenido del subsistema Proceso no lineal.

1 x1

298

Fundamentos de MATLAB y Simulink 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.7. 3. Tipear: save disnl2_x1, save disnl2_r, save disnl2_u en el el prompt de MATLAB. Estos comandos almacenan los datos en los archivos tipo *.mat: disnl2_x1.mat, disnl2_r.mat y disnl2_u. 4. Ejecutar nuevamente el archivo disnl2p.m para obtener la Fig. B.10

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.10: Salida controlada y fuerza de control correspondiente.

Bibliograf´ıa [1] Murray R. Spiegel, Mathematical handbook, Shaum’s Outline Series, McGrawHill,Inc., 3ed Edition, New York et. al. 2008. [2] W. F. Hughes and J. A. Brighton, Theory and Problems of Fluid Dynamics, Shaum’s outline series, McGraw-Hill, 3ed edition, Inc., 1999. [3] H. Goldstain, John L. Safko and Charles P. Poole Classical mechanics, 3ed. Addison Wesley, 2001. [4] James Curry, Hamiltonian and Lagrangian Mechanics. AuthorHouse, 2005. ISBN-10: 1420858564. ISBN-13: 978-1420858563. [5] Katsuhiko Ogata, Sistemas de Control en Tiempo Discreto. Prentice Hall Hispanoamericana S.A., M´exico, segunda edici´on, 1996 [6] Murray R. Spiegel, An´ alisis Vectorial, serie de compendios Schaum, McGrawHill M´exico Panam´a Bogot´a y otras, 1973 (o ediciones m´as recientes). [7] Murray R. Spiegel, C´ alculo Superior, serie de compendios Schaum, McGraw-Hill M´exico Panam´a Bogot´a y otras, 1973 (o ediciones m´as recientes). [8] Donald M. Wiberg, Espacio de Estado y Sistemas Lineales, serie de compendios Schaum, McGraw-Hill M´exico Panam´a Bogot´a y otras, 1973 (o ediciones m´as recientes). [9] Frank Ayres Jr., Matrices, serie de compendios Schaum, McGraw-Hill M´exico Panam´a Bogot´a y otras, 1973 (o ediciones m´as recientes). [10] Alan V. Oppenheim y Alan S. Willsky, Se˜ nales y Sistemas Prentice-Hall Hispanoamericana, S.A., M´exico-Englewood Cliffs-Londres-Sidney y otras, 1983. [11] Murray R. Spiegel, Transformada de Laplace, serie de compendios Schaum, McGraw-Hill M´exico Panam´a Bogot´a y otras, 1973 (o ediciones m´as recientes). [12] A. Rojas-Moreno, Design of Self-tuning Controllers for Processes Having Multiple Unknown Time-varying Delays, Ph.D. Thesis, Utah State University, Logan, UT, 1995. [13] Katsuhiko Ogata, Modern Control Engineering (5th Edition), Prentice Hall, 2009.

300

BIBLIOGRAF´ IA

[14] TecQuipment Ltd, TE37 Control and Instrumentation Study Station, User Guide, 2009. [15] J.G. Ziegler y N.B. Nichols, “Optimum Setting for Automatic Controllers”, Transactions of the American Society Mechanical Engineering, Vol 64, pp. 759768, 1942. [16] Richard C. Dorf y Robert H. Bishop, Sistemas de Control Moderno (10ma Edici´ on), Pearson Prentice Hall, 2005. [17] K.J. ˚ 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] K.L. Chien, J. A. Hrones, and J. B. Reswick, “On the automatic control of generalized passive systems”, Trans. ASME, vol. 74, pp. 175-185, 1952. [20] G. H. Cohen and G. A. Coon, “Theoretical consideration of retarded control,” Trans. ASME, vol. 75, pp. 827-834, 1953. [21] Erwin Samal, Grundriss der Praktischen Regelungstechnik (11. durchsehene Auflage, R. Oldenbourg Verlag Muenchen Wien 1980. [22] A. M. Lopez, J. A. Miller, C. L. Smith, and P. W. Murrill, “Tuning controllers with error-integral criteria,” Instrumentation Technology, vol. 14, pp. 57–62, 1967. [23] A. Rovira, P. Murrill y C. Smith, “Tuning controllers for setpoint changes”. Instruments and Control Systems, 42(12): 67–69, diciembre de 1969. [24] F.S. Wang, W.S. Juang y C.T. Chan,“Optimal tuning of PID controllers for single and cascade control loops”. Chemical Engineering Communications, Vol. 132, pp 15–34, 1995. [25] C. Kessler, C., “Das symmetrische Optimum”, part 1, rt, No.11, pp. 395-400 and part 2, rt, No.12, pp. 432-436, (1958) [26] M. Zhuang y D. P. Atherton, “Automatic tuning of optimum PID controllers”, IEE Proceedings–Part D: Control Theory and Applications, Vol. 140, No. 3, pp. 216–224, 1993. [27] D. Xue, Y. Q. Chen y D. P. Atherton, Linear Feedback Control: Analysis and Design with Matlab, SIAM, 2007. [28] C.A. Smith y A.B. Corripio, Control Autom´ atico de Procesos, Limusa Noriega Editores, 1996. [29] A. O’Dwyer, Handbook of PI and PID Controller Tuning Rules, 3rd edition, Imperial College Press, 2009. [30] E. B. Dahlin, “Designing and Tuning Digital Controllers,” Instruments and Control Systems, V. 41 (June 1968), p. 77.

BIBLIOGRAF´ IA

301

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

´Indice alfab´ etico Determinante, 151 de una matriz, 151 propiedades, 152 Discretizaci´on directa, 178 Ecuaci´on caracter´ıstica, 168 Eigenvalor, 159 Eigenvector, 159 Estabilidad de sistemas, 183 Forma can´onica controlable, 174 de Jordan, 176 diagonal, 175 observable, 175 Formas can´onicas, 174 Fracciones parciales, 142 Linealizaci´on de sistemas, 183 Matrices, 148 diagonalizaci´on de, 162 multiplicaci´on de, 148 similares, 162 Matriz de transferencia, 167 diagonal, 150 eigenvalor de una, 159 identidad, 150 pseudoinversa de una, 160 rango de una, 157 traza de una, 150 triangular inferior, 150 triangular superior, 150 Par´ametros, variables y s´ımbolos del sistema Tanque con Agua, 27 Procesos con tiempo muerto, 181 Puntos singulares en PLITs, 168 Sistema causal, 137

Sistema estable e inestable, 168 Sistema PLIT, 183 Soluci´on de la ecuaci´on de estado, 170 Transformada de Laplace F´ormulas de, 142 inversa, 140 Propiedades de la, 145 unilateral, 138 Variables de estado, 163