1、其中:、(3)(2)根据(4)对角相乘得到:(5)(6)(7) (8)因此编制程序如下:clear all;close all;%增量式PID控制ts=0.001;%采样时间G=tf(50,0.125,7, 0)Gd=c2d(G,ts,z);%Z变换num,den=tfdata(Gd,v) c_1=0;c_2=0;y_1=0;y_2=0;e_1=0;e_2=0;kp=10;Ti=0.1;Td=0.015;ki=kp*ts/Tikd=kp*Td/tsA=kp*(1+ts/Ti+Td/ts);B=-kp*(1+2*Td/ts);C=kp*Td/ts;for k=1:1:3000t(k)=k*ts;
2、r(k)=1;y(k)=-den(2)*y_1-den(3)*y_2+num(2)*c_1+num(3)*c_2;e(k)=r(k)-y(k);c(k)=A*e(k)+B*e_1+C*e_2;c(k)=c_1+c(k);c_2=c_1;c_1=c(k);y_2=y_1;y_1=y(k);e_2=e_1;e_1=e(k);endfigure(1);plot(t,y,rgrid on;figure(2)hold on;%传统PID控制x=0,0,0;x(1)=e(k);x(2)=x(2)+e(k);x(3)=e(k)-e_1;c(k)=kp*x(1)+ki*x(2)+kd*x(3);b图1-1 采
3、用增量式PID的输出图形也可用附录函数:f(1,2)(4)与传统PID比较图1-2 采用传统PID控制效果ft(1,3)图1-3 增量式PID与传统PID比较f(1,3);分析:如图3所示,采用增量式PID控制,超调量小,响应速度快,稳定时间短,控制效果明显优于传统PID控制。2 输入为三角波和正弦波信号,再对信号进行位置跟踪,设计仿真程序,分析仿真结果如果PID参数不合适,调整参数(1)三角波信号输入响应如图3所示:代码略,与单位跃阶类似,只需修改输入函数:T=1000; if k=0 & k0.5*T r(k)=2*k; else r(k)=-2-2*(k-T); end得到如下图形输出:
4、图2-1 三角波输出响应f(3,1)图2-2 三角波输入下增量式PID与传统PID对比f(3,1);ft(3,1)图2-1为三角波输入下采用增量式PID控制的系统的输入和输出对比,控制效果较好,图2-1为增量式PID与传统PID比较,明显增量式的控制效果优于传统式。(2)采用增量式PID控制的正弦信号输入响应如图2-3所示:r(k)=sin(pi*t(k);图2-3 采用增量式PID的正弦波响应f(2,2)f(2,2);ft(2,2)图2-4 与传统PID比较由图2-4得正弦波输入下增量式PID控制效果明显优于传统PID控制。总结:采用增量式PID算法时,通过不同信号的输入(单位阶跃,三角波,
5、正弦波)与其分别采用传统PID算法比较,可以很明显地看到,增量式PID具有很明显的优越性。因为算式中不需要累加误差,控制增量c(k)的确定仅与最近k次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果。附录:1,增量式PID算法function f(a,M)%a选则输入信号,M为输出图形的横坐标最大值;%单位阶跃f(1,1);%正弦波f(2,2)%三角波f(3,1)M*1000s=a;if s=1 r(k)=1;elseif s=2elseif s=3 T=1000; end ,t,r,2,传统PID算法function ft(a,M)%单位阶跃ft(1,4);%正弦波ft(2,2)%三角波ft(3,1)ki=0.1;kd=15;1000*Mend
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1