Está en la página 1de 15

2 curso de Grado de Ingeniera Industrial:

Automtica Industrial

Introduccin a
Simulink

Departamento de Ingeniera electrnica y Automtica.


rea de Ingeniera de Sistemas y Automtica
OBJETIVOS:

Iniciacin en la utilizacin de la herramienta de simulacin de sistemas dinmicos SIMULINK.

RESUMEN:

introduccin al uso del paquete de modelado, simulacin y anlisis de sistemas dinmicos SIMULINK.
Este paquete forma parte de MATLAB, y permite la simulacin interactiva de sistemas, es decir, se pueden
cambiar los parmetros e inmediatamente ver lo que sucede. SIMULINK se ha convertido en el paquete de
software ms ampliamente utilizado para modelar y simular sistemas dinmicos en el mundo acadmico y
en la industria. La prctica se estructura de la siguiente forma: en primer lugar se realizar una
introduccin al entorno de SIMULINK, para posteriormente ver un modelo de demostracin
proporcionado por este entorno. Tambin, se crear un modelo de simulacin sencillo y un modelo clsico
basado en ecuaciones diferenciales. Finalmente se propone al alumno la creacin y simulacin del modelo
de un sistema elctrico.

1. CARACTERSTICAS BSICAS DE SIMULINK:


SIMULINK es un paquete de software para modelar, simular y analizar los sistemas dinmicos. Soporta
sistemas lineales y no lineales, modelados en tiempo continuo, muestreados o un hbrido de los dos. Para
modelar, SIMULINK proporciona una interfaz de usuario grfica (GUI) para construir los modelos como
diagramas de bloques, utilizando operaciones con el ratn del tipo pulsar y arrastrar, dando la opcin de
crear y personalizar los bloques. Las caractersticas principales de este entorno seran:
Se trata de un entorno grfico.
El sistema se representa como una interconexin de bloques elementales.
Cada bloque lleva asociado un modelo matemtico que representa su relacin
entrada/salida.
Un ejemplo de representacin de un sistema mediante Simulink sera el de la figura 1:

Figura 1 Ejemplo Thermo

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 1


El esquema representa un sistema de calefaccin de una vivienda. Se supone conocida la
variacin de la temperatura en el exterior de la casa y en funcin de ello se puede observar en qu
instantes se conecta y se desconecta la calefaccin, cules son las variaciones de la temperatura en
el interior de la casa y cul es el coste de calefaccin. Este ejemplo proviene de una demo de
Simulink y ser analizado ms adelante.

2. CMO ARRANCAR SIMULINK:

Existen diferentes modos de lanzar el programa Simulink, la ms sencilla es teclear desde la


ventana de comandos de Matlab:
>> simulink

Tambin es posible acceder al programa desde el botn Simulink de la barra de botones de Matlab
o desde el lanzador de aplicaciones o Launch pad seleccionando Simulink -> Library browser.
Al lanzar Simulink, se obtiene una ventana como la que se muestra en la figura 2, que
corresponde al navegador de libreras o Library browser de Simulink.

Figura 2 Entorno SIMULINK

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 2


En esta ventana se muestran las libreras disponibles; cada una de ellas contiene bloques
elementales con los que se pueden construir sistemas. En funcin de la instalacin concreta de
Simulink, el nmero de libreras puede ser menor o mayor.

3. CMO ENCONTRAR AYUDA EN SIMULINK:

Simulink es un toolbox de Matlab. Por tanto, la ayuda se estructura del mismo modo:

Ayuda en lnea
Se accede a travs de la ventana de comandos de Matlab tecleando help nombrefuncin. La ayuda
se obtiene en modo texto. En este caso no es una ayuda muy utilizada. Como ejemplo, se
visualizar la ayuda que lista los comandos de Simulink. Para ello teclearemos:

>> help simulink.

Navegador de ayuda
Se accede desde el men Help (de la aplicacin Simulink), seleccionando la opcin Simulink
help. Todas las ayudas relativas a Simulink se encuentran dentro de un libro denominado
Simulink.

Ejemplos
Simulink tambin proporciona ejemplos y demostraciones de sus principales funcionalidades. Se
accede a ellos a travs del men Help (de Matlab) seleccionando la opcin Demos.

4. EJECUCIN DE UN SISTEMA EJEMPLO:

Como primer contacto con Simulink, ejecutaremos el ejemplo del sistema de calefaccin de una
vivienda.

Formas de abrir el sistema ejemplo:


Desde la ventana de comandos de Matlab, teclear thermo.
Navegar en los ejemplos (demos) de Simulink y seleccionar, dentro de la carpeta
General, el modelo Thermodynamic model of a house.
El ejemplo debe tener un aspecto parecido al que mostraba la primera imagen de este enunciado.

Forma de lanzar una simulacin:


Lanzar una simulacin equivale a poner el sistema a funcionar durante un periodo de tiempo
determinado y observar los resultados que se obtienen. Desde el men Simulation deberemos
seleccionar la opcin Start.
El sistema indica con un aviso acstico cuando se ha alcanzado el final de la simulacin; si
deseramos parar la ejecucin antes de llegar al final, bastara con seleccionar, dentro del men
Simulation, la opcin Stop. Esto es particularmente til en simulaciones lentas; una
simulacin rpida como la de este ejemplo puede durar menos de un segundo en un PC normal.
Ms adelante comprobaremos cules han sido los resultados de la simulacin: se han obtenido
tanto la evolucin de la temperatura en el interior de la casa como los costes de calefaccin.

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 3


Algunos detalles importantes sobre la simulacin:
Si no se han modificado los parmetros iniciales, Simulink habr simulado el
comportamiento del sistema durante los primeros dos das (2*24*60*60 segundos).
Los instantes de comienzo y fin de simulacin se pueden cambiar dentro del men
Simulation eligiendo la opcin Simulation Parameters. Probaremos a relanzar la
simulacin con distintos tiempos de comienzo (Start time) y fin (Stop time). El resto de
los parmetros no se modificarn por ahora.

Las ventanas de representacin grfica de resultados:

Estas ventanas funcionan de un modo similar a un registrador de seales o un osciloscopio digital.


Sern bastante utilizadas en nuestras simulaciones y, por tanto, conviene familiarizarse con su
comportamiento. Son el elemento Scope y en el ejemplo aparece una, con el nombre: Thermo
plots. Para visualizar los resultados deberemos hacer doble clic sobre este elemento:

Scope o registrador de seales.

Figura 3. Registrador de seales Scope.

Una vez hecho doble clic sobre el elemento, aparecer una ventana grfica con los resultados de la
simulacin; es una imagen similar a la que se vera en un osciloscopio digital:

La ventana de resultados (Fig.4) permite ajustar la zona a visualizar: los tres botones con
forma de lupa, sirven para hacer zoom sobre un rea de la grfica. El primero de ellos
permite definir un rectngulo sobre el grfico y ampliar exactamente esa rea. Los otros
dos permiten definir una recta horizontal o vertical respectivamente y hacen zoom slo en
una dimensin. Por ltimo, el siguiente botn, que presenta un dibujo de unos prismticos,
sirve para ajustar el tamao del grfico a los datos disponibles.
Si el tiempo de simulacin es muy elevado, la grfica no retiene todos los datos, sino que
descarta los ms antiguos y conserva slo los ltimos. Para modificar el nmero de datos a
retener, se debe pinchar sobre el segundo botn de la izquierda (Parameters) y modificar,
dentro de Data History el valor indicado para el campo Limit data points to last...
que, por defecto, debe tener un valor de 5000. Tambin es posible desactivar la opcin de
forma que no se descarte ningn valor.

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 4


Figura 4. Presentacin de resultados.

5. TIPOS DE BLOQUES EN SIMULINK:

En el sistema elegido como ejemplo puede observarse como existen multitud de bloques distintos;
todos los bloques de Simulink se estructuran en diferentes categoras. La ventana que aparece al
arrancar Simulink permite comprobar cules son las categoras de bloques existentes. Basta con
hacer clic sobre el signo + que acompaa al elemento Simulink de la lista, para profundizar en las
opciones existentes. En la figura 5 se muestra, en la ventana de la izquierda, el aspecto inicial del
navegador; y en la ventana de la derecha el resultado de pulsar sobre el signo + de la categora
Continuous. Los elementos que aparecen a la derecha son los bloques con los que se puede
construir un modelo.

A continuacin se indican los principales bloques que se usarn en esta prctica y la categora a la
que pertenecen.

Sources. Entradas o fuentes de seales.

Step (escaln).
Ramp (rampa).
Sine wave (senoidal).

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 5


Pulse generador (tren de pulsos).
From workspace(lectura de datos desde Matlab).

Figura 5. Simulink Library Browser

Sinks. Salidas o dispositivos de visualizacin/almacenamiento de variables del sistema.


Scope (osciloscopio).
Display (indicador numrico).
To workspace (envo datos a Matlab).
Continuous: Representan sistemas continuos por su relacin entrada-salida.
Derivative (bloque derivador : la salida es derivada de la entrada).
Integrator (bloque integrador: la salida es la integral de la entrada).
Transfer Fcn (funcin de transferencia en s expresada como cociente de polinomios).
Zero Pole (funcin de transferencia en s expresada en forma factorizada).

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 6


Discrete: Representan sistemas discretos por su relacin entrada-salida
Discrete Transfer Fcn (funcin de transferencia en z expresada como cociente de
polinomios).
Discrete Filter (funcin de transferencia en z-1 expresada como cociente de polinomios).
Discrete Zero Pole (funcin de transferencia en z expresada en forma factorizada).
Unit delay (retraso de un periodo).
Zero Order Hold (retenedor de orden cero).
First Order Hold (retenedor de orden uno).

Math operators: Operaciones matemticas sobre seales.


Sum (sumador de seales).
Gain (ganancia o multiplicacin de una seal por una constante).
Signal Routing: Permite realizar conexiones especiales entre seales
Mux (multiplexor: agrupa distintas seales en un vector o bus).

El procedimiento de trabajo para la creacin de un modelo ser seleccionar los bloques adecuados
de entre los presentes en estas categoras, colocarlos sobre la ventana de diseo y establecer las
conexiones correspondientes entre ellos. A continuacin crearemos un modelo de ejemplo.

6. CREACIN DE UN MODELO SENCILLO:

Como ejemplo, crearemos un modelo que nos permita generar una seal cualquiera (una funcin
del tiempo) y representar sus valores. Comenzaremos representando la funcin sen(t).

Primer paso: creacin del modelo.

Desde la ventana Simulink Library Browser, haremos clic sobre el botn Create a new model
(pgina en blanco). Automticamente se abrir una ventana en blanco que ser la ventana de
diseo para nuestro modelo.

Segundo paso: introduccin de bloques en el modelo.

Los elementos se introducen haciendo un arrastre con el ratn desde la ventana que contiene el
listado de todos los bloques hacia la ventana de diseo. En nuestro caso requeriremos los
siguientes bloques:
Dentro de la categora Sources, el bloque Sine Wave. Este elemento se corresponde
con una seal senoidal, que es la que deseamos generar.
Dentro de la categora Sinks, el bloque Scope. Ser el que utilicemos para visualizar la
seal.
Una vez introducidos estos modelos, la ventana de diseo debera presentar un aspecto como el de
la figura 6.

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 7


Figura 6. Ventana de simulacin.

Tercer paso: modificacin de parmetros en los bloques introducidos.

Todos los bloques de Simulink permiten una cierta configuracin. En particular, el bloque
correspondiente a la funcin seno se puede configurar en cuanto a amplitud, frecuencia, fase, etc.
Para ello se debe hacer doble clic sobre el bloque, con lo que aparecer una ventana de
introduccin de parmetros.
Para nuestra primera simulacin, introduciremos los siguientes valores:

Sine type: time based (buscamos generar una seal continua y no discreta)
Amplitude: 4 (la seal tomar valores de -4 a +4)
Bias: 0 (componente contnua = 0, seal centrada)
Frequency: 3 rad/s (frecuencia de la seal seno)
Phase: 0 (desfase respecto del instante t = 0)
Sample time: 0 (tiempo de muestreo, ser cero para seales continuas).

Cuarto paso: interconexin de elementos.

Una vez situados los elementos en la ventana de diseo, es necesario establecer conexiones entre
ellos. Para conectar 2 elementos debe hacerse un arrastre con el ratn desde la salida de uno de
ellos hasta la entrada del elemento correspondiente. Una vez establecidas las dos conexiones
necesarias para nuestro sistema, deberamos obtener un resultado como el que se muestra en la
Fig.7:

Figura 7. Conexin bloques.


Quinto paso: lanzamiento de la simulacin y comprobacin de resultados.

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 8


Lanzaremos la simulacin con la opcin Start del men Simulation y comprobaremos los
resultados obtenidos haciendo doble clic sobre el bloque Scope. Se mostrar una ventana grfica
como la vista en el primer ejemplo sobre la que podremos hacer zoom para ajustar nuestra curva.
Deber aparecer algo similar a lo que se muestra el la figura 8.

Figura 8. Representacin de la salida.

Una vez creado el esquema, probaremos a representar otras seales que nos ofrece Simulink
dentro de la categora Sources. Para ello borraremos del esquema el bloque Sine Wave y en su
lugar insertaremos otro cualquiera. En particular, probaremos uno a uno con los siguientes
bloques:

Step (escaln).
Ramp (rampa).
Pulse generator (tren de pulsos).

7. CREACIN DE UN SEGUNDO MODELO:


A continuacin crearemos un modelo algo ms complicado, en el que se realice alguna operacin
con las seales. Vamos a crear un sistema que nos permita calcular la integral de una seal.

El bloque que realiza la integral de una seal se encuentra dentro de la categora Continuous. Es
el bloque denominado Integrator. Con l, y con los bloques que tenamos del esquema anterior,
deberemos realizar un montaje como el representado en la figura 9. En este montaje es posible ver
la seal de entrada y la de salida simultneamente, para ello es necesario recurrir al bloque
multiplexor Mux de la categora Signals Routing. Este bloque tiene por finalidad agrupar dos
o ms seales para formar un vector. De este modo, se agruparn la seal de entrada y la de salida
y el conjunto ser lo que se enve al osciloscopio.

Para crear una rama nueva sobre una conexin ya existente (la segunda rama que llega al
multiplexor no parte de la salida de un bloque, sino de un punto intermedio de una conexin). La

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 9


forma de crear este tipo de conexiones es pulsando el botn Ctrl al mismo tiempo que se
empieza a arrastrar con el ratn. En la figura 10 aparece el resultado de lanzar esta simulacin.

Figura 9. Integral de una seal.

Figura 10. Seal de entrada y su integral.


Si ejecutamos la simulacin y visualizamos los resultados veremos cmo se obtiene la integral de
la seal de entrada. Podemos probar a cambiar la seal de entrada para comprobar como:
La integral de una seal escaln es una seal rampa.
La integral de una seal rampa es una seal parbola.

8. SIMULACIN DE UN SISTEMA DESCRITO POR UNA ECUACIN


DIFERENCIAL:

Consideremos el sistema mecnico de la figura 11 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. La ecuacin diferencial que rige el comportamiento del sistema es:

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 10


d 2 x(t ) dx (t )
f (t ) M 2
B K x(t )
dt dt

Figura 11. Sistema mecnico.


Veremos dos formas de analizar este sistema para obtener el efecto que una fuerza en forma de
escaln (seal de entrada) produce sobre la posicin del conjunto (seal de salida). Al tratarse de
un conjunto muelle-amortiguador, el movimiento de la masa debe representar oscilaciones que
poco a poco deben ir desapareciendo.

1 Forma:

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
2 2
ecuacin diferencial que rige el comportamiento del sistema el trmino d x ( t ) / dt .
d 2 x (t ) 1 dx (t )
f (t ) B K x (t )
dt 2
M dt

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.

En el diagrama es posible apreciar que alguno de los bloques se encuentra girado para que sea
ms fcil realizar las conexiones. Para realizar esto seleccionamos el elemento que pretendemos
rotar y pulsamos las teclas Control+R, o bien seleccionamos el bloque y elegimos la opcin Flip
Block del men Format.

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 11


Figura 12. Modelo del sistema mecnico.

El resultado obtenido al ejecutar este modelo se muestra en la figura 13.

Figura 13. Variacin de la posicin x(t).


2 Forma:

Se trata de hallar la funcin de transferencia de nuestro sistema.

F(s) X(s)
G(s)
Partiendo de la ecuacin diferencial que define el sistema.

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 12


d 2 x(t ) dx (t )
f (t ) M 2
B K x(t )
dt dt

Le aplicamos la trasformada de Laplace.


F (s) M s 2 X (s) B s X (s) K X (s)

Hallamos la funcin de transferencia:


X (s) 1
G (s)
F (s) M s B s K
2

Utilizando el bloque de Transfer Fcn perteneciente a Continuos, se obtiene la representacin


en Simulink de este sistema (Fig.14). Su resultado (Fig 15), ser similar al de la figura 13.

Figura 14. Modelizacin del sistema a partir de la funcin de transferencia.

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 13


Figura 15. Resultado de la modelizacin.

Una vez que hemos creado el esquema que permite simular un determinado sistema fsico,
podemos comprobar hasta qu punto es til disponer de una simulacin para comprobar el
funcionamiento de cualquier sistema. Realizaremos las siguientes pruebas:

Sobre el esquema anterior, aumentaremos el valor de la masa M cambiando la ganancia


(Gain) del elemento correspondiente. Realizaremos de nuevo la simulacin y
comprobaremos el efecto de las variaciones de este parmetro.
Haremos lo mismo con la constante elstica K y con el rozamiento viscoso B.
Por ltimo, probaremos la respuesta ante otros tipos de seal de entrada: senoidal, pulsos,
etc.

rea de Ingeniera de Sistemas y Automtica. Curso 2011/2012 14