You are on page 1of 11

TALLER SIMULACIN DIGITAL

MODELADO Y SIMULACIN DE SISTEMAS EN TIEMPO CONTINUO

Introduccin.
Para el desarrollo de las actividades propuestas en este taller, se deben considerar los modelos
matemticos cuantitativos y en tiempo continuo de los diversos componentes y sistemas fsicos.
En este sentido, las ecuaciones diferenciales que describen el comportamiento dinmico del
sistema fsico se utilizan para construir un modelo matemtico. Los sistemas fsicos considerados
incluyen sistemas mecnicos, elctricos, de fluidos y termodinmicos. Es posible utilizar
aproximaciones lineales usando desarrollos en serie de Taylor respecto al punto de operacin,
para obtener una aproximacin lineal de pequea seal para componentes no lineales. Entonces,
con la aproximacin de un sistema lineal, se puede emplear la transformacin de Laplace y su
relacin de entrada-salida asociada dada por la funcin de transferencia. El mtodo de la funcin
de transferencia para sistemas lineales permite al analista determinar la respuesta del sistema a
diferentes seales de entrada en trminos de la localizacin de los polos y ceros de la funcin de
transferencia. Empleando las notaciones de la funcin de transferencia, es posible desarrollar los
modelos de los diagramas de bloques para los sistemas de componentes interconectados. De esta
forma, mediante diagramas de bloques es posible analizar la relacin entre las variables de un
sistema complejo con realimentacin y diferentes procesos intermedios.
Objetivos
La finalidad de las actividades propuestas, consiste en afianzar conocimientos para determinar un
modelo matemtico til para sistemas fsicos que incluyan realimentacin y procesos intermedios.
De tal forma que a partir del desarrollo del concepto de funcin de transferencia para un sistema
lineal se estudie la relacin entre las variables del sistema usando el diagrama de bloques.
Adems, considerar la utilidad de la simulacin por computador para sistemas lineales y no
lineales, con el objeto de determinar la respuesta (tiempo y frecuencia) de un sistema para
diferentes condiciones de sus parmetros y el entorno.
Ejercicios desarrollados.
La aplicacin de muchas de las herramientas de anlisis de sistemas fsicos se basa en modelos
matemticos. MATLAB se puede utilizar con sistemas descritos en la forma de funcin de
transferencia.
Se comienza mostrando cmo utilizar MATLAB para ayudar en el anlisis de un tpico modelo
matemtico de un sistema mecnico formado por un resorte-masa-amortiguador. Utilizando un
programa escrito en MATLAB, se desarrollar una capacidad de anlisis interactivo para estudiar
los efectos de la frecuencia natural y el amortiguamiento sobre la respuesta no forzada del
desplazamiento de la masa.
Posteriormente, se presentarn las funciones de transferencias y los diagramas de bloques. En
particular, el inters se centra en cmo MATLAB puede servir de ayuda para manipular

polinomios, calcular funciones de transferencia en lazo cerrado, obtener reducciones de los


diagramas de bloques y calcular la respuesta de un sistema a un escaln de entrada unitario.
ANLISIS EN EL TIEMPO DE SISTEMAS LIT
En la figura 1 se muestra un sistema mecnico resorte-masa-amortiguador. El movimiento de la
masa, denotado por y(t), se describe por la ecuacin diferencial
+ + = (t)

Figura 1. Sistema mecnico


La respuesta dinmica no forzada, y (t), del sistema mecnico resorte-masa-amortiguador es:

0
1 2

( 1 2 + )

Donde = 1 (). El desplazamiento inicial es y (0). La respuesta transitoria del sistema es


sub-amortiguada cuando < 1, sobre-amortiguada cuando > 1 y crticamente amortiguada
cuando = 1. Se puede utilizar MATLAB para visualizar la respuesta temporal no forzada del
desplazamiento de la masa a partir de un desplazamiento inicial y(0). Sea el caso sub-amortiguado

0 = 0.15 m, = 2

, 2

1
2 2

( = 2,

= 1)

Las rdenes en MATLAB para generar las grficas de la respuesta no forzada son:
>> y0=0.15;
>> wn=sqrt(2);

>> zeta=1/(2*sqrt(2));

>> t=[0:0.1:10];
>> unforced
Unforced.m
% Calcular la respuesta no forzada a una condicin inicial.
c= (y0/sqrt(1-zeta^2)); (0)/ 1 2
y=c*exp(-zeta*wn*t).*sin(wn*sqrt(1-zeta^2)*t+acos(zeta));
bu=c*exp(-zeta*wn*t); bl=-bu;

envolvente

plot(t,y,t,bu,'--',t,bl,'--'),grid
xlabel(Time(Sec)), ylabel(y(t) (meters))
legend([\omega_n=,num2str(wn), \zeta=,num2str(zeta)])
En la preparacin de MATLAB, las variables y(0), , t y son entradas al espacio de trabajo al
nivel de rdenes. Al ejecutar el programa se obtiene la figura 2.

0.2

n=1.4142 =0.35355
0.15
0.1

y(t) (meters)

0.05
0
-0.05
-0.1
-0.15
-0.2

5
6
Time(Sec)

Figura 2. Respuesta no forzada del resorte-masa-amortiguador

10

Lo anterior crea una capacidad de anlisis interactivos para estudiar los efectos de la frecuencia
natural y el amortiguamiento sobre la respuesta no forzada del desplazamiento de la masa. Se
pueden investigar los efectos de la frecuencia natural y del amortiguamiento sobre la respuesta
temporal simplemente introduciendo los nuevos valores de y en la lnea de rdenes de
MATLAB y ejecutando el programa unforced.m otra vez.
Para el problema masa-resorte-amortiguador, la solucin no forzada de la ecuacin diferencial est
disponible de forma inmediata. En general, cuando se simula un sistema de control con
realimentacin sujeto a una variedad de entradas y condiciones iniciales, es difcil obtener la
solucin analticamente. En estos casos, se puede utilizar MATLAB para calcular las soluciones
numricamente y visualizar la solucin de forma grfica.
MATLAB se puede utilizar para analizar sistemas descritos por funciones de transferencia. Como la
funcin de transferencia es una razn de polinomios, se comienza por investigar cmo MATLAB
maneja polinomios, recordando que con funciones de transferencia este trabajo significa que ambos
polinomios del numerador y del denominador deben especificarse.
En MATLAB, los polinomios se representan por vectores filas que contienen los coeficientes del
polinomio en orden descendente. Por ejemplo, el polinomio
P(s) = S3+3S2+4
Se introduce en MATLAB de la siguiente forma:
>> p = [1 3 0 4];

= 3 + 32 + 4

Obsrvese que incluso aunque el coeficiente del trmino en S es cero, se incluye en la definicin de
la entrada p(s).
Para calcular las races del polinomio se ejecuta el siguiente comando:
>> R = roots (p)
R=

= 3 + 3 2 + 4

-3.3553

0.1777 + 1.0773i
0.1777 - 1.0773i
De esta forma, si p es un vector fila que contiene los coeficientes de p(s) en orden descendente,
entonces mediante la funcin roots se obtiene el vector columna R que contiene las races del
polinomio. Inversamente, si R es un vector columna que contiene las races del polinomio, entonces
la funcin poly entrega un vector fila con los coeficientes del polinomio en orden descendente
as:
>> p = poly(R)
p = [1.0000

3.0000

0.0000 4.0000]

La multiplicacin de polinomios se lleva a cabo con la funcin conv. Supngase que se desea
expandir el polinomio

n(s) = (3s2+2s+1) (s+4)


Las rdenes asociadas en MATLAB son:
>> p = [3 2 1]; q = [1 4];
>> n=conv(p,q)
n = [3

14

()

4] = 3s3+14s2+9s+4

Adems, la funcin polyval se utiliza para evaluar el valor de un polinomio en el valor dado de la
variable. El polinomio n(s) tiene el valor n(-5) = -66 tal como se muestra a continuacin:
>> value=polyval(n,-5)

= 5

value= -66
RESPUESTA AL ESCALN Y RESPUESTA AL IMPULSO
La funcin step es muy importante, puesto que las especificaciones de comportamiento de un
sistema se suelen dar con frecuencia en funcin de la respuesta [y(t)] a un escaln unitario [u(t)],
como se observa en la figura 8.

Figura 8. Respuesta al escaln


Si el objetivo solamente es dibujar la salida y(t), se puede utilizar la funcin step sin los
argumentos del lado izquierdo y as obtener de forma automtica la grfica con etiquetas en los ejes.
Como ejemplo, se considera una unidad de disco con los siguientes parmetros (Captulo 2 del libro
sistemas de control moderno Richard C.Dorf):
Parmetros
Inercia del brazo y cabeza de lectura
Friccin
Amplificador
Constante de la fuerza contraelectromotriz
Resistencia del motor
Inductancia del motor

Smbolo Valor tpico


J
1 N.m.s2/rad
B
20 Kg/m/s
Ka
10-1000
R
1
Km
5 N.m/A
L
1 mH

El modelo queda especificado por la funcin de transferencia:


=
La respuesta al escaln se obtiene como:

5000
+ 20 ( + 1000)

>> numg=[5000];deng=conv([1 0],conv([1 20],[1 1000]));G=tf(numg,deng)

Transfer function:
5000
-----------------------s^3 + 1020 s^2 + 20000 s
>> step(G)
Step Response
0.12

0.1

Amplitude

0.08

0.06

0.04

0.02

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Time (sec)

Figura 9. Respuesta al escaln de una unidad de disco.


Se observa que el sistema descrito por G(s) es inestable. Adems, el sistema tiene tres polos
ubicados en s=0, s= -20 ( = 50 ) y s= -1000 ( = 1 ), claramente los polos ubicados en 0 y 20 contienen el comportamiento dominante de la respuesta transitoria del sistema. Lo anterior
significa que es posible aproximar el comportamiento de la unidad de disco como un sistema de
segundo orden, as:

5
+ 20

La respuesta al escaln para el sistema aproximado es:

>> numg=[5];deng=conv([1 0],[1 20]);G=tf(numg,deng)

Transfer function:
5
---------s^2 + 20 s
>> step(G)
Step Response
0.12

0.1

Amplitude

0.08

0.06

0.04

0.02

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Time (sec)

Figura 10. Respuesta al escaln de la unidad de disco aproximada a un sistema de Segundo orden.
Se observa que no existen diferencias significativas en la respuesta al escaln del sistema
aproximado.
La respuesta al impulso se calcula mediante la funcin impulse:
>> impulse(G)

Impulse Response
0.25

0.2

Amplitude

0.15

0.1

0.05

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Time (sec)

Figura 11. Respuesta al impulso de la unidad de disco con el modelo aproximado


De la respuesta al impulso se concluye que el sistema es inestable, causal y con memoria.
ANLISIS MEDIANTE MODELOS EN VARIABLES DE ESTADO
El mtodo en el dominio del tiempo utiliza una representacin en el espacio de estados del modelo
del sistema dada por:
= +

= +

El vector x es el estado del sistema, A es la matriz del sistema constante nxn, B es la matriz de
entrada constante nxm, C es la matriz de salida constante pxn, y D es una matriz constante pxm. El
nmero de entradas, m, y el nmero de salidas, p. Los elementos principales de la representacin en
el espacio de estados son el vector de estado x y las matrices A, B, C y D.
Dada una funcin de transferencia, se puede obtener la representacin equivalente en el espacio de
estados y viceversa. La funcin tf puede utilizarse para convertir una representacin en el espacio
de estados a una representacin en funcin de transferencia; la funcin ss se utiliza para convertir
una representacin en funcin de transferencia a una representacin en espacio de estados.
Por ejemplo, considrese el sistema de tercer orden
=

22 + 8 + 6
3 + 82 + 16 + 6

La representacin en espacio de estados queda como:

>> numT=[2 8 6];denT=[1 8 16 6];sysT=tf(numT,denT);


>> ssT=ss(sysT)
a=
x1 x2 x3
x1

-8

-4 -1.5

x2

x3

b=
u1
x1 2
x2 0
x3 0

c=
x1 x2 x3
y1

1 0.75

d=
u1
y1 0
Continuous-time model.
En este caso las matrices que modelan el sistema en el espacio de estado del sistema corresponden
a:
8 4
A= 4
0
0
1

1.5
0 ,
0

2
= 0 . = 1 1
0

0.75

= [0]

La respuesta temporal del sistema est dada por la solucin de la ecuacin diferencial vectorial:

(0)

()

La funcin exponencial matricial es la matriz de transicin de estados , definida como:


=

Se puede utilizar la funcin expm para calcular la matriz de transicin en un determinado instante
de tiempo. Por ejemplo, considerando la red RLC de la figura 12, con R=3, L=1H y C=1/2 F.

Figura 12. Circuito RLC serie


La representacin en espacio de estados queda como:
=

0
1

2
2
, =
, = 1 0
3
0

= [0]

Si las condiciones iniciales son x 1(0) = x2(0) = 1 y la entrada u(t) = 0. En t=0.2 la matriz de
transicin de estados (Phi) es:
>> A=[0 -2; 1 -3];dt=0.2;Phi=expm(A*dt)
Phi =
0.9671 -0.2968
0.1484

0.5219

Al evaluar x(t), mediante los mtodos de transicin de estados, se obtienen los estados predichos:
1
2

=0.2

0.9671
0.1484

0.2968 1
0.5219 2

=0

0.6703
0.6703

La respuesta temporal del sistema tambin puede obtenerse utilizando la funcin lsim, la cual
acepta condiciones distintas de cero y una funcin de entrada. De este modo, la respuesta para la
red RLC es como se muestra en la figura 13, obtenida mediante las siguientes instrucciones en
MATLAB:
>> A=[0 -2;1 -3];B=[2;0];C=[1 0];D=[0];
>> sys=ss(A,B,C,D);

>> x0=[1 1];


>> t=[0:0.01:1];
>> u=0*t;
>> [y,T,x]=lsim(sys,u,t,x0);
>> subplot(2,1,1 ),plot(T,x(:,1))
>> xlabel('Time(seconds)'),ylabel('X_1')
>> subplot(2,1,2 ),plot(T,x(:,2))
>> xlabel('Time(seconds)'),ylabel('X_2')

X1

0.5

0.1

0.2

0.3

0.4
0.5
0.6
Time(seconds)

0.7

0.8

0.9

0.1

0.2

0.3

0.4
0.5
0.6
Time(seconds)

0.7

0.8

0.9

1
0.8

X2

0.6
0.4
0.2
0

Figura 13. Respuesta temporal usando lsim


El estado en t=0.2 predicho con la funcin lsim es x 1(0.2)= x2(0.2)=0.6703. Si se comparan los
resultados obtenidos con la funcin lsim con los obtenidos multiplicando el vector de estado de
condiciones iniciales por la matriz de transicin de estados se observar que son idnticos.

You might also like