Академический Документы
Профессиональный Документы
Культура Документы
EJEMPLO 1.1
ANALISIS TEORICO
PASO 1:
PASO 2:
Por ello se debe añadir = 57, para satisfacer la condición de ángulo.
PASO 3:
3, 464
tg 60º
x
x 5,3333
Por lo tanto el cero estará en s = - 3 y el polo en s = - 8,33333
PASO 4:
Finalmente, la ganancia para que ese punto sea el polo dominante deseado se
calcula utilizando la condición de módulo:
( s 3) 5
K* * 1
s 8.33 s (0.5s 1)
K 3.0333
s3
Gc 3.0333*
s 8.333
PROGAMACIÓN EN MATLAB
clear all;clc
format compact
num=[5];
den=[0.5 1 0];
Gs=tf(num,den)
disp('grafica del sistema sin compensar - grafica (1)')
subplot(2,1,1)
rlocus(Gs)
title('grafica 1 - LGR de la FTLA sin compensar')
disp('diseño del compensador en adelanto;con los polos deseados')
disp('el polo deseado es')
s1=-3+2*sqrt(3)*j;
s2=-3-2*sqrt(3)*j;
fprintf('pd= %.4f + %.4f j\n',real(s1),imag(s1))
fprintf('pd= %.4f - %.4f j\n',real(s1),imag(s1))
disp('hallamos la deficiencia angular de los pd en la FTLA')
fi=abs(-angle(s1)*180/pi-angle(0.5*s1+1)*180/pi)-180;
fprintf('deficiencia angular= %.4f°\n',fi)
disp('con la deficiencia angular hallamos el polo(p) y el cero(z) del
compensador')
disp('asumiendo que el cero z=-3 hallamos el polo(p)')
z=-3;
p=-2*sqrt(3)*tand(fi)-3;
fprintf('p= %.4f \n',p)
disp('mediante la condicion de modulo hallamos K del compensador')
K=abs(((s1-p)*s1*(0.5*s1+1))/((s1-z)*5))
disp('entonces el compensador en adelanto tendra la siguiente funcion de
transferencia')
numc=K*[1 -z];
denc=[1 -p];
Gc=tf(numc,denc)
disp('el sistema compensado seria')
nums=conv(num,numc);
dens=conv(den,denc);
Gsc=tf(nums,dens)
disp('grafica del sistema compensado - grafica (2)')
subplot(2,1,2)
rlocus(Gsc)
title('grafica 2 - LGR de la FTLA compensado')
5
-----------
0.5 s^2 + s
Gc =
3.033 s + 9.1
-------------
s + 8.333
Gsc =
15.17 s + 45.5
-----------------------------
0.5 s^3 + 5.167 s^2 + 8.333 s
-1
-2
-2.5 -2 -1.5 -1 -0.5 0 0.5
Real Axis (seconds -1)
10
-10
-20
-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1
Real Axis (seconds -1)
EJEMPLO 1.2
Para el siguiente sistema, se desea que los polos dominantes deseados sean s 2
2 3j y se satisfaga un Kv = 20
ANÁLISIS TEÓRICO
Se verifica que los polos dominantes deseados pertenezcan al LGR.
clc
clear
num=[1]
den=[1 4 0]
G=tf(num,den)
sisotool(G)
PDD s1
s1 2 2 3i
s1 2 3.4641i
G |PDD ceros polos
G |PDD s ( s 4)
G |PDD 120 60
G |PDD 180
K
G |PDD
4*4
G |PDD 1
Se calcula el Kv del sistema no compensado
16
K v lim G ( s) 4
s 0 4
Como no satisface, se debe añadir un atraso.
1
K requerido
T
K nocompensado 1
T
20
4
5
0.05
s 0.01
s 0.05
Gc ( s )
s 0.01
Se comprueba
4.0252
Gc ( s) PDD
4.005
Gc ( s) |PDD 120.6164 120.1239
Gc ( s) |PDD 0.4925
A partir de la función de transferencia:
s 0.05 16
kV lim s * Gs ( s )G ( s ) ( )*
s 0 s 0.01 s ( s 4)
kV 5* 4
kV 20
PROGAMACIÓN EN MATLAB
clc
clear all
sys=tf([1],[1 4 0])
a=-2+(2*sqrt(3)*i);
Gs=1/((a^2)+4*a);
Gs1=angle(Gs)*180/pi
Gt=(Gs);
K=abs(1/Gt)
Kv=K/4
%Hallando Beta
Kvdeseado=20
Beta=Kvdeseado/Kv
%Se escoje un cero
cero=0.05;
polo=cero/Beta;
Gc=tf([1 cero],[1 polo])
%Comprobando
Gcc=(a+cero)/(a+polo);
absoluto=abs(Gcc)
angulo=angle(Gcc)*180/pi
sys =
1
---------
s^2 + 4 s
Continuous-time transfer function.
Gs1 =
180
K=
16.0000
Kv =
4.0000
Kvdeseado =
20
Beta =
5.0000
Gc =
s + 0.05
--------
s + 0.01
EJEMPLO 1.3
ANÁLISIS TEÓRICO
PASO 1:
PASO 2:
clc
clear all
sys=tf([1],[1 6 5 0])
a=-2+(3.46*i);
Gs=1/((a^3)+6*a^2+5*a);
Gs1=angle(Gs)*180/pi
ang=abs(Gs1-180)
angcom=ang/4
Y=30-angcom
Beta=83.75051
x=3.46/tan((Beta)*pi/180)
Ceroad=-2-x
alfa=180-90-30-angcom
y=3.46/tan((alfa)*pi/180)
Poload=-y-2
Gca=tf([1 2.38],[1 6.72])^2
Gcaa=((a+2.38)/((a)+6.72))^2;
angulocom=angle(Gcaa)*180/pi
%Añadiendo el angulo necesario
%Primero se calcula el Kad
Kad=1/abs(Gs*Gcaa)
%compensador con Kad
Gsadt=Gca*Kad*sys
%como Kv no satisface la condicion del error
%Usamos un atraso
Kvrequerido=20
Kv=4.68
Beta=Kvrequerido/Kv
%Decidimos poner el cero en s=0.05
ceroat=0.05
poloat=ceroat/Beta
%Verificamos
Gcatr=((a+0.05)/((a)+0.0117));
absGcatr=abs(Gcatr)
anguloGcatr=angle(Gcatr)*180/pi
Gcatraso=tf([Kad Kad*0.05],[1 0.0117])
%La funcion de Transferencia Compensada
Gst=sys*Gcatraso*Gca
sys =
1
-----------------
s^3 + 6 s^2 + 5 s
Continuous-time transfer function.
Gs1 =
84.7774
ang =
95.2226
angcom =
23.8057
Y =
6.1943
Beta =
83.7505
x =
0.3789
Ceroad =
-2.3789
alfa =
36.1943
y =
4.7285
Poload =
-6.7285
Gca =
s^2 + 4.76 s + 5.664
---------------------
s^2 + 13.44 s + 45.16
94.9784
Kad =
186.3323
Gsadt =
186.3 s^2 + 886.9 s + 1055
-------------------------------------------------
s^5 + 19.44 s^4 + 130.8 s^3 + 338.2 s^2 + 225.8 s
20
Kv =
4.6800
Beta =
4.2735
ceroat =
0.0500
poloat =
0.0117
absGcatr =
0.9953
anguloGcatr =
-0.4791
Gcatraso =
186.3 s + 9.317
---------------
s + 0.0117
Continuous-time transfer function.
Gst =
186.3 s^3 + 896.3 s^2 + 1100 s + 52.77
-----------------------------------------------------------
s^6 + 19.45 s^5 + 131 s^4 + 339.7 s^3 + 229.7 s^2 + 2.642 s
Continuous-time transfer function
EJEMPLO 1.5
PROGAMACIÓN EN MATLAB
clear all;clc
format compact
%EJEMPLO 6.1
num=[1];
den=[1 4 3 0];
Gs=tf(num,den)
disp('grafica del sistema sin compensar - grafica (1)')
subplot(2,1,1)
rlocus(Gs)
title('grafica 1 - LGR de la FTLA sin compensar')
disp('diseño del compensador en adelanto;con los polos deseados')
disp('se desea que el factor de amortiguamiento sea = 0.45');
E=0.45;
disp('como condicion el factor de amortiguamiento por la frecuencia natural es =
0.4');
EW=4;
disp('de la condicion podemos hallar la frecuenci natural')
W=EW/E;
fprintf('frecuencia natural = %.4f s\n',W)
disp('el polo deseado es')
s1=-EW+W*sqrt(1-E^2)*j;
s2=-EW-W*sqrt(1-E^2)*j;
fprintf('pd= %.4f + %.4f j\n',real(s1),imag(s1))
fprintf('pd= %.4f - %.4f j\n',real(s1),imag(s1))
disp('hallamos la deficiencia angular de los pd en la FTLA')
fi=abs(-angle(s1)*180/pi-angle(s1+2)*180/pi)-180;
fprintf('deficiencia angular= %.4f°\n',fi)
disp('con la deficiencia angular hallamos el polo(p) y el cero(z) del
compensador')
disp('asumiendo que el cero z=-4 hallamos el polo(p)')
z=-4;
p=-imag(s1)*tand(fi)+z;
fprintf('p= %.4f \n',p)
disp('mediante la condicion de modulo hallamos K del compensador')
K=abs(((s1-p)*s1*(s1+2))/((s1-z)*1))
disp('entonces el compensador en adelanto tendra la siguiente funcion de
transferencia')
numc=K*[1 -z];
denc=[1 -p];
Gc=tf(numc,denc)
disp('el sistema compensado seria')
nums=conv(num,numc);
dens=conv(den,denc);
Gsc=tf(nums,dens)
disp('grafica del sistema compensado - grafica (2)')
subplot(2,1,2)
rlocus(Gsc)
title('grafica 2 - LGR de la FTLA compensado')
Gs =
1
-----------------
s^3 + 4 s^2 + 3 s
Gc =
96.25 s + 385
-------------
s + 10.87
Gsc =
96.25 s + 385
-------------------------------------
s^4 + 14.87 s^3 + 46.49 s^2 + 32.62 s
Para un sistema de control de retroalimentación simple cuya función de transferencia a lazo abierto es la
que se muestra en la Ec. 1.14, se requiere introducir un controlador que garantice que la respuesta del lazo
cerrado tenga un ts2% ≤ 1, ωd ≤ 2 y un coeficiente de error de velocidad Kv ≥ 20.}
PROGAMACIÓN EN MATLAB
clear all;clc
format compact
%EJEMPLO 6.1
num=[1];
den=[];
Gs=tf(num,den)
disp('grafica del sistema sin compensar - grafica (1)')
subplot(2,1,1)
rlocus(Gs)
title('grafica 1 - LGR de la FTLA sin compensar')
disp('diseño del compensador en adelanto;con los polos deseados')
disp('se desea que el factor de amortiguamiento sea = 0.45');
E=0.45;
disp('como condicion el factor de amortiguamiento por la frecuencia natural es =
0.4');
EW=4;
disp('de la condicion podemos hallar la frecuenci natural')
W=EW/E;
fprintf('frecuencia natural = %.4f s\n',W)
disp('el polo deseado es')
s1=-EW+W*sqrt(1-E^2)*j;
s2=-EW-W*sqrt(1-E^2)*j;
fprintf('pd= %.4f + %.4f j\n',real(s1),imag(s1))
fprintf('pd= %.4f - %.4f j\n',real(s1),imag(s1))
disp('hallamos la deficiencia angular de los pd en la FTLA')
fi=abs(-angle(s1)*180/pi-angle(s1+2)*180/pi)-180;
fprintf('deficiencia angular= %.4f°\n',fi)
disp('con la deficiencia angular hallamos el polo(p) y el cero(z) del
compensador')
disp('asumiendo que el cero z=-4 hallamos el polo(p)')
z=-4;
p=-imag(s1)*tand(fi)+z;
fprintf('p= %.4f \n',p)
disp('mediante la condicion de modulo hallamos K del compensador')
K=abs(((s1-p)*s1*(s1+2))/((s1-z)*1))
disp('entonces el compensador en adelanto tendra la siguiente funcion de
transferencia')
numc=K*[1 -z];
denc=[1 -p];
Gc=tf(numc,denc)
disp('el sistema compensado seria')
nums=conv(num,numc);
dens=conv(den,denc);
Gsc=tf(nums,dens)
disp('grafica del sistema compensado - grafica (2)')
subplot(2,1,2)
rlocus(Gsc)
title('grafica 2 - LGR de la FTLA compensado')
RUN DEL PROGRAMA
Gs =
1
-------------
s^2 + 6 s + 5
Gc =
96.25 s + 385
-------------
s + 10.87
Gsc =
96.25 s + 385
---------------------------------
s^3 + 16.87 s^2 + 70.24 s + 54.36
GRÁFICAS: