Академический Документы
Профессиональный Документы
Культура Документы
y 1
m (5s 1)(3s 1)
Se desea operar automaticamente con un controlador tipo Dahlin y probar su desempeño con un
cambio en la referencia del tipo escalon unitaria. Se utiliza un tiempo de muestreo de 1 (dt) y se
quiere eue el proceso cuando este controlado responda como un sistema de 1ª orden, sin tiempo
muerto con una constante de tiempo de 1 (lamda) Resuelva lo anterior usando MATLAB.
dt=1;lamda=1;tm=1;num=1;
t1=5;t2=3;
Primero calcularemos la funcion de transferencia pulso HGp(z) para el proceso. Esto se lleva a cabo
con los siguientes comandos:
d1=[t1 1];
d2=[t2 1];
den=conv(d1,d2);
[numd,dend]=c2dm(num,den,dt,'zoh')
En este caso numd y dend son el numerador y el denominador de HGp(z). Estas ecuaciones se
usaran de manera reciproca en el controlador
Recordar que, para el caso del diseño de un controlador digital tipo Dahlin, la siguiente ecuación
debe usarse:
1 Y /Y R
D( z )
HGp( z ) 1 Y / Y R
1 1
s 1 s 1
n2=0.632;
d2=[1 -1];
Para evaluar D(z) de acuerdo a una anterior ecuación, tendremos que multiplicar numeradores y
denominadores calculados anteriormente
nc=n2*n1;
dc=conv(d1,d2);
numd2=conv(numd,nc);
dend2=conv(dend,dc);
[ncl,dcl]=cloop(numd2,dend2,-1);
Para simular una entrada escalón en la referencia formamos un vector con solo 1(s) con 11 términos
y además definimos un contador k con 11 elementos
yr=ones(1,11);
k=0:10;
El siguiente comando simula la respuesta de la función de transferencia ante una entrada escalon de
11 términos o tiempos de muestreo:
y=filter(ncl,dcl,yr);
subplot(2,1,1)
plot(k,y,'+')
numm=conv(nc,dend);
denm=numd2+dend2;
Los siguientes dos términos simulan el cambio de m, ante un cambio en la referencia y se grafican
en la segunda mitad de la pantalla, pero el tercer termino establece que la variable m se grafique en
forma de escalera o pulsos
m=filter(numm,denm,yr);
subplot(2,1,2)
stairs(m)
El término 0.821 esta cerca del -1. Una estrategia para eliminar o reducir esto es convertir el
término z-1 en 1 y el controlador cambia a:
Siguiendo una logica similar a el anterior ejemplo se utilizan los siguientes comandos en MATLAB
t1=5;t2=3;dt=1;lamda=1;tm=1;num=1;
d1=[t1 1];
d2=[t2 1];
den=conv(d1,d2);
gp=tf(num,den);
[numd,dend]=c2dm(num,den,dt,'zoh');
n1=[1 -1.5353 0.5866];
n2=0.632;
d1=0.0514;
d2=[1 -1];
nc=n2*n1;
dc=conv(d1,d2);
numd2=conv(numd,nc);
dend2=conv(dend,dc);
ncl=conv(nc,numd);
dcl=[dend2 0]+numd2;
yr=ones(1,11);
k=0:10;
y=filter(ncl,dcl,yr);
subplot(2,1,1)
plot(k,y,'+')
numm=conv(nc,dend);
denm=numd2+[dend2 0];
m=filter(numm,denm,yr);
subplot(2,1,2)
stairs(m)