Ejemplo 9.2 pag633 OGATA
Español
Vamos a calcular el compensador de atraso del sistema cuya funcion de transferencia en lazo abierto viene dada por:
![]()
Deseamos que
sea 5, el margen de de fase de al menos 40^o y el margen de ganancia sea al menos de 10dB.
-
Calculamos la constante
.


-
Representamos
polo 


s 1 (s+1) 0.1 1 10 
0.2 2 20 Calculamos las ganancias y fases para todos estos valores






w 0.1 0.2 1 2 10 20 
33.98 27.95 13.97 1.93 -31.93 -58.06 w 0.1 0.2 1 2 10 20 s -90 -90 -90 -90 -90 -90 s+1 0 -11.3 -45 -63.43 -90 -90 
0 0 -26.56 -45 -78.69 -90 
-90 -101.3 -161.56 -198.43 -258.69 -270 Programa para dibujar Bode en Scilabclf; s=%s/(%pi*2); g=1/(s*(s+1)*(0.5*s+1)); gs=syslin('c',5*g); clf; bode(gs,0.1,20); -

-
Como se ve el margen de fase no cumple los requisitos de 40^o y el margen de ganancia tampoco.
-
Vamos a calcular la frecuencia a la cual el margen de fase es igual a:






Esta sera la nueva frecuencia de corte.
-
Vamos a calcular la primera
del compensador. Esta sera una decada debajo de esta nueva frecuencia de corte es decir
con lo que 
-
Vamos a calcular la
. Primero calcularemos la ganancia a la nueva frecuencia de corte. A esta frecuencia la ganancia de
es:



Con lo que el compensador nos queda:

Nos han quedado unas constantes bastante elevadas como nos dijo el libro que podria pasar.
-
Finalmente calculamos la

Dibujar diagrama de bode del sistema compensado y no compensado en Scilab
s=%s/(2*%pi);
g=1/(s*(s+1)*(0.5*s+1));
gc=5*(21.74*s+1)/(236*s+1);
gc2=5*(10*s+1)/(100*s+1);
gt=g*gc;
gt2=g*gc2;
gs=syslin('c',5*g);
gts=syslin('c',gt);
gts2=syslin('c',gt2);
clf;
bode([gs;gts;gts2],['libro';'G(jw)*Gc(jw)';'G1(jw) no compensado']);

Programa para dibujar diagrama de magnitud logaritmica respecto a la fase en Scilab
s=%s/(2*%pi);
g=1/(s*(s+1)*(0.5*s+1));
gc=5*(21.74*s+1)/(236*s+1);
gc2=5*(10*s+1)/(100*s+1);
gt=g*gc;
gt2=g*gc2;
gs=syslin('c',5*g);
gts=syslin('c',gt);
gts2=syslin('c',gt2);
clf;
chart([1.5,3]);
black([gs;gts;gts2],['G1(jw) no compensado';'G(jw)
*Gc(jw)';'libro']);
mtlb_axis([-240 -90 -20 24])

Programa para dibujar respuesta a un escalon del sistema en Scilab
s=%s;
g=1/(s*(s+1)*(0.5*s+1));
gc=5*(21.74*s+1)/(236*s+1);
gc2=5*(10*s+1)/(100*s+1);
gt=g /. 1;
gt2=g*gc /. 1;
gt3=g*gc2 /. 1;
gs=syslin('c',gt);
gts=syslin('c',gt2);
gts2=syslin('c',gt3);
clf;
t=0:0.02:40;
y=csim('step',t,gs);
yt=csim('step',t,gts);
yt2=csim('step',t,gts2);
plot(t,y,'k');
plot(t,yt,'g');
plot(t,yt2,'b');
xgrid;
legend(['no compensado';'compensado';'libro'])
xtitle('Respuesta a un escalon','t(seg)','y(t)')

Programa para dibujar respuesta a una rampa del sistema en Scilab
s=%s;
g=1/(s*(s+1)*(0.5*s+1));
gc=5*(21.74*s+1)/(236*s+1);
gc2=5*(10*s+1)/(100*s+1);
gt=g /. 1;
gt2=g*gc /. 1;
gt3=g*gc2 /. 1;
gs=syslin('c',gt);
gts=syslin('c',gt2);
gts2=syslin('c',gt3);
clf;
t=0:0.02:30;
y=csim(t,t,gs);
yt=csim(t,t,gts);
yt2=csim(t,t,gts2);
plot(t,t,'r');
plot(t,y,'k');
plot(t,yt,'g');
plot(t,yt2,'b');
xgrid;
legend(['rampa';'no compensado';'compensado';'libro'])
xtitle('Respuesta a una rampa','t(seg)','y(t)')

- Inicie sesión o regístrese para comentar





























