Matlab - Controlador derivativo

   
Vista:

Controlador derivativo

Publicado por alejandro alexber2@hotmail.com (5 intervenciones) el 10/02/2013 08:41:33
Estoy tratando de implementar la parte derivativa de un controlador PID, el programa de matlab corre bien con PI, pero no con la parte derivativa, ¿alguien me puede ayudar con la parte derivativa?
Alejandro
clear
format short e
% initial conditions
time=0; ca1=0.4; ca2=0.2; xx=[];
ca3=0.1; ca3set=0.2; erint=0; eder=0;
% disturbance
cad=0.2;
% parameter values
tau=2; k=0.5; kc=30; taui=5;taud=2;
delta=0.01; tprint=0;
while(time<=1)
% feedback controller
%Parte derivativa
e=(ca3-eder)/delta;
eder=kc*eder*taud;
%Parte PI
e2=ca3set-eder;
cam=0.8+kc*(e2+erint/taui);
cao=cam+cad;
% evaluate derivatives
ca1dot=(cao-ca1)/tau-k*ca1;
ca2dot=(ca1-ca2)/tau-k*ca2;
ca3dot=(ca2-ca3)/tau-k*ca3;
if(time>=tprint)
xx=[xx;time,ca1,ca2,ca3,cam];
tprint=tprint+0.1;
end
ca1=ca1+ca1dot*delta;
ca2=ca2+ca2dot*delta;
ca3=ca3+ca3dot*delta;
erint=erint+e*delta;
time=time+delta;
end
xx
subplot(2,1,1),plot(xx(:,1),xx(:,2)),ylabel('Cam'),grid
subplot(2,1,2),plot(xx(:,1),xx(:,4)),ylabel('Ca3'),grid
xlabel('Time, min')
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder