Solución: s( s + a ) k Ahora resolviendo z por fracciones parciales. ( ) + s s a G ( z ) =
A s
+
{1 − z 1 } z
k
−
B s + a
=
k s ( s + a )
Por inspección tengo. A =
k
,
a
B = −
k a
k 1 1 − = a s s + a
G ( z ) =
k 1 − z
1
a 1 − z
1
−
−1 a 1 − z
−
−
R ( z ) C ( z ) R ( z ) C ( z ) R ( z )
1− e
−a
C ( z ) R ( z )
(
a 1− e
−a
k (1 − e
−a
) z 1 −
−a −1 1 − e z
a
G ( z )
=
1 + GH ( z )
−a
−
−
(1 − e ) z 1 a − ae
−a
1
−
z
−
+ k − e
(1 − e ) z 1 a + k − (a + k )e −a
=
z
=
1 − e −a z −1
−
−a
=
1
−
1
(1 − e ) z 1 1 1 z ) + (1 − e ) z k −a
=
−
1 − z 1 −
Cerrando el lazo. C ( z )
1
k
z
−a
1
−
z k
−
−a
1
−
z
Comparación de respuesta con matlab le de los valores a = 0.5y k =0.4 y obtuve.
Transfer function: G ( z ) =
0.3148 − 0.6065
Cerrando el lazo. C ( z )
0.3148 z − 0.1909 2 R ( z ) z − 0.8983 z − 0.177 =
Y observando su respuesta en escalón unitario y rampa unitaria se tuvieron las siguientes graficas.
Solución:
G ( z ) =
{1 − z 1 } z k 2 −
s
Ahora resolviendo z
tengo. 2 s k
−1
z k z 2 = k s (1 − z −1 )2 −1
G ( z ) = k
z
(1 − z 1 ) −
Cerrando el lazo. C ( z ) R ( z )
−1
=
kz
1
= −1 −1 z − − z + kz
k
(1 − k )
.
Prosigo a darle una entrada escalón unitario R(s)=1, fracciones parciales. C ( z ) z
=
k
( z − (1 − k ))( z − 1)
R ( z ) =
z −
1
y desarrollando en
A
B
+
( z − (1 − k )) ( z − 1)
=
k
( z − (1 − k ))( z − 1)
Cambio 1-k = α A( z − 1) + B( z − α ) = k A + B =0 , -A - α B =k
entonces A = -1 , B =1
1 1 z + ( z − (1 − k )) ( z − 1) Por tablas la transformada z inversa de C(z) es. C ( z ) =
− z
k
C (k ) = −(1 − k ) + 1
Con matlab obtuve dándole a k =0.2 para obtener una respuesta. G ( z ) =
0.2 −1
Lazo cerrado G ( z )
0.2 z − 0.2 2 R ( z ) z − 1.8 z + 0.8 Donde factorizando obtengo datos iguales con los calculados a mano. Y graficas escalón unitario y rampa unitaria. =
Solución: G ( z ) =
{1 − z 1 } z −
2 s ( s + 1)
1
por fracciones parciales. 2 ( ) s s 1 +
Ahora resolviendo Ahora resolviendo z A s
+
B s
+ 2
C s + 1
=
1 2
s ( s + 1)
A( s + 1) s + B( s + 1) + Cs
A =-1 , B =1, C =1
2
=
1
1
1 1 z − + 2 s s
1 1 + =− ( s + 1) 1 − z 1 −
−1
G ( z ) = −1 +
G ( z ) =
1 − z 1
+
+
1 − z 1 1 − e −
−1
−1
z
2 −1
(1 − z ) −1
−
z
0.2642
−1
z
=
−1
+
1 1− e
−1
−1
z
2e 1 z 1 + z 2 (1 − z 1 )(1 − e 1 z 1 )
e z
−
−
−
−
−
−
−
1.3925 z + 1 ( z − 1)( z − 0.3679 )
Ahora cierro el lazo. C ( z ) R ( z ) C ( z )
=
0.2642
1.3925 z + 1 ( z − 1)( z − 0.3679) + (1.3925 z + 1)0.2642
(1.3925 z + 1)0.2642 2 R ( z ) z − 1.3679 z + 0.3679 + 0.3679 z + 0.2642 C ( z ) R ( z )
=
=
(1.3925 z + 1)0.2642 2 z − 1 z + 0.6432
Ahora suponiendo que la entrada C ( z ) =
δ 0 (k )
donde su transformada z es 1.
(1.3925 z + 1)0.2642 2 − 1 + 0.6432
Donde acomodando un poco tengo. 0.3678(1 + 0.7183 z 1 ) zC ( z ) = 1 − 1 z 1 + 0.6432 z 2 −
−
−
Donde con la ayuda de las tablas de las transformadas z de senos y cósenos deduzco que. a=
0.7950
2a cos Ω = 1
Ω=
1 − 0.5 z −1 zC ( z ) = 0.3678 1 − 1 z −1 + 0.6432 z −2
0.8906
1.2183 z 1 + 1 − 1 z 1 + 0.6432 z 2 −
−
−
Para que quede correcto multiplico por un valor de factor A. Aasen Ω = 1.2183
A =1.9711 Y por ultimo pasando z al otro lado y por el teorema del corrimiento tengo
C (k ) =
0.3679(0.7950)
k −1
cos(0.8906k − 1) − 0.7249(0.7950)
k −1
sen(0.8906 k − 1)
Comparando con matlab. 0.3679 z + 0.2642 2 z − 1.368 z + 0.3679 Lazo cerrado. El
G ( z ) =
0.3679 z 3 − 0.239 z 2 − 0.2261 z + 0.0972 = 4 3 2 R ( z ) z − 2.368 z + 2.368 z − 1.233 z + 0.2325 Donde factorizando obtengo datos iguales con los calculados a mano. G ( z )
Y graficas escalón unitario y rampa unitaria.
Programa que se utilizo para las respuestas en matlab. %programa para hallar la funcion de transferencia %de lazo cerrado de orden cero y su respuesta al esacalon y a la rampa %unitaria clc; clear all; num=input('Ingrese el numerador '); den=input('Ingrese el denominador '); Ts=input('Ingrese el tiempo de muestreo '); G=tf(num,den) SYSD = C2D(G,Ts,'zoh') %cerrando el lazo disp('lazo cerrado') C=SYSD/(1+SYSD) n=input('Escoja la entrada\n\n 1 respuesta escalon unitario\n\n 2 respuesta rampa unitaria\n\n '); switch n %respueta al escalon unitario case 1 num2=input('Ingrese el numerador que se obtuvo en lazo cerrado '); den2=input('Ingrese el denominador que se obtuvo en lazo cerrado '); r=ones(1,41); v=[0 40 0 2]; axis(v); k=0:40; c=filter(num2,den2,r); plot(k,c,'o',k,c,'-') grid title('respuesta de escalon unitario') xlabel('k') ylabel(('c(k)')) %respuesta a la rampa unitaria case 2 num3=input('Ingrese el numerador que se obtuvo en el lazo cerrado den3=input('Ingrese el denominador que se obtuvo en el lazo cerrado v=[0 40 0 2]; axis(v); k=0:40; r=[k]; c=filter(num3,den3,r); plot(k,c,'o',k,c,'-',k,k,'*') grid title('respuesta de rampa unitaria') xlabel('k') ylabel(('c(k)')) end
'); ');
TRABAJO DE CONTROL II
DIRIGIDO A: INGENIERO: RICARDO LOPEZ
ENTREGADO POR: MANUEL ALEJANDRO ALZATE
UNIVERSIDAD TECNOLOGÍA DE PEREIRA PEREIRA 2007