end
rin_1=rin(k);
u_3=u_2;u_2=u_1;u_1=u(k); y_3=y_2;y_2=y_1;y_1=yout(k);
f_1=filty(k); yy_1=yyout(k);
error_2=error_1; error_1=error(k); end
figure(1); subplot(211);
plot(time,rin,'r',time,filty,'b'); xlabel('time(s)');ylabel('rin,yout'); subplot(212); plot(time,u,'r');
xlabel('time(s)');ylabel('u'); figure(2);
plot(time,D,'r');
xlabel('time(s)');ylabel('Disturbance signal');
M=1,不带死区时,输出如下:
1.51rin,yout0.50-0.500.20.40.60.81time(s)1.21.41.61.82105u0-500.20.40.60.81time(s)1.21.41.61.82 0.50.40.30.2Disturbance signal0.10-0.1-0.2-0.3-0.4-0.500.20.40.60.81time(s)1.21.41.61.82
M=2,带死区,输出如下
1.51rin,yout0.50-0.500.20.40.60.81time(s)1.21.41.61.82105u0-500.20.40.60.81time(s)1.21.41.61.82 0.50.40.30.2Disturbance signal0.10-0.1-0.2-0.3-0.4-0.500.20.40.60.81time(s)1.21.41.61.82结论: 带死区的PID控制对控制器的输出有较好的控制作用,使得实际的直接控制对象执行器的阀门开度更加稳定,波动变化大大减小。