Sunteți pe pagina 1din 15

PRCTICA 2: MODELADO DE SISTEMAS

2.1

PRCTICA 2: MODELADO DE SISTEMAS


2.1 INTRODUCCIN
Esta prctica est dedicada al modelado de sistemas. En primer lugar se describen las tcnicas de representacin basadas en el modelo de estado y posteriormente se decribe la representacin mediante la funcin de transferencia.

2.2 SIMULINK
Adems del entorno de comandos, MATLAB se puede suplementar con una interfaz grfica de usuario basada en ventanas, conocida como Simulink, en la cual se puede describir grficamente un sistema dibujando diagramas de bloques. Esto es especialmente conveniente para la simulacin de sistemas dinmicos. Dibujar un diagrama de bloques requiere la utilizacin de un ratn con operaciones de pulsar, arrastrar y dibujar. Para comenzar hay que abrir la biblioteca de bloques de Simulink. Escriba simulink (en la ventana de comandos de MATLAB) o seleccione con el ratn, en la parte superior de la ventana de comandos, el icono . La biblioteca contiene todos los

bloques de construccin utilizados normalmente para dibujar diagramas de bloques. Estos bloques estn organizados en grupos (o sublibreras) de acuerdo con su comportamiento. Una doble pulsacin sobre el nombre de una sublibrera abrir una nueva ventana que muestra el contenido del grupo. Por ejemplo, dentro de la Linear Library o dentro de la librera Simulink/Continous pueden encontarse los bloques de funcin de transferencia, integrador, modelo de estado etc... Un diagrama de bloques se dibuja copiando bloques de la librera. El diagrama de bloques se construye con los pasos siguientes: Crear una ventana de trabajo seleccionando New del men File de cualquier ventana de librera. Copiar un bloque de la Linear Library en la ventana de trabajo arrastrndolo hasta la ventana de trabajo y movindolo a una posicin deseada. Hacer una doble pulsacin sobre el bloque y configurar el elemento rellenando los distintos campos. Dos bloques cualesquiera se pueden conectar dibujando una lnea o algunos segmentos de lneas conectados desde el puerto de salida de un bloque (con > apuntando hacia fuera del bloque) al puerto de entrada del otro bloque (con >apuntando hacia el bloque). Se puede aadir una lnea de bifurcacin inicindola cerca de la salida de un bloque o pulsando la tecla control cuando comienza la bifurcacin.
Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.2

Las operaciones pueden variar ligeramente en plataformas diferentes y el lector debera consultar el manual de usuario de Simulink.

2.3 Gestin de los modelos de estados con Matlab y Simulink


Un modelo de estado lineal representado por las matrices A, B, C y D es un formato comn para introducir modelos en las rdenes de Matlab. Los algoritmos numricos se preparan de forma muy rpida y eficiente si el modelo se introduce en el formato modelo de estado. Los sistemas modelados segn esta estructura responden a la ecuacin diferencial matricial:
x &= A x + B u y = C x + Du

Para crear en Matlab un modelo de estado de utiliza el comando ss: sistema = ss(A, B, C, D) Cuando se crea un modelo, hay que tener especial cuidado al introducir las matrices A,B,C y D teniendo en cuenta que las filas de la matrices deben estar separadas por ; El comando anterior crea un objeto con el nombre sistema sobre el que se puede obtener la respuesta temporal de la variable de salida del modelo a diferentes tipos de entrada: step (sistema): respuesta al escaln con condiciones iniciales nulas. impulse(sistema): respuesta a la seal impulso. Si se desea simular el comportamiento del sistema para una entrada arbitraria y condiciones iniciales no nulas se utilizar el comando: lsim(sistema,u,t,x0) Donde el vector t consiste en instantes de tiempo regularmente espaciados, x0 es una matriz de valores iniciales, con tantas filas como variables de estado haya, u es una matriz con tantas columnas como entradas tenga el modelo, de forma que cada fila especifica el valor de las entradas en un instante de tiempo, es decir, la isima fila especifica el valor de la entrada en el tiempo t(i).
Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.3

Alternativamente, un modelo de estado se puede describir tambin mediante diagramas de bloques de Simulink, ver la figura 2.3. El modelo de estado se puede especificar escogiendo el bloque State-Space, haciendo una doble pulsacin sobre l y a continuacin introduciendo las correspondientes matrices A, B, C y D; la condicin inicial del vector de estado de cada bloque se puede fijar tambin desde ese mismo interfaz grfico, ver la figura 2.4

figura 2.1

figura 2.2

En esta figura se muestra un ejemplo donde se ha definido un modelo de estado en el que las matrices tomam los valores: A=1, B=1; C=1 y D=1; Por tanto, se est representando un modelo con una sola variable de estado una variable de entrada y una salida.
Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.4

2.4 LA FUNCIN DE TRANSFERENCIA


La funcin de trasferencia se obtiene directamente de las ecuaciones diferenciales que definen el sistema. Una vez obtenida, es posible trabajar sobre ella con el entorno que proporcionan MATLAB y la herramientas Simulink. Para trabajar con funciones de transferencia en Simulink simplemente es necesario escoger el bloque correspondiente. Este mdulo se encuentra en la librera Continuous y se llama Transfer Fcn. La forma de este bloque una vez colocado en simulink es la siguiente:

Los parmetros a configurar en este bloque son los siguientes: Coeficientes del numerador y Coeficientes del denominador. Ambos datos han de escribirse en forma matricial, escribindose de mayor a menor grado de derecha a izquierda, ver figura 2.3

figura 2.3

Configuracin de un bloque para una funcin de tranferencia

Con los parmetros mostrados anteriormente quedara la funcin de transferencia anterior. El numerador sera 1 y el denominador sera s+1. Por otra parte, MATLAB tambin ofrece la posibilidad de realizar tareas de modelado y manipulacin de funciones de transferencia desde el interfaz de comandos. Para asociar un

Escuela Politcnica Superior de la Rbida

Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.5

sistema con una funcin de transferencia se utiliza la sentencia tf. Por ejemplo, el siguiente cdigo crea un sistema llamado sis, al que se le asocia la funcin de transferencia :

5s + 20 s + 4 s + 20 Los coeficientes del numerador se encuentran en la matriz n y los coeficientes del


2

denominador se encuentran en la matriz d. n=[0 5 20]; %Vector fila para definir coeficientes del numerador d=[1 4 20]; %Vector fila para definir coeficientes del denominador sis = tf(n,d); En ocasiones, puede ser til especificar la funcin de transferencia por los polos y ceros que lo componen. En este caso se utiliza la sentencia zpk. Por ejemplo, el siguiente cdigo asocia el sistema sis con la funcin de transferencia:

5( s + 4) ( s + 2)( s 2)
z = [-4]; p = [-2 2]; k=5 sis=zpk(z,p,k) Aunque la conversin entre los dos formatos no es una tarea difcil con funciones de transferencia simples, el cambio puede llegar a ser tedioso con funciones de elevado orden y la consideracin de races complejas. Las rdenes de conversin en MATLAB son tf2zp (funcin de transferencia a ceros y polos) o zp2t(ceros y polos a funcin transferencia). Por ejemplo, el siguiente programa convierte la primera funcin de transferencia, introducida al principio de esta pgina, a la nueva forma: % Matriz de ceros %Matriz de polos %Valor de la constante

5( s + 4) ( s + 2 4 j )( s + 2 + 4 j )

n=[0 5 20]; d=[1 4 20];

%Vector fila para definir coeficientes del numerador %Vector fila para definir coeficientes del denominador
Sistemas Electrnicos y Automticos

Escuela Politcnica Superior de la Rbida

PRCTICA 2: MODELADO DE SISTEMAS

2.6

[z, p, k] = tf2zp(n,d) %Convertir a formato polo-cero Como resultado se obtiene la matriz z que contiene los ceros del sitema, y la matriz d que contiene los polos del sistema. Si lo que se desea es establecer los ceros y polos del sistema, y obtener la funcin de transferencia como cociente de polinomios en s, puede utilizarse el siguiente cdigo: k = 5; z = -4; p = [-2+j*4 2-4*j]; [n, d] = zp2tf (z, p, k) %Definir el factor de ganancia %Especificar el cero %Vector columna para definir los polos %Convertir a una razn de polinomios

Observe que el apstrofo (que sigue al vector p) traspone el vector. Aunque la notacin utilizada para identificar los diferentes datos (n, d, p, etc) es arbitraria, la secuencia en la cual de introducen los datos en cada orden de conversin debe corresponder a un formato que es especfico de la funcin. El siguiente programa describe un modelo de estado, obtiene una funcin de transferencia equivalente y a continuacin lo convierte otra vez a un modelo de estado en forma cannica de control a = [0 1 0; -4 2 4; -1 0 0]; b = [0 4 1] ; c = [1/2 0 0]; d = 0; [aa,bb,cc,dd]=tf2ss(n,d) %Definir la matriz A %Definir la matriz B %Definir la matriz C %Definir la matriz D [n, d] = ss2tf (a, b, c, d) %Convertir el modelo de estado en F.T. %Convertir F.T. a modelo de estado

Observe que la conversin de una funcin de transferencia en un modelo de estado no proporciona una solucin nica y la orden tf2ss produce una solucin que es una variacin de la forma cannica de control, donde las variables de estado se relacionan en orden inverso. Para el estudio de la respuesta temporal de los sistemas definidos mediante funciones de transferencia, MATLAB utiliza los comandos: step, impulse. Adicionalmente, MATLAB incorpora una serie de funciones que permiten el anlisis de sistemas modelados mediante funciones de transferencia:
Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.7

El comando bode(sis) dibuja los diagramas de bode del sistema. El comando evalfr(sis, j*w ) Genera el valor de G(jw) en formato parte real y parte imaginaria. El comando pole(sis) devuelve los polos del sistema. El comand tzero(sis) devuelve los ceros del sistema El comando pzmap(sis) muestra en pantalla el diagrama de polos y ceros del sistema. El comando rlocus(sis) dibuja la evolucin de entre 0 e infinito. los polos del sistema, para

cualquiera de las dos estructuras que se muestran en la figura 2.4, cuando k vara

figura 2.4

El comando rlocfind(sys) permite obtener el valor que hay que darle a la ganancia k para que el sistema tenga unos determinados polos. Esto se consigue pinchando con el ratn sobre la figura obtenida con el comando rlocus(sis).

Escuela Politcnica Superior de la Rbida

Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.8

2.5 EJERCICIO RESUELTO N 1


Se pretende simular las distintas posibilidades de movimiento de una masa que se mueve bajo la accin de la gravedad. Se considera que la masa tiene un valor de 1kg, la constante de rozamiento viscoso del aire es de 0.1kg/s, y que la aceleracin de cada en el campo gravitatorio es de 9.8m/s2. La descripcin del movimiento se realiza en un plano determinado por un sistema de referencia cuyo eje X es paralelo al suelo, cuyo eje Y es perpendicular al mismo y cuyo origen est situado al nivel del suelo. a) Programe un script en Matlab para simular el movimiento de la masa considerando que es lanzada desde el origen de coordenadas con una velocidad de 20m/s, formando un ngulo con la horizontal de 30.

2.6 SOLUCIN a) En este apartado se consideran como salidas: la evolucin de las coordenadas
espaciales x e y ; y las velocidades vx y vy. Por tanto el modelo de estado es el siguiente:
1 2 = 3 4 1 2 0 0 .1 0 0 + 0 0 0 1 3 0 0 0 0.1 4 0 1 0 0 0 1 ( g ) 0 0

y v y = x v x

1 0 0 0

0 1 0 0

0 0 1 0

0 1 0 2 + 0 3 1 4

0 0 ( g ) 0 0

Las condiciones iniciales son [0;20*sin(30*pi/180) 0; 20*cos(30*pi/180)], la grfica que muestra la evolucin el en plano X-Y se muestra en la figura 2.7

Escuela Politcnica Superior de la Rbida

Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.9

-1

10

15

20

25

30

35

figura 2.7 Trayectoria en el plano X-Y

Finalmente se resuelve este ltimo apartado mediante un script:


%introduccin de las matrices A=[0 1 0 0;0 -0.1 0 0; 0 0 0 1;0 0 0 -0.1]; B=[0;-1; 0; 0]; C=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]; D=[0;0;0;0]; %generacin del sistema masa=ss(A,B,C,D); %condiciones iniciales x0=[0;20*sin(30*pi/180); 0; 20*cos(30*pi/180)]; %vector tiempo t = 0:0.01:2; %vector de entrada u = 9.8*ones(size(t)); %integracin del sistema x=lsim(masa,u,t,x0); %representacin de la trayectoria en el plano X-Y plot(x(:,3),x(:,1))

2.7 EJERCICIO PROPUESTO N 1


1.- Simule el sistema del ejercicio anterior usando un script en Matlab para los siguientes casos: a) Altura inicial h, velocidad inicial v0, y ngulo inicial del movimiento ?=0. b) Altura inicial h, velocidad inicial v0, y ngulo inicial del movimiento ?. c) Altura inicial h, velocidad inicial v0, y ngulo inicial del movimiento ?=p/2. 2.- Modifique el modelo anterior para incluir el efecto de la fuerza del viento. Considere que las componentes del viento son [-5 N , 20 N] cuando t >1.5 s; y [0,0] cuando t <1.5 s. Simule el modelo en MATLAB para los siguientes valores de los parmetros: h=10 m, v0=10 m/s, y ?= p/4.
Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.10

2.8 EJERCICIO RESUELTO N 2


Considerando el siguiente esquema:

Donde la longitud del muelle en reposo es d=2 m., K representa la constante de elasticidad del resorte, cuyo valor es 1 N/m, la constante de rozamiento viscoso, cuyo valor es 1 Kg/s y M la masa tiene un valor de 1 Kg. Consideramos como variable de entrada del sistema la posicin del extremo libre de resorte x0 (t), como salida y1 la posicin x1 de la masa M, y como salida y2 la distancia entre el punto x1 el x0. Obtenga las funciones de transferencia Y1(s)/X0(s) e Y2(s)/X0(s), simule en SIMULINK las siguientes situaciones:

a) El punto se desplaza con una velocidad constante x0=1 m/s. b) El punto se desplaza instantneamente de x0=0 a x0=1. c) Dibuje los polos y ceros de la funcin de transferencia Y1(s)/X0(s), analice mediante el lugar de las raices el efecto la constante k sobre los polos de dicha funcin de transferencia.

2.9 Solucin
Ecuacin del movimiento de la masa

k ( x1 x 0 )
Para la salida y1:

dx1 d 2 x1 =m dt dt

k x0(s) = m s2x1(s) + s x1 (s) + k x1(s) k x0 (s) = x1(s) [m s2 + s + k]


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.11

Funcion de transferencia:

x1 ( s ) y1 ( s ) k = = 2 x0 ( s ) x0 ( s ) ms + s + k

Para el caso de la salida y2: y2 = x1 x0 x1 = y2 +x0

dy 2 dx0 d 2 y 2 d 2 x0 k ( y2 ) ( + ) = m( + ) dt dt dt dt
sx0 (S) m s2 x0 (s)= m s2 y2 (s) + k y2 (s) + s y2 (s)

x0 (s) [- s m s2] = m s2 y2 (s) + k y2(s) + S y2 (s) Funcin de transferencia:

y 2 (s) s ms 2 = x 0 ( s ) ms 2 + s + k
a) La situacin en la que el punto x0 se mueve con una velocidad constante x0=1 se simula suponiendo que la entrada es una seal rampa de valor 1. Representando las las funciones de tranferencia en simulink queda el siguiente diagrama de bloques:

figura 2.8

Escuela Politcnica Superior de la Rbida

Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.12

Observe cmo la condicin inicial para la posicin de la masa y la longitud del muelle se ha modelado mediante la suma, a la salida de los bloques de las funciones de transferencia, de un valor constante e igual a 2. Con este diagrama obtenemos la siguiente grficas:

a)
figura 2.9

b)

En la figura 2.9-a), la lnea amarilla (ms clara) representa el desplazamiento del extremo libre del muelle (x0) cuya velocidad se mantiene constante, la lnea morada (ms oscura) representa el movimiento de la masa (x1). Puede observarse cmo, al principio, la masa comienza desplazndose mas lentamente que el extremo libre del muelle, hasta que la fuerza que ha ejercido el muelle sobre ella es suficientemente grande como para acelerarla y que alcance la velocidad de x0 . En la figura figura 2.9-b) se representa la evolucin de la salida y2. Se observa cmo la longitud del muelle aumenta hasta alcanzar un valor mximo. Finalmente, tras un pequeo tiempo transitorio la longitud del muelle se estabiliza, coincidiendo con el momento en que la masa alcanza la misma velocidad que el extremo libre del muelle. b) Para simular la situacin propuesta en este apartado se sustituye la seal rampa por una seal escaln, Las grficas obtenidas son las representadas en la figura 2.10. En la figura 2.10-a), la lnea amarilla (ms clara) representa el desplazamiento instantneo del extremo libre del muelle, la lnea morada (ms oscura) representa el movimiento de la masa. Ntese cmo ste se desplaza ms lentamente hasta que se estabiliza su posicin tras una pequea oscilacin . Por otra parte, En la figura figura 2.10-b) se representa la evolucin de la salida y2; se ilustra claramente cmo la longitud del muelle disminuye bruscamente. Por ltimo, tras un pequeo tiempo transitorio el muelle alcanza su longitud inicial.

Escuela Politcnica Superior de la Rbida

Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.13

a)
figura 2.10

b)

c) >>pzmap(sis)
Pole-zero map
1 0.8 0.6 0.4

Polos Imag Axis


0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -1

Ceros

-0.8

-0.6

-0.4

-0.2

0.2

0.4

0.6

0.8

Real Axis

La funcin de transferencia puede rescribirse de la forma:

1 y 2 (s) 1 ms + s = = 2 1 x 0 ( s ) ms + s + k 1+ k 2 ms + s
2

Lo cual responde a un sistema en bucle cerrado del tipo

Escuela Politcnica Superior de la Rbida

Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.14

Para ver la influencia del parmetro k se utiliza la tcnica del lugar de las raices: n2=[1]; d2=[1 1 0]; sys2=tf(n2,d2); rlocus(sys2)

Puede observarse cmo la grfica tiene dos ramas que se corresponden con los dos polos del sistema. Cada una de las ramas comienza en el valor correspondiente a k = 0; ambas ramas representan la ubicacin de los polos conforme k varia desde 0 hasta tomar un valor infinito. Las races que hacen que el sistema responda de forma crticamente amortiguada son dos races mltiples que delimitan la frontera entra races reales y races con parte imaginaria distinta de cero.

Escuela Politcnica Superior de la Rbida

Sistemas Electrnicos y Automticos

PRCTICA 2: MODELADO DE SISTEMAS

2.15

2.10

EJERCICIO PROPUESTO N 2

1) Realice los apartados a) y b) de la prctica anterior programando un script en Matlab. 2) Utilizando el lugar de las races obtenido en el apartado c) de la prctica anterior, y aplicando el comando rlocfind, determine el valor de k que hace que el sistema presente los polos en: [-0.5+0.4 j; -0.5-0.4j]; [-0.5+0.8 j; -0.5-0.8j]; [-0.3; -0.7].

Escuela Politcnica Superior de la Rbida

Sistemas Electrnicos y Automticos

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