增量式PID的MATLAB实现

增量式PID的MATLAB实现

ID:37943446

大小:95.62 KB

页数:10页

时间:2019-06-03

增量式PID的MATLAB实现_第1页
增量式PID的MATLAB实现_第2页
增量式PID的MATLAB实现_第3页
增量式PID的MATLAB实现_第4页
增量式PID的MATLAB实现_第5页
资源描述:

《增量式PID的MATLAB实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1设某一步进电机控制系统传递函数为:系统的输入为单位阶跃信号,对步进电机进行位置控制设系统的采样时间T=1s,设计PID控制器如下:Kp=10,TI=10,TD=15试比较增量法PID和传统PID两种方法对该控制系统进行仿真分析其控制结果要求得出两种控制方法的响应曲线解:x(t)e(t)c(t)y(t)+50PIDZOHGs()=20.1257ss+—(1)根据增量式PID算法:△c(k)=K[e(k)-e(k-1)]+Ke(k)+K[e(k)-2e(k-1)+-e(k2)](1)pidKTKTppd即:△c(k)=K[e(k)-e(k-1)]+e(k)+[e(k)-2e(k-1)

2、+-e(k2)](2)pTTi所以可以整理得:△c(k)=A×e(k)+B×e(k-1)+C×-e(k2)(3)KTKTKTKTppdpdpd其中:AK=++、B=+K2、C=ppTTTTic(k)=c(k-1)+Dck()(3)(2)根据Yz()0.01647z+0.01389=(4)2C()zz-+1.571z0.5712对角相乘得到:2C(z)(0.01647z+0.01389)=Y(z)(z-+1.571z0.5712)(5)-1--2-12C(z)(0.01647z+0.01389Z)=Y(z)(1-+1.571z0.5712Z)(6)第1页共10页-1--2-12Y(z

3、)=1-1.571zC(Z)+0.5712ZC(z)++0.01647z0.01389Z(7)即:Y(k)=1-1.571C(k-1)+0.5712C(k-2)+0.01647Y(k-1)+-0.013892Yk()(8)因此编制程序如下:clearall;closeall;%增量式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/T

4、i设置Kp,Ki,Kdkd=kp*Td/tsA=kp*(1+ts/Ti+Td/ts);B=-kp*(1+2*Td/ts);根据公式(3)C=kp*Td/ts;fork=1:1:3000t(k)=k*ts;r(k)=1;y(k)=-den(2)*y_1-den(3)*y_2+num(2)*c_1+num(3)*c_2;根据公式(8)e(k)=r(k)-y(k);c(k)=A*e(k)+B*e_1+C*e_2;根据公式(3)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

5、(t,y,'r');gridon;figure(2)第2页共10页plot(t,y,'r');holdon;gridon;%传统PID控制c_1=0;c_2=0;y_1=0;y_2=0;e_1=0;x=[0,0,0]';fork=1:1:3000t(k)=k*ts;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);x(1)=e(k);x(2)=x(2)+e(k);传统PID控制算法,其中x(2)为误差的累加。x(3)=e(k)-e_1;c(k)=kp*x(1)+ki*x(2)+kd*x(3

6、);c_1=c(k);c_2=c_1;y_1=y(k);y_2=y_1;e_1=e(k);endplot(t,y,'b');图1-1采用增量式PID的输出图形第3页共10页也可用附录函数:>>f(1,2)(4)与传统PID比较图1-2采用传统PID控制效果>>ft(1,3)图1-3增量式PID与传统PID比较>>f(1,3);holdon;ft(1,3)分析:如图3所示,采用增量式PID控制,超调量小,响应速度快,稳定时间短,控制效果明显优于传统PID控制。2输入为三角波和正弦波信号,再对信号进行位置跟踪,设计仿真程序,分析仿真结果第4页共10页如果PID参数不合适,调整参数(1)

7、三角波信号输入响应如图3所示:ìït-2n(2n>T=1000;ifk>=0&k<0.5*Tr(k)=2*k;elser(k)=-2-2*(k-T);end得到如下图形输出:图2-1三角波输出响应>>f(3,1)第5页共10页图2-2三角波输入下增量式PID与传统PID对比>>f(3,1);holdon;ft(3,1)图2-1为三角波输

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。