Simulink 14 May

56
 PAE III: IMLACIN DE IEMA DINMICO CON IMLINK M. I. C G P.

Transcript of Simulink 14 May

PARTE III:

SIMULACIN DE SISTEMAS DINMICOS CON SIMULINK

Mag. Ing. Carlos Gustavo Prez.

Contenido Creacin de un modelo en Simulink. Reconocimiento de las libreras de bloques. Elementos de la simulacin de modelos. Configuracin de parmetros. Funciones de Transferencia. Modelamiento de Sistemas Dinmicos. Modelamiento de controladores. Interaccin con el espacio de trabajo de Matlab.

IntroduccinSimulink es un entorno de desarrollo para simulacin y diseo (estructurado en modelos) para sistemas dinmicos y embebidos. Proporciona un entorno grfico interactivo as como un conjunto de bibliotecas de bloques que permiten disear, simular, implementar y probar una variedad de sistemas variables en el tiempo, tales como sistemas de comunicaciones, control, procesamiento digital, procesamiento de video, y procesamiento de imgenes.

Cul es la finalidad de Simulink?Modelamiento y diseo de sistemas dinmicos (incluyendo los sistemas no lineales). Modelamiento y diseo de sistemas de control (incluyendo controladores y plantas no lineales). Diseo y simulacin de sistemas de procesamiento de seales.

Creacin de un modelo En la ventana de comandos en MATLAB escribir:>>simulink ->ENTER. Otra opcin es, mediante un click en el cono de bloques.

Creacin de un modelo Hacer click en el cononew-model.

Seleccionar el conoSimulink para obtener los bloques bsicos para la programacin del modelo.

1.

Espacio de trabajoEl modelo se crea en esta ventana:

Librera de elementos:

2. Diagrama de Bloques Los diagramas de bloques se componen de iconos querepresentan las diferentes secciones del proceso (entradas, los modelos de espacio de estado, funciones de transferencia, salidas, etc.) y las conexiones entre ellos.

Ejemplos:

3.

Configuracin de cada bloque funcional

Una vez que el diagrama de bloques es "construido ", esnecesario especificar los parmetros en los distintos bloques, por ejemplo, la ganancia de una funcin de transferencia.

Una vez que estos parmetros se especifican, el usuariotiene que definir el mtodo de integracin (de las ecuaciones dinmicas), amplitud de paso, inicio y fin de la integracin (Simulacin en Tiempo), etc.

4.

Ejecutando la simulacin

Finalmente se configura el tiempo de inicio de la simulacin y el tiempo total de la misma. Para ejecutar el programa: Menu Simulation -> Start , Ctrl-T. Tambin se ejecuta el programa dando click en el icono play :

Modelamiento de Sistemas Dinmicos Un modelo de diagrama de bloques en Simulink es unarepresentacin grfica de un modelo matemtico de un sistema dinmico. Un modelo matemtico de un sistema dinmico se describe por un conjunto de ecuaciones. Las funciones matemticas que describen un modelo de diagrama de bloques pueden ser algebraicas, ecuaciones diferenciales y / o ecuaciones de diferencias. Normalmente, un archivo -m de MATLAB utiliza ode45 para resolver sistemas de ecuaciones diferenciales lineales y no lineales ordinarias.

Diagrama de bloques en funcin del tiempo El trmino "diagrama de bloques en funcin del tiempo" se utiliza para diferenciar diagramas de bloques que describen los sistemas dinmicos de los de otras formas de diagramas de bloque. En Simulink, se utiliza el trmino diagrama de bloques (o modelo) para referirse a un diagrama de bloques en funcin del tiempo a menos que el contexto exija una distincin explcita.

Tiempo El tiempo es un componente inherente de los diagramas debloques en los que los resultados de una simulacin varan dinmicamente. Dicho de otra manera, un diagrama de bloques representa el comportamiento instantneo de un sistema dinmico. Pasos de tiempo (Time Steps): Son el intervalo de tiempo entre cada accin sobre el modelo durante el tiempo de simulacin. Tiempo de simulacin (Simulation Time). Tiempo total de la simulacin (desde el inicio hasta el final).

Estados Normalmente, los valores actuales de las salidas de unsistema (modelo) son funciones de los valores anteriores de estas mismas variables. Estos valores se almacenan en variables temporales y se denominan estados (para cada paso de tiempo, time step).

Las salidas computadas de un modelo son almacenadasentre periodos de muestreo. Simulink lleva a cabo esta tarea durante la simulacin para los estados simulados. En un modelo Simulink se crean dos tipos de estados: discretos y continuos

Estados Continuos Los estados continuos cambian frecuentemente. Ejemplosde estados continuos son la posicin y la velocidad de un vehiculo.

Estados Discretos Un estado discreto es una aproximacin de un estadocontinuo donde el estado es actualizado usando intervalos peridicos o aperidicos de tiempo.

Un ejemplo de un estado discreto puede ser la posicin deun carro medida por un odmetro digital que actualiza su medicin cada segundo.

Cuando el intervalo de tiempo entre muestras tiende acero se tiene un estado discreto equivalente a un estado continuo.

Estados Discretos

Fuentes: producen seales

Seleccionar Sources de la librera, arrastrar los bloques necesarios al modelo.

Salidas: seales terminales

Seleccionar Sinks de la librera, arrastrar los bloques necesarios al modelo.

Configuracin de Parmetros

Ejemplo 1. Construir un modelo en Simulink que resuelva lasiguiente ecuacin diferencial:

dx = 3 sin( 4t ) + 10 7.6 cos(7t ) dt

Condicin inicial:x ( 0) = 2

Ejemplo 1. La entrada es: 3sen(4t) +10 - 7.6cos(7t) La salida corresponde a la solucin de la ecuacindiferencial: x(t)

x(0) = 2dx dt1 s integratorx

3sin(4t)+10-7.6cos(7t) (input)

x(t) (output)

Ejemplo 2. Construir un modelo en Simulink que resuelva lasiguiente ecuacin diferencial:

d 2x dx m + c + kx = f ( t ) 2 dt dt Condicions iniciales= 0: Input f(t) es una funcin escaln de magnitud 3.5 Parmetros:m=0.4, c=0.6, k=1;

Estructura de funcionamiento de un modelo en SimulinkPara desarrollar un modelo en Simulink es necesario especificar: El modelo del sistema (espacio de estados, continuos, discretos, funciones de transferencia, sistema nolineal de ODE, etc). La entrada (source) para el sistema. La salida (skin) de la simulacin. Los parmetros del modelo, las entradas y salidas haciendo clic en los iconos apropiados.

Enrutamiento de seales

La librera Signal Routing contiene el bloque Mux que es de mucha utilidad para empaquetar seales en una sola variable, el bloque Demux descompone una variable empaquetada en sus respectivas seales.

Funciones de TransferenciaPara construir una funcin de transferencia basta con introducir los polinomios del numerador y del denominador en el bloque transfer function.

Ejemplo 3. Simular la funcin de transferencia planteada en eldominio de Laplace, para una entrada escaln:

u(t)

10 5s 2 + 50 s + 6

y(t)

Esta funcin de transferencia representa a un habitculocon su sistema de calefaccin.

Ejemplo 3. u(t): entrada, variable manipulada. Representa el calorentregado por el calefactor. y(t): salida, variable de proceso. Representa la temperatura medida en el habitculo.

Bloques a incluir en el modelo:

Ejemplo 3.-

Ejemplo 3.-

Se observa que el habitculo requiere 250 minutos paraalcanzar la temperatura de equilibrio. Asimismo, se percibe que para lograr una temperatura de 20C el calentador enva una seal de 2.0 voltios

Ejemplo 3.Efecto de las perturbaciones: Un ejemplo tpico de perturbacin para un control de temperatura en un ambiente cerrado es la apertura de una compuerta que genere escape de calor, esta perturbacin se representa en diagrama de bloques:Perturbacin (apertura de la puerta) d(s)

Entrada (calefactor) u(s) G(s)

Salida (Temperatura) y(s)

Ejemplo 4. Fijando el calentador en 2.0 voltios, implementar elmodelo de simulacin considerando como perturbacin la apertura de la puerta del horno transcurridos 150 minutos. El efecto de la perturbacin es de -0.5 voltios

Ejemplo 4.-

Se puede observar que el habitculo en lazo abierto esmuy sensible a las perturbaciones. La solucin es implementar un sistema de control en lazo cerrado.

Control en Lazo cerrado: Controlador On/Off Este tipo de control presenta la siguiente estructura:d(t)

r(t) -

e(t)

Controlador

u(t)

Proceso

y(t)

Control en Lazo cerrado: Controlador On/Off El controlador On/Off, genera una ley de control del tipo:u(t) M

0 T(t) u(t) M

e(t) 0

Ejemplo 5. Implementar el sistema de control de temperatura para elhabitculo con controlador On/Off utilizando un relay:Parmetros bloque Relay

Switch on point: 0.1 Switch off point: 0 Output when on: 5 Output when off: 0 Sample Time: 0.1

Ejemplo 5.-

Trabajo 1. Mejorar el sistema de control on/off planteado incluyendoun factor de histresis segn la siguiente condicin:u(t) M

e(t)

0

Incorporar un retardo puro de 9 minutos. Detallar las ventajas y desventajas de incluir el factor dehistresis. Citar observaciones acerca de la inclusin del retardo.

Solvers en Simulink Un sistema dinmico es simulado a travs del computo sucesivode estados en cada paso de tiempo (time step) durante todo el tiempo de simulacin y usando informacin provista por el modelo.

El proceso de computar sucesivamente los estados de un sistemadesde el modelo es conocido como la solucin del modelo. Existen algunos mtodos para resolver cada tipo de sistema, es por eso que es importante considerar el tipo de Solver para cada problema en particular.

Como se vi previamente, en la pestaa Configuracin deParmetros se permite configurar el tipo de solucionador.

Solucionador de Paso Fijo (Fixed Step Solver) Los solucionadores de Paso Fijo (Fixed-step) resuelven elmodelo a intervalos regulares de tiempo desde el principio hasta el fin de la simulacin.

El tamao del intervalo es conocido como step size . Esposible especificar el valor de esta variable o dejar que el solucionador encuentre el mejor valor.

Generalmente, decrementando el valor de step size selogra incrementar la precisin de los resultados pero aumentando simultneamente el tiempo necesario para la simulacin del sistema.

Solucionador de Paso Variable (Variable Step Solver) Estos solucionadores varan el tamao del intervalo de clculostep size durante la simulacin, reduciendo el mismo para incrementar la precisin cuando los estados del modelo van cambiando rpidamente e incrementa su valor cuando los estados empiezan a cambiar lentamente.

Computar el tamao del step size aade una sobrecargacomputacional al sistema pero puede reducir el tamao de los pasos reduciendo el tiempo de simulacin y manteniendo un nivel mas eficiente de precisin.

Control en Lazo cerrado: Controlador PID Al igual que el controlador On/Off, este tipo de controlconvencional tambin presenta la estructura:d(t)

r(t) -

e(t)

Controlador

u(t)

Proceso

y(t)

Ejemplo 6. Implementar el sistema de control de temperatura para elhabitculo planteado con controlador PID, utilizando el bloque correspondiente.Parmetros bloque PID:

Proporcional: 4.2 Integral: 0.1 Derivativo: 1.2

Ejemplo 6. Tiempo de simulacin: 50 segundos

Ejemplo 7. Simular el sistema de control de nivel mostrado en lafigura. El objetivo es mantener el nivel del tanque 2 a 2 metros de altura:

Ejemplo 7. Modelando el proceso:

Ejemplo 7. Solucin de las ecuaciones diferenciales:dh1 ( t ) Fo (t ) F1 ( t ) = A1 dt Fo K1 dh1 (t ) h1 (t ) = A1 dt

F0 (t ) F1 (t ) A

1 s

h(t )

Fo K1 h1 (t ) dh1 (t ) = A1 dt

Ejemplo 7. Modelo Simulink a implementar para el primer tanque:

rea 1 = 0.25 m2 F0= 1 K1= 0.5

Modelo para los dos tanques en lazo abiertoCoeficientes:

rea 1 = 0.25 m2 rea 2 = 0.33 m2 K1= 0.5 K2=1.2 F0=1 F30=1 Amp.F3=0.5 H2set=2

Kp=4

Ejemplo 7. Respuesta de los dos tanques en lazo abierto:

Control PID para el nivel del Tanque 2Parmetros bloque PID:

Proporcional: 18 Integral: 9 Derivativo: 8

Ejemplo 7. Respuesta de los dos tanques en lazo cerrado concontrolador PID:

Exportar datos al espacio de trabajo de Matlab El primer mtodo es a travs de las opciones del bloqueosciloscopio (Scope). En la pestaa Data History activar la casilla Save Data to workspace , asignar un nombre y tipo a la variable.

Exportar datos al espacio de trabajo de Matlab El segundo mtodo es agregar directamente al modelo elbloque To Workspace (librera Sinks) y conectarlo a la seal que se necesita almacenar. Para registrar la seal de tiempo de simulacin se inserta el bloque Clock (librera Sources). Es necesario asignar el nombre y tipo de variable.

Ejemplo 8. Exportar las alturas de los Tanques 1, 2 y el tiempo de simulacin alespacio de trabajo. Usar variables de tipo array.

Ejemplo 8.En el espacio de trabajo, escribir los comandos:

plot(tiempo,H1) plot(tiempo,H2)Tanque 1 3 H1 2.5 2 2 Altura (m) 1.5 1 0.5 0.5 0 -0.5 0 0 0 Altura (m) 1.5 2.5 H2 Tanque 2

1

5

10

15 Tiempo (s)

20

25

30

5

10

15 Tiempo (s)

20

25

30