You are on page 1of 15

SISTEMAS DE CONTROL INDUSTRIAL.

TRABAJO N VII

Buscar un sistema de 2do orden y otro de 3er orden. Obtener la ecuacin diferencial que lo caracteriza y a partir de ella el modelo de estado en tiempo continuo. A partir de la ecuacin diferencial que caracteriza el comportamiento dinmico del sistema, discretizarla y obtener la funcin de transferencia. Simular los modelos en tiempo continuo y tiempo discreto y comprobar que los resultados son anlogos.

Sistema de 3er Orden: Para el ejemplo de un circuito de 3er orden, usaremos un circuito electrnico con tres elementos almacenadores de energa. Una bobina y dos condensadores, tal y como se muestra en la siguiente figura:

En primer lugar, aplicaremos las Leyes de tensin y de intensidad de Kirchhoff para obtener las ecuaciones que modelan el circuito:

Una vez obtenidas las ecuaciones, obtenemos el modelo de estado, cuyas variables de estado sern las tensiones en los condensadores Vc1 y Vc2, y la intensidad que circula por la bobina IL. La seal de entrada es proporcionada por la fuente de tensin de entrada y la variable de salida, ser la tensin en la resistencia R3.

Por tato el modelo de estado del sistema en tiempo continuo quedar:

Ahora pasamos a obtener la funcin de transferencia del sistema, apartir de las matrices A, B, C y D del sistema:

Obteniendo:

Donde:

Ahora discretizamos el modelo mediante la aproximacin de derivada:


( )

( )

( )

( )

+ . )

( )

( )

Siendo:

=( + =

T= Tiempo de Muestreo

Por tanto el modelo discretizado quedara: ( ( ( 1 0 0

) )

( )

( ) ( )

= (0

1 0)

1( ) 2( ) 3( )

Una vez obtenidos los modelos en tiempo continuo y discreto, pasaremos a simularlos utilizando MATLAB, para comprobar como tanto en tiempo continuo como en discreto se obtienen los mismos resultados.

En primer lugar simularemos el sistema en tiempo continuo, frete a una seal de entrada de tipo escalon (step):

clc %%DAMOS VALORES A LAS CONSTANTES DEL CIRCUITO syms r1 r2 r3 c1 c2 l r1=30; r2=100; r3=1500; c1=0.1*10^(-6); c2=0.1*10^(-6); l=2.3*10^(-3); %%CREAMOS MATRICES DEL MODELO DEL SISTEMA A=[-1/(c1*r2) 1/(c1*r2) 1/c1; 1/(c2*r2) -(r2+r3)/(r2*r3*c2) 0; (-1/l) 0 -r1/l]; B=[0; 0; 1/l]; C=[0 1 0]; D=0; %%GENERAMOS EL SISTEMA sys=ss(A,B,C,D); %%VECTORES DE LA SIMULACION [y,t,x]=step(sys);

%PLOTEAMOS LA SIMULACION figure(1) plot(t,x(:,1)) axis([0, 0.001, 0.25, 1.6]) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Tension (V)') gtext('X1 = Tension en C1') figure(2) plot(t,x(:,2)) axis([0, 0.001, 0.25, 1.4]) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Tension (V)') gtext('X2 = Tension en C2') figure(3) plot(t,x(:,3)) axis([0, 0.001, -0.007, 0.007]) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Intensidad (I)') gtext('X3 = Intensidad en L') figure(4) plot(t,y) axis([0, 0.001, 0.25, 1.4]) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Tension (V)') gtext('Y = Tension en R3')

Y obtenemos cuatro graficas, las cuales representan la simulacin de las 3 variables y la salida frente a la funcin escalon:
Respuesta a una funcion escalon 1.6

1.4

1.2 X1 = Tension en C1 Tension (V) 1

0.8

0.6

0.4

0.1

0.2

0.3

0.4 0.5 0.6 tiempo (seg.)

0.7

0.8

0.9 x 10

1
-3

Respuesta a una funcion escalon 1.3 1.2 1.1 1 Tension (V) 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0 0.1 0.2 0.3 0.4 0.5 0.6 tiempo (seg.) 0.7 0.8 0.9 x 10 1
-3

X2 = Tension en C2

x 10 6

-3

Respuesta a una funcion escalon

2 Intensidad (I)

X3 = Intensidad en L

-2

-4

-6 0 0.1 0.2 0.3 0.4 0.5 0.6 tiempo (seg.) 0.7 0.8 0.9 x 10 1
-3

Respuesta a una funcion escalon 1.3 1.2 1.1 Y = Tension en R3 1 Tension (V) 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0 0.1 0.2 0.3 0.4 0.5 0.6 tiempo (seg.) 0.7 0.8 0.9 x 10 1
-3

Ahora procedemos a simularlo en tiempo discreto:


clc %%DAMOS VALORES A LAS CONSTANTES DEL CIRCUITO syms r1 r2 r3 c1 c2 l T r1=30; r2=100; r3=1500; c1=0.1*10^(-6); c2=0.1*10^(-6); l=2.3*10^(-3); %%Tiempo de muestreo Ts=0.001 %Definimos las matrices del modelo de estado continuo F=[1-(Ts/(c1*r2)) Ts/(c1*r2) Ts/c1; Ts/(c2*r2) 1((Ts*(r2+r3))/(r2*r3*c2)) 0; -Ts/l 0 1-(r1*Ts/l)] G=[0; 0; Ts/l] H=[0 1 0] I=0 ss_discreto=ss(F,G,H,J) [y,t,x]=step(ss_discreto) %PLOTEAMOS LA SIMULACION figure(1) plot(t,x(:,1)) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Tension (V)') gtext('X1 = Tension en C1') figure(2) plot(t,x(:,2)) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Tension (V)') gtext('X2 = Tension en C2') figure(3) plot(t,x(:,3)) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Intensidad (I)') gtext('X3 = Intensidad en L') figure(4) plot(t,y) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Tension (V)') gtext('Y = Tension en R3')

Y obtenemos cuatro graficas, las cuales representan la simulacin de las tres variables y la salida frente a la funcin escalon:

Respuesta a una funcion escalon 1.5

X1 = Tension en C1

1 Tension (V) 0.5 0 0

0.05

0.1

0.15

0.2 0.25 tiempo (seg.)

0.3

0.35

0.4

0.45

Respuesta a una funcion escalon 1.4

1.2

X2 = Tension en C2

Tension (V)

0.8

0.6

0.4

0.2

0.05

0.1

0.15

0.2 0.25 tiempo (seg.)

0.3

0.35

0.4

0.45

7 6 5 4 Intensidad (I) 3 2 1 0 -1 -2 -3

x 10

-3

Respuesta a una funcion escalon

X3 = Intensidad en L

0.05

0.1

0.15

0.2 0.25 tiempo (seg.)

0.3

0.35

0.4

0.45

Respuesta a una funcion escalon 1.4

1.2

Y = Tension en R3

Tension (V)

0.8

0.6

0.4

0.2

0.05

0.1

0.15

0.2 0.25 tiempo (seg.)

0.3

0.35

0.4

0.45

Se puede observar como tanto en la simulacin en tiempo continuo como en la de tiempo discreto, se obtiene el mismo resultado.

Sistema de 2do Orden Supongamos que pretendemos enviar un cohete al espacio atreves de la atmosfera. El cohete esta inicialmente en reposo y se le aplica una fuerza de propulsion para impulsarlo. Supongamos que la posicin del cohete con respecto al suelo es x. Aplicando la ley de Newton y realzando una suma de fuerzas tenemos: Fu mg k = m m + k = Fu mg

Y ahora suponemos que la seal de entrada al sistema u, es igual a la fuerza de propulsin necesaria, Fu/m g = u. Por tanto la ecuacin diferencial del sistema quedara: = k +u m =>

Ahora obtenemos el modelo de estado suponiendo como variables de estado ; X1 = posicin y X2 = velocidad. ( ) = x(t) = = =

=>

Quedando el siguiente modelo de estado: = = = k m +u + 0 1

Como el sistema es lineal, representamos el modelo en forma matricial: 0 0 1

Siendo la ecuacin de salida del sistema: = (0 1)

Ahora obtenemos la funcin de transferencia a partir de la ecuacin diferencial del sistema. Para esto simplemente se ha de obtener la transformada de Laplace de la ecuacin, considerando nulas las condiciones iniciales, agrupando elementos y obteniendo la relacin Y(s) / U(S). = => => ( )= ( )= ( ) ( ( ))

Quedando la funcin de transferencia: ( ) = ( ) + + .

Ahora discretizamos el modelo mediante la aproximacin de derivada:


( )

( )

( )

( )

+ . )

( )

( )

Siendo:

=( + =

T= Tiempo de Muestreo

Por Tanto el modelo discretizado quedara: ( ( 1 0

= (0

0 1 1)

( ) ( )

( )

( )

Una vez obtenidos los modelos en tiempo continuo y discreto, pasaremos a simularlos utilizando MATLAB, para comprobar como tanto en tiempo continuo como en discreto se obtienen los mismos resultados. En primer lugar simularemos el sistema en tiempo continuo, frete a una seal de entrada de tipo escalon (step):

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%SIMULACION EN TIEMPO CONTINUO%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clc %%DAMOS VALORES A LAS CONSTANTES DEL CIRCUITO syms k m T k=3; m=90; %%CREAMOS MATRICES DEL MODELO DEL SISTEMA A=[0 1; 0 -k/m]; B=[0; 1]; C=[0 1]; D=0; %%GENERAMOS EL SISTEMA sys=ss(A,B,C,D); %VECTORES DE SIMULACION [y,t,x]=step(sys); %%VECTORES DE LA SIMULACION [y,t,x]=step(sys); %PLOTEAMOS LA SIMULACION figure(1) plot(t,x(:,1)) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Posicion') figure(2) plot(t,x(:,2)) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Velocidad')

Las graficas obtenidas son:


Respuesta a una funcion escalon 8000 7000 6000 5000 Posicion 4000 3000 2000 1000 0

50

100

150 tiempo (seg.)

200

250

300

Respuesta a una funcion escalon 30

25

20 Velocidad

15

10

50

100

150 tiempo (seg.)

200

250

300

Ahora procedemos a simularlo en tiempo discreto:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%SIMULACION EN TIEMPO DISCRETO%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%Tiempo de muestreo T=0.01 %%CREAMOS MATRICES DEL MODELO DEL SISTEMA F=[1 T; 0 1-((k*T)/m)]; G=[0; T]; H=[0 1]; I=0; %%GENERAMOS EL SISTEMA ss_discreto=ss(F,G,H,J); %VECTORES DE SIMULACION [y,t,x]=step(ss_discreto); %%VECTORES DE LA SIMULACION [y,t,x]=step(ss_discreto); %PLOTEAMOS LA SIMULACION figure(1) plot(t,x(:,1)) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Posicion (m)') figure(2) plot(t,x(:,2)) title('Respuesta a una funcion escalon') xlabel('tiempo (seg.)') ylabel('Velocidad(m/s)')

Generando las siguientes graficas:


Respuesta a una funcion escalon 4500 4000 3500 3000 Posicion (m) 2500 2000 1500 1000 500 0

5 tiempo (seg.)

10

15

3.5

x 10

Respuesta a una funcion escalon

2.5 Velocidad(m/s)

1.5

0.5

5 tiempo (seg.)

10

15

En este caso no se corresponde con el resultado obtenido en tiempo continuo, supongo que ser debido a algn fallo a la hora de realizar el programa en MATLAB o al discretizar el modelo, pero son ya cerca de las 3.00 de la madrugada y no doy con el fallo.

Manuel Corrales Rodrguez Sistemas de Control Industrial 2 Grado Ingenieria en Electrnica Industrial

You might also like