Vous êtes sur la page 1sur 25

11/Noviembre/2011

Instituto Tecnolgico de
Morelia
Alumno:
09120782 Ramos Albarrn
Fernando Jos Mara Morelos y
Pavn

Asesor: Dr. Osvaldo Gutirrez Snchez

Control I

[REPORTE DE LA PRCTICA #8:


RESPUESTA EN EL TIEMPO DE
SISTEMAS DE PRIMER Y SEGUNDO
ORDEN. ]
Divisin de Estudios Profesionales: Ingeniera Elctrica
RESUMEN

Este documento pretende analizar cmo cambia la respuesta temporal de


sistemas de primer y segundo orden segn se cambien sus parmetros, para
eso se usan distintas herramientas de MATLAB y SIMULINK para simular dichos
sistemas. Primero se presentan las diferentes salidas para entradas escaln,
impulso y rampa mediante la funcin step , despus se muestran diferentes
ejemplos variando los parmetros de sus funciones de transferencia, y por
ltimo se muestra como obtener una funcin de transferencia a partir de
parmetros conocidos.

INTRODUCCIN

Las respuestas transitorias (tales como respuesta al escaln, al impulso y a la


rampa) son usadas frecuentemente para investigar las caractersticas en el
dominio del tiempo de los sistemas de control.
Las caractersticas de respuesta transitoria, tales como rapidez, mximo
sobreimpulso, tiempo de establecimiento, error en estado estacionario pueden
ser determinadas a partir de la respuesta al escaln unitario.

Si se conoce el numerador y el denominador de la Funcin de Transferencia en


lazo cerrado, entonces se puede usar el comando
step(num , den)
O bien
step( num, den , t)

La cual genera los valores de la respuesta al escaln unitario (t se utiliza para


especificar el tiempo). Para un sistema de control definido en variables de
estado el comando

step( A , B , C , D)

Genera la grfica de la respuesta al escaln. Este vector es generado


automticamente cuando t no es incluido en el comando escaln.
Cuando existen argumentos a la izquierda del comando tales como

[ y , x , t ]=step(num , den ,t )

[ y , x , t ]=step( A , B , C , D , iu)

[ y , x , t ]=step( A , B , C , D , iu, t)

Con este comando no se grafica en la pantalla, sino que hay que usar el
comando plot para ver las curvas de la respuesta.
Las matrices y, x contienen la salida y la respuesta de estado del sistema
respectivamente para los puntos del intervalo t, la salida y tiene tantas
columnas como salidas y un rengln por cada elemento en t, x tiene tantas
columnas como estados tenga el sistema y un rengln por cada elemento en t.

DESARROLLO

Ejemplo.- Obtener la respuesta al escaln unitario del sistema

C (s) 25
= 2
R s s + 4 s+25
( )

En MATLAB usamos
% respuesta del sistema a una entrada escaln unitario
% funcin G(s)
num=25;
den=[1 4 25];
% comando para graficar
step(num,den);grid
title('Respuesta al escaln unitario');

Step Response
1.4

1.2

0.8
Amplitude

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3
Time (sec)

Respuesta al impulso.
La respuesta al impulso de G(s) es la misma que la respuesta al escaln

unitario de sG (s) Ejemplo, la respuesta al impulso unitario del sistema

C (s) 1
=G(s )=
R (s ) s+ 1

dado que R ( s )=1 para una entrada impulso, tenemos

C(s)= ( s +11 ) 1s
% La respuesta al impulso unitario de G(s)=1/(s+1)
% usando el comando de respuesta al escaln (step)
% numerador y denominador del sistema sG(s)
num=[1 0];
den=[1 1];
% Comando de la respuesta al escaln
[y,x,t]=step(num,den);
figure(2)
plot(y,t,'k'); grid on;
title('respuesta al impulso unitario de G(s)=1/(s+1)');
xlabel('t seg');ylabel('Amplitud');
respuesta al impulso unitario de G(s)=1/(s+1)
6

4
Amplitud

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t seg

Respuesta a una entrada rampa.

Para obtener la respuesta de una rampa de la funcin de transferencia del


sistema G( s ), se divide
G( s) por s y usamos el comando de respuesta al escaln.
Ejemplo, el sistema de lazo cerrado

C (s) 1
= 2
R s s + s+1
( )

1
R ( s )=
Para una entrada rampa, s 2 se tiene

1 1 1 1
C ( s )= = 2
s + s+1 s ( s + s+ 1 ) s s
2 2

Para obtener la respuesta de una rampa en MATLAB el numerador y


denominador del sistema se convierte en

num=[0 0 0 1]; den=[1 1 1 0];


Con lo cual se puede utilizar el comando para la respuesta escaln (step)

% Respuesta a la rampa es obtenida como la respuesta al escaln de G(s)/s


% numerador y el denominador del sistema G(s)/s
num=[0 0 0 1];
den=[1 1 1 0];
% Especifica el tiempo de clculo (t=0:0.1:7)
% y el comando de respuesta al escaln
t=0:0.1:7;
c=step(num,den,t);
% Grafica la respuesta y la entrada de referencia
% La entrada de referencia es t
figure(3)
plot(t,c,'ko',t,t,'k-'); grid on;
title('Respuesta a una Rampa del sistema G(s)=1/(s^2+s+1)');
xlabel('t seg');ylabel('Salida c');

2
Respuesta a una Rampa del sistema G(s)=1/(s +s+1)
7

4
Salida c

0
0 1 2 3 4 5 6 7
t seg

Las Respuestas de los sistemas tambin se pueden obtener a partir de la


ecuacin representada en el tiempo como se muestra en los siguientes
ejercicios:

Ejercicio: Calcula y representa grficamente la respuesta de un


sistema de 1 orden con una entrada en escaln unitario.
%Respuesta de un sistema de 1 orden con entrada en escaln unitario.
k=input('Introduce la ganancia del sistema:');
T=input('Introduce la constante de tiempo del sistema:');
t=0:0.1:20;
y=k-k*(exp((-t)/T)); %Definicin de la ecuacin de entrada en escaln
unitario.
figure(4)
plot(t,y);
Introduce la ganancia del sistema:20

Introduce la constante de tiempo del sistema:5


20

18

16

14

12

10

0
0 2 4 6 8 10 12 14 16 18 20

Introduce la ganancia del sistema:20

Introduce la constante de tiempo del sistema:0.5

20

18

16

14

12

10

0
0 2 4 6 8 10 12 14 16 18 20

Ejercicio: Calcula y representa grficamente la respuesta de un


sistema de 1 orden con una entrada impulso.

%Respuesta de un sistema de 1 orden con entrada impulso.


k=input('Introduce la ganancia del sistema:');
T=input('Introduce la constante de tiempo del sistema:');
t=0:0.1:20; %Definicin del intervalo de representacin y del incremento.
y=(k/T)*exp((-t)/T); %Definicin de la ecuacin de 1 orden impulso.
plot(t,y); %Orden de dibujo de la grfica.

Introduce la ganancia del sistema:8

Introduce la constante de tiempo del sistema:2


4

3.5

2.5

1.5

0.5

0
0 2 4 6 8 10 12 14 16 18 20

Ejercicio: Calcula y representa grficamente la respuesta de un


sistema de 1 orden con una entrada en rampa.

%Respuesta de un sistema de 1 orden con entrada en rampa.


k=input('Introduce la ganancia del sistema:');
T=input('Introduce la constante de tiempo del sistema:');
t=0:0.1:20;
y=k*(t-T)+k*T*(exp((-t)/T));
plot(t,y);

Introduce la ganancia del sistema:3

Introduce la constante de tiempo del sistema:4

50

45

40

35

30

25

20

15

10

0
0 2 4 6 8 10 12 14 16 18 20
Otra forma de introducir seales de prueba a un sistema es como se muestra
en el siguiente ejercicio:

Ejercicio: Simular y representar la respuesta a una entrada senoidal


contaminada por ruido, siendo:

C( s) 2 s2 +5 s+1
G(s)= = 2
R ( s) s +2 s +3

En este caso, ser necesario utilizar una funcin universal que pueda ser
utilizada para todas las entradas y es lsim (ver ayuda de lsim).
A esta funcin, hay que especificarle la seal que le estamos aplicando,
mediante la variable u que, por ejemplo, para el caso de la rampa sera u=t y
para el caso de una seal contaminada por otra senoidal, ser: u=sin(t)
+rand(size(t)), donde se sumarn una seal senoidal sobre el tiempo t y otra
seal aleatoria sobre el mismo tiempo, lo que dar lugar a una seal aleatoria
que puede ser utilizada como ruido, porque el ruido, en realidad, es eso, una
seal aleatoria.

En Matlab el programa quedara:

% Parmetros del sistema.


t=0:0.1:10;
u=sin(t)+randn(size(t));
num=[2 5 1];
den=[1 2 3];
lsim(num,den,u,t);

Linear Simulation Results


10

2
Amplitude

-2

-4

-6

-8

-10
0 1 2 3 4 5 6 7 8 9 10
Time (sec)
Ejercicio:

1.1. El objetivo fundamental es el de observar como un sistema de


primer orden cambia su respuesta de acuerdo al cambio de
parmetros.
1.1. Anlisis de respuesta debida a cambios en parmetros
Realizar un programa (archivo .m) que calcule la respuesta al escaln,
impulsiva y rampa de un sistema de primer orden, donde
(constante de tiempo) vara de 0 a 100 en pasos de 10 y los visualice en
una sola figura. Para ello utilice el comando step

%Respuesta al escalon unitario


k=input('Introduce la ganancia del sistema:');
for T=0.1:10:100.1 %Vara el valor de Tau de 0.1 a 100.1 en pasos de
10
[y,x,t]=step([0 k],[T 1]);%Comando de la respuesta escaln
figure(1) %Mantiene la figura en pantalla
hold on %Para sostener todas graficas en una misma figura
plot(t,y);grid on %Grafica la respuesta al escaln
title('Respuesta al escaln unitario'); %Ttulo de la grfica

end
hold off
G1=tf([0 k],[T 1])%Crea una funcin de tranferencia para una
%respuesta escaln con el ltimo valor de tau
r=[0 200 0 4]; %Define los lmites para grficar
%Respuesta al impulso unitario
for T=0.1:10:100.1
[y,x,t]=step([k 0],[T 1]); %Comando de la respuesta impulso
figure(2); axis(r);%Mantiene la figura en pantalla con sus lmites
hold on
plot(t,y);grid on %Grafica la respuesta al impulso
title('Respuesta al impulso unitario');
end
hold off
G2=tf([k 0],[T 1])%Crea una funcin de tranferencia para una
%respuesta impulso con el ltimo valor de tau
%Respuesta a la rampa unitaria
s=[0 10 0 5];
for T=0.1:10:100.1
[y,x,t]=step([0 0 1],[T 1 0]); %Comando de la respuesta rampa
figure(3)
axis(s);
hold on
plot(t,y);grid on %Grafica la respuesta a la rampa
title('Respuesta a la rampa unitaria');
end
hold off
G3=tf([0 0 1],[T 1 0])%Crea una funcin de tranferencia para una
%respuesta rampa con el ltimo valor de tau
En la ventana de comandos de MATLAB nos pide la ganancia del sistema:

Introduce la ganancia del sistema:50

Transfer function:
50
-----------
100.1 s + 1

Transfer function:
50 s
-----------
100.1 s + 1
Transfer function:
1
-------------
100.1 s^2 + s

Y luego se grafican las respuestas a cada una de las entradas.

Respuesta al escaln unitario


50

45

40

35

30

25

20

15

10

0
0 100 200 300 400 500 600
Respuesta al impulso unitario
4

3.5

2.5

1.5

0.5

0
0 20 40 60 80 100 120 140 160 180 200

Respuesta a la rampa unitaria


5

4.5

3.5

2.5

1.5

0.5

0
0 1 2 3 4 5 6 7 8 9 10

Realizar un programa que calcule el tiempo de subida ( Tr ) y

establecimiento (Ts) utilizando los datos generados por la funcin


step .

% Calcule el tiempo de subida (Tr), establecimiento (Ts) y


% error de posicin utilizando los datos generados por la funcin step.
% Realizar una grfica del Tr vs.T y Ts vs. T.
k=input('Introduce la ganancia del sistema:');
for T=10:10:100
[y,x,t]=step([0 k],[T 1]);
tr((T/10))=2.19*T;
T1((T/10))=T;
Ts((T/10))=3.91*T;
end
disp('Tiempo de Subida "Tr"')
tr
disp('Tiempo de Establecimiento "Ts"')
Ts
figure(1)
plot(tr,T1);grid on
title('Grafica Tr vs T');
figure(2)
plot(Ts,T1); grid on
title('Grafica Ts vs T');

En la ventana de comandos de MATLAB introducimos la ganancia del sistema.

Introduce la ganancia del sistema:25

Tiempo de Subida "Tr"

tr =

Columns 1 through 8

21.9000 43.8000 65.7000 87.6000 109.5000 131.4000 153.3000 175.2000

Columns 9 through 10
197.1000 219.0000
Tiempo de Establecimiento "Ts"

Ts =

Columns 1 through 8

39.1000 78.2000 117.3000 156.4000 195.5000 234.6000 273.7000 312.8000

Columns 9 through 10

351.9000 391.0000

Las grficas de Tr vs . y Ts vs . son las siguientes:

Grafica Tr vs T Grafica Ts vs T
100 100

90 90

80 80

70 70

60 60

50 50

40 40

30 30

20 20

10 10
20 40 60 80 100 120 140 160 180 200 220 0 50 100 150 200 250 300 350 400
Utilice el LTIVIEW para comprobar los resultados (use help LTIVIEW
para ver cmo funciona).

>> LTIVIEW

Luego de teclear LTIVIEW nos aparece la siguiente ventana, vamos al men


archivo y damos click en importar

Seleccionamos cada una de las funciones de transferencia creadas en el


programa

Y obtenemos las siguientes respuestas para cada una de las entradas.


1.2. Anlisis en SIMULINK
Implemente el siguiente sistema de primer orden en SIMULINK
C (s) 2
=G ( s )=
R (s ) 0.5 s+1

Utilizando como entrada una seal escaln y colocando un integrador y


un derivador a la salida, simule el modelo.
Utilizando como entrada una seal escaln y colocando un integrador y
un derivador a la salida por separado

1
s
Integrator
2
0.5s+1
Step Scope
Transfer Fcn
du/dt

Derivative

Como se puede ver la derivada del escaln es un impulso (morado) y la


integral de este mismo es una rampa (amarilla).

Analice las respuestas y comprelas con los resultados del ejercicio


anterior.
Comparando los resultados del modelo con los del ejercicio anterior se
puede observar que las respuestas a las entradas en ambos casos son
muy similares ya que tratan de alcanzar el valor de la ganancia
2. Simulacin de sistemas de segundo orden
2.1. Anlisis de respuesta debida a cambios de parmetros
Implemente un programa que muestre la respuesta de un sistema de

segundo orden con


n =1 y donde (factor de amortiguamiento)
vari desde 0 hasta 1.0 en pasos de 0.2.

%Muestra la respuesta de un sistema de segundo orden con n=1 y

%donde (factor de amortiguamiento) vara desde 0 hasta 1.0


%en pasos de 0.2.
wn=1;
for E=0.2:0.2:1 %Vara E de 0.2 a 1 en pasos de 0.2
[y,x,t]=step([0 0 wn],[1 2*E*wn wn]); %Respuesta de un sistema de
%2do. orden
hold on
plot(t,y);grid on %Grafica la salida
end
hold off
G=tf([0 0 wn],[1 2*E*wn wn]) %Muestra la funcin de transferencia
%para =1

Se simula, y en la ventana de comandos de MATLAB se muestra lo siguiente.

Transfer function:
1
-------------
s^2 + 2 s + 1

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0
0 5 10 15 20 25 30

Escriba un programa que le permita calcular el Mp , el tiempo de

establecimiento en funcin de los valores de los parmetros.


%Calculo de Mp en porcentaje y del tiempo de establecimiento
E=input('Introduzca el factor de amortiguamiento: ');
wn=input('Introduzca la frecuencia natural no amortiguada: ');
disp('Mximo sobreimpulso "Mp" en porcentaje')
Mpseg=100*exp((-E*pi)/(sqrt(1-E^2)))
disp('Tiempo de establecimiento "Ts" para el 2%')
ts=4/(E*wn)

Introduzca el factor de amortiguamiento: 3/8


Introduzca la frecuencia natural no amortiguada: 12
Mximo sobreimpulso "Mp" en porcentaje

Mpseg =
28.0597

Tiempo de establecimiento "Ts" para el 2%

ts =
0.8889

Haga un grfico de Ts vs. El Mp , para valores de y n entre 0 y

1.0

%Grafica Ts vs. Mp para valores de y n entre 0 y 1.0


for E=0:0.2:1
for Wn=0:0.2:1.0
ts=4/(E*wn) %Calcula ts con error del 2 por ciento
Mp=100*exp((-E*pi)/(sqrt(1-E^2))) %Cacula Mp en porcentaje
hold on
plot(ts,Mp,'rO');grid on %Grafica la respuesta
title('grafica ts vs Mp'); %Ttulo de la grfica
end
end
hold off

Grfica ts vs Mp
100

90

80

70

60

50

40

30

20

10

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
Utilice LTIVIEW para comprobar sus programas.

Podemos ver que el grfico mostrado corresponde para un valor de =1 del


primer ejemplo del ejercicio 2.1

3. Utilizando los anlisis expuestos en los ejercicios anteriores llegue a


conclusiones especficas sobre el comportamiento de los sistemas de
segundo y primer orden. Presente un reporte completo que incluya
adems los programas y grficos realizados.

En un sistema de segundo orden, en el caso subamortiguado se observ

que para un valor de 1 el valor mximo de la respuesta va


disminuyendo y el periodo del transitorio aumenta.
Para sistemas de primer orden se observ que para un valor grande de
la respuesta alcanza ms rpido su valor mximo, por lo tanto el
tiempo del transitorio disminuye.
El valor de estado estable de los sistemas de primer orden y de segundo
orden es el producto de la ganancia y de la magnitud del escaln.

4. Identificacin de sistemas de segundo orden


4.1. El grfico siguiente muestra la respuesta a escaln unitario de un
sistema de segundo orden desconocido:
Se pide determinar la funcin de transferencia el sistema a partir de los
valores que se muestran en el grfico.
Simular un sistema con esa funcin de transferencia para comprobar que
los clculos realizados son correctos.

De acuerdo a la grfica dada, se obtienen los siguientes valores:

Valor de estadoestable=V ss =5

Valor mximo=Vp=6

Tp=1 s

A partir de la siguiente ecuacin:

V P =V ss ( 1+ M p )

Dnde:

Mp
( )

=e 1
2

Si se despeja , obtenemos:


ln ( Mp ) =
12
( 12 ) ln ( Mp )2 = 2 2

2 2 2 2 2
ln ( Mp ) ln ( Mp ) =

2 2 2 2 2
ln ( Mp ) = + ln ( Mp )

ln ( Mp )2 = 2 ( 2 +ln ( Mp )2)

2
ln ( Mp )
2 2
= 2
( + ln ( Mp ) )

=
ln ( Mp )2
( 2+ ln ( Mp )2 )
=
ln ( Mp )
( + ln ( Mp ) )
2 2

Del cual solo se toma el valor positivo ya que no existen frecuencias negativas.

ln ( Mp )
=
( + ln ( Mp ) )
2 2

Evaluando el valor de Mp

=0.455

Luego se usa la siguiente ecuacin:


T p=
n 1 2

Para despejar
n , lo que da como resultado:


n= = =3.5279
T p 1 1 10.4552
2

Conociendo y
n se pueden sustituir en la siguiente funcin de

transferencia:
2
V ss n
G ( s )= 2 2
s +2 n s + n

Dnde:

V ss =kE

k =ganancia del sistema

E=magnitud del escalnunitario

Si se aplica en la entrada del sistema un escaln unitario y observando que la


respuesta tiende a 5, se deduce que la ganancia del sistema es 5, se evala la
funcin con los valores encontrados:

( 5 )( 3.5279 )2 62.23
G ( s )= 2 2
= 2
s +2 ( 0.455 ) ( 3.5279 ) s+ ( 3.5279 ) s +3.2103 s +12.446

Se introducen los datos a MATLAB para comprobar resultados:

num=(62.23);
den=[1 3.2103 12.446];
% Comando de la respuesta al escaln
step(num,den,'b-');

Step Response
7

4
Amplitude

0
0 0.5 1 1.5 2 2.5 3 3.5
Time (sec)

Se puede apreciar que se obtuvo la misma grfica dada.


4.2. En este caso se muestra la respuesta a escaln de valor 0.5 para
un sistema de segundo orden desconocido.

Se pide Determinar la funcin de transferencia del sistema a partir de los


valores que se muestran en el grfico.
Simular un sistema con esa funcin de transferencia para comprobar que
los clculos realizados son correctos (el escaln debe tener valor final
0.5).

De acuerdo a la grfica dada, se obtienen los siguientes valores:

Valor de estadoestable V ss =2

Valor mximo Vp=3.15

Ts=12 s (con un criteri o del 5 )

Tenemos ahora la siguiente ecuacin:

V P =V ss ( 1+ M p )

Dnde:

Mp
( )
=e

1
2

Se despeja y se tiene:

=0.1430

Luego con la siguiente ecuacin:

3
T s=
n

Se despeja
n y obtenemos:

n=1.7482

Conociendo los valores del sistema se pueden sustituir en la siguiente


ecuacin:
2
V ss n
G ( s )= 2 2
s +2 n s + n

Dnde, se observa que:

El valor de estado estable es2

La magnitud del escalnes : 0.5

La ganancia del sistema k=4

Por lo que la funcin de transferencia se evala de la siguiente manera:

(0.5)(4)(3.056) 6.112
G ( s )= 2
= 2
s + 0.5 s+ 3.056 s +0.5 s +3.056

Se introducen los datos a MATLAB para comprobar resultados:

num=(-6.112);
den=[1 0.5 3.055];
figure(2)
% Comando de la respuesta al escaln
step(num,den,'b-');

Step Response
0

-0.5

-1

-1.5 System: sys


Amplitude

Time (sec): 11.5


Amplitude: -1.93

-2

-2.5

System: sys
Time (sec): 1.89
-3
Amplitude: -3.25

-3.5
0 5 10 15 20 25
Time (sec)

Se puede observar que ambas graficas son iguales, la segunda es una


aproximacin debido a los valores por redondeo

CONCLUSIONES

En un sistema de segundo orden, en el caso subamortiguado se observ que


para un valor de 1 el valor mximo de la respuesta va disminuyendo y el
periodo del transitorio aumenta. Para sistemas de primer orden se observ que
para un valor grande de la respuesta alcanza ms rpido su valor mximo,
por lo tanto el tiempo del transitorio disminuye. Esto se observ claramente al
hacer variar dichos parmetros en los ejercicios a los largo de la prctica, de la
misma forma se puede hacer variar otros tipos de parmetros y observar el
comportamiento de la respuesta del sistema, esta es slo una de las ventajas
que se obtienen a partir de una simulacin.

BIBLIOGRAFA

[1] Dr. Osvaldo Gutirrez Snchez, Control I, Instituto Tecnolgico de Morelia,


Departamento de Ingeniera Elctrica.

[2] David Bez Lpez, MATLAB con Aplicaciones a la Ingeniera, Fsica y


Finanzas, 1ra. Edicin, Editorial Alfaomega, septiembre 2006.
[3] Javier Garca de Jaln, Jos Ignacio Rodrguez, Alfonso Brazlez, Aprenda
Matlab 5.3 como si estuviera en primero, Perteneciente a la coleccin:
Aprenda, como si estuviera en primero, San Sebastin, Agosto 1999.

Vous aimerez peut-être aussi