Guía de Uso de Simulink 2018

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 21

Guía de uso de Simulink/Matlab

Introducción

En la siguiente guía se presentan dos modelos dinámicos, uno mecánico y otro eléctrico, para ver su
comportamiento con el software de Simulink.

Desarrollo

1. Abrir Matlab en la computadora. Picar en la pestaña HOME y seleccionar el elemento que dice
Simulink Library. Ver figura 1.

Figura 1. Localización de la biblioteca de Simulink.

Esta acción desplegará la biblioteca de Simulink. Ver figura 2.

Figura 2. biblioteca de Simulink.


2. Luego de esto, ubicados en la ventana de Simulink Library Browser, se selecciona el elemento
de la figura 3, y se elige New Model. Esto crea una hoja en blanco para comenzar a trabajar en
Simulink.

Figura 3. Localización para crear un nuevo modelo.

3. Ejemplo 1. Para empezar, se desarrollará el siguiente problema, ver figura 4, con ayuda de
Simulink: Encontrar VC(t). La salida y es iL.

Figura 4. Circuito para el primer ejemplo

Solución 1:

Usando la ley de mallas de Kirchhoff,

VS(t) – VR – VL – VC = 0 (1)
Donde:

VS(t) = u0(t)
VR = i R
VL = L di/dt

Reemplazando:

𝑑𝑖
u0(t) - i R - L 𝑑𝑡 - VC = 0 (2)

Pero,

𝑑𝑉𝐶
i(t) = iR = iL = iC = 𝐶
𝑑𝑡
y reemplazando este último valor en la ecuación anterior,

𝑑𝑉𝐶 𝑑 𝑑𝑉𝐶
𝐶 𝑅 + 𝐿 (𝐶 ) + 𝑉𝐶 = 𝑢0 (𝑡)
𝑑𝑡 𝑑𝑡 𝑑𝑡

Obteniéndose la siguiente ecuación diferencial:

𝑑 2 𝑉𝑐 𝐿 𝑑𝑉𝑐 1 1
𝑑𝑡 2
+𝑅 𝑑𝑡
+ 𝑅𝐶 𝑉𝑐 = 𝑅𝐶 𝑢0 (𝑡) (2)

(2) se reorganizar de la siguiente forma, para hallar su respuesta en Simulink, ver ecuación 3:

𝑑2 𝑉𝑐 1 𝐿 𝑑𝑉𝑐 1
= 𝑢0 (𝑡) − − 𝑉
𝑑𝑡 2 𝑅𝐶 𝑅 𝑑𝑡 𝑅𝐶 𝑐

1 𝐿 1
𝑉𝐶̈ = 𝑢0 (𝑡) − 𝑉𝐶̇ − 𝑉
𝑅𝐶 𝑅 𝑅𝐶 𝐶

Reemplazando valores: R = 1 Ω, L = ¼ H y C = 4/3 F, obtenemos:

𝑑 2 𝑉𝑐 𝑑𝑉𝑐
𝑑𝑡 2
= 3𝑢0 (𝑡) − 4 𝑑𝑡
− 3𝑉𝑐 (3)

𝑉𝐶̈ = 𝐺𝑎𝑖𝑛1 𝑢0 (𝑡) − 𝐺𝑎𝑖𝑛2 𝑉𝐶̇ − 𝐺𝑎𝑖𝑛3 𝑉𝐶 (4)

Este orden es con el fin de desarrollar una combinación de bloques que satisfaga la anterior
expresión.

4. Para la combinación de bloques, se emplean los siguientes elementos, ver figura 5:

Un elemento de suma donde se suman las diferentes señales.

Un elemento integrador que reduce el orden de una variable.

Un elemento de ganancia, que lo hace es multiplicar la señal por un número constante.


Un elemento que permite que la señal se traslade a Matlab.

Un elemento multiplexor que sirve como ayuda para unir la información.

Una señal escalón que nos sirve como entrada al sistema.

Figura 5. Elementos para la construcción del modelo.

Sum (ver figura 6): acceder a la ventana de Simulink Library Browser > Simulink > Math
Operations, picar sobre el ícono de Sum, sin soltar el botón secundario, arrastrar a la ventana
donde se elaborará el modelo y soltar el botón secundario.

Figura 6. Localización de Add

Integrator (ver figura 7): acceder a la ventana de Simulink Library Browser > Simulink >
Continuous, picar sobre el ícono de Integrator con el botón secundario. Sin soltar el botón
secundario, arrastrar a la ventana donde se elaborará el modelo y soltar el botón. Arrastrar dos
integradores.

Figura 7. Localización de Integrator

Gain (ver figura 8): acceder a la ventana de Simulink Library Browser > Simulink > Commonly
Used Blocks, picar sobre el ícono de Gain, sin soltar el botón secundario, y arrastrar a la ventana
donde se elaborará el modelo. Arrastrar tres ganancias.

También es posible lo siguiente: Simulink Library Browser > Simulink > Math Operations.

Figura 8. Localizacion de Gain.

Organizar los diferentes elementos, tal como se muestra en la figura 9.


Figura 9. Modelo de la ecuación 3

Nota 1: Para unir un ícono con otro, mover el puntero a la salida de uno de ellos hasta que aparezca una
cruz, picar sin soltar el botón secundario, y mover esta cruz hasta la entrada del ícono a conectar.
Observe que aparece una trayectoria en línea maciza color negro. Soltar el botón secundario.

Nota 2: Antes de conectar las ganancias, es necesario configurar el sumador con tres entradas. Hacer
doble clic sobre el ícono del sumador, y aparece una ventana, como la de la figura 10. Ubicarse en List of
signs. En la ecuación (3) se suman tres elementos, uno de ellos positivo y dos negativos. Por lo anterior,
los signos en esta ventana se deben ubicar, tal que en el ícono sum aparecerán estos signos en sentido
anti horario. Dar OK para aceptar.

Figura 10. Configuración de las entradas del sumador (Add).


Nota 3: Las ganancias gain2 y gain3 deben ser rotadas. Para realizar esta acción, picar con el botón
primario sobre el ícono de la ganancia a rotar, y seguir los pasos mostrados en la figura 11.

Figura 11. Rotación de una ganancia (Gain).

Nota 4: Para cambiar en nombre del ícono de gain, se da doble clic sobre el nombre del ícono y se
asigna el nombre deseado.

Nota 5: Para cambiar los valores de gain, se da doble clic sobre el ícono de la ganancia a cambiar y se
modifica en la casilla “Gain”. Ver figura 12.

Figura 12. Configuración de Gain.

Se asignan los siguientes valores:

Gain1 = 1/(R*C)
Gain2 = L/R
Gain3 = 1/(R*C)
𝑑𝑉𝐶
Nota 6: Las condiciones iniciales, iL (0-) = 𝐶 (0) = 0 y VC(0-) = 0.5 V, se deben introducir al modelo.
𝑑𝑡
Para esto, hacer doble clic en el integrador de la izquierda, y escribir “dx0” en Initial condition, igual
procedimiento para el integrador de la derecha, y escribir “x0”. Cuando se programe con Matlab, se
asignarán valores a estas variables. Luego se acepta, oprimiendo OK. Ver figura 13

Figura 13. Configuracion de Integer.

Nota 7: Lo siguiente es agregar la función de entrada, que es un escalón unitario, y que se encuentra en
Simulink Library Browser > Sources > Step. Ver figura 14. Colocarlo detrás de Gain1 y conectarlos.

Figura 14. Localización de Step.


Hacer doble clic sobre Step y configurar el tiempo de encendido, Step time. Hacer doble clic
sobre el ícono de Step. En la casilla de Step time se cambia el valor “1” por “t0”. Ver figura 15.

Figura 15. Configuración de Step.

Para visualizar la simulación de la ecuación diferencial, representada por el diagrama de bloques,


se agrega un ícono “mux”, que se encuentra en Simulink Library Browser > Simulink > Commonly
Used Blocks. Ver figura 16.

Figura 16. Localización de Mux.

𝑑𝑉𝑐 𝑑 2 𝑉𝑐
En este ejemplo se visualizará 𝑉𝑐 , 𝑑𝑡
𝑦 𝑑𝑡 2
para ello se generarán 3 señales. Para configurar el
multiplexor, se da doble clic sobre Mux y se cambia el valor a “3” en “Number of Inputs”. Ver
figura 17.
Figura 17. Configuración de Mux.

Por último, se arrastra un Simout, que se encuentra en Simulink Library Browser > Sinks, para
visualizar las señales resultantes de la simulación. Ver figura 18.

Figura 18. Localización de Simout.


El diagrama de bloques final se puede visualizar en la figura 19.

Figura 19. Diagrama de bloques final.

Para definir el tiempo de simulación ir a la parte superior de la ventana de simulación y en el


campo donde aparece “10.0”, se escribe “tsim”. Ver figura 20
Figura 20. Tiempo de simulación como variable tsim.

Se debe guardar el modelo. Para ello dirigirse a la parte superior y dar click en Save As y guardar
en una carpeta de proyectos el nombre para este ejemplo es “SimEjemplo1” (El nombre es
importante. Tener en cuenta que el nombre no sea usado por otro archivo). Ver figura 21.

Figura 21. Ubicación de Guardar.

Una vez guardado, se creará un script en Matlab.

Ingresamos a Matlab. En la pestaña home le damos clic en new script, ver figura 22.

Figura 22. Ubicación new script.


Se abre una ventana como la siguiente, ver figura 23.

Figura 23. Ventana de edición abierta.


A continuación, en la ventana Editor – Untitled, se copian las siguientes instrucciones:
clc %Se borra el command window.
clear all %Se borran variables guardadas en otros programas.
close all %Se cierran ventanas externas de Matlab.

%Se dan valores a los coeficientes del modelo de simulink.


t0=1; %Tiempo de encendido del escalón.
x0=0.5; %Condición Inicial Vc.
dx0=0; %Condición Inicial dVc.
R=1; %Valor de la resistencia en Ohms.
L=1/4; %Valor del inductor.
C=4/3; %Valor de la capacitancia en faradios.
tsim=10; %tiempo de simulación del modelo.

%Se ejecuta el modelo con el comando sim. En este caso, el modelo en simulink
%debe estar en la misma carpeta.
sim('Ejercicio1')

%Se grafican los resultados arrojados por simout.


plot(simout);

%Para saber que soluciones se están graficando, la entrada más alta del
%multiplexor está asociada d2Vc, la entrada media a dVc y la entrada inferior
%a Vc.

legend('d2Vc','dVc','Vc')

Se guarda, en la misma carpeta, el script del modelo con otro nombre, por ejemplo, Ejercicio1a,
oprimiendo el icono Save Workspace y se ejecuta, oprimiendo el ícono Run, en la pestaña EDITOR de
Matlab. Ver figura 24.

Figura 24. Ubicación de la tecla Run.

Si los pasos se siguieron correctamente, se obtiene un resultado como el siguiente, ver figura 25:

Figura 25. Gráfico de la simulación del diagrama de bloques del circuito eléctrico.
Solución 2 (Por variables de estado):

Otro método para obtener y mostrar la salida del ejemplo 1, es usando el bloque State-Space desde
Continuous en la biblioteca de Simulink, como se muestra en la figura 26.

Figura 26. Obtención de Vc(t), con el bloque State−Space.

Teniendo el siguiente modelo matemático:


𝑑𝑖
u0(t) - i R - L 𝑑𝑡 - VC = 0

Y reemplazando valores, R = 1 Ω, L = ¼ H, C = 4/3 F, uo(t) es un escalón unitario, y reordenando:


𝒅𝒊𝑳
= -4iL – 4VC +4 (5)
𝒅𝒕

Como los almacenadores de energía son la inductancia y la capacitancia, entonces las variables de
estado serán iL y VC respectivamente. Redefiniendo las variables por x1 = iL y x2 = VC, entonces, derivando:

Pero como por ecuación (2),


𝑑𝑉𝐶
i(t) = iR = iL = iC = 𝐶 𝑑𝑡

Entonces

O
Por lo tanto,

Y en forma matricial,

𝑥̇ = 𝐴𝑥 + 𝐵𝑢
o

(6)

Como se desea conocer el voltaje en el condensador, la ecuación de salida es:

Y = Cx + Du

(7)

Desarrollo

1. Abrir Matlab. Picar en la pestaña HOME y seleccionar el elemento que dice Simulink Library. Ver
figura 27.

Figura 27. Localización de la biblioteca de Simulink.

Esta acción desplegará la biblioteca de Simulink. Ver figura 28.


Figura 28. biblioteca de Simulink.

2. Luego de esto, ubicados en la ventana de Simulink Library Browser, se selecciona el elemento


de la figura 29, y se elige New Model. Esto crea una hoja en blanco para comenzar a trabajar en
Simulink.

Figura 29. Localización para crear un nuevo modelo.

3. Para la combinación de bloques, se emplean los elementos mostrados en la figura 26.

Step (ver figura 30): acceder a la ventana de Simulink Library Browser > Simulink > Sources, picar
sobre el ícono de Step, sin soltar el botón secundario, arrastrar a la ventana donde se elaborará
el modelo y soltar el botón secundario.
Figura 30. Localización de Step

State-Space (ver figura 31): acceder a la ventana de Simulink Library Browser > Simulink >
Continuous, picar sobre el ícono de State-Space, sin soltar el botón secundario, arrastrar a la
ventana donde se elaborará el modelo y soltar el botón secundario.

Figura 31. Localización de State-Space


Scope (ver figura 32): acceder a la ventana de Simulink Library Browser > Simulink > Commonly
Used Blocks, picar sobre el ícono de Scope, sin soltar el botón secundario, arrastrar a la ventana
donde se elaborará el modelo y soltar el botón secundario.

Figura 32. Localización de Scope

Retomando las ecuaciones (6) y (7), ver Figura 33,

Figura 33. Ecuaciones de estado y entrada-salida.

Hacemos doble clic en el bloque State−Space, y en la ventana de Functions Block Parameters


entramos las constantes mostradas en la figura 34.
Figura 33. The Function block parameters for the State−Space block.

Se debe guardar el modelo. Para ello dirigirse a la parte superior de la ventana de trabajo y dar click en
Save As y guardar en una carpeta de proyectos el nombre para este ejemplo es “SimEjemplo2” (El
nombre es importante. Tener en cuenta que el nombre no sea usado por otro archivo).

Las condiciones iniciales son especificadas en la ventana de Comandos de MATLAB, como x1=0; x2=0.5.
Para esto, generar el siguiente script:
clc %Se borra el command window.
clear all %Se borran variables guardadas en otros programas.
close all %Se cierran ventanas externas de Matlab.

%Se dan valores a los coeficientes del modelo de simulink.


t0=1; %Tiempo de encendido del escalón.
x1=0;
x2=0.5;
tsim=10; %tiempo de simulación del modelo.

%Se ejecuta el modelo con el comando sim. En este caso, el modelo en simulink
%debe estar en la misma carpeta.
sim('Prueba1VE')
%Se grafican los resultados arrojados por simout.
plot(simout);

%Para saber que valores son cuales en este caso como el primero del
%multiplexor es la segunda derivada entonces va de primero y asi
%sucesivamente
legend('d2Vc')
Guardar el programa con el nombre ‘Prueba1aVE’.

Ejercicio

Desarrollar el siguiente modelo mecánico, ver figura 26.

Figura 26. Ejercicio Mecánico


1. Se debe hallar las ecuaciones diferenciales del problema, le deben dar la siguiente respuesta:

𝑀1 𝑋1̈ + 𝐵𝑋1̇ + (𝐾1 + 𝐾̇ 2 )𝑋1 − 𝐵𝑋2̇ − 𝐾2 𝑋2 = 0

−𝐵𝑋1̇ − 𝐾2 𝑋1 + 𝑀2 𝑋2̈ + 𝐵𝑋2̇ + 𝐾2 𝑋2 = 𝑓𝑎(𝑡)

Se organizan las variables, dejando la derivada de mayor orden de un lado y el resto del otro:

𝑋1̈ = (−𝐵𝑋1̇ − (𝐾1 + 𝐾2 )𝑋1 + 𝐵𝑋2̇ + 𝐾2 𝑋2 )/𝑀1

𝑋2̈ = (𝑓𝑎(𝑡) + 𝐵𝑋1̇ + 𝐾2 𝑋1 − 𝐵𝑋2̇ − 𝐾2 𝑋2 )/𝑀2

Para desarrollar el modelo de simulink, las condiciones iniciales se hacen igual a 0 y la fuerza de
entrada igual a un escalón unitario.

El modelo debe ser como el de la figura 27, ya que se requiere interconectar las dos ecuaciones.
(En este ejercicio también se configuran los valores de tiempo de encendido y tiempo de
simulación).
Figura 27. Modelo en simulink de guía.
Se crea una Script y se le da los valores
%Se borra el command window
clc
%Se borra variables guardas
clear all
%Se cierran ventanas externas de matlab
close all
%Se dan valores a los valores del modelo de simulink.
t0=0;%Tiempo de encendido del escalon
x10=0;%Condicion Inicial X1
dx10=0;%Condicion Inicial dx1
x20=0;%Condicion Inicial X2
dx20=0;%Condicion Inicial dx2
K1=1;%Constante del resorte 1
K2=1;%Constante del resorte 2
B=1;%Viscosidad
M1=5;%Masa 1
M2=2;%Masa 2
%Se ejecuta el modelo con el comando sim En este caso el modelo en simulink
tsim=30;
%debe estar en la misma carpeta
sim('SimEjercicio1')
%Se grafica los resultados arrojados por simout
plot(simout)
hold on
plot(simout1)

%Para saber que valores son cuales en este caso como el primero del
%multiplexor es la segunda derivada entonces va de primero y asi
%sucesivamente
legend('X1','X2')

Y según para estos valores se debería obtener una gráfica como muestra la figura 28.
Figura 28. Señales de x1 y x2.

Modificar según lo que desee observar.

También podría gustarte