Professional Documents
Culture Documents
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
% ERRER EN ESTADO ESTACIONARIO
%
%El desempeo de un sistema de control discreto se mide por su error en
%
%estado estacionario o permanente ess y depende de la seal de entrada.
%
%
%
%Este programa esta orientado a determinar la ganancia K de tal manera
que%
%los valores en que oscila esta variable hagan que el sistema sea
estable.%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
clc;
disp(' ERROR DE UN SISTEMA ');
disp('ERROR EN ESTADO ESTACIONARIO CON REALIMENTACION UNITARIA');
disp(' ');
disp('SELECCIONE UNA OPCIN :');
disp(' 1: PARA UNA FUNCION DE TRANSFERENCIA EN EL PL "s" ');
disp(' 2: PARA UNA FUNCION DE TRANSFERENCIA EN EL PL "z"');
w=input('SELECCIONE LA OPCION : ');
disp(' ');
% % % numgls=[0 0 0 1 2 1] %%[10];
% % % dengls= [1 5.55 8.1 5.05 3 2.5]%[1 2+10j -26+20j 52]%%[1 1.5 0.25]
%%poly([0 -1]);
switch w
%LOS DATOS DEBEN SER INGRESADOS EN EL PLANO s
case 1
T = input('Ingrese el valor de tiempo de muestreo : T = ');
numgls = input('Ingrese coeficientes del numeradorz PL "s" : num = ');
dengls = input('Ingrese coeficientes del denominador PL "s": den = ');
disp('LA FUNCION DE TRANSFERENCIA DE LA PLANTA ES : Gp(s) = ');
%1ro Funcion de Transferencia en el tiempo discreto G(z)
Gls=tf(numgls,dengls)
Gz=c2d(Gls,T,'zoh')
%funcin de transferencia en lazo cerrado
Tz=feedback(Gz,1)
Kp=dcgain(Gz)
ess=1/(1+Kp)
GzKv=Gz*(1/T)*tf([1 -1],[1 0],T);
GzKv=minreal(GzKv,0.00001);
K=(1/(0.40*ess)-1)/Kp
pause
disp('___________________________________________________________________
__________________________')
disp('ENTRADA RAMPA(ERROR DE VELOCIDAD)')
disp('___________________________________________________________________
__________________________')
Kv=dcgain(GzKv)
essv=T/Kv
GzKa=Gz*(1/T^2)*tf([1 -2],[1 0 0],T);
GzKa=minreal(GzKa,0.00001);
%Mejorar o disminuir K a un valor deseado
disp('DISMUYE EL ess EN UN 50%')
K2= (1/(0.40*essv*Kv))
pause
disp('___________________________________________________________________
__________________________')
disp('ENTRADA PARABOLA (ERROR DE ACELERACIN)')
disp('___________________________________________________________________
__________________________')
Ka=dcgain(GzKa)
essa=(T^2)/Ka
%Mejorar o disminuir K a un valor deseado
disp('DISMUYE EL ess EN UN 50%')
K3=(1/(0.40*essa*Ka))
pause
case 2
T = input('Ingrese el valor de tiempo de muestreo : T = ');
numglz = input('Ingrese coeficientes del numeradorz PL "z" : num = ');
denglz = input('Ingrese coeficientes del denominador PL "z": den = ');
disp('LA FUNCION DE TRANSFERENCIA DE LA PLANTA ES : Gp(z) = ');
Gls=tf(numglz,denglz);
Gz=c2d(Gls,T,'zoh')
Tz=feedback(Gz,1)
'LOS POLOS DE z EN LAZO CERRADO'
r=pole(Tz)
M=abs(r)
pause
disp('___________________________________________________________________
__________________________')
disp('ENTRADA ESCALON (ERROR DE POSICIN)')
disp('___________________________________________________________________
__________________________')
Kp=dcgain(Gz)
ess=1/(1+Kp)
GzKv=Gz*(1/T)*tf([1 -1],[1 0],T);
GzKv=minreal(GzKv,0.00001);
K=(1/(0.85*ess)-1)/Kp
pause
disp('___________________________________________________________________
__________________________')
disp('ENTRADA RAMPA(ERROR DE VELOCIDAD)')
disp('___________________________________________________________________
__________________________')
Kv=dcgain(GzKv)
essv=T/Kv
GzKa=Gz*(1/T^2)*tf([1 -2],[1 0 0],T);
GzKa=minreal(GzKa,0.00001);
%Mejorar o disminuir K a un valor deseado
disp('DISMUYE EL ess EN UN 50%')
K=1/(0.40*essv*Kv)
pause
disp('___________________________________________________________________
__________________________')
disp('ENTRADA PARABOLA (ERROR DE ACELERACIN)')
disp('___________________________________________________________________
__________________________')
Ka=dcgain(GzKa)
essa=(T^2)/Ka
%Mejorar o disminuir K a un valor deseado
disp('DISMUYE EL ess EN UN 50%')
K=1/(0.85*essa*Ka)
pause
end