Sunteți pe pagina 1din 16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Prctica 1:
Introduccin a Simulink

1de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

OBJETIVOS:
Iniciacin en la utilizacin de la herramienta de simulacin de sistemas dinmicos SIMULINK.

RESUMEN:
Con esta prctica se pretende realizar una introduccin al uso del paquete de modelado, simulacin y anlisis de sistemas dinmicos SIMULINK. Este paquete forma parte de MATLAB, y permite la simulacin interactiva de sistemas, es decir, se pueden cambiar los parmetros e inmediatamente ver lo que sucede. SIMULINK se ha convertido en el paquete de software ms ampliamente utilizado para modelar y simular sistemas dinmicos en el mundo acadmico y en la industria. La prctica se estructura de la siguiente forma: en primer lugar se realizar una introduccin al entorno de SIMULINK, para posteriormente ver un modelo de demostracin proporcionado por este entorno. Tambin, se crear un modelo de simulacin sencillo y un modelo clsico basado en ecuaciones diferenciales. Finalmente se propone al alumno la creacin y simulacin del modelo de un sistema elctrico.

1. CARACTERSTICAS BSICAS DE SIMULINK:


SIMULINK es un paquete de software para modelar, simular y analizar los sistemas dinmicos. Soporta sistemas lineales y no lineales, modelados en tiempo continuo, muestreados o un hbrido de los dos. Para modelar, SIMULINK proporciona una interfaz de usuario grfica (GUI) para construir los modelos como diagramas de bloques, utilizando operaciones con el ratn del tipo pulsar y arrastrar, dando la opcin de crear y personalizar los bloques. Las caractersticas principales de este entorno seran:

Se trata de un entorno grfico. El sistema se representa como una interconexin de bloques elementales. Cada bloque lleva asociado un modelo matemtico que representa su relacin entrada/salida. Un ejemplo de representacin de un sistema mediante Simulink sera el de la figura 1:

Figura 1 Ejemplo sltankrule.

2de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

El esquema representa un sistema de control de llenado de un tanque. Este ejemplo proviene de una demo de Simulink y ser analizado ms adelante. Mediante el uso de Generadores de seales se inyecta una referencia de nivel y el sistema automtico del esquema realiza su control de nivel automticamente. Se puede observar la animacin, el osciloscopio y las reglas de control establecidas.

2. CMO ARRANCAR SIMULINK:


Existen diferentes modos de lanzar el programa Simulink, la ms sencilla es teclear desde la ventana de comandos de Matlab:
>> simulink

Tambin es posible acceder al programa desde el botn Simulink de la barra de botones de Matlab o desde el lanzador de aplicaciones o Launch pad seleccionando Simulink -> Library browser. Al lanzar Simulink, se obtiene una ventana como la que se muestra en la figura 2, que corresponde al navegador de libreras o Library browser de Simulink.

Figura 2 Entorno SIMULINK

3de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

En esta ventana se muestran las libreras disponibles; cada una de ellas contiene bloques elementales con los que se pueden construir sistemas. En funcin de la instalacin concreta de Simulink, el nmero de libreras puede ser menor o mayor.

3. CMO ENCONTRAR AYUDA EN SIMULINK:


Ayuda en lnea Se accede a travs de la ventana de comandos de Matlab tecleando help nombrefuncin. La ayuda se obtiene en modo texto. En este caso no es una ayuda muy utilizada. Como ejemplo, se visualizar la ayuda que lista los comandos de Simulink. Para ello teclearemos: Simulink es un toolbox de Matlab. Por tanto, la ayuda se estructura del mismo modo: Navegador de ayuda Se accede desde el men Help (de la aplicacin Simulink), seleccionando la opcin Simulink help. Todas las ayudas relativas a Simulink se encuentran dentro de un libro denominado Simulink.
>> help simulink.

Ejemplos Simulink tambin proporciona ejemplos y demostraciones de sus principales funcionalidades. Se accede a ellos a travs del men Help (de Matlab) seleccionando la opcin Demos.

4. EJECUCIN DE UN SISTEMA EJEMPLO:


Como primer contacto con Simulink, ejecutaremos el ejemplo del sistema de calefaccin de una vivienda. Formas de abrir el sistema ejemplo: Desde la ventana de comandos de Matlab, teclear sltankrule. Navegar en los ejemplos (demos) de Simulink y seleccionar, dentro de la carpeta Toolboxes --> Fuzzy Logic, el modelo Water Level Control in a Tank El ejemplo debe tener un aspecto parecido al que mostraba la primera imagen de este enunciado. Forma de lanzar una simulacin: Lanzar una simulacin equivale a poner el sistema a funcionar durante un periodo de tiempo determinado y observar los resultados que se obtienen. Desde el men Simulation deberemos seleccionar la opcin Start. El sistema indica con un aviso acstico cuando se ha alcanzado el final de la simulacin; si deseramos parar la ejecucin antes de llegar al final, bastara con seleccionar, dentro del men Simulation, la opcin Stop. Esto es particularmente til en simulaciones lentas; una simulacin rpida como la de este ejemplo puede durar menos de un segundo en un PC normal. Ms adelante comprobaremos cules han sido los resultados de la simulacin: se han obtenido tanto la evolucin de del nivel y referencia del nivel pedido.

4de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Algunos detalles importantes sobre la simulacin: Simulation eligiendo la opcin Simulation Parameters. Probaremos a relanzar la simulacin con distintos tiempos de comienzo (Start time) y fin (Stop time). El resto de los parmetros no se modificarn por ahora.

Las ventanas de representacin grfica de resultados: Estas ventanas funcionan de un modo similar a un registrador de seales o un osciloscopio digital. Sern bastante utilizadas en nuestras simulaciones y, por tanto, conviene familiarizarse con su comportamiento. Son el elemento Scope. Para visualizar los resultados deberemos hacer doble clic sobre este elemento:

Scope o registrador de seales.

Figura 3. Registrador de seales Scope.

Una vez hecho doble clic sobre el elemento, aparecer una ventana grfica con los resultados de la simulacin;: La ventana de resultados (Fig.4) permite ajustar la zona a visualizar: los tres botones con forma de lupa, sirven para hacer zoom sobre un rea de la grfica. El primero de ellos permite definir un rectngulo sobre el grfico y ampliar exactamente esa rea. Los otros dos permiten definir una recta horizontal o vertical respectivamente y hacen zoom slo en una dimensin. Por ltimo, el siguiente botn, que presenta un dibujo de unos prismticos, sirve para ajustar el tamao del grfico a los datos disponibles. Si el tiempo de simulacin es muy elevado, la grfica no retiene todos los datos, sino que descarta los ms antiguos y conserva slo los ltimos. Para modificar el nmero de datos a retener, se debe pinchar sobre el segundo botn de la izquierda (Parameters) y modificar, dentro de Data History el valor indicado para el campo Limit data points to last... que, por defecto, debe tener un valor de 5000. Tambin es posible desactivar la opcin de forma que no se descarte ningn valor. 5de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Figura 4. Presentacin de resultados.

5. TIPOS DE BLOQUES EN SIMULINK:


En el sistema elegido como ejemplo puede observarse como existen multitud de bloques distintos; todos los bloques de Simulink se estructuran en diferentes categoras. La ventana que aparece al arrancar Simulink permite comprobar cules son las categoras de bloques existentes. Basta con hacer clic sobre el signo + que acompaa al elemento Simulink de la lista, para profundizar en las opciones existentes. En la figura 5 se muestra, en la ventana de la izquierda, el aspecto inicial del navegador; y en la ventana de la derecha el resultado de pulsar sobre el signo + de la categora Continuous. Los elementos que aparecen a la derecha son los bloques con los que se puede construir un modelo. A continuacin se indican los principales bloques que se usarn en esta prctica y la categora a la que pertenecen. Sources. Entradas o fuentes de seales. Step (escaln).

6de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Ramp (rampa). Sine wave (senoidal). Pulse generador (tren de pulsos). From workspace(lectura de datos desde Matlab).

Figura 5. Simulink Library Browser

Sinks. Salidas o dispositivos de visualizacin/almacenamiento de variables del sistema. Scope (osciloscopio). Display (indicador numrico). To workspace (envo datos a Matlab). Continuous: Representan sistemas continuos por su relacin entrada-salida. Derivative (bloque derivador : la salida es derivada de la entrada). 7de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Integrator (bloque integrador: la salida es la integral de la entrada). Transfer Fcn (funcin de transferencia en s expresada como cociente de polinomios). Zero Pole (funcin de transferencia en s expresada en forma factorizada). Discrete: Representan sistemas discretos por su relacin entrada-salida Discrete Transfer Fcn (funcin de transferencia en z expresada como cociente de polinomios). Discrete Filter (funcin de transferencia en z-1 expresada como cociente de polinomios). Discrete Zero Pole (funcin de transferencia en z expresada en forma factorizada). Unit delay (retraso de un periodo). Zero Order Hold (retenedor de orden cero). First Order Hold (retenedor de orden uno). Math operators: Operaciones matemticas sobre seales. Sum (sumador de seales). Gain (ganancia o multiplicacin de una seal por una constante). Signal Routing: Permite realizar conexiones especiales entre seales Mux (multiplexor: agrupa distintas seales en un vector o bus).

El procedimiento de trabajo para la creacin de un modelo ser seleccionar los bloques adecuados de entre los presentes en estas categoras, colocarlos sobre la ventana de diseo y establecer las conexiones correspondientes entre ellos. A continuacin crearemos un modelo de ejemplo.

6. CREACIN DE UN MODELO SENCILLO:


Como ejemplo, crearemos un modelo que nos permita generar una seal cualquiera (una funcin del tiempo) y representar sus valores. Comenzaremos representando la funcin sen(t). Primer paso: creacin del modelo. Desde la ventana Simulink Library Browser, haremos clic sobre el botn Create a new model (pgina en blanco). Automticamente se abrir una ventana en blanco que ser la ventana de diseo para nuestro modelo. Segundo paso: introduccin de bloques en el modelo. Los elementos se introducen haciendo un arrastre con el ratn desde la ventana que contiene el listado de todos los bloques hacia la ventana de diseo. En nuestro caso requeriremos los siguientes bloques: Dentro de la categora Sources, el bloque Sine Wave. Este elemento se corresponde con una seal senoidal, que es la que deseamos generar. Dentro de la categora Sinks, el bloque Scope. Ser el que utilicemos para visualizar la seal. Una vez introducidos estos modelos, la ventana de diseo debera presentar un aspecto como el de la figura 6.

8de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Figura 6. Ventana de simulacin.

Tercer paso: modificacin de parmetros en los bloques introducidos. Todos los bloques de Simulink permiten una cierta configuracin. En particular, el bloque correspondiente a la funcin seno se puede configurar en cuanto a amplitud, frecuencia, fase, etc. Para ello se debe hacer doble clic sobre el bloque, con lo que aparecer una ventana de introduccin de parmetros. Para nuestra primera simulacin, introduciremos los siguientes valores: Sine type: Amplitude: Bias: Frequency: Phase: Sample time: time based 4 0 3 rad/s 0 0 (buscamos generar una seal continua y no discreta) (la seal tomar valores de -4 a +4) (componente contnua = 0, seal centrada) (frecuencia de la seal seno) (desfase respecto del instante t = 0) (tiempo de muestreo, ser cero para seales continuas).

Cuarto paso: interconexin de elementos. Una vez situados los elementos en la ventana de diseo, es necesario establecer conexiones entre ellos. Para conectar 2 elementos debe hacerse un arrastre con el ratn desde la salida de uno de ellos hasta la entrada del elemento correspondiente. Una vez establecidas las dos conexiones necesarias para nuestro sistema, deberamos obtener un resultado como el que se muestra en la Fig.7:

Figura 7. Conexin bloques.

9de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Quinto paso: lanzamiento de la simulacin y comprobacin de resultados. Lanzaremos la simulacin con la opcin Start del men Simulation y comprobaremos los resultados obtenidos haciendo doble clic sobre el bloque Scope. Se mostrar una ventana grfica como la vista en el primer ejemplo sobre la que podremos hacer zoom para ajustar nuestra curva. Deber aparecer algo similar a lo que se muestra el la figura 8.

Figura 8. Representacin de la salida.

Una vez creado el esquema, probaremos a representar otras seales que nos ofrece Simulink dentro de la categora Sources. Para ello borraremos del esquema el bloque Sine Wave y en su lugar insertaremos otro cualquiera. En particular, probaremos uno a uno con los siguientes bloques: Step (escaln). Ramp (rampa). Pulse generator (tren de pulsos).

7. CREACIN DE UN SEGUNDO MODELO:


A continuacin crearemos un modelo algo ms complicado, en el que se realice alguna operacin con las seales. Vamos a crear un sistema que nos permita calcular la integral de una seal. El bloque que realiza la integral de una seal se encuentra dentro de la categora Continuous. Es el bloque denominado Integrator. Con l, y con los bloques que tenamos del esquema anterior, deberemos realizar un montaje como el representado en la figura 9. En este montaje es posible ver la seal de entrada y la de salida simultneamente, para ello es necesario recurrir al bloque multiplexor Mux de la categora Signals Routing. Este bloque tiene por finalidad agrupar dos o ms seales para formar un vector. De este modo, se agruparn la seal de entrada y la de salida y el conjunto ser lo que se enve al osciloscopio.

10de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Para crear una rama nueva sobre una conexin ya existente (la segunda rama que llega al multiplexor no parte de la salida de un bloque, sino de un punto intermedio de una conexin). La forma de crear este tipo de conexiones es pulsando el botn Ctrl al mismo tiempo que se empieza a arrastrar con el ratn. En la figura 10 aparece el resultado de lanzar esta simulacin.

Figura 9. Integral de una seal.

Figura 10. Seal de entrada y su integral.

Si ejecutamos la simulacin y visualizamos los resultados veremos cmo se obtiene la integral de la seal de entrada. Podemos probar a cambiar la seal de entrada para comprobar como: La integral de una seal escaln es una seal rampa. La integral de una seal rampa es una seal parbola.

8. SIMULACIN DE UN SISTEMA DESCRITO POR UNA ECUACIN DIFERENCIAL:


Consideremos el sistema mecnico de la figura 11 consistente en una masa M unida a un muelle de constante elstica K, y con un rozamiento viscoso B. La fuerza externa f(t) es la entrada al sistema, y el desplazamiento x(t) de la masa es la salida. El desplazamiento x(t) se mide a partir

11de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

de la posicin de equilibrio en ausencia de una fuerza externa. Este sistema tiene una sola entrada y una sola salida. La ecuacin diferencial que rige el comportamiento del sistema es: f (t) = M d 2 x(t) dx(t) + B + K x(t) 2 dt dt

Figura 11. Sistema mecnico.

Veremos dos formas de analizar este sistema para obtener el efecto que una fuerza en forma de escaln (seal de entrada) produce sobre la posicin del conjunto (seal de salida). Al tratarse de un conjunto muelle-amortiguador, el movimiento de la masa debe representar oscilaciones que poco a poco deben ir desapareciendo. 1 Forma: La salida que pretendemos visualizar ser la posicin del conjunto x(t). Para obtenerla tendremos que utilizar dos bloques integradores, as como distintos bloques multiplicadores o de ganancia (estos bloques permiten multiplicar un bloque por una constante). Por tanto despejando de la ecuacin diferencial que rige el comportamiento del sistema el trmino d 2 x(t) / dt 2 . dx(t) d 2 x(t) 1 = f (t) B K x(t) 2 M dt dt

La representacin de este sistema mecnico en SIMULINK se muestra en la figura 12. Se han elegido los siguientes valores para las constantes: K:10. B:1. M:1.

En el diagrama es posible apreciar que alguno de los bloques se encuentra girado para que sea ms fcil realizar las conexiones. Para realizar esto seleccionamos el elemento que pretendemos rotar y pulsamos las teclas Control+R, o bien seleccionamos el bloque y elegimos la opcin Flip Block del men Format.

12de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Figura 12. Modelo del sistema mecnico.

El resultado obtenido al ejecutar este modelo se muestra en la figura 13.

Figura 13. Variacin de la posicin x(t).

2 Forma: Se trata de hallar la funcin de transferencia de nuestro sistema.

F(s)

G(s)

X(s)

13de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Partiendo de la ecuacin diferencial que define el sistema. d 2 x(t) dx(t) f (t) = M + B + K x(t) 2 dt dt

Le aplicamos la trasformada de Laplace. F (s) = M s 2 X (s) + B s X (s) + K X (s) Hallamos la funcin de transferencia: G(s) = 1 X (s) = 2 F(s) M s + B s + K

Utilizando el bloque de Transfer Fcn perteneciente a Continuos, se obtiene la representacin en Simulink de este sistema (Fig.14). Su resultado (Fig 15), ser similar al de la figura 13.

Figura 14. Modelizacin del sistema a partir de la funcin de transferencia.

14de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

Figura 15. Resultado de la modelizacin.

Una vez que hemos creado el esquema que permite simular un determinado sistema fsico, podemos comprobar hasta qu punto es til disponer de una simulacin para comprobar el funcionamiento de cualquier sistema. Realizaremos las siguientes pruebas: Sobre el esquema anterior, aumentaremos el valor de la masa M cambiando la ganancia (Gain) del elemento correspondiente. Realizaremos de nuevo la simulacin y comprobaremos el efecto de las variaciones de este parmetro. Haremos lo mismo con la constante elstica K y con el rozamiento viscoso B. Por ltimo, probaremos la respuesta ante otros tipos de seal de entrada: senoidal, pulsos, etc.

15de16

Regulacin y Automatizacin de Mquinas y Procesos

P1

EJERCICIO SIMULINK.
El objetivo es simular el comportamiento de un sistema elctrico del que conocemos su ecuacin diferencial:

Se tomar como seal de entrada v(t) y como salida la seal i(t). Se comprobarn los resultados obtenidos para dos tipos de entradas: v(t) = escaln. En este caso lo que estamos haciendo es similar a un anlisis transitorio en continua. El tipo de respuesta depender del coeficiente de amortiguamiento. Para modificarlo variaremos los valores R, L, C. v(t) = senoidal. Este caso corresponde al anlisis de un circuito en alterna. Para comprobar la salida en rgimen permanente, que ser lo que nos interese en este caso, tendremos que fijar un tiempo de simulacin lo suficientemente largo. Se realizarn las simulaciones segn los dos mtodos vistos en la anterior simulacin del sistema mecnico. Obtener el bloque Scope con los siguientes parmetros. Resistencia: R= 0.5W Bobina: L = 1H Condensador: C = 0.1F Seal de entrada: escaln de amplitud 1V Tiempo de simulacin: 20 segundos Y con. Resistencia: R= 0.5W Bobina: L = 1H Condensador: C = 0.1F Seal de entrada: senoidal de amplitud 5V y frecuencia 1 rad/seg Tiempo de simulacin: 20 segundos

Nota: al igual que en el caso del conjunto masa - muelle lo ms conveniente para la representacin en Simulink era despejar d 2 x(t) / dt 2 , en este caso lo ms apropiado es despejar di(t)/dt. De este modo podemos representar el sistema utilizando slo el operador integral; en otro caso deberamos utilizar el operador derivada, que ofrece mayores dificultades para la simulacin.

16de16

S-ar putea să vă placă și