INTRODUCCION A SIMULINK

INTRODUCCION A SIMULINK Matlab (Matrix Laboratory) es un sistema basado en matrices para realizar cálculos matemáticos y de ingeniería. Entre las múlt

13 downloads 165 Views 991KB Size

Story Transcript

INTRODUCCION A SIMULINK Matlab (Matrix Laboratory) es un sistema basado en matrices para realizar cálculos matemáticos y de ingeniería. Entre las múltiples herramientas que presenta este programa se encuentra Simulink que es una librería de MATLAB que permite la simulación de procesos mediante diagramas de bloques.

1.

Acceso a la librería de bloques de Simulink: Para acceder a la librería de Simulink se debe abrir inicialmente la ventana principal de Matlab (Matlab Command Window). En esta se puede ejecutar el comando “simulink” o hacer clic en el símbolo correspondiente en la barra de herramientas en la parte superior de esta ventana. Al hacer esto aparecerá el listado de las librerías correspondientes a simulink, donde se podrá tener acceso a todos los bloques que brinda esta herramienta. Para abrir una nueva hoja de trabajo se deberá acceder a través de: File à New à Model, o hacer clic en el símbolo de “hoja nueva”.

Figura 1. Simulink Library Browser

La librería “Simulink” contiene los bloques necesarios para simular un sistema mediante técnicas convencionales, las demás librerías son herramientas adicionales que se utilizan para aplicaciones específicas de control avanzado. En la Figura 2 se muestra el contenido de la librería Simulink.

Figura 2. Librería Simulink. En la figura 3 se pueden observar los bloques mas utilizados en la simulación de procesos. Estos se encuentran en hacer clic en el signo (+) de cada librería. Pueden ser utilizados al hacer clic sobre ellos y arrastrándolos sobre la hoja de trabajo. Igualmente en la tabla 1 se pueden observar una descripción mas detalladas de algunas de estas funciones.

Figura 3. Bloques mas utilizados en la librería Simulink

Tabla 1. Detalles de algunos bloques de la librería Simulink. Bloque

Función

Librería

Parámetros requeridos

Constante

Asigna un valor constante a la entrada.

Sources

Valor de la constante.

Entrada escalón

Introduce un escalón de magnitud específica en un tiempo dado.

Sources

Tiempo del escalón Valor inicial del escalón, Valor Final del Escalón

Entrada Rampa

Introduce una rampa en un tiempo especificado.

Sources

Tiempo de la rampa, pendiente

Entrada Senoidal

Introduce una señal senoidal específicada por el usuario.

Sources

Amplitud de la onda, Fase.

Workspace

Almacena datos de la señal que llega al bloque y la convierte en vector. Si se conecta al reloj se almacena el vector tiempo.

Sinks

Nombre y tipo de la variable (Save format: Matrix)

Scope

Grafica la señal que se introduzca con respecto al tiempo.

Sinks

XYgraph

Grafica la entrada superior en el eje x y la inferior en el eje y

Función de Transferencia

Representa la función transferencia a lazo abierto.

de

Contin.

Numerador y Denominador de la FT

Integrador

Integra una señal en función del tiempo

Contin.

Valor inicial desde el cual se va a integrar

Retardo de transporte

Introduce un retardo en el tiempo en el cual aparece la señal.

Contin.

Valor del retardo (Debe ser un número positivo)

Ganancia

Multiplica la señal por cualquier valor de ganancia que se introduzca.

Math

Valor de la ganancia

Sumador

Suma dos señales.

Math

Número de entradas a sumar

Multiplicador

Multiplica dos señales.

Math

Número de entradas a multiplicar

Matlab-Function

Aplica cualquier función matemática conocida por Matlab a la señal.

Functions and Tables

Función a utilizar

PID

Es un controlador donde se puede introducir una parte proporcional, una integral y una derivativa

Blocksets & Toolbox.:

Proporcional: K, Integral: K/Ti, Derivativo: K.Td

Sinks

Entradas

Rango de los ejes

Simulink-extras: Aditional linear Mux

Permite representar dos señales distintas en una misma gráfica.

Signals &System.

Número de entradas

Obs. Colocando el nombre del bloque de interés en el buscador (Simulink library browser), se puede ubicar directamente en la librería de bloques.

Notas sobre el uso de Matlab.

-

Los bloques pueden ser movidos al arrastrase con el botón izquierdo del mouse y pueden ser copiados al hacer clic sobre ellos con el botón izquierdo del mouse y arrastrando la copia creada.

-

Los bloques se deben unir mediante flechas. Esto se logra haciendo clic en la flecha de salida del bloque deseado y conectándola (sin soltar el botón), a la flecha del bloque que se desea unir.

-

Para que las modificaciones en el programa hagan efecto este deberá ser grabado después de realizar los cambios.

-

Al hacer clic con el botón derecho sobre una señal, se podrá obtener una “línea” de esta señal para llevarla o conectarla a un bloque deseado.

-

Al barrer el mouse sobre un grupo de bloques se podrán mover estos a la vez y copiarlos en grupo.

-

El “save format” de los “workspace” debe ser colocado en “array” para poder “graficar” las variables deseadas posteriormente.

2. Ejemplos de Uso de Simulink

Modelos Matemáticos no Linealizados. a)

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

d ( x)  − 60  + 5 exp  * X (t ) = 1 dt  T 

Donde, X0 = 0 en T=500

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 (Ver tabla 1 y figuras 2 y 3), seleccionar cada uno haciendo "click" sobre él para marcarlo y arrastrarlo con el "mouse" hasta la ventana.

Figura 4. 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:

d ( x)  − 60  = 1 − 5 exp  * X (t ) dt  T 

(1)

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)

Figura 5. 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: Entrada Escalón (T)

Integrador

Matlab Function (1/T)

Matlab Function Exp(E/KT)

Step Time = 0 Valor Inicial = 500 Valor Final = 500

Inicial Value = 0

Fuction = 1/u

Fuction = exp

De esta forma tenemos:

Figura 6. Diagrama de Bloques con sus parámetros.

-

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:

Figura 7. Simulación de la respuesta de la ecuación diferencial.

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

Entrada Escalón (T)

Step Time = 4 Valor Inicial = 500 Valor Final = 1000

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:

Figura 8. Respuesta del sistema de la ecuación diferencial ante entrada escalón. Se observa la perturbación del sistema en el tiempo = 4 seg.

Ecuaciones Diferenciales Acopladas b) Simular el siguiente sistema de ecuaciones diferenciales.

dT = A(T − To1) * Fo − B(T − Ta) dt

A = 0.08

B = 0.05

dTa = C (Ta − To 2) * Fp + D(Ta − T ) dt

C = 0.5

D = 0.01

Donde Fo, To1 y To son posibles perturbaciones cuyos valores son: Fo = 0.01 m3/min, To1 = 280K, To2 = 350K

Solución:

-

Los Bloques seleccionados son:

Figura 9. Bloques usados para la representación del sistema.

-

Armar el modelo. Las ecuaciones diferenciales se "escriben en bloques de Simulink" como función del tiempo sin realizar ninguna modificación de las mismas para linealizarlas o llevarlas al dominio de Laplace.

Figura 10. Diagrama de bloques del proceso con sus parámetros.

Los parámetros iniciales de los bloques y simulación serán: Entrada Escalón (T01)

Entrada Escalón (T02)

Entrada Escalón (Fo)

Integrador (T)

Integrador (Ta)

Stop Time

Step Time = 0 Valor Inicial = 280 Valor Final = 280

Step Time = 0 Valor Inicial = 350 Valor Final = 350

Step Time = 0 Valor Inicial = 0.01 Valor Final = 0.01

Initial Value = 280

Initial Value = 350

200

-

Después de Simular y Graficar usando: Plot(t,[T,Ta]) se obtiene,

Figura 11. Simulación del sistema de ecuaciones diferenciales

Funciones de transferencia a lazo abierto y lazo cerrado c)

Dada la siguiente función de trasferencia obtenga la respuesta del sistema a lazo abierto ante una entrada escalón.

FT =

1 s + 4s + 2 2

Solución:

-

Los Bloques seleccionados son:

Figura 12. Bloques usados para la representación del sistema.

-

Armar el modelo.

Figura 13. Diagrama de bloques del proceso con sus parámetros.

Los parámetros iniciales de los bloques y simulación serán:

Entrada Escalón

Función de Trasferencia

Parámetros Simulación

Step Time = 0 Valor Inicial = 0 Valor Final = 1

Numerador = [1] Denominador = [1 4 2]

Stop Time = 20

-

Después de Simular y Graficar usando: Plot(T,X) se obtiene,

Figura 14. Respuesta temporal de la función de transferencia.

d)

Compare la respuesta a lazo cerrado obtenida para la función de transferencia del ejemplo anterior con la respuesta obtenida al aumentar 5 veces la ganancia y con la respuesta obtenida al usar un controlador de función de transferencia:

1  Gc1 = K 1 +   Ti 

Donde, K = 1

y Ti = 0.5

Solución:

-

Los Bloques seleccionados son:

Figura 15. Bloques usados para la representación del sistema.

-

Armar el modelo.

Figura 16. Diagrama de bloques del proceso con sus parámetros.

Los parámetros de los bloques son:

Entrada Escalón

Ganancia

Mux

PID

Stop Time

Step Time = 0 Valor Inicial = 0 Valor Final = 1

Gain = 5

Number of inputs =3

Proporcional = 1 Integral = 1/0.5 Derivative = 0

20

-

Después de Simular y Graficar usando: Plot(T,s) se obtiene,

Figura 17. Respuesta temporal de la función de transferencia.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.