Vous êtes sur la page 1sur 68

Introduccin a Simulink

Simulink es una herramienta para el modelaje,


anlisis y simulacin de una amplia variedad de
sistemas fsicos y matemticos, inclusive aquellos
con elementos no lineales y aquellos que hacen uso
de tiempos continuos y discretos. Como una
extensin de MatLab, Simulink adiciona muchas
caractersticas especficas a los sistemas dinmicos,
mientras conserva toda la funcionalidad de
propsito general de MatLab. As Simulink no es
completamente un programa separado de MatLab,
sino un anexo a l. El ambiente de MatLab est
siempre disponible mientras se ejecuta una
simulacin en Simulink.
Introduccin a Simulink
Simulink tiene dos fases de uso: la definicin del
modelo y el anlisis del modelo:

La definicin del modelo significa construir el


modelo a partir de elementos bsicos construidos
previamente, tal como, integradores, bloques de
ganancia o servomotores.

El anlisis del modelo significa realizar la


simulacin, linealizacin y determinar el punto de
equilibrio de un modelo previamente definido.
Ambiente de Simulink
Para simplificar la definicin del modelo Simulink
usa diferentes clases de ventanas llamadas
ventanas de diagramas de bloques. En estas
ventanas se puede crear y editar un modelo
grficamente usando el mouse. Simulink usa un
ambiente grfico lo que hace sencillo la creacin
de los modelos de sistemas.

Despus de definir un modelo este puede ser


analizado seleccionando una opcin desde los
mens de Simulink o entrando comandos desde la
lnea de comandos de MatLab.
Alcances de Simulink y Aplicaciones
Puede simular cualquier sistema que pueda ser
definido por ecuaciones diferenciales continuas y
ecuaciones diferenciales discretas. Esto significa
que se puede modelar sistemas continuos en el
tiempo, discretos en el tiempo o sistemas
hbridos.

Dispone de una serie de utilidades que facilitan la


visualizacin, anlisis y guardado de los
resultados de simulacin.

Se emplea profusamente en ingeniera de control.


Es una herramienta de gran utilidad para la
simulacin de sistemas dinmicos.
Uso de Simulink
En primer lugar, para abrir la aplicacin se puede
proceder de tres maneras:

escribiendo simulink en la lnea de comandos de


Matlab
haciendo clic en el icono correspondiente en la
ventana de Matlab
abriendo desde el Explorador de Windows
cualquier fichero con extensin .mdl
Uso de Simulink
En el primero de los casos se abrir la ventana de
la figura.
Abrir Simulink
Tambin se puede entrar a simulink
haciendo click en el cono.
Uso de Simulink
Ventana navegacin
de bloques de Simulink
(Simulink Library
Browser).
Ventana inicial de Simulink
Esta ventana inicial no est destinada a crear
modelos de simulacin; su funcin principal
consiste en navegar por la enorme librera de
bloques disponibles para el modelado.

Simulink usa diagramas de bloques para


representar sistemas dinmicos. Mediante una
interface grfica con el usuario se pueden
arrastrar los componentes desde una librera de
bloques existentes y luego interconectarlos
mediante conectores y alambre.
Ventana inicial de Simulink
En la ventana inicial distinguimos dos partes:

la izquierda contiene una visin en forma de rbol


de todos los Toolboxes instalados que contienen
bloques Simulink.

La parte derecha de la ventana de la figura


muestra los bloques Simulink contenidos en el
Toolbox o nodo de la parte izquierda de la
ventana. Estos bloques se deben arrastrar sobre
el espacio de trabajo de Simulink para la creacin
de modelo a simular.
Para empezar una aplicacin
Haciendo doble click en cualquiera de las libreras
se abrir una ventana conteniendo una cantidad
de bloques relativos a dicha librera.

Para realizar un sistema debe abrirse una nueva


ventana de diagrama de bloques seleccionando la
opcin file del men principal del Simulink y all la
opcin new. En esta nueva ventana se colocarn
todos los bloques interconectados que formarn el
sistema deseado.
Crear un nuevo modelo
Hacer click en el
cono new -
model

Seleccionar el
cono Simulink
para obtener los
elementos del
modelo.
El espacio de trabajo de Simulink
Si pulsamos en el icono superior izquierdo de la
ventana de la figura anterior (pgina en blanco),
se abre una ventana blanca sobre la que
iniciaremos la creacin de un modelo de
simulacin. Dicha ventana se muestra en la figura
siguiente.
Biblioteca de Fuentes: Sources

Al pulsar sobre el
bloque titulado
Sources, aparece
la ventana indicada
en la figura.
Biblioteca de sources
From File: Lee datos de un archivo.
From Workspace: Lee datos de una matriz
definida en el espacio de estados.
Pulse Generator: Genera pulsos a intervalos
regulares.
Random Number: Genera nmeros aleatorios
distribuidos normalmente.
Repeating Sequence: Genera una seal arbitraria
repetible regularmente.
Signal Generator: Genera diferentes formas de
onda.
Sine Wave: Genera una onda senoidal.
Step Input: Genera una funcin escaln.
In1: Seal de entrada (de Connections).
Biblioteca de salida
a) Display: Visualiza numricamente la seal de
entrada.
b) Scope: Visualiza seales en ventanas de figura
MATLAB (con el escalado que le indiquemos).
c) Out1: Seal de salida (de la extinta
Connections).
d) Stop Simulation: Para la simulacin cuando la
entrada es distinta de cero.
e) To File: Escribe datos en un archivo.
f) To Workspace: Escribe datos en una matriz del
espacio de trabajo.
g) XY Graph Scope: Visualiza grficas X-Y de
seales en la ventana de figuras de MATLAB.
Biblioteca de sistemas continuos
El botn Continuous incluye bloques que
describen funciones continuas estndar (algunas
de la extinta Linnear) :

a) Derivative: Genera la derivada respecto al


tiempo de entrada.

b) Integrator: Integra una seal.

c) Transfer Fcn: Implementa una funcin de


transferencia lineal.

d) Zero-Pole: Implementa una funcin de


transferencia especificada en trminos de polos y
ceros.
Biblioteca de Matemtica
El botn Math incluye
bloques que permiten
la realizacin de
operaciones matemticas.
Solamente indicaremos
las que anteriormente
se encontraban en otras
libreras:
a) Gain: Ganancia (multiplica por una constante).
b) Slider gain: Ganancia mediante corredera.
c) Sum: comparador (sumador con signo)
Guardar el modelo
Hacer click en File Save
Seleccionar la carpeta donde guardar el archivo y
ponerle un nombre.
A medida que se va progresando en el modelo,
recordar guardarlo a menudo.
Ejemplo 1

Haga doble clic sobre Sources para tener accesibles sus


componentes, arrastre con el mouse el componente de
Sine Wave (Seal senoidal) a la ventana del modelo.
Puede, si as lo desea, cerrar la ventana
correspondiente a componentes de Sources, y
posteriormente abrir la de Sinks, para arrastrar el
componente Scope (Osciloscopio) hacia la ventana del
modelo, hasta ahora se tiene lo siguiente.
Seleccionar un bloque para el input

Arrastrar el bloque
Sine Wave desde
la librera Sources
hasta la ventana de
trabajo
Seleccionar un scope
Arrastrar el bloque
Scope desde la
librera Sinks hasta la
ventana de trabajo
Ejemplo 1 (cont.)
Conecte los dos componentes haciendo clic sobre
cualquiera de los puntos de conexin y mantenga
oprimido el botn izquierdo del mouse mientras se
mueve hacia el otro punto de conexin del
componente.
Modificacin de parmetros
Una vez conectados, haga doble clic sobre el osciloscopio
para abrir la pantalla que se muestra en la figura
anterior. Al iniciar la simulacin, oprimiendo el icono
indicado en la figura anterior, en la pantalla del
osciloscopio aparecer la seal correspondiente. Se
recomienda oprimir el icono de autoescala del
osciloscopio.
Para cambiar las caractersticas de la onda senoidal, haga
doble clic sobre el componente de Sine Wave sobre la
ventana del modelo, pueden realizarse cambios en la
frecuencia, amplitud, fase etc.
Use y observe los iconos del osciloscopio para aumentar
y disminuir el tamao de la grfica, cambiar los ajustes
del osciloscopio, imprimir y mantener los ejes.
Ajuste del generador
Ajuste del scope
Ejemplo 2
Ahora se trata de observar la funcin del multiplexor y
como almacenar la salida en variables vectoriales de
MATLAB.
a) En primer lugar montar el esquema de la figura,
eligiendo dos entradas para el multiplexor, y un valor
de 2 para la ganancia del bloque amplificador. Elegir la
misma fuente senoidal que para el caso del ejercicio
1. La variable de salida la llamaremos sal:
Ejemplo 2 (cont.)

b) Una vez preparado el sistema, tendremos que ajustar


los parmetros de la simulacin, que ahora sern:
- Stop time: 2
c) Se iniciar la ejecucin, obteniendo la siguiente salida
Ejemplo 2 (cont.)
Podemos llamar a la variable de MATLAB sal,
tecleando su nombre, para comprobar que se han
almacenado los valores en una matriz de dos
columnas (la segunda de valor doble que la
primera), por efecto de los elementos Gain y Mux.
Modelado de ecuaciones. Ejemplo 3
Vamos a construir un sistema que tome como
entrada grados Fahrenheit y los convierta en
Celsius (como entrada colocaremos una onda
senoidal para observar un amplio rango (la salida
ser un Scope con amplitud suficiente para
visualizar todos los resultados).
Sabemos que la ecuacin que realiza el cambio es
la siguiente:
Ejemplo 3 (cont.)

Podemos construir el siguiente sistema:

X(F)
Ejemplo 3 (cont.)
Obtenemos la siguiente salida (para una entrada
de amplitud 50 y frecuencia 1.
Ecuaciones diferenciales. Ejemplo 4

Construir un modelo en Simulink que


resuelva la siguiente ecuacin
diferencial:
dx
5sin 4t
dt

Condicin inicial:
x(0) 2.
Diagrama del modelo
El Input es la funcin 5sin(4t)
El Output corresponde a la solucin de la
ecuacin diferencial: x(t)

x(0) 2
dx dx
5sin 4t dt x
dt 5sin(4t)
1
x(t)
s
x(0) 2. (input) (output)
integrator
Seleccionar un integrador
Arrastrar un bloque
Integrator desde la
librera Continous hasta
la ventana de trabajo.
Seleccionar un scope
Arrastrar el bloque Scope
desde la librera Sinks
hasta la ventana de
trabajo
Conectar los bloques
Ubicar el cursor
en el puerto de
salida (>) del
bloque Sine
Wave
Arrastrar desde el X` x
puerto de salida
del bloque Sine
Wave hasta el
puerto de entrada
del bloque
Integrator
Arrastrar desde la
salida del bloque
Integrator hasta
la entrada del
bloque Scope
Seleccionar los parmetros de
simulacin

Doble click en el
bloque Sine Wave
e ingresar:
Amplitud = 5
Frecuencia = 4

Se forma as el
input deseado:
5sin(4t)
Seleccionar los parmetros
Doble click en el
bloque Integrator e
ingresar la condicin
inicial = -2

Se satisface as:
x(0) = -2
Resultados de la simulacin

Hacer doble
click en el
bloque
Scope

Se visualiza
el output x(t)
en la ventana
Scope
Ecuaciones diferenciales. Ejemplo 5

Vamos ahora a simular la siguiente ecuacin


diferencial simple
x+ 3x = 2u
Esto lo podemos hacer de la siguiente forma

x` x
Ejemplo 5 (cont.)
Ejemplo 6
Vi = R i(t) + L di(t)/dt

di(t)/dt = 1/L (Vi R i(t))

Scope

1
1/L i
s
Step Gain1 Integrator To Workspace

Gain
Ejemplo 6 (cont)
Salida del sistema
-3
x 10
1

0.9

0.8

0.7

0.6
corriente [A]

0.5

0.4

0.3

0.2

0.1

0
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02
tiempo
Ejemplo 7
Construir un modelo en Simulink que
resuelva la siguiente ecuacin
diferencial:
d 2x dx
m 2 c kx f (t )
dt dt
Condiciones iniciales = 0
El input f(t) es una funcin escaln con
magnitud 2
parmetros: m = 0.4, c = 0.6, k = 1
Resolucin ejemplo 7
Primero, expresar la ecuacin en trminos
de la derivada de mayor orden:
d 2x dx
m 2 f (t ) c kx
dt dt
Crear un bloque de suma al lado izquierdo
de la ventana de trabajo.

d 2x
m 2
dt

Bloque
sum
Ejemplo 7 (cont)
Arrastrar el bloque Sum
desde la librera Math

Doble click en Sum para


cambiar los parmetros a
rectangular y + - -
Ejemplo 7 (cont)
Agregar un bloque gain (multiplicador) para
eliminar el coeficiente m y as despejar la
derivada de mayor orden:
d 2x d 2x
m 2
dt dt 2
1
m
Bloque
Sum

La constante m=0.4 , luego 1/m = 2.5


Ejemplo 7 (cont)

Doble click para cambiar los


parmetros del bloque gain
Ejemplo 7 (cont)
Agregar los bloques integrator para obtener la
variable deseada.
2
d 2
x dx
d x
m 2 dt
dt 1 dt 2
1 1 x
m s s
Bloque
Sum

Las condiciones iniciales son cero, el bloque


integrator viene por defecto con este valor por
lo que no es necesario modificarlo en este caso.
Ejemplo 7 (cont)
Arrastrar los bloques
Integrator desde
la librera
Continuous

Agregar el bloque scope desde la


librera Sinks
Ejemplo 7 (cont)
Conectar las seales integradas con bloques multiplicadores
(Gain) para crear los trminos del lado derecho de la
ecuacin diferencial:

d 2x d 2x dx
m 2
dt 1 dt 2 1 dt 1 x
m s s
Bloque dx c
Sum c
dt
kx k
Ejemplo 7 (cont)
Crear 2 nuevos bloques Gain
Para girar el bloque gain,
seleccionarlo, click derecho y
elegir FLIP BLOCK en el men
FORMAT

Doble click en los


bloques Gain para
modificar los
parmetros.
C =0.6
Completamos el modelo
Unir todas las seales al bloque sum fijndose en
los signos
Agregar f(t)

f(t) + d2x
1
m
dt 2
d2x
1 dx
1 x
input - dt 2 dt
x(t)
m s s
- output
dx
c dx
dt
c dt

kx x
k
Modificamos el step

Doble click en el bloque


Step para cambiar los
parmetros. Para un paso
de magnitud 2, cambiar el
Final Value a 2.
Modelo final del ejemplo 7
Correr la simulacin
Resultados
Ejemplo 8. Sistema mecnico

Consideremos el sistema mecnico de la figura consistente


en una masa M unida a un muelle de constante elstica K, y
con un rozamiento viscoso B. La fuerza externa f(t) es la
entrada al sistema, y el desplazamiento x(t) de la masa es
la salida. El desplazamiento x(t) se mide a partir de la
posicin de equilibrio en ausencia de una fuerza externa.
Este sistema tiene una sola entrada y una sola salida.
Ejemplo 8 (cont.)
La salida que pretendemos visualizar ser la posicin del
conjunto x(t). Para obtenerla tendremos que utilizar dos bloques
integradores, as como distintos bloques multiplicadores o de
ganancia (estos bloques permiten multiplicar un bloque por una
constante). Por tanto despejando de la ecuacin diferencial que
rige el comportamiento del sistema el trmino d2x(t) / dt 2.

La representacin de este sistema mecnico en SIMULINK se


muestra en la figura 12. Se han elegido los siguientes valores para
las constantes:
K:10.
B:1.
M:1.
Ejemplo 8 (cont.)
Ejemplo 8 (cont.)
Ejercicio

El objetivo es simular el comportamiento de un sistema


elctrico del que conocemos su ecuacin diferencial:Se tomar
como seal de entrada v(t) y como salida la seal i(t).
Ejercicio (cont.)
Se comprobarn los resultados obtenidos para
dos tipos de entradas:

v(t) = escaln. En este caso lo que estamos


haciendo es similar a un anlisis transitorio en
continua. El tipo de respuesta depender del
coeficiente de amortiguamiento. Para modificarlo
variaremos los valores R, L, C.

v(t) = senoidal. Este caso corresponde al


anlisis de un circuito en alterna. Para comprobar
la salida en rgimen permanente, que ser lo que
nos interese en este caso, tendremos que fijar un
tiempo de simulacin lo suficientemente largo.
Ejercicio (datos)
Obtener el bloque Scope con los siguientes parmetros.
Resistencia: R= 0.5W
Bobina: L = 1H
Condensador: C = 0.1F
Seal de entrada: escaln de amplitud 1V
Tiempo de simulacin: 20 segundos

Y con.
Resistencia: R= 0.5W
Bobina: L = 1H
Condensador: C = 0.1F
Seal de entrada: senoidal de amplitud 5V y frecuencia 1 rad/seg
Tiempo de simulacin: 20 segundos

Nota: lo ms conveniente para la representacin en Simulink


era despejar d 2 x(t) / dt 2 , en este caso lo ms apropiado es
despejar di(t)/dt. De este modo podemos representar el
sistema utilizando slo el operador integral; en otro caso
deberamos utilizar el operador derivada, que ofrece mayores
dificultades para la simulacin.
Ejercicio (cont.)
Esta ecuacin diferencial no lineal de
segundo orden describe el
comportamiento dinmico del pndulo.

Los valores de las constantes que definen al sistema son:


l = 1; % longitud en metros
B = 2; % coef. de friccin viscosa en N.m / (rads/s)
g = 9.8; % aceleracin de la gravedad m.s^2
m = 3; % masa en kg
J = m*l^2; % momento de inercia en kg.m^2
Ejercicio pndulo
Determinar mediante Simulink la evolucin del
sistema cuando se introduce durante 2 segundos
un par de T=10 Nm2. Obtener una representacin
grfica de la evolucin a lo largo del tiempo del
ngulo girado q.

Simular la evolucin del pndulo cuando se deja


en movimiento libre (T=0), partiendo las
condiciones iniciales:

tita(0) =pi/2
tita(0) = 5 rad/s
Ejercicio (resolucin)

Vous aimerez peut-être aussi