You are on page 1of 314

CONTROL DE PROCESOS

PRACTICO Y AVANZADO
ARTURO ROJAS MORENO, Ph.D.

Modelado de Procesos Sistemas de Instrumentacin o 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


Copyright c 2011 Arturo Rojas-Moreno. Todos los derechos reservados. ISBN Queda rigurosamente prohibida la reproduccin total o parcial de esta obra por cualquier o medio o procedimiento, sin la autorizacin escrita del propietario del Copyright. o

A la Memoria de mis Padres

Indice general
III

Prefacio 1. Introduccin o 1.1. Sistema de Control a Lazo Cerrado . . . . . . . . . . . . . . . . . . . . 1.2. Sistema de Control a Lazo Abierto . . . . . . . . . . . . . . . . . . . . 1.3. Dinmica Lineal de los Elementos Ideales . . . . . . . . . . . . . . . . a 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. Descripcin del Proceso . . . . . . . . . . . o 2.8.2. Modelo Dinmico No Lineal del Proceso . . a 2.8.3. Modelo Dinmico de Lagrange del Proceso a 2.8.4. Modelo Dinmico Lineal del Proceso . . . . a 2.9. Respuesta Transitoria de los Procesos . . . . . . . 2.9.1. Respuesta al Escaln . . . . . . . . . . . . . o 2.9.2. Mtodo del 28.3 % y 63.2 % . . . . . . . . . e 2.9.3. Otras Respuestas al Escaln y al Impulso . o 2.10. Problemas . . . . . . . . . . . . . . . . . . . . . . .

IX

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 Medicin o 45 3.1. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.1.1. Caracter sticas Estticas y Dinmicas . . . . . . . . . . . . . . 46 a a 4. Elementos Finales de Control 4.1. Caracter sticas . . . . . . . . . . . . . . . . 4.2. La Vlvula de Control Automtica (VCA) . a a 4.2.1. Dimensionamiento de una VCA . . . 4.2.2. Carcter stica de una VCA Operando 51 51 52 52 55

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

VI

INDICE GENERAL 57 57 59 59 61 66 66 70 71 71 72 73 76 79 79 91 103 114 117 122 125 125 129 131 136 138 139 140 141 143

5. Control PID SISO 5.1. Sistema de Control SISO . . . . . . . . . . . . . . . . . . . . . . . 5.2. Especicaciones de Diseo . . . . . . . . . . . . . . . . . . . . . . n 5.2.1. Especicaciones de Diseo en el Dominio del Tiempo . . . n 5.2.2. Especicaciones de Diseo en el Dominio de la Frecuencia n 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. Mtodos de Sintonizacin de Controladores PID . . . . . . . . . e o 5.6.1. Mtodos Basados en la Curva de Reaccin . . . . . . . . . e o 5.6.2. Mtodos a Lazo Cerrado . . . . . . . . . . . . . . . . . . . e 5.6.3. Mtodos Basados en la Minimizacin de un e o Indice . . . . 5.7. El Efecto Windup . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8. El Algoritmo PID Discreto Modicado . . . . . . . . . . . . . . . 5.9. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. Estrategias de Control 6.1. Control en Cascada . . . . . . . . . . . . . . . . . . 6.2. Control de la Razn . . . . . . . . . . . . . . . . . o 6.3. Control Anticipativo . . . . . . . . . . . . . . . . . 6.4. Control Override . . . . . . . . . . . . . . . . . . . 6.5. Control Selectivo . . . . . . . . . . . . . . . . . . . 6.6. Control de Rango Partido . . . . . . . . . . . . . . 6.7. Control con Autosintonizacin de Parmetros . . . o a 6.8. Control Adaptativo con Modelo Referencial . . . . 6.9. Autosintonizacin con Reconocimiento de Patrones o 7. S ntesis de Controladores SISO y MIMO 7.1. Mtodo de Dahlin . . . . . . . . . . . . . . . . . e 7.2. Control MIMO v Desacoplamiento . . . . . . . a 7.2.1. No Interaccin . . . . . . . . . . . . . . . o 7.2.2. Exactitud Esttica . . . . . . . . . . . . . a 7.2.3. Estabilidad . . . . . . . . . . . . . . . . . 7.3. Control MIMO con Desacopladores . . . . . . . . 7.4. Control MIMO empleando el Criterio de Hurwitz 7.4.1. Procedimiento de Diseo . . . . . . . . . n 7.4.2. El Criterio de Hurwitz . . . . . . . . . . . 7.5. Problemas . . . . . . . . . . . . . . . . . . . . . .

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

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

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

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

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 Diseo . . . . . . . . . . . . n 8.6. Ejemplo de Diseo . . . . . . . . . . . . . . . n 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. Diseo de Sistemas de Control Fuzzy . . . . . . . . . . . . . . . . . . . 194 n 9.2.1. Control Fuzzy del Manipulador Robtico de 1GDL . . . . . . . 194 o A. Sistemas Continuos A.1. La Transformada Unilateral de Laplace . . . . . . . . . . . . . A.1.1. Denicin y Ejemplos . . . . . . . . . . . . . . . . . . . o A.1.2. La Transformada Inversa de Laplace . . . . . . . . . . . A.1.3. La Funcin de Transferencia . . . . . . . . . . . . . . . . o 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. Diagonalizacin de Matrices y Formas Cannicas . . . . o o A.3. Variables de Estado . . . . . . . . . . . . . . . . . . . . . . . . A.3.1. Ejemplo de Introduccin . . . . . . . . . . . . . . . . . . o A.3.2. Denicin de Variables de Estado . . . . . . . . . . . . . o A.3.3. Matriz de Transferencia y Estabilidad . . . . . . . . . . A.3.4. Controlabilidad y Observabilidad . . . . . . . . . . . . . A.3.5. Solucin de la Ecuacin de Estado de SLITs Continuos o o A.3.6. Formas Cannicas SISO en el Espacio de Estado . . . . o A.4. Discretizacin Directa . . . . . . . . . . . . . . . . . . . . . . . o A.5. Sistemas con Tiempo Muerto . . . . . . . . . . . . . . . . . . . A.6. Linealizacin de Sistemas Continuos . . . . . . . . . . . . . . . o 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

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

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

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

VIII

INDICE GENERAL 275 . 275 . 275 . 276 . 278 . 279 . 286 . 287 . 289 . 292 . 292 . 296 299 302

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. Creacin de Archivos Tipo m . . . . o B.1.4. Matemticas . . . . . . . . . . . . . a B.1.5. Grcos . . . . . . . . . . . . . . . . a B.1.6. Matemtica Simblica . . . . . . . . a o B.1.7. Simulacin de un Sistema de Control o B.2. Fundamentos de Simulink . . . . . . . . . . B.2.1. Fundamentos del Software Simulink B.2.2. Creacin de un Modelo Simulink . . o Bibliograf . a Indice alfabtico . e

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

Prefacio
Esta publicacin est dirigida a todos los profesionales, cient o a cos, especialistas y estudiantes interesados en familiarizarse con el modelado, la simulacin y el control o de procesos industriales. Tanto modelos lineales como no lineales se emplean en esta publicacin para representar la dinmica de los procesos tratados. o a El libro se denomina Control de Procesos Prctico y Avanzado porque su cona tenido abarca tanto temas relacionados con el diseo prctico de sistemas de control n a de una entrada y una salida empleando controladores PID (Proporcional Integral Derivativo), as como tambin temas avanzados del control de procesos tales co e mo: Control PID multivariable, control de procesos empleando estrategias (cascada, razn, rango partido, anticipativo, selectivo) y control con inteligencia articial (cono trol fuzzy y control neuronal). En todos los Cap tulo que lo conforman, este libro usa intensivamente el software MATLAB para el clculo, diseo y simulacin de sistemas de control de procea n o sos. Tambin se emplea el software Simulink , el cual trabaja dentro del entorno e MATLAB. Simulink usa diagramas de bloques en su programacin. El Apndice B: o e 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 dicultad el contenido de este libro, el lector requiere haber llevado los cursos de matemtica, f a sica y fundamentos de control automtico dictados a en una Universidad o Instituto. Sin embargo, se recomienda que el lector se remita al Apndice A: Matemticas para el Control de Procesos, donde, empleando intensie a vamente la herramienta MATLAB, se hace un repaso de los tpicos de matemticas o a requeridos en el desarrollo de los Cap tulos de este libro. El procedimiento de diseo de sistemas de control empleado en este libro comn prende bsicamente: la formulacin del problema a resolver, el modelado del proceso, a o el diseo del algoritmo de control, y vericacin del sistema de control diseado v n o n a simulacin. o Esta publicacin puede ser usada como: o 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 instrumentacin y control. o

Prefacio Libro de consulta en temas relacionados con el diseo e implementacin de n o sistemas de control. La organizacin de este libro comprende los cap o tulos siguientes:

Cap tulo 1: Introduccin. Este cap o tulo presenta una introduccin sucinta soo bre 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 Apndices A y B. e Cap tulo 2: Sistemas de Instrumentacin. Algunos tpicos relevantes de los o o sistemas de instrumentacin se tratan en este Cap o tulo, incluyendo el clculo de plaa cas de oricio y el diseo de circuitos acondicionadores de seal. n n Cap tulo 3: Elementos Finales de Control. Diferentes tipos de elementos de control nal son descritos en este Cap tulo, que tambin incluye el clculo de vlvulas e a a de control. Cap tulo 4: Modelado de Sistemas Lineales. En este cap tulo se elaboran y simulan los modelos dinmicos de varios procesos de comportamiento lineal. a Cap tulo 5: Modelado de Sistemas No Lineales. Los modelos dinmicos no a 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 ms usado en la industria. Por a ello, esta publicacin le dedica un Cap o tulo. Cap tulo 7: Control PID MIMO. Varios mtodos de control PID aplicados e a procesos MIMO (Multiple Input Multiple Output), caracterizados por mltiples u entradas y mltiples salidas, se tratan en este cap u tulo. Cap tulo 8: Control Fuzzy. El control de procesos empleando inteligencia articial est cobrando mayor importancia en la industria en razn a sus mltiples a o u aplicaciones exitosas. Este Cap tulo trata sobre el control fuzzy (difuso o borroso), el cual es una tcnica de control inteligente. e Cap tulo 8: Control Neuronal. Este Cap tulo se ocupa del control neuronal de procesos, el cual es otra tcnica de control que emplea inteligencia articial en su e diseo. n Apndice A: Matemtica para el Control de Procesos. Este Apndice e a e trata algunos tpicos de matemtica aplicada que son necesarios para el mejor eno a tendimiento de los cap tulos presentados. Se pone nfasis en la solucin de problemas e o matemticos empleando software. a Apndice B: Fundamentos de MATLAB y Simulink. Este cap e tulo se ocupa de la teor y aplicaciones del paquete MATLAB/SIMULINK. a

XI

VIENEN AGRADECIMIENTOS.

Arturo Rojas Moreno, Ph.D. ctlima33@gmail.com www.ctlima.com

Cap tulo 1

Introduccin o
En este Cap tulo se hace un breve introduccin sobre los sistemas de control a lazo o cerrado y a lazo abierto, describiendo brevemente sus componentes e incluyendo ejemplos industriales para reforzar la comprensin de los conceptos. Tales componentes son: el o proceso cuya variable de salida se desea controlar, el sistema de instrumentacin que o sensa y transmite la variable a controlar, el controlador que procesa la desviacin entre o el valor de la variable a controlar con respecto a una seal deseada con el propsito de n o generar una seal de control, y el elemento de control nal que recibe la seal generada n n por el controlador para efectuar cambios en el proceso con la nalidad de que la desviacin o anteriormente descrita se reduzca a cero.

1.1.

Sistema de Control a Lazo Cerrado

La Fig. 1.1 muestra el diagrama de bloques (la interrelacin entre sus compoo nentes) de un sistema de control a lazo cerrado. A continuacin vamos a describir o sucintamente sus componentes.
Controlador de realimentacin e Algoritmo de Control Disturbios Proceso

SP r

MV u Elemento final de control Sensor ms Transmisor Sistema de medicin

PV y

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 calefaccin, enfriamiento, mezcla, fundicin, separacin, destilacin, o o o o

Introduccin o

llenado y vaciado, evaporacin, coccin, entre otros. Los instrumentos son dispositivos o o que se emplean en los procesos para monitorearlos y controlarlos, lo cual se logra mediante la medicin de algunas de sus caracter o sticas, tambin denominadas los e parmetros del proceso. a Algunos ejemplos de caracter sticas del proceso son: capacitancia, inductancia, resistencia, voltaje, corriente, peso, presin, aceleracin, sonido, color, nivel, tempeo o ratura, humedad, densidad, contenido de humedad, viscocidad, dimensin, conceno tracin de pH, ujo, velocidad, espesor, gravedad espec o ca, entre otros. La variable y mostrada en Fig. 1.4, conocida tambin como PV (Process Variable), es la variable e controlada o salida del proceso.

El Sistema de Medicin o
Es comn que un proceso posea varios parmetros que necesitan ser monitoreadas u a simultneamente. Esto se logra por lo general, empleando un sistema de medicin a o para cada parmetro (ver Fig. 1.1). Cada sistema de medicin consta de un sensor a o que proporciona la (variable medida), y de un transmisor que cambia dicha variable en una seal estandarizada que pueda ser transmitida. La variable medida representa n entonces la condicin actual de la variable controlada y. o En algunos casos, la variable medida y la variable controlada es la misma variable. Por ejemplo, la medicin y control de la variable velocidad de un motor DC (Direct o 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 presin en el fondo del tanque. Es decir, en este o caso medimos presin para controlar nivel. o Seales estandarizadas que se emplean en el control de procesos son: 4 a 20 mA n (miliamperio), 3 a 15 psi (libra por pulgada cuadrada) y 0.2 a 1 bar. Otros rangos de seales tambin son empleados: 0 a 10 V (volt), 10 a + 10 V, etc. El transmisor n e tambin es conocido como convertidor, transductor, y en general como un acondie cionador de seales. Si fuera necesario, un acondicionador de seal se puede disear n n n empleando opamps (amplicadores operacionales) en su implementacin. o En muchos casos, el sensor y el transmisor son parte de un solo instrumento. Los sistemas de medicin actuales tambin incluyen hardware para almacenar algoritmos o e y rutinas de clculo, y para el procesamiento de seales digitales empleando protocoa n los industriales de comunicacin. Los sistemas de medicin inteligente reciben dicha o o denominacin, por que poseen la capacidad de procesamiento de seales. o n En general, los sistema de medicin se aplican a los procesos para: indicar el o valor de una variable, registrar y almacenar los valores de una variable, controlar una variable, jar alarmas en los casos que una variable alcanza un determinado valor, y como enclavamiento; es decir, haciendo que una variable cause una accin cuando o 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 seal de referencia r o SP (Set Point), que es la seal n n deseada de la variable controlada. En otras palabras, en los sistemas de control a lazo cerrado, las seales r e y son comparadas. La diferencia entre ellas es la seal de error n n

1.1 Sistema de Control a Lazo Cerrado

e, llamada tambin seal de desviacin. Cuando existe una desviacin, es necesario e n o o actuar para eliminarla. Esta accin incluye el ajuste y la accin de una seal o fuerza o o n de control u, denominada tambin la variable manipulada MV (Manipulated Varie able), para minimizar el error; es decir, para hacer que la seal y siga a r, cumpliendo n ciertas especicaciones de diseo (seccin 5.2). n o 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 desviacin, se tiene que ajustar mediante el pedal del o 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 seal de n error e empleando un algoritmo de control, para generar la ley de control u que va hacia el elemento de control nal. El agregado de la palabra realimentacin, que en o general no es necesario, slo es para indicar en este caso que tal controlador forma o parte de un sistema de control realimentado. La funcin del controlador mostrado en la la Fig. 1.1 se logra llevando a cabo o tres pasos. El primero consiste en recopilar informacin acerca de la variable del o proceso que se desea controlar. Luego, usar convenientemente dicha informacin para o tomar una decisin con relacin a la condicin del proceso. Finalmente, tomar una o o o accin basada en tal decisin, empleando para ello el elemento de control nal. Es o o importante anotar que para mantener el control, la recopilacin de informacin debe o o 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 elctrica de una e vivienda, en donde la accin de control se realiza conectando o desconectando a la red o la resistencia de calefaccin para aumentar o disminuir la temperatura del agua en la o 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 comparacin, se decide que es necesario cambiar la o condicin del proceso: aumentar o disminuir la temperatura. Finalmente, se toma la o accin correspondiente: conectar la resistencia a la red para aumentar la temperatura o del agua, o desconectarla para disminuirla. El control se puede realizar en forma manual o en forma automtica. En el control a manual, la decisin la realiza la persona, mientras que en el control automtico la o a realiza un dispositivo. La terma es un caso de control automtico de la temperatura, a mientras que la conduccin de un carro para mantenerlo a una velocidad constante, o es un caso de control manual.

El Elemento Final de Control (EFC)


El controlador genera una seal que por si misma no posee la potencia necesaria n para provocar cambios en el proceso. Por tal razn, la seal de salida del controlador o n va hacia el elemento nal de control (EFC), el cual s posee la capacidad de efectuar cambios en el proceso con el propsito de disminuir el error e = ry. Por consiguiente, o el EFC es el hardware que implementa la decisin tomada por el controlador. o La fuente de energ comn del EFC puede ser elctrica, neumtica e hidrulica. a u e a a Ejemplos de EFC elctricos son los motores AC y DC, motores paso a paso, vlvue a

Introduccin o

las de control motricas, solenoides, rels, entre otros. Entre los EFC hidrulicos y o e a neumticos tenemos: vlvulas neumticas, pistones hidrulicos y neumticos, moa a a a a tores hidrulicos y neumticos, etc. Dependiendo del tipo de EFC, en muchos casos a a ser necesario incluir un convertidor (o transmisor) de seal entre el controlador y el a n EFC, tal como se muestra en el ejemplo 1.1.

Los Disturbios
Adems de la variable manipulada, otros factores pueden afectar la variable cona trolada. Por ejemplo, la velocidad del carro puede ser afectada por la resistencia del viento y por la calidad de la pista. Por otro lado, La temperatura del agua en la terma puede ser afectada por un mal aislamiento del tanque o por la cambiante temperatura del entorno. En control de procesos, estos factores se denominan disturbios. Para compensar la accin de los disturbios, se requiere de una continua circulacin o o de la informacin sobre el proceso. En el sistema de control a lazo cerrado de la Fig. o 1.1, la informacin uye constantemente hacia los instrumentos. Tal informacin es o o denotada como realimentacin. Todos los instrumentos y dispositivos que intervienen o en el control de un proceso son referidos como el lazo de control realimentado. Ejemplo 1.1 En el sistema de control de ujo mostrado en la Fig. 1.2(a), indicar sus componentes y las seales normalizadas. Este sistema emplea como sensor de ujo una placa de n oricio para producir la ca de presin P = P1 P2, con la nalidad de tener da o una medicin indirecta del ujo F, pues sabemos que tal ujo es proporcional a la o ra cuadrada de P. z Solucin: Ver Fig. 1.3(b). o Observar que se requiere un primer transmisor para realizar la operacin F = C P , donde C es una constante de proporcionalidad, y o luego convertir esta operacin en una seal de corriente estandarizada (4 a 20 mA). o n El signo ra cuadrada a un costado del transmisor indica esta operacin. Notar tamz o bin que ha sido necesario incluir un segundo transmisor para convertir 4 a 20 mA al e rango de 3 a 15 psi, dado que el actuador de la vlvula trabaja con seal neumtica a n a estandarizada. Ejemplo 1.2 En el sistema de control de temperatura mostrado en la Fig. 1.3, indicar cul es la a seal disturbio y porqu. Este sistema emplea como sensor una termoresistencia, cuya n e salida es un valor de resistencia elctrica, la cual es proporcional a la temperatura en e el interior del tanque. Los valores de resistencia se convierten a seales estandarizadas n de 4 a 20 mA mediante el transmisor. Observar que la vlvula de control posee un a actuador elctrico porque trabaja con una seal de 4 a 20 mA. Esta seal alimenta a e n n un motor DC (el actuador). El movimiento de rotacin del eje del motor se convierte o en un movimiento de traslacin para hacer desplazar el eje de la vlvula. o a Solucin: El ujo del producto que ingresa al tanque constituye la seal de disturbio. o n Mientras mas brusca sea la variacin del ujo de producto, mayor ser la dicultad o a para que la seal PV siga a la seal SP. n n

1.2 Sistema de Control a Lazo Abierto


CONTROLADOR

TRANSMISOR

TRANSMISOR

ACTUADOR F P1 P2 PLACA DE ORIFICIO (a) VLVULA NEUMTICA

SP

4 20 mA CONTROLADOR

4 20 mA MV TRANSMISOR 3 15 psi F

4 20 mA PV TRANSMISOR P

ACTUADOR PROCESO

P1 P2 SENSOR: PLACA DE ORIFICIO

EFC: VLVULA DE CONTROL NEUMTICA (b)

Fig. 1.2: (a) Sistema de control de ujo. (b) Solucin al ejercicio 1.1. o
PV 420 mA

Sensor (ohm) Producto MV 420 mA

Transmisor Controlador

SP 420 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 realimentacin. Dicho lazo o si est presente en el sistema de control de la Fig. 1.1. a 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

Introduccin o

SP r

MV Controlador u Elemento final anticipativo de control

Disturbios Proceso

PV y Sensor ms Transmisor Sistema de Instrumentacin

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 automatizacin que tienen que ver principalmente con aperturas y cierres o temporizados de vlvulas y otros actuadores. La programacin de los tiempos de la a o entrada en operacin de los compresores que conforman un sistema de generacin de o o 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 seal de control) se ajusta antes de que ocurran cambios en la variable controlada. n La estrategia de control anticipativo se trata en detalle en la seccin 6.3. Sin o 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 reejen en la variable controlada. Sin embargo, para lograr aquello, se requiere de un anlisis dinmico complejo de los disturbios a a para que la estrategia de control trabaje efectivamente. Slo en muy pocos casos en o la industria, el control anticipativo es relevante. Existen otras estrategias de control, adems del control anticipativo, tales como a control de la razn de dos variables, control en cascada, control de rango partido y o control selectivo, todas las cuales sern abordadas en detalle en el Cap a 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 presin dentro del tanque, respectivamente. Este o ejemplo es un caso t pico de mando programable, el cual se implementa con un PLC y vlvulas ONOFF (de apertura y cierre). La apertura y cierre de tales vlvulas a a se realiza con un programa elaborado para tal propsito. Este programa se puede o elaborar empleando diversos mtodos. Uno de los ms populares es el mtodo de la e a e escalera. No es propsito de este libro entrar en detalles de este mtodo de prograo e macin. o Luego de elaborado y probado el programa, ste se almacena en la memoria del e PLC. Para el caso que nos ocupa, tal programa satisface la siguiente secuencia lgica: o 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 Dinmica Lineal de los Elementos Ideales a

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 V5 SOPLADO ADICIONAL ENTRADA DE PRODUCTO V1 V2 LT PT DESFOGUE

SOPLADO INFERIOR V3

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

1.3.

Dinmica Lineal de los Elementos Ideales a

La Tabla 1.1 describe los modelos dinmicos lineales de los elementos ideales, a mientras que la Fig. 1.6 muestra los s mbolos de los mismos. Tal informacin es de o 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 estn disponibles las tablas de conversin de unidades. En a o la Tabla 1.1, la energ se expresa en J (joule), la potencia en W (watt) y el tiempo a t en s (segundos). La Fig. 1.6(a) muestra la inductancia elctrica L en H (henrio), en donde se e cumple que la diferencia de potencial v21 = v2 v1 en V (volt) es proporcional a la variacin de la corriente i en A (ampere) con respecto al tiempo. o La Fig. 1.6(b) ilustra el resorte traslacional de constante K, en donde la variacin o de velocidad v21 en m/s es proporcional a la variacin de la fuerza f en N (newton) o con respecto al tiempo. Teniendo en cuenta que v21 = dx21 /dt donde x21 = x2 x1 es el cambio de posicin, es fcil demostrar que f=Kx21 . Por ello, K est en N/m. o a a La Fig. 1.6(c) muestra el resorte rotacional de constante K en Nm/rad, en donde el cambio de velocidad angular 21 en rad/s es proporcional a la variacin del torque o con respecto al tiempo dT/dt en Nm/s (newtonmetro/segundo). Considerando que

Introduccin o

Tabla 1.1: Modelos dinmicos para elementos ideales. a Almacenador o disipador Almacenador inductivo Almacenador inductivo Almacenador inductivo Almacenador inductivo Almacenador capacitivo Almacenador capacitivo Almacenador capacitivo Almacenador capacitivo Almacenador capacitivo Disipador de energ a Disipador de energ a Disipador de energ a Disipador de energ a Disipador de energ a Elemento f sico Inductancia elctrica L e Resorte traslacional Resorte rotacional Inercia u dica Capacitancia elctrica e Masa Momento de Inercia Capacitancia u dica Capacitancia trmica e Resistencia elctrica e Amortiguador traslacional Amortiguador rotacional Resistencia u dica Resistencia trmica e Ecuacin o descriptiva
di v21 = L dt 1 df K dt 1 dT K dt

Energ E o a potencia P E = 1 Li2 2 E= E=


1 F2 2 K 1 F2 2 K

v21 = 21 =

p21 = I dq dt i = C dv21 dt f = M dv dt T = J d dt q21 = Cf dp21 dt q = Ct dT dt i=


1 R v21

E = 1 Iq 2 2
2 E = 1 Cv21 2

E = 1 M v2 2 E = 1 J 2 2 E = 1 C f p2 2 2 E = Ct T P=
1 2 R v21

f = Bv21 T = B21 q= q=
1 Rf p21 1 Rt T21

2 P = Bv21 2 P = B21

P= P=

1 2 Rf p21 1 Rt T21

1.3 Dinmica Lineal de los Elementos Ideales a


K v1 (b) v2 (e) q (i) T Ct v1 i v M (f) R v2 (j) Rf f v1 (k) Rt q (n) f J 1 T v2 1 (c) T q1 (g) B f v2 (l) Cf T 2 2 q p1 p2 (d) p1 p2 (h)

L v2 (a)

v1

q2

1 T B T 2

p1 q

p2

T1

T2

(m)

Fig. 1.6: S mbolos de los elementos ideales.

21 = d21 /dt donde 21 en rad es el cambio de posicin angular, es fcil demostrar o a que T = K21 . Por ello, K est en Nm/rad. a En la Fig. 1.6(d) se cumple que el cambio de presin p21 en N/m2 es proporcional o 3 /s con respecto al tiempo. La constante de propora la variacin del ujo q en m o cionalidad I es la inercia u dica, la cual posee las unidades Ns2 /m5 puesto que la inercia u dica se expresa como: p21 I= dq/dt La Fig. 1.6(e) ilustra la capacitancia elctrica C en F (faradio), en donde la e corriente i en A (ampere) que circula a travs de C es proporcional a la diferencia de e 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 acta sobre M produce la aceleracin a=dv/dt en m/s 2 , donde v en u o m/s es la velocidad de la masa M. En la Fig. 1.6(g) se cumple que el torque de torsin T en Nm es proporcional a o la aceleracin angular = d/dt en rad/s2 . La constante de proporcionalidad J en o Nms2 /rad se denomina momento de inercia y es caracter stico para cada cuerpo dependiendo de su forma. El ujo q en m/s3 de un uido que existe en un conducto o recipiente (ver Fig. 1.6(h)), es proporcional a la ca o cambio de presin p21 con respecto al tiempo. da o La proporcionalidad mencionada dene a la capacitancia u dica Cf en m5 /N. El ujo 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

Introduccin o

proporcionalidad mencionada dene a la capacitancia trmica C t en J/K, la cual se e muestra en la Fig. 1.6(i). La Fig. 1.6(j) muestra una resistencia elctrica R en (ohm), en donde la corriente e i en A es proporcional a la ca de voltaje v21 . Notar que la proporcionalidad es la da inversa de R, la cual se denomina conductancia G=1/R y su unidad es (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 friccin viscosa traslacional, cuya unidad es Ns/m. o El torque T en Nm que se ejerce en el amortiguador rotacional mostrado en la Fig. 1.6(l), es proporcional al cambio de velocidad angular 21 . La proporcionalidad B se denomina la constante de friccin viscosa rotacional, cuya unidad es Nms/rad. o La resistencia u dica Rf se dene como la variacin de la presin p21 en un o o conducto o recipiente, con respecto al ujo q del uido en m3 /s, tal como se muestra en la Fig. 1.6(m). Por ello, Rf = p21 /q se expresa en Ns/m5 . De igual manera, la resistencia trmica Rt se dene como la variacin de la teme o peratura T21 en grados K (kelvin) en un conducto, con respecto al ujo 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 dinmica de una gran variedad de procesos a ser controlados se puede describir a mediante un conjunto de ecuaciones diferenciales. Tal descripcin matemtica se obo a tiene aplicando las leyes de la f sicas y de la qu mica en dicho proceso, tales como la conservacin de la energ y las leyes de Newton. o a Para construir un modelo adecuado para propsitos de control, se requiere conocer o bien la dinmica del proceso. No siempre es mejor que un modelo sea lo ms exacto a a posible a su comportamiento dinmico. Tener en cuenta que mientras ms complejo sea a a el modelo, ms dicultoso ser el anlisis y diseo del sistema de control. Lo recomendable a a a n es que el modelo del proceso mantenga las caracter sticas dinmicas de inters para el a e rango de operacin del sistema de control a disear. o n En este cap tulo se determinan los modelos dinmicos de varios procesos con tres a propsitos fundamentales. El primero, para que sirvan como una fuente de datos de o salida para poder construir curvas de reaccin; el segundo, para que su dinmica sea o a usada en el diseo de controladores avanzados; por ultimo, para vericar la funcionalidad n 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 seccin uniforme por donde circula un a o ujo y, cuya magnitud est gobernada por la abertura u de la vlvula de control. Las a a letras FI (Flow Indication) dentro del c rculo indican la presencia de un instrumento de indicacin de ujo. o La respuesta al escaln (su curva de reaccin a lazo abierto) del proceso ujo se o o ilustra en la Fig. 2.1(b). Considrese que para un tiempo t1 , el ujo que pasa por e

12

El Proceso a Controlar

la vlvula es y1 = A1 v, donde A1 es la seccin transversal correspondiente a la a o abertura u1 de la vlvula, v es la velocidad del ujo considerada constante y es la a densidad l quido, tambin considerada constante. Para un tiempo t2 , incrementamos e la abertura de la vlvula de u1 a u2 . Consecuentemente, el ujo aumenta de y1 a y2 = a A2 v, sin experimentar retardo, donde A2 es la seccin transversal correspondiente o a la abertura u2 . La ganancia proporcional del proceso ujo es entonces: Kp = y y2 y 1 = u u2 u 1 (2.2)

En el dominio de Laplace, la expresin genrica de la FT del proceso ujo toma la o e forma: y(s) = Kp u(s) (2.3) donde s es el operador de Laplace.
u u u Vlvula de control FI y y y 2 y 1 t1 t2 (b) t 2 u t1 t2 y t

u1

(a)

Fig. 2.1: (a) Proceso ujo. (b) Respuesta al escaln (curva de reaccin a lazo abierto) o o del proceso ujo.

Ejemplo 2.1 Determinar la ganancia proporcional del proceso ujo mostrado en la Fig. 2.1(a), sabiendo que el recorrido total de la vlvula es de 10 mm y que el mximo ujo que a a puede pasar por la tuber es de 10 L/min (L: litro). Asumir que el cambio de ujo a y a travs de la vlvula es proporcional al cambio de abertura de vlvula u. e a a Solucin.- La proporcionalidad se reere a que y = Kp u. Empleando la ecuacin o o (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 ujo de material granulado y. cuya magnitud est gobernada por la velocidad u en el eje de salida de una caja reductora. a

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 escaln mostrado en la Fig. 2.1(b) tambin se aplica al proceso o e ujo de granos. Considrese que para un tiempo t1 , el ujo que pasa por la banda e es y1 , correspondiente a la velocidad u1 jada en la caja reductora. Para un tiempo t2 , incrementamos la velocidad de salida de la caja reductora, jndola de u 1 a u2 . a Consecuentemente, el ujo aumenta de y1 a y2 , sin experimentar retardo. Entonces, la ganancia proporcional del proceso ujo de granos es la misma obtenida en (2.2) y la correspondiente FT est dada por (2.3). a
Silo de material

Banda transportadora u Caja de reduccin Motor

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

2.2.

Procesos de Primer Orden

Un procesos SISO de primer orden se caracterizan por poseer una FT que posee 1 una parte proporcional Kp ms un retardo de primer orden T s+1 (ver Tabla 2.8); es a decir, su salida y(s) est relacionada con su entrada u(s) como sigue: a 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 seccin uniforme S, en el cual ingresa o un ujo de agua qC y sale otro ujo qD a travs de un oricio ubicado en la base e del tanque. La Tabla 2.1 describe las variables y parmetros en juego. Aplicando a 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 = q C 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 pequeas de h y asumiendo que el ujo de salida n

14
q

El Proceso a Controlar

Rebose

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

Tabla 2.1: Parmetros y variables del proceso nivel en un tanque cerrado. a S mbolo dS S h h qC qC qD qD Rh Descripcin o Dimetro del tanque a Seccin circular del tanque o Nivel del agua Nivel del agua en estado estacionario Flujo de agua fr hacia el tanque a Estado estacionario de qC Flujo de salida desde el tanque Estado estacionario de qD Resistencia hidrulica del tanque: Rh = h/q D a 2.16104 1.66104 0.4 Valor 0.2 0.0314 Unid. m m2 m m m3 /s m3 /s m3 /s m3 /s s/m2

qD es laminar, entonces: qD =

h Rh

(2.6)

donde Rh es la resistencia hidrulica del tanque, la cual se puede determinar de [13]: a 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 ecuacin de estado lineal del nivel: o 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 (2.8) toma la forma: Rh h(s) = qC (s) SRh s + 1 h(s) = Rh qC (s) SRh s + 1

15

(2.9)

Asumiendo que el ujo de entrada es un escaln de amplitud A, entonces, su transo formada 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 nal en h(s), los valores inicial y nal de h(t) resultan:
t0

l h(t) = l sh(s) = 0 m m
s

l h(t) = l sh(s) = Rh A m m
so

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

Tomando transformada inversa de Laplace a cada trmino de h(s) se obtiene: e h(t) = Rh A 1 e Los valores inicial y nal de h(t) resultan:
t0
1 SR t h

(2.11)

l h(t) = 0 m

tinf

l h(t) = Rh A m

Notar que estos valores coinciden con los hallados empleando (2.10). La segunda forma de hallar h(t) es empleando matemtica simblica, tal como se a o ilustra en el siguiente programa denominado nivel1simb.m:
% nivel1simb.m DETERMINACIN DE h(t) USANDO TRANSFORMADA INVERSA DE LAPLACE O 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 tambin graca la curva de reaccin. Este programa requiere la ecuacin de diferencia e o o del proceso nivel. Para ello se debe de discretizar la ecuacin de estado dada en (2.8) o 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 h=h+T 1 1 h + qC Rh S S

donde k = t/T es el tiempo discreto y T es el tiempo de muestreo. La ultima notacin o es ms conveniente para programacin en tiempo real. Ejecutar el programa curvah.m a o para obtener la curva de reaccin de la Fig. 2.4. o

16

El Proceso a Controlar

% curvah.m CURVA DE REACCIN DEL NIVEL DEL AGUA EN EL TANQUE CERRADO O clear all; close all; clc; % PARMETROS DEL PROCESO TANQUE CERRADO A 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 NMERO DE MUESTRAS M U for k=1:M; QC(k)=qCbar; h=h+T*(-(1/(Rh*S))*h+(1/S)*qCbar); H(k)=h; end ejet = linspace(0,M*T,M); subplot(2,1,1), plot(ejet,QC*6e4); grid % CONVERSI N A L/min O ylabel(Flujo qC [L/min]), xlabel(TIEMPO [s]) subplot(2,1,2), plot(ejet,H); grid, ylabel(NIVEL [m]), xlabel(TIEMPO [s]), print -f -deps curvah % GENERA FIGURA curvah.eps
11 10.5 qC [L/h] 10 9.5 9 8.5

50

100

150

200 250 TIEMPO

300 [s]

350

400

450

500

0.4 0.3 NIVEL [m] 0.2 0.1 0

50

100

150

200 250 TIEMPO

300 [s]

350

400

450

500

Fig. 2.4: Proceso nivel en un tanque cerrado.

Temperatura en un Tanque con Agitador


La Fig. 2.5 muestra un proceso trmico: temperatura en un tanque con agitador. A e este tanque ingresa un ujo q a una temperatura Ti y sale el mismo ujo q pero a una temperatura To . Asumiendo cero prdidas se va a demostrar que la FT Ti (s)/To (s) e es de primer orden. La Tabla 2.2 describe las variables y parmetros en juego. a Asumiendo que el l quido en el tanque se agita uniformemente, que los ujos volumtricos de entrada y de salida, la densidad y capacidad calor e ca del l quido son todos constantes, y que el proceso es adiabtico (sin prdidas) debido a que el a e tanque posee buen aislamiento, entonces, la ecuacin del balance de energ es: o a qCp Ti qCp To = V Cv En el dominio de Laplace s, (2.12) resulta: qCp Ti (s) qCp To (s) = V Cv (sTo To (0)) dTo dt (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: Parmetros y variables del proceso temperatura en un tanque con agitador. a S mbolo q Cp Cv V Ti To Descripcin o Flujo de entrada y de salida Densidad del l quido en q Capacidad calor ca a presin constante o Capacidad calor ca a volumen constante Volumen del l quido en el tanque Temperatura del ujo de entrada Temperatura del ujo de salida Unidades m3 /s kg/m3
J kg K J kg K m3 oC oC

Sabemos que la determinacin de la FT de cualquier proceso requiere que todas las o 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 reaccin del proceso con Ti (s) = A/s, la cual es semejante al grco o a inferior de la Fig. 2.4, posee la forma: To (t) = A (1 e ) la cual se halla ejecutando el programa en matemtica simblica temp1simb.m, donde a o tau = :
% temp1simb.m DETERMINACIN DE To(t) USANDO TRANSFORMADA INVERSA DE LAPLACE O clear all; close all; clc; syms s tau A; To = ilaplace(A/(s*(tau*s+1))); pretty(simplify(To))
t

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 amplicadores operacionales (opamps) inversores conectados en cascada. La ganancia del seguidor de voltaje es uno. Las ganancias de los amplicadores son respectivamente: Vx (s) = sC1 1 Vi (s) R1 + sC
1

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

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


C1 R1 Vi Vi Seguidor de voltaje C1 Vx R2 C2 C2

Vo Opamp inversor

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 Los parmetros y vaa. a riables de este proceso se describen en la Tabla 2.3. Las ecuaciones dinmicas que a 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 + (R C + R C + R C )s + 1 q(s) R1 C1 R2 C2 s 1 1 2 2 2 1

2.3 Procesos de Segundo Orden

19

Tabla 2.3: Parmetros y variables del proceso temperatura en un tanque con agitador. a S mbolo q, q1 , q2 R1 , R2 C1 , C2 h1 , h2 Descripcin o Flujos de entrada, intermedio y de salida Resistencias hidrulicas a Capacitancias hidrulicas a Niveles en los tanques Unidades
m3 s s m2 m2

m2

h1

R1 q1

h2

R2 q2

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

Indicador con N cleo de Fierro Mvil u o


La Fig. 2.8 muestra un indicador con ncleo de erro mvil, donde K es la conu o stante del resorte, B es la constante de viscocidad del amortiguador, M es la masa del ncleo de erro encerrado por la bobina, y u es la corriente que circula por la u bobina. La fuerza electromagntica Km u producida por u produce un movimiento e y en el ncleo, cuya direccin y magnitud depende de la direccin y magnitud de u o o la corriente u. El movimiento y, que es tambin el desplazamiento del indicador, es e proporcional a la corriente u. La ecuacin que gobierna el movimiento del ncleo es: o u Km u = Ky + B dy d2 y +M 2 dt dt

En el dominio de Laplace y con condiciones iniciales nulas, la ecuacin anterior reo sulta: 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 + Kp = Km M
Km M B Ms

K M

s2

Kp 2 + 2n s + n n = K M

B = 2 KM

20

El Proceso a Controlar
u Resorte K Bobina M Escala yo y uo y y t u t

uo

Corriente

yo

Amortiguador B

Fig. 2.8: Indicador con ncleo de erro mvil. u o

2.4.

Procesos Integrales

Llenado de un Tanque
La Fig. 2.9 muestra un tanque de seccin A que est siendo llenado por un ujo o a u de entrada. Slo cuando el tanque alcanza un nivel mximo, entonces se prende la o a 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

Flujo u(t) uo y(t) yo Bomba

u(t) y(t) t1 y(t) t

t1

Fig. 2.9: Llenado de un tanque.

2.5 Procesos con Tiempo Muerto

21

Satlite e
El satlite mostrado en la Fig. 2.10 se puede modelar como: e J = u donde J es el momento de inercia del satlite, es el angulo de inclinacin y u es e o el torque generado por los impulsores para corregir el angulo de inclinacin. En el o dominio de Laplace, el modelo del satlite toma la forma: Js2 (s) = u(s). Luego, la e FT del satlite es un doble integrador: e Kp (s) = 2 u(s) s Kp = 1 J

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

Fig. 2.10: Esquema simplicado de un satlite. e

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

22 La FT de este proceso resulta entonces: y(s) = Kp eTt s u(s) Kp =

El Proceso a Controlar

y u

Motor

Flujos en Tuber con Tiempo Muerto as


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

2.6.

Procesos de Orden Superior

Proceso de Enfriamiento de Tercer Orden


En la Fig. 2.13(a), Qc es el ujo de agua a una temperatura Tc que ingresa a la camisa de enfriamiento del tanque, con el propsito de enfriar el ujo q constante que o ingresa al tanque a una temperatura Ti . Este ujo abandona el tanque por desborde a una temperatura T . La pared metlica del tanque se encuentra a una temperatura a


Vlvla decuchilla u+ u r Velocidad w constante v = wr

u(t) uo t0 y(t) y o u t 0 t1 Tt y t t1 u t

Fig. 2.11: Faja de transporte con tiempo muerto.

2.6 Procesos de Orden Superior


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

23

u 2(t) t

Flujo u2 (t)

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

Agua fra qC TC C Producto q Ti

Rebose

q T TC Camisa de enfriamiento Tanque metlico Tm

(a)
K6

ti K1 1 2 s+1 t m K2 1 1 s+1 t

tc i

K5

1 3 s+1 K7 q

tc

K4

K3

(b)

Fig. 2.13: Proceso de enfriamiento.

Tm . El modelo de este proceso fue extra de [28]. La Tabla 2.4 muestra las variables do y parmetros del proceso. a El balance de energ en el ujo que se procesa se expresa como: a qCp Ti hi Ai T + hi Ai Tm qCp T = V Cv dT dt (2.14)

24

El Proceso a Controlar

Tabla 2.4: Parmetros y variables del proceso de enfriamiento en un tanque con a camisa de enfriamiento. En la Tabla, C.T.C. signica Coeciente de Transferencia Calor ca. S mbolo Qc , Qc , qc q c m Cp Cv C vm V Vm T, T , t Tci , T ci , tci Ti , T i , t i Tm , T m , t m hi ho Ai Ao Descripcin o Flujo de agua actual, estable y residual Flujo actual del producto que ingresa Densidad de q Densidad de Qc Densidad de la pared de metal del tanque Capacidad calor ca de q Capacidad calor ca en el tanque Capacidad calor ca del metal de la pared Volumen del producto en el tanque Volumen de la pared de metal del tanque Temp. actual, estable y residual de q Temp. actual, estable y residual de Qc Temp. actual, estable y residual de q Temp. actual, estable y residual del metal C.T.C. de la cara interna del tanque C.T.C. de la cara externa del tanque Area interna de transferencia de calor Area externa de transferencia de calor Valor Unid. m3 /s m3 /s kg/m3 kg/m3 kg/m3
J kgK J kgK J kgK m3

m3 K K K K
J m2 sK J m2 sK m2

m2

La ecuacin (2.14) tambin es vlida para el estado estacionario: o e a qCp T i hi Ai T + hi Ai T m qCp 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: qCp ti hi Ai t + hi Ai tm qCp t = V Cv Pasando (2.16) al dominio de Laplace y operando, se obtiene: t(s) = qCp qCp + hi Ai K1 K2 ti (s) + tm (s) 1 s + 1 1 s + 1 K2 = hi A i qCp + hi Ai 1 = V Cp qCp + hi Ai (2.17) dt dt (2.16)

K1 =

2.6 Procesos de Orden Superior El balance de energ para la pared del tanque se formula como: a hi Ai (T Tm ) ho Ao (Tm Tc ) = Vm m CVm dTm dt

25

(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 = hi Ai hi Ai + h o Ao K4 K3 t(s) + tc (s) 2 s + 1 2 s + 1 K4 = ho Ao hi Ai + h o Ao 2 = V m m C vm hi Ai + h o Ao dtm dt (2.19)

El balance de energ en la camisa de enfriamiento se formula como: a Qc c Cp Tci + ho Ao (Tm Tc ) Qc c Cp Tc = Vc c Cv dTc dt (2.20)

La ecuacin (2.20) es no lineal debido a los productos Qc Tci y Qc Tc , los cuales se o pueden linealizar siguiendo el procedimiento de la subseccin A.6.1, ejemplo A.49, o sabiendo que: qc = Qc Qc . Esto es: Q c Tc i = Q c T c i + T c i qc + Q c tc i (2.21) Q c Tc = Q c T c + T c q c + Q c t c Reemplazando las ecuaciones de (2.21) en (2.20) se obtiene: 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 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 + 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 K6 K7 tc + tm + qc 3 s + 1 i 3 s + 1 3 s + 1 K6 = ho Ao h o A o + Q c c C p (2.24)

K5 =

Q c c C p h o A o + Q c c C p ho Ao c Cp (T c T ci ) h o A o + Q c c C p

K7 =

3 =

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

El Proceso a Controlar

2.7.

El Motor DC

La Fig. 2.14(a) muestra el circuito equivalente de un motor DC (direct current), donde Rf , Lf , If y Vf son la resistencia, la inductancia, la corriente y el voltaje de campo respectivamente, Ra , La , Ia y Va son la resistencia, la inductancia, la corriente y el voltaje de armadura respectivamente, Tm , TL y Td son el torque motor, el torque de carga y el torque de disturbio respectivamente, Km es la constante de motor, Kb es la constante contraelectromotriz, es la velocidad angular, es la posicin angular o del eje, J es el momento de inercia del motor ms carga y B es la constante de friccin a o del motor ms carga. a
Ra Va

Rf Lf If (a) Campo Vf Rf 1 Lf s If Km Tm T d Vb

La

Vf

Ia

J B Motor ms carga 1 Js Motor ms carga 1 Js B 1 s B 1 s

TL (b)

Armadura Va Vb Km Im Ra 1 L as Kb (c) Tm

Td TL

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

Motor DC Controlado por el Campo Cuando el motor DC est controlado por el campo, entonces la corriente de campo a If es variable, mientras que la corriente de armadura Ia permanece constante. Las ecuaciones en el dominio de Laplace que rigen la dinmica del motor CC en este caso a 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 sucientemente pequea, entonces la FT para la n posicin y para la velocidad angular toman la forma: o 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 controlado por la armadura, entonces la corriente de armadua ra Ia es variable, mientras que la corriente de campo If permanece constante. Las ecuaciones en el dominio de Laplace que rigen la dinmica del motor DC en este caso a son: Va (s) = (Ra + La s)Ia (s) + Vb (s) Tm (s) = Km Ia (s) = TL (s) + Td (s) TL (s) = Js(s) + B(s) (s) = s(s) (2.27) Vb (s) = Kb (s)

El diagrama de bloques para esta situacin se muestra en la Fig. 2.14(c). Asumiendo o 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 sucientemente pequea, entonces la FT para n la posicin y para la velocidad angular toman la forma: o Gp (s) = Gp (s) = (s) Va (s) (s) Va (s) K s( s + 1) Km K ; 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 de control se emplea ms el motor CC controlado por armadura a a debido a la inherente realimentacin que presenta en este caso. Por tal razn nos o o 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: x1 = x 2 x2 = B Km x2 + x3 J J x3 = Kb 1 x3 + Va La La

Si se elige como salida la posicin y = x1 y se designa a Va como la entrada u, la o forma matricial de la ecuacin de estado resulta: o x = Ax + Bu 1 0 0 0 x1 x 2 = 0 B Km + 0 u J J 1 b a x3 0 Ka Ra La L L y = Cx y= 1 0 0 x1 x2 x3 (2.30)

Si se considera que la inductancia de armadura La es despreciable, entonces podemos usar las FTs dadas en (2.29). Para el caso posicin , seleccionemos x 1 = y x2 = o como las variables de estado del motor, y = como la salida y u = Va como la seal de entrada. Se deja como ejercicio demostrar que partiendo de la primera FT n de (2.29), la representacin en el espacio de estado resulta: o x = Ax + Bu x1 x2 = 0 1 1 0 + 0
K

y = Cx u y= 1 0 x1 x2

(2.31)

Para el caso velocidad angular , seleccionemos x = y = como la variable de estado y a la vez salida y u = Va como la seal de entrada. Se deja como ejercicio demostrar n que partiendo de la segunda FT de (2.29), la representacin en el espacio de estado o 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


Descripcin del Proceso o

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 ujos de agua fr qC y de agua caliente qC se mezclan en el interior del tanque con el a propsito de producir el ujo de salida qC a una temperatura . Por consiguiente, el o proceso tanque con agua es multivariable cuadrado debido a que posee dos entradas: los ujos 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 disear, es determinar adecuadas fuerzas de n control qC y qH con la capacidad de estabilizar las salidas controladas h y , cumpliendo ciertas especicaciones de diseo previamente establecidas. La manipulacin de n o las fuerzas de control se realizan mediante dos vlvulas de control neumticas, miena a tras que el transmisor de nivel LT y el transmisor de temperatura TT se ocupan de medir y transmitir el nivel y la temperatura respectivamente. La Tabla 2.5 describe las variables y los parmetros valorados del proceso tanque cerrado con agua. a

2.8 Modelo MIMO del Proceso Tanque Cerrado

29

Tabla 2.5: Parmetros, variables y s a mbolos del sistema tanque con agua. S mbolo dA A h h qC qC qH qH qD qD Rh g C H C H D d D Cp H T D C LT TT FT PT Descripcin o Dimetro del tanque a Seccin circular del tanque o Nivel del agua Nivel del agua en estado estacionario Flujo de agua fr hacia el tanque a Estado estacionario de qC Flujo de agua caliente hacia el tanque Estado estacionario de qH Flujo de salida desde el tanque Estado estacionario de qD Resistencia hidrulica del tanque: Rh = h/q D a Aceleracin de la gravedad o Temperatura del ujo qC Temperatura del ujo qH Temperatura del ujo qD y en el tanque Estado estacionario de Densidad del agua para qC Densidad del agua para qH Densidad del agua para qD Dimetro del oricio de la placa en qD a Dimetro de la placa de oricio en qD a Calor espec co del agua Calor entregado por qH Calor del agua en el interior del tanque Calor que toma el ujo de salida qD Calor que trae consigo qC Transmisor de nivel Transmisor de temperatura Transmisor de ujo Transmisor de presin o 35+270 998 988 996 6.5 15.9 4186.8 9.81 20 +270 50 +270 2.16104 0.5104 1.66104 0.4 Valor 0.2 0.0314 Unid. m m2 m m m3 /s m3 /s m3 /s m3 /s m3 /s m3 /s s/m2 m/s2 K K K K kg/m3 kg/m3 kg/m3 mm mm
J kg K

J/s J/s J/s J/s

30

El Proceso a Controlar

Fig. 2.15: Sistema tanque con agua.

2.8.2.

Modelo Dinmico No Lineal del Proceso a

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 = A h = q C + qH qD dt (2.33)

donde A es la seccin del tanque, h es la altura del agua, Ah es el cambio de volumen o de agua en el tiempo t, qC (agua fr y qH (agua caliente) son los ujos de entrada a) al tanque y qD (agua calentada) es el ujo de salida, el cual se calcula de [14]: a = CE d2 D 2g (2.34) qD = CE d2 2D p = a h; 4 4 donde hemos usado el hecho de que la ca de presin p en la tuber de dimetro da o a a D provocada por la placa de oricio de dimetro d se expresa como: a p = D gh En la expresin (2.34), g es la aceleracin de la gravedad, C = 0.6 es el coeciente o o de descarga del oricio, 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 TT = Transmisor de Temperatura PT= Transmisor de Presin FT= Transmisor de Flujo Rebose Drenaje Agua Caliente Agua Fra FT LT

FT

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

una relacin igual a 0.41 y E es una constante de correccin del valor del ujo debido o o a consideraciones geomtricas, el cual se expresa como: e E = (1 4 )1/2 Despejando h de (2.33), la ecuacin de estado para la variable de estado nivel toma o la forma: a 1 1 h= h + qC + qH (2.35) A A A Los valores de las densidades del agua en funcin de la temperatura se pueden obtener o de gura 2.17. Balance de Energ Trmica a e El balance de energ trmica dentro del tanque se formula como: a e T = D + C + H (2.36)

donde H es calor entregado por el ujo de agua caliente qH , T es el calor del agua en el interior del tanque, D es el calor que toma el ujo de salida qD y C es el calor que trae consigo el ujo de entrada de agua fr qC . Cabe anotar que se a est despreciando el calor que se libera al exterior del tanque debido a que tal tanque a es cerrado y sucientemente aislado. Las relaciones que gobiernan los ujos calor cos descritos anteriormente son: T = AhD Cp d = AhD Cp dt

32
3 DENSIDAD Kg/m 1005 1000 995 990 985 980

El Proceso a Controlar

10

20

30

40

50

60

TEMPERATURA C

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

C H

= C p C C qC = C p H H qH (2.37)

D = C p D q D = C p D a h

Los parmetros que aparecen en (2.37) se describen en la tabla 2.5. Observar que se a asume un valor constante para el calor espec co del agua Cp . La ecuacin de estado o de la variable de estado temperatura se obtiene despejando d = de (2.36): dt a H H qH C C qC = h+ + Ah D A h D A h (2.38)

Denamos 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 ecuacin de estado que describe la dinmica del proceso tanque o a cerrado con agua se formula como: x = f (x, u) x= x1 x2 f= = f1 f2 h = x= x1 x2 a A x1 + + u=
1 A u1

(2.39) u1 u2
1 A u2 H H u 2 D A x 1

qC qD

+ +

a x2 A x 1

C C u 1 D A x 1

Dado que las variables de estado son las variables medidas del proceso, entonces la ecuacin de salida posee la siguiente expresin: o o y = Cx (2.40)

2.8 Modelo MIMO del Proceso Tanque Cerrado y1 y2 x1 x2 1 0 0 1

33

y=

C=

2.8.3.

Modelo Dinmico de Lagrange del Proceso a

El modelo dinmico de Lagrange del proceso tanque cerrado con agua se obtiene a reordenado las ecuaciones de (2.39) en la forma siguiente: C C u1 + H H u2 = D Ax1 x2 + D a x1 x2 Por consiguiente: 1 c C 1 H H u1 u2 = A 0 0 D Ax1 x1 x2 + a x1 D a x 1 x 2 u1 + u2 = Ax1 + a x1

Operando en la ultima ecuacin, es fcil demostrar que el modelo dinmico de La o a a grange del proceso toma la forma: u = Px + d P= d= 1 (H H C C ) H H A D Ax1 C C A D Ax1 (2.41)

1 (H H C C )

H H a x 1 D a x 1 x 2 C C a x1 + D a x1 x2

2.8.4.

Modelo Dinmico Lineal del Proceso a

La placa de oricio instalada en la tuber del ujo de salida qD produce un ujo a turbulento que para variaciones pequeas del nivel h se puede aproximar como [13]: n qD = 2h Rh (2.42)

donde Rh es la resistencia hidrulica del tanque, la cual se puede determinar de [13]: a 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 ecuacin lineal de estado del nivel: o 1 1 2 h + qC + qH h= Rh A A A (2.44)

En funcin de las variables de estado denidas anteriormente, (2.44) toma la forma: o x1 = 1 1 2 x 1 + u1 + u2 Rh A A A (2.45)

34

El Proceso a Controlar

Asumiendo que la variacin del nivel h es m o nima, entonces podemos hacer las siguientes sustituciones en la ecuacin de estado (2.38) correspondiente a la tempeo ratura en el tanque: 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 descripcin lineal de la dinmica de la temperatura: o a q C C H H = D + qC + qH AhD hD AhD C C H H qD x2 + u1 + u2 AhD AhD AhD (2.46)

Empleando las variables de estado denidas anteriormente, (2.46) toma la forma: x2 = (2.47)

La ecuacin de estado lineal del proceso se obtiene juntando las ecuaciones (2.45) y o (2.47): x = Ax + Bu (2.48) x= x1 x2
2 Rh A

h 0

u=

La ecuacin de salida es la misma expresin dada en (2.40). o o

A=

qD Ah

B=

u1 u2

=
1 A C C AhD

qC qH
1 A H H AhD

2.9.
2.9.1.

Respuesta Transitoria de los Procesos


Respuesta al Escaln o

Asumamos que la respuesta de un sistema (su curva de reaccin) a una entrada o tipo escaln posee la forma mostrada en la Fig. 2.18, el cual es el caso en muchos o sistemas industriales denominados autoregulados. Observar en la Fig. 2.18 que la respuesta y0 en el tiempo t1 se debe a la entrada tipo escaln u0 . Cuando la seal o n escaln de entrada cambia de u0 a u1 , entonces se produce la curva de reaccin y(t) o o 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)

Los parmetros n y Tn de (2.50) se determinan empleando la Tabla 2.6. a

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 parmetros T y se obtienen a grcamente trazando una tangente que toque el punto de tangencia (P.T.) sobre la a curva de reaccin. o La curva de reaccin mostrada en la Fig. 2.18 tambin se puede aproximar meo e diante 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

2.9 Respuesta Transitoria de los Procesos


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

35

Fig. 2.18: Curva de reaccin de un sistema. o

Tabla 2.6: Determinacin de los parmetro n y Tn de (2.50). o a n /T Tn /T 2 0.104 0.368 3 0.218 0.270 4 0.320 0.224 5 0.410 0.195 6 0.493 0.175 7 0.591 0.151 8 0.641 0.148 9 0.709 0.140 10 0.775 0.132

Ejemplo 2.2 Determinar dos modelos dinmicos que describan el comportamiento velocidad frea nada de un motor DC a partir de su curva de reaccin, semejante a la mostrada en la o 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 mxima de voltaje es 40 V y el rango a del instrumento de medicin de rpm a la salida es de 0 a 1000 rpm. o Solucin: El primer modelo dinmico se halla con la ecuacin (2.49) donde = 2 s o a o 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 dinmico se reere a la ecuacin (2.50). Con los datos propora o cionados en el ejemplo se obtiene: /T = 0.217. Empleando la Tabla 2.6 se puede determinar: n = 3 y Tn /T = 0.270, lo que implica: Tn = 2.484 s. La FT resulta: G(s) = Kp y(s) 20 = = n u(s) (Tn s + 1) (2.484s + 1)3

La ganancia normalizada Kpn se determina de: Kpn =


600400 10000 2010 400

0.2 = 0.4 0.5

36

El Proceso a Controlar

Caso Especial
Para el caso especial: 0 < /T < 0.104 la dinmica del sistema autoregulado se puede aproximar mediante la siguiente FT a 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 ecuacin: o T2 = kT1 k>1

La constante k se determina usando la Tabla 2.7. Tabla 2.7: Determinacin de los parmetro T1 y T2 de (2.51). o a k /T T1 /T 1 0.094 0.238 2 0.090 0.175 3 0.085 0.140 4 0.080 0.120 5 0.075 0.107 6 0.069 0.097 7 0.064 0.088 8 0.058 0.081 9 0.053 0.074

Ejemplo 2.3 Determinar el modelo que describa la dinmica de un sistema mecatrnico de velocia o dad a partir de su curva de reaccin, semejante a la mostrada en la Fig. 2.18. En este o caso, los datos le dos fueron: u0 = 5 V, u1 = 15 V, y0 = 200 rpm, y1 = 300 rpm, = 2 s, T = 22 s. Solucin: El modelo dinmico se reere a la ecuacin (2.51). Dado que /T = 0.09, o a o empleando la Tabla 2.51 se determina que k = 2 y T1 /T = 0.175, lo que implica que T1 = 3.85 s y T2 = kT1 = 7.7 s. Como KP = (300200)/(155) = 10 rpm/V, la FT pedida es: G(s) = Y (s) KP 10 = = U (s) (T1 s + 1)(T2 s + 1) (3.85s + 1)(7.7s + 1)

2.9.2.

Mtodo del 28.3 % y 63.2 % e

La Fig. 2.19 muestra la curva de reaccin para el mtodo 28.3 % y 63.2 %. En este o e mtodo se determinan los tiempos t28.3 % y t63.2 % correspondientes a las magnitudes e 0.283y y 0.632y, respectivamente. En base a estos valores, los parmetros de la a FT dada en la ecuacin (2.49) se determinan de: o T = 1.5(t63.2 % t28.3 % ) = t63.2 % T (2.52)

2.9 Respuesta Transitoria de los Procesos


t 63.2% t 28.3 0.632 y y0 t 0 t1 0.283 y t

37

u u1 u u0 t 0 t1 t u Proceso autoregulado KP e s Ts + 1

y y 1 y

Fig. 2.19: Curva de reaccin para el mtodo 28.3 % y 63.2 %. o e

2.9.3.

Otras Respuestas al Escaln y al Impulso o

Los sistemas autoregulados presentan una respuesta nita (constante o cero) a entradas de prueba escaln o impulso. Sabemos que cuando la entrada u(t) es un o escaln o un impulso de magnitud A, sus correspondientes transformadas de Laplace o son u(s) = A/s y u(s) = A respectivamente. El siguiente proceso de segundo orden se emplea para explicar las especicaciones de diseo en el dominio del tiempo como veremos en la siguiente seccin. La FT de n o este sistema es: 2 y(s) n Gp (s) = = 2 (2.53) 2 r(s) s + 2n s + n donde n es conocida como la frecuencia natural de oscilacin y es el coeciente de o amortiguamiento. Cuando r(s) = A/s (entrada tipo escaln de magnitud A), y(s) en o (2.53) toma la forma: 2 An (2.54) y(s) = 2 s(s2 + 2n s + n ) Tomando la transformada inversa de Laplace (frmula (31) de la Tabla A.1) se obo tiene: n n t y(t) = A 1 e sen(d t + ) (2.55) d La Fig. 2.20 (grco superior izquierda) muestra y(t) para A = 1 y varios valores de a . Notar que para 1 la respuesta se vuelve sobreamortiguada. La transformada inversa de laplace de (2.54) para 1 se obtiene empleando la frmula (32) de la o Tabla A.1. Cuando u(s) = A (entrada tipo impulso), y(s) en la ecuacin (2.53) se formula o como: 2 An (2.56) y(s) = 2 2 s + 2n s + n Tomando la transformada inversa de Laplace (frmula (29) de la Tabla A.1) resulta: o y(t) =
2 An n t e sen d t d

(2.57)

La Fig. 2.20 (grco superior derecha) muestra y(t) para A = 1 y varios valores de a . Notar tambin que para 1 la respuesta se vuelve sobreamortiguada. e

38

El Proceso a Controlar Una forma alternativa de (2.53) incluye un tiempo muerto . Esto es: G(s) = y(s) 2 = 2 es u(s) s + 2s + 2 (2.58)

Para una entrada tipo escaln (u(s) = A/s) en (2.58) y aplicando la propiedad (5) o de la Tabla A.2 en (2.55), se obtiene la respuesta y(t) al escaln correspondiente a o (2.58): n n (t ) y(t) = A 1 e sen[d (t ) + ] (2.59) d La Fig. 2.20 (grco inferior izquierda) muestra y(t) para A = 1 y varios valores de a . 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): 2 An n (t ) y(t) = e sen d (t ) (2.60) d La Fig. 2.20 (grco superior derecha) muestra y(t) para A = 1 y varios valores de . a 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 ESCALN Y AL IMPULSO DE PROCESOS AUTOREGULADOS O 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 Escaln en Procesos No Autoregulados o


Procesos no autoregulados, como es el caso de la posicin angular del eje de un o motor de CC, o el aumento del nivel de un l quido dentro de un tanque sin tuber de a salida, poseen una respuesta al escaln no nita, tal como se ilustra en la Fig. 2.21. o La dinmica de tales procesos se puede modelar como: a Gp (s) = Kp s e s R = Kp (2.61)

donde es el tiempo muerto, R es la razn de reaccin unitaria y Kp es la ganancia o o proporcional. Los parmetros R y se obtienen grcamente, tal como se ilustra en a a la Fig. 2.21. A manera de resumen, la Tabla 2.8 muestra la FT (funcin de transferencia) de o varios procesos en funcin de su comportamiento. o

2.10 Problemas

39

Step Response 2 Amplitude 4

Impulse Response

0.2

Amplitude

1.5 1 0.5 0

0.2

1
0

1.8
5 Time (sec) Step Response 10

1.8
2 0 5 Time (sec) Impulse Response 4 10

2 Amplitude

0.2

Amplitude

1.5 1 0.5 0

0.2

1
0

1.8
10

1.8
2 0 5 Time (sec) 10

5 Time (sec)

Fig. 2.20: Respuestas al escaln y al impulso de procesos de segundo orden en funcin o o del parmetro . a
u A u Proceso no autoregulado Kp e s s R = Kp y

Fig. 2.21: Respuesta al escaln de un proceso no autoregulado. o

2.10.

Problemas

Problema 2.1 Amplicador de Opamps La Fig. 2.22 muestra un amplicador 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 (Funcin de Transferencia) de varios procesos en funcin de su como o portamiento, donde es el tiempo muerto. Otras combinaciones son posibles. Proceso Proporcional (P) Integral (I) Doblemente integral Proporcional integral (PI) Proporcional derivativo (PD) P+I+D Proporcional con tiempo muerto Integral con tiempo muerto 1er orden con tiempo muerto Kp (1 + Td s) Kp 1 +
1 Ti s

FT Kp
Kp s Kp s2

Proceso Primer orden Segundo orden (primera forma) Segundo orden (segunda forma)
1 Ti s

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

Kp 1 +

Segundo orden (tercera forma) De orden n (primera forma) De orden n (segunda forma) 2do orden con (1a forma) 2do orden con (2a forma) 2do orden con y derivativo

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

+ Td s

Kp (T s+1)n

Kp e s
Kp s

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


2 n 2 s2 +2s+n

e s

e s e s

e s e s

Kp T s+1

2 n s 2 s2 +2s+n

Ri Seguidor de voltaje

Rf

R Opamp inversor

R Vo Opamp inversor

Vin

Fig. 2.22: Circuito con opamps.

Problema 2.2 Turbina La Fig. 8.11 muestra una turbina de agua unido a un generador elctrico. Dee mostrar 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 accin o del ujo de agua, (s) es la velocidad angular del generador y T su correspondiente constante de tiempo. Asumir conocido cualquier otro parmetro necesario. a
Generador elctrico Turbina Entrada de agua M

Desague

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

Problema 2.3 Proceso Tanque Cerrado En la subseccin 2.8.1 se determinaron el modelo de Lagrange y la ecuacin de estado o o del proceso tanque cerrado con agua. Ahora consideremos que se desea controlar el ujo 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 ecuacin de estado y el o modelo de Lagrange del proceso para esta situacin. o 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 presin del gas dentro del recipiente, Pi es la presin del gas de entrada, o o R = (Pi Po )/Q es el la resistencia neumtica, Q es el caudal del gas, C = dm/dp a (variacin de la masa con respecto a la variacin de la presin) es la capacitancia o o o neumtica, m = V es la masa del gas, V es el volumen del tanque, es la densidad a del gas y T = RC es la constante de tiempo. Se sabe adems que la capacitancia C a multiplicada por la variacin de la presin de salida dPo , es igual al gas Q aadido o o n al recipiente en un diferencial de tiempo dt. Problema 2.5 Proceso Mecnico a La Fig. 2.25 muestra una proceso mecnico traslacional, donde M es la masa de a un cuerpo que est accionado por una fuerza u. A esta accin se le oponen la fuerza a o fK = Kx en el resorte y la fuerza de prdidas fB = Bv en el amortiguador, donde K e

42
Pi R Q Po C

El Proceso a Controlar

Fig. 2.24: Tanque almacenador de gas.

es la constante del resorte, B es la constante de prdidas, v = dx/dt es la velocidad e de la masa M y x su posicin. La ecuacin dinmica de este proceso es: o o a dv = u f K fB dt Determine la FT v(s)/u(s) y la ecuacin matricial de estado del proceso sabiendo o que x1 = v, x2 = fK , mientras que la salida es: y = x1 /K. M
x K B fK fB M v u

Fig. 2.25: Proceso mecnico traslacional. a

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 seales u1 y u2 generadas por dos actuadores. Las seales de control son n n capaces de llevar a cero con suciente rapidez los errores de posicin e 2 = r2 y2 , o donde r1 y r2 son las seales de referencia e y1 e y2 , las seales de salida a controlar, n n son las posiciones individuales de las plataformas. Asuma Usted los valores de los parmetros del sistema. (a) Determinar las ecuaciones de estado y de salida del a sistema. (b) Determine el modelo de Lagrange del sistema. Problema 2.7 Proceso Trmico e En el sistema trmico mostrado en la Fig. 2.27 se desea determinar su ecuacin e o de estado, sabiendo que las entradas al sistema son el ujo de agua q1 (t) y el ujo 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 adems que TF > TM , a TF > Ta . Considerar que el ujo de salida qo es laminar. Los parmetros CF y CM son a los calores espec cos del uido en el tanque y de la masa respectivamente, mientras que RF y R : F son las resistencias hidrulicas. a

2.10 Problemas
e1

43

r1

R1 +

Y1 K1 u2 B1 y

r2

R2

e2

Y2 K2 B2

Fig. 2.26: Plataformas acopladas.

qi

RF

CF

CM

TM Q

TF

VAPOR

Fig. 2.27: Sistema hidrulico del problema 2.7. a

Problema 2.8 Proceso Hidrulico a En el proceso hidrulico mostrado en la Fig. 2.28 se desea determinar su ecuacin a o de estado, sabiendo que la entrada al sistema es la fuerza f (t) aplicada sobre la masa M1 de seccin A1 y la salida es el desplazamiento x2 de la masa M2 de de seccin o o A2 . B, B1 y B2 son los coecientes de friccin viscosa mientras K es la constante del o resorte. Problema 2.9 Proceso H brido En el proceso h brido mostrado en la Fig. 2.29 se desea determinar su ecuacin o de estado, sabiendo que la entrada al sistema es el ujo de agua q1 (t) y la salida es el voltaje V (t) del generador. Tomar como variables de estado la presin P 1 , la o velocidad angular T del eje del motor y la corriente de armadura iG del motor. Problema 2.10 Proceso Electromecnico a

 

))2 12)( )1)2 2 12 2 2 &' 2 12 12 0)( )1)1))1)1)1)) )0()( )))))))12 #$#$#$ () (0)0)( #$#$ 00)0()( () )( 0)00)(( ()) #$#$ ()( 00)0)( 5 ()( 0)())3)3)3))3)3)34 )00)))))555 ))))#$#$ 3 () )( 34 (( 4 4 4 34 4 67 % 4


Ta RM

          

!! !! !! " !!   ""

 

u1

P1

y1

P2

qo

44
f(t)

El Proceso a Controlar

B1 /2

ACEITE B2 /2

M2 K B

Fig. 2.28: Sistema hidrulico del problema 2.8. a


q Po A T T P1 q1 Turbina KT JT q1 TT G G TG VG K b Lc Ra La

Fig. 2.29: Proceso h brido del problema 2.9.

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

Ref

e A

Vb L

K b m Ia

Transductor

Fig. 2.30: Sistema electromecnico del problema 8.6. a

ST S R)R) U)UT R)R)RS) )))))RR T S)S)RS )r)R)R) rsb)sbc S)Spq b q )q )S)S)RS q rs) p)p)R)R)RS) ))S)))RR c p) bc Y ))R))RS X) )S)RS))R a)XY )S)S HI Q R PQ W`) VW )R))Q))PQ ) R R P)) V)`a ) P))PQ) ))` V Q)))PP PQPQ i) P)) Qi )) )i )PQgh P))i PQ)P h f )fPe ))e ) h gh g)d)))f)d) )))))de PP g)) )PQPQ) Q)de )PQ)

9 9 9 89 9 9 89 9 9 9 8)8)8))8)8))8)8)8)) ))))))))))89)89
Tm m KT

Generador DC en paralelo

BC

)F )D FG DE
M1 A1 f1 A2 f2

B1 /2

x1 B2 /2

@A

x2

Rc V

d dt f B

w v) )vw t

utu

Cap tulo 3

El Sistema de Medicin o
En este Cap tulo se aborda el sistema de medicin de un sistema de control realio mentado, el cual comprende la medicin primaria, realizada con sensores, y la conversin o o de la seal seal medida en una seal manipulable, estandarizada y transmitible. Esta n n n conversin la realiza el transmisor. o Es necesario acotar que en el mercado se pueden encontrar tanto sensores como transmisores (denominados tambin transductores, convertidores o acondicionadores de e seal) por separado, as como tambin formando instrumentos unidades completas. n e Tambin cabe mencionar que los sistemas de medicin actuales, adems de tener e o a disponibles mediciones estandarizadas tales como 4 a 20 mA o 3 a 15 psi, tambin son e capaces de procesar seales digitales empleando uno o varios protocolos industriales. n

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 realimentacin. El bloque o sistema de medicin para el control de procesos SISO (Single Input Single Output), o consta de un sensor y de un transmisor. El sensor proporciona la variable medida, la cual representa la condicin actual de la variable controlada y, mientras que el o transmisor cambia tal medicin en una seal estandarizada, la cual generalmente es o n una seal que pueda ser procesada y transmitida. En muchos casos la variable medida n y la variable controlada pueden ser la misma. Los temas sensores y transmisores se tratan en forma extensa y especilizada en los textos de instrumentacin industrial. En esta publicacin, tales temas van a ser o o tratados con el suciente nivel que exige un texto de control de procesos. La medicin del valor actual de la seal a controlar se realiza mediante un sensor, o n denominado tambin elemento primario de medicin, o un instrumento de medicin e o o que emplea los sensores adecuados para tal o cual medicin. Un sensor puede estar o caracterizado por una curva de reaccin la cual relaciona la variable medida con la o seal generada. Esta curva se obtiene aplicando una serie de entradas conocidas al n sensor y almacenando las correspondientes respuestas. Un ejemplo t pico est constia tuido por las curvas caracter sticas de Temperatura ( F) vs mV de las termocuplas. Segn el tipo de seal de salida que proporciona, un sensor se puede clasicar en u n analgicos (la seal de salida es continua dentro del rango de medicin), digital (la o n o

46

El Sistema de Medicin o

seal de salida es digital), y ONOFF (la seal de salida var entre los umbrales n n a ON y OFF). Segn la magnitud a medir, el sensor puede ser de nivel, presin, temu o peratura, proximidad, ujo, etc. Por ejemplo, una termoresistencia proporciona una seal continua en ohms, la cual es proporcional a la temperatura medida, mientras n que un radar proporciona seales discretas que son proporcionales a la magnitud de n la variable medida. Por otro lado, las seales que abren y cierran completamente una n vlvula son del tipo ONOFF. a

3.1.1.

Caracter sticas Estticas y Dinmicas a a

Un sensor posee tanto caracter sticas estticas como dinmicas. Entre las cara a acter sticas estticas tenemos: rango, alcance, resolucin, sensibilidad, curva caraca o ter stica, linealidad, saturacin, zona muerta, repetibilidad, histresis, precisin y o e o exactitud. Las caracter sticas dinmicas son: velocidad de respuesta, respuesta en a frecuencia, y estabilidad. El rango es el campo de medida de la magnitud de entrada del sensor y var entre a el valor mximo y el valor m a nimo detectables, con una tolerancia de error aceptable. El alcance o span es la diferencia entre el valor mximo y el valor m a nimo de inters, e mientras que la resolucin es la m o nima diferencia entre dos valores prximos que el o sensor es capaz de distinguir. Supongamos que un volt metro es capaz de medir en el rango de 0 a 500 V, pero nosotros slo estamos interesados en medir en la escala o de 200 a 300 V, lo cual signica un span de 100 V. El volt metro usado posee una resolucin de 0.5 V, es decir, podemos ver sin dicultad lecturas de, por ejemplo, o 200.5 V 0 289.5 V. La sensibilidad es la variacin de la salida debido a una variacin de la entrada. El o o grco de los puntos de sensibilidad dene la curva caracter a stica o de de calibracin. o Este grco representa respuesta no lineal. Mientras mayor sea la pendiente de dicha a curva, mejor la sensibilidad. En un sensor con curva de respuesta lineal, la variacin o de la salida producida por una variacin de la entrada es constante; es decir, su o 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 saturacin se maniesta en un sensor debido a la no linealidad producida por o la disminucin de sensibilidad, t o picamente al principio o al nal del rango. En las zonas de saturacin, la medicin no es conable. La zona muerta de un sensor es el o o area de valores de la variable medida que no hace variar la indicacin del instrumento. o Un sensor posee repetibilidad cuando se puede repetir el valor de la medicin de o una variable para una unica direccin de medicin. La histrisis en un sensor se parece o o e a la repetibilidad; sin embargo, el proceso de medicin es en ambos sentidos. Por o ejemplo, un termmetro posee repetibilidad porque siempre mide 49 C en un objeto o de 50 C cuando dicho objeto pasa de ms fr a ms caliente. Desafortunadamente, a o a este termmetro posee una histresis de 1 C porque en un objeto de 50 C mide o e 49 C cuando dicho objeto pasa de ms fr a ms caliente, y mide 51 C cuando el a o a objeto pasa de ms caliente a ms fr a a o. La exactitud de una medicin se reere a la mxima desviacin en % del valor o a o

3.1 Sensores

47

medido, con respecto al valor ideal. Por otro lado, un instrumento de medicin es o 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 desviacin o mxima en la medicin es 5 mA con respecto al valor real de 100 mA, la exactitud a o del instrumento resulta: 5 100 = 5 % 100 La precisin se halla calculando primero la media de las lecturas: o 105 + 103 + 105 + 103 + 105 = 104 mA 5 y luego determinando la mxima desviacin de las lecturas con respecto a dicha a o media, en este caso: 1 mA, que equivale al 1 % con respecto a la medida real de 100 mA. En la mayor de los casos, los sensores poseen un comportamiento dinmico a a 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 relacin entre la salida resistencia en ohm y la entrada temperatura o C es constante, mientras que en un otador empleado para la medicin de nivel, en o la relacin entre la salida voltaje en V y la entrada nivel en m es una expresin de o o 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 medicin. La estabilidad o en un sensor se explica como la desviacin que sufre la medicin cuando se var o o an ciertos parmetros. a La velocidad de respuesta de un sensor es la capacidad para que la seal de n salida siga sin retraso a las variaciones de la seal de entrada. Una velocidad de n respuesta rpida implica una constante de tiempo T pequea y viciversa. Por otro a n lado, la respuesta en frecuencia de un sensor se determina excitando al sensor con seales senoidales de amplitud constante y frecuencia variable. Si el sensor recibe n excitaciones senoidales, entonces en 3.1: s = j, donde j = 1 es la unidad de nmeros imaginarios y = 2f es la frecuencia angular. Luego: u K Ts + 1 =
s=j

K K = arctan(T ) = M ()M () T j + 1 1 + 2T 2

(3.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 grco de MB () vs en a escala logar tmica es la respuesta en frecuencia en magnitud del sensor representado en 3.1, mientras que el grco M = arctan(T ) vs en escala logar a tmica es su correspondiente respuesta en frecuencia de su angulo o fase. Tales representaciones se denominan los grcos de Bode en magnitud y fase. Un sensor no es estable cuando a la medicin experimenta desviaciones en los valores medidos debido a la variacin de o o ciertos parmetros, tales como K y T (ver (3.2)). a M () =

48

El Sistema de Medicin o

Sensores de Temperatura
Los sensores de temperatura, de acuerdo al principio f sico o caracter stica con que operan, se pueden clasicar en: 1. Termmetros de dilatacin, tales como los termmetros de vidrio, de bulbo y o o o bimetlicos. a 2. Termmetros sensibles a la resistencia, tales como los termmetros con resisteno o cia metlica y los termistores. a 3. Termocuplas o termopares. 4. Medicin sin contacto, como son los pirmetros opticos, de radiacin y de dos o o o colores.

3.1 Sensores

49

Fig. 3.1: Principios de los sensores.

50

El Sistema de Medicin o

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 seal del controlador. n Por lo general, el EFC consta de dos partes: el actuador, que transforma la seal n del controlador en un comando para el dispositivo manipulador, y, el mecanismo de ajuste, el cual dosica el ujo de masa o de energ que est siendo manipulado. a a Uno de los EFC ms empleados en la indutria es la VCA (Vlvula de Control a a Automtico). En una VCA neumtica, su actuador (el cabezal de la VCA con su a a membrana) recibe la seal estandarizada de 3 a 15 psig (o 0.2 a 1 bar) para desplazar n el eje o vstago que est unido a la membrana. En el extremo libre de este eje a a se encuentra el cono u obturador, y a continuacin, el asiento de la VCA. Si esta o vlvula est siendo usada para controlar el paso de un uido a travs de una tuber a a e a, entonces el mecanismo de ajuste dosica el caudal que pasa por la VCA aumentando o disminuyendo la abertura entre el cono y su asiento, en concordancia con la seal n estandarizada que recibe de su actuador. Dependiendo de la energ auxiliar con la que estn alimentadas, los actuadores a a se pueden clasicar en elctricos, neumticos e hidrulicos. Los actuadores elctricos e a a e ms empleados son el motor DC, el motor AC, la bobina con ncleo de hierro mvil, y a u o el inversor de potencia. Entre los actuadores neumticos tenemos los de membrana de a simple y doble efecto, el cilindro de membrana, el cilindro (o pistn) de doble y simple o efecto. El cilindro hidrulico y el cilindro hidrulico rotatorio son dos actuadores a a hidrulicos representativos. La Fig. 4.1 muestra el esquema de los actuadores antes a mencionados. Los dispositivos de ajuste tambin se clasican de acuerdo a la energ auxiliar e a que los alimenta. A su vez, los dispositivos de ajuste elctricos pueden ser continuos e y discontinuos. La resistencia elctrica, el transformador y el transistor de potencia e son dispositivos continuos, mientras que el contacto, el micro interruptor, el rel, un e tiristor o un triac son discontinuos. En las vlvulas para gas, vapor, l a quidos o granos, el conjunto obturadorasiento constituye el dispositivo de ajuste.

52

Elementos Finales de Control

(a)

(b)

(c)

(d)

(e) R S T (g)

(f)

(h)

Fig. 4.1: Actuadores.


(a) (b) (c) (d) (e)

(f)

(g)

(h)

Fig. 4.2: Actuadores.

4.2.
4.2.1.

La Vlvula de Control Automtica (VCA) a a


Dimensionamiento de una VCA

La VCA es uno de los EFC ms empleados en el control de procesos tales como a presin, nivel, temperatura, uidos (l o quidos, gases, vapor), PH, redox, etc. Existen tres tipos principales de vlvula: de aperura y cierre rpido (vlvulas ONOFF), de a a a caracter stica lineal y de caracter stica isoporcentual.

y y y y y y y y y y y y y y
w

yy yy yy yy yy yyy yyy yyy yyy yyy yy yyy

yy yy y y yy yy yy y y yy

xy yy xyy y xxx xyy yy

4.2 La Vlvula de Control Automtica (VCA) a a

53

La abertura o posicin del vstago en una vlvula ONOFF est restringida a o a a a dos posiciones: apertura y cierre, mientras que en las vlvulas de caracter a stica lineal e isoporcentual, las posicin m del vstago responde a una ecuacin que es funcin o a o o de la constante Cv o tamao de la vlvula. Para un mejor entendimiento del tema, a n a continuacin se deduce la expresin de CV para un uido que uye en una VCA. o o La porcin de la vlvula que muestra la Fig. 4.3 corresponde al cono y al asiento o a de la misma, por donde uye un producto de caudal Q, que posee un peso espec co y una densidad . El uido ingresa a vlvula con una velocidad V1 , cruzando una a una seccin A1 y produciendo una presin P1 . El ujo sale por la abertura vstago o o a cono de seccin A2 , a una velocidad V2 y generando una presin P2 . El principio de o o Bernoulli nos permite formular: P1 V12 P2 V22 + + h1 = + + h2 2g 2g Por continuidad: Q = V 1 A1 = V 2 A2 V 1 = 2 V2 2 = A2 A1 (4.2) (4.1)

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 pequea. n Reemplazando V1 de (4.2) en (4.1) produce: V2 = (P2 P1 )2g H2 O = (1 4 ) H 2 O (P2 P1 )2g GF (1 4 )H2 O GF = H 2 O (4.3)

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

donde la constante Cv , conocida tambin como tamao o dimensionamiento de la e n vlvula, posee la expresin: a o Cv = A 2 2g =Q GF (1 4 )H2 O GF (P2 P1 ) (4.5)

Esta ultima expresin se corrige multiplicndola por factores que toman en cuenta o a prdidas, ruido, caracter e stica del uido, etc. Notar que cuando P 2 P1 = GF = 1, entonces: Q = Cv ; es decir, el caudal iguala al tamao de la vlvula. n a Bajo ciertas consideraciones, la constante Cv de la vlvula ha sido adoptado por a los fabricantes y usuarios como un coeciente de dimensionamiento. En este sentido, esta constante se dene como el caudal en galones USA por minuto (gpm) que pasa a travs de la vlvula en posicin completamente abierta y con una prdida de carga e a o e (ca de presin) de una libra por pulgada cuadrada (psi). da o En aquellos pa donde se emplean el sistema mtrico, la constante de la vlvula ses e a C) en m3 /h que pasa se denomina Kv y se dene como el caudal de agua (de 5 a 40 a travs de una vlvula a una determinada apertura y con una prdida de carga e a e

54

Elementos Finales de Control

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

Fig. 4.3: Cono y asiento en una vlvula de control automtica. a a

de de 1 bar (105 Pa). La equivalencia entre los coecientes 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 vlvula ((rangeability en ingls) se dene por la a e relacin: o Kvs (4.7) R= Kv0 donde Kvs es la constante para vlvula completamente abierta, mientras que K v0 es a el m nimo valor de la misma. El rango R toma un valor de 30 a 1 en VCAs del tipo isoporcentual, y de 15 a 1 o de 30 a 1 en VCAs lineales. La curva caracter stica de una VCA lineal est regida por la relacin: a o Cv = Cvmax mientras que para una VCA isoporcentual: Cv = Cvmax R 100 1
m

m 100

(4.8)

(4.9)

donde m es la posicin del eje o vstago de la vlvula expresado en % y C vmax es el o a a valor mximo de Cv . El denominado factor CL , que represente la restriccin a uir a o ofrecida por la linea (tuber y por otros elementos del proceso en la linea, se puede a) calcular de: B CL = Cvmax (4.10) 1B donde B es la razn de ca de presin, denida como: o da o B= Ca de presin m da o nima (vlvula abierta) a Ca de presin mxima (vlvula cerrada) da o a a

(4.11)

Un factor de ujo combinado, denominado CE , se puede formular como: CE = CL Cv


2 2 CL + Cv

(4.12)

4.2 La Vlvula de Control Automtica (VCA) a a

55

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

La Fig. 4.4 muestra las curvas caracter sticas de las vlvulas ONOFF, lineal (ecuacin a o (4.8)) e isoporcentual (ecuacin (4.9)), mientras que la Fig. 4.5 ilustra la forma de o 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 presin P 0 . La o ca de presin en la VCA es P = P1 P2 , mientras que las prdidas P1 , P2 da o e y P3 ocurren en otras partes de la linea. Para tal situacin, es evidente que: o P0 = P + P1 + P2 + P3

56

Elementos Finales de Control

La experiencia dicta dicta que una ca de presin conveniente a considerar en la da o 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 regulacin de la VCA debe de mantenerse, an o u cuando la presin nominal en la linea sea mxima. En esta situacin, como se ilustra o a o en la Fig. 4.6(b), pueden ocurrir oscilaciones del caudal a ambos lados del punto de operacin A de la VCA. Esto signica que el caudal QAmax tiene que poder oscilar o a ambos lados de A. Entonces, resulta conveniente que tal punto de operacin se o ubique en el rango de 50 % al 80 % de la abertura de la vlvula u. Si el punto A se a ubicara en el rango de 20 % al 40 %, entonces es posible obtener un valor adecuado de la ganancia del sistema de control realimentado.
P1 Presin de la bomba: P0 Q Q Amax P P2 P 1 (a) P2 P3

Para mxima presin nominal Punto adecuado ubicado al 70% u [mm] 0% A (b) 100%

Fig. 4.6: (a) Vlvula operando en una linea. (b) Operacin de una VCA alrededor a o del punto de operacin A. o

Cap tulo 5

Control PID SISO


El controlador PID SISO procesa la seal de error e(t), la cual es la diferencia entre n la seal deseada r(t) y la seal controlada y(t) (la salida del sistema), empleando un n n algoritmo de control ampliamente difundido en el mundo industrial, cuya forma ms a conocida es: u(t) = Kc e(t) + Kc Ti e(t)dt + Kc Td de(t) = P (t) + I(t) + D(t) dt

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

donde Kc es la ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo. En la expresin anterior se puede ver claramente que el algoritmo PID posee una parte o proporcional: P (t) = Kc e(t), una parte integral: I(t) = Kic e(t)dt y una derivativa: T

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 seal PV) se desea controlar, un controlador G c (s) que genera n la seal de control u (la seal MV) y el sistema de medicin Gm (s) que se ocupa de n n o sensar y transmitir la seal y. El comparador que genera la seal de error e = r y, n n donde r es la seal de referencia deseada o SP, es parte del controlador. n El controlador mostrado en las Figs. 5.1(b) y (c) ha sido dividido en dos partes: Gc1 (s) y Gc2 (s). Para algunas conguraciones Gc1 (s) es del tipo PI mientras que Gc2 (s) es del tipo D, tal como se ver ms adelante. Notar que el sistema a controlar a a 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 realimentacin. o

58
r e u y

Control PID SISO

Gc (s)

G p(s)

G m (s) (a) r e G c1 (s) u G p(s) G c2 (s) G m (s) (b) G a (s) r e G c (s) u y G p(s) y

G m (s) (c)

Fig. 5.1: Sistemas de control realimentados.

El objetivo de control consiste en disear una seal de control u, generada por el n n algoritmo de control, que sea capaz de estabilizar la salida y del sistema con respecto a una seal de referencia r. En otras palabras, que la seal de control u sea capaz de n n minimizar la seal de error e = r y, cumpliendo ciertas especicaciones de diseo n n 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 accin de los disturbios dy , du y dm actuando en la salida del sistema, en la salida o 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 mltiple: disear una seal de control u que sea capaz de estabilizar la salida y u n n con respecto a la seal de referencia r, cumpliendo ciertas especicaciones de diseo n n (ver seccin 5.2) previamente establecidas, rechazando al mismo tiempo la accin de o o los disturbios que actan sobre el sistema. u El ltro de entrada sirve para eliminar las componentes de alta frecuencia, cuya presencia puede ser daina durante el funcionamiento del sistema de control realin mentado. Por otro lado, para evitar posibles daos en el actuador del elemento nal n 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 tratado en la seccin 5.7. a o

5.2 Especicaciones de Dise o n


du r Filtro de entrada e Controlador dy y

59

Limitador Proceso ms u u u elemento u final de control

Sensor ms transmisor dm

Fig. 5.2: Sistema de control SISO con ltro de entrada, con limitador de salida y sujeto a la accin de disturbios. o

5.2.

Especicaciones de Dise o n

Todo sistema de control debe de cumplir ciertas especicaciones de diseo. Estas n especicaciones se establecen tanto en el dominio del tiempo como en el de la frecuencia. las especicaciones ms usadas en el dominio del tiempo son: error en estado a estable ess , tiempo de estabilizacin Ts , porcentaje de sobrenivel P.O. y tiempo de o subida Tr . En el dominio de la frecuencia, las especicaciones de ms aplicacin son: a o ancho de banda B , margen de fase Mf y margen de ganancia Mg .

5.2.1.

Especicaciones de Dise o en el Dominio del Tiempo n

Para explicar las especicaciones de diseo en el dominio del tiempo, se acosn tumbra emplear el sistema de segundo orden con realimentacin unitaria mostrado o en la Fig. 5.3(a). En la Fig. 5.3(b) se observa la respuesta transitoria a un escaln o de entrada, donde n es la frecuencia natural de oscilacin, < 1 es el coeciente o de amortiguamiento, A es la magnitud de la entrada tipo escaln r, Mp es el valor o mximo de la salida y, Tr es el tiempo de subida, Tp es el tiempo pico, Ts es el tiempo a de estabilizacin y ess es el error en estado estable. o El tiempo Ts se dene 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 escaln de magnitud A, el P O (porcentaje de sobrenivel) o del sistema se dene como: PO = Mp A 100 A (5.2)

El error en estado estable ess = r yss es la diferencia entre la seal de referencia n r y el valor en estado estacionario yss de la salida. Este error debe de permanecer dentro de la banda 2 preestablecida. Para la situacin mostrada en la Fig. 5.3(b), o

60

Control PID SISO

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

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

A =A ess = r yss = A A = 0 t s0 s Sin demostracin, las relaciones exactas para Tp , Mp y P O se expresan como: o Mp A 2 P O = 100 (5.3) = 100e/ 1 A 2 Mp = A 1 + e/ 1 (5.4) l y(t) = yss = l sGp (s) m m Tr = Tp = d d d = n 1 2 = arc cos (5.5) (5.6)

r s (s

2 n 2 n ) (a)

r A 2 n s2 0 2 n s 2 n (b) Zona de estabilidad n (c) j y

y Mp A yss 0 T r Tp Ts

e ss

Plano s

s1 n s2

j d Zona de inestabilidad

Fig. 5.3: Respuesta al escaln de un sistema de segundo orden autoregulado. o

La ecuacin caracter o stica del sistema de segundo orden es el denominador de la FT mostrada en la Fig. 5.3(b):
2 s2 + 2n s + n = 0

(5.7)

5.2 Especicaciones de Dise o n

61

Sus ra caracter ces sticas o eigenvalues, ilustradas en la Fig. 5.3(c), se expresan como: s1 = n + jd s2 = n jd

De la Fig. 5.3(c) es fcil deducir la relacin: = arc cos usada en (5.5). a o En los sistemas sobreamortiguados, cuyas respuestas al escaln ocurren cuando o 1, tal como se muestran en las partes superior e inferior izquierda de la Fig. 2.20, el tiempo de subida Tr se dene como el tiempo en que se alcanza el 90 % de la magnitud A de la entrada tipo escaln, y se calcula de: o Tr = 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 especicaciones de diseo: el porcentaje de n sobrenivel de la respuesta y(t) a un escaln unitario debe de ser menor del 3 % y el o tiempo para alcanzar el valor estacionario de la respuesta debe de ser menor de 8 s.
r s (s K p) y

2.16 + 0.16 n

0.3 0.8

(5.8)

Fig. 5.4: Sistema realimentado del ejemplo 5.1.

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


2 y(s) K n = 2 = 2 2 r(s) s + ps + K s + 2n s + n

p = 2n

2 K = n

donde se puede determinar de la condicin P O < 3 %, a saber: o c ln(100/P O) 2 c= 100e/ 1 < P O > 2 1+c
4 de donde resulta: < 0.745. Dado que Ts = n < 8 s, entonces: n > (2)1 = 0.67. Luego se pueden determinar los parmetros p y K pedidos. a

5.2.2.

Especicaciones de Dise o en el Dominio de la Frecuencia n

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

62

Control PID SISO

Grcos de Bode y Nyquist, y Carta de Nichols a


El grco de Bode en magnitud de una FT G(j) se obtiene gracando la maga nitud |G(j)|dB = 20 log(G(j)) expresada en dB (decibelios) versus la frecuencia representada en una escala logar tmica (log ). Si la escala logar tmica usada es vulgar (de base 10), entonces log se representa en dcadas. En cambio, si es de base 2, log e se representa en octavas. Una escala de frecuencias en dcadas podr ser: e a 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 grco de Bode en fase de una FT G(j) se obtiene gracando la fase G(j) a expresada en grados sexagesimales versus la frecuencia log representada en escala logar tmica de base 10 (dcadas) o en escala logar e 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 grco de Nyquist se grca a a la parte real u versus la parte imaginaria v de la FT G(j) del proceso. El grco de |G(j)|dB versus en escala logar a tmica se denomina la carta de Nichols que tambin se emplea en el diseo de sistemas de control v la respuesta e n a en frecuencia. Ejemplo 5.2 Elaborar los grcos de Bode y Nyquist y la carta Nichols del proceso con FT: a G(s) =
2 n 2 s2 + 2zn s + n

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

Especicaciones de Dise o en Frecuencia n


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 grco de Bode en a magnitud. Sin demostracin, el valor pico M de la magnitud, el cual se puede emplear o como especicacin de diseo, posee la relacin: o n o M = 1 2(1 2 ) 0.7 (5.9)

5.2 Especicaciones de Dise o n

63

Bode Diagram 20 0 Magnitude (dB) 20 40 60 80 0 45 90 135 180

z=0.1 z=0.5 z=0.9 z=1.3

Phase (deg)

z=0.9 z=1.3

z=0.1 z=0.5

10

10

10 Frequency (rad/sec)

10

10

Fig. 5.5: Grcos de Bode para el ejemplo 5.2. a

Nyquist Diagram 6

z=0.1
2 Imaginary Axis

z=0.5

z=0.9

z=1.3

6 3

0 Real Axis

Fig. 5.6: Grco de Nyquist para el ejemplo 5.2. a

64

Control PID SISO

Nichols Chart 20

z=0.1
0

OpenLoop Gain (dB)

20

40

z=0.5

z=0.9

z=1.3

60

80

100 180

135

90 OpenLoop Phase (deg)

45

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 expresin es: o r = n 1 2 2 0.7 (5.10) El ancho de banda del sistema se reere a la frecuencia B para la cual existe una ca de 3 dB, tal como se observa en la Fig. 5.8(b) y se calcula de: da 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 denen 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 ecuacin caracter o 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 un valor muy grande. Esta situacin es a o

5.2 Especicaciones de Dise o n


r(j)=Asen t A t r(j ) 2 n (j)2 2 n j n 2 (a) y(j)/r(j ) (b) (M) dB 0dB 3dB 0 r B log
dB

65
y(j )=Bsen(t+) y(j) B t

Fig. 5.8: (a) Respuesta de un proceso de segundo orden a una sinusoide. (b) Su grco a 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 nulas provocan tambin comportamiento inestable del ces e sistema realimentado. En general: GH(j) = |GH(j)|GH(j) |GH(j)| = u2 + v 2 GH(j) = arctan v 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 graca tal situacin, donde u = 1, v = 0, |GH(j)| = 1 y GH(j) = o 180 .


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

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

El margen de ganancia Mg se dene 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 angulo ocurre cuando v = 0. El Mg se puede interpretar como un factor por el cual tiene que aumentarse la ganancia del sistema para que el grco de GH(j) a 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 dene como el angulo de fase que debe de girar el grco de GH(j) = u + jv para que el punto de magnitud |GH(j)| = 1, pase a a travs del punto (u, v) = (1, 0), tal como se muestran en las Figs. 5.10(b), (c) y (d). e Los sistemas estables poseen Mf positivos, mientras que el Mf es negativo para los sistemas inestables. Ejemplo 5.3 Determinar los mrgenes de fase y de ganancia del sistema mostrado en la Fig. 5.10(a) a sabiendo que: G(s) = 1.5 (s + 0.1)(s + 0.3)(s + 0.4) H(s) = 0.1

Solucin: Ver programa mfmg1.m y Fig. 5.11. o


% mfmg1.m CLCULO DE LOS MRGENES DE FASE Y DE GANANCIA A A 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); % GRFICA BODE DE GH A [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 seccin abordaremos estos modos o de control. Para un mejor entendimiento del tema, emplearemos un sistema de control con realimentacin unitaria y SP igual a la unidad,cuyo proceso posee la siguiente o FT: s + Tz Gp (s) = (5.12) (s + T1 )(s + T2 )(s + T3 )(s + T4 )(s + T5 ) En este proceso sern aplicadas las acciones de control PID. La accin de control a o ONOFF se trata por separado en la siguiente seccin. o

5.3.1.

La Banda Proporcional BP %

La accin P del controlador se expresa como: u(t) = Kc e(t) (ver Fig. 5.13), o donde u(t) es la seal de salida del controlador (o MV) que se dirige al elemento n nal de control (EFC), Kc es la ganancia proporcional del controlador, y e(t), la entrada al controlador, es el error de desviacin entre la seal deseada (o SP) y la o n variable controlada (o PV). En muchos casos prcticos no se emplea K c , sino su a

5.3 Modos de Control PID

67

G(j) H(j)

y r 1 (a) GH dB log M g positivo G(j) G H(j)

GH dB 0 dB ang GH 90 180 270 log M f positivo

M g negativo log

90 180 270 (b)

log M f negativo

M g positivo

jv 1 Mg 1 u

M f negativo M g negativo

jv 1 u

M f positivo (c) GH dB M g positivo 0 dB M f positivo 270 180 90 (d) 270 0 dB

1 Mg

GH dB M g negativo

M f negativo 180 90

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

68
Bode Diagram Gm = 0.598 dB (at 0.436 rad/sec) , Pm = 2.13 deg (at 0.45 rad/sec) 40 20 0 20 40 60 80 0

Control PID SISO

Magnitude (dB) Phase (deg)

90

180

270

10

10

10 Frequency (rad/sec)

10

10

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

inversa expresada en porcentaje: BP % = 100/Kc , donde BP % es conocida como la banda proporcional. Dicha BP se puede denir 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 accin del control proporcional. o Es posible ajustar la cantidad de accin proporcional suministrada por el controo lador. Este ajuste se reere al cambio del ancho de la PB %, tal como se ilustra en la Fig. 5.12, en donde la accin proporcional est representada por la palanca y el o a ajuste del ancho de la PB % se realiza desplazando el punto pivote de la palanca. En la Fig. 5.12(a) el punto pivote est ubicado en el centro de la palanca. Observar a que es necesario que la seal de error, la entrada, haga un recorrido completo (desde n su valor m nimo hasta su valor mximo) para mover el EFC (la vlvula automtica a a a de control) desde su posicin completamente abierta a completamente cerrada. En o 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 un cambio de 200 % en la entrada, es decir, una PB % a de 200 %. En un caso real, no es posible cambiar la entrada a 200 % debido a que 100 % es lo mximo que se puede modicar. Por lo tanto, si el EFC es una vlvula, a a sta nunca estar ni completamente abierta ni completamente cerrada. e a 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

La Fig. 5.13 muestra el diagrama en bloque de un controlador P (proporcional) caracterizado por su ganancia Kc , la cual se dene como la relacin de cambios entre o la entrada y la salida:

donde e es el cambio en la seal de error, u es cambio en la seal de control, U n n es el rango mximo medible (o span) de la salida del controlador y E es el rango a de medicin (o span) de la seal controlada. La banda proporcional en porcentaje, o n denotada como BP %, se dene como la inversa de la ganancia Kc del controlador:

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

Fig. 5.12: Cambio en la PB % para modicar la accin proporcional del controlador. o

5.3 Modos de Control PID

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 vstago de la vlvula a a
Error Mx. Abertura de vlvula 100%

)) ) ))) ))) )) ))) )) )) ))

))) ))) ) g f) ) ) ) fg) ) )fgfg ) ) ))

Error Mx.

 ~)~ )) )~ ) ) )))))))) ))) ))))))))) ))) )))))) )) ))) )))))) ) )))))) )))))) ))) ))) ) ) ) ) ) ) ) ) ) )))))) ) ))))) )))))) )))))) )))))) dede )))))) ) ) ) ) ) ) )))))) )))))) ))) ))) )dede )))) )))))) ) ) )))))) )) )))))) ) ))))) )))))) ) )) )))))))) )))))) ))) ))) )))))) ))) ))) )))))) )))))) )))))) h h{ ))h }z){){} z{} {|}|} {} )z)z))z)z) x x |))))))z{ ))x q r }))|)|))|) w w p) {|){){})z{}){){}) ))w o ) z)z)z))z)z) v ))r {))))))z{ )v |}|} z)z)z))z)z)z{|} ))u }z))})}))}) ){){|)z{|){){|) |{)z)z))z)z) )))))) u u j))|)|))|) {po q ))))))z{z{|}|} }z){){})z{}){){}) )z)z))z)z) |)))))) }))|)|))|) |{))})}))}) ){){|)z{|){){|) |}|}|} |}|}|} l m z)z)z))z)z) ) {){){)){){) s kj)n)jkl z)z)z))z)z) t)s ))m)))))))z{z{z{|}|}|}|}|} )t)s }z){){})z{}){){}) )z)z))z)z) |)))))) }))|)|))|) |{){){})z{}){){}) }))|)|))|) |))}){}))}) |}|}|} |}|}|} )))i )z))) ))y i i n)i )|)|))|) y y
(a) PB% = 100% (b) PB% = 200% (c) PB% = 50% Pivote Pivote Pivote

Ejemplo 5.4
Mn. Mn. Mn. Error Mx.

PB % = Kc =

u U e E

100 Kc
Abertura de vlvula 100% Abertura de vlvula 100% 50% 50% 50% 0% 0% 0%

(5.13)

(5.14) 69

70

Control PID SISO

e E

Controlador Proporcional

u U

Fig. 5.13: Controlador tipo P (proporcional).

de control. Se sabe adems que el desplazamiento mximo del vstago es de U = 40 a a a mm y que el rango de medicin de la variable del sistema controlado es de 100 o C a o 500o C, lo cual signica que E = 500o C - 100o C = 400o C. Solucin.- La ganancia Kc del controlador para el punto de operacin en estudio se o o 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 % = 100 100 = = 50 % Kc 2

5.3.2.

Control Proporcional

La cantidad de accin proporcional que se emplea en un proceso depende de las o 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 sucientemente grande), entonces un cambio pequeo en e(t) puede provocar que la seal u(t) haga oscilar n n 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 pequea), genera un cambio a rango completo en e(t), n 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 conclusin, una BP muy ancha o proporciona poca accin de control proporcional, mientras que cuando la BP es muy o angosta, la accin de control es muy grande. o En muchos casos, la accin proporcional de control es la causante del fenmeno o o oset o ess (error en estado estable), el cual se traduce en una desviacin permanente o entre las seales SP y PV. En la Fig. 5.14, las echas con doble punta indican la n magnitud del oset 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 N PROPORCIONAL); O xlabel(TIEMPO); ylabel(AMPLITUD); print -deps -f mcp

5.3 Modos de Control PID

71

ACCIN PROPORCIONAL 1.4

1.2

SP
1

Kc=2.05; BP%=48.8

AMPLITUD

0.8

0.6

Kc=1.05; BP%=95.24
0.4

Kc=0.05; BP%=2000
0.2

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 accin de control integral, o control reset, es necesaria cuando la cantidad de o oset en un proceso sujeto al control proporcional es inaceptable. Esta accin de o control se suma a menudo al control proporcional para minimizar el oset o e ss . As , este modo de control toma el nombre de PI (Proporcional ms Integral). a 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: u(t) = Kc e(t) + KI e(t)dt KI = Kc Ti

donde KI es la ganacia integral y Ti es el tiempo reset o integral. Observar que en todos los casos, el oset desaparece, y, conforme aumenta KI (disminuya Ti ), el tiempo de estabilizacin, indicadas por echas horizontales de dos puntas, disminuye, o pero, el sobrenivel tiende a aumentar. Esto ultimo es ms notorio para el caso K I = a 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(ACCIN PROPORCIONAL MS INTEGRAL); O A print -deps -f mcpi

5.3.4.

Control Derivativo

La accin de control derivativa, o control rate, emplea la razn de cambio de o o la seal controlada y(t) de un proceso, para ajustar la salida u(t) del controlador. n

72

Control PID SISO

ACCIN PROPORCIONAL MS INTEGRAL 1.4

1.2

Ti = 3; KI=0.2
1

AMPLITUD

0.8

Ti=9; KI=0.066 Ti=15; KI=0.04

0.6

0.4

0.2

10

20

30

40 50 60 TIEMPO (sec)

70

80

90

100

Fig. 5.15: Modo de control proporcional ms integral. a

La magnitud del ajuste est determinada por qu tan rpido es la desviacin del a e a o error. Esta accin de control se suma a menudo al control proporcional para corregir o cambios rpidos en la variable controlada. As este modo de control toma el nombre a , de PD (Proporcional ms Derivativo). a 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 oset es el mismo (y de gran magnitud), as como tambin lo e es el tiempo de estabilizacin (echa horizontal de doble punta). Notar tambin que o e conforme aumenta KD (aumenta Td ), el sobrenivel tambin crece. e
% 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(ACCIN PROPORCIONAL MS DERIVATIVA); O A print -deps -f mcpd

5.3.5.

Control PID

Hemos visto que slo el control PI es capaz de estabilizar la salida del sistema de o control en su SP. Esto signica 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 de los procesos industriales se acrecienta, si a est permitido usar todas las combinaciones posibles: P, I, PI, PD y PID. a

5.4 Control de Dos Posiciones

73

ACCIN PROPORCIONAL MS DERIVATIVA 0.7

KD=0.06; Td=0.1
0.6

KD=0.3; Td=0.6

0.5

AMPPLITUD

0.4

KD=0.66; Td=1.1

0.3

0.2

0.1

10

20

30

40 50 60 TIEMPO (sec)

70

80

90

100

Fig. 5.16: Modo de control proporcional ms derivativo. a

La Tabla 5.1 muestra la tendencia (a aumentar o disminuir) que tienen los parmeta ros de diseo, cuando se incrementan las ganancias Kc , Ki o Kd . Es importante anotar n que tal tabla debe de ser aplicada con cuidado, debido a que en un sistema de control PID, los cambios en en los parmetros de diseo no ocurren por separado, sino tales a n cambios pueden estar interconectados. Esto es, cambios en un parmetro de de diseo a n pueden afectar el comportamiento de otros. Tabla 5.1: Variacin de los parmetros de diseo cuando se incrementa: K c , Ki o Kd o a n Parmetro a Kc Ki Kd Tiempo de de subida Tr Disminuye Disminuye Cambio pequeo n Sobrenivel (PO %) Aumenta Aumenta Disminuye Ts : Tiempo de estabilizacin o Cambio pequeo n Aumenta Disminuye ess : Error en estado estable Disminuye Elimina Cambio pequeo n

5.4.

Control de Dos Posiciones

La accin de control de dos posiciones se implementa con un dispositivo que o posee dos condiciones de operacin: completamente ON (por ejemplo: vlvula 100 % o a abierta, rel activado) y completamente OFF (ejemplo: vlvula cerrada del todo, e a rel desactivado). La Fig. 5.17(a) muestra un sistema de control con un controlador e de dos posiciones y una vlvula ONOFF (de apertura y cierre) como el EFC. a En la Fig. 5.17(b), el controlador es el dispositivo no lineal denominado rel idee al. 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 vlvula ONOFF. a Claramente, cuando y(t) sobrepasa el set point, el controlador genera una seal U min n para que la vlvula se cierre. En cambio, si y(t) se encuentra debajo del set point, el a controlador genera una seal Umax para que la vlvula se abra. El efecto nal es que n a la salida controlada y(t) ucta alrededor del set point. u En la Fig. 5.17(C), el controlador es un rel con zona muerta de magnitud h 1 h2 e alrededor del set point. Notar que si la variable controlada y(t) se encuentra dentro de la zona muerta, no ocurre ninguna accin de control. De esta manera la zona muerta o minimiza el desgaste y los daos debido a que se evita el continuo funcionamiento n c clico del EFC, por ejemplo, la vlvula mostrada en la Fig. 5.17(b). a
Set Point e(t) Control de dos posiciones u(t)

Vlvula ONOFF Sistema de Instrumentacin (a)

u(t) Umax 0 Umin y(t) Ymax Set Point Ymin Vlvula Abierta (Umax) e(t)

Ymax t Zona Muerta Ymin Vlvula Abierta (Umax) t (b) Vlvula Cerrada (Umin) (c) t t

Vlvula Cerrada (Umin)

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

Ejemplo 5.5 Disear un controlador de dos posiciones sin zona muerta para controlar el siguiente n proceso: Kp e s Gp (s) = Ts + 1 Solucin: La Fig. 5.18 muestra el diagrama Simulink del sistema de control (archivo o ono1.mdl), mientras que la Fig. 5.19 muestra la salida y(t) controlada y la seal de n

Proceso

y(t)

u(t) Umax h1 y(t) h2 Umin e(t)

5.4 Control de Dos Posiciones

75

control u(t). Este grco se obtuvo ejecutando el archivo ono1data.m, cuyo listado a se muestra abajo. El relay empleado posee los parmetros Umin = 0.8, Umax = 1.2, a Switch On Point = 0 y Switch O Point = 0. La FT de la vlvula se asume que es a una constante incluida en Kp .

e(t) Step rh R th Clock t t Relay

u(t)

Kp T.s+1 Transfer Fcn Transport Delay

y(t) Scope

uh u

yh y

Save in format array

Fig. 5.18: Diagrama Simulink para el ejemplo 5.5.

1.4 1.2

CONTROL ONOFF DEL PROCESO

u(t) 1 set point y(t) y u(t) 0.8 y(t) 0.6 0.4 0.2 0

10

20

TIEMPO [s]

30

40

50

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

% 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

Control PID SISO

5.5.

Estructuras del Controlador PID

El algoritmo de control PID es el ms usado en la actualidad por la industria. Se a estima que tal algoritmo se aplica en ms del 90 % de las aplicaciones. Sin embargo, no a existe un estndar industrial de tal algoritmo. Existen varias estructuras del algoritmo a PID [29], algunas de las cuales se formulan a continuacin. o El controlador PID Ideal El controlador PID ideal, denominado tambin controlador no interactivo, algoe ritmo ISA (Instrument Society of America) o controlador paralelo no interactivo se formula como: u = KC e + e = ry 1 Ti
t

e dt + Td
0

de dt (5.15)

donde u es la seal o fuerza de control, y es la salida controlada del sistema (pern manentemente sujeta a medicin), e es la seal de error, r es la seal de referencia o n n 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 seal de error empleada: e = r y corresponde a n una accin de control inversa. Para una accin de control directa, el error se expresa o o 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: Gc (s) = u(s) Kc 1 = Kc 1 + + Td s = K c + + K c Td s e(s) Ti s Ti s (5.16)

El controlador PID Paralelo El controlador PID paralelo, denominado tambin paralelo ideal, no interactivo, e independiente o independiente de la ganancia, es una variacin del controlador ideal o 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 parmetros Kc , 1/Ti y Td del controlador PID paralelo dado en (5.17) a corresponden a los parmetros Kc , Kc /Ti y Kc Td del controlador PID ideal de (5.16). a Por consiguiente, (5.17) puede ser siempre reemplazado por (5.16). El controlador PID Ideal Filtrado Muchas veces es necesario introducir un ltro para suavizar seales ruidosas, n antes que se apliquen al algoritmo de control. Para estos casos se recomienda usar el

5.5 Estructuras del Controlador PID

77

siguiente ltro 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 ltro. Dado que el ruido en el sistema se amplica principalmente por la accin derivativa, entonces T se puede formular proo porcional al tiempo derivativo como sigue: T = Td ef (s) = 1 e(s) 1 + Td s (5.19)

Introduciendo en (5.16) el ltro dado en (5.19), se obtiene el siguiente controlador PID ideal ltrado: Gc (s) = u(s) = Kc e(s) 1 1 + Td s 1+ 1 + Td s Ti s (5.20)

El Controlador PID con Parte Derivativa Filtrada El controlador PID con parte derivativa ltrada, denominada tambin no intere activa, posee la expresin: o Gc (s) = u(s) = Kc e(s) 1+ 1 Td s + Ti s 1 + T d s N 3 N 10 (5.21)

El Controlador PID Clsico a El controlador PID clsico mostrado se denomina tambin controlador en cascada, a e interactivo, serie, interactuante, anlogo o comercial y se describe como: a Gc (s) = 1 u(s) = Kc 1 + e(s) Ti s 1 + Td s 1+
Td N

3 N 10

(5.22)

El Controlador PID Clsico Generalizado a El controlador PID clsico generalizado mostrado, con 3 N 10 se formula a como: Gc (s) = u(s) = Kc e(s) 1+ Td s 1 + Ti s 1 + T d s N bf 0 + bf 1 s + bf 2 s2 1 + a f 1 s + a f 2 s2 (5.23)

El Controlador PID Dependiente El controlador PID dependiente se denomina tambin controlador serie, interace tuante o de algoritmo anlogo, y se describe como: a Gc (s) = 1 u(s) = Kc 1 + e(s) Ti s 1 + Td s (5.24)

78 La expresin dada en (5.24) se puede reordenar como: o Gc (s) = Kc T T s Ti + T d 1 1+ + i d Ti Ti + T d s Ti + T d

Control PID SISO

= Kc 1 +

1 + Td s Ti s

(5.25)

La estructura en (5.25) es semejante a la estructura dada en (5.15) con: Kc = K c Ti + T d Ti Ti = T i + T d Td = Ti Td Ti + T d (5.26)

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

Td = 0.5Td 1 +

Cuando Td = Ti /4 en (5.27), los parmetros de sintonizacin se convierten en: a o Kc = 0.5Kc Ti = 0.5Ti Td = 0.5Td

Para Td > TI /4, el controlador dependiente nunca ser similar al controlador ideal, a ya que para esta condicin los parmetros en (5.27) se vuelven imaginarios. o a El Controlador PID Interactivo El controlador interactivo posee la siguiente estructura (compararla con la estructura del controlador clsico): a Gc (s) = 1 u(s) = Kc 1 + e(s) Ti s Td s 1+
Td N

(5.28)

El Controlador PID Mejorado El controlador mejorado posee la siguiente estructura (compararla con la estructura del controlador interactivo): u(s) = Kc 1 + 1 Ti s e(s) Kc Td s 1+
Td N

y(s)

(5.29)

El Controlador PID con Dos Grados de Libertad El controlador con dos grados de libertad, conocido tambin como controlador e mPID o ISAPID, posee la siguiente estructura: u(s) = Kc (1 ) + (1 )Td s 1 Td s 1 + + e(s)Kc 1 + y(s) (5.30) Td Ti s Ti s 1 + T d s 1+ N s N

5.6 Mtodos de Sintonizacin de Controladores PID e o

79

5.6.

Mtodos de Sintonizacin de Controladores PID e o

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

5.6.1.

Mtodos Basados en la Curva de Reaccin e o

La respuesta de un proceso a un escaln se denomina la curva de reaccin. En o o un procesos autoregulado, su curva de reaccin tiende a un estado estacionario, que o tambin puede ser el estado cero, tal como ocurre en los procesos descritos por las e siguientes FTs: Gp (s) = Kp Ts + 1 Gp (s) = Kp (T1 s + 1)(T2 s + 1)

En contraposicin, los procesos no autoregulados poseen una curva de reaccin no o o 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)

Mtodo de la Constante de Tiempo e


El mtodo de la constante de tiempo del lazo de control se emplea para procesos e de primer orden dado por la ecuacin (??). Los parmetros del controlador PID se o a sintonizan con las relaciones siguientes: Kc = Ejemplo 5.6 Se desea controlar el siguiente proceso empleando el mtodo de la constante de tieme po: Kp Gp (s) = Ts + 1 donde Kp = 2 y T = 5. Para el control emplear la conguracin de la Fig. 5.1(a). o Solucin: Ver el archivo ct1.m. La salida controladas se muestran en la Fig. 5.20. o
% 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

1 Kp

Ti = T

Td =

1 Ti 4

(5.31)

80
CONTROL PID USANDO EL MTODO DE LA TANGENTE 1.2

Control PID SISO

1.1

0.9

0.8

SALIDA

0.7

0.6

0.5

0.4

0.3

0.2

10

15

20

25 TIEMPO (sec)

30

35

40

45

50

Fig. 5.20: Salida controlada del ejemplo 5.6.

Mtodo de Hartree e
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 para controlar sistemas tipo Gp (s) = Kp e s . a Mtodo e Curva de reaccin o Controlador Gc (s) Kc 1 +
1 Ti s 1+Td s Td 1+ N s

Kc
0.7 Kp

Ti 2.66

Td

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). Solucin: Usamos la Tabla 5.2 para calcular los parmetros del controlador PID con o a 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 seal n de control u(t). Este grco se obtuvo ejecutando el archivo hartree1graf.m, cuyo a listado se muestra abajo. Notar en el diagrama Simulink que los bloques Kc y Gc1 (s) forman un controlador PI. Adems, los bloques rh, yh, uh y th son del tipo To a Workspace y sirven para almacenar datos y estructuras. Como estamos interesados en crear vectores de datos para luego gracarlos, 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 Mtodos de Sintonizacin de Controladores PID e o

81

hartree 1.mdl

Kc r rh rh Clock Kc

Ti .s+1 Ti .s Gc1(s) th th

Td .s+1 Td /N.s+1 Gc2(s) uh uh

Kp Kp yh yh tau Scope

Fig. 5.21: Diagrama Simulink para el ejemplo 5.7.

1.5 1 SALIDA y(t) 0.5 0 0.5

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

20

40

60

80

100 TIEMPO [s]

120

140

160

180

200

0.6 0.4 0.2 0 0.2

CONTROL u(t)

20

40

60

80

100 TIEMPO [s]

120

140

160

180

200

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

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

Mtodo de Ziegler y Nichols e


El mtodo de la curva de reaccin de Ziegler y Nichols emplea la curva de reaccin e o o 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 reaccin se emplea para obtener los parmetros y T , que luego son o a usados para determinar los parmetros Kc , Ti y Td del controlador PID ideal, ema pleando la Tabla 5.3. Las frmulas en dicha tabla fueron el producto de intensivos o trabajos experimentales realizados por los investigadores Ziegler y Nichols en 1942 [15]. Tabla 5.3: Mtodo de la curva de reaccin de Ziegler y Nichols para determinar los e o parmetros Kc , Ti y Td . a Tipo P PI PID PD Controlador Gc (s) Kc Kc 1 + Kc 1 +
1 Ti s 1 Ti s

Kc =

100 BP ;

a=

Kp T

Ti 10 /3 2

Td 0 0 0.5 0.42

1/a 0.9/a 1.2/a 1.2/a

+ Td s

Kc (1 + Td s)

En algunos procesos, el tiempo muerto es bastante pequeo, por lo que es n dicultosa su cuanticacin. Para estos casos, es conocido un mtodo de clculo que o e a consiste en localizar en la curva de reaccin las tazas de cambio ms altas, las cuales o a ocurren en los tiempos t1 = + T /3 y t2 = + T . Estos tiempos corresponden al 28.3 % y 63.2 % del valor mximo de la curva de reaccin, tal como se muestra en la a o Fig. 5.23. Conociendo t1 y t2 , los parmetros T y se determinan de: a T = 3 (t2 t1 ) 2 = t2 T (5.33)

Ejemplo 5.8 Se desea controlar el siguiente sistema de quinto orden empleando la tcnica de la e curva de reaccin de Ziegler y Nichols: o 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 Mtodos de Sintonizacin de Controladores PID e o


y 100% 63.2% 28.3% t 1 t2

83

Fig. 5.23: Tazas de cambio ms altas de la curva de reaccin. a o

Solucin: La ganancia proporcional del proceso Gp (s) se obtiene en el estado estao cionario, es decir, cuando s = 0, resultando: Kpp = Kp = 5.33 Ta Tb Tc Td Te

Este resultado se puede comprobar en el primer grco de la Fig. 5.24, la cual muestra a la respuesta al escaln (la curva de reaccin) del sistema con una ganancia en estado o o estable de aproximadamente 5.5. De esta curva tambin se obtienen los parmetros e a = 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 parmetros de los controladores P, PI, PID y PD a empleando la Tabla 5.3. El segundo grco de la Fig. 5.24 ilustra la comparacin entre a o las salidas controladas. Observar que slo los controladores PI y PID son capaces de o controlar el proceso sin postsinton Tales resultados se obtienen ejecutando el a. programa zn1.m listado abajo.
% zn1.m CONTROL P, PI, PID Y PD DE UN PROCESO V IA LA CURVA DE REACCIN O 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 ESCALN); xlabel(TIEMPO); ylabel(AMPLITUD); O tau=1.7; T=6.7-tau; Kpp=5.5; a=Kpp*tau/T; % DE LA CURVA DE REACCI N O 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 tcnica de la curva de reaccin de Ziegler y Nichols. El diagrama de bloques del sise o tema nivel, extra de [16], se muestra en la Fig. 5.25(a), donde las funciones de do

84

Control PID SISO

RESPUESTA AL ESCALN 6 AMPLITUD

Kpp

5 TIEMPO (sec) SALIDAS CONTROLADAS

10

15

2 1.5 1 0.5 0

PID PI

SALIDA

P
0 20

PD
40 60 TIEMPO (sec) 80 100 120

Fig. 5.24: Respuesta al escaln del sistema (grco superior) y respuestas controladas o a para el ejemplo 5.8 (grco inferior). a

transferencia del actuador hidrulico, del tanque y del otador se formulan respectia vamente: GH (s) = 10 s+1 GT (s) = 3.15 30s + 1 GF (s) = 1
1 9

s2

1 + 3s+1

h = 1

Para propsitos de comparacin emplear los controladores ideal dado en (5.16), deo o pendiente mostrado en (5.24) y mejorado (ecuacin (5.29)). Para simplicar la noo tacin, el sistema de control que emplea un controlador ideal ser designado como o a control PID, el que emplea un controlador dependiente ser conocido como control a PI D, y el que usa un controlador mejorado recibir la denominacin de control a o 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 relacin = d/v, donde v es la velocidad del ujo que ingresa al tanque y d es es o la longitud de tuber que existe entre la vlvula de control de ujo y el punto de a a medicin del ujo. o Solucin: El primer grco de la Fig. 5.26 muestra la respuesta al escaln (la curva o a o de reaccin) del sistema, de la cual se obtiene = 1 y T = 30 . Con estos valores o se calculan los parmetros del controlador PID empleando la Tabla 5.3. El segundo a

5.6 Mtodos de Sintonizacin de Controladores PID e o


Controlador d Flotador y Referencia (set point)

85

Actuador v

GC (s)

Controlador

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


(a)

GF (s) Flotador e s h GT (s) Tanque GF (s) Flotador e s h G Cd(s) GT (s) Tanque y y

GC (s) Controlador

G H(s) Actuador ym
(b)

G C i(s)

G H(s) Actuador

Controlador proporcional integral 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.

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

20

40

60

80 100 TIEMPO (sec)

120

140

160

180

SALIDAS CONTROLADAS 2 1.5 1 0.5 0

PI__Dy

SALIDA

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

Fig. 5.26: Curva de reaccin del sistema nivel y respuestas controladas para el ejemplo o 5.9 (grco inferior). a

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

Mtodo de ChienHronesReswick e
El mtodo de ChienHronesReswick (CHR) [19] ilustrado en la Fig. 5.27(a), se e aplica a sistemas que aceptan un modelo dinmico como el de la ecuacin (5.32). Este a o mtodo propone un conjunto de reglas de sintonizacin para los casos siguientes (ver e o Tabla 5.4): 1. Respuesta aperidica sin sobrenivel en la seal de salida y controlada a cambios o n tipo escaln de la entrada de referencia r, sin presencia del disturbio d, y para o un coeciente de amortiguamiento > 0.8, tal como se muestra en la Fig. 5.27(b). 2. Respuesta aperidica sin sobrenivel en la salida yd controlada a cambios tipo o escaln del disturbio d, sin presencia de la entrada r, y para un coeciente de o amortiguamiento > 0.8, tal como se muestra en la Fig. 5.27(c). Observar que en esta situacin existe rechazo al disturbio, dado que yd tiende a cero. o

5.6 Mtodos de Sintonizacin de Controladores PID e o

87

3. Respuesta peridica con sobrenivel del 20 % en la salida controlada y a cambios o tipo escaln de la entrada r, sin presencia del disturbio d, y para un coeciente o de amortiguamiento de 0.4 < < 0.8, tal como se muestra en la Fig. 5.27(d). 4. Respuesta aperidica con sobrenivel del 20 % en la salida yd controlada a camo bios tipo escaln del disturbio d, sin presencia de la seal r, y para un coeciente o n de amortiguamiento de 0.4 < < 0.8, tal como se muestra en la Fig. 5.27(e). Observar que en esta situacin tambin existe rechazo al disturbio, ya que y d o e tiende a cero.
d D r R t r e PID (a) y R d=0 t (b) y d D t (c) D (e) t r=0 y d (d) r=0 R d=0 t t u y

d Proceso y

Fig. 5.27: Mtodo de ChienHronesReswick. e

Ejemplo 5.10 Se desea controlar el proceso nivel del ejemplo 5.9 empleando el mtodo de Chien e HronesReswick para el caso de rechazo al disturbio (r=0 y d = 0) sin presencia de oscilaciones en la respuesta del sistema (ver Fig. 5.28(a)). Para propsitos de como paracin emplear los controladores ideal (PID, ecuacin (5.16)), dependiente (PI D, o o ecuacin (5.24)) y mejorado (PI Dy, ecuacin (5.29)), empleando las estructuras (b) o o y (c) de la Fig. 5.28, respectivamente. Solucin: Los parmetros = 1 y T = 30 se obtuvieron con el primer grco de o a a la Fig. 5.26. Con estos valores se calculan los parmetros del controlador empleando a la Tabla 5.4 (caso (c), controlador PID). La Fig. 5.28 ilustra la comparacin entre o

88

Control PID SISO

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


Tipo Controlador GC (s) Caso (b): > 0.8 d=0 Kc = 0.3/a Ti = Td = 0 Kc = 0.35/a PI Kc 1 +
1 Ti s

Caso (c): > 0.8 r=0 Kc = 0.3/a Ti = Td = 0 Kc = 0.6/a Ti = 4 Td = 0 Kc = 0.95/a Ti = 2.4 Td = 0.42

Caso (d): 0.4< < 0.8 d=0 Kc = 0.7/a Ti = Td = 0 Kc = 0.6/a Ti = T Td = 0 Kc = 0.95/a Ti = 1.4T Td = 0.47

Caso (e): 0.4< < 0.8 r=0 Kc = 0.7/a Ti = Td = 0 Kc = 0.7/a Ti = 2.3 Td = 0 Kc = 1.2/a Ti = 2 Td = 0.42

Kc

Ti = 1.2T Td = 0 Kc = 0.6/a

PID

Kc 1 +

1 Ti s

+ Td s

Ti = T Td = 0.5

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 MTODO CHR (RECHAZO AL DISTURBIO) 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=num/den; Gp=GH*Gtau*GT; Kp=31.5; % Kp=10*31.5 tau=2; T=30-tau; % TOMADOS DE LA CURVA DE REACCI N O a=Kp*tau/T; Kc=0.95/a; Ti=2.4*tau; Td=0.42*tau; N=10; % PAR METROS PID A 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

Mtodo de CohenCoon e
El mtodo de sintonizacin desarrollado por los investigadores G.H. Cohen y G.A. e o Coon [20] tambin se aplica a sistemas que aceptan un modelo dinmico como el de e a la ecuacin (5.32). Las frmulas de sintonizacin se muestran en la Tabla 5.5, donde: o o o a= Kp T L= +T (5.34)

Notar que las frmulas de la Tabla 5.5 se asemejan a las de la Tabla 5.3 cuando L es o sucientemente pequeo. n Ejemplo 5.11 Se desea controlar el sistema nivel descrito en el ejemplo 5.9 empleando el mtodo de e CohenCoon. El diagrama de bloques del sistema nivel se muestra en la Fig. 5.25(a).

5.6 Mtodos de Sintonizacin de Controladores PID e o


Actuador v d Flotador d u
(b)

89

Controlador

Disturbio d

(a)

GT (s) e s h Actuador Tiempo muerto Tanque G H(s) GC (s) r=0 e s h G Cd(s) Control D GF (s) Flotador

Controlador d

G H(s) Actuador

GT (s) Tanque

(c)

G C i(s) Control PI r=0

GF (s)

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 1 0.8 0.6 0.4 0.2 0 0.2 0.4

SALIDA

PI__Dy PID y PI__D

10

20

30 40 TIEMPO (sec)

50

60

70

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

Para propsitos de comparacin emplear los controladores PID, PI D y PI Dy. Para o o el control PID y PI D emplear el diagrama de bloques de la Fig. 5.25(b), mientras que para el control PIDy usar el diagrama de bloques de la Fig. 5.25(c).

90

Control PID SISO

Tabla 5.5: Mtodo de Cohen y Coon para hallar los parmetros K C , TI y TD . e a Tipo P PI PD PID Controlador GC (s) Kc Kc 1 +
1 Ti s 1 Ti s 1 a 0.9 a 1.24 a 1.35 a

Kc = 1+

100 BP 0.35L 1L

Ti
3.33L 1+1.2L

Td 0 0
0.270.36L 10.87L

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

.92L 1 + 01L 1 + 0.13L


1L

.18L 1 + 01L

2.52L 10.39L

0.370.37L 10.8L

Solucin: Los parmetros = 1 y T = 30 se obtuvieron del primer grco de la o a a Fig. 5.26. Con estos valores se calculan los parmetros del controlador empleando la a Tabla 5.5. La Fig. 5.30 muestra las salidas controladas.
SALIDAS CONTROLADAS 1.8 1.6 1.4 1.2

SALIDA

PI__Dy
1 0.8 0.6 0.4 0.2 0

PID y PI__D

10

15 20 TIEMPO (sec)

25

30

35

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

% cohen.m CONTROL PID, PI_D Y PI_Dy EMPLEANDO EL M TODO DE COHEN-COON 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=num/den; Gp=GH*Gtau*GT; Kp=31.5; % K=10*31.5 tau=1; T=30-tau; % TOMADOS DE LA CURVA DE REACCI N O 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 Mtodos de Sintonizacin de Controladores PID e o

91

5.6.2.

Mtodos a Lazo Cerrado e

Los mtodos de sintonizacin que emplean la curva de reaccin del proceso, se e o o disean a lazo abierto. En cambio, otros mtodos de sintonizacin emplean ciertas n e o caracter sticas que slo se presentan cuando el proceso est operando a lazo cerrado. o a Algunos de estos mtodos se describen a continuacin. e o

Mtodo de Samal e
El mtodo de sintonizacin de parmetros de Samal [21] est diseado para ree o a a n chazar los disturbios que actan principalmente en la seal de control, tal como se u n muestra en la Fig. 5.31(a), donde el rechazo al disturbio se maniesta porque la seal n de salida y controlada tiende a cero para un tiempo de estabilizacin T s y un soo brenivel de magnitud M . El proceso al cual se aplican los parmetros del controlador a PID, poseen un modelo de FT de la forma: Gp (s) = Kp y(s) = u(s) (1 + Tn s)n (5.35)

donde los parmetros n y Tn se determinan de la Tabla 2.6 (ver ejemplo 2.3). En a 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 gura, 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 gura 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 escaln, mientras que la Fig. 5.31(e) se emplea para determinar T s . o Ejemplo 5.12 Se desea controlar el siguiente sistema empleando el mtodo de Samal: e Gp(s) = Kp (s + T1 )(s + T2 )(s + T3 )(s + T4 )

donde: [T1 , T2 , T3 , T4 ] = [1, 1.5, 2, 2.5]. Para propsitos de comparacin emplear o o los controladores PID ideal (ecuacin (5.16)), PI D interactivo (ecuacin (5.24)) y o o PI Dy (PID mejorado, ecuacin (5.29)). Para el control PID y PI D emplear el o 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). Solucin: El grco superior de la Fig. 5.32 muestra la respuesta al escaln (la curva o a o de reaccin) del sistema. De esta curva se pueden obtener los parmetros = 0.8 s o a y T = 3.9 = 3.1 s. Empleando la Tabla 2.6 con /T = 0.251, se obtiene n = 3 y Tn /T = 0.270. De la Fig. 5.31(b) se determina Vo = Kc Kp = 3.8, mientras que de la Fig. 5.31(c) se lee Ti /Tn = 1.75 y Td /Tn =0.7. El grco inferior de la Fig. a 5.32 ilustra la comparacin entre las salidas controladas. Tales resultados se obtienen o ejecutando el programa samal1.m listado abajo.

92
d t u (a) 5 4 PI Vo 3 2 1 1 1 0.8 0.6 0.4 0.2 0 1 2 (d) 3 I PI PID P 4 n 2 (b) 3 4 20 16 P 12 8 4 0 n Vo PID I Ti Tn PI 5 4 3 2 1 d (1+Tns) n Kp y D

Control PID SISO

D r=0 0 e

M Ts t

P, I, PI, PID

5 4 3 2 Td Tn 1 PID 1 2 (c) 3 4 0 n

PID 0 n Ts Tn 20 16 12 8 4 0

M Kp D

I P PI PID

2 (e)

Fig. 5.31: Mtodo de Samal para hallar los parmetros de un controlador PID. e a

% samal1.m CONTROL PID, PI_D Y PI_Dy EMPLEANDO EL M TODO DE SAMAL E 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 ESCALN); xlabel(TIEMPO); ylabel(AMPLITUD); O % tau=0.8; T=3.9-tau=3.1; % tau/T=0.258 => n=3 => Tn/T=0.270 % Gm(s)=Kp/(Tn*s+1)^n % MODELO DEL PROCESO SEG N SAMAL U Tn=0.837; Vo=3.8; Kc=Vo/Kp; Ti=1.75*Tn; Td=0.7*Tn; N=10;% PAR METROS PID A 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

5.6 Mtodos de Sintonizacin de Controladores PID e o


RESPUESTA AL ESCALN 1.5

93

AMPLITUD

0.5

4 5 TIEMPO (sec)

SALIDAS CONTROLADAS 1.5

SALIDA

0.5

10 TIEMPO (sec)

12

14

16

18

20

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

Gci=Kc*(1+1/Ti/s); Gcd=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 samal1

Mtodo de la Oscilacin Cr e o tica de Ziegler y Nichols


El mtodo de la oscilacin cr e o tica de Ziegler y Nichols [15] emplea la conguracin o de un sistema de control a lazo cerrado y se puede aplicar tanto a sistemas que son modelados con la ecuacin (5.32) y a otros no autoregulados, pero que permiten una o respuesta a lazo cerrado en forma de oscilaciones sostenidas, tal como se muestra en la Fig. 5.33. Los parmetros Kc , Ti y Td del controlador PID se pueden obtener a partir de tal a respuesta oscilatoria, empleando el siguiente procedimiento: Fijar los parmetros Ti y Td en y 0 respectivamente. Incrementar poco a a poco el parmetro Kc hasta obtener una respuesta en forma de oscilaciones a sostenidas (ver la Fig. 5.33). En dicha respuesta, medir el per odo de oscilacin cr o tico Tcrit y anotar la ganancia cr tica Kcrit (o ganancia l mite) para la cual se obtuvo dicho per odo.

94

Control PID SISO

Los parmetros Kc , Ti y Td se calculan luego usando la Tabla 5.6. a Es necesario hacer notar que la magnitud de la oscilacin sostenida, lo que es equio valente a decir la magnitud de variacin de la variable de salida, debe ser mantenida o la ms pequea posible para evitar problemas en la variable controlada. a n
r R t r e K crit PID u y y R T crit t

Proceso

Fig. 5.33: Mtodo de la oscilacin cr e o tica de Ziegler y Nichols.

Tabla 5.6: Mtodo de la oscilacin cr e o tica de Ziegler y Nichols para determinar los parmetros Kc , Ti y Td . a Tipo P PI PID Controlador Gc (s) Kc Kc 1 + Kc 1 +
1 Ti s 1 Ti s

Kc =

100 BP

Ti 0.85 Tcrit 0.5 Tcrit

Td 0 0 0.125 Tcrit

0.5Kcrit 0.45 Kcrit 0.6 Kcrit

+ Td s

Ejemplo 5.13 Se desea controlar el proceso nivel del problema 5.9 empleando la tcnica de las e oscilacin cr o tica de Ziegler y Nichols. Para propsitos de comparacin emplear los o o controladores PID estndar, PI D interactivo y PI Dy mejorado, empleando las esa tructuras de la Fig. 5.25. Solucin: El primer grco de la Fig. 5.34 muestra la respuesta al escaln a manera o a o de una oscilacin sostenida que se obtiene empleando un controlador proporcional o de ganancia GC (s) = Kcrit = 0.85 en la Fig. 5.25(b). Notar que la oscilacin posee o un per odo igual a Tcrit = 8 s. Con estos valores se calculan los parmetros del a controlador PID empleando la Tabla 5.6. El segundo grco de la Fig. 5.34 ilustra la a comparacin entre las salidas controladas. Tales resultados se obtienen ejecutando el o programa zn2.m listado abajo.
% zn2.m CONTROL PID, PI_D Y PI_Dy MEDIANTE LA OSCILACI N CRITICA O clear all; close all; clc; s=tf(s); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1); [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);

5.6 Mtodos de Sintonizacin de Controladores PID e o

95

OSCILACIN CRTICA 2 AMPLITUD 1.5 1 0.5 0

Tcrit

10 12 TIEMPO (sec)

14

16

18

20

SALIDAS CONTROLADAS 2 1.5 1 0.5 0

PI__Dy

SALIDA

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

Fig. 5.34: Oscilaciones sostenidas (primer grco) para Kp = Kcrit y respuestas a controladas (grco inferior) para el ejemplo 5.13. a

grid; title(OSCILACIN CRTICA); xlabel(TIEMPO); ylabel(AMPLITUD); O I Tcrit=4.25; % TOMADOS DE LA OSCILACIN SOSTENIDA O Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PAR METROS PID A 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); Gpcd=feedback(Gp,Gcd); PI_Dy=feedback(Gci*Gpcd,GF); % CONTROL PI_Dy subplot(212); step(PID,k,PI_D,k,PI_Dy,k); grid; ylabel(SALIDA); title(SALIDAS CONTROLADAS); xlabel(TIEMPO); print -deps -f zn2

Ejemplo 5.14 Se desea controlar un proceso no autoregulado que posee la siguiente FT, empleando la tcnica de las oscilaciones sostenidas de Ziegler y Nichols. e Gp (s) = 1 s(s + 1)4

Para propsitos de comparacin emplear los controladores PID ideal, PI D interaco o tivo y PI Dy mejorado. Solucin: El primer grco de la Fig. 5.35 muestra la respuesta al escaln a manera o a o de una oscilacin sostenida que se obtiene empleando un controlador proporcional o

96

Control PID SISO

de ganancia GC (s) = Kcrit = 0.569. Notar que la oscilacin posee un per o odo igual a crit = 15 s. Con estos valores se calculan los parmetros del controlador PID a empleando la Tabla 5.6. El segundo grco de la Fig. 5.35 ilustra la comparacin a o entre las salidas controladas. Tales resultados se obtienen ejecutando el programa zn2a.m listado abajo.

OSCILACIN CRTICA 2 AMPLITUD 1.5 1 0.5 0

Tcrit

10

15

20 25 30 TIEMPO (sec) SALIDAS CONTROLADAS

35

40

45

50

2 1.5 1 0.5 0

SALIDA

PI__Dy PID y PI__D

10

20

30 TIEMPO (sec)

40

50

60

Fig. 5.35: Oscilaciones sostenidas (primer grco) para Kp = Kcrit y respuestas a controladas (grco inferior) para el ejemplo 5.18. a

% zn2a.m CONTROL PID, PI_D Y PI_Dy MEDIANTE LA OSCILACI N CRTICA O I clear all; close all; clc; s=tf(s); Gp=1/(s*(s+1)^4); Kcrit=0.569; G_c0=feedback(Kcrit*Gp,1); subplot(211); step(G_c0,k,50); grid; title(OSCILACIN CRTICA); xlabel(TIEMPO); ylabel(AMPLITUD); O I Tcrit=15; % TOMADO DE LA OSCILACIN SOSTENIDA O Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PAR METROS PID A 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

5.6 Mtodos de Sintonizacin de Controladores PID e o

97

Mtodo de la Oscilacin Cr e o tica de Yu


Las siguientes reglas de sintonizacin atribuidas a Yu (ver referencias de [29]), o se aplican al control de sistemas que poseen una FT de la forma Gp (s) = Kp e s . El control se realiza empleando la conguracin de la Fig. 5.1(a). El controlador o empleado es el denominado clsico generalizado, cuya FT es: a Gc (s) = Las reglas son: Kc = 0.3Kcrit Ejemplo 5.15 Se desea controlar el sistema Gp (s) = Kp e s empleando la tcnica de la oscilacin e o cr tica y las reglas de sintonizacin arriba formuladas. o Solucin: El primer grco de la Fig. 5.36 muestra la respuesta al escaln a manera o a o de una oscilacin sostenida que se obtiene empleando un controlador proporcional o de ganancia GC (s) = Kcrit = 0.45 en la Fig. 5.33. Notar que la oscilacin posee un o per odo igual a crit = 4 s. Con estos valores se calculan los parmetros del controlador a PID empleando: Kc = 0.3Kcrit Ti = 2.3crit Td = 0 Ti = 2.3crit Td = 0 u(s) = Kc e(s) 1+ 1 Td s + Ti s 1 + T d s N bf 0 + bf 1 s + bf 2 s2 1 + a f 1 s + a f 2 s2

El segundo grco de la Fig. 5.36 ilustra la salidas controlada. Tales resultados se a obtienen ejecutando el programa yu1.m listado abajo.
% yu1.m CONTROL PI EMPLEANDO LAS REGLAS DE YU CON LA OSCILACI N CRTICA O I 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(OSCILACIN CRTICA); xlabel(TIEMPO);ylabel(AMPLITUD); O I Tcrit=4; % TOMADO DE LA OSCILACIN CRTICA O I Kc=0.3*Kcrit; Ti=2.3*Tcrit; Td=0; N=3; % PAR METROS PID A 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

Mtodo del Rel e e


El mtodo de la oscilacin cr e o tica a lazo cerrado puede ser arriesgado, ya que en casos reales fuerza a la planta a operar cerca de la inestabilidad. En la prctica, a tambin, resulta muy dicultoso mantener la amplitud constante. Una variante de este e mtodo se muestra en la Fig. 5.37 [17], en donde se emplea un rel para conseguir una e e oscilacin sostenida de per o odo Tcrit pero de pequea amplitud a, para una ganancia n 4L e Kcrit = a , donde L es la ganancia del rel. Teniendo como datos Tcrit y Kcrit se puede ahora usar la Tabla 5.6.

98

Control PID SISO

OSCILACIN CRTICA 5 AMPLITUD

Tcrit
5

10

10

20

30 TIEMPO (sec) SALIDA CONTROLADA

40

50

60

SALIDA

0.5

0.5

50

100 150 TIEMPO (sec)

200

250

Fig. 5.36: Oscilaciones sostenidas (primer grco) para Kp = Kcrit y respuesta cona trolada (grco inferior) para el ejemplo 5.15. a
a t Tcrit

+L

u L e

y u Gp(s) Proceso y

Rel

Fig. 5.37: Diagrama de bloques del sistema realimentado empleado en el mtodo de e sintonizacin mediante rel. o e

Ejemplo 5.16 Se desea controlar un sistema no autoregulado que posee la siguiente FT, empleando la tcnica del rel de Astrm y Hgglund: e e o a Gp (s) = 1 s(s + 1)4

Para propsitos de comparacin emplear los controladores PID estndar, PI D intero o a activo y PI Dy mejorado. Tambin determinar las ecuaciones de estado del sistema. e Solucin: La primera parte del programa relay.m listado abajo, el cual usa el diao grama de bloques de la Fig. 5.37(a), permite obtener el primer y segundo grco de a la Fig. 5.39 para una magnitud del rel de L = 0.1. El diagrama de bloques de la e

5.6 Mtodos de Sintonizacin de Controladores PID e o Fig. 5.38 se emplea para determinar las cinco ecuaciones de estado del sistema: x1 = x1 + x2 x3 = x3 + x4 x2 = x2 + x3 x4 = x4 + x5 x5 = u

99

De la oscilacin sostenida mostrada en el primer grco de la Fig. 5.39 se desprenden o a los parmetros: a = 0.25 y Tcrit = 15, mientras que el segundo grco ilustra la ley a a de control u = L. Conocido los parmetros a, Tcrit y L, ahora se puede calcular la a ganancia Kcrit y los parmetros PID empleando la Tabla 5.6. El tercer grco de la a a Fig. 5.39 muestra la comparacin entre las salidas controladas. Tales resultados se o obtienen ejecutando la segunda parte del programa relay.m listado abajo.
u 1 s x5 x4 1 s+1 1 s+1 x3 1 s+1 x2 1 s+1 x1 = y

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

2 SALIDA y 1 0 0.1 0 0.1

Tcrit a

10

20

30

40 TIEMPO

50

60

70

80

CONTROL u

+L

L 10 20 30 40 TIEMPO 50 60 70 80

SALIDAS CONTROLADAS 2 SALIDA 1 0

PI__Dy PID y PI__D


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

1 Fig. 5.39: Respuesta al escaln del sistema de control del sistema Gp (s) = s(s+1)4 o empleando un rel (grco superior), ley de control u (grco medio) y respuestas e a a estabilizadas empleando controladores tipo PID, PI D y PI Dy (grco inferior). a

100

Control PID SISO

% relay.m RESPUESTA A LAZO CERRADO CON UN REL COMO CONTROLADOR E clear all; close all; clc; % PROGRAMA PARA PRODUCIR LA OSCILACIN SOSTENIDA O 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 ESCALN r Y ERROR e O if(e>=0), u=L; else u=-L; end % FUNCIN REL O 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); 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 N SOSTENIDA O Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PAR METROS PID A 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

Mtodo de las Oscilaciones Amortiguadas e


El mtodo de las oscilaciones amortiguadas propuesto en [18], se conoce tambin e e como el mtodo TDQR (Tuning for Quarter Decay Response) o sintonizacin para e o un decaimiento de un cuarto de la respuesta. Este mtodo se aplica a sistemas que e pueden ser modelados en la forma dada en la ecuacin (5.32) y tambin a otros o e sistemas no autoregulados. En ambos casos, la respuesta al escaln a lazo cerrado, o debe ser de modo tal que el segundo mximo sea un cuarto del primer mximo, tal a a 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 parmetros a de sintonizacin del controlador se obtienen luego de la Tabla 5.7. o
r R t r Ko PID u y y R A A/4 t To

Proceso

Fig. 5.40: Mtodo de las oscilaciones amortiguadas de Harriot. e

Ejemplo 5.17

5.6 Mtodos de Sintonizacin de Controladores PID e o

101

Tabla 5.7: Mtodo de las oscilaciones amortiguadas de Harriot para hallar los e parmetros Kc , Ti y Td . a Tipo P PI PID Controlador Gc (s) Kc Kc 1 + Kc 1 +
1 Ti s 1 Ti s

Kc = Ko Ko Ko

100 BP

Ti To /1.5 To /1.5

Td 0 0 To /6

+ Td s

Se desea controlar el sistema nivel del ejemplo 5.9 empleando la tcnica de las oscilae ciones amortiguadas de Harriot. Para propsitos de comparacin emplear los controo o o ladores ideal (PID, ecuacin (5.16)), dependiente (PI D, ecuacin (5.24)) y mejorado o (PI Dy, ecuacin (5.29)), empleando las estructuras (b) y (c) de la Fig. 5.25. o Solucin: El primer grco de la Fig. 5.41 muestra la respuesta al escaln en donde o a o el segundo mximo de la oscilacin es un cuarto del primer mximo, la cual se obtiene a o a empleando un controlador proporcional de ganancia GC (s) = Ko = 0.55 en la Fig. 5.25(a). Notar que la oscilacin posee un per o odo igual a To = 10 s. Con estos valores se calculan los parmetros del controlador PID empleando la Tabla 5.7. El segundo a grco de la Fig. 5.41 ilustra la comparacin entre las salidas controladas. Tales a o resultados se obtienen ejecutando el programa harriot.m listado abajo.
% harriot.m CONTROL PID, PI_D Y PI_Dy MEDIANTE EL M ETODO DE HARRIOT clear all; close all; clc; s=tf(s); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1); [num,den]=pade(1,3); Gtau=tf(num,den); % TIEMPO MUERTO exp(-tau*s) Gp=GH*Gtau*GT; % Gp: PROCESO, GH: FLOTADOR Ko=0.55; G_c0=feedback(Ko*Gp,GF); subplot(211); step(G_c0,k,20); grid title(OSCILACIN SOSTENIDA); xlabel(TIEMPO); ylabel(AMPLITUD); O To=10; Kc = Ko; Ti=To/1.5; Td=To/6; N=10; % PAR METROS PID A Gc1=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc1,GF); % CONTROL PID Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PI_D=feedback(Gp*Gc2,GF); % CONTR PI_D Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd); PI_Dy=feedback(Gci*Gcd,GF); % CONTROL PI_Dy 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 tcnica de las oscilaciones amortiguadas de Harriot. e Gp (s) = 1 s(s + 1)4

Para propsitos de comparacin emplear los controladores ideal (PID, ecuacin (5.16)), o o o dependiente (PI D, ecuacin (5.24)) y mejorado (PI Dy, ecuacin (5.29)), empleano o do las estructuras (b) y (c) de la Fig. 5.25.

102

Control PID SISO

OSCILACIN SOSTENIDA 1.5 AMPLITUD 1 0.5 0 0.5

A A/4

10 12 TIEMPO (sec)

14

16

18

20

SALIDAS CONTROLADAS 2

PI__Dy
SALIDA 1

PID PI__D

10

15 20 TIEMPO (sec)

25

30

35

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

Solucin: El primer grco de la Fig. 5.34 muestra la respuesta al escaln a manera o a o de una oscilacin sostenida que se obtiene empleando un controlador proporcional de o ganancia GC (s) = Kcrit = 0.569. Notar que la oscilacin posee un per o odo igual a crit = 15 s. Con estos valores se calculan los parmetros del controlador PID empleando a la Tabla 5.6. El segundo grco de la Fig. 5.34 ilustra la comparacin entre las salidas a o controladas. Tales resultados se obtienen ejecutando el programa zn2.m listado abajo.

% harriota.m CONTROL PID, PI_D Y PI_Dy MEDIANTE OSCILACI N AMORTIGUADA O 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(OSCILACIN AMORTIGUADA); xlabel(TIEMPO); ylabel(AMPLITUD); O To=20; % TOMADO DE LA OSCILACIN AMORTIGUADA O Kc=Ko; Ti=To/1.5; Td=To/6; N=10; % PARMETROS PID A 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 Mtodos de Sintonizacin de Controladores PID e o

103

OSCILACIN AMORTIGUADA 1.5 AMPLITUD

A
0.5

A/4
0 5 10 15 20 25 30 TIEMPO (sec) SALIDAS CONTROLADAS 35 40 45 50

1.5

SALIDA

PID
0.5

PID

10

20

30 TIEMPO (sec)

40

50

60

Fig. 5.42: Oscilaciones sostenidas (grco superior) para KC = Ko y respuestas cona troladas (grco inferior) para el ejemplo 5.18. a

5.6.3.

Mtodos Basados en la Minimizacin de un e o 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 seal deseada o SP e y(s) la salida controlada n o PV. Adems, G(s) es una FT que incluye el controlador, el EFC y el proceso, a 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) = L1 [e(s)]

(5.36) La idea principal en los mtodos de sintonizacin basados en criterios optimos, cone o
r(s) e(s) G(s) H(s) y(s)

Fig. 5.43: Sistema de control SISO realimentado.

siste en minimizar un determinado ndice de rendimiento, en el cual estn involucrados e

104

Control PID SISO

tanto el tiempo continuo t como el error e(t). Los ndices de rendimiento ms usados a son: ISE (Integral Squared Error), IAE (Integral Absolute Error), IT AE (Integral Time Absolute Error), IST E (Integral Square Time weighted Error) e IST 2 E (Integral Square TimeSquare weighted Error). Las frmulas de dichos o ndices son: ISE =
0

e2 (t)dt
0

IAE =
0

|e(t)|dt IST 2 E =
0

IT AE =
0

t|e(t)|dt (5.37)

IST E =

t2 e(t)dt

t2 e2 (t)dt

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 parmetro del cual se desea detera minar su valor extremo; por ejemplo, el parmetro Ti de un controlador PID. A a continuacin se presentan algunas reglas de sintonizacin basados en diversos o o ndices de rendimiento.

Mtodo de Shinskey e
Las reglas de sintonizacin de la Tabla 5.8, atribuidas Shinskey (control I y PI) y o 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 conguracin de la Fig. 5.1(a). o Los trabajos de Shinskey Nomura et al. se encuentran en las referencias de [29]. Tabla 5.8: Reglas de sinton para controlar sistemas tipo Gp (s) = Kp e s . a Mtodo e M nimo ITAE M nimo ITAE M nimo ITAE Controlador Gc (s)
1 Ti s

Kc Indenido 0.4
Kp 0.2635 Kp

Ti 1.6Kp 0.5 0.361

Td 0 0 0.1911

Kc 1 + Kc 1 +
1 Ti s

1 Ti 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. Solucin: La Fig. 5.44 muestra la respuesta controlada, resultado que se obtienen o 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;

5.6 Mtodos de Sintonizacin de Controladores PID e o

105

CONTROL DE G(s)=Kp*exp(tau*s) USANDO ITAE 1.2 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8

SALIDA

5 TIEMPO (sec)

10

15

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

[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; % PARMETROS PID A 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

Mtodo de WangJuangChan e
Las frmulas de sintonizacin de de WangJuangChan (citadas en [24]) se basan o o en el criterio de optimizacin de IT AE y se pueden aplicar a sistemas que aceptan o un modelo dinmico como el de la ecuacin (5.32). Estas frmulas son: a o o Kc = Ti Td (0.7303 + 0.5307T / )(T + 0.5 ) Kp (T + ) = T + 0.5 0.5 T = T + 0.5

(5.38)

Metodo de Zhuang y Atherton


El mtodo de Zhuang y Atherton [26] minimiza los criterios ISE, IST E e IST 2 E e empleando controladores PI y PID ideales. La Tabla 5.9 muestra las frmulas de o sintonizacin que se pueden aplicadar a procesos que aceptan un modelo dinmico o a

106

Control PID SISO

como el de la ecuacin (5.32) y que estn sujetos a cambios tipo escaln en la seal o e o n de referencia del sistema de control, tal como se muestra en la Fig. 5.1(a). Tabla 5.9: Mtodo de Zhuang y Atherton para determinar Kc , Ti y Td en un controe lador ideal.
Rango de /T Tipo PI Parmetro a Kc = Ti =
a1 Kp b1 T

0.1< /T <1 ISE a1 b1 a2 b2 a1 b1 a2 b2 a3 b3 0.980 0.892 0.690 0.155 1.048 0.897 1.195 0.386 0.489 0.888 ISTE 0.712 0.921 0.968 0.247 1.042 0.897 0.987 0.238 0.385 0.906 IST2 E 0.569 0.951 1.023 0.179 0.968 0.904 0.977 0.253 0.316 0.892 ISE

1.1< /T <2 ISTE 0.786 0.559 0.883 0.158 1.142 0.579 0.919 0.172 0.384 0.839 IST2 E 0.628 0.583 1.007 0.167 1.061 0.583 0.892 0.165 0.315 0.832

1.072 0.560 0.648 0.114 1.154 0.567 1.047 0.220 0.490 0.708

PI

T a2 +b2 ( /T )

PID

Kc = Ti =

a1 Kp

b1 T

PID

T a2 +b2 ( /T )

PID

Td = a3 T

b3 T

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) + Kc Td s 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 sintonizacin para el controlador descrito en o (5.49). Tales reglas se pueden aplicar a procesos que aceptan un modelo dinmico a como el de la ecuacin (5.32) y que estn sujetos a cambios tipo escaln en la seal o e o n de referencia del sistema de control (ver Fig. 5.1(a)). Ejemplo 5.20
p Se desea controlar el sistema con FT: Gp (s) = T s+1 e s , donde Kp = 2, = 2 y T = 20. Emplear el criterio ISE, un controlador PID y las reglas de la Tabla 5.9.

Solucin: La Fig. 5.45 muestra la respuesta controlada, resultado que se obtienen o ejecutando el programa zh1.m listado abajo.
% zh1.m CONTROL PID USANDO ISE clear all; close all; clc; s=tf(s); Kp=2; tau=2; T=20; % tau/T=0.1 a1=1.048; b1=-0.897; a2=1.195; b2=-0.386; a3=0.489; b3=0.888; N=10; [num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s) Gp=Kp/(T*s+1)*Gtau; % PROCESO A CONTROLAR Kc=(a1/Kp)*(tau/T)^b1; Ti=T/(a2+b2*(tau/T)); Td=(a3*T)*(tau/T)^b3; Gc=Kc*(1+1/(Ti*s)+Td*s); PID=feedback(Gc*Gp,1); % CONTROL PID step(PID,k); title(CONTROL PID USANDO ISE); xlabel(TIEMPO); ylabel(SALIDA); print -deps -f zh1

5.6 Mtodos de Sintonizacin de Controladores PID e o

107

Tabla 5.10: Mtodo de Zhuang y Atherton para determinar Kc , Ti y Td en un cone trolador cuya accin derivativa se encuentra en la realimentacin. o o
Rango de /T Tipo PID Parmetro a Kc = Ti =
a1 Kp b1 T

0.1< /T <1 ISE a1 b1 a2 b2 a3 b3 1.260 0.887 0.701 0.147 0.375 0.886 ISTE 1.053 0.930 0.736 0.126 0.349 0.907 IST2 E 0.942 0.933 0.770 0.130 0.308 0.897 ISE

1.1< /T <2 ISTE 1.120 0.625 0.720 0.114 0.350 0.811 IST2 E 1.001 0.624 0.754 0.116 0.308 0.813

1.295 0.619 0.661 0.110 0.378 0.756

PID

T a2 +b2 ( /T )

PID

Td = a3 T

b3 T

CONTROL PID USANDO ISE 1.5

0.5

SALIDA

0.5

1.5

10

15

20 TIEMPO (sec)

25

30

35

40

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

Kp T s+1

e s usando ISE (ejemplo 5.20).

Mtodo de Kessler e
La Tabla 5.11 muestra las frmulas propuestas por C. Kessler [25] para determinar o los parmetros de un controlador PID basado en criterios optimos de diseo. a n Ejemplo 5.21

108

Control PID SISO

Tabla 5.11: Mtodo de Kessler para hallar los parmetros K c , Ti y Td . e a Sistema Gp (s)
Kp (1+T1 s)
(1+t s)

Tipo PI

Controlador Gc (s) Kc 1 +
1 TI s

Kc
T1 2Kp T

Ti 4T

Td

T = t ; T1 > 4T
Kp (1+T1 s)(1+T2 s)
(1+t s)

PID

Kc 1 +

1 Ti s

(1 + Td s)

T1 2Kp T

4T

T2

T = t ; T1 > 4T T1 > T 2 > T


Kp s
(1+t s)

PI

Kc 1 +

1 Ti s

1 2Kp T

4T

T = t
Kp s(1+T2 s) (1+t s)

PID

Kc 1 +

1 Ti s

(1 + Td s)

1 2Kp T

4T

T2

T = t ; T 2 > T

La dinmica simplicada de un avinhelicptero se puede representar mediante la a o o siguiente FT: 1 Gp(s) = (1 + 20s)(1 + 10s)(1 + 0,5s) Controlar dicho sistema empleando el mtodo de Kessler. e Solucin: La FT del sistema, que es de tercer orden, se puede formular como: o Gp(s) = Kp (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 METODO DE KESSLER clear all; close all; clc; Kp=1; T1=20; T2=10; mu=1; tmu=0.5; Tsigma=tmu; s=tf(s); Gp=Kp/(1+T1*s)/(1+T2*s)/(1+tmu*s); % PROCESO subplot(211); step(Gp); grid; title(RESPUESTA AL ESCALN); xlabel(TIEMPO); ylabel(AMPLITUD); O 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

5.6 Mtodos de Sintonizacin de Controladores PID e o


RESPUESTA AL ESCALN 1 0.8 AMPLITUD 0.6 0.4 0.2 0

109

20

40

60

80 100 TIEMPO (sec)

120

140

160

180

SALIDA CONTROLADA 1.5

SALIDA

0.5

6 TIEMPO (sec)

10

12

Fig. 5.46: Respuesta al escaln (grco superior) y respuesta controlada (grco ino a a ferior) empleando un controlador PID de acuerdo al mtodo de Kessler. e

Se desea controlar un sistema posicionador empleando el mtodo de Kessler, sabiendo e que su FT es: 1 Gp(s) = s(1 + s)(5 + s) Solucin: La FT del sistema se puede reformular como: o Gp(s) = Kp 0,2 = s(1 + s)(1 + 0,2s) s(1 + T2 s) (1 + t s)

Este sistema, de acuerdo a Kessler, es del tipo PITn con parmetros Kp = 0.2, T2 = 1, a = 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 (grco inferior), resultado que se obtiene ejecutando a el programa kessler1.m listado abajo. Notar que este sistema es no autoregulado, tal como se observa en grco inferior de la Fig. 5.47. a
% kessler1.m CONTROL PID EMPLEANDO EL METODO DE KESSLER clear all; close all; clc; Kp=0.2; T2=1; mu=1; tmu=0.2; Tsigma=tmu; s=tf(s); Gp=Kp/s/(1+T2*s)/(1+tmu*s); % PROCESO subplot(211); step(Gp); grid;

110
RESPUESTA AL ESCALN 300 250 AMPLITUD 200 150 100 50 0 0 500 TIEMPO (sec) 1000

Control PID SISO

1500

SALIDA CONTROLADA 1.5

SALIDA

0.5

0.5

1.5

2.5 TIEMPO (sec)

3.5

4.5

Fig. 5.47: Respuesta al escaln (grco superior) y respuesta controlada (grco ino a a ferior) empleando un controlador PID de acuerdo al mtodo de Kessler. e

title(RESPUESTA AL ESCALN); xlabel(TIEMPO); ylabel(AMPLITUD); O 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

Mtodo de Xue para Procesos con FT: e

Kp s

e s

El mtodo de Xue se aplica a procesos que poseen una FT con parte proporcional, e 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 coecientes empleados por los parmetros de los controladores PD y PID [27]: a ControladorP D : Kc = a1 Kp Td = a 2

5.6 Mtodos de Sintonizacin de Controladores PID e o ControladorP ID : Kc = a3 Kp Ti = a 4 Td = a 5

111 (5.41)

Tabla 5.12: Parmetros ai para calcular Kc , Ti y Td para el control de sistemas tipo a IP (ecuacin (5.41)). o Criterio ISE ITSE ISTSE a1 1.03 0.96 0.9 a2 0.49 0.45 0.45 a3 1.37 1.36 1.34 a4 1.496 1.66 1.83 a5 0.59 0.53 0.49

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

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

0 SALIDA

10

15 20 TIEMPO (sec)

25

30

35

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

Kp s

e s (ejemplo 5.23).

% zh2.m CONTROL PID USANDO ISE

112

Control PID SISO

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

Mtodo de Xue para Procesos con FT: e

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 frmulas para determinar los parmetros o a del controlador PD son [27]: Kc = 2 3Kp Td = T (5.43)

mientras que para el controlador PID, se tiene: 1.111T Kc = Kp 2 Ejemplo 5.24 Se desea controlar el sistema con FT Gp (s) = 2.
Kp s(T s+1)

1 1+
2 T 0.65

Ti = 2 1 +

0.65

Td =

Ti 4

(5.44)

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

Solucin: La Fig. 5.49 muestra la respuesta controlada, resultado que se obtienen o 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

Mtodo de Xue para Procesos con FT: e

Kp T s1

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)

5.6 Mtodos de Sintonizacin de Controladores PID e o


CONTROL PID 1.6

113

1.4

1.2

SALIDA

0.8

0.6

0.4

0.2

0.2

50 TIEMPO (sec)

100

150

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

Kp s(T s+1)

e s usando ISE (ejemplo 5.24).

Debido a la presencia del integrador y a la ra inestable s = 1/T , el controlador z PID parece ser el ms adecuado para controlar tales sistemas. Las frmulas para a o determinar los parmetros del controlador PID son [27]: a T (5.46) Los parmetros ai , bi y se pueden obtener de la Tabla 5.13 para diferentes criterios. a Kc =
b1

a1 Kp

Ti = a 2 T

b2

Td = a 3 T 1 b 3

0.02

Tabla 5.13: Parmetros ai para calcular Kc , Ti y Td para el control de sistemas tipo a IPT1 inestables (ecuacin (5.45)). o Criterio ISE ITSE ISTSE a1 1.32 1.38 1.35 b1 0.92 0.90 0.95 a2 4.00 4.12 4.52 b2 0.47 0.90 1.13 a3 3.78 3.62 3.70 b3 0.84 0.85 0.86 0.95 0.93 0.97

Ejemplo 5.25 Se desea controlar el sistema con FT Gp (s) =


Kp T s1

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

114

Control PID SISO

Solucin: La Fig. 5.49 muestra la respuesta controlada, resultado que se obtienen o ejecutando el programa zh3.m listado abajo.
CONTROL PID USANDO ISTSE 6

SALIDA

10

20

30 40 TIEMPO (sec)

50

60

70

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

Kp s1

e s usando ISTSE (ejemplo 5.25).

% zh4.m CONTROL PI-D USANDO ISTSE clear all; close all; clc; s=tf(s); Kp=2; tau=2; T=2; N=10; a1=1.35; b1=0.95; a2=4.52; b2=1.13; a3=3.7; b3=0.86; gamma=0.97; [num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s) Gp=Kp/(T*s-1)*Gtau; % SISTEMA A CONTROLAR Kc=(a1/Kp)*(tau/T)^b1; Ti=a2*T*(tau/T)^b2; Td=a3*T*(1-b3*(tau/T)^(-0.02))*(tau/T)^gamma; Gc=Kc*(1+1/(Ti*s)+Td*s/(1+Td*s/N)); PI_D=feedback(Gc*Gp,1);% CONTROL PI-D step(PI_D,k); title(CONTROL PI_D USANDO ISTSE); xlabel(TIEMPO); ylabel(SALIDA); print -deps -f zh4

5.7.

El Efecto Windup

En toda implementacin prctica, la seal de salida del controlador debe de estar o a n limitada por dos razones. La primera es que su magnitud no debe de exceder el rango permitido por el sistema de adquisicin de datos, y la segunda razn es que su valor o o 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 ingls windup (saturacin), el cual se explica a continuacin. e o o

5.7 El Efecto Windup

115

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 escaln en la seal de referencia r(t) (primer grco), la seal de error positiva o n a n inicial (1 y(t)) se hace bastante grande, provocando que la seal de control u(t) n (segundo grco) alcance rpidamente el valor l a a mite de saturacin u m . A pesar de o que la seal de salida y(t) iguala al valor de referencia en el tiempo t1 , lo cual genera n una seal de error (1 y(t)) negativa debido al valor grande de la seal y i en la salida n n del integrador, la seal de control u(t) permanece en el valor de saturacin mximo n o a um . Esto causa que la salida y(t) se incremente continuamente hasta que se alcance el tiempo t2 , y la accin negativa de la seal de error comience a tener efecto. o n Observar en el primer grco de la Fig. 5.52 que el efecto windup provoca un a aumento del sobreimpulso y del tiempo de estabilizacin en la seal controlada y(t). o n Por otro, si el algoritmo PID empleado es del tipo discreto, el fenmeno windup o no es tan notorio, an cuando la seal de control est limitada, debido a que el u n e algoritmo discreto no emplea la suma de los errores para generar el trmino integral e del controlador. Lo que se emplea es el clculo recursivo como veremos ms adelante. a a

windup .mdl ILUSTRA EL EFECTO WINDUP

yi Step =1 5 Kc=5 t Clock t yi 1 1.12s Ti =1.12 yi

u u

y 10 u

Scope

s4 +10s3 +35s2 +50s+24 Transfer Fcn y y

um =3.5

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

Existen diversos mtodos para eliminar en gran medida el efecto windup en sise temas de control que emplean controladores PID continuos. Uno de estos mtodos e se muestra en el diagrama Simulink de la Fig. 5.53, el cual muestra un controlador PID con mecanismo anti windup. Los parmetros del controlador son los usuales: a 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 automtico, el valor a de la seal de control u(t) puede cambiar de un valor a otro, no importando que la n seal de error e sea cero. Este salto debe de evitarse y en este caso se dice que la n conmutacin de manual a automtico debe de ser bumpless (sin saltos). Para lograr o a

116
EFECTO WIND UP t1 1 0 4 t2 2 0

Control PID SISO

SALIDA y(t)

TIEMPO [s]

10

CONTROL u(t)

INTEGRADOR yi(t)

TIEMPO [s]

10

10 5 0

TIEMPO [s]

10

Fig. 5.52: Grcos para explicar el efecto windup. a

REF. 1/1.2 1/Ti

rr rr 1 s INTEGRADOR

1/1.2 GANANCIA 1/Ti Clock

tt tt Scope

uu uu 1.3 Kc SATURACIN 10

s4 +10s3 +35s2 +50s+24 SISTEMA A CONTROLAR yy

1 0.5s+1 FILTRO

0.1 Td

du/dt DERIVADOR

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.

conmutacin sin saltos, el algoritmo de control debe de ejecutarse siempre, an en el o u caso en que la operacin del sistema de control se encuentre en modo manual. Esta o correccin se puede realizar en el correspondiente programa en tiempo real. o

5.8 El Algoritmo PID Discreto Modicado


CONTROLADOR PID CON MECAISMO ANTI WINDUP

117

1.4 1.2 SALIDA y(t) 1 0.8 0.6 0.4 0.2 0 0 1 2

5 TIEMPO [s]

10

3 2.5 2 1.5 1

CONTROL u(t)

5 TIEMPO [s]

10

Fig. 5.54: Salida controlada y seal de control correspondiente a la Fig. 5.53. n

5.8.

El Algoritmo PID Discreto Modicado

La forma estndar del algoritmo PID mostrado en (5.15) se puede modicar a introduciendo ciertas caracter sticas con la nalidad de que su rendimiento mejore sustancialmente. Por ejemplo, no podemos evitar la ocurrencia fortuita de cambios bruscos del error e, los cuales pueden incrementar el trmino derivativo: e d de(t) = (r(t) y(t)) dt dt Este fenmeno es conocido en ingls como derivative kick (puntapi derivativo) y o e e su efecto se puede apaciguar si es que utilizamos como seal de entrada unicamente n de(t) la seal realimentada y en lugar de e. De esta forma, (5.15) con dt = dy(t) se n dt convierte en: 1 dy u = Kc e + edt Td Ti dt Otra modicacin importante es ltrar la accin derivativa del controlador PID origio o nal mediante un ltro de primer (o segundo) orden para disminuir el ruido derivativo. Esta caracter stica limita la amplicacin del ruido de medicin de alta frecuencia o o en la salida del controlador. La seal de control ser as menos ruidosa y la ganancia n a en alta frecuencia permanecer dentro de cotas apropiadas. Un trmino derivativo a e prctico, ya que un derivador puro no es realizable, puede aproximarse mediante un a trmino de primer orden que posee una constante de tiempo Tf , el cual a menudo se e

118

Control PID SISO

normaliza con respecto al tiempo derivativo Td . Por consiguiente, el derivador puro del algoritmo PID se modica como sigue: Td s Td s 1 + Tf s Tf = Td N

donde N es una constante que var de 3 a 10 y es conocida como la cota de la a ganancia derivativa. Luego, el algoritmo PID toma la forma: u(s) = Kc e(s) + P (s) = Kc e(s) Kc K c Td s e(s) y(s) = P (s) + I(s) + D(s) Ti s 1 + Tf s Kc e(s) Ti s D(s) = K c Td s y(s) 1 + Tf s Tf = (5.47) Td N

I(s) =

Los trminos P , I y D representan las partes proporcional, integral y derivativa del e controlador PID modicado, respectivamente. Sea k el tiempo discreto, el cual est relacionado con el tiempo continuo t mediante a la relacin t = T k, donde T es el tiempo de muestreo o discretizacin. La parte o o proporcional P = Kc e(s) de (5.47) se discretiza directamente, obtenindose: e P = Kc e(k)
K Para la parte integral I(s) = Tic e(s), o lo que es lo mismo: I(t) = s empleamos la aproximacin trapezoidal (ver ejemplo A.46): o Kc Ti

(5.48)
t 0 e(t)dt

Kc I(k) = Ti

k i=1

[e(i) + e(i 1)] T 2

Kc Ti

k1

T
i=1

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

I(k) = I(k 1) +

Kc T d La parte derivativa D(s) = 1+Tf s y(s) se puede escribir como: 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 (k1)), se obtiene: D(k) + Tf D(k) D(k 1) = Kc Td T y(k) y(k 1) 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. Tambin e se debe de incluir el efecto del limitador, basado en un modelo con presencia de saturacin con valores mximo y m o a nimo umax y ulow respectivamente:

5.8 El Algoritmo PID Discreto Modicado


v = P + I + D; if(v < ulow), u = ulow; elseif(v > uhigh), u = uhigh; else u = v;

119

Si el tiempo de muestreo Ts es sucientemente pequeo, entonces se pueden usar las n reglas de sinton para sistemas continuos discutidas anteriormente. Sin embargo, a 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 Kp a emplean la FT Gp (s) = 1+T s e s del sistema y no son vlidas si /Ts 0 ni se deben de aplicar si /Ts < 1/4, donde Ts es el tiempo de muestreo. Tabla 5.14: Mtodo de la curva de reaccin para determinar los parmetros PID. K c , e o a Ki y Kd . Tipo P PI PID Kc + Controlador Gc (s) Kc Kc +
Ki s Ki s 100 BP 1 T Kp +Ts T 0.9 Kp +0.5Ts 0.5Ki 1.2 T Kp +Ts 0.5Ki

Kc =

Ki = Kc /Ti 0
Ts T 0.27 Kp ( +0.5Ts )2 Ts T 0.6 Kp ( +0.5Ts )2

K d = K c Td 0 0
0.5 T Kp T s

+ Kd s

Tabla 5.15: Mtodo de las oscilaciones sostenidas para hallar los parmetros K C , TI e a y TD . Tipo P PI PID Kc + Controlador Gc (s) KC Kc +
Ki s Ki s

Kc =

100 BP

Ki = Kc /Ti
crit 0,54 Kcrit T crit 1.2 Kcrit T

K d = K c Td 0 0 0.075Kcrit
Tcrit Ts

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

+ Kd s

Ejemplo 5.26 Se desea controlar la posicin angular x1 de un manipulador empleando un algoritmo o de control discreto PID. las ecuaciones de estado del manipulador son: x1 = x 2 x2 = N B n2 KE nKact x2 + x2 + u M M M Ra Ra M

Solucin: En el listado del programa pidposjo.m se describen todos los parmetros o a empleados en la ecuacin de estado. Ejecutando este programa se obtiene la respuesta o pedida (Fig. 5.55). Ya se han usado parmetros PID previamente determinados. a

120
1 Posicin angular (rad) 0.8 0.6 0.4 0.2 0

Control PID SISO

10

20

30

40

50

60

70

80

90

100

0.5 Seal de control u (V) 0.4 0.3 0.2 0.1 0

10

20

30

40

50 Tiempo [s]

60

70

80

90

100

Fig. 5.55: Posicin angular controlada correspondinte al Ejemplo 5.26. o

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

5.8 El Algoritmo PID Discreto Modicado


plot(ejex,R,ejex,Y); grid; ylabel(Posicin angular (rad)) o subplot(2,1,2); plot(ejex,U); grid; ylabel(Se~al de control u (V)) n xlabel(Tiempo [s]); print -f -deps pidposfijo

121

122

Control PID SISO

5.9.

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 dinmicos aproximados: a GA (s) = Kp s e Ts + 1 GC (s) = GB (s) = Kp ; (Tn s + 1)n < 0.104 T 0.104 T

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

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

2 (s + 1)3

3s + 2 (s + 1)3 2 3s + 6 10s + 4 s Ge (s) = es/2 2 + 3s + 6)(s2 + s + 2) (s + 1)(s (s + 1)2 (s + 3)3 6 3 3 Gg (s) = es Gh (s) = e2s (s + 1)6 (s + 1)(2s + 1) (s + 1)4 7 3s + 6 e30s Gj (s) = es/10 (17s + 1)(6s + 1)3 (s + 1)(4s + 1) Gb (s) = Gc (s) =

Problema 5.2 Realizar los controles PID, PID y PI-Dy de los sistemas Ga (s) al Gj (s) en el dominio de s empleando MATLAB. Usar al menos cinco distintas reglas de sintonizacin para o cada sistema. El objetivo de control es que la seal controlada siga a una referencia n constante. Problema 5.3 Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) empleando SIMULINK. Usar al menos una regla de sintonizacin, distinta de las otras, para o cada sistema. El objetivo de control es que la seal controlada siga a una referencia n constante. Problema 5.4 Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) en el dominio del tiempo discreto k=t/T (T es el tiempo de muestreo) empleando MATLAB. Usar al menos tres distintas reglas de sintonizacin para cada sistema. El objetivo de control o es que la seal controlada (la salida) tienda a cero en presencia de un disturbio tipo n escaln a la entrada del sistema. En esta situacin, denominada rechazo al disturbio, o o la seal de referencia es nula. n Problema 5.5

5.9 Problemas

123

Realizar los controles PID, PID y PIDy de los sistemas Ga (s) al Gj (s) empleando SIMULINK. Usar al menos una regla de sintonizacin, distinta de las otras, para cada o sistema. El objetivo de control es que la seal controlada (la salida) tienda a cero en n presencia de un disturbio tipo escaln a la entrada del sistema. En esta situacin, o o denominada rechazo al disturbio, la seal de referencia es nula. n Problema 5.6 Realizar los controles PI o PID segn corresponda, de los sistemas G k (s) al Gt (s) u empleando el mtodo de Kessler. e Gk (s) = Gl (s) = Gm (s) = Gn (s) = Go (s) = Gp (s) = Gq (s) = Gr (s) = Gs (s) = Gt (s) = Problema 5.7 Para el sistema del ejemplo ??, disear controladores PID, PID y PIDy que cumn plan el siguiente objetivo de control: la seal controlada x1 debe de seguir a la seal n n en estado estable x1e con un porcentaje de de sobrenivel menor del 5 %, tiempo de estabilizacin menor de 8 s y error en estado estable nulo. Tener en cuenta que para o la situacin descrita, y1 = x1 x1e debe de ser nulo. o Problema 5.8 Para el sistema del ejemplo ??, disear controladores PID, PID y PIDy que cumn plan el siguiente objetivo de control: la seal controlada y = 2 debe de seguir una n seal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiemn po de estabilizacin menor de 4 s y error en estado estable nulo. o Problema 5.9 2 (1 + 20s) (1 + 0.1s)3 (1 + 0.3s)3 9 (1 + 20s)(1 + 30s) (1 + 0.2s)4 (1 + 0.5s)2 2 s (1 + s)3 (1 + 2s)2 8 s(1 + 20s) (1 + 0.1s)3 (1 + 0.3s)3 5 (1 + 0.1s)(1 + 0.2s)(1 + 30s)(1 + 0.3s)2 (1 + 0.5s)2 3 s(1 + s)(1 + 2s)(1 + 40s)(1 + 0.2s)4 (1 + 0.5s)3 6 (1 + s)(1 + 2s)(1 + 40s)(1 + 50s)(1 + 0.2s)4 (1 + 0.5s)3 8 (s + 10)(s + 9)(s + 2) 4 2 (s + 5)(s + 6) s (s + 3) 4 2 (1 + 2s)(1 + 0.9s) s (1 + s)

124

Control PID SISO

Para el sistema del ejemplo ??, disear controladores PID, PID y PIDy que cumn plan el siguiente objetivo de control: la seal controlada x1 debe de seguir una seal n n de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de estabilizacin menor de 4 s y error en estado estable nulo. o Problema 5.10 Para el sistema de la Fig. 2.14(c), disear controladores PID, PID y PIDy que n cumplan el siguiente objetivo de control: la seal controlada debe de seguir una n seal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, n tiempo de estabilizacin menor de 4 s y error en estado estable nulo. o Problema 5.11 Para el sistema de la Fig. ??(b), disear controladores PID, PID y PIDy que n cumplan el siguiente objetivo de control: la seal controlada debe de seguir una n seal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, n tiempo de estabilizacin menor de 10 s y error en estado estable nulo. o Problema 5.12 Para el sistema del ejemplo ??, disear controladores PID, PID y PIDy que cumn plan el siguiente objetivo de control: la seal controlada q3 debe de seguir una seal n n de referencia constante con un porcentaje de de sobrenivel menor del 3 %, tiempo de estabilizacin menor de 4 s y error en estado estable nulo. o Problema 5.13 Para el sistema del problema ??, disear controladores PID, PID y PIDy que n cumplan el siguiente objetivo de control: la seal controlada debe de seguir una n seal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, n tiempo de estabilizacin menor de 4 s y error en estado estable nulo. o Problema 5.14 Para el sistema del problema ??, disear controladores PID, PID y PIDy que n cumplan el siguiente objetivo de control: la seal controlada iR debe de seguir una n seal de referencia constante con un porcentaje de de sobrenivel menor del 3 %, n tiempo de estabilizacin menor de 4 s y error en estado estable nulo. o

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 razn, control anticipativo, control selectivo, control override, y control de o rango partido. Otras estrategias de control emplean controladores ms avanzados como a son el control con autosintonizacin de parmetros (selftuning regulator), el controlador o a 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 propsito se emplea el sobrecalentador, el cual recibe la energ o a trmica que trae consigo el ujo de agua caliente, que tambin pasa por la VCA e e (vlvula de control automtica) del tipo neumtica. a a a 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 seal estandarizada requerida por el n controlador C, el cual se supone que es electrnico. Este controlador genera la seal o n de control u, la cual se transforma gracias al bloque transmisor T 2 , en una seal n neumtica estandarizada, requerida por la VCA. La Fig. 6.1(b) muestra el diagrama a de bloques del circuito de control descrito. Observar la presencia de la seal de error n e = r y en este diagrama. De hecho, el algoritmo de control alojado en el bloque Controlador, procesa tal seal de error e para generar la seal de control u n n En muchas aplicaciones, el control en cascada es una estrategia que mejora signicativamente 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 realimentacin, tal o 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 ujo de agua caliente y2 siga a una referencia r2 empleando el controlador C2 . Notar que la salida u1 de C1 es la seal de referencia n 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 ms P2 forman el proceso, M1 y M2 son bloques de medicin, y C1 y C2 son a o 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 ms importante. El ujo de agua caliente y2 se emplea como una variable para a satisfacer los requerimientos de temperatura del producto.
Controlador C T1 u Transmisor T2 Transmisor y Agua caliente u 1= r 2 C2 y2 T3 u 1= r 2 r1 e1 u1 e2 r

Controlador

Proceso P

Producto

Medicin

(a) r1 y1 u2 Producto (c) T1

(b) C1 C2 u2 P2 y2 P1 y1

C1 T2

M2 M1 (d)

Agua caliente

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 situacin, o recibe el nombre de controlador esclavo, interno o secundario. Por lo comn se preu ere usar la terminolog primario/secundario para referirse a los lazos de control a primario y secundario controlados por los controladores primario C 1 y secundario C2 , respectivamente. Para sistemas de control con ms de dos lazos en cascada, la a extensin es automtica. o a La losof de diseo en un sistema de control en cascada consiste en que el lazo de a n control secundario debe de ser ms rpido (alrededor de cinco veces) que el primario, a a lo cual es un requisito que cae por su propio peso. Esta losof de diseo se puede a n 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 ms rpido que el a a secundario, y ste tiene que ser ms rpido que el primario. Se sugiere el siguiente e a a procedimiento de diseo: n 1. Determinar el modelo dinmico del proceso o planta a controlar. a 2. Construir un lazo de control simple y sintonizar el controlador PID empleando cualquier mtodo. Realizar postsinton (sinton na) si fuera necesario. e a a 3. Construir el sistema de control en cascada deniendo los lazos de control primario y secundario.

6.1 Control en Cascada

127

4. Sintonizar el lazo de control secundario empleando el mtodo de la ganancia e l mite o del rel. Realizar postsinton si fuera necesario. e a 5. Sintonizar el lazo de control primario empleando el mtodo de la ganancia l e mite o del rel. Tener en cuenta que el lazo de control secundario es parte del lazo e de control primario. Realizar postsinton si fuera necesario. a 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. Solucin: El modelo dinmico del proceso ha sido proporcionado en el enunciado del o a problema. Para controlar el proceso emplearemos el mtodo de la oscilacin l e o mite de Ziegler y Nichols. El grco superior de la Fig. 6.2 muestra la respuesta al escaln a a o manera de una oscilacin sostenida que se obtiene haciendo que el controlador C en la o Fig. 6.1(b) trabaje en modo proporcional con una ganancia Kcrit = 2.18. Notar que la oscilacin posee un per o odo Tcrit = 12.5. Con tales valores se calculan los parmetros a del controlador PI empleando la Tabla 5.6. El grco inferior de la Fig. 6.2 ilustra la a salida y controlada, luego de realizar una postsinton Tales resultados se obtienen a. ejecutando el programa casc1a.m listado abajo.
% casc1a.m CONTROL PI DEL LAZO SIMPLE VA LA OSCILACIN SOSTENIDA I O 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(OSCILACIN SOSTENIDA), xlabel(TIEMPOx60), ylabel(y(t)) O Tcrit=12.5; % TOMADO DE LA OSCILACIN SOSTENIDA CON Kcrit=2.18 O Kc=0.65*0.45*Kcrit; Ti=0.85*Tcrit; % PAR METROS PI CON POSTSINTONA A I 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 grco de la a Fig. 6.3 muestra la respuesta al escaln a manera de una oscilacin sostenida que se o o obtiene haciendo que el controlador C2 en la Fig. 6.1(d) trabaje en modo proporcional con ganancia Kcrit2 = 8.53. Notar que la oscilacin posee un per o odo Tcrit2 = 2.4. Con tales valores se calculan los parmetros del controlador PI empleando la Tabla a 5.6. El segundo grco de la Fig. 6.3 ilustra la salida y2 (t) controlada, la cual se logra a realizando postsinton tal como se explica en el listado del programa casc1b.m. a, El lazo de control primario incluye en su estructura el lazo de control secundario descrito arriba. El diseo del control PI del lazo primario es similar al del secundario: n se genera una oscilacin sostenida (tercer grco de la Fig. 6.3) y con los parmetros o a a Kcrit1 = 3.4 y Tcrit1 = 13 determinados, se calculan los parmetros del controlador a

128
OSCILACIN SOSTENIDA 2

Estrategias de Control

1.5 y(t)

0.5

10

15

20 TIEMPOx60 (sec)

25

30

35

40

SALIDA CONTROLADA 60 TEMPERATURA C 50 40 30 20 10 0 0 10 20 30 TIEMPOx60 (sec) 40 50 60

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

C1 . El grco inferior de la Fig. 6.3 ilustra la salida y1 controlada, luego de realizar a una postsinton Todos estos resultados se obtienen ejecutando el programa casc1b.m a. 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(OSCILACIN DEL LAZO SECUNDARIO) O Tcrit2=2.4; % TOMADO DE LA OSCILACIN SOSTENIDA CON Kcrit2=8.53 O 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 N DEL LAZO PRIMARIO), O xlabel(TIEMPOx60), ylabel(y1(t)) Tcrit1=13; % TOMADO DE LA OSCILACIN SOSTENIDA CON Kcrit1=3.2 O Kc1=0.45*Kcrit1; Ti1=0.8*0.85*Tcrit1; % PAR METROS PI A 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 Razn o

129

OSCILACIN DEL LAZO SECUNDARIO 2 y2(t)

4 5 6 TIEMPOx60 (sec) CONTROL DEL LAZO SECUNDARIO

10

2 y2(t)

10 15 TIEMPOx60 (sec) OSCILACIN DEL LAZO PRIMARIO

20

25

2 y1(t)

10

15

20 25 TIEMPOx60 (sec) SALIDA CONTROLADA EN CASCADA

30

35

40

TEMPERATURA C

100

50

10

20

30 TIEMPOx60 (sec)

40

50

60

70

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 (grco inferior de la Fig. 6.3), a mientras que para el caso de realimentacin simple mostrado en el grco inferior de o a la Fig. 6.2, se estabiliza en 30 min. Se debe notar tambin que el per e odo de oscilacin o cr tica Tcrit1 del lazo primario mostrado en el tercer grco de la Fig. 6.3, es mayor a que el Tcrit12 del lazo secundario (primer grco de la Fig. 6.3) en una relacin: a o Tcrit1 13 = = 5.41 Tcrit2 2.4 Este hecho comprueba que el lazo secundario es 5.41 veces ms rpido que el lazo a a primario.

6.2.

Control de la Razn o

El control de la razn se reere generalmente a controlar (mantener) la razn o o entre dos ujos (o caudales) lo ms constante posible. En el esquema de razn ms a o a difundido, tal como el mostrado en la Fig. 6.4, el ujo q1 correspondiente al lazo no controlado, es conocido como el ujo salvaje. Por otro lado, el lazo controlado, en donde se ubica el ujo q2 , es denominado el lazo secundario. El control de la razn o encuentra muchas aplicaciones en la industria. Entre ellas: Mezcla o fundicin de dos o ms componentes. o a Control de la razn airecombustible para la combustin. o o

130

Estrategias de Control Control de la composicin de un producto, tcnica bastante utilizada en las o e torres de destilacin. o

Observar en la Fig. 6.4 que los ujos q1 y q2 se miden empleando placas de oricio, las cuales usan el principio de que el ujo es proporcional a la ra cuadrada de la z diferencia de presin producida por la placa. Por otro lado, la losof de control de o a la razn se basa en las relaciones siguientes (ver Fig. 6.4): o r2 = V y 1 e2 = r 2 y 2 = V y 1 y 2 y2 y1 (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 = (6.2)

V y1

r2

u y2

q2 q1

Qemador Horno

Fig. 6.4: Esquema ms difundido del control de la razn. a o

Ejemplo 6.2 Disear y simular el sistema de control que mantenga la razn combustibleaire en n o 10 en la Fig. 6.4. Esto es: q2 /q1 = V = 10. Solucin: La Fig. 6.5 muestra el diagrama Simulink correspondiente a la Fig. 6.4. o Notar que se ha incluido la FT de la vlvula de control. El proceso ujo y2 se modela a como una constante proporcional. Para mantener la razn V en 10, se ha usado un o controlador PI con parmetros P = Kc = 1 e I = Kc /Ti = 4. El ujo de aire y1 ha a sido considerado como un ujo que var en forma sinusoidal para mayor generalidad. a La Fig. 6.6 muestra el resultado de la simulacin que se obtiene ejecutando el archivo o razon1graf.m cuyo listado se muestra abajo. Observar que la razn V(t) se mantiene o 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(RAZN V(t)), title(CONTROL DE LA RAZN V = y2/y1) O O print -f -deps razon1r, print -s -deps razon1s

6.3 Control Anticipativo

131

razon1.mdl y1 y1 Aire r2 10 Set V Producto y2 y2 e2 PID PI Controller 1 u Inversa 1/y1 V=y2/y1 V Clock

th th

2 0.5s+1 Vlvula + caudal y 2 y2 Product Scope

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

45 40 35 30 RAZN V(t) 25 20 15 10

CONTROL DE LA RAZN V = y2/y1

y2(t) V = 10 y1(t)

5 0 0 200 400 600 TIEMPO [s] 800 1000

Fig. 6.6: Resultado de la simulacin correspondiente al Ejemplo 6.2. o

6.3.

Control Anticipativo

La principal desventaja en los sistemas de control por retroalimentiicin radica o en el hecho de que cuando un disturbio ingresa al proceso, ste se propaga por todo e el proceso, forzando que la variable controlada se desv del punto deseado o de e referencia, antes de que aparezca una accin correctiva que compense el efecto de tal o disturbio. Por cierto, en muchos casos se puede tolerar temporalmente un error entre la seal n controlada y la seal deseada. Sin embargo, existen aplicaciones en donde el error debe n de ser m nimo en presencia de disturbios, lo cual no se logra slo con el control por o realimentacin. Para tales situaciones resulta util el control anticipativo. Con esta o estrategia de control, los disturbios se miden antes de que ingresen al proceso, lo cual permite calcular por adelantado la seal de control requerida para mantener la n

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. Adems, d, u e y son las seales a n 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 ecuacin (6.3) ilustra el efecto de la presencia del disturbio d en el sistema. Si o queremos eliminar este efecto en la salida y, entonces esta salida deber de anularse. a Haciendo y = 0 en (6.3): 0 = Gp Ga (s) + Gd (s) Ga (s) = Gd (s) Gp (s) (6.4)

Para tener una idea ms clara de la estructura del controlador anticipativo G a (s) a diseado, asumamos que: n Gp (s) = Por consiguiente: Ga (s) = Gd (s) Kd Tp s + 1 (p d )s = e Gp (s) K p Td s + 1 (6.6) Kp ep s Tp s + 1 Gd (s) = Kd ed s Td s + 1 (6.5)

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

Ga(s)

Gp(s)

Fig. 6.7: Sistema de control anticipativo.

El sistema de control anticipativo trabaja bien siempre que Gp (s) y Gd (s) representen lo ms el posible al proceso y al disturbio. Evidentemente, en presencia de a errores de modelado, el desempeo del sistema de control anticipativo va a disminuir. n 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) = Entonces: Ga (s) = s2 1 es + bs + c Gp (s) = 1 e2s 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 diseo, Ga (s) puede resultar en una funcin de transferencia n o 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 situacin asumamos o que (notar que Gp (s) es de m nima fase): Gp (s) = s1 s+1 Gd (s) = 1 4s + 1

que resulta en el siguiente controlador anticipativo inestable: Ga (s) = Ejemplo 6.3 Disear y simular el sistema de control anticipativo mostrado en la Fig. 6.7 para: n Gd (s) = 5 2s + 1 Gp (s) = 3 0.5s + 1 Gd (s) s+1 = Gp (s) (s 1)(4s + 1)

Solucin: La Fig. 6.8 muestra el diagrama Simulink correspondiente a la Fig. 6.7. o 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 simulacin que se obtiene ejecutando el archivo o antic1graf.m cuyo listado se muestra abajo. Observar en el grco inferior que la a salida controlada y(t) tiende a cero. Es decir, y(t) no est afectada por el disturbio. a
% 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 2s+1 Gd(s) 2.5s 5 6s+3 Ga(s) u

d Scope 1 y 3 0.5s+1 Gp(s) Clock th th

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

2 1 d(t),u(t) 0 1 2 0 x 10
3

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

200

2 0 y(t) 2 4 6

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

800

1000

200

400 600 TIEMPO [s]

800

1000

Fig. 6.9: Resultado de la simulacin correspondiente al Ejemplo 6.3. o

Control AnticipativoRealimentado
El control anticipativo posee la capacidad de eliminar el efecto de los disturbios medibles que actan sobre la seal controlada. Por otro lado, el control realimentado u n puede rechazar el efecto de los disturbios no medibles sobre la seal controlada, n as como tambin corregir el efecto de los errores de modelado en el lazo de control. e Cae entonces por su propio peso, que si deseamos sacar ventaja de las bondades de cada uno de los esquemas descritos, debemos de aplicar simultneamente control a 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) tambin conocida. El disturbio d2 se incluye para dar e mayor generalidad al problema, tal como se trata en el el siguiente ejemplo.

6.3 Control Anticipativo


d1 Gd1(s) G a (s) r e G c (s) d2 u G p (s) Gd2(s) y

135

Fig. 6.10: Esquema de control anticipativo ms control realimentado. a

Ejemplo 6.4 Disear y simular el sistema de control anticipativorealimentado mostrado en la Fig. n 6.10 cuando: Gp (s) = 5e2s 0.8s + 1 Gd1 (s) = 3e3s 5s + 1 Gd2 (s) = 6e5s 9s + 1

Solucin: La Fig. 6.11 muestra el diagrama Simulink correspondiente a la Fig. 6.10. o 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 simulacin que se obtiene ejecutando el archivo o anticreal1graf.m cuyo listado se muestra abajo. Observar en el grco inferior que la a salida controlada y(t) sigue a la referencia r(t) a pesar de la presencia simultnea de a los disturbios d1 (t) y d2 (t). Es decir, y(t) no est afectada por los disturbios debido a a que el sistema de control los est rechaando. a
anticreal 1.mdl 3 d1 d1 5s+1 Gd1(s) 4.8s 0.6 5s+1 Ga(s) PID r = 10 Gc(s) d2 Tiempo muerto : 1 Tiempo muerto : 3 u 5 0.8s+1 Gp(s) 6 9s+1 Gd1(s)1 Tiempo muerto : 5 Tiempo muerto : 2 Scope r th Clock th y

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

136
SALIDA y(t) CONTROLADA

Estrategias de Control

14 12 10 y(t) 8 6 4 2 0 0 20 40 60

80

100 TIEMPO [s] CONTROL u(t)

120

140

160

180

200

3.5 3 2.5 u(t) 2 1.5 1 0.5 0 20 40 60 80

100 TIEMPO [s]

120

140

160

180

200

Fig. 6.12: Resultado de la simulacin correspondiente al Ejemplo 6.4. o

% 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 propsitos o de proteccin. Limitando la variable de un proceso en un valor alto o bajo, evita o que ocurran daos tanto en el proceso como en el producto. Dichas variables se limin tan empleando ciertos tipos de conmutadores de seleccin, tales como el HSS (High o Selector Switch) y el LSS (Low Selector Switch). La Fig. 6.13 muestra una aplicacin del control override en un sistema de bombeo o de producto. Las Figs. 6.13(a) y (b) ilustran el diagrama de instrumentacin y el o diagrama de bloques del sistema de control respectivamente, donde PT representa un transmisor de presin, PIC signica indicacin y control de la variable presin y o o o PY, en este caso, es el conmutador de seleccin, dado que la letra Y indica realizar o un clculo o algoritmo relacionado con P (la presin). a o

6.4 Control Override

137

Observar que existen dos lazos de control de presin, uno para la aspiracin y el o o otro para la impulsion. En condiciones normales, la presin se controla con el lazo o de impulsion. Si por alguna circunstancia de falla, cae la presin de aspiracin de o o la bomba por debajo del l mite de seguridad, entonces acta el conmutador selector u para que entre en funcionamiento el lazo de aspiracin en lugar del de impulsin. o o El conmutador selector trabaja como sigue. En principio, el conmutador selecciona la m nima de las dos seales que le llegan. Adems, el set point del controlador n a de aspiracin tiene que ser inferior a los valores normales de trabajo. En operacin o o normal, la seal de salida del controlador de impulsion alcanza sus valores de trabajo. n Si la presin de aspiracin baja demasiado hasta llegar a ser inferior a su set point, o o entonces el controlador de aspiracin genera una seal que es inferior a la que sale o n del controlador de impulsion. En esta situacin, el conmutador hace que entre en o operacin el lazo de control de la aspiracin. En este caso, el conmutador es del tipo o o LSS (Low Selector Switch).

PIC

PIC LAZO 2 PT PT LAZO 1

PY

IMPULSION ASPIRACION BOMBA (a)


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

(b)

DE ASPIRACION

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

La Fig. 6.14 muestra otra aplicacin del control override aplicado a un generador o de vapor, en donde el conmutador selector LSS har la conmutacin del lazo de a o control de presin (Lazo 1) al lazo de control de nivel (Lazo 2), cuando el el nivel del o liquido en el hervidor caiga por debajo del nivel permisible previamente establecido. Esta conmutacin tambin provoca que se cierre la valvula de control. o e

138

Estrategias de Control

LIMEA DE DESCARGA

LINEA DE VAPOR PT

LAZO 2

LAZO 1

LT AGUA

LC

LSS

PC

CALEFACTOR

(a)
TRANSMISOR DE PRESION

CONTROLADOR DE PRESION CONMUTADOR LSS CONTROLADOR DE NIVEL TRANSMISOR

LAZO 1 VALVULA DE CONTROL VALVULA DE CONTROL LAZO 2 PROCESO PRESION PROCESO NIVEL

(b)

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, slo existe una variable controlada o PV, pero varias variables manipuladas MV. Un ejemplo t pico es el encendido y operacin de un horno industrial mediante dos combustibles A y B. La seleccin de o o 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 jar 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 especicado. Una transicin suave cuando se use una u otra variable manipulable, para no o afectar adversamente la variable controlada. Otro ejemplo de control selectivo se muestra en el sistema de medicin mltiple de o u la Fig. 6.15, donde los transmisores de ujo FT1, FT2 y FT3 son dedicados para medir el ujo A, mientras que los transmisores FT4, FT5 y FT6 son para el ujo B. El objetivo de tales bater de transmisores es el de aumentar la conabilidad de as la medicin, an en el caso en que falle uno de los transmisores de una bater o u a.

6.6 Control de Rango Partido

139

En el proceso mostrado en la Fig. 6.15, la medicin de A y B es cr o tica si se quiere mantener la relacin B/A (obtenida en el bloque de cmputo FY2) entre ciertos o o l mites de diseo. Por tal razn, el bloque MS (Media Selector) computa en FY1 y n o en FY3 el promedio de las mediciones de los ujos A y B, respectivamente. Si alguno de los dos bloques MS detecta que una medicin est fallando, entonces el promedio o a de la medicin se realiza con los otros dos, evitando de esta manera paradas costosas o del proceso. Los bloques FIC1 y FIC2 son los lazos de control de la razn B/A y o del ujo A, respectivamente.
MS
FIC 2

FY 2 FT 4 FT 5

FT 6

A Flujo A

FY 1 FT 1 FT 2

MS

FY 2

B/ A
FIC 1

FT 3

Flujo B

Fig. 6.15: Estrategia de control selectivo aplicado a un sistema de medicin mltiple. o u

6.6.

Control de Rango Partido

El control de rango partido, denominado tambin de gama partida o split range e en ingls, se aplica cuando se desea que la seal o fuerza de control manipule dos o e n ms actuadores, por ejemplo, dos vlvulas de control. En esta situacin, el nmero a a o u de variables de control es mayor que el nmero de variables controladas. u 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 reaccin. El objetivo o de control es mantener constante la presin P dentro del reactor mediante la accin o o programada de las vlvulas VA y VB (ver Fig. 6.16) como sigue. En presencia de a 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 vlvula se determina del grco de la Fig. a a 6.16.

140
VA

Estrategias de Control
VB

uA

Selector

uB

100% Abertura de vlvula 0%

Pr VA P Reactor VB

P 0% 30% 50% u 70% u 100%

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

6.7.

Control con Autosintonizacin de Parmetros o a

Los sistemas de control adaptativo ajustan su comportamiento a las cambiantes propiedades del proceso controlado y de las seales que interactan sobre dicho pron u ceso. Por el contrario, los sistemas de control jos, 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 investigacin sobre controladores adaptativos se ha centrado en dos gruo pos principales: controladores adaptativos con un modelo referencial y controladores con autosintonizacin (selftuning regulators). En esta seccin nos concentraremos o o en este ultimo controlador. El sistema de control adaptativo con autosintonizacin mostrado en la gura 6.17 o combina en su diseo un mtodo de estimacin de parmetros (el de los m n e o a nimos cuadrados recursivo), una tcnica de estimacin de estados (el ltro de Kalman), una e o representacin lineal del modelo del proceso en el espacio de estado discreto, y una ley o de control: el controlador proporcionalintegral optimo cuadrtico con realimentacin a o de estados.
^ x ESTIMADOR DE ESTADOS ESTIMACION DE U + + DISTURBIOS CONTROLADOR CON AUTOSINTONIZACION + u U PROCESO NO LINEAL ^ ESTIMADOR DE PARAMETROS MODELO LINEAL

Fig. 6.17: Conguracin del sistema de control con autosintonizacin. o o

Notar en la Fig. 6.17 que el proceso puede poseer un modelo dinmico no lineal, a pero debe de ser linealizable. Es decir (ver subseccin A.6.2), el modelo no lineal o

6.8 Control Adaptativo con Modelo Referencial original del proceso: x = f (X, U)

141

(6.7)

se puede transformar mediante linealizacin en un modelo lineal en el espacio de o estado continuo de la forma: x = Ax + Bu) y = Cx (6.8)

donde f es una funcin vectorial de variables vectoriales X, es el vector de estado, U o 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 ecuacin (6.8) emplea las variables o residuales (o de desviacin) x y u. La relacin entre estas variables con respecto a o o las actuales X y U es: x=XX u=UU (6.9)

donde X y U son los valores en estado estacionario (o de equilibrio) de X y U, respectivamente. La discretizacin del modelo lineal en (6.8) con un tiempo de muestreo o T , resulta en la siguiente descripcin : o 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 conversin requerida. o El objetivo del control en el sistema de control con autosintonizacin, consiste o en determinar una fuerza de control capaz de minimizar la diferencia entre la salida del proceso y la seal de referencia, cumpliendo ciertas especicaciones de diseo n n previamente establecidas. El sistema de control con autosintonizacin mostrado en la Fig. 6.17 opera como o sigue: luego de cada tiempo de muestreo, el vector estimado de parmetros se a actualiza empleando los datos proporcionados por la entrada U del proceso y por la salida Y del mismo. Luego, los elementos de se usan para recuperar el modelo lineal discreto del proceso dada por la ecuacin (6.8), lo cual permite estimar el vector de o estado residual del modelo del proceso x (empleando un ltro de Kalman) y el valor 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 relacin: U = U + u. o

6.8.

Control Adaptativo con Modelo Referencial

La gura 6.18 ilustra la conguracin de un Sistema de Control Adaptativo con o Modelo Referencial (SCAMR) que puede ser empleado en una gran variedad de aplicaciones. La estructura SCAMR se compone bsicamente de un modelo de referencia, a un controlador adaptativo, el sistema a controlar y un mecanismo de adaptacin. El o esquema en consideracin se denomina un SCAMR paralelo debido a la ubicacin o o relativa del modelo referencial con respecto al sistema.

142
MODELO REFERENCIAL

Estrategias de Control

CONTROLADOR ADAPTATIVO

SISTEMA NO LINEAL

+
q

qd

MECANISMO DE ADAPTACIN

~ q

Fig. 6.18: Conguracin de un Sistema de Control Adaptativo con Modelo Referencial o (SCAMR).

El modelo de referencia, el cual est excitado por una entrada externa r, es un a sistema dinmico auxiliar usado para obtener la respuesta deseada del sistema. Tal a 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 adaptacin es un conjunto de bloques interconectados usados o para implementar la ley de adaptacin. De hecho, tal ley de adaptacin es el algoritmo o o de control empleado para modicar los parmetros del controlador adaptativo, de a modo tal que el SCAMR permanezca estable y que el error de seguimiento q = qqd converja a cero a pesar de la presencia de parmetros variantes con el tiempo del a sistema y disturbios externos. El mtodo directo de Lyapunov es empleado para e determinar que el SCAMR diseado garantice convergencia global de las seales n n controladas con respecto a sus trayectorias deseadas. El mtodo de Lyapunov, aplicado a un sistema de control, es capaz de determinar e si tal sistema es asintticamente estable; es decir, que los estados del sistema de cono trol convergen rpidamente al estado de equilibrio del sistema. Este mtodo consiste a e en formular de una funcin escalar V (x, t) conveniente, donde x es el vector de estao dos del sistema y la t indica que los parmetros de V tambin pueden ser variantes a e con el tiempo. Si la derivada total dV /dt resulta denida negativa (menor que cero), entonces el mtodo asegura que el sistema posee un comportamiento asintticamente e o estable. El objetivo de control del SCAMR diseado consiste en producir una fuerza de n control u que sea capaz de hacer que el vector de salida y del sistema, siga a la respuesta deseada yd cumpliendo ciertas especicaciones de diseo, a pesar de la presencia de n incertidumbre paramtrica (parmetros no modelados en el modelo dinmico usado e a a o con valores inciertos) y no paramtrica (efectos no lineales no tomados en cuenta e en el modelo dinmico tales como friccin de coulumb, saturacin, entre otros). a o o El SCAMR se puede aplicar a sistemas no lineales (preferiblemente) y lineales. La descripcin del modelo puede ser imprecisa; esto es, el modelo dinmico del siso a tema puede presentar incertidumbres en su estructura o dinmica no modelada en su a representacin. Ya que la descripcin del sistema permite incertidumbres, el control o o

6.9 Autosintonizacin con Reconocimiento de Patrones o

143

adaptativo (en general) se puede considerar una aproximacin particular de control o robusto. El objetivo de control del sistema de control diseado consiste en producir una n 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 especicaciones de diseo, a pesar de n la presencia de incertidumbre paramtrica (parmetros no modelados en el modelo e a dinmico usado o con valores inciertos) y no paramtrica (efectos no lineales no a e tomados en cuenta en el modelo dinmico tales como friccin de coulumb, saturacin, a o o entre otros).

6.9.

Autosintonizacin con Reconocimiento de Patrones o

El sistema de control con autosintonizacin basado en el reconocimiento de pao trones, emplea la respuesta del proceso a un cambio tipo escaln del SP y/o a la accin o o de un disturbio, tal como se muestra en la Fig. 6.19(b) y (c), donde el sobrenivel y el amortiguamiento se denen como: amortiguamiento = e3 e 2 e1 e 2 sobrenivel = e2 e1 (6.11)

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 parmetros se pueden determinar empleando el mtodo de la curva de reaccin. a e o Tambin resulta conveniente calcular el tiempo de espera Wmax , el cual es el tiempo e mximo que el controlador espera para la ocurrencia del segundo pico. Este tiempo a se dene como: Wmax = 5 (6.13) Autosintonizacin v el reconocimiento de patrones consiste fundamentalmente o a en la programacin de un sistema experto para que lleve a cabo en forma automtica, o a tal como si lo estuviera haciendo un experto, el procedimiento de sintonizacin del o controlador Gc (s). Este mtodo de sintonizacin est presente en el controlador e o a Foxboro EXACT (760/761). La fase de reconocimiento de patrones dentro del procedimiento de autosintonizacin comienza cuando el error e(t) = SP P V excede un nivel mximo de o a ruido previamente especicado, 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 oscilacin Tp y el tiempo mximo Wm = 5 de dicha respuesta. Si los picos e2 y e3 o a no fueran detectables, entonces el programa de reconocimiento de patrones debe de estimarlos para usarlos luego en las frmulas de sintonizacin. Estas frmulas son o o o 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
disturbio SP e(t) Gc (s) (a)

Estrategias de Control

Gp(s)

PV

e(t) e1

e3 t e(t) e2 (b) e3 e2 Tp (c) t

e1

Fig. 6.19: (a) Sistema realimentado. (b) Respuesta a un cambio escaln. (c) Respuesta o a un cambio en el disturbio.

Informacin Inicial y PreSinton o a


El controlador necesita tener a priori un conjunto de parmetros, los cuales deben a de ser suministrados por el usuario o ser estimados por el modo PreTune (lase e autosintonizacin) del controlador Foxboro. Estos parmetros son: o a Los valores iniciales de BP , Ti y Td . La banda de ruido BN . Est programado que el controlador inicia el proceda imiento de adaptacin cuando el error e(t) exceda dos veces BN , la cual se o indica luego cmo determinarla. o Mximo tiempo de espera Wmax . a La banda de ruido NB se determina durante la ultima fase del modo PreTune. Primero, la seal de control vuelve al nivel que ten antes de la ocurrencia del n a cambio escaln del SP. Con el controlador an en manual y con la seal de control o u n mantenida en un valor constante, la salida controlada se pasa a travs de un ltro e pasa alto. La banda de ruido BN se calcula luego estimando la amplitud pico a pico de la salida del ltro pasa alto. Este ltro puede poseer la forma (entre otras): La BN estimada se emplea para inicializar el trmino derivativo como sigue: e Calcular la cantidad Z = (3 - 2NB)/2.5; si Z > 1 entonces jar Td = Ti /6;

6.9 Autosintonizacin con Reconocimiento de Patrones o si Z < 0 entonces jar Td = 0; si 0 < Z < 1 entonces jar Td = ZTi /6;

145

Tambin existen una serie de parmetros opcionales, a parte de los requeridos, que e a deben de ser proporcionados por el usuario. En caso contrario, el programa usa los valores por defecto, mostrados entre parntesis en la siguiente lista: e Mximo amortiguamiento permitido (0.3) a Mximo sobrenivel permitido (0.5) a El factor derivativo (1), el cual multiplica al trmino derivativo, para dosicar e su inuencia. 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 parmetros del a controlador caigan entre ciertos l mites. Si se usa el valor 10 para el factor l mite de cambio, entonces los valores de los parmetros BP, Ti y Td no sern a a ms grande que diez veces,k o ms pequeos que un dcimo de sus valores a a n e iniciales.

Cap tulo 7

S ntesis de Controladores SISO y MIMO


Un proceso SISO (SingleInputSingleOutput) est caracterizado por poseer una a salida y una entrada, mientras que un proceso MIMO (MultipleInputMultipleOutput) posee mltiples entradas y mltiples salidas, las cuales no estn exentas de presentar u u a cierto grado de interaccin entre ellas. La tcnica para modelar esta interaccin es emplear o e o modelos dinmicos multivariables o MIMO. a El problema de s ntesis de controladores SISO y MIMO consiste en determinar el modelo dinmico de la ley de control partiendo de ciertas condiciones y principios previaa mente establecidos. Esta ley de control puede estar en la forma de una FT (Funcin de o Transferencia), para el caso SISO, y de una MT (Matriz de Transferencia) para el caso MIMO. Este Cap tulo trata sobre la s ntesis (diseo) de controladores SISO empleando el n mtodo de Dahlin, y de controladores MIMO empleando el mtodo de desacoplamiento, e e usando desacopladores, y aplicando el criterio de estabilidad de Hurwitz.

7.1.

Mtodo de Dahlin e

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 medicin, respectivamente, y, r(s), o e(s), y(s) y u(s) constituyen las seales de referencia (SP), error del sistema, salida n 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 seal controlada y(t) sea la curva de reaccin de un sistema n o 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 frmula para sintetizar o (disear) el controlador: n 1 1 (7.3) Gc (s) = Gp (s) Tc s En lo que sigue, la frmula de s o ntesis dada en (7.3) ser determinada para el control a de diferentes procesos.
r(s) e(s) Gc (s) H(s) u(s) Gp(s) y(s)

Fig. 7.1: Sistema SISO realimentado.

Proceso Proporcional
Cuando Gp (s) = Kp (proceso proporcional), la ecuacin (7.3) toma la forma: o 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 ecuacin (7.7), (7.3) toma la forma: o Gc (s) = Kc 1 + 1 Ti s Kc = T K p Tc Ti = T (7.6)

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 ecuacin (7.7), (7.3) toma la forma: o Gc (s) = Kc 1 + 1 Ti s (Td s + 1) Kc = T1 K p Tc Ti = T 1 Td = T 2 (7.8)

7.1 Mtodo de Dahlin e

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 satlite en e orbita, la ecuacin (7.3) toma la forma: o 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 parmetros, corresponde a un proceso que posee una a respuesta al escaln inversa (parte de su respuesta al inicio es negativa) o con soo brenivel. Para esta situacin conviene forzar que la seal controlada y(t) sea la curva o n de reaccin de un sistema de adelantoatraso de ganancia unitaria y de la forma: o 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: Gc (s) = Kc 1 + 1 Ti s (Td s+1) Kc = T1 Kp (Tc + T3 ) Ti = T 1 Td = T 2 (7.13) (7.12)

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 seal controlada y(t) sea la curva de reaccin de n o 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: Gc (s) = Kc 1 + donde: Kc = Ejemplo 7.1 Vericar los controladores sintetizados empleando el mtodo de Dahlin. e Solucin: La Fig. 7.2 muestra las respuestas controladas, resultadoS que se obtienen o 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 1 SALIDA SALIDA 1 CONTROL DE UN PROCESO DE 1er ORDEN

1 Ti s

Td s + 1 Td s + 1

(7.16)

T Kp (Tc + )

Ti = T

Td =

Tc Tc +

0.5

0.5

4 6 8 TIEMPO [s] (sec)

10

12

4 6 8 TIEMPO [s] (sec)

10

12

CONTROL DE UN PROCESO DE 2do ORDEN 1 SALIDA SALIDA 1

CONTROL DE UN PROCESO INTEGRATIVO

0.5

0.5

4 6 8 TIEMPO [s] (sec)

10

12

4 6 8 TIEMPO [s] (sec)

10

12

PROCESO CON RPTA INVERSA O SOBRENIVEL 2 SALIDA 1 0 1 2 0 2 4 6 8 TIEMPO [s] (sec) 10 12 SALIDA

CONTROL DE UN PROCESO CON TIEMPO MUERTO 1 0.5 0 0.5 1 0 5 10 TIEMPO [s] (sec) 15

Fig. 7.2: Control de procesos empleando controladores sintetizados por el mtodo de e Dahlin.

% dahlin1.m CONTROL DE PROCESOS: METODO DE DAHLIN 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 Desacoplamiento a


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

151

7.2.

Control MIMO v Desacoplamiento a

El controlador MIMO a disear requiere de la representacin lineal en el espacio n o de estado (ecuacin (7.17)) o en el dominio de Laplace (ecuacin (7.19)) del sistema o o MIMO. Tal diseo debe de cumplir los siguientes requerimientos: n 1. No interaccin. o 2. Exactitud esttica. a 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) y(s) = Gp Gc (s)e(s) u(s) = Gc (s)e(s) e(s) = r(s) y(s) (7.18) (7.19)

152

S ntesis de Controladores SISO y MIMO


Controlador MIMO e(s) u(s) G c(s) Proceso MIMO y(s) G p (s)

r(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 seales n 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 expresin de x(s) en la expresin de y(s), se obtiene la matriz de o o transferencia Gp (s) del sistema en funcin de las matrices de su descripcin de estado o o A, B, C y D: y(s) = [C(sI A)1 B + D]u(s) Gp (s) = C(sI A)1 B + D (7.21)

7.2.1.

No Interaccin o

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

Una condicin necesaria y suciente para no interaccin en un sistema de control o o MIMO con realimentacin unitaria es que la matriz de transferencia a lazo abierto o Go (s) sea diagonal. Este ultimo requerimiento es fcil de probar. De la Fig. 7.3, vimos a que: G(s) = [I + Go (s)]1 Go (s)

7.2 Control MIMO v Desacoplamiento a Despejamos Go (s): Go (s) = Gp (s)Gc (s) = G(s)[I G(s)]1

153

(7.23)

Dado que G(s) tiene que ser diagonal por para no interaccin, entonces, I G(s) o tambin debe de ser diagonal. Por consiguiente, su matriz inversa [I G(s)] 1 es e tambin diagonal y de la forma: e 1 0 1G11 (s) 1 1G22 (s) 1 [I G(s)] = .. . 1 0 1Gpp (s) Por lo tanto, la relacin (7.23) resulta en la siguiente matriz diagonal: o G11 (s) 0 1G11 (s) G22 (s) 1G22 (s) Go (s) = .. . Gpp (s) 0 1Gpp (s)

(7.24)

7.2.2.

Exactitud Esttica a

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 innito. 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 nal en la ecuacin anterior se obtiene: o
t |r| s .

|r| s

Aplicando el

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


s0 s0

Entonces podemos concluir que para exactitud esttica (error en estado estable nulo) a se requiere: l [G(s)] = I m (7.25)
s0

7.2.3.

Estabilidad
Gp (s) = C(sI A)1 B + D Adj (I A) det(I A)

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

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

154

S ntesis de Controladores SISO y MIMO

donde Adj signica adjunta, det es la operacin determinante y la ecuacin polinmio o o ca: det(I A) = 0 (7.27) es la ecuacin caracter o 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 planos. Si existe al menos una ra en el semiplano derecho del planos, entonces el sistema z es inestable. Si todas las ra ces se localizan en el semiplano izquierdo del planos, excepto al menos una que se ubique en el eje imaginario (el eje vertical del planos), entonces el sistema es oscilante, que para nes prcticos tambin es inestable. a e Es importante anotar que el sistema a controlar puede ser inestable, como es el caso del sistema posicin angular de un motr CC. Sin embargo, el sistema de control, o como el mostrado en la Fig. 7.3 (notar que Gp (s) forma parte de este sistem), debe de tener comportamiento estable. A continuacin se deduce la ecuacin caracter o o 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 ecuacin caracter o 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 caracter ces sticas de (7.29) se localizan en el semiplano izquierdo del planos. Si existe al menos una ra en el semiplano derecho del planos, entonces el sistema es inestable. Si todas z las ra ces se localizan en el semiplano izquierdo del planos, excepto al menos una que se ubique en el eje imaginario (el eje vertical del planos), entonces el sistema es oscilante, que para nes de operacin del sistema controlado, tambin es inestable. o e Ejemplo 7.2 Control PID MIMO del Sistema Tanque Cerrado Disear un controlador PID MIMO basado en la tcnica de desacoplamiento para n e controlar el nivel y la temperatura del sistema tanque cerrado descrito en la subseccin o 2.8.4. Las especicaciones de diseo son: 0 % de sobrenivel y error en estado estable n nulo tanto para el nivel como para la temperatura. Tiempos de estabilizacin menores o de 400 s para el nivel y 1000 s para la temperatura. Solucin: En la subseccin 2.8.4 se determin el modelo dinmico lineal en el espacio o o o a 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: Gp (s) = C(sI A)1 B + D = Gp11 (s) Gp12 (s) Gp21 (s) Gp22 (s)

7.2 Control MIMO v Desacoplamiento a

155

La forma de la MT (matriz de transferencia) del sistema Gp (s) se obtiene ejecutando el programa mimopidsimb.m: Gp11 (s) Gp11 (s) Gp21 (s) Gp21 (s) =
Kp11 Tp11 s+1 Kp21 (Tpa s+1) (Tpb s+1)(Tpc s+1) Kp11 Tp11 s+1 Kp21 (Tpa s+1) (Tpb s+1)(Tpc s+1)

Gp (s) =

(7.30)

la cual cumple los requerimientos del caso:

Para disear la matriz de control Gc (s), podemos asumir una matriz G(s) de la n forma: 1 0 Tniv s+1 G(s) = (7.31) 1 0 Ttemp s+1 1. La matriz es diagonal, por lo tanto satisface el requerimiento de no interaccin. o 2. Dado que G(0) = I, de acuerdo a (7.25), se satisface el requerimiento de exactitud esttica. a 3. Debido a que los elementos de la diagonal de G(s) son funciones de transferencia de primer orden, cuyas ra caracter ces sticas se ubican en la parte izquierda del plano s, entonces podemos asegurar que se cumple el requerimiento de estabilidad. Adems, cada canal responde exponencialmente con una constante a 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 ecuacin (7.23): o 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 ejecucin del programa mimopidsimb.m: o 1 1 Kc11 1 + Tc11 s Kc12 1 + Tc12 s GC (s) = (7.33) 1 1 Kc21 1 + Tc21 s Kc12 1 + Tc12 s La Fig. 7.4 muestra en detalle la interconexin de todos los bloques del sistema de o control MIMO del sistema tanque cerrado. Observar que el controlador MIMO se sintetiza con cuatro controladores PI. Simulacin del Sistema de Control en el Dominio de s o El programa mimopidsimb.m, cuyo listado se muestra abajo, tambin simula el e sistema de control del tanque cerrado. En el resultado de la simulacin (Fig. 7.5) o se observa que el nivel (grco superior izquierda) y la temperatura (grco supea a rior derecha) controlados, cumplen las especicaciones de diseo establecidas en el n enunciado del ejemplo.

156

S ntesis de Controladores SISO y MIMO

e1 r1

K c11 1+

1 T c11 s 1 T c12 s 1 T c21 s 1 T c12 s

u1

K p11 T p11 s+1 K p11 T


p11

y1

K c12 1+ K c21 1+ r2 e2

s+1

K p21 (T pas+1) (T pbs+1)(T pcs+1) K p21 (T pas+1) u2 (T pbs+1)(T pcs+1) y2

K c12 1+

Fig. 7.4: Diagrama de bloques del sistema de control PID MIMO diseado. n

Step Response 1 0.8 To: Out(1) 0.6 0.4 0.2 0 1 0.8 To: Out(2) 0.6 0.4 0.2 0 From: In(1) From: In(2)

NIVEL

Amplitude

TEMPERATURA

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; % PARMETROS DEL TANQUE A 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 Desacoplamiento a


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

157

% % % % % % % % %

Simulacin del Sistema de Control en el Dominio de t o 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: Empleando aproximacin rectangular para los trminos integrales 1 , la discretizacin o e o s de (7.34) resulta: Kc11 u1 (k) = Kc11 e1 (k) + Tc11 u2 (k) = Kc21 e1 (k) + Kc21 Tc21
k i=0 k i=0

e1 = r 1 y 1

e2 = r 2 y 2

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

T e2 (i)
i=0 k

T e2 (i)
i=0

donde k = t/T es el tiempo discreto y T es el tiempo de muestreo o discretizacin. o 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) + Kc11 Tc11 Kc21 Tc21
k1 i=0 k1 i=0

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

Kc12 Tc12 Kc12 Tc12

k1

T e2 (i)
i=0 k1

T e2 (i)
i=0

158 Teniendo en cuenta que:


k k1

S ntesis de Controladores SISO y MIMO

k1

e1 (i) =
i=0 i=0

e1 (i) + e1 (k)
i=0

e2 (i) =
i=0

e2 (i) + e2 (k)

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 programacin en tiempo real prescindimos del argumento k. Por consiguiente, o las ecuaciones anteriores toman la forma: u1 = u1 + Kc11 (e1 e1p ) + u2 Kc11 T e1 Kc12 (e2 e2p ) Tc11 Kc21 T e1 Kc12 (e2 e2p ) = u2 + Kc21 (e1 e1p ) + Tc21 Kc12 T e2 Tc12 Kc12 T e2 Tc12

(7.36)

donde e1p y e2p son los errores pasados de e1 y e2 respectivamente. La ecuacin de o 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 programacin en tiempo real, la ecuacin de estado discreta del sistema toma o o la forma: x = x + T (A x + B u) (7.37) La simulacin del sistema se logra ejecutando el programa pidmimotanque.m, el cual o toma en cuenta las ecuaciones discretas (7.36) y (7.37). El resultado de la simulacin se muestra en la Fig. 7.6. Observar que el controlador PID MIMO estabiliza o simultneamente el nivel y la temperatura cumpliendo las especicaciones de diseo a n del caso.
% pidmimotanque.m CONTROL PID MIMO DEL SISTEMA TANQUE CERRADO CON AGUA clear all; close all; clc; % PARMETROS A 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 Desacoplamiento a


1 NIVEL [m] 0.5 0 AGUA FRA [m /s] 0.01 0.005 0 TEMPERATURA [C] 60 40 20 0 0.005 0.01

159

500

1000

1500

2000 TIEMPO

[s]

2500

3000

3500

4000

500

1000

1500

2000 TIEMPO

[s]

2500

3000

3500

4000

AGUA CALIENTE [m /s]

500

1000

1500

2000 TIEMPO

[s]

2500

3000

3500

4000

500

1000

1500

2000 TIEMPO

[s]

2500

3000

3500

4000

Fig. 7.6: Resultado de la simulacin del sistema de control PID MIMO del tanque: o 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; % PARMETROS DEL CONTROLADOR: SE SETERMINAN DE Gc EN mimopidsimb.m A 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 NMERO DE MUESTRAS M U for k = 1:M % INICIO DEL LAZO DE CONTROL if(k >= 0 && k <= M/4), r1 = 0.5; r2=20+273.15; % SE ~ALES DE REFERENCIA N elseif(k >= M/4 && k <= M/2), r1 = 0.2; r2=40+273.15; elseif(k >= M/3 && k <= 3*M/4), r1 = 0.4; r2=70+273.15; elseif(k >= 3*M/4 && k <= M), r1 = 0.3; r2=20+273.15; end R1(k) = r1; R2(k) = r2;

160

S ntesis de Controladores SISO y MIMO

% CALCULO DEl VECTOR DE CONTROL u(t) e1 = r1 - x(1); Y1(k) = x(1); e2 = r2 - x(2); Y2(k) = x(2); u1 = u1 + Kc11*(e1-e1p) + Kc11*T*e1/Ti11 ... - Kc12*(e2-e2p) - Kc12*T*e2/Ti12; U1(k) = u1; u2 = u2 - Kc21*(e1-e1p) - Kc21*T*e1/Ti21 ... + Kc22*(e2-e2p) + Kc22*T*e2/Ti22; U2(k) = u2; u = [u1;u2]; % MODELO LINEAL (DISCRETIZACION DIRECTA) x = x + T*(AA*x + BB*u); e1p = e1; e2p = e2; end % GRFICOS A ejet = linspace(0,M*T,M); subplot(4,1,1), plot(ejet,R1,ejet,Y1), grid, ylabel(NIVEL [m]), xlabel(TIEMPO [s]) subplot(4,1,2), plot(ejet,U1), grid, ylabel(AGUA FR A [m^3/s]), I xlabel(TIEMPO [s]) subplot(4,1,3), plot(ejet,R2,ejet,Y2), grid ylabel(TEMPERATURA [K]), xlabel(TIEMPO [s]) subplot(4,1,4), plot(ejet,U2), grid, ylabel(AGUA CALIENTE [m^3/s]), xlabel(TIEMPO [s]), print -f -deps pidmimotanque

Ejemplo 7.3 Control MIMO del Sistema de Plataformas Disear un controlador MIMO basado en la tcnica de desacoplamiento para controlar n e las salidas y1 e y2 del sistema de plataformas propuesto en el problema 2.6 y mostrado en la Fig. 2.26. Las especicaciones de diseo son: 0 % de sobrenivel, error en estado n estable nulo y tiempo de estabilizacin menor de 20 s para ambas salidas. Valorar o todos los parmetros de la planta en 1. a Solucin: Seleccionemos como variables o x4 = y2 , como variables de salida y1 = x1 y u2 , esto es: x1 x x= 2 y= x3 x4 x = Ax + Bu A = K1 m1
K1 m2

de estado x1 = y1 , x2 = y2 , x3 = y1 y e y2 = x2 y como variables de entrada u1

y1 y2

u=

u1 u2

Se puede demostrar (problema 2.6) que las ecuaciones de estado y de salida son: y = Cx 1 0
B m1 1 B m1 2

0 0

0 0
K1 m1 +K (K1m2 2 )

0 1
B1 m1 +B (B1m2 2 )

El programa mimopid02.m, cuyo listado se muestra abajo, simula el sistema de control pedido. En el resultado de la simulacin (Fig. 7.7) se observa que las salidas o controladas y1 (grco superior izquierda) e y2 (grco superior derecha) controlaa a dos, cumplen las especicaciones de diseo requeridas. n

0 0 B= 1 m 1 0

1 m2

0 0 0

C=

1 0 0 0 0 1 0 0

7.3 Control MIMO con Desacopladores


Step Response 1 0.8 To: Out(1) 0.6 0.4 0.2 0 1 0.8 To: Out(2) 0.6 0.4 0.2 0 From: In(1) From: In(2)

161

y1

Amplitude

y2

20

40

60

0 Time (sec)

20

40

60

Fig. 7.7: Salidas y1 e y2 controlados (Ejemplo 7.3.)


% mimopid02.m CONTROL MULTIVARIABLE DEL SISTEMA DE PLATAFORMAS clear all; close all; clc; K1=1; K2=1; B1=1; B2=1; m1=1; m2=1; % PARMETROS A % ECUACIN DE ESTADO Y DE SALIDA O AA=[0 0 1 0;0 0 0 1;-K1/m1 K1/m1 -B1/m1 B1/m1;K1/m2 -(K1+K2)/m2 -B1/m2... -(B1+B2)/m2]; BB=[0 0;0 0;1/m1 0;0 1/m2]; CC=[1 0 0 0;0 1 0 0]; DD = [0 0;0 0]; II = eye(4); Tniv=4; Ttemp=4; s=tf(s); I=eye(2); Gp = CC*inv(s*II -AA)*BB+DD; G=[1/(Tniv*s+1) 0;0 1/(Ttemp*s+1)]; Gc = inv(Gp)*G*inv(I-G); Go=Gp*Gc; step(feedback(Go,I)) print -deps -f mimopid02

7.3.

Control MIMO con Desacopladores

En la seccin anterior, la seleccin a priori de una matriz de transferencia diagonal o o que represente la dinmica del sistema realimentado, resolvi el problema de intera o accin existente entre las variables de entrada y de salida, es decir, logr desacoplar o o al sistema. En esta seccin tambin se va a usar desacoplamiento en el diseo de o e n un controlador MIMO. Para este caso, los desacopladores van a formar parte de la conguracin del sistema, tal como se observa en la Fig. 7.8, de la cual se obtienen o las siguientes relaciones: y1 (s) = Gp11 (s)[u1 (s) + D1 (s)u2 (s)] + Gp12 (s)[u2 (s) + D2 (s)u1 (s)] y2 (s) = Gp22 (s)[u2 (s) + D2 (s)u1 (s)] + Gp21 (s)[u1 (s) + D1 (s)u2 (s)] (7.38) El objetivo del bloque desacoplador D1 (s) es compensar el efecto de u2 en la salida y1 , esto es, prevenir cambios en la salida del segundo controlador Gc2 que puedan afectar la variable controlada del primer lazo. Para cumplir con este requerimiento,

162

S ntesis de Controladores SISO y MIMO

la primera ecuacin de (7.38) se puede expresar como: o y1 (s) u2 (s) = D1 (s)Gp11 (s) + Gp12 (s) = 0
u1 =0

(7.39)

En forma similar, para que el bloque desacoplador D2 (s) compense el efecto de u1 en la salida y2 , de la segunda ecuacin de (7.38) se tiene: o y2 (s) u1 (s) = D2 (s)Gp22 (s) + Gp21 (s) = 0
u2 =0

(7.40)

Por consiguiente, los bloques desacopladores se calculan de: D1 (s) = Gp12 (s) Gp11 (s) D2 (s) = Gp21 (s) Gp22 (s) (7.41)

Las ecuaciones que gobiernan la dinmica del sistema mostrado en la Fig. 7.8 son: a
e1 r1 u G c1(s)
1

m1

Gp11(s)

y1

D 1 (s) D 2 (s) r2 e2 m2 u2

G p12(s)

G p21(s) y2 G p22(s)

G c2 (s)

Fig. 7.8: Sistema de control MIMO con desacopladores D1 y D2 .

y1 = Gp11 m1 + Gp12 m2 y2 = Gp21 m1 + Gp22 m2 Por consiguiente: y= y1 y2 m= m1 m2

m 1 = u 1 + D 1 u2 m 2 = D 2 u1 + u 2

u1 = Gc1 e1 u2 = Gc2 e2 (7.42)

u=

u1 u2

e=

e1 e2

y(s) = Gp (s)m(s) Gp = Gp11 Gp12 Gp21 Gp22

m(s) = D(s)u(s) D= 1 D1 D2 1

u(s) = Gc (s)e(s) Gc = Gc1 0 0 Gc2 (7.43) (7.44)

y = Go e

Go = Gp DGc

donde Gp es la matriz de la planta o sistema, D es la matriz de desacoplamiento, Gc es el controlador PID MIMO y Go es la MT a lazo abierto del sistema. Cabe anotar que tanto Gc1 (s) como Gc2 (s) son controladores PID, cuyos parmetros Kc , Ti y Td a tienen que ser sintonizados para cada aplicacin. o

7.3 Control MIMO con Desacopladores

163

Ejemplo 7.4 Control del Sistema de Plataformas usando Desacopladores

Disear un controlador MIMO con desacopladores para controlar las salidas y 1 e n y2 del sistema de plataformas propuesto en el problema 2.6 y mostrado en la Fig. 2.26. Las especicaciones de diseo son: 0 % de sobrenivel, error en estado estable n nulo y tiempo de estabilizacin menor de 20 s para ambas salidas. Valorar todos los o parmetros de la planta en 1. a Solucin: El programa mimopid03.m, cuyo listado se muestra abajo, emplea el modo elo del sistema de plataformas del Ejemplo 7.3 y simula el sistema de control pedido. En el resultado de la simulacin (Fig. 7.9) se observa que las salidas controladas y 1 o (grco superior izquierda) e y2 (grco superior derecha) controlados, cumplen las a a especicaciones de diseo requeridas. n
Step Response 1 0.8 To: Out(1) 0.6 0.4 0.2 0 1 0.8 To: Out(2) 0.6 0.4 0.2 0 From: In(1) From: In(2)

y1(t)

Amplitude

y2(t)

20

40

60 0 Time (sec)

20

40

60

Fig. 7.9: Salidas y1 e y2 controlados (Ejemplo 7.3.)

% mimopid03.m CONTROL PID MIMO CON DESACOPLADORES DEL SISTEMA PLATAFORMAS clear all; close all; clc; K1=1; K2=1; B1=1; B2=1; m1=1; m2=1; % PARMETROS A % ECUACIN DE ESTADO Y DE SALIDA O AA=[0 0 1 0;0 0 0 1;-K1/m1 K1/m1 -B1/m1 B1/m1;K1/m2 -(K1+K2)/m2 -B1/m2... -(B1+B2)/m2]; BB=[0 0;0 0;1/m1 0;0 1/m2]; CC=[1 0 0 0;0 1 0 0]; DD = [0 0;0 0]; II = eye(4); Kc1=0.25; Ti1=1; Td1=0; Kc2=1; Ti2=1; Td2=0; I = eye(2); s=tf(s); Gp=CC*inv(s*II -AA)*BB+DD; D1=-Gp(1,2)/Gp(1,1); D2=-Gp(2,1)/Gp(2,2); D=[1 D1;D2 1]; Gc1=Kc1*(1+1/(Ti1*s)+Td1*s); Gc2=Kc2*(1+1/(Ti2*s)+Td2*s); Gc=[Gc1 0;0 Gc2]; Go=Gp*D*Gc; step(feedback(Go,I)) print -deps -f mimopid03

164

S ntesis de Controladores SISO y MIMO

7.4.

Control MIMO empleando el Criterio de Hurwitz

La Fig. 7.10(a) representa el diagrama de bloques de un sistema de control MIMO, donde el sistema a controlar Gp (s) es una MT (matriz de transferencia) cuadrada de orden n y Gc (s) es una matriz diagonal de controladores Gcii , tambin de orden n. e En una matriz cuadrada, el nmero m de entradas ui es igual al nmero de salidas u u yi . En el caso que Gp (s) fuera rectangular, el nmero de entradas m generadas por el u controlador MIMO correspondiente, siempre debe de ser mayor que el nmero p de u salidas. Slo en esta situacin es posible crear salidas cticias a n de hacer cuadrada o o a la matriz Gp (s), con la nalidad de poder aplicar el procedimiento de diseo de la n subseccin 7.4.1. Las relaciones siguientes se desprenden de la Fig. 7.10(a): o
Controlador P MIMO K (a) Sistema G p (s)

r(s)

e(s)

u(s)

y(s)

r(s)

(I+KG p (s)) KG p (s) (b)

y(s)

Fig. 7.10: (a) Sistema de control MIMO con controlador MIMO Gc . (b) Sistema equivalente. y(s) = Gp (s)u(s) u(s) = Gc e(s) y(s) = [I + Gp Gc (s)]
1

Gp Gc (s)

donde I es la matriz identidad. La Fig. 7.10(b) muestra la MT del sistema, en la cual: T(s) = I + Gp Gc (s) (7.45)

es conocida como la matriz retorno de la diferencia. Para que el sistema de la Fig. 7.10(a) o (b) sea estable, los ceros del determinante de T(s) deben de poseer parte real negativa. Empleando el criterio de Hurwitz (subseccin 7.4.2), se pueden determinar o los rangos de los parmetros de cada controlador Gcii de Gc para comportamiento a estable del sistema. A continuacin se detalla el procedimiento de diseo. o n

7.4.1.

Procedimiento de Dise o n

El procedimiento para disear un sistema de control MIMO empleando el criterio n de Hurwitz es como sigue: 1. Formular la matriz T(s) = I + Gp Gc (s) (ver Fig. 7.10(b)), donde: Gp11 (s) Gp1n (s) . . .. . . Gc (s) = diag[Gc11 , . . . , Gcnn ] Gp (s) = . . . Gpn1 (s) Gpnn (s) 2. Determinar la ecuacin caracter o stica del sistema a lazo cerrado a partir de: D(s) = det[T(s)] = sn + a1 sn1 + + an1 s + an = 0

7.4 Control MIMO empleando el Criterio de Hurwitz

165

3. Emplear el criterio de Hurwitz (ver siguiente subseccin) para determinar los o rangos de los elementos de la matriz de ganancia K que garanticen un comportamiento estable del sistema de la Fig. 7.10(a). 4. Simular el sistema controlado empleando las ganancias determinadas por el criterio de Hurwitz, hasta que las salidas yi controladas cumplen las especicaciones de diseo previamente establecidas. n

7.4.2.

El Criterio de Hurwitz

El criterio de Hurwitz, que es equivalente al conocido criterio de RouthHurwitz, se basa en la construccin de la matriz Hurwitz a partir de la ecuacin caracter o o stica D(s) del sistema realimentado: D(s) = sn + a1 sn1 + a2 sn2 + a3 sn3 + + an1 s + an H= a1 a3 1 a2 0 a1 0 1 . . . . . . 0 0 a5 a4 a3 a2 . . . 0 ... ... ... ... .. . 0 0 0 0 . . . 0 0 0 0 . . .

. . . an2 an

Este criterio de estabilidad establece que para que los ceros de D(s) posean parte real negativa (requisito indispensable para comportamiento estable del sistema), todos los menores principales diagonales de H: H1 , H2 , H3 , . . . , Hn , deben de ser positivos, donde: a1 a3 a5 a1 a3 Hn = detH H3 = det 1 a2 a4 H1 = a 1 H2 = det 1 a2 0 a 1 a3 Ejemplo 7.5 Control MIMO de un Proceso Empleando el procedimiento de diseo de la subseccin 7.4.1 disear un controlador n o n P MIMO para un sistema con: K= K1 0 0 K2 Gp (s) =
3 s 0.05 s 280 s(s+6)(s+30) 200 s(s+6)(s+30)

las especicaciones de diseo para los dos canales (salidas) son: tiempo de estabin lizacin menor de 2 s, error en estado estable nulo y porcentaje de sobrenivel tambin o e nulo. Solucin: Ejecutar el programa pmimo1.m, el cual sigue el procedimiento de diseo o n arriba establecido. La Fig. 7.11 muestra que las salidas controladas del sistema cumplen las especicaciones de diseo para las ganancias K1 = 2 y K2 = 1.5. n Es necesario anotar que con estos valores de las ganancias, se satisfacen simultneaa mente las condiciones H1 > 0, H2 > 0, H3 > 0 y H4 > 0 establecidas en el criterio de Hurwitz.

166

S ntesis de Controladores SISO y MIMO


Step Response 1 0.8 To: Out(1) 0.6 0.4 0.2 Amplitude 0 1.5 From: In(1) From: In(2)

y1(t)

To: Out(2)

y2(t)
0.5

3 0 Time (sec)

Fig. 7.11: Salidas y1 e y2 controlados (Ejemplo 7.5.)


% pmimo1.m CONTROL P MIMO USANDO LA MATRIZ DE RETORNO DE LA DIFERENCIA clear all; close all; clc; I = eye(2); syms s K1 K2; Gp=[3/s -280/(s*(s+6)*(s+30));0.05/s -200/(s*(s+6)*(s+30))]; K=[K1 0;0 K2]; D=det(I+Gp*K); % pretty(D) % D=s^4+a1*s^3+a2*s^2+a3*s+a4 a1=36+3*K1; a2=180+108*K1; a3=-200*K2+540*K1; a4=-586*K1*K2; H=[a1 a3 0 0;1 a2 a4 0;0 a1 a3 0;0 1 a2 a4]; H1=a1; H2=det([a1 a3;1 a2]); H3=det([a1 a3 0;1 a2 a4;0 a1 a3]); H4=det(H); % H1 > 0 => K1 > -12; H2 > 0 CON K = -12 => K2 <3 2.4 % PARA TENER K1 Y K2 EN EL SEMIPLANO IZQUIERDO DE K1 VS K2 SELECCIONAMOS: % 0 <= K1 <= 12, -32 <= K2 <= 0; TOMEMOS: K1=2; K2=-1.5; K=[K1 0;0 K2]; s=tf(s); Gp=[3/s -280/(s*(s+6)*(s+30));0.05/s -200/(s*(s+6)*(s+30))]; G=feedback(Gp*K,I); step(G), print -deps -f pmimo1

7.5.

Problemas

Problema 7.1 Sistema Tanque Cerrado Basado en las tcnicas descritas en las secciones 7.3 y 7.4, disear los controladores e n MIMO para controlar el nivel y la temperatura del sistema tanque cerrado descrito en la subseccin ??. Las especicaciones de diseo tanto para el nivel como para o n la temperatura son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacin lo ms rapido posible. o a Problema 7.2 Sistema de Plataformas

7.5 Problemas

167

Basado en la tcnica descrita en la seccin 7.4, disear un controlador P MIMO para e o n el sistema de plataformas mostrado en la Fig. 2.26 y descrito en el problema 2.6. Las especicaciones de diseo de las salidas controladas son: 0 % de sobrenivel, error en n estado estable nulo y tiempos de estabilizacin lo ms rapido posible. o a Problema 7.3 Manipulador Polar Vertical Basado en las tcnicas descritas en las secciones 7.2, 7.2 y 7.4, disear los controe n ladores PID MIMO para el manipulador polar vertical mostrado en la La Fig. ?? y descrito en el problema ??. Las especicaciones de diseo de las salidas controladas n son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacin lo ms o a rapido posible. Problema 7.4 Manipulador Polar Horizontal Basado en las tcnicas descritas en las secciones 7.2, 7.2 y 7.4, disear los controe n ladores PID MIMO para el manipulador polar horizontal mostrado en la La Fig. ?? y descrito en el problema ??. Las especicaciones de diseo de las salidas controladas n son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacin lo ms o a rapido posible. Problema 7.5 Manipulador Robtico TraslacionalEsfrico (MRTE) o e Basado en las tcnicas descritas en las secciones 7.2, 7.2 y 7.4, disear los controe n ladores PID MIMO para el manipulador robtico traslacionalesfrico mostrado en o e la Fig. ?? y descrito en el problema ??. Las especicaciones de diseo de las saln idas controladas son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacin lo ms rapido posible. o a Problema 7.6 Manipulador Robtico Esfrico (MRE3) o e Basado en las tcnicas descritas en las secciones 7.2, 7.2 y 7.4, disear los controe n ladores PID MIMO para el manipulador robtico esfrico de 3GDL mostrado en la o e Fig. ?? y descrito en el problema ??. Las especicaciones de diseo de las salidas n controladas son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacin lo ms rapido posible. o a Problema 7.7 Motor S ncrono de Imn Permanente a Basado en las tcnicas descritas en las secciones 7.2, 7.2 y 7.4, disear los controe n ladores PID MIMO para el motor s ncrono de imn permanente descrito en el proba lema ??. Las especicaciones de diseo de las corrientes iq e id controladas son: 0 % n de sobrenivel, error en estado estable nulo y tiempos de estabilizacin lo ms rapido o a posible. Problema 7.8 Manipulador Robtico Traslacional (MRT) o

168

S ntesis de Controladores SISO y MIMO

Basado en las tcnicas descritas en las secciones 7.2, 7.2 y 7.4, disear los controe n ladores PID MIMO para el manipulador robtico traslacional mostrado en la Fig. ?? o y descrito en la seccin ??. Las especicaciones de diseo de las salidas controladas o n son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacin lo ms o a rapido posible. Problema 7.9 Manipulador Robtico Esfrico (MRE) o e Basado en las tcnicas descritas en las secciones 7.2, 7.2 y 7.4, disear los controe n ladores PID MIMO para el manipulador robtico esfrico mostrado en la Fig. ?? y o e descrito en la seccin ??. Las especicaciones de diseo de las salidas controladas o n son: 0 % de sobrenivel, error en estado estable nulo y tiempos de estabilizacin lo o ms rapido posible. a

Cap tulo 8

Control Predictivo
En este cap tulo se desarrolla un procedimiento para disear sistemas de control n predictivo SISO basado en modelos. El algoritmo de control predictivo empleado es el denominado Control Matricial Dinmico (DMC: Dynamic Matrix Control). a Para validar el procedimiento de diseo propuesto, se presentan varios ejemplos de n diseo, empleando leyes del Control Matricial Dinmica, en sus versiones escalar y man a tricial.

8.1.

Control Predictivo Basado en Modelos

El control predictivo basado en modelos es una metodolog de control que usa a el modelo del proceso para calcular y optimizar las predicciones de las acciones de control y de la salida controlada. Esta metodolog se ha desarrollado alrededor de a ciertos principios, dos de los cuales son: Empleo de un modelo del proceso para pronosticar su salida a controlar en instantes de tiempo futuro. Clculo de una accin de control optima basada en la minimizacin de funciones a o o de costo, posiblemente incluyendo restricciones en las variables manipuladas controladas. Los diferentes miembros de la familia del control predictivo basado en modelos dieren principalmente, valga la redundancia, en el modelo usado para representar el proceso con sus perturbaciones, y en las funciones de costo a ser minimizadas (con o sin restricciones). De la gama de algoritmos de control predictivo existentes, nos ocupamos en particular del denominado Control Matricial Dinmico. Para validar el procedimiento a de diseo propuesto, se presentan varios ejemplos de diseo. n n Es importante resaltar que el control predictivo es de naturaleza abierta y cuenta con muchas contribuciones, tanto en lo acadmico como tambin en el mundo e e industrial. Muchas aplicaciones del control predictivo son usadas hoy en todos los campos de la actividad industrial. El buen rendimiento de tales aplicaciones es muy apreciada; por ello, sigue existtiendo un creciente inters en esta metodolog e a.

170

Control Predictivo

8.2.

Principios del Control Predictivo

El control predictivo pronostica la salida de la planta en un escenario de tiempo de duracin N2 (el horizonte de tiempo N2 ). Tal prediccin depende de las salidas o o y entradas pasadas, pero tambin del escenario del control futuro. La obtencin del e o modelo que reeje lo ms elmente posible la evolucin dinmica de la planta, es la a o a llave del xito en las aplicaciones. La notacin usada para derivar los principios del e o control predictivo es la siguiente: t, representa el tiempo discreto (t = 0, 1, 2, . . . ). u(t), denota la entrada al proceso y constituye la variable manipulada o seal n de control. y(t), es la salida del proceso y constituye la la variable controlada. w(t), representa la trayectoria deseada (set point). r(t), denota la trayectoria de referencia. u(t + k/t), denota los valores futuros de la entrada en el tiempo t + k postulados en el tiempo t, o simplemente, dado t. y(t + k/t), denota los valores futuros de la salida basado en las mediciones disponibles en el tiempo t: {y(t), y(t 1), . . . , u(t 1), u(t 2), . . .} y en los valores futuros de la entrada postulados en el tiempo t: {u(t/t), u(t + 1/t), . . .} Con relacin a la gura 8.1, el principio del control predictivo se caracteriza por o la siguiente estrategia: En cada tiempo t, la salida del proceso y(t + k) se pronostica sobre un horizonte k = 1 . . . N2 . Los valores pronosticados se denotan como y(t + k/t) y a N2 se le denomina el horizonte de prediccin. La prediccin se realiza mediante el o o modelo del proceso, el cual se asume que est disponible. El pronstico en a o cuestin depende de las entradas y salidas pasadas, pero tambin del escenario o e del control futuro u(t + k/t), k = 0, . . . , N2 1; es decir, de las acciones de control que se intentan aplicar a partir del tiempo t. Una trayectoria de referencia r(t + k/t), k = 1, . . . , N2 , que se inicia en r(t/t) = y(t) y se dene sobre el horizonte de prediccin. Esta trayectoria describe la foro ma de guiar la salida del proceso desde su valor actual y(t) hasta la trayectoria deseada w(t). El vector de control u(t + k/t), k = 0, . . . , N2 1, se calcula para minimizar una funcin de costo espec o ca que depende del error del control predictivo r(t + k/t) y(t + k/t), k = 1, . . . , N2 . Al proceso real slo se le aplica el primer elemento del vector de control optimo o calculado u(t + k/t), k = 0, . . . , N2 1, mientras que se dejan de lado los dems elementos de dicho vector. En el prximo instante de muestreo, todas a o las secuencias temporales se desplazan para dar cabida a las nuevas mediciones de la salida y(t + 1) y a las del vector de control u(t + k + 1/t + 1), cuyo primer

8.3 El Modelo del Proceso

171

w(t+k/t) r(t+k/t) Error Horizonte de optimizacin k u(t+k/t) Pasado Actual Predictivo Horizonte de control k k+Nu 1 (b) k=t/ t k+N1 (a) k+N2 k=t/ t y(t+k/t)

Fig. 8.1: Estrategia del control predictivo. (a) Seales: deseada (w(t)), de referencia n (r(t)) y de salida predictiva (y(t + k/t)). (b) Seal de control predictivo u(t). n elemento es generalmente diferente al primer elemento del vector u(t + k/t), previamente calculado. Este principio se denomina estrategia del horizonte retroactivo. Por consiguiente, la estrategia del control predictivo comprende: el proceso de prediccin a travs de un modelo del proceso, la especicacin de una trayectoria de o e o referencia, la estructuracin de la futura ley de control, la denicin de la funcin de o o o costo (y sus restricciones) y el clculo del escenario de control optimo. Tal estrategia a puede ser visualizada en el diagrama de bloques mostrado en la Fig. 8.2.

Entradas y salidas pasadas MODELO Entradas futuras OPTIMIZADOR

+ Trayectoria de Salidas referencia predecidas -

Funcion de costo

restricciones

Fig. 8.2: Estrategia del Control Predictivo Basado en Modelos

8.3.

El Modelo del Proceso

El proceso SISO, probablemente no lineal, puede modelarse como: y(t) = x(t) + n(t) (8.1)

172

Control Predictivo

tal como se ilustra en la Fig. 8.3, donde y(t) es la salida medible del proceso, u(t) es la entrada al proceso (la seal de control), x(t) es la salida del modelo y n(t) es el n disturbio en el proceso.

n u MODELO x y

Fig. 8.3: Modelo del proceso bajo perturbaciones.

El Disturbio n(t) La seal de disturbio n(t) incluye todos los efectos no deseados en la salida y(t). n Esta seal representa el efecto conjunto de todos los disturbios sobre el proceso, n otras entradas no medibles, ruido de medicin, errores de modelado, incertidumbres, o etc. Una forma de modelar al disturbio consiste en introducir un ruido blanco e(t) a un ltro. La salida del ltro, la seal de disturbio n(t) de inters, tambin es un n e e ruido pero coloreado. Los conceptos de ruido blanco y ruido coloreado se detallan a continuacin. o El ruido blanco e(t) es una seal aleatoria cuyos valores poseen una media o valn or esperado nulo y una determinada distribucin estad o stica f (e). Esta distribucin o puede ser uniforme, tal como se muestra en la Fig. 8.4 o gaussiana (la famosa campana). Si analizamos las seales de un ruido blanco en dos bases de tiempo diferentes, n encontraremos que tales valores no guardan correlacin estad o stica alguna entre ellas; es decir, tales valores no estn correlacionados. Sea e un vector de ruido blanco. La a media y la autocorrelacin R( ) de e se expresan como: o E[e] = 0 R( ) = E[eeT ] = 2 I

donde es una base de tiempos arbitraria, E[.] es el operador estad stico esperanza, I es la matriz identidad y 2 es conocida como la varianza. La densidad espectral de potencia S() del ruido blanco se halla tomando la transformada de Fourier de 2 I, resultando la varianza 2 ; es decir, un espectro de frecuencias de magnitud constante e igual a 2 , para un rango de frecuencias con intervalo < +, >, tal como se muestra en la Fig. 8.4, donde tambin se ilustran las caracter e sticas autocorrelacin o R( ), densidad espectral de potencia S() y distribucin f (n) del ruido coloreado. o Cualquier ruido, sea z, que no cumpla las dos caracter sticas estad sticas del ruido blanco, se denomina ruido coloreado. Tal como se mencionaba anteriormente, si tenemos una fuente generadora de ruido blanco, es fcil obtener ruido coloreado. Basta a pasar el ruido blanco por un ltro. A la salida del ltro tendremos ruido coloreado, caracterizado por poseer un espectro de frecuencias no uniforme. Matemticamente, el disturbio n(t), que es de carcter estocstico, puede ser a a a modelado mediante un ltro coloreado de la forma: n(t) C(z 1 ) = e(t) D(z 1 ) (8.2)

8.3 El Modelo del Proceso


R( ) 2 0 ... f(e) ... 0 S() ... 0 ... e Autocorrelacin n Ruido coloreado 0 S() Densudad espectral de potencia 0 0 e Ruido blanco uniforme f(n) e Filtro R( )

173

Fig. 8.4: Ruido blanco y ruido coloreado, con sus caracter sticas estad sticas. donde z 1 es el operador de desplazamiento, e(t) es un ruido blanco no correlacionado con media cero, y los polinomios son de la forma: C(z 1 ) = 1 + c1 z 1 + + cnc z nc
1

(8.3) (8.4)

D(z

) = 1 + d1 z

+ + d nd z

nd

El ltro de disturbio debe disearse: para eliminar disturbios en el estado estable n (cuando z = 1), como ltro selectivo (para eliminar una determinada frecuencia) y para incrementar la robustez del sistema en la presencia de errores de medicin. o Estructuras t picas de los polinomios del ltro pueden ser: C(z 1 ) = 1 + cz 1 ; D(z 1 ) = (1 + dz 1 )(1 z 1 )

Los conceptos de ruido blanco y ltro coloreado se explican en el ejemplo ??. De la ecuacin (8.2) podemos despejar: o C(z 1 )n(t) = D(z 1 )e(t) El operador de desplazamiento z 1 est relacionado con el tiempo discreto t como a sigue: [1 + c1 z 1 + + cnc z nc ]n(t) = n(t) + c1 n(t 1) + + cnc n(t nc ) [1 + d1 z 1 + + dnd z nd ]e(t) = e(t) + d1 e(t 1) + + dnd e(t nd ) La Salida x(t) del Modelo La seal x(t) representa el efecto del proceso en la salida y(t) debido a la entrada n u(t). De nuevo, x(t) no es una seal medible. En general, la relacin entre u(t) y x(t) n o puede representarse mediante un modelo dinmico genrico de la forma: a e x(t) = f (x(t 1), x(t 2), . . . , u(t 1), u(t 2), . . .) (8.7) (8.5) (8.6)

174

Control Predictivo

donde f (.) es una funcin que puede estructurarse de diversas formas. Es decir, o f (.) puede ser una ecuacin de diferencias, una red neuronal o una caja negra con o parmetros a ser estimados. Notar en (8.7) que cuando no se considera n(t), entonces: a x(t) = y(t), x(t 1) = y(t 1), y as sucesivamente. El Modelo CARIMA El modelo CARIMA, del ingls Controlled Autoregressive Integrated Moving Ave erage, es un modelo lineal bsico y bastante extendido en su aplicacin, y es prea o cisamente el que emplearemos. Tal modelo CARIMA para un determinado proceso puede ser representado por: A(z 1 )y(t) = B(z 1 )u(t) + C(z 1 ) e(t) D(z 1 ) (8.8)

donde z es la variable de desplazamiento de la transformada Z, y: A(z 1 ) = 1 + a1 z 1 + ... + ana z na B(z


1

(8.9) (8.10)

) = b1 z

+ ... + bnb z

nb

El origen del trmino CARIMA se debe a que la ecuacin de diferencias del modelo e o del proceso presenta tres componentes, a saber, la componente salida autoregresiva A(z 1 )y(t), de donde despejamos y(t): y(t) = a1 y(t 1) a2 y(t 2) ... ana y(t na ) el componente promedio temporal de control B(z 1 )u(t), es decir: + b0 u(t 1) + b1 u(t 2) + ... + bnb u(t nb 1) y el componente promedio temporal integrado del error +
C(z 1 ) e(t): D(z 1 )

e(t) + c1 e(t 1) + c2 e(t 2) + ... + cnc e(t nc ) D(z 1 )

Por ejemplo, para un proceso de segundo orden sin presencia de perturbaciones; esto es, con C(z 1 ) = 0, la representacin CARIMA toma la forma: o y(t) = x(t) = b1 z 1 + b2 z 2 B(z 1 ) u(t) = u(t) A(z 1 ) 1 + a1 z 1 + a2 z 2 (8.11)

la cual conduce a la ecuacin de diferencias: o y(t) = a1 y(t 1) a2 y(t 2) + b1 u(t 1) + b2 u(t 2) El modelo lineal CARIMA ms generalizado es de la forma: a A(z 1 )y(t) = B(z 1 ) C(z 1 ) u(t) + e(t) F (z 1 ) D(z 1 ) (8.13) (8.12)

Notar en (8.13) que la salida y(t) del modelo tambin cumple que (ver ecuacin (8.1)): e o y(t) = x(t) + n(t) x(t) = B u(t) AF n(t) = C e(t) AD

8.3 El Modelo del Proceso La representacin predictiva de la ultima expresin es: o o y(t + k/t) = x(t + k/t) + n(t + k/t) donde: x(t + k/t) = B u(t + k/t) AF n(t + k/t) = C e(t + k/t) AD

175

(8.14)

Ejemplo 8.1 El modelo lineal de orden dos de un servomotor DC puede ser descrito por las siguientes ecuaciones en el espacio de estado: q = w w = c1 q c2 w + c3 u donde q es la posicin angular y w = dq/dt es la velocidad angular. Asumiendo que o el ruido de medicin n(t) en la posicin del eje del servomotor (la salida del proceso) o o es coloreado y de la forma: 1 n(t) = e(t) 1 z 1 determine su modelo CARIMA. Solucin: La funcin de transferencia de pulso del proceso de segundo orden posee o o la forma: b1 z + b2 b1 z 1 + b2 z 2 B(z 1 ) q(z) = 2 = = u(z) z + a1 z + a2 1 + a1 z 1 + a2 z 2 A(z 1 ) Aadiendo el ruido de medicin obtenemos: n o y(z) = B(z 1 ) 1 B(z 1 ) u(z) + n(t) = u(z) + e(t) A(z 1 ) A(z 1 ) 1 z 1

(1 z 1 )A(z 1 )y(z) = (1 z 1 )B(z 1 )u(z) + Ae(z) donde e(t) es ruido blanco gaussiano con media nula. La ecuacin de diferencias del o proceso ruidoso se obtiene despejando y(t) de la ultima expresin: o y(t) = (1 a1 )q(t 1) + (a1 a2 )q(t 2) + a2 q(t 3)+ b1 u(t 1) + (b2 b1 )u(t 2) b2 u(t 3) + e(t) + a1 e(t 1) + a2 e(t 2) Ejemplo 8.2 Comparar las respuestas no ruidosa q(t) y ruidosa y(t) del ejemplo anterior. Los parmetros requeridos se derivan de un proceso de segundo orden cuyas ecuaciones a de estado y de salida son conocidas. La respuesta q(t) se obtiene cuando la entrada al proceso es una sinusoide u(t), mientras que la ruidosa y(t) se debe a un ruido blanco gaussiano que se aade a q(t). Asumir un tiempo de muestreo de T = 0.01 s. n Solucin: La solucin del problema planteado se detalla en el programa ejruido.m. o o Los resultados se muestran en la Fig. 8.5. Observar en la Fig. inferior que el ruido e(t) empleado posee media cero y una funcin de distribucin gaussiana. o o

176

Control Predictivo

% ejruido.m RESPUESTAS NO RUIDOSA Y RUIDOSA EN UN PROCESO DE 2DO ORDEN clear all; close all; clc; % PROCESO CONTINUO DE SEGUNDO ORDEN Y SU MODELO DISCRETO Ac = [0 1;-14.4007 -1.2707]; Bc = [0;30.4696]; Cc = [1 0]; Dc = [0]; T = 0.01; [G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,zoh); [num,den]=ss2tf(G,H,C,D); a1 = den(2); a2 = den(3); b1 = num(2); b2 = num(3); % CONDICIONES INICIALES NULAS qp=0; qpp=0; up=0; upp=0; yp=0; ypp=0; yppp=0; ep=0; epp=0; % RESPUESTAS DEL PROCESO MM = 1000; for t=1:MM; u=sin(0.006*t); U(t)=u; % SINUSOIDE DE ENTRADA q = -a1*qp -a2*qpp + b1*u + b2*up; Q(t)=q; % RESPUESTA NO RUIDOSA e = 0.1*randn; E(t)=e; % RUIDO BLANCO GAUSSIANO, MEDIA NULA, VARIANZA 0.1 y = (1-a1)*yp + (a1-a2)*ypp + a2*yppp ... + b1*u + (b2-b1)*up - b2*upp + e + a1*ep + a2*epp; Y(t)=y; yppp=ypp; ypp=yp; yp=y; upp=up; up=u; epp=ep; ep=e; end % GRAFICOS ejex = linspace(0,MM*T,MM); subplot(5,1,1); plot(ejex,U); grid ylabel(u(t) [V]); xlabel(TIEMPO [s]); subplot(5,1,2); plot(ejex,Q); grid; ylabel(q(t) [rad]); xlabel(TIEMPO [s]); subplot(5,1,3); plot(ejex,Y); grid; ylabel(y(t) [rad]) xlabel(TIEMPO [s]); subplot(5,1,4); plot(ejex,E); grid; ylabel(e(t) [rad]); xlabel(TIEMPO [s]); subplot(5,1,5); hist(E); ylabel(e(t) GAUSS.); xlabel(<-----e(t) ------>); print -f -deps ejruidor

8.4.
8.4.1.

El Controlador Predictivo
Objetivo del Controlador

El objetivo del controlador predictivo es determinar el vector de control: u(t + k/t), k = 0, . . . , N2 1

que minimice la siguiente funcin de costo: o


N2

J=
k=N1

[r(t + k/t) y(t + k/t)]2 +

Nu 1 k=0

[u(t + k/t)]2

(8.15)

donde : u(t + k/t) = u(t + k/t) u(t + k 1/t) (8.16) con u(t + k/t) = 0 para k Nu . La trayectoria de referencia est representada por a la ecuacin: o r(t + k/t) = r(t + k 1/t) + (1 )w(t + k/t) (8.17) evaluada para k = 1, . . . , N2 , con r(t/t) = y(t). Los parmetros de diseo son: a n N1 : horizonte de prediccin m o nimo. N2 : horizonte de prediccin mximo; por defecto podemos considerar N 2 = o a N1 + 1, . . . , N1 + 10.

8.4 El Controlador Predictivo


1 0 1 0 x 10
3

177

u(t) [V]

5 TIEMPO [s]

10

q(t) [rad]

5 0 5

5 TIEMPO [s]

10

y(t) [rad]

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

e(t) [rad]

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

e(t) GAUSS.

400 200 0 0.4 0.3 0.2 0.1 0 0.1 < e(t) > 0.2 0.3 0.4

Fig. 8.5: Respuestas del ejemplo 8.2.

Nu : horizonte de control; por defecto considerar Nu = 1. N1 , . . . , N2 : horizonte de coincidencia; por defecto considerar N1 (tiempo muerto). : parmetro de ponderacin; por defecto considerar cero. a o : parmetro de ltraje; por defecto considerar cero. a Si la trayectoria deseada w(t) se programa previamente, entonces los valores futuros w(t+k) se pueden emplear para determinar w(t+k/t). Es decir, w(t+k/t) = w(t+k) para k = 1, . . . , N2 . Si no deseamos una estrategia de control predictivo en avance, el valor actual w(t) se puede usar como un valor de prediccin w(t + k/t) = w(t) para o k = 1, . . . , N2 . Es importante observar adems que: a 1. La trayectoria de referencia dada en (8.17) constituye un ltro de primer orden para w(t). Este ltro se puede representar mediante la siguiente funcin de o transferencia: r(z) 1 z(1 ) = = (8.18) 1 w(z) 1 z z 2. El ltro para w(t) se puede implementar fuera del lazo de control, no afectando de esta manera a la estabilidad del sistema, pero s contribuyendo al rechazo del ruido.

178

Control Predictivo

La Fig. 8.6 ilustra el objetivo del control predictivo basado en modelos.


N u =4

Fig. 8.6: Objetivo del control predictivo basado en modelos.

8.4.2.

Respuesta Libre y Respuesta Forzada

Conceptualmente, la respuesta futura y(t + k/t) puede ser considerada como el resultado acumulativo de dos efectos: y(t + k/t) = ylibre (t + k/t) + yf orz (t + k/t) (8.19)

donde el sub ndice forz indica forzada. La respuesta libre ylibre (t + k/t) aparece como consecuencia de los factores siguientes: El efecto debido a las seales de control pasadas u(t 1), u(t 2), . . . n El efecto debido a un escenario de control futuro. Por defecto se tiene u(t/t) = u(t 1), u(t + 1/t) = u(t 1), u(t + 2/t) = u(t 1), . . .; esto es, u(t/t) = u(t + 1/t) = . . . = u(t + Nu 1/t) = 0. El efecto debido a las perturbaciones futuras del ruido n(t + k/t). Las condiciones iniciales a tomar son: y(t), y(t 1), . . . , y(t n), donde n es el orden del proceso. La componente forzada yf orz (t+k/t) aparece debido al efecto causado por cambios consecutivos de la variable manipulada, tanto en el tiempo actual como en el tiempo futuro. Es decir, originado por las acciones de control u(t/t), u(t + 1/t), . . . , u(t + Nu 1/t), con las condiciones iniciales: y(k) = y(k 1) = = y(k n) = 0. La Fig. (Fig. 8.7(c)) muestra el efecto conjunto de las respuestas libre y forzada en un proceso lineal, donde tales respuestas se pueden sumar gracias a que se cumple el principio de superposicin. Desafortunadamente, el principio de superposicin no o o es vlido para procesos no lineales. a Por consiguiente, el efecto acumulativo de la accin conjunta de los escalones es: o yf orz (t + k/t) = gk u(t/t) + gk1 u(t + 1/t) + + gkNu +1 u(t + Nu 1/t) (8.20)


r=w

o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o

PASADO


y N1 FUTURO
TIEMPO ACTUAL t

u(t+k/t)

y(t+k/t)

N2

8.4 El Controlador Predictivo


y 3 2 1 0 u 2 1 0 Seales de control para la respuesta libre t Seales de control para la respuesta lforzada

179

Respuestas libre ms forzada Seal de referencia Respuesta libre Respuesta forzada t

Fig. 8.7: Respuestas libre y forzada.

donde los parmetros g1 , . . . , gN2 son los coecientes de la respuesta del sistema al a escaln unitario. Es decir, la respuesta de la salida del sistema a los cambios tipo o escaln unitario en la entrada. o Para un sistema lineal, la respuesta al escaln unitario no depende del punto de o operacin. Este punto es jo y puede ser calculado fuera de l o nea (o-line) usando el modelo del sistema. Para un sistema no lineal, como en el caso de una red neuronal, la respuesta al escaln unitario es diferente para cada punto de operacin. Esta respuesta tiene que o o ser calculada en cada tiempo de muestreo (on-line), aplicando en cada instante de muestreo un cambio escaln (cticio) a la entrada actual del proceso y calculando su o efecto en la salida respectiva. De la ecuacin (8.20) se puede obtener la siguiente expresin para la componente o o forzada: Yf orz = GU (8.21) donde: Yf orz = yf orz (t + N1 /t) yf orz (t + N1 + 1/t) yf orz (t + N2 /t) g G = N1 +1 ... g N2 g N1 gN1 1 g N1 ... gN2 1 ... ... ... ... ... ... . . . gN2 Nu +1
T

U=

u(t/t) u(t + 1/t) u(t + Nu 1/t) Y = Y + GU

y empleando la ecuacin (8.19), podemos escribir: o (8.22)

180 donde: Y = [y(t + N1 /t) . . . y(t + N2 /t)]T ;

Control Predictivo

U = [u(t/t) . . . u(t + Nu 1/t)]T R = [r(t + N1 /t) . . . r(t + N2 /t)]T

Y = [ylibre (t + N1 /t) . . . ylibre (t + N2 /t)]T ; Ejemplo 8.3

Determinar la respuesta libre y los coecientes gt de la respuesta al escaln para el o proceso servomotor DC descrito en el ejemplo 8.1. Solucin: La ecuacin de diferencias del proceso es: o o y(t) = a1 y(t 1) a2 y(t 2) + b1 u(t 1) + b2 u(t 2) Cuando la entrada es u(k) = 1 para todo k 0, entonces y(k) = g(k) para todo t 0. Luego, los coecientes g(t) se determinan de: g(t) = a1 g(t 1) a2 g(t 2) + b1 u(t 1) + b2 u(t 2) As podemos obtener que g(0) = 0, g(1) = b1 , g(2) = a1 b1 + b1 + b2 , y: g(t) = a1 g(t 1) a2 g(t 2) + b1 + b2 ; Por otro lado, la condicin para respuesta libre es que: o u(t/t) = u(t + 1/t) = = u(t + N2 /t) = u(t 1) Aplicando tal condicin en la ecuacin de diferencias del proceso, se obtiene: o o ylibre (t + 1) = a1 ylibre (t) a2 ylibre (t 1) + b1 u(t) + b2 u(t 1) = a1 ylibre (t) a2 ylibre (t 1) + (b1 + b2 )u(t 1) t3

8.4.3.

La Ley de Control SISO

Con la notacin anterior, la funcin de costo (ecuacin (8.15)) resulta: o o o (R Y)T (R Y) + UT U = [(R Y) GU]T [(R Y) GU] + UT U (8.23) la cual es una forma cuadrtica en U, cuya minimizacin por diferenciacin resulta a o o en la siguiente solucin optima: o U = (GT G + I)1 GT (R Y) Es importante indicar que: Solamente el primer elemento u(t/t) de U es necesario para computar la entrada de control actual u(t) = u(t 1) + u(t/t). El mismo procedimiento se repite para la nueva medicin y(t + 1) en el prximo instante de tiempo t + 1. o o Este procedimiento se denomina el principio del horizonte retroactivo. (8.24)

8.4 El Controlador Predictivo

181

La matriz [GT G + I] a ser invertida tiene dimensin Nu Nu . Para el caso o por defecto, es decir, para Nu = 1, se obtiene una ley de control escalar (con muy buenos resultados en muchos casos prcticos) de la forma: a u(t) =
N2 k=N1

gk [r(t + k/t) ylibre (t + k/t)]


N2 k=N1 2 gk +

(8.25)

Otra aproximacin para la estructuracin del escenario de control consiste en o o el empleo de funciones base de la forma: u(t + k/t) =
i

i Bi

(8.26)

La optimizacin de la seal de control u(t + k/t) es ahora con respecto a los o n parmetros i . a El control predictivo muestra diferentes propiedades dependiendo de la seleccin o de N1 , N2 y Nu . Por ejemplo: Si N1 = n, N2 = 2n 1, Nu = n y = 0, la salida entonces alcanza la referencia despus de n muestras y se mantiene en este estado, proporcionando e una vigorosa accin de control. Este caso es muy apropiada para aplicaciones o que requieran alto rendimiento, como en la robtica. o Si escogemos N1 = Nu = 1, N2 = y = 0, obtendremos una respuesta transitoria de la variable controlada, caracterizada por un tiempo de subida rpido y un tiempo de estabilizacin lento. Este hecho es relevante en el control a o de procesos industriales. Ejemplo 8.4 Determinar la matriz dinmica de control para el proceso del ejemplo 8.1 empleando a los datos siguientes: N1 = 7, N2 = 12, Nu = 6. Solucin: La solucin del problema planteado se detalla en el programa lcm1.m o o listado a continuacin. o
% lcm1.m CALCULO DE UNA MATRIZ DINMICA DE CONTROL A clear all; close all; clc; % PROCESO CONTINUO DE SEGUNDO ORDEN Y SU MODELO DISCRETO Ac=[0 1;-14.4007 -1.2707]; Bc=[0;30.4696]; Cc=[1 0]; Dc=[0]; T=0.01; [G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,zoh); [num,den]=ss2tf(G,H,C,D); a1=den(2); a2=den(3); b1=num(2); b2=num(3); % CONDICIONES INICIALES NULAS qp=0; qpp=0; up=0; upp=0; yp=0; ypp=0; yppp=0; ep=0; epp=0; N1=6; N2 =12; Nu =7; % HORIZONTES DE CONTROL Y DE OPTIMIZACI N O % RESPUESTA AL ESCALON g(1) = b1; g(2) = -a1*b1 + b1 + b2; for k=3:12; g(k) = -a1*g(k-1) -a2*g(k-2) + b1 + b2; end % LUEGO, LA MATRIZ G TIENE LA FORMA: G = [g(N1) g(N1-1) g(N1-2) g(N1-3) g(N1-4) g(N1-5) 0 g(N1+1) g(N1) g(N1-1) g(N1-2) g(N1-3) g(N1-4) g(N1-5)

182
g(N1+2) g(N1+3) g(N1+4) g(N1+5) g(N2) g(N1+1) g(N1+2) g(N1+3) g(N1+4) g(N2-1) g(N1) g(N1+1) g(N1+2) g(N1+3) g(N2-2) g(N1-1) g(N1) g(N1+1) g(N1+2) g(N2-3) g(N1-2) g(N1-1) g(N1) g(N1+1) g(N2-4) g(N1-3) g(N1-2) g(N1-1) g(N1) g(N2-5)

Control Predictivo
g(N1-4) g(N1-3) g(N1-2) g(N1-1) g(N2-Nu+1)];

8.5.

Procedimiento de Dise o n

El procedimiento para disear un sistema de control predictivo SISO basado en n modelos, empleando la matriz dinmica de control es como sigue: a 1. Formular el problema y denir las especicaciones de diseo, incluyendo los n horizontes de control N1 , N2 y Nu . 2. Determinar el modelo CARIMA del proceso. Ver subseccin 8.3. o 3. Calcular la respuesta libre y la respuesta forzada del proceso. Ver subseccin o 8.4.2. 4. Determinar la ley de control. Ver subseccin 8.4.3. o 5. Validar mediante simulacin el sistema de control predictivo SISO. o

8.6.

Ejemplo de Dise o n

Control de Velocidad de un Proceso Electromecnico a


Los parmetros valorados del proceso mostrado en la gura 8.8 son: momento de a inercia del rotor J = 0.01 kg-m2 /s2 , constante electromotriz Ke = Kt = 0.01 N-m/A, resistencia total en la armadura R = 12 ohm, condensador C = 0.5 F, inductancia de armadura L = 0.5 H, constante torsional K = 1.8 N-m/rad. Si vC es el voltaje

+ v -

IR

R C

+ e -

IM

K T 1 2

Fig. 8.8: Sistema electromecnico. a en C, las ecuaciones dinmicas que gobiernan el subproceso elctrico son: a e 1 vC dIM (v vC ); C = IR IM ; L = vC e R dt dt El torque T del motor y la tensin contraelectromotriz se expresan como: o IR = T = K t IM ; e = K e 1

donde Kt y Ke son la constantes del motor y contarelectromotriz, respectivamente. Despreciando prdidas, el torque T tambin se formula como: e e J d2 =T dt

8.6 Ejemplo de Dise o n

183

As mismo, la relacin que gobierna el resorte rotacional de constante K toma la o forma: dT = K (1 2 ) dt Seleccionando como variables de estado x1 = vC , x2 = IM y x3 = 2 , y eligiendo como salida y = x3 , la representacin del proceso en el espacio de estado resulta: o x = Ax + Bu; A=
K LK +Kt Ke 1 RC 1 RC 1 C 0 Kt J

y = Cx 0
Ke K LK +Kt Ke

Siguiendo el procedimiento de diseo propuesto, en el programa p11pred1.m, cuyo n listado se muestra abajo, se disea un sistema de control predictivo con fuerza de n control escalar, para controlar la velocidad angular x3 = 2 del eje del motor mediante el voltaje de entrada v, el cual puede variar entre 100 volt. Las especicaciones de diseo alcanzadas son: tiempo de estabilizacin de la seal controlada x 3 , menor que n o n 6 s, respuesta con sobrepico mximo de 5 %, y error en estado estacionario nulo, tal a como se ilustra en la Fig. 8.9.
% p11pred1.m CONTROL DE LA VELOCIDAD DE UN PROCESO ELECTROMEC NICO A clear all; close all; clc; % MODELO DEL PROCESO EN TIEMPO CONTINUO J = 0.01; Ke = 0.01; Kt = 0.01; R = 12; C = 0.5; L = 0.5; Kw = 1.8; Ac = [-1/(R*C) -1/C 0;Kw/(L*Kw+Kt*Ke) 0 -Ke*Kw/(L*Kw+Kt*Ke);0 Kt/J 0]; Bc = [1/(R*C);0;0]; Cc = [0 0 1]; Dc = [0]; T=0.2; % TIEMPO DE MUESTREO % MODELO LINEAL DISCRETO [G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,zoh); [numd,dend]=ss2tf(G,H,C,D); a1=dend(2); a2=dend(3); a3=dend(4); b1=numd(2); b2=numd(3); b3=numd(4); % RESPUESTA AL ESCALON % RESPUESTA AL ESCALON Y MATRIZ GANANCIA GG g(1) = b1; g(2) =-a1*b1+b1+b2; g(3)=-a1*g(2)-a2*g(1)+b1+b2+b3; for k=4:10; g(k) =-a1*g(k-1)- a2*g(k-2)-a3*g(k-3)+b1+b2+b3; end; N1 =1; N2 =10; Nu =1; % HORIZONTES for k=1:4 yf(k)=0; y(k)=0; r(k)=0; u(k)=0; % CONDICIONES Y PAR METROS INICIALES A end du(1)=0; alf = 0.85; lambda = 0; MM=1000; % LAZO DE CONTROL for t =4:MM+3 for k=1:N2 W(t+k)= 4*sign(sin(0.01*t)); % TRAYECTORIA DESEADA r(t+k) = alf*r(t+k-1) + (1-alf)*W(t+k); % TRAYECTORIA DE REFERENCIA yf(t+k) = -a1*yf(t+k-1)-a2*yf(t+k-2)-a3*yf(t+k-3)+(b1+b2+b3)*u(t-1); end % yf ES LA RESPUESTA LIBRE % LEY DE CONTROL ESCALAR du(t) = (... g(1)*(r(t+1)-yf(t+1))+g(2)*(r(t+2)-yf(t+2))+g(3)*(r(t+3)-yf(t+3))+ ...

B = 0 ; 0

0 0 0 1

C=

184

Control Predictivo

g(4)*(r(t+4)-yf(t+4))+g(5)*(r(t+5)-yf(t+5))+g(6)*(r(t+6)-yf(t+6))+ ... g(7)*(r(t+7)-yf(t+7))+g(8)*(r(t+8)-yf(t+8))+g(9)*(r(t+9)-yf(t+9))+ ... g(10)*(r(t+10)-yf(t+10)))/(g(1)^2+g(2)^2+g(3)^2+g(4)^2+g(5)^2+ ... g(6)^2+g(7)^2+g(8)^2+g(9)^2+g(10)^2+lambda); u(t) = u(t-1) + du(t); % LIMITADOR MS LA ECUACIN DE DIFERENCIAS DEL PROCESO A O if(u(t) > 100); u(t)=100; elseif(u(t) < -100); u(t) = - 100; end y(t+1)=-a1*y(t)-a2*y(t-1)-a3*y(t-2)+b1*u(t)+b2*u(t-1)+b3*u(t-2); end % FIN DEL LAZO % GRAFICOS ejex=linspace(0,MM*T,MM-3); subplot(2,1,1); plot(ejex,W(4:MM),ejex,y(4:MM)); grid ylabel(Velocidad [rad/s]); xlabel(Tiempo [s]); subplot(2,1,2) plot(ejex,u(4:MM)); grid; xlabel(Tiempo [s]); ylabel(Voltaje de control [V]); print -deps -f p11pred1
5

Velocidad [rad/s]

20

40

60

80

100 Tiempo [s]

120

140

160

180

200

50 Voltaje de control [V]

50

20

40

60

80

100 Tiempo [s]

120

140

160

180

200

Fig. 8.9: Velocidad angular controlada y el voltaje de control obtenidas ejecutando el programa p11pred1.m. El programa p11pred2.m resuelve el mismo problema, pero empleando una fuerza de control vectorial. El resultado de la simulacin se muestra en la Fig. 8.10, el cual o resulta muy similar al obtenido en la Fig. 8.9.
% p11pred2.m CONTROL DE VELOCIDAD USANDO LEY DE CONTROL MATRICIAL % MODELO DEL PROCESO EN TIEMPO CONTINUO J = 0.01; Ke = 0.01; Kt = 0.01; R = 12; C = 0.5; L = 0.5; Kw = 1.8; Ac = [-1/(R*C) -1/C 0;Kw/(L*Kw+Kt*Ke) 0 -Ke*Kw/(L*Kw+Kt*Ke);0 Kt/J 0]; Bc = [1/(R*C);0;0]; Cc = [0 0 1]; Dc = [0]; T=0.2; % TIEMPO DE MUESTREO % MODELO LINEAL DISCRETO [G,H,C,D]=c2dm(Ac,Bc,Cc,Dc,T,zoh); [numd,dend]=ss2tf(G,H,C,D); a1=dend(2); a2=dend(3); a3=dend(4); b1=numd(2); b2=numd(3); b3=numd(4); N1 =1; N2 =10; Nu =5; % HORIZONTES % RESPUESTA AL ESCALON Y MATRIZ GANANCIA GG g(1) = b1; g(2) =-a1*b1+b1+b2; g(3)=-a1*g(2)-a2*g(1)+b1+b2+b3;

8.7 Problemas Propuestos


for k=4:10; g(k) =-a1*g(k-1)- a2*g(k-2)-a3*g(k-3)+b1+b2+b3; end; GG=[g(1) 0 0 0 0 g(2) g(1) 0 0 0 g(3) g(2) g(1) 0 0 g(4) g(3) g(2) g(1) 0 g(5) g(4) g(3) g(2) g(1) g(6) g(5) g(4) g(3) g(2) g(7) g(6) g(5) g(4) g(3) g(8) g(7) g(6) g(5) g(4) g(9) g(8) g(7) g(6) g(5) g(10) g(9) g(8) g(7) g(6)]; G1 = GG*GG; CONDICIONES INICIALES Y PARMETROS DE CONTROL A yf(1)=0; yf(2)=0; yf(3)=0; yf(4)=0;y(1)=0; y(2)=0; y(3) = 0; y(4)=0; r(1) =0; r(2) =0; r(3)=0; u(1) =0; u(2) =0; u(3)=0; du(1)=0; alf=0.85; lambda=0.1; I=eye(5,5); MM=1000; LAZO DE CONTROL CON HORIZONTES N1 =1; N2 =10; Nu =5; for t =4:MM+3 for k=1:N2; W(t+k)= 4*sign(sin(0.01*t)); end % TRAYECTORIA DESEADA for k=1:N2; r(t+k)=alf*r(t+k-1)+(1-alf)*W(t+k); end % REFERENCIA R R=[r(t+1) r(t+2) r(t+3) r(t+4) r(t+5) ... r(t+6) r(t+7) r(t+8) r(t+9) r(t+10)]; for k=1:N2 yf(t+k)=-a1*yf(t+k-1)-a2*yf(t+k-2)-a3*yf(t+k-3)+(b1+b2+b3)*u(t-1); end YF=[yf(t+1) yf(t+2) yf(t+3) yf(t+4) yf(t+5) ... yf(t+6) yf(t+7) yf(t+8) yf(t+9) yf(t+10)]; % RESPUESTA LIBRE LEY DE CONTROL VECTORIAL U=inv(G1+lambda*I)*GG*(R-YF); du=U(1); u(t) = u(t-1) + du; LIMITADOR MS LA ECUACIN DE DIFERENCIAS DEL PROCESO A O if(u(t) > 100); u(t)=100; elseif(u(t) < -100); u(t) = - 100; end y(t+1)=-a1*y(t)-a2*y(t-1)-a3*y(t-2)+b1*u(t)+b2*u(t-1)+b3*u(t-2); end GRAFICOS ejex=linspace(0,MM*T,MM-3); subplot(2,1,1); plot(ejex,W(4:MM),ejex,y(4:MM)); grid ylabel(Velocidad [rad/s]); xlabel(Tiempo [s]); subplot(2,1,2) plot(ejex,u(4:MM)); grid; xlabel(Tiempo [s]); ylabel(Voltaje de control [V]); print -deps -f p11pred2

185

% %

8.7.

Problemas Propuestos

Problema 8.1 Posicin de un Motor DC o El circuito con opamps de la Fig. 2.22 alimenta a un motor DC cuya posicin o queremos controlar empleando dos sistemas de control predictivo, uno con ley de control escalar y otro con ley de control matricial. Las salidas controladas deben de satisfacer ciertas especicaciones de diseo dictadas por el usuario. Disee y simule n n los sistemas de control pedidos sabiendo que Kp = 5 y que: 1.5 = Vo s(0.2s + 1)

186
5

Control Predictivo

Velocidad [rad/s]

20

40

60

80

100 Tiempo [s]

120

140

160

180

200

40 Voltaje de control [V] 20 0 20 40

20

40

60

80

100 Tiempo [s]

120

140

160

180

200

Fig. 8.10: Resultado de la ejecucin del programa p11pred2.m. o Problema 8.2 Turbina La Fig. 8.11 muestra una turbina de agua unido a un generador elctrico, cuya e FT es: M (s) 6 = (s) 3,2s + 1 donde M (s) es el momento rotacional generado por la turbina gracias a la accin o del ujo de agua y (s) es la velocidad angular del generador. Disear y simular dos n sistemas de control predictivo, uno con ley de control escalar y otro con ley de control matricial, para controlar el momento M (s), cumpliendo determinadas especicaciones de diseo dictadas por el usuario. n
Generador elctrico Turbina Entrada de agua M

Desague

Fig. 8.11: Generador accionado por una turbina de agua. Problema 8.3 Proceso Mecnico a La Fig. 2.25 muestra una proceso mecnico traslacional, donde M = 2 kg es la a masa de un cuerpo que est accionado por una fuerza u. A esta accin se le oponen a o

8.7 Problemas Propuestos

187

la fuerza fK = Kx N en el resorte y la fuerza de prdidas fB = B.8v N en el e amortiguador, donde K = 3.4 N/m es la constante del resorte, B = 0.8 N/m/s es la constante de prdidas, v = dx/dt es la velocidad de la masa M y x su posicin. Disear e o n y simular dos sistemas de control predictivo, uno con ley de control escalar y otro con ley de control matricial, para controlar la posicin x(t), cumpliendo determinadas o especicaciones de diseo dictadas por el usuario. Recordar que la ecuacin dinmica n o a de este proceso es: d2 x M 2 = u f K fB dt Problema 8.4 Proceso Hidrulico a Disear y simular dos sistemas de control predictivo, uno con ley de control escalar n y otro con ley de control matricial, para controlar la posicin x 2 (t) de la masa M2 del o proceso hidrulico mostrado en la Fig. 2.28, cumpliendo determinadas especicaciones a de diseo dictadas por el usuario. Se sabe que M1 = 500 kg, A1 = 0.4 m2 , M2 = n 2.2M1 , A2 = 2.1A1 , B = B1 = B2 = 12.3 N/m/s, y K 3.8 N/m. Problema 8.5 Proceso H brido Disear y simular dos sistemas de control predictivo, uno con ley de control esn calar y otro con ley de control matricial, para controlar el voltaje V (t) del generador mostrado en la Fig. 2.29, actuando sobre el ujo de agua q1 (t), cumpliendo determinadas especicaciones de diseo dictadas por el usuario. Se sabe que el radio de la n seccin del tanque es de 0.7 m, Ra = Rc = 2.4 ohm, La = Lc = 3.5 H, Kb = 2.7 o V/rad/s y JT = 5.1 Nm/rad/s2 . Problema 8.6 Proceso Electromecnico a Disear y simular dos sistemas de control predictivo, uno con ley de control esn calar y otro con ley de control matricial, para controlar la posicin angular (s) del o sistema electromecnico mostrado en la Fig. 2.30, cumpliendo determinadas especia caciones de diseo dictadas por el usuario. Cada controlador predictivo a disear, n n debe sustituir al amplicador de ganancia A. Datos adicionales: R = 4 ohm, L = 0.7 H, KT = 1.8 Nm/rad, B = N/rad/s, M = 20 kg, Km = 0.7 Nm/A, J = 4.8 Nm/rad/s2 y r = 0.1 m. Problema 8.7 Inclinacin de un Avin o o La dinmica de un avin puede ser descrita por varios conjuntos acoplados de ecuaa o ciones diferenciales no lineales. Sin embargo, bajo ciertas suposiciones, tales ecuaciones pueden ser desacopladas y linealizadas para obtener dos conjuntos: las ecuaciones longitudinales y las ecuaciones laterales. El control de la inclinacin del o avin mostrado en la Fig. 8.12 es un problema longitudinal. Asumiendo que el avin o o est en su velocidad de crucero (altura y velocidad constantes), entonces la resistencia a de arrastre y la fuerza impulsora se cancelan mientras que el empuje de elevacin se o iguala con el peso (ver gura 8.12). Con tales consideraciones, se puede asumir que

188
Empuje

Control Predictivo

x Impulso x
e

Arrastre e z Peso

Fig. 8.12: Avin comercial en pleno vuelo. o las ecuaciones longitudinales del movimiento del avin (los datos corresponden a un o avin comercial Boeing) son: o = 0.313 + 56.7q + 0.232e

q = 0.0139 0.426q + 0.0203e = 56.7q

donde es el angulo de ataque, q es la relacin de inclinacin, es el angulo de o o inclinacin y e es el angulo del deector de elevacin. La funcin de transferencia o o o del proceso es: 1,151s + 0,1774 (s) = 3 e (s) s + 0,739ss + 0,921s mientras que sus ecuaciones de estado y de 0,313 56.7 q = 0.0139 0.426 0 56.7 = salida son: 0 0.232 0 q + 0.0203 e 0 0 0 0 1 q

Disear y simular dos sistemas de control predictivo, uno con ley de control escalar y n otro con ley de control matricial, para controlar la inclinacin del avin mostrado o o en la Fig. 8.12, por medio de e , cumpliendo determinadas especicaciones de diseo n dictadas por el usuario. Problema 8.8 Tanques en Cascada La Fig. A.17 muestra dos tanques idnticos colocados en cascada. La seccin horie o zontal A=9 m2 de cada tanque es constante. El objetivo de control es controlar la altura H2 empleando el ujo Qo . La deduccin del modelo linealizado del proceso se o deriv en el ejemplo A.50. Disear un controlador predictivo del tipo escalar y otro o n del tipo matricial, con los requerimientos siguientes: tiempo de estabilizacin menor o que 15 s, sobreimpulso menor al 10 % y error en estado estable nulo. Estas condiciones de diseo deben mantenerse cuando se cambie la referencia (por ejemplo de 3 a 2 m). n Adems, el ujo de entrada (la seal de control) no debe sobrepasar los 3 m 3 /s. a n

8.7 Problemas Propuestos Problema 8.9 Secador de Granos

189

En el proceso de la Fig. 8.13(a) se desea reducir la humedad h del material a granel de la tolva. La banda transportadora, que se desplaza a una velocidad v = 1 m/s constante, introduce el material a un horno de secado. El sensor de humedad detecta hr a una distancia d = 10 m del horno y proporciona la seal de voltaje vr . El n horno puede modelarse como un proceso de primer orden. La Fig. 8.13(b) muestra la F.T del proceso. Disear dos sistemas de control predictivo basado en modelos, n uno con fuerza de control escalar y otro con fuerza de control matricial. El objetivo
Tolva Horno d v v
d/v

Controlador

Sensor

Referencia

Deposito (b) e -(d/v)s hr 10 s + 0.5 Sensor vr

1 s+1 Horno

hs

Tiempo muerto

Fig. 8.13: Sistema reductor de humedad. de control es estabilizar la humedad del material en la banda transportadora. Con nes de modelado del proceso, el tiempo muerto puede ser descrito empleando la aproximacin de Pad de tercer orden (ver ejemplo A.48): o e eT s 1 Tt s/2 + (Tt s)2 /10 (Tt s)3 /120 num(s) = den(s) 1 + Tt s/2 + (Tt s)2 /10 + (Tt s)3 /120

Las especicaciones de diseo para ambos sistemas de control son: tiempo de estabin lizacin menor que 40 s, error en estado estacionario nulo y porcentaje de sobreimpulo so menor al 5 %. La seleccin del tiempo de muestreo y de los horizontes de control o es a conveniencia del diseo. n Problema 8.10 Caon en la Torreta de un Tanque n Las ecuaciones del modelo linealizado para controlar la posicin angular del caon o n ubicado en la la torreta de un tanque mediante un actuador hidrulico son las sia guientes (ver gura 8.14): = = p + d p = m p Km Km q+ + dp J J q = Kv Lv q Kv Kp Jp + Kv u + dq ;

Lv = 1

donde es el angulo de la torreta, es la velocidad angular de la torreta, p es la aceleracin angular producida por el actuador hidrulico, q es el desplazamiento de la o a

190

Control Predictivo

servovlvula, Km = [8.46106 , 1.96106 ] (el primer valor corresponde al angulo de a desplazamiento horizontal de la torreta, mientras que el segundo valor, al angulo de elevacin) es la ganancia del servomotor, J = [7900, 2070 lbf-ft-s 2 ] es la inercia de la o torreta, m = [45.9, 17.3 rad/s] es la frecuencia natural del motor, Kv = [94.3, 94.3] es la ganancia de la servo vlvula, y Kp = [6.33106 , 3.86105 ] es el coeciente a de presin diferencial. Las cantidades d , dp y dq representan disturbios que tambin o e incluyen los efectos debido a las no linealidades que no fueron tomadas en cuenta en el modelo linealizado. Es util saber que 1 lbffts2 = 1.355 kgm2 .

Torreta del tanque

Angulo de elevacion

Azimut: angulo de posicionamiento horizontal

Fig. 8.14: Vistas lateral y horizontal de la torreta de un tanque. (a) Disear un sistema de control predictivo con fuerza de control escalar y otro n con fuerza de control matricial, para controlar el angulo de elevacin con o las especicaciones siguientes: tiempo de estabilizacin menor que 5 s, m o nimo sobreimpulso y error en estado estacionario nulo. Los disturbios tipo escaln o pueden actuar simultneamente y pueden ser positivos o negativos. El sistema a de control diseado debe ser capaz de minimizar sus efectos. La seleccin de los n o horizontes de control es a conveniencia del problema planteado. (b) Lo mismo que (a), pero en este caso para controlar el angulo azimutal. Problema 8.11 La Fig. A.2 muestra un carro de masa m = 1000 kg desplazndose con una velocidad a v gracias a la accin de la fuerza u producida por su motor. Si se desprecia la inercia o de las ruedas y se asume que la fuerza de friccin bv, donde b= 50 N-s/m es el o coeciente de friccin, es lo unico que se opone al movimiento del carro, entonces la o dinmica del proceso puede modelarse como (ver ejemplo A.9): a mv(t) + bv(t) = u(t); v= dv dt

Disear un sistema de control predictivo con fuerza de control escalar y otro con n fuerza de control matricial, para controlar la velocidad del mvil con m o nimo tiempo de estabilizacin y m o nimo sobreimpulso. La seal de referencia puede ser arbitraria n

8.7 Problemas Propuestos

191

(problema de seguimiento). La seleccin de los valores de los horizontes y el tiempo o de muestreo son a conveniencia del problema planteado.

Cap tulo 9

Control Fuzzy
En este cap tulo se disean varios sistemas de control fuzzy, donde el controlador del n sistema es del tipo fuzzy. Tal controlador se compone de un fuzzycador que convierte las variables de entrada en variables fuzzy de entrada, un conjunto de reglas fuzzy para convertir las entradas fuzzy en salidas fuzzy, y un defuzzicador para generar las seales n de control. Intensivos trabajos de simulacin van a validar los diseos propuestos. o n

9.1.

El Controlador Fuzzy

Con el propsito de desarrollar un controlador fuzzy (difuso o borroso en castelo lano), primero se debe de identicar el problema. Esto es, denir los objetivos de control para los cuales desarrollaremos tal controlador. Luego, debemos de disear el n sistema de control fuzzy. Para ello podemos usar el sistema de control a lazo cerrado mostrado en la gura 9.1, donde el controlador convencional del sistema est siendo a reemplazado por un controlador fuzzy. Tal controlador posee tres partes principales: 1. El fuzzycador (palabra derivada del ingls fuzzier), en donde la entrada e al controlador se convierte en variables de entrada tipo fuzzy, usando para ello funciones de membresia. 2. El conjunto de reglas fuzzy, en donde las variables fuzzy de entrada son evaluadas para generar variables fuzzy de salida. Estas ultimas pasan luego al de fuzzycador (palabra derivada del ingls defuzzier). e 3. El defuzzicador, el cual toma como base las variables fuzzy de salida para generar un conjunto de valores de salida: las seales de control. n Las funciones de membresia poseen una forma geomtrica caracter e stica. Por ejemplo pueden ser de forma triangular, de forma trapezoidal, o de alguna forma arbitraria, siempre que pueda ser descrita y evaluada mediante una funcin. o El conjunto de reglas fuzzy son las sentencias del tipo if/then que se denen en conformidad con los objetivos de control. Tales reglas constituyen la clave del sistema de control fuzzy, ya que ellas deciden el comportamiento del sistema para diferentes entradas. Con el n de generar las seales de control, el defuzzycador puede hacer uso de n varios mtodos, todos relacionados con el procesamiento de las variables fuzzy para e

194

Control Fuzzy

generar seales que se puedan implementar en tiempo real. Por ejemplo, es comn n u tomar el promedio ponderado de las variabes ya procesadas con las reglas fuzzy.

Fig. 9.1: Sistema de control a lazo cerrado, donde el controlador convencional se reemplaza por un controlador fuzzy.

9.2.
9.2.1.

Dise o de Sistemas de Control Fuzzy n


Control Fuzzy del Manipulador Robtico de 1GDL o

Descripcin del Proceso o


El Manipulador Robtico de 1GDL (MR1), cuyo esquema se muestra en la Fig. o 9.2, se compone de un subsistema elctrico y un subsistema mecnico. El subsistema e a elctrico comprende un servomotor DC con decodicador de posicin (encoder en e o ingls) incorporado, el cual se emplea para medir la posicin angular del brazo del e o manipulador en cada instante de tiempo. El servomotor posee una caja de engranajes para reducir la velocidad en su eje de salida; de esta manera se facilita el control de posicin del manipulador. o El subsistema mecnico consiste de un brazo accionado por el torque rotacional a generado en el eje de salida del servomotor DC (el actuador). En el extremo libre del brazo robtico se puede acoplar un efector nal, el cual puede ser una pinza para asir o objetos, una herramienta para soldar, una herramienta para pintar, etc. En nuestro caso usaremos una pinza con dos grados de libertad: un grado para rotar la pinza y otro para abrirla y cerrarla. Para propsitos de modelado, vamos a suponer que el o efector nal y su carga se pueden modelar mediante una masa mh variable. La Tabla 9.1 describe las variables y los valores de los parmetros del manipulador mostrado a en la Fig. 9.2. El sistema MR1 es del tipo SISO ya que slo posee una entrada: el voltaje de o control u aplicado a la armadura del servomotor, y una salida: la posicin angular o del brazo.

9.2 Dise o de Sistemas de Control Fuzzy n

195

Tabla 9.1: Parmetros y variables del brazo robtico de 1GDL (MR1). a o S mbolo u KA Va Ra La ia Km Tm TL L Tg1 Tg2 Jm Jg JL Bm Bg BL mh mb L rh Vb Kb g N1 , N2 n m m Kw Descripcin o Voltaje de entrada al sistema Ganancia del amplicador Voltaje de armadura Resistencia de armadura Inductancia de armadura Corriente de armadura Constante del torque motor Torque motor Torque de carga Torque causado por pesos de la carga Torque de entrada a los engranajes Torque de salida de los engranajes Inercia del motor Inercia de los engranajes Inercia de la carga Constante de friccin del motor o Constante de friccin en engranajes o Constante de friccin en la carga o Masa del efector nal Masa del brazo Longitud del brazo Distancia al centro de masa del efector Voltaje contra electromotriz Constante contra electromotriz Aceleracin de la gravedad o o de dientes de los engranajes N Relacin de engranajes (n = N2 /N1 ) o Posicin angular del motor o Posicin angular de la carga o Velocidad angular de la carga Velocidad angular del motor Constante de elasticidad Valor 8.5 3.5 0.004 0.0436 V H A N-m/A N-m N-m N-m N-m N-m kg-m2 kg-m2 kg-m2 N-m/rad/s N-m/rad/s N-m/rad/s kg kg m m V V/rad/s m/s2 Unidades V

0.00059 0.066 0.00014 0.0124 0.0023 0.1 0.4 0.25 0.02 0.0565 9.81 N 2 > N1 18.5

m = n 0.052

rad rad rad/s rad/s N-m/rad

196

Control Fuzzy

La

ia

Ra

Tm Bm Tg1 Jm N2 T g2

BL TL J L

Bg Jg

Fig. 9.2: Esquema del Manipulador Robtico de 1GDL. o Modelo del Subsistema Mecnico a Para modelar el subsistema mecnico del manipulador empleamos la segunda ley a de Newton para los movimientos lineal y rotacional. La aplicacin de esta segunda o ley se traduce en una ecuacin de balance mecnico. Con respecto a la Fig. 9.2, la o a ecuacin de balance mecnico en el eje del servomotor articulado al primer engranaje o a se formula como: Tm = Jm m + Bm m + Tg1 dm m = dt d 2 m m = dt2 (9.1)

donde Jm y Bm representan el momento de inercia y la constante de friccin viscosa o del rotor respectivamente, Tm es el torque del servomotor, Tg1 es el torque de reaccin o debido al primer engranaje y m es la posicin angular en el lado del motor. Para los o engranajes de reduccin del servomotor podemos formular: o n= m N2 = N1 m = n n>1 (9.2)

donde N1 y N2 es el nmero de dientes de los engranajes y n > 1 es la relacin entre u o ellos. Para formular la ecuacin (9.2) se ha tenido en cuenta que el espacio angular o recorrido por el engranaje de menor radio es n veces mayor que el espacio recorrido por el engranaje de radio mayor. Por otra parte, el principio de la conservacin de la o energ establece que el trabajo realizado por el engranaje de la izquierda debe ser a igual al trabajo realizado por el engranaje de la derecha, es decir: Tg2 = Tg1 m = Tg1 n; Tg2 = nTg1 (9.3)

donde Tg2 es el torque de reaccin debido al segundo engranaje. El balance mecnico o a en el eje articulado al brazo del manipulador produce: Tg2 = Jg + Bg + TL (9.4)

donde Jg y Bg representan el momento de inercia y la constante de friccin viscosa o de la caja de reduccin respectivamente. El torque de carga TL se formula como (ver o

yy y yy y

KA

_b

yy yy yy yy yy yy yy yy yy yy yy yy

yy yy yy yy yy yy yy yy yy yy

m m

mh N1 L mb

mh L

9.2 Dise o de Sistemas de Control Fuzzy n Fig. 9.3): TL = J L + B L + L L L = mb g sen + mh g (L + rh )sen = Q sen 2 L Q = mb g + mh g (L + rh ) 2

197

(9.5) (9.6)

donde JL y BL representan el momento de inercia y la constante de friccin viscosa o de la carga no lineal (brazo ms efector nal), g es la constante gravitacional, m b a y mh denotan las masas del brazo y del efector nal (esta masa tambin incluye la e masa de la carga en el efector) respectivamente, y rh denota la distancia desde el extremo del brazo al centro de masa de mh . Notar en (9.6) que el torque L se debe

rh L _ 2 mhg L _ 2 mb g L

Fig. 9.3: Brazo del manipulador robtico de 1GDL. o a las fuerzas ejercidas por los pesos del brazo y de la esfera. As el torque m b g L sen , 2 es el producto del peso mb g del brazo por su brazo de palanca L sen , mientras que 2 el torque mh g (L + rh )sen es el producto del peso mh g del efector por su brazo de palanca (L + rh )sen. El momento de inercia JL de la carga es la suma del momento de inercia del brazo Jb ms el momento de inercia del efector Jh . Por otra parte, el teorema de los ejes a paralelos, establece que el momento de inercia de una masa m alrededor de un eje de rotacin que no pasa por su C.M. est dado por: o a J = Jo + m a 2 (9.7)

donde Jo es el momento de inercia de m alrededor del eje de rotacin que pasa por o su centro de masa y a es la distancia entre los dos ejes. Asumiendo que la masa mb del brazo se concentra en su C.M., su momento de inercia con relacin a un eje o perpendicular que pasa por su C.M. es [1]: Jbo = 1 mb L2 12 (9.8)

Considerando que la masa del brazo est distribuida a lo largo de su longitud y a aplicando el teorema de los ejes paralelos, el momento de inercia Jb con respecto al

198 punto de articulacin se formula como: o Jb = Jbo + mb L 2


2

Control Fuzzy

1 = mb L2 3

(9.9)

Del mismo modo, asumiendo que la masa mh del efector est concentrada en su C.M., a entonces: Jh = Jho + mh (L + rh )2 (9.10)

donde Jho es el momento de inercia del efector con relacin a un eje de rotacin o o que pasa por su C.M. Si consideramos por ejemplo, sin perder generalidad, que el efector es una masa esfrica de radio rh , su momento de inercia alrededor de un eje e de rotacin que coincide con su dimetro [1] es: o a 2 2 Jho = mh rh 5 Empleando (9.5), (9.6), (9.4), (9.3) y (9.2) en (9.1) y operando se obtiene: nTm = Jeq + Beq + L = Jeq + Beq + Q sen donde: Jeq = n2 Jm + Jg + JL Beq = n2 Bm + Bg + BL (9.12) (9.11)

Las expresiones de Q, Jh y Jb (tener en cuenta que JL = Jh + Jb ) se dan en (9.6), (9.10) y (9.9) respectivamente. Modelo del Subsistema Elctrico e El voltaje de armadura Va viene expresado por (ver la descripcin de las variables o y parmetros en la Tabla 9.1): a Va = ia Ra + La dia + Vb dt (9.13)

donde ia , Ra y La son la corriente, la resistencia y la inductancia en la armadura del servomotor respectivamente, y Vb es el voltaje de fuerza contra electromotriz gobernado por la relacin: o Vb = Kb m = Kb n = Kb n (9.14)

donde Kb es la constante de fuerza contra electromotriz y m es la velocidad angular del motor. El voltaje de armadura Va es: Va = K A u donde KA es la ganancia del amplicador. (9.15)

9.2 Dise o de Sistemas de Control Fuzzy n Conversin de Energ Elctrica en Mecnica o a e a

199

Sabemos que el torque motor Tm (energ mecnica) es proporcional a la corriente a a de armadura ia (energ elctrica): a e Tm = K m i a (9.16)

donde Km es la constante del motor. Reemplazando (9.12) en ( 9.16) se obtiene la siguiente ecuacin de conversin de energ elctrica a energ mecnica: o o a e a a nKm ia = Jeq + Beq + L Por otra parte, igualando (9.13) con (9.15) obtenemos: dia KA Kb n Ra = u ia dt La La La Empleando (9.16) en (9.12) y despejando = d/dt obtenemos: Beq d Q nKm = sen + ia dt Jeq Jeq Jeq Ecuacin de Estado del Sistema MR1 con La = 0 o Las ecuaciones (9.18) y (9.19) describen el modelo no lineal del sistema de tercer orden. Eligiendo en dichas ecuaciones como variables de estado: x1 = (posicin o angular), x2 = (velocidad angular) y x3 = ia (corriente de armadura), se obtiene: x1 = x 2 x2 = x3 Beq Q nKm senx1 x2 + x3 Jeq Jeq Jeq nKb Ra KA = x2 x3 + u La La La (9.19) (9.18) (9.17)

(9.20)

donde la salida es la posicin x1 y la seal de control es u (la tensin de armadura). o n o Ecuacin de Estado Lineal del Sistema MR1 con La 0 o = En la Tabla 9.1 podemos observar que la inductancia de armadura La del servomotor es bastante pequea, de modo tal que puede despreciarse sin que se pierda n considerable exactitud en los resultados. Considerando el producto x 3 La = 0 en la tercera ecuacin de (9.20) y despejando la corriente de armadura x 3 resulta: o x3 = nKb KA u x2 Ra Ra (9.21)

Reemplazando (9.21) en la segunda ecuacin de (9.20), y haciendo senx 1 = x1 , se o obtiene la ecuacin de estado lineal de orden dos del manipulador MR1: o x1 = x 2 x2 = a1 x1 a2 x2 + bu donde: a1 = Q Jeq a2 = Beq Ra + n2 Km Kb Jeq Ra b= nKm KA Jeq Ra (9.22)

200

Control Fuzzy

Dise o del Controlador Fuzzy n


Un sistema de control de posicin angular convencional tradicionalmente emplea o un controlador PD para controlar la posicin del manipulador MR1. Por ello, el o controlador fuzzy empleado es del tipo PD, el cual se logra haciendo que sus entradas sean el error e(t) y la derivada del error de(t)/dt, y que su salida sea la seal de n control u(t). En este ejemplo empleamos funciones de membresia del tipo triangular para las entradas y funciones singletons (o unicas) para la salida. El procedimiento de fuzzy cacin emplea el mtodo de descomposicin m o e o nima de las funciones de membresia, mientras que el procedimiento de defuzzication emplea el mtodo del centroide (pone deracin de las variables promediadas para obtener un valor. o La gura 9.4 muestra las funciones de membresia para el controlador fuzzy tipo PD, mientras que la tabla 9.2 presenta el conjunto de reglas del controlador en la forma de una matriz de memoria asociativa fuzzy (en ingls: FAM: Fuzzy Asociae tive Memory matrix). En dicha matriz, las letras tienen el siguiente signicado: NL: Negative Large (negativo grande), NM: Negative Medium (negativo medio), NS: Negative Small (negativo pequeo), ZE: zero (cero), PS: Positive Small n (positivo pequeo), PM: Positive Medium (positivo medio), PL: Positive Large n (positivo grande). Notar que en las funciones de membresia estamos usando los parmetros de esa calamiento p para el error, f para la derivada del error y uu para la salida. Estos parmetros nos van a permitir sintonizar en tiempo real el controlador difuso para a cumplir el objetivo de control. Debemos anotar que los rangos de e(t) y de(t)/dt son slo estimaciones. Para el caso de la salida u(t), se debe tener en cuenta que el rango o de salida de 2.5 V a + 2.5 V se convierten usando LabVIEW al rango de salida de 0 a + 5 V, que corresponden a los valores mximo y m a nimo que puede soportar el PIC que estamos usando para generar la seal PWM (Pulse Width Modulation) n que requiere el amplicador con conguracin H. o El Proceso de Fuzzycation El proceso de fuzzycacin emplea bsicamente la informacin de la gura 9.4. Por o a o consiguiente, primero denimos los rangos de las funciones de membresia del error, de la derivada del error y de la salida (tablas 9.3, 9.4 y 9.5), donde las abreviaturas en minsculas min, nom y max signican m u nimo, nominal y mximo respectivamente. a El valor nominal siempre se sita entre los valores m u nimo y mximo de la funcin. a o Cabe anotar que esta nomenclatura tambin se emplea en el programa de simulacin e o del sistema de control fuzzy. Para explicar el procedimiento de fuzzycacin, tomemos como ejemplo los dos o primeros tramos de la funcin de membresia del error e(t), correspondiente a la o funcin NL(t). Podemos observar que para el rango NLmin e(t) NLnom, la o funcin de membresia correspondiente toma el valor NL = 1, mientras que para el o rango NLnom e(t) NLmax, la funcin de membresia correspondiente toma el o valor genrico: e e(t) + 0.3p NL(t) = 0.7p

9.2 Dise o de Sistemas de Control Fuzzy n

201

Fig. 9.4: Funciones de membresia para las entradas (error e(t) y de(t)/dt) y para la salida u(t).

Notar que la expresin de NL(t) es la ecuacin de la recta con pendiente negativa o o correspondiente al tramo NLnom e(t) NLmax. Del mismo modo podemos deducir todas las ecuaciones correspondiente al proceso de fuzzycacin de las entradas e(t) y de(t)/dt. Tales ecuaciones se muestran o a continuacin en cdigo MATLAB. Notar que slo para nes de inicializacin, se o o o o estn aadiendo los valores iniciales nulos de las funciones de membresia. a n % FUZZYFICACIN DE LAS FUNCIONES DE MEMBRESIA PARA EL ERROR e(t): O NL = 0; if( e >= NLmin & e <= NLnom), NL = +1; elseif(e >= NLnom & e <= NLmax), NL = -(e+0.3*p)/(0.7*p); end NM = 0; if(e >= NMmin & e <= NMnom), NM = +(e+1.0*p)/(0.7*p); elseif(e >= NMnom & e <= NMmax), NM = -(e+0.1*p)/(0.2*p); end

202

Control Fuzzy

Tabla 9.2: Conjunto de reglas del controlador fuzzy mostradas en la forma de una matriz de memoria asociativa fuzzy (FAM-matrix). de \ e DNL DNM DNS DZE DPS DPM DPL NL NX NX NX NX NX NX NX NM NX NX NL NL NS NS ZE NS NX NL NL NL NS PS PS ZE NX NL NM ZE PM PL PX PS NS NS PS PL PL PL PX PM XE PS PS PL PL PX PX PL PX PX PX PX PX PX PX

Tabla 9.3: Rango de las funciones de membresia para el error e(t). NLmin = - 1.2p NMmin = - 1.0p NSmin = - 0.3p ZEmin = - 0.1p PSmin = + 0.0p PMmin = + 0.1p PLmin = + 0.3p NLnom = - 1.0p NMnom = - 0.3p NSnom = - 0.1p ZEnom = + 0.0p PSnom = + 0.1p PMnom = + 0.3p PLnom = + 1.0p NLmax = - 0.3p NMmax = - 0.1p NSmax = + 0.0p ZEmax = + 0.1p PSmax = + 0.3p PMmax = + 1.0p PLmax = + 1.2p

NS = 0; if(e >= NSmin & e <= NSnom), NS = +(e+0.3*p)/(0.2*p); elseif(e >= NSnom & e <= NSmax), NS = -(e-0.0)/(0.1*p); end ZE = 0; if(e >= ZEmin & e <= ZEnom), ZE = +(e+0.1*p)/(0.1*p); elseif(e >= ZEnom & e <= ZEmax), ZE = -(e-0.1*p)/(0.1*p); end PS = 0; if(e >= PSmin & e <= PSnom), PS = +(e-0.0)/(0.1*p); elseif(e >= PSnom & e <= PSmax), PS = -(e-0.3*p)/(0.2*p); end PM = 0; if(e >= PMmin & e <= PMnom), PM = +(e-0.1*p)/(0.2*p);

9.2 Dise o de Sistemas de Control Fuzzy n

203

Tabla 9.4: Rango de las funciones de membresia para la derivada del error de(t)/dt. DNLmin = - 6.0f DNMmin = - 5.0f DNSmin = - 2.0f DZEmin = - 1.0f DPSmin = + 0.0f DPMmin = + 1.0f DPLmin = + 2.0f DNLnom = - 5.0f DNMnom = - 2.0f DNSnom = - 1.0f DZEnom = + 0.0f DPSnom = + 1.0f DPMnom = + 2.0f DPLnom = + 5.0f DNLmax = - 2.0f DNMmax = - 1.0f DNSmax = + 0.0f DZEmax = + 1.0f DPSmax = + 2.0f DPMmax = + 5.0f DPLmax = + 6.0f

Tabla 9.5: Rango de las funciones de membresia para la seal de control u(t). n UNX = - 0.7uu UNS = - 0.2uu UPM = + 0.4uu UNL = - 0.6uu UZE = 0uu UPL = + 0.6uu UNM = - 0.4uu UPS = + 0.2uu UPX = + 0.7uu

elseif(e >= PMnom & e <= PMmax), PM = -(e-1.0*p)/(0.7*p); end PL = 0; if(e >= PLmin & e <= PLnom), PL = +(e-0.3*p)/(0.7*p); elseif(e >= PLnom & e <= PLmax), PL = +1; end % FUZZYFICACIN DE LAS FUNCIONES DE MEMBRESIA PARA LA DERIVADA DEL ERROR de(t)/dt: O DNL = 0; if( de >= DNLmin & de <= DNLnom), DNL = +1; elseif(de >= DNLnom & de <= DNLmax), DNL = (-de-2*f)/(3*f); end DNM = 0; if(de >= DNMmin & de <= DNMnom), DNM = +(de+5*f)/(3*f); elseif(de >= DNMnom & de <= DNMmax), DNM = (-de-1*f)/f; end DNS = 0; if(de >= DNSmin & de <= DNSnom), DNS = +(de+2*f)/f; elseif(de >= DNSnom & de <= DNSmax), DNS = (-de-0.0*f)/f; end DZE = 0; if(de >= DZEmin & de <= DZEnom), DZE = +(de+1*f)/f; elseif(de >= DZEnom & de <= DZEmax), DZE = (-de+1*f)/f; end DPS = 0; if(de >= DPSmin & de <= DPSnom), DPS = +(de+0.0)/f; elseif(de >= DPSnom & de <= DPSmax), DPS = (de-2*f)/f; end

204

Control Fuzzy

DPM = 0; if(de >= DPMmin & de <= DPMnom), DPM = +(de-1*f)/f; elseif(de >= DPMnom & de <= DPMmax), DPM = (-de+5*f)/(3*f); end DPL = 0; if(de >= DPLmin & de <= DPLnom), DPL = +(de-2*f)/(3*f); elseif(de >= DPLnom & de <= DPLmax), DPL = +1; end Simulacin del Sistema de Control Fuzzy o El programa fuzzyposition.m escrito en cdigo MATLAB y cuyo listado se muestra o abajo, simula el comportamiento del sistema para controlar la posicin del brazo o robtico de 1GDL empleando un controlador fuzzy. La gura 9.5 muestra el resultado o de tal simulacin. o
1 Posicin angular (rad) 0.8 0.6 0.4 0.2 0

1.4 Seal de control u (voltios) 1.2 1 0.8 0.6 0.4 0.2 0 0 1 2 3 Tiempo en segundos 4 5 6

Fig. 9.5: Posicin angular controlada en la simulacin del sistema de control fuzzy o o del brazo robtico de 1GDL, para una seal de referencia ja. o n
% fuzzyposition.m SIMULACION DEL SISTEMA DE CONTROL DE POSICION FUZZY clear all; close all; clc; % PARAMETROS DEL PROCESO Ra=3.5; Km=0.0436; Kb=Km; KA=8.5; mb=0.4; g=9.81; L=0.25; mh=0.1; rh=0.02; n=18.5; Jm=0.00059; Jg=0.066; Bg=0.0124; Bm=0.00014; BL=0.0023; Jb=mb*L^2/3; Jho=2*mh*rh^2/5; Jh=Jho+mh*(L+rh)^2; JL=Jh+Jb; Jeq = n^2*Jm + Jg + JL; Beq = n^2*Bm + Bg + BL; Q = mb*g*L/2 + mh*g*(L+rh); a1 = Q/Jeq; a2 = (Beq*Ra+n^2*Km*Kb)/(Jeq*Ra); b = n*Km*KA/(Jeq*Ra); T = 0.001; % PERIODO DE MUESTREO

9.2 Dise o de Sistemas de Control Fuzzy n


% RANGOS DE LAS FUNCIONES DE MEMEBRESIA PARA EL ERROR e p=1; NLmin=-1.2*p; NLnom=-1.0*p; NLmax=-0.3*p; NMmin=-1.0*p; NMnom=-0.3*p; NMmax=-0.1*p; NSmin=-0.3*p; NSnom=-0.1*p; NSmax=+0.0*p; ZEmin=-0.1*p; ZEnom=+0.0*p; ZEmax=+0.1*p; PSmin=+0.0*p; PSnom=+0.1*p; PSmax=+0.3*p; PMmin=+0.1*p; PMnom=+0.3*p; PMmax=+1.0*p; PLmin=+0.3*p; PLnom=+1.0*p; PLmax=+1.2*p; % RANGOS DE LAS FUNCIONES DE MEMEBRESIA PARA LA DERIVADA DEL ERROR de f=0.7; DNLmin=-6.0*f; DNLnom=-5.0*f; DNLmax=-2.0*f; DNMmin=-5.0*f; DNMnom=-2.0*f; DNMmax=-1.0*f; DNSmin=-2.0*f; DNSnom=-1.0*f; DNSmax=+0.0*f; DZEmin=-1.0*f; DZEnom=+0.0*f; DZEmax=+1.0*f; DPSmin=+0.0*f; DPSnom=+1.0*f; DPSmax=+2.0*f; DPMmin=+1.0*f; DPMnom=+2.0*f; DPMmax=+5.0*f; DPLmin=+2.0*f; DPLnom=+5.0*f; DPLmax=+6.0*f; % SALIDAS (FUERZAS DE CONTROL) ur = 5; UNX=-0.7*ur; UNL=-0.6*ur; UNM=-0.4*ur; UNS=-0.2*ur; UZE=0*ur; UPS=0.2*ur; UPM=0.4*ur; UPL=0.6*ur; UPX=0.7*ur; % CONDICIONES INICIALES ep = 0; x1 = 0; x2 = 0; I = 0; D = 0; % ******** LAZO DEL SISTEMA DE CONTROL FUZZY ********* Mm = 12000; A = 0.5; for k = 1:Mm % SE~NAL DE REFERENCIA if(k >= 0 && k <= Mm/4) r = A; elseif(k >= Mm/4 && k <= Mm/2) r = 0.5*A; elseif(k >= Mm/2 && k <= 3*Mm/4) r = 1*A; elseif(k >= 3*Mm/4 && k <= Mm) r = 0.8*A; end R(k)=r; % SET POINT % CALCULO DE LA SE~NAL DE CONTROL u(t) e = r - x1; Y(k) = x1; de = (e - ep)/T; % FUZZYFICATION DE LAS FUNCIONES DE MEMEBRESIA DEL ERROR e NL = 0; if( e >= NLmin && e <= NLnom), NL = +1; elseif(e >= NLnom && e <= NLmax), NL = -(e+0.3*p)/(0.7*p); end NM = 0; if(e >= NMmin && e <= NMnom), NM = +(e+1.0*p)/(0.7*p); elseif(e >= NMnom && e <= NMmax), NM = -(e+0.1*p)/(0.2*p); end NS = 0; if(e >= NSmin && e <= NSnom), NS = +(e+0.3*p)/(0.2*p); elseif(e >= NSnom && e <= NSmax), NS = -(e-0.0)/(0.1*p); end ZE = 0; if(e >= ZEmin && e <= ZEnom), ZE = +(e+0.1*p)/(0.1*p); elseif(e >= ZEnom && e <= ZEmax), ZE = -(e-0.1*p)/(0.1*p); end PS = 0; if(e >= PSmin && e <= PSnom), PS = +(e-0.0)/(0.1*p);

205

206

Control Fuzzy

elseif(e >= PSnom && e <= PSmax), PS = -(e-0.3*p)/(0.2*p); end PM = 0; if(e >= PMmin && e <= PMnom), PM = +(e-0.1*p)/(0.2*p); elseif(e >= PMnom && e <= PMmax), PM = -(e-1.0*p)/(0.7*p); end PL = 0; if(e >= PLmin && e <= PLnom), PL = +(e-0.3*p)/(0.7*p); elseif(e >= PLnom && e <= PLmax), PL = +1; end % FUZZYFICATION DE LAS FUNCIONES DE MEMEBRESIA DE LA DERIVADA DEL ERROR de DNL = 0; if( de >= DNLmin && de <= DNLnom), DNL = +1; elseif(de >= DNLnom && de <= DNLmax), DNL = (-de-2*f)/(3*f); end DNM = 0; if(de >= DNMmin && de <= DNMnom), DNM = +(de+5*f)/(3*f); elseif(de >= DNMnom && de <= DNMmax), DNM = (-de-1*f)/f; end DNS = 0; if(de >= DNSmin && de <= DNSnom), DNS = +(de+2*f)/f; elseif(de >= DNSnom && de <= DNSmax), DNS = (-de-0.0*f)/f; end DZE = 0; if(de >= DZEmin && de <= DZEnom), DZE = +(de+1*f)/f; elseif(de >= DZEnom && de <= DZEmax), DZE = (-de+1*f)/f; end DPS = 0; if(de >= DPSmin && de <= DPSnom), DPS = +(de+0.0)/f; elseif(de >= DPSnom && de <= DPSmax), DPS = (de-2*f)/f; end DPM = 0; if(de >= DPMmin && de <= DPMnom), DPM = +(de-1*f)/f; elseif(de >= DPMnom && de <= DPMmax), DPM = (-de+5*f)/(3*f); end DPL = 0; if(de >= DPLmin && de <= DPLnom), DPL = +(de-2*f)/(3*f); elseif(de >= DPLnom && de <= DPLmax), DPL = +1; end % RULES w11=min(NL,DNL); w12=min(NM,DNL); w13=min(NS,DNL); w14=min(ZE,DNL); w15=min(PS,DNL); w16=min(PM,DNL); w17=min(PL,DNL); w21=min(NL,DNM); w22=min(NM,DNM); w23=min(NS,DNM); w24=min(ZE,DNM); w25=min(PS,DNM); w26=min(PM,DNM); w27=min(PL,DNM); w31=min(NL,DNS); w32=min(NM,DNS); w33=min(NS,DNS); w34=min(ZE,DNS); w35=min(PS,DNS); w36=min(PM,DNS); w37=min(PL,DNS); w41=min(NL,DZE); w42=min(NM,DZE); w43=min(NS,DZE); w44=min(ZE,DZE); w45=min(PS,DZE); w46=min(PM,DZE); w47=min(PL,DZE); w51=min(NL,DPS); w52=min(NM,DPS); w53=min(NS,DPS); w54=min(ZE,DPS); w55=min(PS,DPS); w56=min(PM,DPS); w57=min(PL,DPS); w61=min(NL,DPM); w62=min(NM,DPM); w63=min(NS,DPM); w64=min(ZE,DPM); w65=min(PS,DPM); w66=min(PM,DPM); w67=min(PL,DPM); w71=min(NL,DPL); w72=min(NM,DPL); w73=min(NS,DPL); w74=min(ZE,DPL); w75=min(PS,DPL); w76=min(PM,DPL); w77=min(PL,DPL); u1=(w11*UNX+w12*UNX+w13*UNX+w14*UNX+w15*UNS+w16*UZE+w17*UPX+ ... w21*UNX+w22*UNX+w23*UNL + w24*UNL + w25*UNS + w26*UPS + w27*UPX + w31*UNX+w32*UNL+w33*UNL + w34*UNM + w35*UPS + w36*UPS + w37*UPX + w41*UNX+w42*UNL+w43*UNL + w44*UZE + w45*UPL + w46*UPL + w47*UPX + w51*UNX+w52*UNS+w53*UNS + w54*UPM + w55*UPL + w56*UPL + w57*UPX + w61*UNX+w62*UNS+w63*UPS + w64*UPL + w65*UPL + w66*UPX + w67*UPX + w71*UNX+w72*UNS+w73*UPS + w74*UPL + w75*UPL + w76*UPX + w77*UPX);

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

9.2 Dise o de Sistemas de Control Fuzzy n


ww= w11 + w12 + w13 + w14 + w15 + w16 + w17 + ... w21 + w22 + w23 + w24 + w25 + w26 + w27 + ... w31 + w32 + w33 + w34 + w35 + w36 + w37 + ... w41 + w42 + w43 + w44 + w45 + w46 + w47 + ... w51 + w52 + w53 + w54 + w55 + w56 + w57 + ... w61 + w62 + w63 + w64 + w65 + w66 + w67 + ... w71 + w72 + w73 + w74 + w75 + w76 + w77; WW(k) = ww; u = u1/(ww+0.0001); U(k) = u; U1(k) = u1; % MODELO DE SEGUNDO ORDEN DEL PROCESO (DISCRETIZACION DIRECTA) x1 = x1 + T*x2; x2 = x2 + T*( -a1*x1 - a2*x2 +b*u); ep = e; end % ***************** FIN DEL LAZO ********************** % GRAFICOS ejex = linspace(0,Mm*T,Mm); subplot(2,1,1); plot(ejex,R,ejex,Y); grid ylabel(POSICIN ([rad]); subplot(2,1,2); plot(ejex,U); grid; O ylabel(CONTROL u [V]); xlabel(TIEMPO [s]); print -f -deps fuzzyposition

207

Apndice A e

Sistemas Continuos
Este Cap tulo presenta la matemtica requerida en los Cap a tulos siguientes. Los tpio cos se desarrollan principalmente en el dominio continuo. El tpico discretizacin directa o o se desarrolla en el dominio discreto. Los numerosos ejemplos presentados se resuelven en unos casos anal ticamente, en otros con ayuda del software MATLAB y en la mayor de a los casos empleando ambos mtodos. e Los temas a tratar son: transformada de Laplace, lgebra de bloques, matrices y a determinantes, variables de estado, discretizacin directa, sistemas con tiempo muerto, o linealizacin de sistemas continuos y estabilidad. o

A.1.
A.1.1.

La Transformada Unilateral de Laplace


Denicin y Ejemplos o

La transformada unilateral de Laplace G(s) de una funcin g(t) se dene como: o G(s) = L[g(t)] =
0

g(t)est dt

(A.1)

donde el nmero complejo s = + j es la variable Laplaciana. La regin de s en la u o cual dicha integral converge se denomina Regin de Convergencia. o Un sistema representado por la funcin g(t) se denomina causal cuando su salida o y(t) depende slo de la entrada presente u(t) y de las entradas pasadas u(tt i ), donde o t es la variable dependiente tiempo continuo y los ti para i = 0, . . . , n son nmeros u reales positivo que indican retardos de tiempo. La gran mayor de los sistemas reales a son causales. La Fig. A.1(a) muestra un tanque con agua calentada mediante vapor. La curva de reaccin del sistema temperatura y(t) mostrado en la Fig. A.1(b) se obtiene variando o la abertura u(t) de la vlvula de vapor. Este sistema es causal porque, por ejemplo, a la salida y en el tiempo t3 , depende de la entrada u en t3 (la actual) y de las entradas pasadas en t2 , t1 y t0 . La transformada unilateral de Laplace es util para representar en forma algebraica sistemas causales descritos por ecuaciones diferenciales lineales invariantes con el tiempo. La Tabla A.1 muestra la transformada unilateral de Laplace de algunas funciones. Varias de sus propiedades se ilustran en la Tabla A.2.

210
u u Agua

Sistemas Continuos

t y Vapor t0 (a) t1 (b) t2 t3 t y

Fig. A.1: Ejemplo de sistema causal: temperatura en un tanque.

Ejemplo A.1 Hallar la transformada de Laplace de la funcin escaln unitario (t) denida como: o o (t) = 1 si t 0 0 si t < 0

Solucin: Usando la denicin dada en (A.1) con g(t) = (t): o o G(s) = L[(t)] =
0

(t)est dt =
0

(1)est dt =

est s

e e0 1 = s s

Ejemplo A.2 Hallar la transformada de Laplace de la funcin escaln unitario retardado (t T ) o o donde T es real y positivo. La funcin (t T ) se dene como: o (t T ) = 1 si t T 0 si t < T

Solucin: La transformada de Laplace de (t T ) se halla empleando la propiedad o (5) (desplazamiento en tiempo) de la Tabla A.2 con t0 = T , sabiendo que G(s) = 1/s por el ejemplo anterior. Esto es: L[(t T )] = eT s G(s) = eT s Ejemplo A.3 Hallar la transformada de Laplace de la funcin exponencial eat , donde a y t son o reales y positivos. Solucin: Usando la denicin dada en (A.1): o o L[e
at

1 eT s = s s

]=
0

at st

e(s+a)t dt = s+a

=
0

1 s+a

A.1 La Transformada Unilateral de Laplace Ejemplo A.4

211

Hallar la transformada de Laplace de las funciones impulso (t) y (t T ) empleando la siguiente propiedad fundamental:
0

g(t)(t T )dt = g(T )

(A.2)

donde g(t) es una funcin arbitraria pero continua en t = T . Se sabe adems que la o a funcin impulso unitario o delta de Dirac (t) y delta de Dirac retardada (t T ) se o denen como: (t) = 1 si t = 0 0 si t = 0 (t T ) = 1 si t = T 0 si t = T (A.3)

Solucin: Aplicando la propiedad fundamental (A.2) con g(t) = est y T = 0 se o obtiene: L[(t)] =
0

est (t T )dt = esT |T =0 = 1

Aplicando ahora la propiedad fundamental con g(t) = est y retardo T resulta: L[(t T )] =
0

est (t T )dt = esT = z 1

La relacin: z = esT constituye la variable discreta de desplazamiento y se emplea o para el anlisis de sistemas lineales discretos con parmetros invariantes con el tiempo. a a Ejemplo A.5 Usando matemtica simblica, hallar la transformada de Laplace de las siguientes a o funciones: dg(t) g1 (t) = a(t) g2 (t) = eat g3 (t) = dt g4 (t) = a sin(t)cos(t)2
t

g5 (t) =
0

(t2 + cos 2t)

donde a es una constante real y positiva, (t) es la funcin escaln unitario denida o o en el ejemplo A.1 y g(t) es una funcin arbitraria dependiente del tiempo. o Solucin: El programa laplace1.m resuelve el problema. o
% laplace1.m TRANSFORMADA SIMBLICA DE LAPLACE O clear all; close all; clc; syms a t s; G1 =laplace(a,t,s); % G1 = a/s G2 = laplace(exp(-a*t),t,s); % G2 = 1/(s+a) G3 = laplace(diff(sym(g(t)))); % G3 = s*laplace(g(t),t,s)-g(0) G4 = laplace(a*sin(t)*cos(t)^2,t,s); pretty(G4) % G4 = a*(s^2 + 3)/((s^2 + 9)(s^2+1)) g5 = int(t^2+cos(2*t)); G5 = laplace(g5); % G5 =2/s^4 + 1/(s^2+4)

212

Sistemas Continuos

A.1.2.

La Transformada Inversa de Laplace

La transformada inversa de Laplace de una funcin G(s) se denota como: o g(t) = L1 [G(s)] Ejemplo A.6 Usando matemtica simblica, hallar la transformada inversa de Laplace de las sia o guientes funciones: G1 (s) = s+3 s2 G2 (s) = Aw (s a2 ) + w2 (A.4)

donde w es una constante real y positiva. Solucin: El programa laplace2.m resuelve el problema. o
% laplace2.m clear all; close all; clc; syms s w a A G1=(s+3)/s^2; g1 = ilaplace(G1); % g1 = 1 + 3*t G2=A*w/((s-a)^2+w^2); g2 = ilaplace(G2); % g2 = A*e^(a*t)*sin(w*t)

Ejemplo A.7 La gura A.2 muestra un mvil de masa m = 1000 kg desplazndose con una velocidad o a v gracias a la accin de la fuerza u producida por su motor. Si se desprecia la inercia o de las ruedas y se asume que la fuerza de friccin bv es lo unico que se opone al o movimiento, donde b= 50 Ns/m es el coeciente de friccin, entonces la dinmica o a del sistema puede modelarse como: mv(t) + bv(t) = u(t) v(t) = dv(t) dt

Determine la velocidad v(t) y la aceleracin v(t) del carro como respuesta a una o fuerza u(t) tipo escaln de 1 N. Considere que la fuerza comienza a actuar para una o velocidad inicial del carro de 2 m/s.

friccion bv

v velocidad m u

Fig. A.2: Mvil en movimiento. o Solucin: Teniendo en cuenta que v(0) = 2 m/s, V (s) = L[v(t)] y U (s) = L[u(t)], o apliquemos la propiedad de derivacin (2) de la Tabla A.2 en la ecuacin dinmica o o a del carro: m(sV (s) v(0)) + bV (s) = U (s)

A.1 La Transformada Unilateral de Laplace v(0) 1/m + s(s + b/m) s + b/m

213

V (s) =

donde hemos usado el hecho de que U (s) = 1 debido a que la entrada u es del tipo s escaln. La salida v(t) se determina usando la Tabla A.1. Para el primer trmino de o e V (s) empleamos la frmula (14) con n = 1, mientras que para el segundo trmino o e empleamos la frmula (3). Por consiguiente: o v(t) = L1 [V (s)] =
b b 1 (1 e m t ) + v(0)e m t b

La derivada de v(t) produce la aceleracin pedida: o v= Ejemplo A.8 Empleando las propiedades del valor inicial y del valor nal de la Tabla A.2, determinar tales valores para la velocidad del mvil del problema anterior. o Solucin: El valor inicial de v(t) se determina de: o
t0
b 1 [1 bv(0)] e m t m

l v(t) = l sV (s) = v(0) m m


s

El valor nal v(t) se obtienen de:


t

l v(t) = l sV (s) = m m
s0

1 b

A.1.3.

La Funcin de Transferencia o

La funcin de transferencia FT de un sistema SISO (Single Input Single Output) o se dene como la relacin: o Y (s) G(s) = U (s) donde Y (s) es su salida y U (s) es su entrada, asumiendo que todas las condiciones iniciales son nulas. La FT se puede interpretar como el sello que caracteriza la dinmia ca de un sistema, ya que se expresa en funcin de los parmetros de dicho sistema. o a Distintos sistemas pueden poseer una misma forma de la FT, pero con parmetros a completamente diferentes. Por ejemplo, los sistemas velocidad de un motor DC, nivel en un tanque de agua con oricio de salida y un mvil con desplazamiento horizontal o poseen la siguiente forma de su FT: Y (s) K = U (s) s + 1 Ejemplo A.9 Determinar la FT del mvil del ejemplo A.7. Luego determine la velocidad v(t) del o mvil partiendo de su FT, como respuesta a una fuerza u(t) tipo escaln de 1 N. o o

214

Sistemas Continuos

Solucin: La FT del sistema se obtiene aplicando la propiedad de derivacin (2) de o o la Tabla A.2), con v(0) = 0: m[sV (s) v(0)] + bV (s) = (ms + b)V (s) = U (s); 1/m V (s) = U (s) s + b/m

Observar que resulta una FT de primer orden. Como la entrada es un escaln unitario, o entonces U (s) = 1 . La salida se determina de: s v(t) = L1 [V (s)] = L1 1/m s(s + b/m)

Usando la frmula (14) (con n = 0) de la Tabla A.1 resulta: o


b 1 v(t) = (1 e m t ) b

Ejemplo A.10 Empleando las propiedades del valor inicial y del valor nal de la Tabla A.2, determinar tales valores para la velocidad del mvil del problema anterior. o Solucin: El valor inicial se determina de: o
t0

l v(t) = l sV (s) = 0 m m
s

El valor nal se obtiene de:


t

l v(t) = l sV (s) = m m
s0

1 b

A.1.4.

Fracciones Parciales

Una funcin o fraccin racional de la forma B(s) es propia cuando el grado del o o A(s) polinomio B(s) del numerador es menor que el grado del polinomio A(s) del numerador. Cualquier funcin o fraccin racional propia de la forma B(s) se puede escribir o o A(s) como una suma de funciones racionales de la forma: C (as + b)r (as2 Cs + D + bs + c)r r = 1, 2., 3, . . .

Si A(s) y B(s) poseen el mismo grado, entonces: B(s) R(s) =k+ A(s) A(s) donde k es una constante y la fraccin o Ejemplo A.11
R(s) A(s)

resulta propia.

A.1 La Transformada Unilateral de Laplace

215

Tabla A.1: Transformadas unilaterales de Laplace

No (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21)

G(s) 1
1 s 1 s+a s2 + 2 s s2 + 2 s cos sen s2 + 2 (s+a)2 + 2 (s+a) (s+a)2 + 2 (s+a)cossen (s+a)2 + 2 1 s[(s+b)2 +a2 ] n! ; sn+1 1 (s+a)n+1 s (s+a)n+1 1 s(s+a)n+1 s2 (s+a)2 1 (s+a)(s+b) s (s+a)(s+b) 1 s(s+a)(s+b) 1 s2 (s+a)(s+b) 1 (s+a)(s+b)(s+c) s (s+a)(s+b)(s+c) s

g(t) (t) (t) eat sen t cos t cos(t + ) eat sent eat cost eat cos(t + )
b [1ebt (cos at+ a sen at)]

a2 +b2

n! = n(n 1) . . .

tn
tn n!

eat (1 +
at at n )e

tn+1 (n+1)! 1

(at) n =0 ! an+1

eat

[at2+(2+at)eat ]
a3

(eat ebt )/(b a) (bebt aeat )/(b a)


1 ab t ab beat aebt ba

1
1 a2 b

1 ab2

1 ba

1 at e a2

1 bt e b2

eat (ba)(ca) aeat (ab)(ca)

+ +

ebt (ab)(cb) bebt (ba)(cb)

+ +

ect (ac)(bc) cect (ca)(bc)

216

Sistemas Continuos Transformadas unilaterales de Laplace (continuacin) o No (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) G(s)
s2 (s+a)(s+b)(s+c) 1 s(s+a)(s+b)(s+c) 1 (s+a)(s+b)2 s (s+a)(s+b)2 s2 (s+a)(s+b)2 1 s(s+a)(s+b)2 1 s[(s+b)2 +a2 ]
2 n 2 s2 +2n s+n 2 sn 2 s2 +2n s+n 2 n 2 s(s2 +2n s+n ) 2 n 2 s(s2 +2n s+n )

g(t)
a2 eat (ba)(ca) 1 abc

b2 ebt (ab)(cb)

c2 ect (ac)(bc)

bceat (ba)(ca)

caebt (ab)(cb)

abect (ac)(bc)

1 (ba)2 1 (ba)2 1 (ba)2 1 ab2

eat [1 + (b a)t]ebt aeat + [a + (b a)bt]ebt a2 eat [2ab b2 + (b a)b2 t]ebt


b2 eat (ba)2 2aba2 +ab(ba)t (ba)2 b a

ebt

1 a2 +b2

1 ebt (cos at +
2 n d

senat)

< 1;

et sen d t

2 < 1; n et sen (d t )

< 1; 1 > 1; 1 d = n

n d

et sen (d t + )

T1 et/T1 T2 et/T2 T1 T2

1 2

= arc cos = arc cos (d /n ) = n T1,2 =


1 n

2 1)

Los siguientes tres ejemplos ilustran la expansin en fracciones parciales: o 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 + 2s + 4)2 (s + 1) 2 (s (s + 2s + 4) s + 2s + 4 s + 1 s2 9 8 =1 =1 21 s (s + 1)(s 1) D C + s+1 s1

A manera de ilustracin, el valor de H del segundo ejemplo se calcula multiplicando o ambos miembros de la igualdad por el factor (s + 1), para poder aislar H. La relacin o resultante se evala con la solucin de la ecuacin (s + 1) = 0; es decir, se evala en u o o u

A.1 La Transformada Unilateral de Laplace

217

Tabla A.2: Propiedades de la transformada de Laplace No (1) Descripcin o Linealidad Propiedad L[a1 g1 (t) + a2 g2 (t)] = a1 L[g1 (t)] + a2 L[g2 (t)] = a1 G1 (s) + a2 G2 (s) (2) (3) Derivacin o Derivacin de orden n o
dg(t) = sG(s) g(0) dt n g(t) L d dtn = sn G(s) sn1 g(0) n2 (0) n1 (0) s dg n2 dg n1 dt dt t L 0 g(t)dt = G(s) s t0 s G(s) L[g(t t0 )] = e

sn2 dg(0) dt

(4) (5) (6) (7) (8) (9) (10) (11)

Integral Desplazamiento en tiempo Desplazamiento en frecuencia Escalamiento Valor inicial Valor nal Multiplicacin por tn o Divisin entre t o

L[eat g(t)] = G(s + a)


s 1 L[g(at)] = a G( a )

l t0 g(t) = l s sG(s) m m l t g(t) = l s0 sG(s) m m


G(s) L[tn g(t)] = (1)n d dsn
n

L[g(t)/t] =

0 G(t)dt

s = 1 como sigue: H=

(7s2 2s + 1)(s + 1) (Cs + D)(s + 1) (Es + F )(s + 1) + (s2 + 2s + 4)2 (s + 1) (s2 + 2s + 4)2 s2 + 2s + 4

=
s=1

10 9

Comando para Expandir Fracciones Racionales El comando [r,p,k] = residue(B,A) permite expandir una fraccin racional en la o 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 trminos directos. Los coecientes de los polinomios A(s) y B(s) se e introducen como vectores. Por ejemplo, A(s) = s4 + 5s2 s 3 produce el vector: A = [1 0 5 1 3]. Si B(s) posee polos repetidos, por ejemplo, si su polo pj es de A(s) multiplicidad m, entonces la expansin incluye trminos de la forma: o e rj+1 rj+m1 rj + + + s pj (s pj )2 (s pj )m donde rj , . . . , rj+m1 son los correspondientes residuos. Si en (A.5) el grado de B(s) es menor que el de A(s), entonces k(s) = 0. Si son iguales, k(s) es una constante. Todos los polos y los residuos estn contenidos en los vectores p y r respectivamente. a

218 Ejemplo A.12

Sistemas Continuos

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 s1 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 N (s) 1 8 = + M (s) s 2 (s 2)2

Solucin: El programa fracp2.m calcula los vectores r, p y k: o r = [ r1 ; r2 ; rj ; rj+1 ] = [ 0.5i ; 0.5i ; 2 ; 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 fcil demostrar que: a
2 0.5i 2 n 0.5i 1 1 + = = 2 s+1i s+1+i 2 (s2 + 2s + 2) 2 s2 + 2n s + n donde, por igualacin: n = 2, = 1/ 2. Por consiguiente: o

p = [ p1 ; p2 ; pj ; pj+1 ] = [(1 + i) ; (1 i) ; 1 ; 1]

k=1

G(s) = 1 +

1 2 2 1 + + 2 + 2s + 2) 2 (s s + 1 (s + 1)2
2 2 n = n et sen d t 2 s2 + 2n s + n d

Empleando los pares (1), (29), (3) y (12) de la Tabla A.1, con n = 1, se obtiene: L1 [1] = (t) L1 L1

1 1 = et L1 = tet s+1 (s + 1)2 donde, d = 1 y = 1, se calcularon empleando las frmulas al nal de la continuacin o o de la Tabla A.1. Por consiguiente, juntando los resultados anteriores se obtiene: g(t) = (t) + et sen t 2et + tet

A.1 La Transformada Unilateral de Laplace


% fracp2.m DESCOMPOSICIN EN FRACCIONES PARCIALES O 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

219

Ejemplo A.14 Resolver la siguiente ecuacin diferencial: o d2 y(t) dy(t) + 11 + 24y(t) = e6t 2 dt dt con las condiciones iniciales nulas:
dy(0) dt

= 0, y(0) = 0.

Solucin: Empleamos la propiedad de derivacin de la Tabla A.2: o o L d2 y(t) dy(t) + 24y(t) = L e6t + 11 2 dt dt dy(0) 1 + 11(sY (s) y(0)) + 24Y (s) = dt s+6

s2 Y (s) sy(0) Y (s) =

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

A.1.5.

Algebra de Bloques

La Fig. A.3 muestra las transformaciones vlidas entre bloques y sus correspona dientes diagramas de ujo de seales. Cabe anotar que cada bloque representa una n FT. En un diagrama de ujo de seales, cada bloque se transforma en una linea con n direccin y ganancia, mientras que cada punto de suma o de derivacin se transforma o o en una seal, la cual se representa por un c n rculo. Por ejemplo, en el diagrama de bloques mostrado en la Fig. A.3(f), las seales r, n e e y, se convierten en c rculos en su diagrama de ujo de seales, mientras que las n ganancias G y H pasan a ser las l neas que conectan los bloques. Notar que estas l neas poseen direccin y ganancia. La FT entre x1 y x2 , mostrada en su diagrama o 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
u u e y y (a) r r 1 e G u r G u G u y e r G G e (c) e e y u u y y r r r 1 r r G u e e

Sistemas Continuos
r r r (d) r r e e

G1

G2

G1 G2 G 1G 2

G G

G 1/G G

G1 e G 2

e 1/G

y e G u 1 y (b) r r r

r G u 1 G

y u r G u 1 1 y G H r 1 e y G H (f) y (e)

y 1/G r 1 e G u 1/G r r G 1 GH y

r r

G e e 1

G r

G G

y G 1 GH y

Fig. A.3: Diagramas de bloque, sus correspondientes diagramas de ujo de seales y n sus equivalentes.

A.2.

Matrices y Determinantes

Una matriz A de orden o dimensin nm, escrita con letra mayscula en negrita, o u es un arreglo rectangular con sus elementos aij dispuestos en n las y m columnas. Es decir: a11 . . . a1m . . . A = [aij ] = . . . an1 . . . anm

i = 1, . . . , n;

j = 1, . . . , m

Los elementos de una matriz pueden ser nmeros reales o complejos, funciones, otras u matrices, etc. Cuando n = 1, A se convierte en un vector la. 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 la 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 Dos formas de denotar los correspondientes vectores la y columna son: xT (q) = x1 (q) xn (q) ; x(q) = x1 (q) xn (q)
T

221

donde el super ndice T indica la operacin transpuesta, la cual transforma las columo nas en las y viceversa.

y1 (q) . yT (q) = . . yn (q)

T y1 (q) . y(q) = . . yn (q)

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 adems [aij ] = [bij ]. a La suma de dos matrices, denotada como C = A B, slo es posible si A y B o son del mismo orden: C = [cij ] = A B = [aij bij ] La multiplicacin de dos matrices, expresada como C = AB, slo es posible si el o o nmero de columnas de A es igual al nmero de las de B. Si A es de orden n m u u y B es de orden m r, entonces C debe ser de orden n r. Los elementos de C se determinan como sigue:
m

cij =
k=1

aik bkj ;

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

Si es un escalar, entonces A resulta una matriz en donde cada elemento queda multiplicado por , a saber: A = [aij ] = [aij ] La multiplicacin es asociativa: o ABCD = (AB)(CD) = A(BCD) = (ABC)D y distributiva: (A + B)(C + D) = AC + AD + BC + BD

Por ejemplo, la siguiente multiplicacin es vlida: A23 B31 = C21 , tal como se o a observa a continuacin. o b11 a11 a12 a13 a11 b11 + a12 b21 + a13 b31 c11 b21 = = a21 a22 a23 a21 b11 + a22 b21 + a23 b31 c21 b31

Cuando AB = BA, se dice que A y B son matrices que conmutan. Sin embargo, en general, la multiplicacin no es conmutativa; es decir: o AB = BA

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

Sistemas Continuos

Solucin: Dado C = AB y D = BA, basta demostrar que C = D, tal como se o ilustra en el siguiente programa.
% conmat.m CONMUTACIN DE MATRICES O 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

y B conmutan o no. 1 2 3 2 3 4 2 B = 0 4 2 2 6 9 6 9

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 operacin o determinante, la cual se trata ms adelante. a Si AB = AC, no necesariamente implica que B = C. La matriz transpuesta, denotada como AT , es la matriz A con sus las y columnas intercambiadas. Por consiguiente: (AB)T = BT AT Un nmero complejo se designa como s = + j, donde j = 1 es la unidad u de los nmeros imaginarios y tanto como son nmeros reales. La operacin u u o conjugada, denotada como A , toma la conjugada a todos los elementos complejos de A. Para la operacin conjugada se cumple: o (A ) = A; (A + B) = A + B ; (AB) = A B (AT )T = A; (A + B)T = AT + BT ;

La operacin hermitiana de A, denotada como AH , toma la conjugada y luego la o 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 1j 3 3+j 4 2 4 2 + j B= j 6 9 2j 6+j 9

A.2 Matrices y Determinantes Solucin: o 1 0 2 6 A = A A H = AT = 2 4 3 2 9 1+j 3 3j 1j j 2j 4 2 j 4 6+j B = j BT = 3 2+j 6j 9 3 + j 2 + j 9 1+j j 2+j H T 3 4 6j B = (B ) = 3 j 2 j 9

223

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 dene 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 tambin como In (n es el orden de la matriz), es e una matriz diagonal que slo posee unos. Si A es cuadrada, AI = IA. En general, se o cumple que: A es simtrica si: e A es antisimtrica si: e A es hermitiana si: A es antihermitiana si: A es ortogonal si: A es unitaria si: A es normal si: A es peridica si: o A es nilpotente si: A1 es la inversa de A si: A es singular si: AT = A A = A A
H T

(A.6) (A.7)
T T T

= (A ) = (A ) = A = A
T 1 1

(A.8) (A.9) (A.10) (A.11) (A.12) (A.13) (A.14) (A.15) (A.16)

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

= A A = I, entonces: A =A A = A;
H

=A

+1

es un entero positivo

A = 0;
1

es un entero positivo

A=I

det(A) = 0

224

Sistemas Continuos

Una matriz compleja cuadrada A puede ser escrita como la suma de una matriz a hermitiana B = 1 (A + AH ) ms otra matriz antihermitiana C = 1 (A AH ). Es 2 2 decir: 1 1 A = B + C = (A + AH ) + (A AH ) 2 2 Ejemplo A.17 Demostrar que B = 1 (A + AH ) y C = 1 (A AH ) son matrices hermitiana y 2 2 antihermitiana respectivamente, donde A es la siguiente matriz compleja: A= Solucin: o AH = (A )T = 1 B = (A + AH ) = 2 1 C = (A AH ) = 2 1+j 2j 6+j 5j 1j 6j 2+j 5+j BH = (B )T = B CH = (C )T = C

1 4j 4+j 5 j 2 2 j

A.2.3.

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 mtodo de la expansin. Si tomamos como base la primera la, el determinante de e o una matriz A se obtiene de:
n

det(A) =
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 la 1 y la columna j de A. Por ejemplo, el determinante de una matriz de orden n = 3 se calcula como: a11 a12 a13 a22 a23 det a21 a22 a23 = (1)1+1 a11 det + a32 a33 a31 a32 a33 (1)1+2 a12 det a21 a23 a31 a33 + (1)1+3 a13 det a21 a22 a31 a32

(A.18)

Con relacin a dos matrices cuadradas A y B de orden n: o

A.2 Matrices y Determinantes

225

1. Si cada elemento de una la o columna de A es cero, entonces det(A) = 0. 2. det(A) = det(AT ). 3. Si la constante real multiplica una la o una columna de A, entonces el det(A) queda multiplicado por . 4. Si la matriz B se obtiene intercambiando dos las o dos columnas de A, entonces det(B) = det(A). 5. Si dos las o columnas de A son iguales, entonces det(A) = 0. 6. Si sumamos un mltiplo de una la o una columna de A a cualquiera de sus u las 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 determinacin de los eigenvalores o valores propios de una matriz se trata en la o subseccin A.2.4. o

Matriz inversa
Si A y B son dos matrices no singulares; es decir, si det(A) = 0 y det(B) = 0, entonces: (AB)1 = B1 A1 ; (AT )1 = (A1 )T ((A )T )1 = ((A1 ) )T ; det(A1 ) = 1 det(A)

Si A es una matriz no singular de orden 2, vale recordar que: A= a b c d ; A1 = 1 ad bc d b c a (A.19)

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 det h i 1 det d f = g i det(A) d e det g h b h a det g a det g det c i c i b h det

A1

b e a det d a det d

c f c f b e

(A.20)

det(A) = aei + gbf + cdh gec ahf idb

Ejemplo A.18 Comprobar simblicamente las frmulas de la inversa y del determinante de A dadas o o en (A.20). Solucin: Ejecutar el programa matinv.m mostrado abajo. o

226

Sistemas Continuos

% matinv.m INVERSA Y DETERMINANTE DE UNA MATRIZ EN FORMA SIMB LICA O clear all; close all; clc; syms a b c d e f g h i % COMANDO syms GENERA SMBOLOS I A = [a b c;d e f;g h i]; % MATRIZ SIMBLICA O 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 nmero o funcin compleja donde e[G] = Gr es su parte u o real e m[G] = Gi es su parte imaginaria. El valor absoluto o mdulo o magnitud o de G se denota como |G| mientras que el angulo o argumento de G se expresa como G. Luego, G se puede formular como: G = e[G] + j m[G] = |G| G |G| = ( e[G])2 + ( m[G])2 G = arctan m[G] e[G] (A.21)

Si G es un vector o matriz compleja con elementos complejos Gij , entonces las operaciones anteriores se ejecutan elemento por elemento; es decir: e[G] = e[Gij ]; G = |G| G = |Gij | Gij ; Ejemplo A.19 Calcular en forma grca y usando MATLAB el angulo y el mdulo de: a o G = [1 j 3 + 4j 1 3j] = [G11 G12 G13 ] Solucin: Los elementos de G corresponden a tringulos notables mostrados en la o a Fig. A.4. Ejecutando el programa trnot.m se obtiene la misma solucin. o
4j 5 2 3 135 j G 11 = 2 135 G12 = 5 127 3j G13 = 2 60 127 1 60 2

m[G] = m[Gij ] |G| = |Gij |; G = Gij

Fig. A.4: Tringulos notables para el problema A.19. a

A.2 Matrices y Determinantes


% trnot.m NMEROS COMPLEJOS U clear all; close all; clc; G11 = -1-j; G12 = -3+4j; G13 = 1-sqrt(3)*j; G = [G11 G12 G13]; anguloG = angle(G)*(180/pi); % (180/pi) CONVIERTE rad A GRADOS % anguloG = [-135 126.8699 -60] moduloG = abs(G); % moduloG = [1.4142 5 2]; 1.4142 = sqrt(2)

227

Tabla A.3: Comandos para cmputo matricial o Operacin o Suma Resta Multiplicacin o Multiplicacin o Conjugada Transpuesta (A real) Transpuesta (A compleja) Hermitiana Potencia Determinante Inversa Divisin izquierda o Divisin derecha o Valor absoluto Angulo Parte real Parte imaginaria Traza Matriz identidad Cdigo MATLAB o A + B A - B A*B kappa*A conj(A) A conj(A); A. A A^n det(A) inv(A) A*X = B; X = A\ B X*A = B; X = B/A abs(A) angle(A) real(A) imag(A) trace(A) eye(n)

A+B AB AB A A AT AT AH An det(A) A1

|A| A e[A] m[A] n i=1 aii In

Ejemplo A.20 Dada la matriz cuadrada A, calcular B. 1j 2j 3j 2 3 + 5j A = 4j 6 j 7 j 8 + 3j B=

(A + AT 0,7jA3 )A1 AH |A| A e[A] m[A] (2j + 1) traza(A)det(A)

Luego, comprobar que M = 1 (B + BH ) y N = 1 (B BH ) son sus matrices hermi2 2 tiana y antihermitiana respectivamente. Solucin: El programa calmat.m calcula la matriz B pedida. Adems, por ser hero a mitiana: M = MH , y por ser antihermitiana: N = NH . Entonces basta comprobar que M MH = 0 y que N + NH = 0.

228

Sistemas Continuos

% calmat.m CLCULO MATRICIAL COMPLEJO A clear all; close all; clc; A = [1-j 2-j 3- j;4j -2 3+5j;6-j 7-j 8+3j]; % MATRIZ DATO B = (conj(A)+conj(A)-0.7j*A^3)*inv(A)*A*abs(A)* ... angle(A)*real(A)*imag(A)/((2*j+1)*trace(A)*det(A)); M = (B + B)/2; % M ES HERMITIANA PORQUE M=M M-M=0 O N = (B - B)/2; % N ES ANTIHERMITIANA PORQUE M=-M M+M=0 O

Ejemplo A.21 Multiplicacin con Particin de Matrices. Dos matrices Anm y Bmp (los o o sub ndices indican las dimensiones) pueden ser particionadas como sigue: B m 1 p1 B m 1 pp A n 1 m1 A n 1 mm . . . . . . . . B= A= ; . . . . A n n m1 A n n mm B m m p1 B m m pp La condicin necesaria para realizar el producto Cnp = Anm Bmp empleando partio ciones, es que las columnas de A y las las de B sean particionadas en la misma forma. Por lo tanto, n = n1 + + nn , m = m1 + + mm y p = p1 + + pp .

Ejemplo A.22 Empleando la regla descrita determinar obtener C = AB. A22 A23 AB = A32 A33 A42 A43 si el producto siguiente es vlido y si lo es, a B22 B23 A21 A31 B32 B33 B12 B13 A41

Ejemplo A.23

Solucin: Podemos notar que para las las de A: n = 2 + 3 + 4 = 9, mientras que o para las columnas de A: m = 2 + 3 + 1 = 6. Del mismo modo, para las las de B: m = 2 + 3 + 1 = 6, mientras que para las columnas de B: p = 2 + 3 = 5. Por consiguiente, la particin es correcta. La multiplicacin ahora es directa: o o A22 B22 + A23 B32 + A21 B12 A22 B23 + A23 B33 + A21 B13 C = A32 B22 + A33 B32 + A31 B12 A32 B23 + A33 B33 + A31 B13 A42 B22 + A43 B32 + A41 B12 A42 B23 + A43 B33 + A41 B13

Matriz Aumentada. Si los vectores x, y, v y w son de orden n, m, p y q respectivamente, obtener una sola ecuacin diferencial matricial que reemplace a las dos o ecuaciones diferenciales siguientes: dx = x = Ax + Bv; dt donde dx = x y dt respectivamente.
dy dt

dy = y = Cy + Dw dt

= y denotan las derivadas de x e y con respecto al tiempo,

A.2 Matrices y Determinantes

229

Solucin: Es importante notar que si x es de orden n, entonces A debe ser de o orden n n. Tambin, si v es de orden p, entonces B debe ser de orden n p, y e as sucesivamente. La ecuacin pedida se muestra a continuacin, donde 0 es la matriz o o nula. Las dimensiones de los vectores y matrices se indican con sub ndices. x y = A 0 0 C x y + B 0 0 D v w

xn1 = Ann xn1 + 0nm ym1 + Bnp vp1 + 0nq wq1 ym1 = 0mn xn1 + Cmm ym1 + 0mp vp1 + Dmq wq1

A.2.4.

Rango, Eigenvectores y Pseudoinversas

Dependencia e Independencia de Vectores Un conjunto de vectores es linealmente independiente cuando ninguno de ellos se puede escribir como una combinacin lineal de los restantes. Al contrario, tal conjunto o de vectores es linealmente dependiente cuando alguno de ellos se puede escribir como una combinacin lineal de los dems. o a Ejemplo A.24 Determinar si los siguientes vectores son o no linealmente dependientes. 18 3 4 u = 28 v= 5 w= 6 29 7 5

Resolviendo este sistema de tres ecuaciones y dos incgnitas resulta: = 2 y = 3. o Por lo tanto, el conjunto de vectores u, v y w son linealmente dependientes. Ejemplo A.25 Determinar si los siguientes vectores son o no linealmente independientes. 1 3 4 2 5 6 u= v= w= 3 7 5

Solucin: Tal conjunto de vectores es linealmente dependiente si se demuestra que o existen dos constantes y no nulas que veriquen: u = v + w; es decir: 18 3 4 3 + 4 28 = 5 + 6 = 5 + 6 29 7 5 7 + 5

El sistema de tres ecuaciones y dos incgnitas resultante es incompatible y sin soluo cin. Entonces, el conjunto de vectores u, v y w es linealmente independiente. o

Solucin: Tal conjunto de vectores es linealmente independiente si se demuestra que o no existen dos constantes y no nulas que veriquen: u = v + w. Si suponemos que dichas constantes existen, entonces: 4 3 + 4 1 3 2 = 5 + 6 = 5 + 6 5 7 + 5 3 7

230 Rango de una Matriz

Sistemas Continuos

Si A es una matriz de orden n m, su rango, denotado como rango(A), es igual al nmero mximo r de sus vectores las (o columnas) linealmente independientes. u a En cualquier matriz, el nmero de vectores las linealmente independientes coincide u con el nmero de vectores columnas linealmente independientes. Por consiguiente, el u valor mximo rmax que puede tener el rango r de una matriz de orden n m es: a rmax = min(n, m). Si A es una matriz cuadrada de orden n n, su rango es n siempre que A sea no singular; es decir, si det(A) = 0. En otro caso, si det(A) = 0, entonces: rango(A) < n. El rango de una matriz tambin se puede determinar evaluando los determinantes de e sus m nimos cuadrados, tal como se ilustra en el siguiente ejemplo. Ejemplo A.26 Determinar el rango de las siguientes matrices empleando varios mtodos: e 1 2 3 1 3 2 A= 3 5 7 B= 3 8 9 4 6 5 1 2 5 Solucin: La matriz A de orden n = 3 posee rango completo (r = n = 3) por dos o razones. La primera es que ningn vector la o vector columna es una combinacin u o lineal de las restantes. La segunda razn es que A es no singular. o La matriz B de orden n = 3 posee rango r = 2, porque los dos primeros vectores las no son linealmente dependientes, pero el tercer vector la si lo es, debido a que es igual al segundo vector la menos el doble del primer vector la. Por otro lado, se puede comprobar que det(B) = 0, lo que implica que B no posee rango completo por ser singular; es decir: rango(B) < n. Los determinantes de los m nimos cuadrados de B son: 1 3 2 1 3 det([1]) = 1 = 0 det =1=0 det 3 8 9 = 0 3 8 1 2 5

Por consiguiente, el rango de la matriz B es r = 2 porque el determinante del segundo m nimo cuadrado es diferente de 0, mientras que el determinante del tercer m nimo cuadrado es nulo. Propiedades del Rango Si A es una matriz de orden n m y B es de orden m k, se cumple: rango(AB) = rango(AH ) = rango(AH A) = rango(AAH ) rango(AB) = rango(AT ) = rango(AT A) = rango(AAT ) rango(AB) = rango(A), rango(AB) = rango(B), rango(AB) rango(A); si A y B son no singulares si A y B son no singulares rango(AB) rango(B)

A.2 Matrices y Determinantes Ejemplo A.27 Sean las matrices Anm , Bmp y Cmm . Demostrar numricamente que: e rango(A) = rango(AH ) rango(AB) min(rango(A), rango(B)) rango(CB) = rango(B) Solucin: El siguiente programa presenta las demostraciones pedidas. o
% proprango.m PROPIEDADES DEL RANGO clear all A=[-1+j 3-5j -5+6j -2+5j;8-9j 4-2j -1+j -4;-2+3j 4-6j -2-5j 7j]; B=[1+j -3-5j;8+9j -4+2j;-2+3j -4-6j;-5-6j -2+5j]; C=[-1+j -2+j 3-j -5-7j;4-2j -1+j -4 2;4-6j -2-5j 7j -j;7j -1 9j 4j]; % DIMENSIONES DE A, B Y C SON (3,4), (2,4) Y (4,4) RESPECTIVAMENTE rA=rank(A); rAH=rank(A); rB=rank(B); rAB = rank(A*B); rCB=rank(C*B); % rA=3=min(3,4); rAH=rA; rB=2; rAB=2=min(rA,rB); rCB=2=rB;

231

rango(A) m n(n, m)

Eigenvalores y Eigenvectores
Un eigenvalor de una matriz de orden n, conocido tambin como valor propio, e modo, eigenvalue, o ra caracter z stica, es un escalar que permite una solucin no o trivial de la ecuacin: o Ax = x (A.22) Factorizando x en (A.22) obtenemos la ecuacin caracter o stica de A: det(I A) = 0 (A.23)

Asociado con cada eigenvalor i existe un eigenvector ei de magnitud arbitraria que es solucin de (ver (A.22)): o Aei = i ei (A.24) La matriz E de eigenvectores para una matriz A de orden n e11 e1n . . .. . E = e1 en = . . . . en1 enn toma la forma:

ei Un eigenvector normalizado se dene como: ei = |ei | . Por ejemplo, el vector e1 se calcula como: e11 e1 . |e1 | = e2 + + e2 e1 = e1 = . . 11 n1 |e1 | en1

Ejemplo A.28

232

Sistemas Continuos

Determinar los eigenvalores y eigenvectores del sistema siguiente: x1 x2 = 1 2 4 3 x1 x2

Solucin: Los eigenvalores se determinan de (A.23): o det(I A) = det 0 0 1 2 4 3 = ( 1)( 3) 8 = 0

resultando: 1 = 1 y 2 = 5. Los eigenvectores se calculan de (A.24) para 1 y 2 : Ae1 = 1 e1 y Ae2 = 2 e2 , obtenindose: e e1 = 1 Ae1 = 1 e11 e11 = 1 1 e2 = 1 Ae2 = 2 e12 2e12 = 1 2

donde soluciones e11 = 1 y e12 = 1 son arbitrarias. Dado que |e1 | = 2 y las |e2 | = 5, los eigenvectores normalizados resultan: e1 = e1 /|e1 | y e2 = e2 /|e2 |. Ejemplo A.29 Determinar los eigenvalores y eigenvectores para la matriz A empleando MATLAB. 1 2j 4 3 j 5j 4 3j 0 7j 2 j 8 6j 4 9j
% eig1.m CLCULO DE EIGENVALORES Y EIGENVECTORES A clear all; close all; clc; A = [1 2j 4 -3;-j 5j -4 -3j;0 -7j -2 -j;8 6j -4 -9j]; [E,D]=eig(A); % E: MATRIZ DE EIGENVECTORES NORMALIZADOS % D: MATRIZ DIAGONAL DE EIGENVALORES

Solucin: Ejecutar el programa eig1.m. o

Ejemplo A.30 Si los i son los eigenvalores de la matriz A de orden n, comprobar numricamente: e det(A) = 1 2 . . . n ; Solucin: Ver el programa eig2.m. o
% eig2.m COMPRUEBA QUE det(A)=L(1)L(2)L(3)L(4) clear all A = [1-j 2-j 3-j -3+8j 4j -2 3+5j 4-2j 6-j 7-j 8+3j 3+j 2 -1 j 0]; L = eig(A); % DETERMINA LOS EIGENVALORES DE A detA = det(A); P = L(1)*L(2)*L(3)*L(4); % SE CUMPLE QUE: det(A) = P

i = 1, . . . , n

A.2 Matrices y Determinantes

233

Pseudoinversas
El concepto de pseudoinversa de una matriz es la generalizacin de su inversa y o resulta util para encontrar una solucin en un conjunto de ecuaciones algebraicas en o donde el nmero de variables desconocidas y el nmero de ecuaciones linealmente u u independientes no son iguales. Sea la ecuacin: o Ax = b donde A es una matriz de orden n m y de rango n, x es un vector de orden m y b es un vector de orden n. Se supone que n < m. La solucin de tal ecuacin est dada o o a por: xo = AID b AID = AT (AAT )1 donde AID es la matriz pseudoinversa derecha (o m nima inversa derecha) de A que cumple la propiedad: AAID = In . En forma similar, sea la ecuacin: Ax = b, donde A es una matriz de orden mn o y de rango m, x es un vector de orden n y b es un vector de orden m. Se supone que n > m. La solucin de tal ecuacin se obtiene de: o o xo = AII b AII = (AT A)1 AT

donde AII es la matriz pseudoinversa izquierda (o m nima inversa izquierda) de A que cumple la propiedad: AII A = Im . Ejemplo A.31 En pseudoinv.m se resuelven sistemas de ecuaciones empleando pseudoinversas.
% pseudoinv.m SOLUCION DE ECUACIONES USANDO PSEUDOINVERSAS clear all; close all; clc; A = [1+i 2+3i 3-i;4-2i 5+i 6]; b = [10-i;20+3i]; % A(2,3)*x(3,1) = b(2,1) C = [1+i 1-i;1 2+3i;1 4-i]; d = [1;2-3i;3+i]; % C(3,2)*y(2,1) = d(3,1) MPID = A*(A*A)^(-1); % MATRIZ PSEUDOINVERSA DERECHA x = MPID*b; % VECTOR SOLUCION DE DIMENSIN (3,1) O MPII = (C*C)^(-1)*C; % MATRIZ PSEUDOINVERSA IZQUIERDA y = MPII*d; % VECTOR SOLUCION DE DIMENSIN (2,1) O

Ejemplo A.32 Resolver el siguiente sistema (ms incgnitas que ecuaciones): a o (5 j)x1 + (2 + 3j)x2 + (3 j)x3 + (1 + 4j)x4 + (6 + j)x5 = 2 9j (6 j)x1 + (7 j)x2 + (8 3j)x3 + (3 j)x4 + (1 + 4j)x5 = 3 + j Solucin: Ver el programa miqe.m. o
% miqe.m SISTEMA DE ECUACIONES: clear all; close all; clc; A = [5-j 2+3j 3-j -1+4j 4j -2 3+5j -7j 6-j 7-j 8-3j 3-j B = [2-9j;4-j;3+j]; X = A\B; MAS INCGNITAS QUE ECUACIONES O -6+j 8-2j 1+4j];

4jx1 2x2 + (3 + 5j)x3 7jx4 + (8 2j)x5 = 4 j

234 Ejemplo A.33

Sistemas Continuos

Resolver el siguiente sistema (ms ecuaciones que incgnitas): a o (5 j)x1 + (2 + 3j)x2 + (3 j)x3 = 2 9j (6 j)x1 + (7 j)x2 + (8 3j)x3 = 3 + j 7jx1 + (8 2j)x2 + (1 + 4j)x3 = 9 4jx1 2x2 + (3 + 5j)x3 = 4 j

(1 + 4j)x1 + (6 + j)x2 + (3 j)x3 = 3 + 7j Solucin: Ejecutar el programa meqi.m. o


% meqi.m SISTEMA DE ECUACIONES: MAS ECUACIONES QUE INCOGNITAS clear all; close all; clc; A = [5-j 2+3j 3-j 4j -2 3+5j 6-j 7-j 8-3j -1+4j -6+j 3-j -7j 8-2j 1+4j]; B = [2-9j;4-j;3+j;-3+7j;-9]; X = A\B;

A.2.5.

Diagonalizacin de Matrices y Formas Cannicas o o

Diagonalizacin de Matrices o
Si A es una matriz de orden n que posee n eigenvalores distintos i , entonces su matriz de eigenvectores E = [e1 . . . en ] es unitaria porque: EH = E1 . Sea una matriz diagonal formada con los eigenvalores de A. Entonces se cumple: 1 0 . . . 0 0 2 . . . 0 (A.25) E1 AE = = . . . . . . . . . 0 0 . . . n El proceso de diagonalizacin arriba mencionado permite transformar un sistema o descrito por la denominada ecuacin de estado (seccin A.3) : o o dx = x = Ax + Bu dt en otro sistema descrito por la ecuacin: o dx = x = A x + B u dt donde: x = Ex es una transformacin lineal, A = E1 AE = y B = E1 B. o Esta transformacin se denomina cannica. o o Por otro lado, si A es una matriz de orden n de rango completo que posee eingenvalores repetidos, entonces A se puede diagonalizar mediante la relacin E 1 AE = . o H = E1 ). Sin embargo, la matriz de eigenvectores E no es unitaria (E

A.3 Variables de Estado Ejemplo A.34 Hallar la transformacin cannica del siguiente sistema: o o x = Ax + Bu = 2 0 1 1 x+ 1 1 u

235

Solucin: Ejecutar el programa trancan.m para obtener la siguiente transformacin o o cannica: o dx = x = A x + B u dt 0 x 1 1 0 x 1 = u + x2 0 2 x 2 2


% trancan.m TRANSFORMACIN CANNICA O O clear all; close all; clc; A = [2 0;-1 1]; B = [1;-1]; [E,D]=eig(A); % E=[e1 e2]: MATRIZ DE EIGENVECTORES % EIGENVALORES: D = diag(1, 2) Aast=inv(E)*A*E; Bast=inv(E)*B; % Aast=[1 0;0 2]; Bast=[0;1.4142};

Ejemplo A.35 En el programa siguiente se diagonalizan varias matrices de rango completo.


% diagmat.m DIAGONALIZACION DE MATRICES DE RANGO COMPLETO clear all; close all; clc; A1 = [2 2 -1;2 3 0;-1 0 2]; n1 = 3; % rank(A1) = 3 (RANGO COMPLETO) [E1,D1] = eig(A1); DD1=inv(E1)*A1*E1; % D1=DD1=diag(4.7093,2.1939,0.0968), RA CES NO REPETIDAS => inv(E1)=E1 I A2 = [-2 -1 -1 -1 2;1 3 1 1 -1;-1 -4 -2 -1 1;-1 -4 -1 -2 1;... -2 -2 -2 -2 3]; n2 = 5; % rank(A2) = 5 (RANGO COMPLETO) [E2,D2] = eig(A2); DD2=inv(E2)*A2*E2; % D2 = DD2 = diag(-1,1.5+0.866i,1.5-0.866i,-1,-1) % DOS RACES REPETIDAS => inv(E2) ~= E2 I A3 = [-2 3 3 -1 -6 -2;1 0 -1 0 2 1;1 -2 0 1 2 0;1 1 -1 -1 2 1;... 1 -2 -1 1 3 1;1 0 -1 0 2 0]; n3 = 6; % rank(A3)=6 (RANGO COMPLETO) [E3,D3] = eig(A3); DD3=inv(E3)*A3*E3; % D3 = diag(-1,-1,1,1,1,-1), TRES RACES REPETIDAS => inv(E3) ~= E3 I

A.3.
A.3.1.

Variables de Estado
Ejemplo de Introduccin o

El siguiente ejemplo sirve para introducir el concepto de variable de estado. La Fig. A.5 muestra el sistema tanque con agua, donde el volumen de agua acumulado se modela como: dh dh S = S h = q i qo h= (A.26) dt dt donde S es la seccin uniforme del tanque, h es el nivel del liquido, q1 es el ujo de o entrada y qo es el ujo de salida. Considerando que el ujo de salida qo es laminar: qo = h Rh (A.27)

236

Sistemas Continuos

Sensor de presin

Fig. A.5: Sistema tanque con agua.

donde Rh es la resistencia hidrulica, la cual se calcula de la relacin: a o Rh = H Q (A.28)

donde H y Q son los valores estacionarios de h y qo , respectivamente. Despejando h de (A.26) se obtiene la ecuacin de estado del sistema, la cual es una ecuacin o o diferencial de primer orden de la forma: 1 1 h= h + qi SRh S x = Ax + B u (A.29)

donde x = h es la variable de estado del sistema, u = qi es la variable de entrada, 1 A = SRh es la matriz de estado del sistema (en este caso una matriz de orden uno) 1 o o y B = S es la matriz de distribucin de orden uno. La ecuacin de salida del proceso toma la forma: y = Cx = [1]x (A.30) donde y es la salida y C es la matriz de salida. Sabiendo que L[ ] es el operador de Laplace, entonces: L[u] = U (s), L[x] = X(s) = Y (s), L[qi ] = Qi (s) y L[x] = L[y] = s[Y (s) y(0)], la FT del sistema con y(0) = 0 resulta de (A.29): Y (s) Rh = Qi (s) SRh s + 1 (A.31)

donde el producto SRh es la constante de tiempo del sistema nivel. Por consiguiente, la FT y las ecuaciones de estado y de salida de un determinado sistema SISO (de una entrada y una salida), son dos formas de describir la dinmica del sistema. Sin a embargo, la representacin en el espacio de estado (variables de estado ms ecuaciones o a de estado y de salida), es general porque se puede aplicar tambin a sistemas no e lineales como se ver oportunamente. En cambio, la FT slo es aplicable a sistemas a o lineales. Para sistemas MIMO lineales y con parmetros invariantes con el tiempo, las a ecuaciones de estado y de salida toman la forma: x = Ax + Bu y = Cx + Du (A.32)

qi A

qo

A.3 Variables de Estado donde los ordenes de los vectores y matrices se ilustran en la siguiente relacin: o xn1 = Ann xn1 + Bnm um1 yp1 = Cpn xn1 + Dpm um1

237

A.3.2.

Denicin de Variables de Estado o

El vector de estado x = [x1 . . . xn ]T de un sistema (donde el super ndice T indica transpuesta) es el m nimo conjunto de variables, las variables de estado x 1 . . . xn , las cuales contienen informacin suciente acerca de la historia pasada del sistema. Esta o informacin permite computar todos los futuros estados del sistema, asumiendo por o supuesto, que todas las futuras entradas u son tambin conocidas, como del mismo e modo lo son las ecuaciones dinmicas que describen dicho sistema. El nmero n de a u variables de estado (el nmero de ecuaciones diferenciales de primer orden) dene el u orden o la dimensin del sistema. o El espacio de estado es el espacio n-dimensional de todos los estados. Cuando el sistema es de orden n = 2, el espacio de estado es conocido como el plano de fase con coordenadas x1 y x2 . Los puntos de equilibrio o puntos singulares en el espacio de estado de un sistema no forzado; es decir, cuando u = 0, se denen como los puntos en donde los estados del sistema permanecen por siempre. Esto implica, en un caso general, resolver la ecuacin x = 0 cuando u = 0. Para sistemas lineales, el punto de o equilibrio es siempre el origen 0 porque x = Ax = 0 implica que xe = 0, donde el super ndice e indica equilibrio. Ejemplo A.36 La Fig. A.6 muestra un sistema masaresorte compuesto por una masa M unida a un resorte de constante K. Determinar anal tica y grcamente su plano de fase a mostrando las correspondientes trayectorias de estado y sus puntos de equilibrio. Notar que el sistema masaresorte es no forzado porque no existe fuerza exterior alguna actuando sobre el mismo.

K=1 M=1

z0

Fig. A.6: Sistema mecnico masaresorte. a Solucin: El sistema masaresorte est gobernado por la siguiente ecuacin difereno a o cial lineal de segundo orden: M z + Kz = 0 (A.33) Como el sistema es de orden dos, seleccionemos como variables de estado x 1 = z y x2 = z. Este modelo dinmico con M = K = 1 produce dos ecuaciones de estado y a una ecuacin de salida: o x1 = x 2 x2 = x1 y = x1

238

Sistemas Continuos

Por consiguiente, las ecuaciones de estado y salida del sistema masaresorte son: x = Ax x= x1 x2 x= x1 x2 A= y = Cx 0 1 1 0 C= 1 0

Asumamos que estiramos el resorte hasta que M se encuentre en la posicin inicial o z0 . Luego soltamos el resorte, lo cual produce un movimiento oscilatorio que puede modelarse como z(t) = z0 cos t. Es fcil comprobar que la solucin z(t) = z0 cos t a o verica el modelo dinmico dado en (A.33). Usando las variables de estado denidas a anteriormente resulta: x1 (t) = z0 cos t Elevando al cuadrado y sumando se obtiene:
2 2 x2 + x2 = z0 (cos2 t + sen2 t) = z0 1 2

x2 (t) = z0 sen t

La ultima ecuacin representa un c o rculo de radio z0 . Por consiguiente, las trayectorias de estado en el plano de fase x1 versus x2 son c rculos cuyos radios dependen de la posicin inicial de reposo z0 . tales trayectorias se muestran en la Fig. A.7. Para o obtener dichas trayectorias de fase, ejecutar el programa p.m. Los eigenvalores del sistema masaresorte se determinan de: det(I A) = det 1 1 = 2 + 1 = 0

Por lo tanto: 1 = i, 2 = i, ambas ra ces imaginarias, lo cual nos informa del carcter oscilante de la respuesta del sistema, tal como se discute en la siguiente a seccin. El unico punto de equilibrio xe = 0 del sistema se determina de: o xe = Axe = 0 xe = xe 1 xe 2 = 0 0

% C2pfl.m PLANO DE FASE EN UN SISTEMA LINEAL clear all; close all; clc; g = inline([x(2);-x(1)],t,x); % MODELO MATEM TICO A vectfield(g,-1:0.2:1,-1:0.2:1) % RANGOS DE LOS EJES HORIZONTAL Y VERTICAL hold on for x20=-1:0.2:1 % SIMULACIN PARA ESTAS CONDICIONES INICIALES DE y(2) O [ts,xs]=ode45(g,[0,10],[0;x20]); % [0,10]: SIMULACI N DE 0 A 10 s O plot(xs(:,1),xs(:,2)); grid; end hold off, ylabel(x2(t)), xlabel(x1(t)), title(PLANO DE FASE x2(t) VS x1(t)), print -deps -f C2pfl

A.3.3.

Matriz de Transferencia y Estabilidad

Las ecuaciones de estado y de salida multivariables de un Sistema Lineal e Invariante con el Tiempo (SLIT) sujeto a los vectores de disturbio v en los estados y w en las salidas, los cuales se asumen conocidos, se representan como: x = Ax + Bu + Ev y = Cx + Du + Fw (A.34)

A.3 Variables de Estado


PLANO DE FASE x1 VS x2 1 0.8 0.6 0.4 VELOCIDAD x2 0.2 0 0.2 0.4 0.6 0.8 1 1 0.8 0.6 0.4 0.2 0 0.2 POSICIN x1 0.4 0.6 0.8 1

239

Fig. A.7: Plano de fase mostrando las trayectorias de estado (Ejemplo A.36). Donde E y F son matrices disturbio tambin conocidas. El sistema es invariante e con el tiempo porque todas sus matrices son constantes. Si v y/o w fueran vectores estimados o estad sticos, entonces el SLIT en cuestin ser estocstico. El sistema o a a SLIT libre de disturbios se determina haciendo v = w = 0 en (A.34): x = Ax + Bu y = Cx + Du (A.35)

La matriz de transferencia (MT) del sistema SLIT se halla aplicando la transformada de Laplace en (A.35) con x(0) = y(0) = 0 (condiciones iniciales nulas): sX(s) = AX(s) + BU(s) Y(s) = CX(s) + DU(s) (A.36)

Despejamos X(s) de la primera relacin de (A.36) y la reemplazamos en la segunda o relacin. El resultado es: o Y(s) = [C(sI A)1 B + D]U(s) = G(s)u(s) donde s es la variable laplaciana, I es la matriz identidad y G(s) es la MT: G(s) = C(sI A)1 B + D Ejemplo A.37 Determine la MT del sistema siguiente, empleando matemtica simblica: a o x1 = x1 + x2 + 2u1 u2 y1 = x1 5u2 x2 = 2x1 3x2 + u1 2u2 y2 = x2 3u1 (A.37)

240

Sistemas Continuos

Solucin: Las ecuaciones de estado y de salida correspondientes son: o x = Ax + Bu x= A= 1 1 2 3 ; x1 x2 ; y= ; y1 y2 y = Cx + Du ; u= 1 0 0 1 u1 u2 ; D= 0 5 3 0

B=

2 1 1 2

C=

El programa mtrans.m determina la MT pedida. El resultado es: 2 2s+7 5ss2+21s+10 2 +4s+1 s +4s+1 G(s) = C(sI A)1 B + D = 2 2s+4 3s2 +13s+8 s +4s+1 s2 +4s+1

% mtransf.m CLCULO DE LA MATRIZ DE TRANSFERENCIA A clear all; close all; clc; syms s; A=[-1 1;2 -3]; B=[2 -1;1 -2]; C=[1 0;0 -1]; D=[0 -5;-3 0]; I = [1 0;0 1]; G = C*inv(s*I-A)*B + D; pretty(simplify(G))

Estabilidad Cuando las seales y y u son unidimensionales, la ecuacin (A.37) se convierte en n o la FT del sistema SLIT y se puede representar como la relacin entre dos polinomios o A(s) y B(s) como sigue: B(s) y(s) = G(s) = [C(sI A)1 B + D] = u(s) A(s) (A.38)

En general, la ecuacin caracter o stica del sistema SLIT (ecuacin (A.35)) se obo tiene de: A(s) = det(sI A) = 0 (A.39) Las ra de (A.39) son los eigenvalores de la matriz de estado A, tal como se trat en ces o (A.23). Los eigenvalores de un sistema SLIT determinan la estabilidad del sistema alrededor de un punto de equilibrio xe en el espacio de estado como sigue: El sistema SLIT no forzado x = Ax (ecuacin (A.35) con u = 0 es estable, siempre o que todos sus eigenvalores (ra ces de (A.39)) posean parte real negativa. Cuando al menos uno de tales eigenvalores posea parte real positiva o cero, entonces el sistema es inestable. Notar que todas las funciones de transferencia de la matriz G del ejemplo A.37 poseen un mismo denominador comn: el polinomio A(s) = s2 +4s+1. Este polinomio u es tambin la ecuacin caracter e o stica del sistema multivariable, siendo sus eigenvalores s1 = 3.7321 y s2 = 0.2679. Por consiguiente, tal sistema es estable. El sistema no forzado x = Ax posee un solo punto de equilibrio: el origen, debido a que la solucin de x = Ax = 0 es xe = 0. Por consiguiente, un SLIT no forzado o es estable, cuando el estado x del sistema tiende al estado de equilibrio xe = 0

A.3 Variables de Estado

241

para cualquier estado inicial nito x(t0 ), donde t0 es el tiempo inicial. Por ejemplo, el sistema de primer orden x = a x donde a > 0, es inestable porque su solucin o x(t) = x(0)eat no tiende al estado de equilibrio xe = 0 cuando t para cualquier estado inicial x(0).

Tipos de Puntos Singulares en SLITs de 2do Orden


Un SLIT de orden dos no forzado se describe mediante la siguiente ecuacin o matricial: x1 a11 a12 x1 x= = Ax = x2 a21 a22 x2 Para este sistema, el unico punto singular o de equilibrio es xe = 0 (el origen). Los dos eigenvalores 1 y 2 de la matriz de estado A se determinan de su ecuacin o caracter stica: det(I A) = 0. Dependiendo de la ubicacin de los eigenvalores o 1 = 1 + j1 y 2 = 2 + j2 en el plano versus j, el punto de equilibrio correspondiente presenta ciertas caracter sticas, tal como se ilustra en la Fig. A.8, en donde los puntos negros sobre los grcos j versus representan tales eigenvalores. a Por ejemplo, si 1 < 0 y 2 > 0 (caso (c)), las trayectorias en el plano de fase forman una gura denominada silla de montar. El punto singular silla de montar es inestable debido a la presencia del eigenvalor positivo. El caso (f), analizado tambin e en el ejemplo A.36, corresponde a un sistema oscilante porque los eigenvalores son imaginarios puros. Las trayectorias de estado en este caso forman un punto centro.

A.3.4.

Controlabilidad y Observabilidad

Controlabilidad Completa
Se dice que un SLIT continuo es controlable si es que existe un vector u(t) de orden m realizable y capaz de trasladar el estado x(t) de orden n del sistema, desde un estado inicial x(t0 ) hacia cualquier estado nal x(tN ) en un tiempo nito tN . Si todos los estados son controlables, se dice que el sistema es completamente controlable o que posee controlabilidad completa. Sin demostracin se establece que en general, para que el sistema x = Ax + Bu o sea completamente controlable, la siguiente matriz M de orden n nm: M= B AB An1 B (A.40)

denominada matriz de controlabilidad, debe ser de rango n. Para ahondar un poco en el tema de controlabilidad, a continuacin se analiza un caso especial. o Caso Especial: Eigenvalores de A no se Repiten Si los eigenvalores de A son distintos, entonces reemplazando la transformacin o lineal x = Ex en x = Ax + Bu, donde E es la matriz de vectores propios (ver subseccin A.2.5), y despejando x se obtiene: o x = E1 AEx + E1 Bu = x + B u (A.41)

242
j x2 j

Sistemas Continuos
x2

1 2 (a) j x2

x1

1 2 (b) j 1 x2

x1

x1

x1

(c) j 1 x2

2 j 1

(d) x2

x1 2

(f)

x1

(e)

Fig. A.8: Tipos de puntos singulares en un sistema lineal de segundo orden: (a) nodo estable, (b) nodo inestable, (c) punto silla de montar, (d) foco estable, (e) foco inestable, (f) punto centro. x 1 x 2 . . . x n 1 2 .. 0 . n 0 x 1 x 2 . . . x n b 11 b 21 . . . b 12 b 22 . . . b 1m b 2m . . . . . . bnm u1 u2 . . . um

De la ecuacin (A.41) podemos aseverar que para controlabilidad completa, ninguna o = E1 B debe de ser nula. Si por ejemplo, la variable de estado x (la cual la de B 2 est asociada a x y al eigenvalor 2 ) es no controlable, entonces la segunda la de a 2 B tiene que ser nula. Si este es el caso, de la ecuacin (A.41) se obtiene: o x = 2 x + 0u1 + 0u2 + + 0um 2 2 de donde claramente se observa que ninguna fuerza de control est actuando sobre a la variable x . 2 Controlabilidad Completa a la Salida El sistema SLIT descrito en (A.44) con dimensiones Ann , Bnm , Cpn y Dpm es completamente controlable en la salida si el rango de la siguiente matriz de orden p (n + 1)m iguala al orden p del vector de salida y del sistema: [CB CAB CA2 B CAn1 B D] (A.42)

b b n1 n2

A.3 Variables de Estado

243

Observar que (A.42) requiere la presencia del trmino Du en la ecuacin de salida e o dada en (A.35). Ejemplo A.38 En el programa cont1.m se determina la controlabilidad completa y de la salida de un SLIT con ecuacin de estado x = Ax + Bu y ecuacin de salida y = Cx + Du. o o
% cont1.m CONTROLABILIDAD COMPLETA DE UN SLIT clear all; close all;clc; A = [2 2 -1;2 3 0;-1 0 2]; B = [0 2;-1 0;2 1]; C = [1 0 1;-2 3 0]; D = [1 -1;0 3]; % n = 3; p = 2; M = ctrb(A,B); % M = [A A*B A^2*B]: MATRIZ DE CONTROLABILIDAD rankM = rank(M); % rankM = 3 = n => SISTEMA COMPLETAMENTE CONTROLABLE CS = [C*B C*A*B C*A^2*B D]; rankCS = rank(CS); % rankCS = p = 2 => SISTEMA COMPLETAMENTE CONTROLABLE A LA SALIDA

Observabilidad Completa
Un sistema SLIT es completamente observable si algn estado x(t), incluyendo el u estado inicial x(t0 ), se puede determinar partiendo de la observacin de la salida y(t) o en un tiempo nito 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 demostracin se establece la condicin de estabilidad o o completa. Para que un sistema sea completamente observable, es necesario que el rango de la denominada matriz de observabilidad N de dimensin np p : o C CA H N= (A.43) = CH AH CH (AH )n1 CH . . . CAn1

posea rango n (rango completo). En (A.43), el super ndice H indica operacin hermio tiana. Se sabe que si todas las matrices son reales, entonces la operacin hermitiana o se reemplaza por la opercin transpuesta. o Si existe una transformacin lineal x = Ex de modo tal que E1 AE = , donde o es la matriz diagonal cuyos elementos i son los eigenvalores de A, entonces (??) toma la forma: x = E1 AEx = x x = et x (t0 ) Luego: y = CEx = CEe x (t0 ) = CE
t

e 1 t e 2 t .. 0 .

x (t0 ) 1 x (t0 ) 2 . . . x (t0 ) n

e n t

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 reconstruir completamente el vector de estado x, lo que a se contrapone a la denicin de observabilidad completa. o

244 Ejemplo A.39

Sistemas Continuos

En el programa observ1.m se determina la observabilidad completa de varios SLITs.


% observ1.m OBSERVABILIDAD COMPLETA DE SLITs clear all; close all; clc; A1 = [2 0 0;0 2 0;0 3 1]; B1 = [0 1;1 0;0 1]; C1 = [1 2 1;2 0 3]; n1 = 3; [E1,D1] = eig(A1); DD1 = inv(E1)*A1*E1; % D1 = diag(2,1,2) N1 = obsv(A1,C1); % RETORNA MATRIZ DE OBSERVABILIDAD [C1; C1*A1; C1*A1^2] rankN1=rank(N1); % rankN1=3=n1 => SISTEMA COMPLETAMENTE OBSERVABLE A2 = [-1 1 -1;0 1 -4;0 1 -3]; B2 = [0 2 1]; C2 = [0 1 -1]; n2 = 3; [E2,D2] = eig(A2); DD2 = inv(E2)*A2*E2; % D2 = diag(-1,-1,-1) N2 = obsv(A2,C2); % RETORNA MATRIZ DE OBSERVABILIDAD [C2; C2*A2; C2*A2^2] rankN2=rank(N2); % rankN2=2<n2 => SISTEMA NO ES COMPLETAMENTE OBSERVABLE A3 = [2 2 -1;2 3 0;-1 0 2]; B3 = [0 1;1 0;0 1]; C3 = [1 2 1;2 0 3]; n3=3; [E3,D3] = eig(A3); DD3 = inv(E3)*A3*E3; % D3 = diag(0.0968,2.1939,4.7093) N3 = obsv(A3,C3); % RETORNA MATRIZ DE OBSERVABILIDAD [C3; C3*A3; C3*A3^2] rankN3=rank(N3); % rankN3=3=n3 => SISTEMA COMPLETAMENTE OBSERVABLE

A.3.5.

Solucin de la Ecuacin de Estado de SLITs Continuos o o

En la subseccin A.3.3, ecuacin (A.35), vimos que la dinmica linealizada de un o o a 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 solucin de la ecuacin de estado anterior, dado un estado inicial x(t 0 ), es: o o x(t) = eA(tt0 ) x(t0 ) + = (t t0 )x(t0 ) + donde: (tt0 ) = eA(tt0 ) = A (t t0 ) A2 (t t0 )2 A3 (t t0 )3 = I+A(tt0 )+ + + ! 2! 3! =0 (A.46) A(tt0 ) resulta: es la matriz de transicin o exponencial. La derivada total de e o deA(tt0 ) dt A3 (t to )2 + 2! A2 (t t0 )2 = A I + A(t t0 ) + + + 2! = A + A2 (t to ) + = AeA(tt0 ) = eA(tt0 ) A Derivando ahora (A.45) con respecto al tiempo t se obtiene: x = AeA(tt0 ) x(t0 ) + d At e dt
t t0 t t0 t t0 t t0

eA(t ) Bu( )d (t )Bu( )d (A.45)

(A.47)

eA Bu( )d

= AeA(tt0 ) x(t0 ) + AeAt

eA Bu( )d + eAt eAt Bu = Ax + Bu

A.3 Variables de Estado

245

De esta forma se demuestra que (A.45) es la solucin de la ecuacin de estado (A.44). o o La representacin de la ecuacin de estado en el dominio laplaciano toma la forma: o o sx(s) x(t0 ) = Ax(s) + Bu(s)

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

(A.48) (A.49)

y(s) = Cx(s) + Du(s) = C(sI A)1 x(t0 ) + [C(sI A)1 B + D]u(s) Comparando (A.48) con (A.45) podemos armar que: (t t0 ) = eA(tt0 ) = L1 [(sI A)1 ]

(A.50)

La matriz (t t0 ) se denomina la matriz de transicin. Para incluir el tiempo inicial o t0 , las integraciones en L1 [(sI A)1 ] se deben de hacer de t0 a t. La matriz de transferencia denida en (A.37) tambin se obtiene haciendo x(t0 ) = 0 en (A.49). e Ejemplo A.40 Gracar 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.
1

u(t)

t
0 1 2 3 4

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

Solucin: Emplearemos la solucin dada en (A.45) con A = 2 y B = 5. Para o o 0 t 1, u(t) = 0, t0 = 0 y x(t0 ) = 3. Luego: x(t) = 3e2t ; Para 1 t 3, u(t) =
3t 2 , t0 t 1

x(1) = 3e2

= 1 y x(t0 ) = x(1). Luego: 3 5 d = 3e2t + e2t 7e2 e2 2 8 5 x(3) = 3e6 + (4 6e4 ) 8


=t =1

x(t) = 3e2 e2(t1) +

e2(t ) 5

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

Para t 3 , u(t) = 0, t0 = 3 y x(t0 ) = x(3). Luego: x(t) = x(3)e2(t3) El grco de x(t), obtenido con el programa C2rpta.m se muestra en la Fig. A.10. a

246
3

Sistemas Continuos

2.5

2 RESPUESTA x(t)

1.5

0.5

4 5 6 TIEMPO EN SEGUNDOS

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) = 3et , determinar la respuesta de un sistema descrito por las siguientes ecuaciones de estado y de salida: x1 = 7x1 + x2 + 2u; x2 = 12x1 u y = 3x1 4x2 2u

Condiciones iniciales: x1 (0) = 6, x2 (0) = 1. Gracar la respuesta y(t) y compararla con las respuestas obtenidas mediante discretizacin para los tiempos de muestreo de o 0.1 s y 0.04 s. Solucin: Es fcil determinar que las ecuaciones de estado y de salida del sistema o a poseen la forma x = Ax + Bu y y = Cx + Du respectivamente, donde: A= 7 1 12 0 ; ; B= 2 1 x(0) = 6 1

C=

3 4

D = [2];

A.3 Variables de Estado

247

Segn la Tabla A.1: u(s) = L[3et ] = 3/(s + 1). Luego, x(s) (ecuacin (A.48)) e y(s) u o (ecuacin (A.49)) toman la forma: o x(s) = = = s2 s + 7 1 12 s 1 + 7s + 12
1

6 1

s + 7 1 12 s 6 1 +

6s2 +s2 (s+1)(s+3)(s+4) s2 +77s14 (s+1)(s+3)(s+4)

s 1 12 s + 7

2 1

2 1

u(s) 3 s+1

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

3 4

6s2 +s2 (s+1)(s+3)(s+4) s2 +77s14 (s+1)(s+3)(s+4)

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 , t0 6 2 3

Las respuestas mostradas en la Fig. A.11 se realizaron con el programa crpta.m. Notar que se emplea la siguiente aproximacin de la derivada: o 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 ) prcticamente coinciden. Conforme T aumenta (por ejema plo para T = 0.1 s), la diferencia entre y(t) e y(kT ) es ms notoria, lo cual nos indica a que los sistemas muestreados dependen de T . Se deja como ejercicio resolver este ejemplo usando MATLAB.
% crpta.m COMPARACIN DE RESPUESTAS PARA DIFERENTES TIEMPOS DE MUESTREO O 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; % GRFICOS A 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 0 RESPUESTAS T2 = 0.04 s 10 20 30 40 50 y(t)

TIEMPO [s]

10

Fig. A.11: Respuestas para el ejemplo A.41. En el ejemplo anterior sean u1 (t) = 3et , u2 (t) = 2u1 (t) y u3 (t) = u1 (t) + u2 (t) y sean las salidas respectivas y1 (t), y2 (t) e y3 (t). El programa C2prosup.m demuestra grcamente (ver gura A.12) los principios de proporcionalidad: y 2 (t) = 2y1 (t), y a de superposicin: y3 (t) = y1 (t) + y2 (t). o
% C2prosup.m PRINCIPIOS DE PROPORCIONALIDAD Y SUPERPOSICI N O 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 denido las variables de estado xi del sistema, las cuales se han jado a la salida de cada bloque de primer orden. Para este sistema: (a) Determinar su ecuacin de estado y su ecuacin de salida. (b) Hallar su matriz o o 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 transicin con t 0 = 0. (f) Deo terminar y(t) para x(t0 ) = 0 usando (A.49). (g) Gracar las respuestas y1 (t) e y2 (t) a entradas tipo escaln unitario. o

A.3 Variables de Estado

249

80 70 60 50 RESPUESTAS 40 30 20 10 0 10 20 0 0.5 1 1.5 2 2.5 TIEMPO [s] 3 3.5 4 y1 y2 = 2y1 y3 = y1 + y2

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) (superposicin) o
1 s+1 x1 4 s+4 x4 y1

u1 u2

2 s+2

x2

u3

5 s+5 3 s+3 x3

x5

y2

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

Solucin: (a) Del diagrama de bloques se puede comprobar que las salidas y1 e y2 o poseen las expresiones: y1 = x 2 + x 3 + x 4 x 5 + u 3 x1 = 1 (u1 y1 ) s+1 y2 = x 1 x 2 + x 5 + u 2 (s + 1)x1 = x1 + x1 = u1 y1 (A.52) (A.51)

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

Reemplazando y1 de (A.51) en la ultima expresin, se obtiene: o x1 = x1 x2 x3 x4 + x5 u3 Operando del mismo modo con los otros bloques resultan: (s + 2)x2 = 2(u2 x2 ) x2 = 4x2 + 2u2

250 (s + 3)x3 = 3(u3 x5 )

Sistemas Continuos x3 = 3x3 3x5 + 3u3

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

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

x4 = 4x1 4x2 4x4 + 4u2 x5 = 5x2 5x5 + 5x3

(A.53)

Las ecuaciones en (A.52) y (A.53) forman la ecuacin de estado x = Ax + Bu o mientras que las ecuaciones en (A.51) forman la ecuacin de salida y = Cx + Du, o tal como se muestra a continuacin. o x1 1 1 1 1 1 x1 1 0 1 x2 0 4 0 0 0 x 2 0 2 0 u1 x3 = 0 0 3 0 3 x3 + 0 0 3 u2 x4 4 4 0 4 0 x4 0 4 0 u3 x5 0 5 0 0 5 x5 0 0 5 y1 y2 1 0 1 1 1 1 1 0 0 1 x1 x2 x3 x4 x5 + 0 0 1 0 1 0 u1 u2 u3

La MT G(s) toma la forma (ver archivo va.m): G(s) = s+8 s2 + 5s + 8 G13 (s) = G21 (s) = s+4 2 + 5s + 8 s

G11 (s) G12 (s) G13 (s) G21 (s) G22 (s) G23 (s) G12 (s) = 4s4 + 14s3 4s2 139s 120 (s2 + 5s + 8)(s2 + 9s + 20)(s + 3)

G11 (s) =

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

G22 (s) =

G23 (s) =

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 = e3t + e5t e4t + e 2 t cos 2 4 16 2 16 5 3 183 5 t 1 39 e 2 cos y2 = e3t + e5t e4t + 2 4 16 2 16 7 t 2 7 t 2 111 5 t 7e 2 sen 112 99 5 t 7e 2 sen 112 7 t 2 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 grco) a los escalones u1 = 1, u2 = 1 y u3 = 1 (In(1), In(2) e In(3) en el grco) a a obtenidas con el comando step de MATLAB. Ejecutar el archivo va.m.

A.3 Variables de Estado

251

% va.m VARIOS CALCULOS PARA EL EJEMPLO 2.43 clear all; close all; clc; % (a) ECUACIONES DE ESTADO Y DE SALIDA A = [-1 -1 -1 -1 1;0 -4 0 0 0;0 0 -3 0 -3;4 -4 0 -4 0;0 5 0 0 -5]; B = [1 0 -1;0 2 0;0 0 3;0 4 0;0 0 5]; C = [1 0 1 1 -1;1 -1 0 0 1]; D = [0 0 1;0 1 0]; I = eye(5); n = 5; p = 2; syms s; % (b) MATRIZ DE TRANSFERENCIA G = C*inv(s*I-A)*B + D; pretty(simplify(G)) % (c) ESTABILIDAD [E,DD]=eig(A); % DD = diag(-2.5000+1.3229i, -2.5000-1.3229i, -3.0000, -5.0000, -4.0000) % SISTEMA ESTABLE PORQUE LA PARTE REAL DE LAS RA CES SON NEGATIVAS I % (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 TRANSICIN Phi(t)=L^(-1)[(sI-A)^(-1)] O 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) GRFICOS DE LAS SALIDAS A step(A,B,C,D), print -deps -f va

A.3.6.

Formas Cannicas SISO en el Espacio de Estado o

La ecuacin diferencial que describe a un sistema SISO con parmetros constantes o a toma la forma: dn1 y(t) dn u(t) dn1 u(t) dn y(t) + a1 + + an y(t) = b0 + b1 + + bn u(t) (A.54) dtn dtn1 dtn dtn1 La FT correspondiente al sistema (A.54) es: G(s) = b0 sn + b1 sn1 + + bn b0 + b1 s1 + + bn sn y(s) = n = u(s) s + a1 sn1 + + an 1 + a1 s1 + + an sn (A.55)

En (A.38) vimos que la FT tambin se puede formular como: e 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 cannicas. La transformacin cannica tratada o o o en el ejemplo A.34 es una de ellas. Otras formas cannicas se describen a continuacin. o o

252
Step Response From: In(1) From: In(2)

Sistemas Continuos

1.5

From: In(3)

To: Out(1) Amplitude To: Out(2)

0.5

0.5

1 1.5

0.5

2 Time (sec)

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

Primera Forma Cannica Controlable: o


x= 0 0 . . . 0 an 1 0 . . . 0 an1 0 1 . . . 0 an2 1 xn1 a1 xn 0 0 . . . x1 x2 . . . + 0 1 0 0 . . . u

y=

bn a n b0

bn1 an1 b0

b 1 a 1 b0

x + b0 u

(A.56)

Segunda Forma Cannica Controlable: o


x= 0 0 . . . 0 an 1 0 . . . 0 an1 0 1 . . . 0 an2 1 0 1 xn1 a1 xn 0 x + 0 u 0 0 . . . x1 x2 . . . + n1 n 1 2 . . . u

y=

(A.57)

donde: 0 = b0 , 1 = b1 a1 0 , 2 = b2 a1 1 a2 0 , etc. Generalizando: n = bn a1 n1 an1 1 an 0

A.3 Variables de Estado Tercera Forma Cannica Controlable: o


x= a1 1 0 . . . 0 a2 0 1 . . . 0 b1 a 1 b0 an1 0 0 . . . 1 an 0 0 . . . 0 xn1 xn x1 x2 . . . + 0 0 1 0 . . . u

253

y=

b2 a 2 b0

b n a n b0

x + b0 u

(A.58)

Primera Forma Cannica Observable: o


x= 0 0 0 1 . . . 0 0 . . . 0 0 0 0 . . . 1 0 y= 0 0 . . . 0 1 0 an an1 . . . a2 a1 0 xn1 xn 0 1 x1 x2 . . . + bn a n b0 bn1 an1 b0 . . . b2 a 2 b0 b1 a 1 b0 u

x + b0 u

(A.59)

Segunda forma cannica observable: o


x= an1 an a1 a2 . . . 1 0 . . . 0 0 0 1 . . . 0 0 1 0 0 . . . 0 0 0 1 xn1 0 xn 0 0 0 0 . . . x1 x2 . . . + bn1 an1 b0 bn a n b0 x + b0 u b1 a 1 b0 b2 a 2 b0 . . . u

y=

(A.60)

Forma Cannica Diagonal (eigenvalores no repetidos) o Formulando (A.55) como: y(s) b0 sn + b1 sn1 + + bn1 s + bn G(s) = = = b0 + u(s) (s p1 )(s p2 ) (s pn )
n i=1

ci s pi

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 [(s pi )G(s)] m
spi

Luego, la forma cannica diagonal es: o


xn1 xn x1 x2 . . . = 1 0 . . . 0 c1 0 2 . . . 0 c2 0 0 . . . n cn x1 x2 . . . xn + 1 1 . . . 1 u (A.61)

y=

x + b0 u

254 Forma Cannica de Jordan (eigenvalores repetidos) o

Sistemas Continuos

Describiremos la forma cannica de Jordan con un ejemplo. Supongamos que o (A.55) toma la forma: G(s) = y(s) b0 sn + b1 sn1 + + bn1 s + bn B(s) = = 3 (s p )2 (s p ) (s p ) u(s) (s p1 ) A(s) 4 6 n

c2 c3 c4 c5 c1 + + + + + = b0 + (s p1 )3 (s p1 )2 s p1 (s p2 )2 s p2

8 i=6

ci s pi

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 ecuacin (A.5)). o La forma cannica de Jordan es (notar la ubicacin de los ceros y unos en el vector o o 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 + u x= 0 0 0 0 p 2 0 0 0 x5 1 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 + b0 u
8 i=6

(A.62) ci (A.63) s pi

y(s) c1 c2 c3 c4 c5 = b0 + + + + + + 3 2 2 u(s) (s p1 ) (s p1 ) s p1 (s p2 ) s p2 Ejemplo A.44

En el programa C2forca1.m se determinan varias formas cannicas para: o G(s) = 1 2.8s1 0.65s2 + 6.8s3 4.25s4 1.3s5 + 1.2s6 1 + 1.3s1 1.69s2 0.345s3 + 0.49s4 + 0.02s5 0.04s6

% C2forca1.m FORMAS CANONICAS clear all; close all; clc; b0=1; b1=-2.8; b2=-0.65; b3=6.8; b4=-4.25; b5=-1.3; b6=1.2; a1=1.3; a2=-1.69; a3=-0.345; a4=0.49; a5=0.02; a6=-0.04; B = [b0 b1 b2 b3 b4 b5 b6]; % B(s): POLINOMIO DEL NUMERADOR A =[1 a1 a2 a3 a4 a5 a6]; % A(s): POLINOMIO DEL DENOMINADOR roots(A); % RACES DE A(s): 0.5, 0.5, 0.5, -0.4, -0.4, -2 I % EL SISTEMA ES INESTABLE DEBIDO A LA RAZ TRIPLE 0.5 I % 2DA FORMA CANNICA CONTROLABLE: dx/dt = Acc*x + Bcc*u; y = Ccc*x + Dcc*u O 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


= 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 CANNICA OBSERVABLE: dx/dt = Aco*x + Bco*u; y = Coo*x + Doo*u O 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 CANNICA DE JORDAN: dx/dt = Aj*x + Bj*u; y = Cj*x + Dj*u O [c,p,k] = residue(B,A); % EXPANSIN EN FRACCIONES PARCIALES O 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]; beta4 beta5 beta6 Acc =

255

% % %

Ejemplo A.45 Conocido el sistema x = Ax + Bu, y = Cx + Du, determinar la ecuacin de estado y o la ecuacin de salida en su forma cannica de Jordan: x = Aj x+Bj u, y = Cj x+Dj u. o o Demuestre que las matrices A y Aj poseen los mismos eigenvalores y que ambas representaciones de estado generan la misma funcin de transferencia. o Solucin: El siguiente programa resuelve las preguntas planteadas. o
% 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.

Discretizacin Directa o

Discretizacin de la Integral o
Es bastante util discretizar directamente modelos dinmicos que contengan inte a grales y derivadas. La integral de una curva e(t); es decir, el area debajo de dicha curva, se puede aproximar empleando una sumatoria de rectngulos de la forma a 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(iT) e(t) e(iT) e(iT+T)

T (a)

t=iT

T (b)

t=iT

Fig. A.15: (a) Aproximacin del area bajo la curva e(t) mediante rectngulos. (b) o a Mediante trapezoides.

Ejemplo A.46 Determinar la ecuacin de diferencias de la siguiente integral usando tanto aproxio macin rectangular como trapezoidal. o
t

u(t) =
0

e( )d

Solucin: Si empleamos sumatoria de rectngulos para aproximar el area debajo de o a la curva e(t), se obtiene:
k k k1

u(kT )

T e(iT ) = T
i=0 i=0

e(iT ) = T
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 Discretizacin Directa o

257

donde k = t/T es el tiempo discreto. En la expresin (A.64), denotada como la o ecuacin discreta de la integral, hemos omitido en el argumento su dependencia con o el tiempo de muestreo T , ya que todos los trminos se discretizan empleando dicho e tiempo. Para el otro caso, empleamos sumatoria de trapecios para aproximar el area debajo de la curva e(t):
k

u(kT ) T

i=1

e(iT T ) + e(iT ) 2

k1

= T
i=0

e(kT T ) + e(kT ) e(iT T ) + e(iT ) +T 2 2 e(kT T ) + e(kT ) 2

= u(kT T ) + T u(kT ) u(kT T ) =

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

(A.65)

Discretizacin de la Derivada o
Trminos que contengan derivadas pueden discretizarse empleando diferencias e 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 discretizacin de la derivada se realiza por adelanto, entonces las diferencias son o 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 ms del 90 % de los circuitos de control existentes a en la industria. Este controlador se formula en la ecuacin (A.68), donde K c es la o ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo. Determinar la ecuacin de diferencias de dicho controlador. En un primer caso emplear o aproximacin rectangular y luego usar aproximacin trapezoidal. o o u(t) = Kc e(t) + 1 TI
t

e(t)dt + TD
0

de(t) dt

(A.68)

258

Sistemas Continuos

Solucin: Empleando las relaciones (A.64) y (A.66) en (A.68) se obtiene: o u(k) = Kc e(k) + T TI
k

e(i) +
i=0 k1

TD [e(k) e(k 1)] T TD [e(k 1) e(k 2)] T

u(k 1) = Kc

T e(k 1) + TI

e(i) +
i=0

k k1 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 ecuacin de diferencias del o controlador PID:

u(k) = u(k 1) + q0 e(k) + q1 e(k 1) + q2 e(k 2) donde: q0 = K c 1 + TD T ; + Ti T q1 = Kc 1 + 2 TD ; T q2 = K c TD T

(A.69)

Si la integracin emplea el mtodo trapezoidal, entonces: o e u(k) = Kc e(k) + 1 TI


k

T
i=1 k1

e(i 1) + e(i) TD + [e(k) e(k 1)] 2 T e(i 1) + e(i) TD [e(k 1) e(k 2)] + 2 T

u(k 1) = Kc

1 e(k 1) + TI

T
i=1

Restando las expresiones anteriores teniendo en cuenta que:


k i=1 k1

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

i=1

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

y despejando u(k) obtenemos una expresin similar a (A.69), donde: o q0 = K c 1 + T TD + ; T 2TI q1 = Kc 1 + 2 T TD ; T 2TI q2 = K c TD 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 seal de control n llegue al actuador. En otro caso, dicho retardo aparece cuando el punto de medicin o est lejos de la zona de inters, por ejemplo, cuando en la planta slo se pueden a e o instalar sensores lejos de la zona de inters para la medicin. Este tiempo muerto e o 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 continuacin: o 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 expresin de la transformada de Laplace: e s . Si o = d T , donde d = 1, 2, . . . y T es el tiempo de muestreo, y deniendo 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 continuacin: o x(k + 1) = Gx(k dx ) + Hu(k du ) y(k + dy ) = Cx(k) (A.71)

donde los tiempos muertos dk , du y dy toman valores enteros positivos. Resulta util emplear la aproximacin de Pad para modelar el tiempo muerto en o e el dominio continuo: e s = 1 s + 1 1 num(s) (s )2 (s )3 + = !2 !3 den(s)

Con una aproximacin de tercer orden podemos acomodar retardos de fase de hasta o o (3.5 rad) [12], lo cual es suciente para capturar el efecto del tiempo muerto en 200 muchas aplicaciones. Tal aproximacin tiene la forma: o 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 aproximacin racional para el tiempo muerto es o transformar el modelo del sistema dado en (A.70) en otro modelo sin tiempos muertos. Ejemplo A.48 Comparar la respuesta a un escaln del sistema: o 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 relacin de Pad de tercer orden. Luego, determinar la ecuacin o e o de estado aproximada del sistema. Solucin: El programa ejpade.m resuelve el problema planteado y los resultados se o ilustran en la Fig. A.16.
% ejpade.m SISTEMAS CON TIEMPO MUERTO D Y CON APROXIMACI N DE PAD O 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

6 Amplitude

exp(sD)
0

Pad de 3er orden


2 0 5 10 Time (sec) 15 20 25

Fig. A.16: Comparacin de las respuestas a un escaln del sistema y de su modelo o o aproximado mediante una aproximacin de Pad de tercer orden (ejemplo A.48). o e

A.6.
A.6.1.

Linealizacin de Sistemas Continuos o


Caso SISO

El desarrollo de la serie de Taylor permite expandir una expresin no lineal cono tinua Y = f (X) alrededor de un punto de operacin (o estado de equilibrio) X como o sigue: Y = f (X) = f (X) + df dX (X X) d2 f + 1! dX 2 (X X)2 + 2! (A.72)

(X=X)

(X=X)

Si la expresin de Y depende de las n variables X1 , . . . , Xn , entonces el desarrollo de o Taylor, despreciando los trminos de orden ms alto, produce: e a Y = f (X1 , . . . , Xn ) = f (X 1 , . . . , X n ) + + Ejemplo A.49 Linealizar la siguiente taza de reaccin rA para el punto de operacin (T , C A ): o o rA = k0 e RT CA
E

f X1

(X1 =X 1 )

(X1 X 1 ) (A.73)

f X2

(X2 =X 2 )

(X2 X 2 ) + +

f Xn

(Xn =X n )

(Xn X n )

A.6 Linealizacin de Sistemas Continuos o donde k0 , E y R son constantes. Solucin: Aplicando (A.73) con X1 = T y X2 = CA se obtiene: o r A = r A + C 1 t + C 2 cA r A = k0 e rA C1 = T
E RT

261

CA C2 =

t=T T rA CA

c A = CA C A (A.74)

(T =T )

(CA =C A )

Las variables t y cA se denominan variables residuales o de desviacin. o

A.6.2.

Caso MIMO

donde f (X, U) es la ecuacin de estado del sistema, mientras que g(X, U) es la o ecuacin de salida. Tanto f como g son funciones vectoriales de las variables veco toriales X y U. El desarrollo de Taylor para la ecuacin de estado de este sistema, o resulta: f (X, U) f (X, U) (X X) + (U U) + X = f (X, U) + X U

Un sistema MIMO no Lineal invariante con el tiempo de orden n se puede representar como: X = f (X, U) Y = g(X, U) (A.75) X1 f1 (X, U) Y1 g1 (X, U) U1 . . . . . . . U= . . = . = . . . . . n fn (X, U) Yp gp (X, U) Um X

1 2 f (X, U) 2 f (X, U) 2 f (X, U) (X X)2 + 2 (X X)(U U ) + (U U)2 + 2! x2 XU U2 Despreciando los trminos de orden dos se obtiene: e f X = f (X, U) = f (X, U) + X f X f (X, U) = x = X (X X) + u
(X,U)

(X,U)

f U

(X,U)

(U U) (A.76)

x+
(X,U)

f U

Del mismo modo, la ecuacin de salida del sistema se puede formular como: o y= g X x+
(X,U)

g U

u
(X,U)

(A.77)

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 distribucin de o 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 desviacin) de estados, u = U U es el vector residual de control, e y = Y Y es o

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 controlado, es el vector de referencias o set points R; es decir: a Y = R. El procedimiento de linealizacin signica entonces que estamos asumiendo variao ciones pequeas de la dinmica del sistema alrededor del estado estacionario o de n a 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 = Ejemplo A.50 La Fig. A.17 muestra dos tanques idnticos colocados en cascada. La seccin horie o zontal S=9 m2 de cada tanque es constante. El objetivo de control es estabilizar (controlar) la altura H2 empleando como fuerza de control el ujo de alimentacin o Qo . Determinar el modelo linealizado de este sistema hidrulico, su estabilidad y su a funcin de transferencia. o
Q
0

fn X1 h1 X1

.. .

fn Xn h1 Xn

. . .

. . .

hp X1

hp Xn

(X,U)

(X,U)

D=

fn U1

fn Um

h1 U1

. . .

hp U1

.. .

h1 Um

. . .

hp Um

(X,U)

(A.79)
(X,U)

p H1

p
1

p Q
0

Tanque 1 g
1

H2

p
2

Tanque 2
2

Fig. A.17: Sistema hidrulico. a Solucin: Los ujos de salida Q1 y Q2 de los tanques se pueden modelar como: o Q1 = P1 P0 ; Q2 = P2 P0

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 del oricio. a Si =1.23 kg/m3 es la densidad del l quido y g=9.81 m/s2 es la aceleracin de la o gravedad: P1 P0 = gH1 P2 P0 = gH2

A.6 Linealizacin de Sistemas Continuos o El ujo acumulado en cada tanque es: Q0 Q 1 = S dH1 dt Q1 Q 2 = S dH2 dt

263

Deniendo 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 1 X1 = U X1 = f1 (X, U ) S S g X2 = [ X1 X2 ] = f2 (X, U ) S y su correspondiente ecuacin de salida: o Y = h(X, U ) = X2 Observar que las ecuaciones anteriores poseen las formas dada en (A.75)): X = f(X, U ) Y = h(X, U ) = X2

donde la salida Y (la funcin g) y la entrada U son en este caso escalares, y: o X= X1 X2 f= f1 f2

Denamos 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: = 1 U g X = 0 X1 1 S S g X2 = X1 X2 = 0 S lo que resulta en: U X1 = X2 = 2 g Aplicando el jacobiano, el sistema linealizado resulta: x = Ax + Bu donde: x= x1 x2
f1 U f2 U 2

(A.80)

y = h(x, u) = x2 = C x
g 2S X1 g

D = [0]

A=

f1 X1 f2 X1

f1 X2 f2 X2

(X 1 ,X 2 ,U )

B=

=
(X 1 ,X 2 ,U )

1/S 0

C=

h X1

0
g 2S

2S

X1

X2

h X2

= [0 1]
(X 1 ,X 2 ,U )

La estabilidad y la funcin de transferencia del sistema se computan con el programa o C2tqh.m.

264

Sistemas Continuos

% C2tqh.m SISTEMA HIDRULICO A 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 = 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

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

En general: (A B)2 = A2 2AB + B2 y A2 B2 = (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 peridica, con per o odo igual a 2: 1 2 6 3 2 9 A= 2 0 3

A.7 Problemas Problema A.6 Demostrar que la siguientes matriz es nilpotente: 1 3 4 4 A = 1 3 1 3 4 i 1 + i 2 3i 2i 1 B = 1 + i 2 3i 1 0

265

Problema A.7

demostrar que A, iB y A son hermitianas, y que B y B son antihermitianas. Problema A.8 Empleando matemtica simblica demostrar que: a o 1 0 Problema A.9 Empleando matemtica a 2 a b2 A= 2 c d2 simblica demostrar que las matrices: o 3 2 a 1 bcd a a b3 b2 b 1 acd B= 3 2 c c c 1 abd d 1 abc d3 d2 1 1 1 1
n

Dada las matrices: 1 1 + i 2 + 3i 2 i A= 1i 2 3i i 0

n nn1 0 n

a b c d

poseen el mismo determinante: (a b)(a c)(a d)(b c)(b d)(c d). Problema A.10 Empleando matemtica simblica hallar la derivada con respecto a x del determinante a o de la matriz: x 1 2 x3 A = x2 2x + 1 2+1 0 3x 2 x Problema A.11 Examine la dependencia o independencia lineal del siguiente conjunto de vectores. Si el conjunto es dependiente, seleccione el mximo subconjunto linealmente indepena diente y exprese cada uno de los vectores dependientes como una combinacin lineal o 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 Problema A.12

Sistemas Continuos

Si la matriz A es antisimtrica e I + A es no singular, entonces B = (I A)(I + A) 1 e 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 ; Problema A.14 Si la matriz A es antihermitiana e I+A es no singular, entonces B = (IA)(I+A) 1 es unitaria. Obtenga la matriz unitaria B de: 0 i 1+i i 0 i A= 1 + i i 0 Problema A.15 Demostrar que el producto xH Ax es denida positiva y que el producto xH Bx es semidenida positiva, donde: 1 1+i 1 1 1 + i 1 + 2i 6 3 + i 3 5 A= 1i B= 1i 1 3 i 11 1 2i 5 10 Problema A.16 Para cada ecuacin integrodiferencial, elaborar un programa en MATLAB para o gracar la salida y(t) cuando u(t) es un escaln unitario. Luego, elaborar un proo grama en Simulink para visualizar la seal y(t). Todas las condiciones iniciales son n nulas. (a) =
t dy(t) + 2y(t) 5y(t) + 4 y( )d = u(t) dt 0 d2 y(t) dy(t) (b) = + y(t) = u(t) dt2 dt t dy(t) y( )d = u(t) + 2y 2 (t) + 4 (c) = dt 0 t d2 y(t) y( )d = u(t) + 7y 3 (t) (d) = dt2 0

x2 = [i 1 i 0]T ;

x3 = [1 i 1 3i]T

A.7 Problemas Problema A.17 Determinar la ecuacin de estado y la ecuacin de salida de los sistemas: o o (a) 2x1 + 3x2 5x3 = 4u1 3u2 + x1 ; y1 = x1 3x2 u2 ; 2x2 5x3 = 3u1 4u2 x3 x2 x1 + 8x2 2x3 = u1

267

(b)

x1 8x2 + x3 + x1 = u1 ; y1 = 3x1 x2 + u1 ;

y2 = 3x1 + 7x3 + u1 5u2

2x2 5x3 = 3u1 + 3u2 + x3

2x1 + 4x2 2x3 = 3u2 u2 + x2

(c)

6x1 + 7x2 + x1 = 4u2 ;

y2 = x1 5x3 5u2

(d)

3x2 5x3 + x1 = 3u1 + 3u2 ; y1 = x1 u2 + 8u2 ; x1 2x2 5x3 + x3 = 3u1

y1 = 4x1 + x2 u1 + u2 ; y2 = 3x1 + 7x2 5u2

x2 6x3 = x3 u1 + 9u2

x2 3x1 + 5x2 + 62x3 = u1 7u2

x2 6x1 + 5x2 7x3 = 3u2

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 Gracar la corriente i(t) que circula en un circuito serie RLC alimentado por una bater E de 12 V, sabiendo que R = 100 , C = 1 F, L = 2 H, i(0) = 5 A y di(0) = 5 a dt A/s. Partiendo de la ecuacin caracter o stica del circuito, determine la estabilidad, la frecuencia natural de oscilacin y el coeciente de amortiguamiento de dicho circuito. o Problema A.19 Una forma de determinar la estabilidad de un SLIT con entrada x(t) y salida y(t) conociendo su funcin G(t) de respuesta al impulso (t), es evaluando la siguiente o condicin para estabilidad: o

|G( )|d <


t

Por ejemplo, para un integrador y(t) = 0 x( )d con y(0) = 0, su respuesta al t o o impulso es: y(t) = G(t) = 0 ( )d = (t), que es la funcin escaln, la cual es igual a 1 para t 1. El sistema es inestable porque:

|G( )|d =

|1|d =

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 Problema A.21

Sistemas Continuos

Gracar para varios valores del cero c, la respuesta al escaln del sistema: o K(s + c) y(s) = 2 u(s) s + 3s + 100 Para cada c, seleccionar el valor de K que haga: l y(t)t = 1. m Problema A.22 Determine la transformada inversa de: G(s) = Problema A.23 Determine la matriz de transicin, la ecuacin caracter o o stica, la estabilidad, la controlabilidad, la observabilidad (el primer elemento del vector de estado v es la salida) y la FT del sistema siguiente: v= Problema A.24 Hallar varias ecuaciones de estado y de salida cannicas para el sistema: o 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 posicin angular y de velocidad o angular = , se describe mediante la relacin: = + u, donde u es el voltaje o 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 automtico de la a profundidad y de un submarino, el cual se logra generando un angulo de control a adecuado. Suponga que el submarino debe de navegar manteniendo una profundidad de r = 250 m. Empleando Simulink, determinar el valor de K usando el mtodo de e prueba y error que haga que la salida y siga a la referencia r con suciente rapidez y con m nimo error e = r y. Problema A.27 0 1 0 2 v+ 3 4 u 3s3 + 20 s2 (s + 1)

A.7 Problemas
r e
2

269
y

Kc + Kd s

(s 1) s +1
2

1 s

Fig. A.18: Sistema de control de la profundidad de un submarino (problema A.26).

Sabiendo que: de dt de transicin es: o

At

t=0

= A, hallar la matriz de estado A de un sistema cuya matriz 2et cos(t + 0,7) 3et cos(t + 1,5) et cos(t 1,5) 2et cos(t 0,7)

Problema A.28 Las ecuaciones que rigen el calentamiento de un cuarto son: 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 trmica, R = 20 es la resistencia elctrica, e e o C/J es la resistencia trmica, i(t) es una corriente de entrada tipo escaln Rt = 0.1 e o de magnitud 0.5 A y de duracin 2000 s, cuyo valor inicial es 1 A. Ta es la temperatura o ambiente que acta como una entrada tipo escaln de duracin 6000 s, cuyo valor u o o o C y su valor nal es 15 o C, q es el ujo de calor en J/s producido en inicial es 20 R R, qp es el ujo 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 gracar las seales i(t), T a (t) y n 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 escaln unitario y N es un disturbio escaln de magnitud o o 0.1R. Emplear Simulink y usar el mtodo de prueba y error para determinar los e parmetros Kc y Ki que hagan que la salida Y siga a la referencia R con suciente a rapidez.
N R Kc + Ki/s 2e 2s 10e 3s 4s+1 Y

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

Problema A.30

270

Sistemas Continuos

Gracar 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. Tambin, Fo = 0.01 m3 /min, To1 = 280K y To2 e = 350 K son perturbaciones tipo escaln. o Problema A.31 En la Fig. A.20, R es un escaln unitario y N es un disturbio escaln de magnitud o o 0.1R. Emplear Simulink y usar el mtodo de prueba y error para determinar los e parmetros Kc y Ki que hagan que la salida Y siga a la referencia R con suciente a rapidez.
N R Kc + Ki/s 2e 2t 10e3t 4s+1 Y

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 suciente rapidez.
x1 4 s+4 x4 y1

r1 r2

K1

u u2

1 s+1

K2

2 s+2

x2

r3

5 s+5 K3 u3 3 s+3 x3

x5

y2

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

A.7 Problemas Problema A.33 La funcin de transferencia de un sistema tiene la forma: o G(s) = y(s) 5s2 0.9167s 0.5417 = 3 u(s) s + 0.5833s2 + 0.0417s + 0,0417

271

V Simulink determine: (a) su respuesta ye (t) a un escaln unitario, (b) su respuesta a o yi (t) al impulso, (c) la salida y() para la parte (b) usando el teorema del valor nal, y (d) varias ecuaciones de estado y de salida cannicas. o Problema A.34 Las poblaciones P1 , P2 y P3 de tres especies en un area restringida est gobernada a por las ecuaciones: P1 = 2P1 + 3P2 + 6P3 + c1 u P2 = 3P1 + 3P2 + 8P3 + c2 u P3 = P1 3P2 + 2P3 + c3 u 0 c1 0 c2 0 c3

c < 1 + c2 + c3

Elaborar un programa en MATLAB para gracar las respuestas P 1 (t), P2 (t) y P3 (t). Problema A.35 Dada la siguiente ecuacin de estado: o x(t) = 4x(t) + 2u(t) gracar x(t) sabiendo que x(0) = 1 y u(t) es la rampa mostrada en la Fig. A.22.

Fig. A.22: Funcin rampa. o

Problema A.36 Para el punto de operacin: o x1 = 1, x2 = 1, u1 = 2, u2 = 1

hallar las ecuaciones de estado y de salida lineales del siguiente sistema no lineal y determinar su estabilidad. x1 = 2x2 + 3x1 x2 u3 + u2 1 1

)))) )))) )))) )))) )))) )))) )))) )))) )))) )))) )))) )))) )))) )))) )))) )))) )))) ))))
1 0

u(t)

272 x2 = 4x3 + 6x2 x2 4u3 2u2 1 1 1 2 y2 = 3x2 + 4x2 + 2u1 1 Problema A.37 y1 = 3x1 4u1 + 6u2 2

Sistemas Continuos

En el sistema de la Fig. A.23: (a) Determinar su ecuacin de estado y ecuacin de o o 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 transicin con t0 = 0. (f) Hallar y1 (t) e y2 (t) o donde u1 (t) y u2 (t) son entrada rampa unitaria. (f) Gracar y1 (t) e y2 (t). Se sugiere hacer un programa.
u1 x1 y1

1 s+1

u2

2 s+2

x2

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 seal escaln deseada r(t) en presencia n o de la carga (o disturbio) n(t). Tambin debe de vericar que cuando r(t) es nulo, la e 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) = 4(s + 1)(s + 2) e2s (s + 3)(s + 4)(s + 5)(s + 6) 2(s + 1) e3s (s + 3)(s + 4)(s + 5)(s + 6)(s + 8) s2 + 2s + 1 s e (s + 3)4 8 e4s (s + 3)(s + 4)(s + 5)(s + 6)(s + 7)2 (s + 8)

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

A.7 Problemas

273

n(t) r(t) PID G(s) y(t)

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

Apndice B e

Fundamentos de MATLAB y Simulink


MATLAB es un lenguaje tcnico de cmputo de alto nivel e interactivo que puede ser e o empleado para el desarrollo de algoritmos, visualizacin y anlisis de datos y computacin o a o numrica. MATLAB se emplea mundialmente en diversas aplicaciones que incluyen procee samiento de seales e imgenes, telecomunicaciones, diseo de sistemas de control, pruen a n bas y mediciones, modelado y anlisis nanciero y biolog computacional. MATLAB a a tambin cuenta con una coleccin herramientas (Toolboxes) para propsitos espec e o o cos, disponibles por separado, los cuales permiten resolver ciertas clases de problemas en el rea de su aplicacin. a o Simulink emplea un lenguaje en bloques y se usa para modelar, simular y analizar sistemas dinmicos continuos, discretos o h a bridos (combinacin de ambas). El modelo o 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 dinmicos existentes o aquellos construidos desde cero. a En este Apndice, una seccin est dedicada a MATLAB y la otra a Simulink. e o a Todos los archivos de esta publicacin se pueden descargar del link DESCARGAS de o www.ctlima.com.

B.1.
B.1.1.

Fundamentos de MATLAB
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 interaccin de MATLAB con el usuario es a travs de veno e tanas. Las principales son (ver Fig. B.1): Ventana de comandos (Command Window).- Aqu se ejecutan las instrucciones. Historial de comandos (Command History).- Ventana que muestra el historial de las instrucciones introducidas a travs de la ventana de comandos. e 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 guras.- Las guras aparecen cuando el usuario las realiza.

Para cerrar el programa, seleccionar en el men: File > Exit MATLAB o tipear u quit en la ventana de comandos. Para obtener informacin detallada de cualquier tpico relacionado con MATo o LAB, hacer click en el icono s mbolo de interrogacin ?, ubicado debajo de la l o nea del men de la Fig. B.1, para que aparezca la ventana Help. En el espacio Search for u de tal ventana, tipear el tpico del que desea informacin. Por ejemplo, si tipea save o o y hace click en Go, entonces la informacin detallada y ejemplos sobre este comando o aparecern en la parte derecha de la ventana Help. a

Fig. B.1: El entorno de trabajo de MATLAB.

B.1.2.

Comandos y Funciones Generales

Tener en cuenta que MATLAB NO HACE la distincin entre maysculas y o u minsculas en sus comandos. Se sugiere usar siempre letras minsculas para los cou u mandos. El s mbolo >> que aparece en la ventana de comandos es el prompt de

B.1 Fundamentos de MATLAB

277

MATLAB. Los comandos escritos despus del prompt requieren de un ENTER para e que MATLAB los procese. El formato siguiente: >> help roots ENTER , es util cuando se desea tener informacin de un determinado comando. En este caso partico ular, luego de presionar la tecla ENTER, la VC (Ventana de Comandos) muestra la ayuda correspondiente al comando roots. En lo que sigue, la introduccin de la tecla o ENTER ser sobreentendida. a El comando format long le dice a MATLAB que se quiere trabajar con 15 d gitos para doble precisin y 5 d o gitos para simple precisin. Por ejemplo, escribiendo en o 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, multiplicacin a*b, divisin derecha a/b, divisin izquierda a\b y exponenciacin a^b. La o o o o divisin izquierda se emplea ms con matrices. El resultado de la operacin a/b es o a o igual al resultado de b\a. El orden de precedencia en las operaciones fundamentales es: ejecutar primero el parntesis ms interno, luego los exponentes, despus la multiplicacin o divisin e a e o o (ambos tienen igual presedencia), y nalmente 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 nal de la primera la indica que la sentencia contina u en la siguiente l nea. MATLAB reconoce a las letras i y j como nmeros imaginarios. Es decir: i = u 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 divisin sobre cero es innito, mientras que la divisin 0/0 es o o indeterminada. En notacin MATLAB >> 20/0 devuelve Inf , mientras que o >> 0/0 devuelve NaN, donde NaN est por Not a Number. a A continuacin se describen otros comandos de utilidad general. Se recomienda o leer el help del comando antes de usarlo. help help Lista tpicos de ayuda. o what Lista archivos con extensin m, MAT y MEX. o 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 tamao de una matriz. n length Nmero de elementos de un vector. u disp Muestra los valores de una matriz o texto. exist Chequea si estn denidas las variables o funciones. a finite(x) Devuelve 1 si x es nito 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 versin actual de MATLAB. o why Devuelve respuestas breves a casi cualquier interrogante. lasterr Devuelve el ultimo mensaje de error. diary Guarda el texto de la sesin de trabajo actual. o unix Ejecuta comandos del sistema operativo Unix. ver Informa sobre la versin de MATLAB, Simulink y Toolboxes. o info Da informacin acerca de la empresa Mathworks. o whatsnew Informa acerca de lo nuevo de MATLAB. hostid Identica el nmero del servidor host. u date Proporciona la fecha. clock Proporciona el vector: [ao, mes, d hora, minuto, segundo]. n a, 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 grco. a 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 las corresponden a la matriz formada por el comando a=magic(3), la la 5 se origina por el comando b = ones(1, 3)*-5.7 y la ultima la corresponde al vector c=[8 6 4 2].

B.1.3.

Creacin de Archivos Tipo m o

La forma ms conveniente de procesar informacin en MATLAB es mediante los a o 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 automticamente la extensin m del archivo. a o Hay tres formas de ejecutar el archivo m generado: (1) presionando la tecla F5; (2) haciendo click en Debug Run en el men del editor; (3) haciendo click u en el icono Run and Save del editor, el cual se ubica debajo de la l nea que contiene el men del editor. u Si el programa posee errores, stos sern mostrados en la ventana de comandos. e a Corregir tales errores y ejecutar el programa. Esta operacin puede repetirse o pocas o varias veces dependiendo de la magnitud del programa y experiencia del programador. La ejecucin de un archivo m se puede parar en cualquier momento presionando o simultneamente las teclas Ctrl + C. a El siguiente archivo de nombre miarchivom.m contiene informacin adicional. o % miarchivom.m GENERACIN DE UN ARCHIVO m. O % MATLAB NO PROCESA LO QUE EST A LA DERECHA DEL SMBOLO: % A I 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 % TAMBIN ES VLIDO ESCRIBIR: clear all, close all, clc E A a=7; b=-4; % DATOS, DONDE EL SMBOLO ; IMPIDE QUE LA VC I % MUESTRE a Y b LUEGO DE EJECUTAR miarchivom.m r=a-b; m = a*b; d = a/b; e = a^b; % OPERACIONES ARITMTICAS E s=a+b % LA VC DEVUELVE s=3 LUEGO DE EJECUTAR miarchivom.m En lo que sigue, slo emplearemos archivos m para explicar mediante numerosos o ejemplos las bondades del lenguaje MATLAB. En tales ejemplos emplearemos tanto los comandos listados en la subseccin B.1.2 as como otros ms especializados. o a

B.1.4.

Matemticas a

Funciones Matemticas Comunes a % funcionesmat.m FUNCIONES MATEMTICAS COMUNES A 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 MS PRXIMO) A O A TRIGONOMETRI r5=sin(pi/2); % r5=1 (NGULO EN RADIANES) A r6=sind(-90); % r6=-1 (NGULO EN GRADOS) A r7=cosd(60); % r7=0.5 (NGULO EN GRADOS) A r8=asind(1); % r8=90 (NGULO EN GRADOS) A ALGUNAS OPERACIONES r9=abs (-7); % VALOR ABSOLUTO, r9=7 r10=sign(10); % SIGNO, r10=10/abs(10)=10/10=1 r11=gcd (9,12); % MXIMO COMN DIVISOR ENTRE 9 Y 12, r11=3 A U r12=lcm (10,25); % MNIMO COMN MLTIPLO ENTRE 10 Y 25, r12=50 I U U DULO, SI y~=0, n=floor(x./y)=-3, r13=x-n.*y=3 r13=mod (-12,5); % MO r14=rem (12,5); % RESTO DE LA DIVISIN ENTRE 12 Y 5, r14=2 O r15=nthroot (8,3); % RAZ CBICA DE 8, r15=2 I U CON NMEROS COMPLEJOS U 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; % CMO DEFINIRLOS O 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] % CONSTRUCCIN ABREVIADA DE ALGUNOS VECTORES O

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 LOGARTMICAMENTE ESPACIADO 10^0 Y 10^2 CON 4 ELEM. EQUIDISTANTES I r21=logspace (0,2); % VECTOR LOG. ENTRE 10^0 Y 10^2 CON 50 ELEM. CONSTRUCCIN DE ALGUNAS MATRICES O 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 U r25=rand(2,4); % MATRIZ 2 x 4 DE NMEROS ALEATORIOS ENTRE 1 Y 0 O CON DISTRIBUCIN UNIFORME r26=randn (2,5); % MATRIZ 2 x 5 DE NMEROS ALEATORIOS, DISTRIBUCIN U O NORMAL, MEDIA 0 Y DESVIACIN 1: NORMAL(0,1) O 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 MGICA 3 x 3, CONTIENE NMEROS 1 AL 3^2, A U 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 BSICAS CON MATRICES A 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] (MULTIPLICACIN ELEMENTO A ELEMENTO) O 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 ANLISIS DE MATRICES A 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 DIMENSIN MAYOR DE LA MATRIZ M) O r49=rank(M); % r49=2 (2 ES EL RANGO DE M, VER help rank) r50=rref(M); % REDUCCIN MEDIANTE GAUSS O 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]; I r52=find(A1); % DEVUELVE VECTOR COLUMNA DE NDICES [1;2;3,5;6;8;10] r54=reshape(A1,2,6); % r54: MATRIZ 2 X 6 A PARTIR DE COLUMNAS DE A1 r54= 1 2 4 0 0 0 3 0 4 5 2 0 r55=rot90(A1); % A1 GIRA 90o , r55 TOMA LA FORMA: 2 0 0 0 5 0 0 4 4 1 3 2 r56=rot90(A1,3); % A1 gira 270o ( 90o x 3 = 270o ) FORMEMOS LA 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 N C/D RESUELVE EL SISTEMA Cx=D Y ES EQUIVALENTE A inv(C)*D. DIVISIO O DIVISIN C\D RESUELVE EL SISTEMA xD=C Y ES EQUIVALENTE A C*inv(D). TEXTO a = casa; b = gato; AA = CASA; % CADENAS DE CARACTERES r60=a + b; % r60=[202 194 231 208], SUMA ASCII ELEM POR ELEM r61=a + 0; % r61=[99 97 115 97], REPRESENTACIN ASCII DE a O r62=abs(a); % r62=[99 97 115 97], REPRESENTACIN ASCII DE a O O r63=double(a); % r63=[99 97 115 97], REPRESENTACI N ASCII DE a r64=setstr([99 97 115 97]); % r64=casa U U r65=abs(a)-abs(A); % r65=32, RESTA MINSCULAS MENOS MAYSCULAS r66=setstr (a-32); % r66=CASA (LA DIFERENCIA) d=5; disp(d); % DEVUELVE 5 EN LA VC disp(escribe esto); % DEVUELVE << escribe esto >> EN LA VC

Polinomios % polinomios.m POLINOMIOS

B.1 Fundamentos de MATLAB clear all; close all; clc; NOTACIN: 5x^4 - 9x^3 + 13x^2 + 9x - 14 ==> [1 -9 13 9 -14] O x = [1 -9 13 9 -14]; rx=roots(x); % rx CONTIENE RACES DE x I xx = poly(rx); % DEVUELVE xx GENERADO POR RACES DE rx (xx=x) I 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]); % EVALA p=x^2+2x+7 PARA x=0, x=1 y x=5 U em=polyval(p,[0 1 2;-1 -2 -3;4 0 7]); % EVALA p PARA CADA FILA U em= 7 10 15 6 7 10 31 7 70

283

% % % %

Operaciones Relacionales y Lgicas o % operaclogicas.m OPERACIONES RELACIONALES Y LGICAS O clear all; close all; clc; % OPERADORES RELACIONALES: < <= > >= == ~= % OPERADORES LGICOS: & (AND) O | (OR) ~ (NOT) % ORDEN DE PRECEDENCIA: ~= == <= >= < > a =1:9; b=5-a; % a=[1 2 3 4 5 6 7 8 9], b=[4 3 2 1 0 -1 -2 -3 -4] r1=a<6; % r1=[1 1 1 1 1 0 0 0 0], r(i)=1 SI a<6, 0 si a >= 6 r2=a==b; % r2(i)=1 SI a(i)==b(i) ES VERDADERO, 0 SI ES FALSO r3=a~=b; % r3(i)=1 SI a(i)~=b(i) ES VERDADERO, 0 SI ES FALSO r4=(a>b)&(b>-3); % r4(i)=1 SI (a(i)>b(i))&(b(i)>-3), 0 SI ES FALSO c = [Inf 0 5 -8 NaN 94]; % >> exist(c) % DEVUELVE 1 PORQUE c EXISTE % >> isnan(c) % DEVUELVE 1 SI c(i) ES NaN Y 0 SI NO ES NaN % >> isinf(c) % DEVUELVE 1 SI c(i) ES Inf Y 0 SI NO ES Inf % >> isfinite(c) % DEVUELVE 1 SI c(i) ES FINITO Y 0 SI NO LO ES Creacin de Funciones o La forma general de una funcin de dos variables es: o function[a,b]=nombre_funcin(x,y) o Por ejemplo, se desea crear la funcin de nombre calculos para calcular la suma o y la resta de dos nmeros, vectores o matrices (x,y). Los resultados los devuelve en u [a,b]. Los listados del archivo calculos.m y el archivo usacalculo.m para usar calculos.m se muestran a continuacin. Slo es necesario ejecutar el archivo usacalculos.m o o para obtener los resultados. % calculos.m FUNCIN calculos O

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 FUNCIN CONTENIDA EN calculos.m O 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 Programacin o % programacion.m PROGRAMACIN EN MATLAB O 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 EXPRESIN LGICA O O 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 % GENERACIN DE NMEROS PRIMOS MENORES DE 100 O U disp(Estos son los nmeros primos menores de 100) u disp(2) for i=2:100 n=2; while n <= sqrt(i) if rem(i,n)==0 n=i;

B.1 Fundamentos de MATLAB else n=n+1; end end if n~=i disp(i) end end Anlisis Numrico y de Datos a e

285

% analisisnumerico.m ANLISIS NUMRICO A E clear all; close all; clc; ds=diff(sin(7*x) ); % DEVUELVE DERIVADA RESPECTO A x dp=diff((exp(x)*cos(3*x*y)),y); %DEVUELVE DERIVADA PARCIAL EN y dd=diff((sin (x^2)),2); % DEVUELVE SEGUNDA DERIVADA RESPECTO A x ec=feval(cos,pi); % EVALA EL COSENO EN pi U ep=feval(cos, [0 pi/3 pi] ); % EVALA EL COSENO EN VARIOS PUNTOS U em=feval(@cos,[0 pi/3 pi] ); % EVALA EL COSENO EN VARIOS PUNTOS U I fm=fminbnd(@sind,0,360); % VALOR ENTRE 0,360, sind TOMA EL M NIMO S PRXIMO A 100 DONDE sind=0 O fz=fzero(sind,100); % VALOR MA fq=quad(sin,0,pi); % INTEGRAL DEL SENO DE 0 A pi, APROX. RECT. A % analisisdatos.m ANLISIS DE DATOS clear all; close all; clc; X = [5 7 9 2 9; 3 1 7 5 1; 3 9 2 7 5; 1 5 5 1 8]; % >> cumprod(X) % DEVUELVE MATRIZ DE PRODUCTOS ACUMULADOS % >> cumsum(X) % DEVUELVE MATRIA DE SUMAS ACUMULADAS % >> mean(X) % DEVUELVE LA MEDIA DE CADA COLUMNA % >> sort(X) % ORDENA LOS VALORES DE CADA COLUMNA % >> sum(X) % DEVUELVE SUMA DE LOS ELEMENTOS DE CADA COLUMNA % >> var(X) % DEVUELVE VARIANZA DE LOS ELEMENTOS DE C/COLUMNA A % >> max (X) % DEVUELVE VALOR MXIMO DE CADA COLUMNA I % >> min (X) % DEVUELVE VALOR MNIMO DE CADA COLUMNA % >> iqr (X) % DEVUELVE RANGO intercuartlico DE CADA COLUMNA % >> range(X) % DEVUELVE RANGO DE CADA COLUMNA: DIFERENCIA ENTRE % EL MXIMO Y EL MNIMO A I 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 NMERO 1 APARECE 4 VECES) U % 2 2 10.00% (EL NMERO 2 APARECE 2 VECES) U % 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

Fundamentos de MATLAB y Simulink

B.1.5.

Grcos a

% graficas2D.m GRFICAS EN 2 DIMENSIONES A clear all; close all; clc; figure(1) % CREA figure(1) x=[-2 -1 0 1 2 3]; y=[4 1 0 1 4 9]; z=[6 5 3 7 5 2]; w=[-2 -1 0 0.5 1.5 2.5]; plot(x,y,*,x,z,-), xlabel(eje x), ylabel(eje y), title(x vs y), grid, text(1,4,HOLA>&$), axis([-3 3 -1 10]), gtext(AQU COLOCO TEXTO) I 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 GRFICAS EN 3 DIMENSIONES A 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 GRFICA A 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 LNEAS DEL CONTORNO I subplot(2,2,2), pcolor(X,Y,Z) % TRANSFORMA ALTURA EN COLORES O subplot(2,2,3), surf(X,Y,Z), view(10,70) % AZIMUT 10, ELEVACI N 70 subplot(2,2,4), surf(X,Y,Z), view(10,-12.2), colorbar % colorbar A~ADE BARRA DE COLOR N % >> 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~ADE ALTURAS A CONTORNOS N 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 N O 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.

Matemtica Simblica a o

% simbolica.m MATEMTICA SIMBLICA A O 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=funcin error o 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 SIMBLICO EN SU FORMA ENCADENADA O 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 EXPRESIN CON MNIMA CANTIDAD DE CARACTERES O I 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 O A pretty: HACE MS VISIBLE LAS EXPRESIONES SIMBLICAS

B.1 Fundamentos de MATLAB % >> pretty(f34) El comando pretty(f34) devuelve: 1 6 12 + 2+ +8 3 a a a


1/3

289

B.1.7.

Simulacin de un Sistema de Control o

El siguiente programa simula el sistema de control de posicin backstepping del o prototipo MRE (Manipulador Robtico Esfrico). El modelo dinmico de Lagrange o e a del MRE deducido en la subseccin ??, ecuacin (??), posee la forma: o o M(q) + P(q, q)q + d(q) = u q 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= 0 d21 q= q1 q2 u= u1 u2

1 J1 + Jeq + m2 L2 sen2 q2 4 1 J2 + Jeq + m2 L2 4 2K K n m b Beq + Ra 1 m2 L2 q1 senq2 cos q2 2 1 m2 L2 q1 senq2 cos q2 4 n2 K m K b Beq + Ra 1 m2 L2 gsenq2 2

El diseo de un controlador backstepping emplea el procedimiento descrito en la n seccin ??, que en forma breve establece hasta el nivel de simulacin: o o (1) Denir las especicaciones de diseo y determinar el modelo no lineal del sisn tema a controlar en la forma dada en (??). (2) Determinar la ley de control backstepping dada en (??). Para ello, denir el vector de referencias deseadas qd , formular el vector de error e y el vector qr : e = z1 = q q d qr = qd Kz1

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

290

Fundamentos de MATLAB y Simulink donde Ld es una matriz diagonal con elemento positivos. El vector q se puede calcular integrando q. La ley de control backstepping posee la forma: u = M(q) + P(q, q)qr + d(q) Kd (q qr ) K1 z1 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 parmetros de sina tonizacin kd , k1 y d . o La Fig. B.2 muestra el diagrama de ujo empleado en esta publicacin para o simular los sistemas de control. El archivo bscmrer.m muestra el programa en cdigo o MATLAB para simular el el control simultneo de las posiciones de los brazos del a MRE empleando un controlador backstepping. Este archivo, que es autoexplicativo, emplea el diagrama de ujos de la Fig. B.2. El resultado de la simulacin se muestran o en la Fig. B.3.
Inicio Parmetros del sistema Parmetros de sintonizacin Condiciones iniciales

Lazo de control

k=1 Seales de referencia Algoritmo de control Almacenamiento de datos k < N? NO Grficos de resultados SI

Fig. B.2: Diagrama de ujo para la simulacin de un sistema de control. o

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

B.1 Fundamentos de MATLAB

291

% DATOS DEL SUB-SISTEMA MECNICO A 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; E % DATOS DEL SUB-SISTEMA ELCTRICO Km = 0.0421; Kb=0.0564; Larm = 0; Ra = 5.3; KA = 12.5; % PARMETROS DE CONTROL A K = 5; K1=8; Ld=10; Kd=8; % VALORES INICIALES q1 = 0; q2 = 0; dq1 = 0; dq2 = 0; qe1 = 0; qe2 = 0; U % TIEMPO DE MUESTREO T (segundos) Y NMERO DE ITERACIONES N T= 0.01; N=4000; A = 1; % A: MAGNITUD DE LAS REFERENCIAS DESEADAS % LAZO DE CONTROL for k=1:N; % REFERENCIAS DESEADAS qd1 Y qd2 if(k >= 0 && k <= N/4), qd1 = 0.5*A; qd2 = 0.1*A; elseif(k >= N/4 && k <= N/2), qd1 = 0.2*A; qd2 = 0.7*A; elseif(k >= N/2 && k <= 3*N/4), qd1 = 0.8*A; qd2 = 0.3*A; elseif(k >= 3*N/4 && k <= N), qd1 = 0.3*A; qd2 = 0.5*A; end Qd1(k) = qd1; dqd1 = 0; ddqd1 = 0; Qd2(k) = qd2; dqd2 = 0; ddqd2 = 0; % ERROR DE SEGUIMIENTO e1 = q1 - qd1; e2 = q2 - qd2; z11 = e1; z22 = e2; dqr1 = dqd1 - K*z11; dqr2 = dqd2 - K*z22; % OBSERVADOR dqe1 = dqd1 + Ld*(q1 - qe1); qe1 = qe1 + T*(dqe1); dqe2 = dqd2 + Ld*(q2 - qe2); qe2 = qe2 + T*(dqe2); % CONTROL M11e = Ra*(J1 + Jeq + m2*L2*sin(qe2)^2/4)/(n*Km*KA); M22 = Ra*(J2 + Jeq+m2*L2/4)/(n*Km*KA); P11 = Ra*(Beq + n^2*Km*Kb/Ra)/(n*Km*KA); P12e = Ra*m2*L2*dqe1*sin(q2)*cos(q2)/(2*n*Km*KA); P21e = -Ra*m2*L2*dqe1*sin(q2)*cos(q2)/(4*n*Km*KA); P22 = Ra*Beq + n^2*Km*Kb/Ra/(n*Km*KA); d11 = 0; d21e = -Ra*m2*L2*g*sin(qe2)/(2*n*Km*KA); u1 = M11e*ddqd1+P11*dqr1+P12e*dqr2+d11- Kd*(dqe1-dqr1) - K1*z11; u2 = M22*ddqd2+P21e*dqr1+P22*dqr2+d21e-Kd*(dqe2-dqr2) - K1*z22; U1(k) = u1; U2(k) = u2; % MODELO DEL SISTEMA CONTROLADO M11 = Ra*(J1 + Jeq + m2*L2*sin(q2)^2/4)/(n*Km*KA); P12 = Ra*m2*L2*sin(q2)*cos(q2)*dq1/(2*n*Km*KA);

292

Fundamentos de MATLAB y Simulink

P21 = -Ra*m2*L2*dq1*sin(q2)*cos(q2)/(4*n*Km*KA); d21 = -Ra*m2*L2*g*sin(q2)/(2*n*Km*KA); dq1 = dq1 + T*(u1 - P11*dq1 - P12*dq2- d11)/M11; dq2 = dq2 + T*(u2 - P21*dq1 - P22*dq2- d21)/M22; q1 = q1 + T*dq1; Q1(k) = q1; q2 = q2 + T*dq2; Q2(k) = q2; end % FINALIZA EL LAZO DE CONTROL % GRFICOS A ejex=linspace(0,N*T,N); % EJE DE TIEMPO subplot(411) plot(ejex,Qd1(1:N),ejex,Q1(1:N)), grid on ylabel(POSICIN q1 [rad]) O subplot(412) plot(ejex,U1(1:N)),grid on xlabel(TIEMPO [S]) ylabel(CONTROL u1 [v]) subplot(413) plot(ejex,Qd2(1:N),ejex,Q2(1:N)), grid on ylabel(POSICIN q2 [rad]) O subplot(414) plot(ejex,U2(1:N)), grid on xlabel(TIEMPO [S]) ylabel(CONTROL u2 [v]) print -f -deps dfsimr % GENERA FIGURA dfsimr.eps

B.2.

Fundamentos de Simulink

Simulink se ejecuta dentro del entorno de MATLAB y depende de este programa para denir y evaluar el modelo a simular y los bloques de parmetros. Simulink tama bin usa algunas caracter e sticas de MATLAB, tales como: denicin de las entradas o del modelo, almacenamiento de las salidas del modelo para anlisis y visualizacin, a o y realizar operaciones y funciones propias de MATLAB dentro del modelo. Se recomienda los siguientes 6 pasos para modelar un sistema: (1) denir el sistema, (2) identicar los componenetes del sistema, (3) modelar el sistema con ecuaciones, (4) elaborar el diagrama de bloques en Simulink, correr la simulacin, y (6) o validar los resultados de la simulacin. o

B.2.1.

Fundamentos del Software Simulink

Para mostrar la biblioteca de bloques (Simulink Library Browser, Fig. B.4): 1. Abrir MATLAB, luego tipear simulink en el prompt. 2. Click el botn Start (extremo inferior izquierdo de la ventana MATLAB) y o luego seleccionar: Simulink > Library Browser. 3. Click en el icono Simulink: ubicado en la barra de menus de MATLAB.

B.2 Fundamentos de Simulink


POSICIN q1 [rad]

293

1 0.5 0 50 0 50 1 0.5 0 50 0 50

10

15

20

25

30

35

40

CONTROL u1 [v]

10

15

POSICIN q2 [rad]

20 TIEMPO

[S]

25

30

35

40

10

15

20

25

30

35

40

CONTROL u2 [v]

10

15

20 TIEMPO

[S]

25

30

35

40

Fig. B.3: Resultado de la simulacin del sistema de control backstepping del MRE: o las posiciones de los brazos del manipulador siguen las seales de referencia deseada. n

Para crear un nuevo modelo, seleccionar en el men de la ventana Simulink Library u Browser (SLB): File > New > Model. El software abre una ventana vac (Fig. B.5) a en donde construir el modelo. Para abrir un modelo existente: 1. En el men de la ventana SLB, seleccionar File > Open. En la ventana Open u buscar el archivo con extensin .mdl a abrir. Ubicado el archivo, seleccionarlo y o 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 el archivo .mdl. Luego, en el prompt de MATLAB, escribir el nombre del a archivo sin extensin, para que aparezca el modelo buscado. o 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 Cuando use la ventana SLB, notar lo siguiente: a. Los bloques de una biblioteca se pueden ver seleccionando el nombre de la

294

Fundamentos de MATLAB y Simulink

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

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 descripcin aparece en la parte inferior de o la ventana SLB. Para obtener mayor informacin de un bloque, seleccionar el bloque en la veno tana SLB, y en su men ir hacia Help > Help on the Selected Block. u Los parmetros de un bloque se pueden visualizar y cambiar haciendo click a derecha sobre el bloque. Se puede buscar un determinado block en la ventana SLB, insertando el nombre del block en el campo de bsqueda ubicado a la derecha del icono u Luego, hacer click sobre tal icono. .

La forma ms rpida de obtener ayuda en un bloque de una biblioteca, es hacer a a 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 botn Start ubicado en el exo tremo inferior izquierdo de la ventana MATLAB y luego ir a Start > Simulink > Demos.

296

Fundamentos de MATLAB y Simulink

B.2.2.

Creacin de un Modelo Simulink o

El problema a resolver v Simulink, es controlar la posicin angular de un brazo a o robtico de 1GDL empleando un controlador por linealizacin de la realimentacin y o o o 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, Conversin de x a o z, Seal u y Seal v, son en realidad subsistemas que alojan, cada uno, una porcin n n o del programa de control.
disnl2_u u Mux Seal u Seal v Proceso no lineal Mux x1 Referencia r disnl2_r Conversin Observador de x a z no lineal r grfico

disnl2_x1

Fig. B.7: Diagrama de bloques del archivo Simulink disnl2.mdl. Por otro lado, el bloque Referencia r es una seal sinusoide que se arrastra desde su n ubicacin en la ventana SLB: Simulink > Sources > Sine Wave (Fig. B.8), hacia o 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 de MATLAB: u Edit > Create Subsystem. Los rectngulos u, x1 y r mostrados en la Fig. B.7, que sirven para almacenar a datos, se crean arrastrando tres veces el rectngulo To File ubicado en la ventana SLB: a Simulik > Sinks > To File. Haciendo doble click en cada rectngulo, se introduce a un nombre a eleccin por ejemplo, disnl2_u, disnl2_x1 y disnl2_r. En la Fig. B.7, o Scope es un gracador que se obtiene de la ventana SLB: Simulink > Sinks > Scope. El procedimiento para obtener el resultado de este programa: los grcos de la salida a 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: Ubicacin del bloque Sin Wave. o

3 x3 1 u Kact gan 5 1 L.s+R sum1 subsistema elctrico n*E gan 2 N gan 3 MATLAB Function seno n*K gan 6 sum2 1 M.s+B subsistema mecnico

2 x2 1 s Integrador

1 x1

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

298

Fundamentos de MATLAB y Simulink ejecuta completamente porque recin se van a crear los archivos de datos. e

2. correr el programa Simulink disnl2.mdl haciendo click en el tringulo negro a ubicado en la parte superior de la Fig. B.7. 3. Tipear: save disnl2_x1, save disnl2_r, save disnl2_u en el el prompt de MATLAB. Estos comandos almacenan los datos en los archivos tipo *.mat: disnl2_x1.mat, disnl2_r.mat y disnl2_u. 4. Ejecutar nuevamente el archivo disnl2p.m para obtener la Fig. B.10
1 Posicin (radianes) 0.5 0 0.5 1

8 10 12 Tiempo en segundos

14

16

18

20

2.5 Seal de control (voltios) 2 1.5 1 0.5 0 0.5 0 2 4 6 8 10 12 Tiempo en segundos 14 16 18 20

Fig. B.10: Salida controlada y fuerza de control correspondiente.

Bibliograf a
[1] Murray R. Spiegel, Mathematical handbook, Shaums 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, Shaums outline series, McGraw-Hill, 3ed edition, Inc., 1999. [3] H. Goldstain, John L. Safko and Charles P. Poole Classical mechanics, 3ed. Addison Wesley, 2001. [4] James Curry, Hamiltonian and Lagrangian Mechanics. AuthorHouse, 2005. ISBN-10: 1420858564. ISBN-13: 978-1420858563. [5] Katsuhiko Ogata, Sistemas de Control en Tiempo Discreto. Prentice Hall Hispanoamericana S.A., Mxico, segunda edicin, 1996 e o [6] Murray R. Spiegel, Anlisis Vectorial, serie de compendios Schaum, McGrawa Hill Mxico Panam Bogot y otras, 1973 (o ediciones ms recientes). e a a a [7] Murray R. Spiegel, Clculo Superior, serie de compendios Schaum, McGraw-Hill a Mxico Panam Bogot y otras, 1973 (o ediciones ms recientes). e a a a [8] Donald M. Wiberg, Espacio de Estado y Sistemas Lineales, serie de compendios Schaum, McGraw-Hill Mxico Panam Bogot y otras, 1973 (o ediciones ms e a a a recientes). [9] Frank Ayres Jr., Matrices, serie de compendios Schaum, McGraw-Hill Mxico e Panam Bogot y otras, 1973 (o ediciones ms recientes). a a a [10] Alan V. Oppenheim y Alan S. Willsky, Seales y Sistemas Prentice-Hall Hisn panoamericana, S.A., Mxico-Englewood Clis-Londres-Sidney y otras, 1983. e [11] Murray R. Spiegel, Transformada de Laplace, serie de compendios Schaum, McGraw-Hill Mxico Panam Bogot y otras, 1973 (o ediciones ms recientes). e a a a [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 Edicin), Pearson Prentice Hall, 2005. o [17] K.J. strm y T. Hgglund, PID Controllers: Theory, Design, and Tuning. A o a 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 Auage, R. Oldenbourg Verlag Muenchen Wien 1980. [22] A. M. Lopez, J. A. Miller, C. L. Smith, and P. W. Murrill, Tuning controllers with error-integral criteria, Instrumentation Technology, vol. 14, pp. 5762, 1967. [23] A. Rovira, P. Murrill y C. Smith, Tuning controllers for setpoint changes. Instruments and Control Systems, 42(12): 6769, diciembre de 1969. [24] F.S. Wang, W.S. Juang y C.T. Chan,Optimal tuning of PID controllers for single and cascade control loops. Chemical Engineering Communications, Vol. 132, pp 1534, 1995. [25] C. Kessler, C., Das symmetrische Optimum, part 1, rt, No.11, pp. 395-400 and part 2, rt, No.12, pp. 432-436, (1958) [26] M. Zhuang y D. P. Atherton, Automatic tuning of optimum PID controllers, IEE ProceedingsPart D: Control Theory and Applications, Vol. 140, No. 3, pp. 216224, 1993. [27] D. Xue, Y. Q. Chen y D. P. Atherton, Linear Feedback Control: Analysis and Design with Matlab, SIAM, 2007. [28] C.A. Smith y A.B. Corripio, Control Automtico de Procesos, Limusa Noriega a Editores, 1996. [29] A. ODwyer, 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. Pein, C. Balaguer, and R. Aracil, Fundamentos de Robtica, n o 2nd Edition, McGraw-Hill/Interamericana de Espaa, S. A., Madrid, Buenos n aires, Caracas, and others, 2007. [35] S. Kilicaslan, S.P. BanksLocalizacin, A separation theorem for nonlinear syso tems, 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] Jerey B. Burl , Linear Optimal Control, Prentice Hall, 1998. [38] D. E. Koditschek, Natural Motion for Robot ArmsProc. 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. 11971209, 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 351356. 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 Liapunovs 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 alfabtico e
Determinante, 151 de una matriz, 151 propiedades, 152 Discretizacin directa, 178 o Ecuacin caracter o stica, 168 Eigenvalor, 159 Eigenvector, 159 Estabilidad de sistemas, 183 Forma cannica o controlable, 174 de Jordan, 176 diagonal, 175 observable, 175 Formas cannicas, 174 o Fracciones parciales, 142 Linealizacin de sistemas, 183 o Matrices, 148 diagonalizacin de, 162 o multiplicacin de, 148 o 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 Parmetros, variables y s a 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 Solucin de la ecuacin de estado, 170 o o Transformada de Laplace Frmulas de, 142 o inversa, 140 Propiedades de la, 145 unilateral, 138 Variables de estado, 163

You might also like