Está en la página 1de 11

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

Prctica 2: Modelizado y Simulacin de a o Sistemas No Lineales


1. Simulacin con Simulink o

Simulink permite la simulacin de sistemas, lineales y no lineales, haciendo uso de una o interfaz grca basada en diagramas de bloques. a

1.1.

Abrir modelo o comenzar nuevo modelo

Para comenzar el trabajo con Simulink hay que iniciar Matlab y pulsar el botn de Simulink o en su barra de herramientas (gura 1) o introducir simulink en su linea de comandos. Se abre entonces la ventana principal de Simulink (gura 2) donde ser posible abrir un modelo ya creado a y previamente guardado (File\Open...) o crear uno nuevo (File\New\Model), abrindose una e nueva ventana (gura 3) para el diagrama con el modelo cargado o en blanco respectivamente.

SIMULINK

Figura 1: Detalle de la ventana principal de Matlab.

1.2.
1.2.1.

Creacin o modicacin del modelo o o


Colocacin de bloques o

La ventana principal de Simulink contiene dos columnas (gura 2). En la primera (izquierda) hay diversos apartados en los que se clasican los bloques. En este documento se describirn slo a o los correspondientes al primer apartado, y ms general, denominado Simulink. Dicho apartado a est dividido en subapartados y al hacer clic sobre ellos se presenta en la segunda columna a (derecha) los diversos bloques que podemos arrastrar a la ventana del diagrama para construir el modelo. Los ms t a picos son los siguientes: Continuous: bloques para sistemas dinmicos continuos, como por ejemplo el integrador a (Integrator ), la funcin de transferencia (Transfer Fcn), etc. o Math Operations: bloques para funciones matemticas bsicas, como por ejemplo la a a ganancia (Gain), las funciones matemticas bsicas no trigonomtricas (Math Function), a a e el producto (Product), la suma (Sum), las funciones trigonomtricas (Trigonometric Fune ction), etc. Sinks: los sumideros son bloques de elementos que toman seales, generalmente para n presentarlas o almacenarlas, como por ejemplo Scope, que realiza la representacin grca o a de la evolucin temporal de las seales que tiene como entrada. o n Sources: las fuentes son bloques de elementos que generan seales, como por ejemplo la n constante (Constant), la rampa (Ramp), la onda senoidal (Sine Wave), el escaln (Step), o etc. Ingenier de Sistemas y Automtica a a 1 Universidad de Oviedo

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

Nuevo modelo

Abrir modelo

Figura 2: Ventana principal de Simulink. Es posible cambiar la orientacin de los bloques en el esquema (y con ello la de sus entradas o y/o salidas) con dos opciones disponibles en el men de contexto del bloque (clic con el botn u o derecho sobre el bloque) o en el men principal de la ventana del diagrama cuando se ha u seleccionado un bloque haciendo clic sobre l. Dichas opciones son Format\Flip block (imagen e especular) y Format\Rotate block (rotar 90o en el sentido de las agujas del reloj). Tambin se e dispone de combinaciones de teclas para realizar dichas operaciones: Control+I y Control+R, respectivamente. El enlazado de los bloques se realiza haciendo clic en una salida (ver gura 3), arrastrando y soltando sobre una entrada o viceversa. Tambin se pueden hacer bifurcaciones de salidas e (conexin de una salida con ms de una entrada) haciendo clic en una entrada, arrastrando y o a soltando sobre un enlace hecho previamente. Las conexiones tambin pueden borrarse, haciendo e clic sobre ellas para seleccionarlas y pulsando la tecla Supr, o moverse. Las seales se pueden n etiquetar haciendo doble clic en las conexiones. 1.2.2. Conguracin de bloques o

Una vez situado un bloque en el diagrama, en muchos casos requiere una cierta conguracin o de parmetros. Al hacer doble clic sobre l, se presenta el cuadro de dilogo en el que se puede a e a establecer el valor de los parmetros propios de cada bloque. A continuacin se describe esos a o parmetros para los ms t a a picos: Integrator : el parmetro Initial condition corresponde al valor inicial de la salida del a integrador. Transfer Fcn: el parmetro Numerator es el polinomio numerador de la funcin de transa o ferencia (vector con los coecientes del polinomio ordenados de mayor a menor grado) y el parmetro Denominator es el polinomio denominador. a Gain: el parmetro Gain es la ganancia del bloque. a

Ingenier de Sistemas y Automtica a a

Universidad de Oviedo

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

Inicio de la simulacin

Entrada

Salida

Figura 3: Ventana Simulink de diagrama de modelo. Math Function: el parmetro Function es un desplegable en el que se puede escoger de a entre funciones como ex , log(x), x2 , x, 1/x, etc. Product: el parmetro Number of inputs permite escoger el nmero de entradas del bloque a u (por defecto: 2). Sum: el parmetro List of signs permite establecer el nmero de entradas y su signo. a u Es una lista de s mbolos donde cada uno de ellos representa a una entrada, + positiva, - negativa y | sin entrada (hueco), correspondiendo el primero de la lista a la entrada superior, el ultimo a la inferior y las intermedias situadas de forma equiespaciada en sentido contrario a las agujas del reloj. Trigonometric Function: el parmetro Function es un desplegable en el que se puede a escoger de entre funciones como sen(x), cos(x), tan(x), etc. Scope: al hacer doble clic sobre l aparece la grca que mostrar la evolucin temporal e a a o de sus seales de entrada una vez que se ha ejecutado la simulacin (gura 4). Pulsando el n o botn de propiedades de su barra de herramientas se muestra un cuadro de dilogo donde o a se puede congurar el nmero de seales de entrada (Number of axes, en la lengeta u n u General ) o quitar la limitacin del nmero de muestras a presentar (Limit data points to o u last, en la lengeta Data history), util cuando aparece el resultado de la simulacin de u o forma incompleta (slo el nal). Es posible hacer que se represente ms de una seal en o a n los mismos ejes colocando un bloque Mux a la entrada del Scope y congurado dicho Mux para el nmero de seales deseado. u n Constant: el parmetro Constant value es el valor de la seal constante que se genera en a n la salida. Ramp: el parmetro Slope es la pendiente de la rampa, Start time es el instante de a comienzo de la rampa (en segundos) e Initial output es el valor constante de salida antes del comienzo de la rampa. Sine Wave: el parmetro Amplitude es la amplitud de la onda senoidal de salida, Bias es a el desplazamiento vertical de la onda (es decir, su valor medio), Frequency es la frecuencia (en radianes/segundo) de la onda y Phase es el ngulo de fase de la onda (en radianes) a para el instante t = 0. Step: el parmetro Step time es el instante de tiempo (en segundos) en el que se produce a la transicin del nivel inicial al nivel nal del escaln, Initial value es el nivel inicial del o o escaln y Final value es el nivel nal del escaln. o o Ingenier de Sistemas y Automtica a a 3 Universidad de Oviedo

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

Propiedades

Zoom automtico Zoom Y Zoom X Zoom ventana

Figura 4: Ventana de Scope. En la ventana de linea de comandos de Matlab se pueden denir variables en cualquier momento para ser utilizadas como parmetros en las conguraciones de los bloques (por ejema plo deniendo denG=[1 2 2] en l nea de comandos de Matlab y luego poniendo denG como parmetro Denominator en un bloque Transfer Fcn). a

1.3.

Simulacin o

Una vez terminado el diagrama se puede llevar a cabo el proceso de simulacin para calcular o la evolucin temporal de las seales del sistema. Existen algunos parmetros de conguracin o n a o importantes para la simulacin en el men Simulation\Simulation parameters... de la o u ventana del diagrama, en el apartado Solver : Start time: instante de comienzo de la simulacin (segundos). o Stop time: instante de nal de la simulacin (segundos). o Relative tolerance: tolerancia relativa del error. Disminuyendo este valor (siempre mayor que cero) se obtienen simulaciones ms precisas (puede ser util cuando se observan seales a n angulosas en lugar de curvas suaves, por ejemplo en senoidales, etc.). Finalmente con la opcin de men Simulation\Start se lleva a cabo la simulacin. Cuando o u o sta termina, se puede observar la evolucin temporal de las seales introducidas en los bloques e o n Scope (doble clic sobre ellos). En la barra de herramientas de stos (gura 4), adems de las e a propiedades ya mencionadas, se encuentran disponibles botones para diversos ajustes de zoom (de ventana, eje x, eje y y automtico). a

Ingenier de Sistemas y Automtica a a

Universidad de Oviedo

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

2.
2.1.

Modelizado y simulacin de un pndulo o e


Descripcin f o sica

Un pndulo se considerar como una bola de masa m situada en el extremo de una barra e a r gida de longitud l. Dicha barra tiene un eje de giro (punto o) en el extremo opuesto alrededor del cual puede girar dando vueltas completas. El pndulo est sometido a fuerzas externas, de e a las cuales se considerar el par resultante T (momento resultante de dichas fuerzas respecto al a eje de giro). La posicin angular tiene como origen el lado inferior en la vertical del punto o. o
o
T t

l
t

mg

Figura 5: Esquema f sico del pndulo. e

2.2.

Modelo matemtico a

Aplicando la ecuacin fundamental de la dinmica de rotacin respecto al punto de giro o a o o, que relaciona la resultante de momentos de fuerzas respecto al punto o con el momento de inercia respecto a dicho punto J y la aceleracin angular (derivada segunda de la posicin o o angular (t)): d2 Mo = J 2 (1) dt Se supondr que en el eje de giro existe un rozamiento viscoso modelizado como un momento a proporcional a la velocidad angular, con constante de proporcionalidad B. Tambin se sue pondr que la masa de la barra es despreciable respecto a la de la bola, con lo que el momento a de inercia es J = ml2 . Teniendo en cuenta que el momento del peso respecto al punto o es mgl sen (t), el modelo del pndulo queda como: e d(t) d2 (t) mgl sen (t) = ml2 (2) dt dt2 que reordenando los trminos y simplicando la notacin de las derivadas temporales, queda e o como: ml2 (t) + B (t) + mgl sen (t) = T (t) (3) T (t) B Se puede observar que es una ecuacin diferencial no lineal debido al trmino sen (t). Slo o e o intervienen dos variables: el par T (t), que es la entrada (conocida, dato del problema, accin o externa sobre el sistema), y la posicin angular (t) que es la salida (incgnita del problema). o o

2.3.

Diagrama del pndulo en Simulink e

Para realizar el diagrama del pndulo en Simulink es necesario pasar el modelo del pndulo e e a ecuaciones en espacio de estados. Para ello es necesario convertir la ecuacin diferencial de o orden 2 en dos ecuaciones diferenciales de orden 1. Ingenier de Sistemas y Automtica a a 5 Universidad de Oviedo

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

En general, obtener n ecuaciones de orden 1 de la forma (ecuaciones en espacio de estados1 ): xi (t) = fi (x1 (t), . . . , xn (t), u(t)) i = 1, . . . , n (4)

a partir de una ecuacin de orden n en la que no intervienen derivadas de la entrada u(t) suele o ser relativamente sencillo tomando como variables de estado xi (t), la salida y sus n 1 sucesivas derivadas. Particularizando para el caso del pndulo, donde la entrada es T (t) y la salida es (t), se e tomar como variables de estado: an x1 (t) x2 (t) Luego basta con derivar esas n ecuaciones: x1 (t) x2 (t) = = (t) (t) (7) (8) = = (t) (t) (5) (6)

sustituir en la ultima de ellas la derivada n-sima por su valor despejado en la ecuacin de e o orden n original (3): B g 1 T (t) (9) (t) sen (t) (t) = ml2 ml2 l y luego sustituir en todas ellas la salida y sus derivadas en los trminos de la derecha por las e xi correspondientes, quedando en este caso: = x2 (t) g B 1 x2 (t) = sen x1 (t) x (t) + T (t) 2 2 l ml ml2 x1 (t) (10) (11)

Finalmente, es importante comprobar que se cumple que son n ecuaciones, que en los miembros de la izquierda son las derivadas primeras de cada una de las variables de estado xi y que en los miembros a la derecha del igual las unicas variables que aparecen son las variables de estado xi y las entradas, y que ni unas ni otras aparecen derivadas.
x2 x1

1 s

1 s

x2 x2= f 2 x1 , x2 , T

Figura 6: Esquema de ejemplo para implementacin de sistema no lineal en Simulink. o Para implementar esas ecuaciones en un diagrama de Simulink se encadenan n integradores, de manera que se consigue tener a la salida del ultimo la variable de salida (), a la entrada
1 Las f son funciones algebraicas (no diferenciales) que adems pueden ser no lineales, como en el caso descrito a i del pndulo. Se ha considerado el caso con una unica entrada u(t), pero con varias entradas el procedimiento e descrito se aplica de forma anloga mientras no existan derivadas de ninguna de las entradas en la ecuacin a o diferencial de orden n inicial.

Ingenier de Sistemas y Automtica a a

Universidad de Oviedo

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

del primero la derivada n-esima de la misma (), y entre los integradores todas las derivadas restantes. El diagrama se completa con la implementacin de la ecuacin (11) con los bloques o o necesarios. Todo esto se muestra de forma general en el diagrama de la gura 6, donde la ecuacin (11) se ha representado como una funcin f2 genrica. o o e Este diagrama, ahora ya especicando la funcin f2 del caso del pndulo y representada con o e bloques semejantes a los de Simulink, tiene la siguiente forma (donde se puede observar que el unico elemento no lineal del diagrama es el bloque con la funcin seno, resaltado en gris): o
T x2 B ml 2 x2 x1

1 ml 2

1 s

1 s

g l

sen

Figura 7: Diagrama del modelo del pndulo semejante a su forma de representacin en Simulink. e o

2.4.

Animacin del pndulo en Matlab o e

Para realizar una animacin del movimiento del pndulo basta guardar los valores de la o e variable , con sus instantes de tiempo correspondientes de la simulacin, en el espacio de o trabajo de Matlab. Para ello, primero se aade al diagrama Simulink un bloque To Workspace n usando el nombre de variable theta como propiedad Variable Name del mismo e introduciendo la seal en su entrada. Posteriormente, el valor de los instantes de tiempo de la simulacin n o se genera con un bloque Clock, cuya salida se une con la entrada de otro bloque To Workspace que tenga t como propiedad Variable Name. Para conseguir intervalos de tiempo iguales en la simulacin, se deben ajustar en los parmeo a tros de simulacin (apartado Solver ) los parmetros: o a Type: Fixed-step / ode4 (Runge-Kutta) Fixed step size: 0.01 Una vez ejecutada la simulacin, la animacin se lleva a cabo con el siguiente cdigo Matlab o o o (copiar y pegar en l nea de comandos): figure(1); for k=1:length(t.signals.values); plot([0,l*exp(j*(theta.signals.values(k)-(pi/2)))],o-); axis equal; axis(1.2*[-1 1 -1 1]); grid on; drawnow; end

Ingenier de Sistemas y Automtica a a

Universidad de Oviedo

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

2.5.

Ejercicio

Dado el modelo del pndulo explicado en los apartados anteriores, obtener la representacin e o grca de la evolucin a lo largo del tiempo de la posicin angular (t) y de la velocidad angular a o o (t) en los siguientes casos: 1. Con el pndulo en movimiento libre (T (t) = 0) con condiciones iniciales (0) = /2 y e (0) = 5 rad/s. Probar luego con distintos valores de velocidad inicial, incrementando poco a poco. 2. Ante un cambio brusco de par T (t) de 0 a 10 Nm en el instante t = 2, con condiciones iniciales nulas. 3. Comparando con un modelo linealizado en el punto de equilibrio con 0 = 0, cuando el par baja bruscamente 10 Nm respecto de su valor de equilibrio. Repetir con una bajada brusca de 5 Nm. Nota: comparar slo la posicin angular, no la velocidad, y hacerlo o o representando la dos (no lineal y linealizada) en los mismos ejes usando un bloque Mux a la entrada de un Scope. 4. Repetir apartado anterior pero linealizando en 0 = /2. Datos: l = 1, B = 2, g = 9,8, m = 3, todos los valores en unidades del sistema internacional.

Ingenier de Sistemas y Automtica a a

Universidad de Oviedo

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

3.

Soluciones

1. Movimiento libre (T (t) = 0) con condiciones iniciales (0) = /2 y (0) = 5 rad/s:

2. Cambio brusco de par T (t) de 0 a 10 Nm en el instante t = 2, con condiciones iniciales nulas.:

Ingenier de Sistemas y Automtica a a

Universidad de Oviedo

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

3. Comparacin con un modelo linealizado en el punto de equilibrio con 0 = 0, con bajada o de par de 10 Nm y 5 Nm respectivamente:

Ingenier de Sistemas y Automtica a a

10

Universidad de Oviedo

Anlisis Dinmico de Sistemas a a

EPSIG-Ingeniero de Telecomunicacin o

4. Comparacin con un modelo linealizado en el punto de equilibrio con 0 = /2, con bajada o de par de 10 Nm y 5 Nm respectivamente:

NOTA: A menudo las grcas aparecen cortadas porque no se ajustan los rangos de los a ejes automticamente. En ese caso es necesario pulsar el botn de autoescalado de la barra de a o herramientas (los prismticos) para conseguirlo. a Ingenier de Sistemas y Automtica a a 11 Universidad de Oviedo

También podría gustarte