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.