您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 温度控制传递函数-增量式PID系数-MATLAB仿真
clearall;closeall;ts=0.1;sys=tf([5],[8,1],'inputdelay',10);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;x=[0,0,0];fork=1:1:200time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_5;rin(k)=1;error(k)=rin(k)-yout(k);kp=1;ki=0;kd=0;du(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)=u_1+du(k);u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k)-error_1;x(2)=error(k)-2*error_1+error_2;x(3)=error(k);error_2=error_1;error_1=error(k);endholdonholdonplot(time,rin,'g',time,yout,'r','linewidth',2)xlabel('time(s)')ylabel('rin,yout')ts=0.1;sys=tf([5],[8,1],'inputdelay',10);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;x=[0,0,0];fork=1:1:200time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_5;rin(k)=1;error(k)=rin(k)-yout(k);kp=2;ki=0;kd=0;du(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)=u_1+du(k);u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k)-error_1;x(2)=error(k)-2*error_1+error_2;x(3)=error(k);error_2=error_1;error_1=error(k);endholdonplot(time,yout,'b','linewidth',2)xlabel('time(s)')ylabel('rin,yout')ts=0.1;sys=tf([5],[8,1],'inputdelay',10);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;x=[0,0,0];fork=1:1:200time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_5;rin(k)=1;error(k)=rin(k)-yout(k);kp=3;ki=0;kd=0;du(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)=u_1+du(k);u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k)-error_1;x(2)=error(k)-2*error_1+error_2;x(3)=error(k);error_2=error_1;error_1=error(k);endholdonplot(time,yout,'m','linewidth',2)xlabel('time(s)')ylabel('rin,yout')图像:ki=0,kd=0Kp:红色kp=1,蓝色kp=2,品红kp=3clearall;closeall;ts=0.1;sys=tf([5],[8,1],'inputdelay',10);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;x=[0,0,0];fork=1:1:200time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_5;rin(k)=1;error(k)=rin(k)-yout(k);kp=2;ki=0.01;kd=0;du(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)=u_1+du(k);u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k)-error_1;x(2)=error(k)-2*error_1+error_2;x(3)=error(k);error_2=error_1;error_1=error(k);endholdonholdonplot(time,rin,'g',time,yout,'r','linewidth',2)xlabel('time(s)')ylabel('rin,yout')ts=0.1;sys=tf([5],[8,1],'inputdelay',10);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;x=[0,0,0];fork=1:1:200time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_5;rin(k)=1;error(k)=rin(k)-yout(k);kp=2;ki=0.02;kd=0;du(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)=u_1+du(k);u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k)-error_1;x(2)=error(k)-2*error_1+error_2;x(3)=error(k);error_2=error_1;error_1=error(k);endholdonplot(time,yout,'b','linewidth',2)xlabel('time(s)')ylabel('rin,yout')ts=0.1;sys=tf([5],[8,1],'inputdelay',10);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;x=[0,0,0];fork=1:1:200time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_5;rin(k)=1;error(k)=rin(k)-yout(k);kp=2;ki=0.05;kd=0;du(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)=u_1+du(k);u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k)-error_1;x(2)=error(k)-2*error_1+error_2;x(3)=error(k);error_2=error_1;error_1=error(k);endholdonplot(time,yout,'m','linewidth',2)xlabel('time(s)')ylabel('rin,yout')图像:kp=2,kd=0Ki:红色ki=0.01,蓝色ki=0.02,品红ki=0.05clearall;closeall;ts=0.1;sys=tf([5],[8,1],'inputdelay',10);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;x=[0,0,0];fork=1:1:200time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_5;rin(k)=1;error(k)=rin(k)-yout(k);kp=2;ki=0.02;kd=1;du(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)=u_1+du(k);u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k)-error_1;x(2)=error(k)-2*error_1+error_2;x(3)=error(k);error_2=error_1;error_1=error(k);endholdonholdonplot(time,rin,'g',time,yout,'r','linewidth',2)xlabel('time(s)')ylabel('rin,yout')ts=0.1;sys=tf([5],[8,1],'inputdelay',10);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;x=[0,0,0];fork=1:1:200time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_5;rin(k)=1;error(k)=rin(k)-yout(k);kp=2;ki=0.02;kd=2;du(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)=u_1+du(k);u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k)-error_1;x(2)=error(k)-2*error_1+error_2;x(3)=error(k);error_2=error_1;error_1=error(k);endholdonplot(time,yout,'b','linewidth',2)xlabel('time(s)')ylabel('rin,yout')ts=0.1;sys=tf([5],[8,1],'inputdelay',10);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;x=[0,0,0];fork=1:1:200time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_5;rin(k)=1;error(k)=rin(k)-yout(k);kp=2;ki=0.02;kd=3
本文标题:温度控制传递函数-增量式PID系数-MATLAB仿真
链接地址:https://www.777doc.com/doc-1895885 .html