28
Instituto Tecnológico de Morelia José María Morelos y Pavón Asesor: Dr. Osvaldo Gutiérrez Sánchez Control I [REPORTE DE LA PRÁCTICA #8: 11/Noviembre/2011 Alumno: 09120782 Ramos Albarrán Fernando

08 Reporte, Respuesta en El Tiempo de Sistemas de Primer y Segundo Orden

Embed Size (px)

Citation preview

Instituto Tecnológico de Morelia

José María Morelos y Pavón

Asesor: Dr. Osvaldo Gutiérrez Sánchez

Control I

[

11/Noviembre/2011

Alumno:09120782 Ramos Albarrán Fernando

] División de Estudios Profesionales: Ingeniería Eléctrica

RESUMEN

Este documento pretende analizar cómo cambia la respuesta temporal de sistemas de primer y segundo orden según se cambien sus parámetros, para eso se usan distintas herramientas de MATLAB y SIMULINK para simular dichos sistemas. Primero se presentan las diferentes salidas para entradas escalón, impulso y rampa mediante la función step, después se muestran diferentes ejemplos variando los parámetros de sus funciones de transferencia, y por último se muestra como obtener una función de transferencia a partir de parámetros conocidos.

INTRODUCCIÓN

Las respuestas transitorias (tales como respuesta al escalón, al impulso y a la rampa) son usadas frecuentemente para investigar las características en el dominio del tiempo de los sistemas de control.Las características de respuesta transitoria, tales como rapidez, máximo sobreimpulso, tiempo de establecimiento, error en estado estacionario pueden ser determinadas a partir de la respuesta al escalón unitario.

Si se conoce el numerador y el denominador de la Función 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 escalón 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 gráfica de la respuesta al escalón. Este vector es generado automáticamente cuando t no es incluido en el comando escalón.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 renglón por cada

elemento en t, x tiene tantas columnas como estados tenga el sistema y un renglón por cada elemento en t.

DESARROLLO

Ejemplo.- Obtener la respuesta al escalón unitario del sistema

C(s)R ( s)

= 25s2+4 s+25

En MATLAB usamos

% respuesta del sistema a una entrada escalón unitario% función G(s)num=25;den=[1 4 25];% comando para graficarstep(num,den);gridtitle('Respuesta al escalón unitario');

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (sec)

Am

plitu

de

Respuesta al impulso.La respuesta al impulso de G(s) es la misma que la respuesta al escalón unitario de sG(s) Ejemplo, la respuesta al impulso unitario del sistema

C(s)R ( s)

=G(s)= 1s+1

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

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

s

% La respuesta al impulso unitario de G(s)=1/(s+1)% usando el comando de respuesta al escalón (step)% numerador y denominador del sistema sG(s)num=[1 0];den=[1 1];% Comando de la respuesta al escalón[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');

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

1

2

3

4

5

6respuesta al impulso unitario de G(s)=1/(s+1)

t seg

Am

plitu

d

Respuesta a una entrada rampa.

Para obtener la respuesta de una rampa de la función de transferencia del sistema G (s ) , se divideG(s)por s y usamos el comando de respuesta al escalón.Ejemplo, el sistema de lazo cerrado

C(s)R ( s)

= 1s2+s+1

Para una entrada rampa, R (s )= 1

s2 se tiene

C ( s )= 1

s2+s+1

1

s2= 1

( s2+s+1 ) s1s

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 escalón (step)

% Respuesta a la rampa es obtenida como la respuesta al escalón de G(s)/s% numerador y el denominador del sistema G(s)/snum=[0 0 0 1];den=[1 1 1 0];% Especifica el tiempo de cálculo (t=0:0.1:7)% y el comando de respuesta al escalónt=0:0.1:7;c=step(num,den,t);% Grafica la respuesta y la entrada de referencia% La entrada de referencia es tfigure(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');

0 1 2 3 4 5 6 70

1

2

3

4

5

6

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

t seg

Sal

ida

c

Las Respuestas de los sistemas también se pueden obtener a partir de la ecuación representada en el tiempo como se muestra en los siguientes ejercicios:

Ejercicio: Calcula y representa gráficamente la respuesta de un sistema de 1º orden con una entrada en escalón unitario.

%Respuesta de un sistema de 1º orden con entrada en escalón 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)); %Definición de la ecuación de entrada en escalón unitario.figure(4)plot(t,y);Introduce la ganancia del sistema:20

Introduce la constante de tiempo del sistema:5

0 2 4 6 8 10 12 14 16 18 200

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

0 2 4 6 8 10 12 14 16 18 200

2

4

6

8

10

12

14

16

18

20

Ejercicio: Calcula y representa gráficamente 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; %Definición del intervalo de representación y del incremento.y=(k/T)*exp((-t)/T); %Definición de la ecuación de 1º orden impulso.plot(t,y); %Orden de dibujo de la gráfica.

Introduce la ganancia del sistema:8

Introduce la constante de tiempo del sistema:2

0 2 4 6 8 10 12 14 16 18 200

0.5

1

1.5

2

2.5

3

3.5

4

Ejercicio: Calcula y representa gráficamente 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

0 2 4 6 8 10 12 14 16 18 200

5

10

15

20

25

30

35

40

45

50

Otra forma de introducir señales 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:

G(s)=C (s)R (s )

=2 s2+5 s+1s2+2 s+3

En este caso, será necesario utilizar una función universal que pueda ser utilizada para todas las entradas y es lsim (ver ayuda de lsim).A esta función, hay que especificarle la señal 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 señal contaminada por otra senoidal, será: u=sin(t)+rand(size(t)), donde se sumarán una señal senoidal sobre el tiempo t y otra señal aleatoria sobre el mismo tiempo, lo que dará lugar a una señal aleatoria que puede ser utilizada como ruido, porque el ruido, en realidad, es eso, una señal aleatoria.

En Matlab el programa quedaría:

% Parámetros 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);

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

-8

-6

-4

-2

0

2

4

6

8

10Linear Simulation Results

Time (sec)

Am

plitu

de

Ejercicio:

1.1. El objetivo fundamental es el de observar como un sistema de primer orden cambia su respuesta de acuerdo al cambio de parámetros.

1.1. Análisis de respuesta debida a cambios en parámetrosRealizar un programa (archivo .m) que calcule la respuesta al escalón, impulsiva y rampa de un sistema de primer orden, donde τ (constante de tiempo) varía de 0 a 100 en pasos de 10 y los visualice en una sola figura. Para ello utilice el comando ‘ step ’

%Respuesta al escalon unitariok=input('Introduce la ganancia del sistema:');for T=0.1:10:100.1 %Varía 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 escalón 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 escalón title('Respuesta al escalón unitario'); %Título de la gráfica endhold off G1=tf([0 k],[T 1])%Crea una función de tranferencia para una %respuesta escalón con el último valor de taur=[0 200 0 4]; %Define los límites para gráficar%Respuesta al impulso unitariofor 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 límites hold on

plot(t,y);grid on %Grafica la respuesta al impulso title('Respuesta al impulso unitario');endhold off G2=tf([k 0],[T 1])%Crea una función de tranferencia para una %respuesta impulso con el último valor de tau%Respuesta a la rampa unitarias=[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');endhold off G3=tf([0 0 1],[T 1 0])%Crea una función 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.

0 100 200 300 400 500 6000

5

10

15

20

25

30

35

40

45

50Respuesta al escalón unitario

0 20 40 60 80 100 120 140 160 180 2000

0.5

1

1.5

2

2.5

3

3.5

4Respuesta al impulso unitario

0 1 2 3 4 5 6 7 8 9 100

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5Respuesta a la rampa unitaria

Realizar un programa que calcule el tiempo de subida (Tr ) y establecimiento (Ts) utilizando los datos generados por la función ’ step ’.

% Calcule el tiempo de subida (Tr), establecimiento (Ts) y% error de posición utilizando los datos generados por la función ’step’.% Realizar una gráfica 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.0000Tiempo 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 gráficas de Tr vs . τ yTs vs . τ son las siguientes:

Utilice el LTIVIEW para comprobar los resultados (use help LTIVIEW para ver cómo 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

20 40 60 80 100 120 140 160 180 200 22010

20

30

40

50

60

70

80

90

100Grafica Tr vs T

0 50 100 150 200 250 300 350 40010

20

30

40

50

60

70

80

90

100Grafica Ts vs T

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

1.2. Análisis en SIMULINK

Implemente el siguiente sistema de primer orden en SIMULINKC(s)R(s)

=G (s )= 20.5 s+1

Utilizando como entrada una señal escalón y colocando un integrador y un derivador a la salida, simule el modelo.

Utilizando como entrada una señal escalón y colocando un integrador y un derivador a la salida por separado

2

0.5s+1

Transfer FcnStep Scope

1s

Integrator

du/dt

Derivative

Como se puede ver la derivada del escalón es un impulso (morado) y la integral de este mismo es una rampa (amarilla).

Analice las respuestas y compárelas 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. Simulación de sistemas de segundo orden2.1. Análisis de respuesta debida a cambios de parámetros 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) varía desde 0 hasta 1.0 %en pasos de 0.2.wn=1;for E=0.2:0.2:1 %Varía 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 salidaendhold offG=tf([0 0 wn],[1 2*E*wn wn]) %Muestra la función 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

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

Escriba un programa que le permita calcular el Mp, el tiempo de establecimiento en función de los valores de los parámetros.

%Calculo de Mp en porcentaje y del tiempo de establecimientoE=input('Introduzca el factor de amortiguamiento: ');wn=input('Introduzca la frecuencia natural no amortiguada: ');disp('Máximo 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/8Introduzca la frecuencia natural no amortiguada: 12Máximo sobreimpulso "Mp" en porcentaje

Mpseg = 28.0597

Tiempo de establecimiento "Ts" para el 2%

ts = 0.8889

Haga un gráfico 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.0for 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'); %Título de la gráfica

endend hold off

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.80

10

20

30

40

50

60

70

80

90

100Gráfica ts vs Mp

Utilice LTIVIEW para comprobar sus programas.

Podemos ver que el gráfico mostrado corresponde para un valor de ξ=1 del primer ejemplo del ejercicio 2.1

3. Utilizando los análisis expuestos en los ejercicios anteriores llegue a conclusiones específicas sobre el comportamiento de los sistemas de segundo y primer orden. Presente un reporte completo que incluya además los programas y gráficos realizados.

En un sistema de segundo orden, en el caso subamortiguado se observó que para un valor de ξ≈1el valor máximo 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 más rápido su valor máximo, 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 escalón.

4. Identificación de sistemas de segundo orden4.1. El gráfico siguiente muestra la respuesta a escalón unitario de un sistema de segundo

orden desconocido:

Se pide determinar la función de transferencia el sistema a partir de los valores que se muestran en el gráfico. Simular un sistema con esa función de transferencia para comprobar que los cálculos realizados son correctos.

De acuerdo a la gráfica dada, se obtienen los siguientes valores:

Valor de estado estable=V ss=5

Valormáximo=Vp=6

Tp=1 s

A partir de la siguiente ecuación:

V P=V ss (1+M p )

Dónde:

M p=e−( ξπ

√1−ξ2 )

Si se despeja ξ , obtenemos:

ln (Mp )= −ξ π

√1−ξ2

(1−ξ2 ) ln (Mp )2=ξ2π2

ln (Mp )2−ξ2 ln (Mp )2=ξ2π 2

ln (Mp )2=ξ2π2+ξ2 ln (Mp)2

ln (Mp )2=ξ2 (π 2+ ln (Mp )2 )

ln (Mp )2

(π2+ ln (Mp )2 )=ξ2

ξ=∓ √ ln (Mp )2

(π2+ln (Mp )2 )=∓

ln (Mp)

√ (π2+ln (Mp )2 )

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

ξ=ln (Mp )

√ (π2+ ln (Mp )2 )

Evaluando el valor de Mp

ξ=0.455

Luego se usa la siguiente ecuación:

T p=π

ωn√1−ξ2

Para despejar ωn, lo que da como resultado:

ωn=π

T p√1−ξ2= π

1√1−0.4552=3.5279

Conociendo ξ y ωnse pueden sustituir en la siguiente función de transferencia:

G (s )=V ssωn

2

s2+2ξωn s+ωn2

Dónde:

V ss=kE

k=gananciadel sistema

E=magnitud del escalónunitario

Si se aplica en la entrada del sistema un escalón unitario y observando que la respuesta tiende a 5, se deduce que la ganancia del sistema es 5, se evalúa la función con los valores encontrados:

G (s )= (5 ) (3.5279 )2

s2+2 (0.455 ) (3.5279 ) s+ (3.5279 )2= 62.23s2+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 escalón step(num,den,'b-');

0 0.5 1 1.5 2 2.5 3 3.50

1

2

3

4

5

6

7Step Response

Time (sec)

Am

plitu

de

Se puede apreciar que se obtuvo la misma gráfica dada.

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

Se pide Determinar la función de transferencia del sistema a partir de los valores que se muestran en el gráfico. Simular un sistema con esa función de transferencia para comprobar que los cálculos realizados son correctos (el escalón debe tener valor final 0.5).

De acuerdo a la gráfica dada, se obtienen los siguientes valores:

Valor de estado estableV ss=−2

ValormáximoVp=−3.15

Ts=12 s(conuncriteri odel5 %)

Tenemos ahora la siguiente ecuación:

V P=V ss (1+M p )

Dónde:

M p=e−( ξ π

√1−ξ2 )

Se despeja ξy se tiene:

ξ=0.1430

Luego con la siguiente ecuación:

T s=3

ξ ωn

Se despeja ωn y obtenemos:

ωn=1.7482

Conociendo los valores del sistema se pueden sustituir en la siguiente ecuación:

G (s )=V ssωn

2

s2+2ξωn s+ωn2

Dónde, se observa que:

El valor de estado estable es−2

Lamagnitud del escalónes :0.5

Laganancia del sistema k=−4

Por lo que la función de transferencia se evalúa de la siguiente manera:

G (s )=(0.5)(−4)(3.056)s2+0.5 s+3.056

= −6.112s2+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 escalón step(num,den,'b-');

Step Response

Time (sec)

Am

plitu

de

0 5 10 15 20 25-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

System: sysTime (sec): 1.89Amplitude: -3.25

System: sysTime (sec): 11.5Amplitude: -1.93

Se puede observar que ambas graficas son iguales, la segunda es una aproximación debido a los valores por redondeo

CONCLUSIONES

En un sistema de segundo orden, en el caso subamortiguado se observó que para un valor de ξ≈1el valor máximo 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 más rápido su valor máximo, por lo tanto el tiempo del transitorio disminuye. Esto se observó claramente al hacer variar dichos parámetros en los ejercicios a los largo de la práctica, de la misma forma se puede hacer variar otros tipos de parámetros y observar el comportamiento de la respuesta del sistema, esta es sólo una de las ventajas que se obtienen a partir de una simulación.

BIBLIOGRAFÍA

[1] Dr. Osvaldo Gutiérrez Sánchez, “Control I”, Instituto Tecnológico de Morelia, Departamento de Ingeniería Eléctrica.

[2] David Báez López, “MATLAB con Aplicaciones a la Ingeniería, Física y Finanzas”, 1ra. Edición, Editorial Alfaomega, septiembre 2006.

[3] Javier García de Jalón, José Ignacio Rodríguez, Alfonso Brazález, “Aprenda Matlab 5.3 como si estuviera en primero”, Perteneciente a la colección: “Aprenda…, como si estuviera en primero”, San Sebastián, Agosto 1999.