Está en la página 1de 15

PRCTICA 2: MODELADO DE SISTEMAS

Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos



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.
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

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:
u B x A x + = &

u D x C y + =

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).
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

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.
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

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
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

2.5
20 4
20 5
2
+ +
+
s s
s
) 4 2 )( 4 2 (
) 4 ( 5
j s j s
s
+ + +
+
) 2 )( 2 (
) 4 ( 5
+
+
s s
s
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 :


Los coeficientes del numerador se encuentran en la matriz n y los coeficientes del
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:




z = [-4]; % Matriz de ceros
p = [-2 2]; %Matriz de polos
k=5 %Valor de la constante
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:




n=[0 5 20]; %Vector fila para definir coeficientes del numerador
d=[1 4 20]; %Vector fila para definir coeficientes del denominador
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

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; %Definir el factor de ganancia
z = -4; %Especificar el cero
p = [-2+j*4 2-4*j]; %Vector columna para definir los polos
[n, d] = zp2tf (z, p, k) %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]; %Definir la matriz A
b = [0 4 1] ; %Definir la matriz B
c = [1/2 0 0]; %Definir la matriz C
d = 0; %Definir la matriz D
[n, d] = ss2tf (a, b, c, d) %Convertir el modelo de estado en F.T.
[aa,bb,cc,dd]=tf2ss(n,d) %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:
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

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 los polos del sistema, para
cualquiera de las dos estructuras que se muestran en la figura 2.4, cuando k vara
entre 0 e infinito.



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).







PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

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/s
2
. 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 v
x
y v
y
. Por tanto el modelo de estado es el siguiente:

( ) g +

0
0
1
0
1 . 0 0 0 0
1 0 0 0
0 0 1 . 0 0
0 0 1 0
4
3
2
1
4



( ) g
v
x
v
y
x
y
+

0
0
0
0
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
4
3
2
1



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
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

2.9
0 5 10 15 20 25 30 35
-1
0
1
2
3
4
5

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.
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

2.10
dt
x d
m
dt
dx
x x k
1
2
1
0 1
) ( =
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 x
0
(t), como salida y
1
la posicin x
1
de la masa M, y como salida y
2
la distancia entre
el punto x
1
el x
0
.
Obtenga las funciones de transferencia Y
1
(s)/X
0
(s) e Y
2
(s)/X
0
(s), simule en SIMULINK
las siguientes situaciones:

a) El punto se desplaza con una velocidad constante x
0
=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 Y
1
(s)/X
0
(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


Para la salida y
1:


k x
0
(s) = m s
2
x
1
(s) + s x
1
(s) + k x
1
(s) k x
0
(s) = x
1
(s) [m s
2
+ s + k]
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

2.11
k s ms
k
s x
s y
s x
s x
+ +
= =

2
0
1
0
1
) (
) (
) (
) (
) ( ) ( ) (
0
2
2
2
0 2
2
dt
x d
dt
y d
m
dt
dx
dt
dy
y k + = +
k s ms
ms s
s x
s y
+ +

=

2
2
0
2
) (
) (

Funcion de transferencia:




Para el caso de la salida y
2
:


y
2
= x
1
x
0
x
1
= y
2
+x
0





- sx
0
(S) m s
2
x
0
(s)= m s
2
y
2
(s) + k y
2
(s) + s y
2
(s)

x
0
(s) [- s m s
2
] = m s
2
y
2
(s) + k y
2
(s) + S y
2
(s)

Funcin de transferencia:



a)
La situacin en la que el punto x
0
se mueve con una velocidad constante x
0
=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
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

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) b)
figura 2.9
En la figura 2.9-a), la lnea amarilla (ms clara) representa el desplazamiento del
extremo libre del muelle (x
0
) cuya velocidad se mantiene constante, la lnea morada (ms
oscura) representa el movimiento de la masa (x
1
). 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 x
0
. En la figura figura 2.9-b) se representa la evolucin de la
salida y
2
. 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
y
2
; se ilustra claramente cmo la longitud del muelle disminuye bruscamente. Por ltimo, tras
un pequeo tiempo transitorio el muelle alcanza su longitud inicial.



PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

2.13
s ms
k
s ms
k s ms s x
s y

+
+
+
=
+ +
=
2
2
2
0
2
1
1
1
1
) (
) (


a) b)
figura 2.10


c) >>pzmap(sis)
Real Axis
I
m
a
g

A
x
i
s
Pole-zero map
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

Polos
Ceros

La funcin de transferencia puede rescribirse de la forma:






Lo cual responde a un sistema en bucle cerrado del tipo
PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

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.

PRCTICA 2: MODELADO DE SISTEMAS


Escuela Politcnica Superior de la Rbida Sistemas Electrnicos y Automticos

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].

También podría gustarte