Beruflich Dokumente
Kultur Dokumente
METODO ANALITICO
Ejemplo 6.1
1
G P (s) ;
s ( s 2)
z
Controlador: GC ( z ) k z
z e ( n j d )T
z e ( nT ) e ( jd T )
z e ( sT ) ; s n j d
z = Magnitud polo
z e ( n T )
z d T
4
tS 2
n (Tolerancia 2%)
4 4
n 4 rad
t S 0.5 2 sg
n 4 rad sg
b) Condiciones de ngulo:
Gla Gc G z
1
G p ( s)
s ( s 2)
G p
G ( z ) (1 z 1 ) z
s
G ( z ) c 2d (Gp, Ti , ' zoh' ) (MATLAB)
0.017 ( z 0.87)
G( z)
( z 1)( z 0.67)
z
Gc ( z ) k
z
( z ) 0.017( z 0.87)
Gla ( z ) k
( z )( z 1)( z 0.67)
0.67
(0.017)( z 0.87)
Gla ( z ) k
( z )( z 1)
El polo en z = 1 no se debe cancelar, puesto que hace que e ss 0 .
k
Siempre que tengamos en el denominador z 1 , es un integrador.
z 1
Si se cancela se presenta lo siguiente:
0.42
tan 1 17.1
0.87 0.51
0.42
2 180 tan 1 139.4
1 0.51
1 2 180
17 1 139.4 180
1 57.6
0.42
tan 57.6 0.25
0.51
c) Condicin de magnitud:
Gla 1
k (0.017)( z 0.87)
1
( z 1)( z 0.25)
pole(glc)
step(glc)
%************************************************************
% MOTOR DE CORRIENTE CONTINUA CONTROLADO EN VELOCIDAD
% Gp(s) = 2/(s+10)(s+2)
% CONDICIONES DE DISEO ts = 0.02 seg, T = 0.001 seg,
%Mp = 0.5%
%*************************************************************
clear all
home
disp(' ');
disp('******************************************************')
disp('DISEO DE SISTEMAS DE CONTROL DISCRETO');
disp('DISEO EN EL DOMINIO DEL TIEMPO');
disp('DISEO MEDIANTE CANCELACION DE POLOS');
disp('******************************************************')
% FUNCION DE TRANSFERENCIA DE LA PLANTA Y DEL CONTROLADOR :
%
2 z alfa
% Gp ( s ) Gc( z ) k *
s ( s 2)( s 10) z beta
%
disp(' ');
ts=input('Digite el tiempo de establecimiento : ts(seg) = ');
% ts = 0.02;
disp(' ');
T=input('Digite el tiempo de muestreo "T" (seg): ');
% T=0.001;
disp(' ');
Mp=input('Digite maximo sobreimpulso : Mp = ');
% Mp = 0.5%;
cita= solve(Mp = 100*exp(-cita*3.1416/sqrt(1-cita^2))')
cita = eval(cita)
% cita = 0.86
disp(' ');
disp(' ');
% 9.9601e-007 (z+0.996)
% Gp(z) = ------------------------------
% (z-0.998) (z-0.99)
%************************************************************
% METODO CANCELACION DE POLOS :
% SE HACE EL CERO DEL CONTROLADOR alfa IGUAL
% AL POLO DE LA PLANTA MAYOR CERCANO A UNO
%************************************************************
% Hallar alfa
alfa=pgpz(1)
disp(' ');
disp('El valor de Alfa es: ')
disp(alfa)
% alfa = 0.998
%******************************************************
% (C) HALLAR beta POR CONDICION DE ANGULO
teta1_rad=atan(imag(zpole)./(abs(zgpz)+real(zpole)));
teta1_grad=(teta1_rad*180)/pi;
fi1_rad= pi-atan(imag(zpole)/(pgpz(2)-real(zpole)));
fi1_grad=(fi1_rad*180)/pi;
fi2_grad=teta1_grad+180-fi1_grad;
fi2_rad=teta1_rad+pi-fi1_rad;
% teta1(grados) = 3.1
% fi1(grados) = 151.3
% fi2(grados) = 31.7
beta=real(zpole)-imag(zpole)/tan(fi2_rad);
% beta = 0.6564
disp(' ');
disp('El valor de Beta es: ')
disp(beta)
%*******************************************************
% Hallar k por condicin de magnitud
% k*abs(Gc(z)*G(z)) = 1 en el polo dominante
gcz=zpk(alfa,beta,1,T); % Gc(z) con
alfa y beta
gla=gcz*gpz; % Gla(z)=Gc(z)*Gp(z)
%
9.9601e 007( z 0.998)( z 0.996)
% Gla ( z )
( z 0.6564)( z 0.99)( z 0.998)
%
% gla no aparece simplificada, no se cancela el polo con el
% cero entonces se debe hacer
[z1,p1,k1]=zpkdata(gla,'v')
i=find(p1==alfa);
p1(i)=[ ]
i=find(z1==alfa);
z1(i)=[ ];
gla= zpk(z1,p1,k1,T)
gla_tf=tf(gla); % Convierto a Modelo tf
[num,den]=tfdata(gla_tf,'v'); % Extraigo los valores
gla1=poly2sym(num,'z')/poly2sym(den,'z');
z=zpole;
mag = abs(eval(gla1));
k=1/mag;
% k = 2.0593e+004
disp(' ');
disp('El valor de k es: ')
disp(k)
%
20593.3092( z 0.998)
% Gc( z )
( z 0.6564)
%
EJEMPLO 6.2
z
Gc ( z ) k
z 1
10
G p (s)
( s 1)( s 2)
Especificaciones:
T=0.1sg
M p 20%
t S 5sg
kp ?
ki ?
T z 1
G PI k p k i
2 z 1
k i T 2k p
z
T k i T 2k p
G PI (k p k i )
2 z 1
T k i T 2k p
k k p ki ;
2 k i T 2k p
a) Polo dominante:
M p 20%
t S 5sg
T 0.1sg
Mp e
1 2
0.2
0.45
4
tS 5 n 1.78 rad sg
0.45 n
d n 1 2 1.78 1 0.45 2 1.6 rad
sg
d 1.66 rad sg
z e ( 0.451.780.1)
z 0.92
z 1.6 0.1 0.16 rad
z 9.2
b) Condicin de ngulo:
0.15
tan 1 4 .7
0.9 0.9
0.15
1 tan 1 59
1 0.9
0.15
2 180 tan 1 123.7
1 0.9
1 2 178 180
c) Condicin de magnitud:
Gla 1
( z ) 0.045( z 0.90)
Gla Gc G z k
( z 1)( z 0.90)( z 0.81)
0.045( z 0.90)
Gla k
( z 1)( z 0.81)
Se cancela el polo que este ms cerca de la unidad para que haya menos riesgo de
inestabilidad.
k (0.045)( z 0.90)
1
( z 1)( z 0.81) z 0.9 j 0.15
k = 0.77
T
k k p ki 0.77 k p 0.05k i (1)
2
k i T 2k p 0.1k i 2k p
0.9 (2)
k i T 2k p 0.1k i 2k p
De (1) y (2) obtenemos k p y k i :
k p 0.73
k i 0.77
METODO ANALITICO
(z )
Gc ( z ) k
z
z 1 k p Tz k d z k d z (k p T k d ) k d
G PD k p k d
Tz Tz Tz
kd
z
k pT k d k pT k d
G PD
T z
k pT k d k
; k T k
d
k
T p d
Ejemplo:
1
G p ( s) ;
( s 1)( s 2)
Especificaciones:
T=0.1
M p 16% ; t s 2 sg
n 4
d
Mp e ; t S
n
z e ( nT )
z d T
Solucin
4
tS 2 n 2
n
2
M p 0.16 e
d d 3.46 rad sg
z exp(2 0.1) 0.8187
z 0.8187
z 3.46 0.1 0.346rad
z 19.82
Polo dominante:
p z z p 0.77 j 0.28
G p
G ( z ) (1 z 1 ) z
s
Cancelacin de polos:
0.9048
0.0045k ( z 0.9048)
Gla
z ( z 0.8187)
1 1 2 180
0.28
1 tan 1 9.49
0.9048 0.77
0.28
1 tan 1 19.98
0.77
0.8187 0.77
2 90 tan 1 99.86
0.28
9.49 19.98 99.86 110.35 (No cumple la condicin de ngulo)
1 2 1 2 3 180
0.9048 0.77
3 90 tan 1 115 .7
0.28
2 1 1 2 3 180
2 9.49 19.98 99.86 115.7 180
2 46
0.28
tan 2 tan 46 0.5
0.77
k ( z 0.5)
Gc
z
Condicin de magnitud:
Gla 1
0.0045k ( z 0.5)( z 0.9048)
1
z ( z 0.9048)( z 0.8187) z 0.7 j 0.28
k 24.3
24.3( z 0.5)
Gc ( z )
z
k pT k d kd
k ; k T k
T p d
clear all
home
disp(' ');
disp('*****************************************************')
disp('DISEO DE SISTEMAS DE CONTROL DISCRETO');
disp('DISEO EN EL DOMINIO DEL TIEMPO');
disp('DISEO DE UN CONTROLADOR PD');
disp('*****************************************************')
% FUNCION DE TRANSFERENCIA DE LA PLANTA Y DEL CONTROLADOR :
%
1 z alfa
% Gp( s ) Gpd ( z ) k *
( s 1)( s 2) z
%
kp * T kd kd
% k alfa
T kp * T kd
%
% kp=Constante Proporcional
% kd=Constante Derivativa
%*************************************************************
disp(' ');
ts=input('Digite el tiempo de Establecimiento "ts" (seg): ');
% ts=2;
disp(' ');
mp=input('Digite el Porcentaje de SobreImpulso "Mp" (%): ');
% mp=16.3;
mp=mp/100;
disp(' ');
T=input('Digite el tiempo de muestreo "T" (seg): ');
% T=0.1;
disp(' ');
disp(' ');
gps=zpk([],[-1 -2],1);
gpz=c2d(gps,T,'ZOH'); % Planta en el Dominio Z
pgpz=pole(gpz); % Polos en Gp(z)
zgpz=zero(gpz); % Zeros en Gp(z)
%
0.04528( z 0.9048)
% Gp( z )
( z 0.9048)( z 0.8187)
%
teta1_rad=atan(imag(zpole)./(abs(zgpz)+real(zpole)));
teta1_grad=(teta1_rad*180)/pi;
fi1_rad=angle(zpole);
fi1_grad=(fi1_rad*180)/pi;
fi2_rad=pi - atan(imag(zpole)./(abs(pgpz(1,1))-real(zpole)));
fi2_grad=(fi2_rad*180)/pi;
fi3_rad=pi - atan(imag(zpole)./(abs(pgpz(2,1))-real(zpole)));
fi3_grad=(fi3_rad*180)/pi;
teta2_grad=-180-teta1_grad+fi1_grad+fi2_grad+fi3_grad;
teta2_rad=(teta2_grad*pi)/180;
% teta1=9.4221, fi1=19.8456, fi2=115.8610, fi3=99.9228
alfa=real(zpole)-(imag(zpole)/tan(teta2_rad));
disp(' ');
disp('El valor de Alfa es: ')
disp(alfa)
% alfa = 0.5036
METODO ANALITICO
T z 1 kd z 1
G PID k p k i
2 z 1 T z
z 2 Az B
G PID k
z ( z 1)
Ejemplo:
10
G p ( s) ; T 0.1sg
( s 1)( s 2)
Especificacin: k v 5 constante de velocidad
(1 z 1 )Gla
k v lim
z 1 T
G z c 2dm (G p , T , ' zoh' )
0.0452 ( z 0.9048)
Gz
( z 0.9048)( z 0.8187)
T z 1 k d z 1
Gla G ( z ) k p k i
2 z 1 T z
1 0.0452 ( z 0.9048) T
kv lim
T z 1 ( z 0.9048)( z 0.8187)
* k i * ( z 1)
2
0.0452 (1.9048) 0.1
k v 10 * ki * 2
(0.0952)(0.1813) 2
k v 0.988k i
5 0.988k i k i 5.06
0.045 ( z 0.9048) k ( z 2 Az B)
Gla
( z 0.9048)( z 0.8187) z ( z 1)
k i T 2 2k p T 4 k d
A
k i T 2 2k p T 2k d
2k d
B
k i T 2k p T 2 k d
2
% (A)DISCRETIZAR PLANTA
gps=zpk([],[-1 -2],10);
gpz=c2d(gps,T,'ZOH'); % Planta en el Dominio Z
pgpz=pole(gpz); % Polos en Gp(z)
zgpz=zero(gpz); % Zeros en Gp(z)
%
5.7971( z 0.9048)( z 0.8187)
% Gpid ( z )
z ( z 1)