martes, 4 de diciembre de 2018

Modelamiento de Ecuación Diferencial en Simulink por medio de Diagrama de Bloques

https://sites.google.com/site/programacionyal/home/unidad-8/8-1-ejemplo-del-uso-de-simulink

8.1 Ejemplo del uso de Simulink.

Modelos Matemáticos no Linealizados.

a) Simular la siguiente ecuación diferencial y encontrar su respuesta ante una entrada escalón.


Solución:


Seleccionar los bloques necesarios para representar el modelo y llevarlos a la hoja de trabajo. Para ello debe buscar los bloques en las librerías correspondientes, seleccionar cada uno haciendo "click" sobre él para marcarlo y arrastrarlo con el "mouse" hasta la ventana.


(bloques necesarios para la representación de la ecuación)



Armar el modelo. Las ecuaciones diferenciales pueden representarse en bloques de "Simulink" como función del tiempo sin linealizarlas ni llevarlas al dominio de Laplace. En primer lugar, se debe despejar la derivada temporal para expresarla en función de los demás términos de la ecuación:




Luego, se debe establecer qué valores en la ecuación son constantes y cuáles son función del tiempo, en este caso, la conversión X depende del tiempo, pero la temperatura T es constante.
El primer término del lado derecho de la ecuación (1) se puede representar como un escalón unitario o como una entrada constante.

En el segundo término [5exp(-60/T).X(t)], la temperatura se representa, igualmente, como una entrada escalón o como una entrada constante, luego se invierte con un bloque Matlab Function, donde se especifica la función 1/u, se multiplica por una ganancia de –60 con un bloque Gain, y se introduce nuevamente en una Matlab Función para obtener la exponencial, que va a ser multiplicada por 5 con otro bloque Gain, como se muestra en la figura 5.

La variable X(t) no se conoce porque es el resultado de integrar el lado derecho de la ecuación, esta variable debe multiplicarse con la exponencial con un bloque producto para formar el segundo término de la ecuación diferencial, luego ambos términos se combinan con un bloque Sum para obtener la ecuación (dX(t)/dt) completa que pasa por un integrador para obtener la variable X(t), que se realimenta al bloque producto.
Se debe colocar igualmente un bloque de reloj para que el simulador contabilice el tiempo. Todas las señales que se deseen guardar o ser posteriormente llamadas para graficar, deben ser alimentadas a un bloque workspace (Save format : Array)



(Diagrama de bloques de la simulación de la ecuación diferencial)

Haciendo clic en cada bloque se pueden cambiar sus parámetros y sus nombres. En este caso se colocan los siguientes:



de esta forma tenemos:




(Diagrama de bloques con sus parametros)



                                                                                      





         



















A continuación se abre el menú Simulation .
Simulation Parameters y se modifica el tiempo de parada. En este caso se pondrá 8 seg.        Posteriormente se simula la ecuación diferencial apretando el botón o símbolo de “play” en la parte superior de la pantalla y se espera a que la maquina realice el calculo (indicado en la parte inferior derecha de la ventana)

Después de realizar la simulación se regresa a la ventana principal de Matlab y se grafican los resultados colocando el comando:       plot(T,X)    y se obtiene:



(simulación de la respuesta de la ecuación diferencial)


Para observar la respuesta del sistema ante una perturbación se coloca:





Para que el simulador acepte el cambio, el archivo debe ser guardado (no debe aparecer un “asterisco” al lado del nombre del programa en la parte superior de la ventana). Después de simular y graficar, se obtiene:


(Respuesta del sistema de la ecuacion diferencial ante entrada escalon)

se observa la perturbacion del sistema en el tiempo = 4 seg.