PRÁCTICA N° 5 REDES DE COMPENSACION MEDIANTE LUGAR GEOMETRICO DE RAICES 1. OBJETIVO Conocer las diferentes técnicas de
Views 72 Downloads 0 File size 859KB
PRÁCTICA N° 5 REDES DE COMPENSACION MEDIANTE LUGAR GEOMETRICO DE RAICES 1. OBJETIVO Conocer las diferentes técnicas de compensación de sistemas de control. Realizar diseño de controladores mediante LGR, para satisfacer especificaciones de desempeño en el proceso transitorio y en estado estable. Conocer el empleo del paquete Matlab, orientado al ajuste de los compensadores diseñados. 2. FUNDAMENTO TEORICO Conocer los conceptos de respuesta en el tiempo. Conocer los conceptos de lugar geométrico de raíces. Conocer los métodos de diseño de controladores adelanto, atraso y atraso adelanto. 3. TRABAJO PREPARATORIO 3.1. Dado el sistema dado por:
Realimentación unitaria; diseñar un compensador tal que la curva de respuesta ante una entrada escalón unitario exhiba un sobrepaso máximo del 25% o menos, y un tiempo de establecimiento de 5 segundos o menos. Gráfica del lugar de raíces: Root Locus
% Lugar de raices n=[8]; d=[1 6 0 0]; rlocus(n,d)
20
15
0.72
0.58
0.44
0.3
0.14
0.84
Imaginary Axis (seconds-1)
10 0.92
5 0.98 25 0
20
15
10
5
-5 0.98
-10 0.92 -15
0.84
-20 -25
0.72 -20
0.58 -15
0.44 -10
0.3
0.14
-5
0 -1
Real Axis (seconds )
5
10
26
Step Response
x 10
% Respuesta escalón unitario n=[8]; d=[1 6 0 8]; step(n,d) grid
4
3
Amplitude
2
1
0
-1
-2
-3 460
480
500
520
540
Time (seconds)
Hallando los polos deseados en lazo cerrado con las condiciones dadas: −πζ
√ 1−ζ2
Mp=e =0.25 4 t s= =5 ζ ωn ζ =0.4 ω n=2 Sd =−0.8 ± j 1.833 Calculo de la deficiencia angular:
|
8 s (s +6) 2
|
s=−0.8+ j 1.833
ϕ=66.57 ° Hallando el polo y cero del compensador de la parte en adelanto:
Z o=−0.797 6 Po =−5.0153K c =6.9131 Grafica del lugar de raíces del sistema compensado y sin compensar:
560
580
600
Root Locus 0.5
0.34
0.16
3.5
3.5
Imaginary Axis (seconds-1)
3 0.64
2
0.76
1.5 System: Sistema compensado Gain: 0.999 Pole: -0.7991 + 1.83i Damping: 0.4 Overshoot 0.5(%): 25.4 Frequency (rad/s): 2
1.5 0.86 1
Sistema sin compensar
2.5
2.5 2
Sistema compensado
3
0.94
0.5 0.985 0 -0.5 0.985
0.5
0.94
-1 -2.5
-2
-1.5
-1
-0.5
10
0.5
1
1.5
2
Real Axis (seconds -1)
Grafica de la respuesta en el tiempo ante una entrada en escalón: Step Response Sistema sin compensar
Amplitude
Sistema compensado
0
2
4
6
8
10
12
14
16
18
Time (seconds)
3.2. Dado el sistema dado por:
Realimentación unitaria; diseñar un compensador tal que la curva de respuesta ante una entrada escalón unitario exhiba un sobrepaso máximo del 25% o menos, y un tiempo de establecimiento de 5 segundos o menos
Root Locus 10
Gráfica del lugar de raíces:
0.72
0.84
0.6
0.46
0.3
0.16
8 6 0.92 4
Imaginary Axis (seconds-1)
% Lugar de raices n=[8]; d=[1 7 12 0]; rlocus(n,d)
0.98
2 14 0 -2
12
10
8
6
4
2
0.98
-4 -6 0.92 -8 0.84 -10 -14
0.72 -12
-10
0.6 -8
0.46 -6
0.3
0.16
-4
-2
0
2
4
Real Axis (seconds -1)
% Respuesta escalón unitario n=[8]; d=[1 7 12 8]; step(n,d)
Step Response 1.4
1.2
Amplitude
1
0.8
0.6
0.4
0.2
0
0
0.5
1
1.5
2
2.5
Time (seconds)
Hallando los polos deseados en lazo cerrado con las condiciones dadas: −πζ
√ 1−ζ2
Mp=e =0.25 4 t s= =5 ζ ωn ζ =0.163 ω n=4.908 Sd =−0.8 ± j 4.84 Calculo de la deficiencia angular:
3
3.5
4
4.5
|
8 s (s +3)(s +4 ) s =−0.8+ j 4.84
|
ϕ=41.47 ° Hallando el polo y cero del compensador de la parte en adelanto:
Z o=−2.52 Po =−9.55K c =36.87 Gráfica del LGR del Sistema compensado y no compensado: Root Locus 30
0.76
0.64
0.5
0.34
0.16
Sistema sin compensar Sistema compensado
0.86 20
Imaginary Axis (seconds-1)
0.94 10 0.985 40 0
35
30
25
20
15
10
5
0.34
0.16
0.985 -10 0.94 -20 0.86 0.76
-30 -40
0.64
0.5
-30
-20
-10
0
10
20
Real Axis (seconds -1)
Gráfica de la respuesta en el tiempo: Step Response 1.6 Sistema sin compensar Sistema compensado
1.4
1.2
Amplitude
1
0.8
0.6
0.4
0.2
0
0
1
2
3
4
Time (seconds)
5
6
7
3.3.
Dado el sistema dado por:
G ( s )=
1 s (s +4 ) 2
Diseñe un compensador tal que la curva de respuesta escalón unitario exhiba un sobrepaso máximo de 40% o menor y un tiempo de asentamiento de 5 seg o menos. Sistema Lazo Cerrado:
C ( s) 1 = 3 R (s ) s + 4 s 2 +1 Respuestas del Sistema: Root Locus 15
L.G.R:
0.76
0.64
0.5
0.34
0.16
0.86
n=8; d=[1 4 0 0]; a=tf(n,d); A=feedback(a,1); rlocus(a)
10
)
0.94 Imaginary Axis (seconds
-1
5 0.985 20 0
17.5
15
12.5
10
7.5
5
2.5
0.985 -5 0.94 -10 0.86 -15 -20
0.76
0.64 -15
0.5 -10
0.34
0.16
-5
0
5
10
Real Axis (seconds -1)
26
6
Step Response
x 10
5 4 3
n=8; d=[1 4 0 0]; a=tf(n,d); A=feedback(a,1); step(A)
2
Amplitude
Entrada Escalon:
1 0 -1 -2 -3 -4 0
50
100
150 Time (seconds)
200
250
300
Diseño del Compensador: De acuerdo a los parámetros dados, hallamos los polos deseados de la siguiente forma:
Mp=0.4 −ε
Mp=e
y
tss=5
π
√1−ε 2
y tss=4 T =
4 ε ωn
Obteniendo:
ε =0.078 y ωn=10.2 Entonces el polo deseado es:
sd =−0.7956+ j10.170 Hallamos la deficiencia angular del sistema:
D . A .=−212.56−40.57+180=73.13º Suponemos un compensador de la forma:
Gc ( s )=K c
s +s c s+ s p
De la D.A. hallada ubicamos el cero y el polo mediante el método de la bisectris
Cero : s=−1.1569 Polo s=−89.93 Entonces:
G c ( s )=K c
s+1.1569 s +89.93
G c ( s ) G( s)=K c
s+ 1.1569 1 2 s+ 89.93 s (s+ 4)
Hallamos K c con la condición de magnitud:
K c =9780 El compensador queda:
G c ( s )=9780
s+ 1.1569 s+ 89.93
El sistema compensado:
G c ( s ) G( s)=9780
s +1.1569 1 2 s +89.93 s (s +4 )
Respuestas del Sistema Compensado: L.G.R:
Root Locus 40
Imaginary Axis (seconds-1)
30
20
10
0
-10
-20 -20
-15
-10
-5
0
5
10
15
20
25
Real Axis (seconds -1)
Entrada Escalón:
25
Step Response
x 10 3
2
Amplitude
1
0
-1
-2 1700
1750
1800 Time (seconds)
1850
1900
30
3.4. Realizar un programa en Matlab que diseñe un controlador en adelanto, atraso y/o atraso adelanto. Verificar soluciones anteriores con el programa. clear; clc %% compensacion retraso - adelanto con LGR % funcion de transferenci T=20; n=input('INGRESE EL NUMERADOR EN LAZO ABIERTO []:'); d=input('INGRESE EL DENOMINADOR EN LAZO ABIERTO []:'); dato=input('factor / Wn / kv (0)-- POLO / kv (1) -- Mp /ts /kv (2):'); if dato==0 % hallamos los polos deceados sd % s=-facamor*Wn +/- j*Wn*saqrt(1-facamor^2) facamor=input('factor de amortiguamiento relativo DESEADO(E):'); Wn=input('frecuencia natural no amortiguada DESEADA (Wn):'); kvd=input('CONSTANTE DE ERROR ESTATICO kV :'); disp('*****************POLO DECEADO*******************') sd=complex(-facamor*Wn,Wn*sqrt(1-facamor^2)) sdp=[abs(sd) (angle(sd)*180/pi)]; elseif dato==1 pol=input('INGRESE POLO DECEADO complex(1,2i) []:'); kvd=input('CONSTANTE DE ERROR ESTATICO kV :'); disp('*****************POLO DECEADO*******************') sd=pol sdp=[abs(sd) (angle(sd)*180/pi)]; elseif dato==2 mp=input('sobrepaso maximo (Mp):'); ts=input('tiempo de asentamiento (ts):'); kvd=input('CONSTANTE DE ERROR ESTATICO kV :'); Mp=mp/100 ; facamor=sqrt(log(Mp)^2/(pi^2+log(Mp)^2)); % con el tiempo de establecimiento hallamos la frecuencia natural no % amoartiguada con criterio del 5% Wn=4/(facamor*ts); disp('*****************POLO DECEADO*******************') sd=complex(-facamor*Wn,Wn*sqrt(1-facamor^2)) sdp=[abs(sd) (angle(sd)*180/pi)]; end % funcion de tranferencia en lazo abierto LA LA=tf(n,d); figure(1);rlocus(LA,'r'); hold on ;grid on ;%v=[-4 3 -3 5];axis(v) title('LUGAR DE RAICES') % funcion de transferencia LC disp('********* LAZO CERRADO ************') LC=feedback(LA,1) figure(2);step(LC,'r');hold on ;grid on; title('RESPUESTA ENTRADA ESCALON') % entrada rampa t=0:0.001:50;
[nlc dlc]=tfdata(LC,'v'); % numerador de rampa figure(3) ; a=lsim(nlc,dlc,t,t);plot(t,t,'-',t,a,'-')%v=[25 30 25 30];axis(v) title('RESPUESTA ENTRADA RAMPA') % hallamos el polo dominantes del sistema disp('****************polos en lazo cerrado*********************') [W E P]=damp(LC); W=min(W) ; f=min(E); s=complex(-f*W,W*sqrt(1-f^2)) disp( '************** VALORES SIN COMPENSAR E / Wn ************') disp(f) disp(W) % calculamos el error constante de velocidad Kv del sistema sin compensar disp('************ Kv ********************') kv=polyval(n,0)/polyval(deconv(d,[1 0]),0) %% Determinar la deficiencia angular a partir de la FT LA al polo deseado disp('*****************DEFICIENCIA ANGULAR***************') fhi=180-angle(polyval(n,sd)/polyval(d,sd))*180/pi bisec=(angle(sd)*180/pi)/2; disp('*****************UBICACION DEL POLO Y CERO***********') polo=(abs(sd)*sind(bisec+fhi/2))/(sind(abs(angle(sd)*180/pi)-(bisec+fhi/2))) cero=(abs(sd)*sind(bisec-fhi/2))/(sind(abs(angle(sd)*180/pi)-(bisec-fhi/2))) % funcion de transferencia del compensador disp('*****************FUNCION DE TRANSFERENCIA DEL COMPENSADOR****') nca=[1,cero] ; dca=[1,polo]; %numerador Gca=tf(nca,dca)% faltando kc %% funcion de transferencia compensada disp('******FUNCION DE TRANFERENCIA FALTANDO K *****') % teniendo encuenta k=ganancia*kc ganancia=n(1,1) nfc=conv(n/ganancia,nca) ; dfc=conv(d,dca); fcom=tf(nfc,dfc) % faltando k % La ganancia k se calcula a partir de la condición de magnitud, k=rlocfind(nfc,dfc,sd); disp('**********K**********') k disp('**********Kc**********') kc=k/ganancia %% nuestra funcion de tranferencia comopensada seria disp('******FUNCION DE TRANFERENCIA DEL SITEMA COMPENSADO *****') nftc=k*nfc ; dftc=dfc ; %numerador de la funcion totalmente compensada ftc=tf(nftc,dftc) figure(1); rlocus(ftc,'b');text(real(sd),imag(sd),'