You are on page 1of 64

INTRODUCCION A SIMULINK

Dictado por:
MSC. ING. IVAN MONTALVO
FACULTAD DE INGENIERIA ELECTRICA
ndice
Que es Simulink?

Como inicializar el programa

Elementos bsicos de Simulink

Librera de Simulink

Como crear un nuevo modelo

Como ejecutar la simulacin de un modelo

Ejemplos y ejercicios
1. Qu es Simulink?
Es una herramienta interactiva de MATLAB
ideal para simulaciones y diseo de modelos
para sistemas dinmico y elctricos, basndose
en diagramas de bloques. Este proporciona un
entorno grfico interactivo y un conjunto
personalizable de bibliotecas de bloques que le
permiten disear, simular, implementar y
probar una variedad de sistemas variantes con
el tiempo; incluyendo comunicaciones,
controles, procesamiento de seales,
procesamiento de imgenes y video e
tratamiento, as tambin como la simulacin y
anlisis de circuitos y sistemas elctricos.
2. Inicializar Simulink
Inicializar Simulink
Abrir MATLAB y seleccionar el icono de Escribir la palabra Simulink en la
Simulink en la barra de herramientas. ventana de comandos de MATLAB.
Inicializar Simulink
3. Librera de Simulink
(Bloques Principales)
3.1 Librera de Sistemas Lineales en Tiempo-Continuo
(Continuous)
3.1.1 Bloque Derivate
El bloque DERIVATIVE aproxima la derivada de
su entrada considerando los valores iniciales de la
salida igual a 0. La exactitud de los resultados
dependen del tamao del periodo de muestreo
utilizado en la simulacin. Pequeos pasos de
muestreo permiten obtener una curva de la salida
ms suave y exacta.
3.1.2 Bloque Integrator
El bloque INTEGRATOR integra su entrada. Los
resultados de la integracin van a depender del
mtodo de integracin que se seleccione en el men
Configuration Parameters. El programa Simulink
trata el bloque integrador como un sistema dinmico
con un estado, su salida. La entrada de este bloque
es la derivada en el tiempo del estado. El bloque
tambin provee una opcin de condicin inicial que
permite configurar el estado inicial.
3.1.3 Bloque State Space
El bloque STATE-SPACE implementa un sistema
definido a travs de ecuaciones en el espacio de
estados.
= +
y= +
donde x y u son vectores columna, la matriz A debe
ser definida cuadrada nxn, con n siendo el nmero
de estados del sistema, la matriz B debe de ser
definida con dimensin nxm, con m siendo el
nmero de entradas, la matriz C es definida con
dimensin rxn, donde r representa el nmero de
salidas, y la matriz D posee dimensin rxm.
Ejemplo de un Sistema de Espacios de Estado (State-Space)
Motor de Corriente Directa

2
2
+ = 2


+ + 3 = 1

desplazamiento angular de la flecha del


motor
J = 0.01 kg.m2. Momento de inercia
r(t) referencia
B=0.1 N.m.s. Coeficiente de friccin viscosa
c(t) salida K2=0.01 N.m.A-1 es la constante del par
e(t) error del motor
I corriente elctrica (A)
ev(t) voltaje de error
E voltaje de error
n veces que gira la flecha de salida por cada K1=1 Amplificacin del voltaje de error
revolucin de la flecha del motor (adimensional)
sistema del motor K3=0.01V.s Constante de la fuerza
electromotriz del motor
L=0.5H Constante de inductancia
R=1 Resistencia elctrica
Ejemplo de un Sistema de Espacios de Estado (State-Space)
Motor de Corriente Directa

Despejando 1 y 2
2
2 + = 2

2
+ + 3 = 1 1 = 1 + 2

() 3 1
2 = 1 2 +
Cambio de variables
= 1
1= 2 =

1 / 2 / 1 0
= () = 1 = +
2 3 / / 2 1 /
() 1
Reemplazando tenemos = 1 0
2

1 + 1 = 2 2
() = +
2 + 2 + 3 1 = 1 ()
= +
Ejemplo de un Sistema de Espacios de Estado (State-Space)
Motor de Corriente Directa
3.1.4. Bloque Zero-Pole
El bloque ZERO-POLE implementa un sistema con
ceros, polos y ganancia especificada en el dominio s.
Este bloque representa la funcin de transferencia
particularizada con los parmetros especificados
para un sistema dado. Los parmetros del sistema
pueden ser especificados en la ventana de
configuracin como una expresin o como un vector.
El bloque modificar su apariencia dependiendo de
la especificacin de los parmetros.
Ejemplo de un bloque de polos y ceros (Zero-pole)
La funcin de transferencia tiene la siguiente forma:

() (1) (2) ()
= () = (1) (2) ()

Done Z representa los ceros, P los polos y K la ganancia de la funcin de transferencia.

Por ejemplo, si en la ventana de dialogo FunctionBlock Parameters se especifica Zeros como [2 4 6 8], Poles como
[13 5 7 9], y Gain como 25, el bloque se presentar vectorialmente como se muestra a continuacin:

+2 +4 +6 (+8)
25 +1 (+3)(+5)(+7)(+9)

Si cada parmetro es especificado como una variable simblica, por ejemplo, ceros, polos, ganancia, a la que se le asigna unos
valores en la ventana de comando del programa MatLab:

ceros=[-2 -4 -6 -8];

polos=[- 1 -3 -5 -7 -9];

Ganancia=25,

el bloque representar la funcin de transferencia a travs de las variables simblicas seguidas por (s).
3.1.5. Bloque Transfer Fcn
El bloque TRANSFER FCN implementa una funcin de
transferencia con la entrada U(s) y la salida Y(s), como
se muestra a continuacin:
U() ()
G = Y()
= ()

Asumiendo un sistema de primera orden con un polo en


s = 10 y un cero en s = 2, modelado por la funcin de
transferencia:
U() +2
G = =
Y() +10

Este modelo se programa utilizando el bloque Transfer


Fcn, donde el numerador es [1 2] y el denominador es [1
10].
3.1.6 Bloque Transport Delay
El bloque TRANSPORT DELAY retrasa la entrada del
bloque por un determinado periodo de tiempo. Este
bloque puede ser usado para simular retrasos de
tiempo. En la ventana de configuracin, el bloque
permite seleccionar un valor inicial Initial output que
se mantendr constante hasta que el tiempo de la
simulacin exceda el valor del retraso Timedelay. El
parmetro Time delay no debe de ser negativo. El
tiempo de muestreo debe ser seleccionado
adecuadamente de manera que el tiempo de retraso sea
mayor que ese valor.
3.2 Librera de Puertos y Subsistemas
(Ports & Subsystems)
Los bloques de puerto de entrada y puerto de salida (del
ingls Inport Block y Outport Block) son puertos que sirven
para conectar un sistema externo con un subsistema
(interno).

El bloque Subsistema representa un subsistema de un


sistema. Cuando el modelo o el sistema de control aumenta
en tamao y complejidad se puede simplificar agrupando
bloques en subsistemas. Este bloque abre una ventana en la
que se debe programar los bloques pertenecientes al
subsistema. Si se desea crear un subsistema directamente de
un grupo de bloques que se hayan programado en la ventana
principal de Simulink, se debe seleccionar los bloques
deseados y pulsar el botn derecho del ratn sobre estos
eligiendo la opcin Create Subsystem del men.
3.3 Librera de Sumidero (Sink)
3.3.1 Bloque Scope

El bloque SCOPE representa grficamente la


entrada conectada a este bloque con respecto al
tiempo de simulacin. Este bloque permite
representar varias variables a la vez para el
mismo periodo de tiempo. El Scope permite
ajustar el tiempo y el rango de los valores de
entrada presentados. Se puede mover y
redefinir el tamao de la ventana Scope y se
puede modificar los valores de sus parmetros
durante la simulacin.
3.3.2 Bloque Display

El bloque Display muestra por pantalla el


valor de su entrada. Los formatos de los datos
visualizados son los mismos utilizados en
MatLab. El parmetro Decimation habilita la
visualizacin de los datos con la n-sima
muestra, donde n es el factor de conversin al
sistema decimal. El parmetro Sample time
sirve para especificar el intervalo de muestreo
para cual cada punto es visualizado.
3.3.3 Bloque To Workspace

El bloque TO WORKSPACE enva su entrada


al espacio de trabajo workspace de MatLab.
Este bloque enva los valores de la entrada a
una variable con el nombre especificado en la
opcin Variable name. La opcin Save format
determina el formato de la variable de salida.
3.4. Librera de Funciones Definidas por el Usuario
(User-Defined Functions)
3.4.1 Bloque Fcn

El bloque FCN ejecuta una ecuacin


especificada que depende de la entrada del
bloque, denominada u. Si u es un vector, u(i)
representa el i -simo elemento del vector. u(1) o
u representa el primer elemento. La ecuacin
puede incluir constantes numricas, operadores
aritmticos, operadores relacionales, operadores
lgicos y funciones matemticas como, abs, acos,
asin, atan, atan2, ceil, cos, cosh, exp, fabs, floor,
hypot, ln,log, log10, pow, power, rem, sgn, sin,
sinh, sqrt, tan, y tanh.
Ejercicio (bloque fnc)

Dada la siguiente expresin, con la ayuda del bloque fcn de simulink, calcular el resultado y
mostrarlo en un display:
1
= cos(2t) ln(sec(2t) + tan(2t))+1 2 + 2 (2)
4
donde,

1 ==
6
2 = 1 = 1
3 = 2 = 3
3.4.2. Bloque Matlab Fcn

El bloque MATLAB Fcn ejecuta una


determinada funcin Matlab o
expresin de la entrada. Este bloque es
ms lento que el bloque Fcn ya que
llama a la funcin MatLab para cada
paso de integracin.
3.5 Librera de Fuentes (Sources)
3.5.1 Bloque From Workspace
El bloque FROM WORKSPACE lee
datos del espacio de trabajo
workspace de MatLab. Los datos del
espacio de trabajo son especificados
con el parmetro Data a travs de una
matriz de dos dimensiones (ej. [t,u] son
dos variables definidas en el espacio de
trabajo).
3.5.2. Bloque Constant
El bloque CONSTANT es usado para definir un
valor constante real o complejo. Este bloque acepta
salidas escalares, vectores (1-D) o matrices (2-D),
dependiendo de la dimensin del parmetro
Constant value que se especifica y si la opcin
Interpreter vector parameters as 1-D est
seleccionada o no. La salida del bloque posee la
misma dimensin y los mismos elementos que la
opcin Constant value. Si se configura esta opcin
como un vector (matriz de 1-D), se debe marcar
Interpreter vector parameters como 1-D. Si esta
opcin no es debidamente configurada el bloque
considera el parmetro Constant value como una
matriz 2-D.
3.5.3 Bloque Signal Generator
El bloque SIGNAL GENERATOR puede generar
cuatro diferentes tipos de formas de onda: onda
seno (sine), onda cuadrada (square), onda diente
de sierra (sawtooth) y onda aleatoria (ramdom).
Los parmetros de las seales son expresados en
hercios o radianes por segundo. Se puede invertir
la onda configurando el valor de la amplitud en
negativo en la ventada de dialogo de parmetros.
3.5.4. Bloque Ramp
El bloque RAMP genera una seal que empieza en
un instante de tiempo especificado con un valor
tambin previamente configurado y que evoluciona
con una pendiente determinada en el bloque. Las
caractersticas de la seal generada son
configuradas mediante las siguientes opciones:
pendiente (Slope), tiempo de inicio (Start Time) y
la condicin inicial de la salida (Initial Output).
3.5.5. Bloque Sine Wave
El bloque SINE WAVE genera una onda
sinusoidal. Se puede generar una onda coseno
configurando el parmetro de fase (Phase) con
el valor pi/2. El bloque SineWave puede ser
definido de dos modos diferentes a travs del
parmetro Sine type como modo basado en
tiempo o como modo basado en muestras.
3.5.6. Bloque Step
El bloque STEP genera un escaln entre dos
niveles definidos en un espacio de tiempo
especificado. Si el tiempo de simulacin es
menor que el valor del parmetro Step time, la
salida del bloque ser el valor del parmetro
Initial value. Para tiempos de simulacin
mayores o iguales que el valor de Step time, la
salida es el valor del parmetro Final value.
3.6 Librera de Operaciones Matemticas
(Math Operations)
3.6.1 Bloque Sum
El bloque Sum es la implementacin del bloque suma.
Este bloque realiza las operaciones de adicin o
sustraccin de sus entradas, pudiendo sumar o sustraer
entradas escalares, vectoriales o matriciales. Se puede
tambin sumar los elementos de un nico vector entrada.
Las operaciones del bloque son definidas en el parmetro
List of Signs: ms (+), menos (-) y separador (|). El
separador crea un espacio extra entre puertos en el icono
del bloque. La forma del icono se puede definir como
redonda o rectangular (del ingls round o rectangular ) a
travs del parmetro Icon shape en la ventana de dialogo
de parmetros.
3.6.2 Bloque Product
El bloque Product realiza la multiplicacin o
divisin de sus entradas. Este bloque calcula
la salida multiplicando elemento a elemento o
matricialmente, dependiendo del valor del
parmetro Multiplication. El nmero de
operaciones se configura con el parmetro
Number of inputs.
3.6.3 Bloque Gain
El bloque Gain multiplica la entrada por un
valor constante (ganancia). La entrada y la
ganancia pueden ser un escalar, un vector o
una matriz. El valor de la ganancia se
especifica a travs del parmetro Gain. El
parmetro Multiplication determina se la
multiplicacin es matricial o elemento a
elemento. El orden de las multiplicaciones en
las operaciones matriciales es configurado a
travs de este parmetro.
3.6.4 Bloque Trigonometric Function
El bloque TRIGONOMETRIC FUNCTION
realiza las principales funciones trigonomtricas:
seno sine, coseno cosine y tangente tangent; y las
funciones trigonomtricas inversas: arco seno
asin, arco coseno acos, arco tangente atan y
atan2; funciones hiperblicas: sinh, cosh y tanh,
y las funciones hiperblicas inversas: asinh,
acosh, atanh. Si se elige la funcin atan2, el
bloque presenta dos entradas, la primera
entrada es el eje-y o la parte compleja del
argumento de la funcin y la segunda entrada es
el eje-x o la parte real del argumento de la
funcin.
3.6.5 Bloque Math Function
El bloque Math Function implementa las
siguientes funciones matemticas: exp,log,
10u, log10, magnitude2, square, sqrt, pow,
conj (conjugado complejo), reciprocal, hypot
(clculo de la raz cuadrada de la suma de
cuadrados), rem (resto de la divisin), mod
(entero de la divisin), transpose (traspuesta
de un vector o matriz) y hemiltian (una
matriz cuadrada, tal que AT = A). La salida
del bloque es el resultado de la operacin de
la funcin sobre la entrada.
3.7 Librera de Ruta de Seales (Signal Routing)
3.7.1 Bloque Manual Switch 3.7.2 Bloque Mux y Demux

El bloque Manual Switch conmuta sus entradas El bloque Mux combina sus entradas en una
pasando slo una de ellas a travs de su salida. nica salida. Las seales de entrada pueden ser
No existe ventana de dialogo para este bloque, escalares, vectores o matrices. El parmetro
por lo que para conmutar entre las entradas se Number of Inputs permite especificar el nmero
debe pulsar dos veces sobre el bloque. Este de seales de entrada y su dimensin. Un valor
bloque mantiene el estado determinado cuando de 1 significa que el puerto correspondiente
el archivo Simulink es guardado. puede aceptar seales de cualquiera dimensin.

Demux extrae las componentes de una seal de


entrada y provee los componentes en separadas
seales. El bloque acepta tanto seales
vectoriales como buses de seales. El parmetro
Number of outputs permite especificar el
nmero y dimensin de cada puerto de salida. Si
no se configura la dimensin de las salidas, el
bloque lo determina automticamente.
4. Crear un nuevo Modelo
PASO 1. Crear un nuevo modelo: Para abrir una neva ventana de simulacin, se debe pulsar el
botn Nuevo Modelo.
PASO 2. Buscar un bloque: Se puede buscar un bloque expandiendo el rbol de la biblioteca o
buscndolo directamente por su nombre en la ventana de bsqueda. En este caso, si hay ms de
un bloque que pueda corresponder a ese nombre, irn apareciendo a medida que se pulse la tecla
"enter (retorno).
PASO 3. Situar un bloque: Para situar un bloque, se mantiene pulsado el botn izquierdo del
ratn sobre el icono en forma de rombo que hay junto al nombre del bloque y se arrastra hacia la
posicin deseada en la ventana de simulacin.
PASO 4. Conectar bloques: En cada bloque, las
puntos de salida aparecen indicados mediante una
flecha saliente del bloque "|>", mientras que los
puertos de entrada a cada bloque se indican con una
flecha entrante al mismo ">|". Se conecta la entrada
de un bloque a la salida de otro, manteniendo
pulsado el botn izquierdo del ratn mientras se
arrastra desde el smbolo de entrada de uno de los
bloques hasta el de salida de otro o viceversa.

PASO 5. Crear una bifurcacin: Si se desea llevar la


salida de un bloque a la entrada de ms de uno se
necesita crear una bifurcacin en la conexin. Para
hacerlo, se arrastra con el ratn desde la entrada del
nuevo bloque a conectar hasta la lnea de la conexin
que se va a bifurcar.
PASO 6. Modificar los bloques: Se pueden rotar o aplicar simetras a los bloques usados, segn
convenga la colocacin de entradas/salidas para el esquema que se est realizando, pulsando
sobre l el botn derecho del ratn y utilizando los mens desplegables o mediante la opcin
"Formar" del men principal ("Format\Flip Block", "Format\Rotate Block", etc.). Tambin
mediante los mens o haciendo doble clic sobre el bloque, se pueden modificar sus parmetros.

PASO 7. Insercin de textos: Se puede incluir un texto aclaratorio o informativo en cualquier


parte de la ventana del modelo, haciendo doble clic en una zona libre y escribiendo directamente
el texto.
5. Simulacin de un Sistema
5.1Help Window
La ventana de ayuda es de mucha
utilidad para conocer una
informacin detallada de la
funcionalidad de los diferentes
bloques usados para construir un
Sistema. Todos los bloques
standard se encuentran incluidos
en la ventana de ayuda.

Existen dos formas de ingresar a la


ventana de ayuda: la primera es
dando clic derecho en el bloque e ir
a la opcin Help for the block, y
la segunda es por medio del botn
de ayuda.
5.2 Configuracin
Existen muchos parmetros que se
pueden configurar con respecto a la
simulacin. Para ingresar a la
configuracin de parmetros se puede
entrar por medio de la opcin
Simulation, luego dar clic en la opcin
Configuration Parameters. Otra forma
de ingresar es a travs de la barra de
herramientas dando clic en el icono de
configuracin de parmetros. Aqu
existen 3 parmetros muy importantes
a tener en cuenta: tiempo de
simulacin, mtodos de integracin e
intervalo de muestreo.
5.2.1 Configuracin (Tiempo de simulacin)

El tiempo de simulacin es un parmetro


que hay que definir antes de comenzar
las simulaciones. El tiempo de
simulacin puede ser modificado en la
casilla marcada Simulation time
ingresando a la ventana de
Configuration Parameters. El tiempo de
simulacin puede configurarse en esta
ventana modificando el tiempo de
comienzo de la simulacin y el de parada,
casillas denominadas Start time y Stop
time. Por defecto siempre el tiempo de
simulacin ser 10 segundos.
5.2.2 Configuracin (Mtodo de integracin)

Hay dos grupos de mtodos de integracin, los


de paso fijo y los de paso variable. El grupo de
los mtodos de integracin de paso fijo
mantienen un tamao de muestreo fijo para la
resolucin de las ecuaciones durante todas las
simulaciones frente al grupo de los mtodos de
integracin de paso variable que varan el
muestreo segn detecte que los resultados
varen, por ello si detecta que los resultados se
mantienen constantes aumenta el muestreo y si
por el contrario hay muchas variaciones reduce
el muestreo. De este modo, dependiendo de la
dinmica del problema que se pretenda
simular, los resultados que se obtienen de las
simulaciones pueden variar con el mtodo de
integracin seleccionado.
5.2.3.1 Configuracin (Intervalo de muestreo - Paso Variable)

Las opciones de configuracin del tiempo


de muestreo son, para el caso de los
mtodos de integracin de paso variable,
las opciones denominadas Max step size
y Min step size). Estas opciones estn
marcadas por defecto como auto. La
casilla Max step size indica el periodo
de muestreo mximo que puede tomar el
mtodo de integracin en el caso que la
dinmica no vare, la casilla Min step
size indica, por el contrario, el periodo de
muestreo mnimo que debe tomar el
mtodo de integracin en el caso que la
dinmica del sistema vare.
5.2.3.1 Configuracin (Intervalo de muestreo - Paso Fijo)

En el caso en el que se haya


elegido un mtodo de
integracin de paso fijo, la
opcin que debe ser
configurada es Fixed-step
size que corresponde con el
periodo de muestreo fijo que
el mtodo de integracin
toma para resolver las
ecuaciones. Por defecto est
marcada como auto.
5.3 Ejecutar la simulacin
5.4 Anlisis de resultados
5.4 Anlisis de resultados
5.4 Anlisis de resultados
Ejemplo 1
Grafique la siguiente ecuacin polinmica. Adems encuentre los valores para y(0), y(1),
y(3) y y(5) de forma analtica, por medio del diagram de bloques en Simulink y compare
con los valores presentes en la grafica.
2 + 2
=
2
Ejemplo 2
Grafique la siguiente ecuacin polinmica. Adems encuentre los valores para y(0), y(1),
y(3) y y(5) de forma analtica, por medio del diagram de bloques en Simulink y compare
con los valores presentes en la grafica.
2 8 115
= +
7 49 49(7 + 4)
Ejemplo 3
Grafique la siguiente ecuacin polinmica. Adems encuentre los valores para y(0), y(1),
y(3) y y(5) de forma analtica, por medio del diagram de bloques en Simulink y compare
con los valores presentes en la grafica.

= =
1 + 1
Ejemplo 3
Basado en el ejemplo anterior


= =
1 + 1
Ejercicios
Grafique la siguiente ecuacin polinmica. Adems encuentre los valores para y(0), y(1),
y(3) y y(5) de forma analtica, por medio del diagram de bloques en Simulink y compare
con los valores presentes en la grafica.
7() ()
cos() ln(2 + 1)
1. = = 2 5. = = 9. = =
1 2

1 1 2 8
2. = = 2 6. = = 10. = =
2 2cos() cos cosh() (4 3)(4 + 1)

ln() (1)1 (3 1)
1 2 () 7. = = (1) +1 11. = =
3. = = ln( 2 ) 2
ln 1 + ()

1 ( 2 + 1) 1 1
2 12. = =
4. = = 8. = = 2 2 + 1
() 2 2 + 1

You might also like