You are on page 1of 22

T3

Simulacin

OBJETIVOS
 Implementar un modelo matemtico dinmico basado en
ODEs en un lenguaje de simulacin orientado a bloques

CONTENIDOS
 Resolucin de modelos de ODEs
 Lenguajes de simulacin orientados a bloques
 Caractersticas
 Procedimiento para el desarrollo del modelo de simulacin
 Simulacin en SIMULINK
 Ejercicios:
 Depsito (a realizar en aula)
 Sistema electromecnico (trabajo personal)
 Ejercicios adicionales (estudio personal)
Bibliografa:
Manual Bsico de Simulink (Universidad de Sevilla).
Manual Avanzado de Simulink (Universidad de Sevilla).
Simulation and Modelling
1 of Continuos Systems. D. Matko, R. Karba, B. Zupancic. Prentice Hall. Captulo 2 (pp. 26-31)

Resolucin de modelos de ODEs:


|

Los modelos matemticos basados en ecuaciones diferenciales se


pueden resolver de distintos modos:
z

De forma analtica, si el conjunto de odes resultante tiene solucin analtica,


(posible/asequible en el caso de que las odes sean lineales).
Ejemplo:

y(t ) = a y (t ); y (t = 0) = y0 .
Solucin : y(t) = y0 e at

De forma numrica, recurriendo a una herramienta de simulacin.

Existen distintos tipos de lenguajes de simulacin de propsito


general que permiten representar ecuaciones diferenciales y eventos
discretos:
z

Lenguajes orientados a ecuaciones (permiten escribir el modelo en una


formulacin semejante a las ecuaciones matemticas):
ACSL, Dymola, EcosimPro

Lenguajes orientados a bloques (implican transformar las ecuaciones matemticas


en un conjunto de bloques interconectados):
Simulink, Vissim, ..

Tambin existen herramientas de simulacin para un dominio de la


ingeniera en particular (electrnica, qumica, mecnica,)

Lenguajes de simulacin orientados a bloques


|

Caractersticas:
z

Disponen de una librera de bloques de clculo.


Los ms comunes son: integradores, sumadores,
ganancias, y funciones matemticas.
En especial el bloque integrador recibe el valor de la
derivada en el tiempo de una seal y calcula el valor de
dicha seal. Necesita como dato el valor de la seal
calculada en t=0 (condicin inicial).

z
z

Cada bloque tiene una causalidad computacional


predefinida (entradas y salidas) y calcula el valor
de la salida en funcin del valor de las entradas.
El modelo se define interconectando entre si los
bloques.
Adems deben incluirse los bloques que
especifican las entradas del modelo y otros para
visualizar resultados (grficas de tendencia,
indicadores de valor de variables,
almacenamiento en ficheros).

Lenguajes de simulacin orientados a bloques


|

Procedimiento para el desarrollo del modelo de simulacin


|

Paso 1: manipular simblicamente el modelo matemtico


|

Paso 1.1: identificar cuales son las variables de entrada al modelo.

Paso 1.2: comprobar que en el modelo matemtico se tiene tantas


variables desconocidas como ecuaciones (fjese que las variables de
entrada al modelo se van a considerar conocidas).

Paso 1.3: para cada ODE del modelo, manipularla de modo que la
derivada de mayor orden aparezca despejada en la parte izquierda de la
ecuacin.

Paso 1.4: si tenemos ecuaciones algebraicas debemos usarlas para


despejar las variables del modelo que no aparecen derivadas en el
tiempo (variables algebraicas)

Lenguajes de simulacin orientados a bloques


|

Procedimiento para el desarrollo del modelo de simulacin


|

Paso 2: dibujar el diagrama de bloques:


|

Paso 2.1: para cada ODE del modelo, dibujar una cascada de
integradores con tantos integradores como derivadas aparezcan en la
ecuacin. Despus utilizar el resto de bloques para reflejar la ecuacin
diferencial representada.

Paso 2.2: para cada ecuacin algebraica, utilizar los bloques necesarios
para representarla.

Paso 2.3: conectar los diagramas de cada ecuacin y aadir los bloques
de entrada

Lenguajes de simulacin orientados a bloques


|

Ejemplo:

&y&&(t ) + a &y&(t ) + b y& (t ) + d = z (t )


z (t ) c( y (t ) u (t ) ) = 0

u (t )
|

Paso 1: manipular simblicamente el modelo matemtico


|

Paso 1.1
|
|

Entrada: u(t)
Salida: y(t)

Paso 1.2:
|

Variables desconocidas: y(t), z(t), se dispone de dos ecuaciones.

Paso 1.3 (manipular ODES):

&y&&(t ) = a &y&(t ) b y& (t ) z (t ) d


|

Paso 1.4 (manipular algebraicas):

z (t ) = c( y (t ) u (t ) )
6

y (t )

Lenguajes de simulacin orientados a bloques


|

Paso 2: dibujar el diagrama de bloques


|

Paso 2.1:

&y&&(t ) = a &y&(t ) b y& (t ) z (t ) d

Paso 2.2:

z (t ) = c( y (t ) u (t ) )
7

Lenguajes de simulacin orientados a bloques


|

Paso 2.3:

Fjese que cada


bloque integrador
necesita el valor
inicial de la variable
de salida

Construccin de un modelo SIMULINK


|

A partir de una descripcin de este tipo es muy sencillo construir el modelo en una
herramienta como SIMULINK, no tenemos ms que seleccionar los bloques necesarios,
conectarlos y asignarles valores.
Desde la ventana de comandos de Matlab, ejecutar "simulink" y aparecer la ventana
que nos muestra las libreras de bloques:
|

En nuestro caso la
libreras Commonly
Used Blocks,
Continuous, Math
operations sern
suficientes para
describir el modelo
matemtico.

Adicionalmente las
libreras Sources
(seales de entrada)
y Sinks (elementos
de visualizacin)
sern necesarias
para simular
experimentos y
visualizar resultados.

Construccin de un modelo SIMULINK


|

10

Realizando un doble
click en el smbolo de
cada librera se despliega
un men con los
elementos que contiene.
A continuacin se
muestran las libreras y
se indican algunos de los
bloques ms comunes

Construccin de un modelo SIMULINK

11

Construccin de un modelo SIMULINK


|
|

|
|

12

Para generar un modelo simulink debe seleccionar New en el men File.


Aparecer otra ventana a la que arrastraremos los bloques necesarios desde la
correspondiente librera. Iremos conectando los bloques y asignndoles valores
numricos.
Una vez que est construido el modelo de simulacin lo almacenaremos (save)
Para ejecutar el modelo podemos hacerlo desde el men simulation o pulsando el
botn indicado en la figura.
|
Normalmente, la simulacin finalizar en el tiempo especificado en esta ventana.
|
Dentro del men simulation podemos acceder a los parmetros de configuracin
de la ejecucin de la simulacin.
|
Podremos observar los resultados en los bloques de visualizacin.

Construccin de un modelo SIMULINK


|

El procedimiento aqu indicado es especialmente til en el caso de que los modelos sean
no lineales.
Si el modelo es lineal y le hemos expresado de acuerdo con la formulacin del espacio de
estados su inclusin en SIMULINK es muy sencilla, tanto como seleccionar y parametrizar
el bloque State-Space de la librera Continuous.
|

La entrada ser la seal u y la salida la y.


|

|
|

13

Podran ser seales vectoriales, en el caso de que tengamos varias entradas o salidas. En ese caso deben
usarse los bloques Mux y Demux para generar/expandir seales vectoriales/escalares de/a seales
escalares/vectoriales.

Deben especificarse las condiciones iniciales de las variables de estado.


Normalmente A, B, C y D sern matrices y deben introducirse del mismo modo que se hace en
MATLAB.

Ejercicio de aula: depsito


Entradas: u(t) y q(t)
Variables desconocidas: h(t)

d h(t )
= q(t ) u (t )k h(t )
dt

h(t = 0) = h0

Se dispone de una sola ODE, suficiente para calcular la nica incgnita.


Se manipula simblicamente la ecuacin, despejando la derivada de
mayor orden. d h(t ) 1

dt

q
h

(q(t ) u(t )k

h(t )

Se dibuja el diagrama de bloques, incluyendo el valor inicial de la altura en el


depsito.

Datos (parmetros y
condiciones iniciales):
A= 2 m 2
5

k = 0 .1

s
h( 0 ) = 4 m
14

Experimento a realizar:
Simule la respuesta del sistema ante cambios escaln (step) tanto en el caudal
de entrada (rango 0-15) como en la seal de mando de la vlvula (rango 0-1).
Un tiempo de simulacin razonable puede ser 30 s, aunque depender de los
instantes de cambio de la seal de caudal y de la apertura de vlvula.

m3
q( t = 0 ) = 1 ; u( 0 ) = 50%
s

Ejemplo 2: Sistema Electromecnico

Controldeposicinenlazoabiertodeunamasaapartirdelatensindealimentacinu(t).
LafuerzaF(t)generadaporelsolenoideesproporcionalalaintensidadquecirculaporla
bobina.

u (t ) = Ri1 (t ) + Vc (t )

dVc (t ) 1
= (i1 (t ) i2 (t ) )
dt
C
di2
Vc (t ) = L (t )
dt
d 2 x (t )
dx (t )
m

F
(
t
)
K

x
(
t
)
b

Sistema mecnico (segunda ley de Newton):


dt 2
dt
Fuerza ejercida por el solenoide: F (t ) = i2 (t )
Circuito elctrico:

15

A2.1 Modelado 1112 avpm v05

sistema electromecnico

u (t ) = Ri1 (t ) + Vc (t )
dVc (t ) 1
= (i1 (t ) i2 (t ) )
dt
C
di
Vc (t ) = L 2 (t )
dt

d 2 x (t )
dx (t )
=

m
F
(
t
)
K

x
(
t
)
b

dt 2
dt
F (t ) = i2 (t )

Entradas: u
Salidas: x
Variables desconocidas: i1, i2, Vc, x, F. De las cuales son algebraicas (no aparecen derivadas) i1, F.
Se dispone de 5 ecuaciones (3 Odes y 2 ecuaciones algebraicas). En principio el modelo es completo
y puede plantearse su manipulacin simblica.
16

sistema electromecnico
Paso 1: Manipulacin simblica.
|
|

Paso 1.3: para cada ODE del modelo, manipularla de modo que la derivada de mayor
orden aparezca despejada en la parte izquierda de la ecuacin.
Paso 1.4: si tenemos ecuaciones algebraicas, debemos usarlas para despejar las
variables del modelo que no aparecen derivadas en el tiempo (variables algebraicas)

dVc (t ) 1
dVc (t ) 1
(
)
= (i1 (t ) i2 (t ) )
(
)
(
)
=

i
t
i
t
1
2

dt
dt
C
C

di2 (t ) = Vc (t )
V (t ) = L di2 (t )
dt
c
L
dt
2

2
dx(t )
(
)
(
)
d
x
t
dx
t

d x(t ) 1

= F (t ) K x(t ) b
= F (t ) K x(t ) b

m
2
2
m
dt
dt
dt

dt
u (t ) = Ri1 (t ) + Vc (t )

u (t ) Vc (t )

i1 (t ) =
R
F (t ) = i2 (t )

F (t ) = i2 (t )

17

sistema electromecnico
Paso 2: Dibujar el diagrama de bloques, de cada ecuacin.

18

sistema electromecnico
Paso 2: Dibujar el diagrama de bloques, conectando cada ecuacin

19

Tarea personal: sistema electromecnico


Datos:
Parmetros (segn dibujo y =10 )

Condiciones iniciales: todas nulas.


Experimentos a realizar:
1) Duracin 60 s.
Cambie con un escaln en t=5 el voltaje de entrada de 0 a 10 voltios.
2) Duracin 300 s.
Cambie con un generador de pulsos el voltaje de entrada (amplitud=5,
periodo 30 s, ancho del pulso=10%).
En ambos casos visualice la seal de entrada y la seal de salida (posicin
de la masa).
20

Ejercicios adicionales (estudio personal)


A partir del modelo matemtico de cada sistema, desarrolle el modelo de simulacin
para una herramienta de simulacin orientada a bloques de los siguientes
sistemas:
Masa suspendida:
entrada F(t), salida x(t), que es el desplazamiento del extremo inferior del muelle
desde el lugar que ocupa al colgar la masa y dejar que el sistema se estabilice.

-kx

21

mg

d 2 x (t )
m
= k x (t ) + F (t )
2
dt

Ejercicios adicionales (estudio personal)


Pndulo: entrada T(t), salida (t)

d 2 (t ) m g L
J
+
sen (t ) = T (t )
2
2
dt

22