1、华东交通大学理工学院Institute of Technology. East China Jiaotong University计算机控制技术题 目 数字 PID 控制器的设计 分 院: 电信分院 专 业: 电气工程及其自动化 班 级: 学 号: 学 生 姓 名: 指 导 教 师: 数字PID 控制器的设计一、设计目的:1. 理解晶闸管直流单闭环调速系统的数学模型和工作原理;2. 掌握PID 控制器参数对控制系统性能的影响;3. 能够运用MATLAB/Simulink 软件对控制系统进行正确建模并对模块进行正确的参数设置;4. 掌握计算机控制仿真结果的分析方法。二、设计工具:MATLAB 软
2、件。三、设计内容:已知晶闸管直流单闭环调速系统的转速控制器为PID 控制器,如图1所示。试运用MATLAB 软件对调速系统的P、I、D 控制作用进行分析。四、设计步骤:(一)模拟PID 控制作用分析:运用MATLAB 软件对调速系统的P、I、D 控制作用进行分析。(1)比例控制作用分析为分析纯比例控制的作用,考察当Td = 0, Ti = , Kp =15时对系统阶跃响应的影响。MATLAB 程序如下:G1=tf(1,0.017 1);G2=tf(1,0.075 0);G12=feedback(G1*G2,1);G3=tf(44,0.00167 1);G4=tf(1,0.1925);G=G12
3、*G3*G4;Kp=1:1:5;for i=1:length(Kp)Gc=feedback(Kp(i)*G,0.01178);step(Gc),hold onendaxis(0 0.2 0 130); gtext(1Kp=1); gtext(2Kp=2); gtext(3Kp=3); gtext(4Kp=4); gtext(5Kp=5); 参考图如下: 图2 P 控制阶跃响应曲线(2)积分控制作用分析保持Kp =1不变,考察Ti = 0.03 0.07 时对系统阶跃响应的影响。MATLAB 程序如下: G1=tf(1,0.017 1);G2=tf(1,0.075 0);G12=feedback
4、(G1*G2,1);G3=tf(44,0.00167 1);G4=tf(1,0.1925);G=G12*G3*G4;Kp=1;Ti=0.03:0.01:0.07;for i=1:length(Ti)Gc=tf(Kp*Ti(i) 1,Ti(i) 0);Gcc=feedback(G*Gc,0.01178);step(Gcc),hold onendgtext(1Ti=0.03); gtext(2Ti=0.04); gtext(3Ti=0.05); gtext(4Ti=0.06); gtext(5Ti=0.07); (3)微分控制作用分析为分析微分控制的作用,保持Kp = 0.01 ,Ti = 0.0
5、1, 考察Td = 12 84 时对系统阶跃响应的影响。MATLAB 程序如下:G1=tf(1,0.017 1);G2=tf(1,0.075 0);G12=feedback(G1*G2,1);G3=tf(44,0.00167 1);G4=tf(1,0.1925);G=G12*G3*G4;Kp=0.01;Ti=0.01;Td=12:36:84;for i=1:length(Td)Gc=tf(Kp*Ti*Td(i) Ti 1,Ti 0)Gcc=feedback(G*Gc,0.01178) ; step(Gcc),hold onendgtext(1Td=12);gtext(2Td=48);gtext
6、(3Td=84);(4)仿真结果分析自己根据实验曲线,进行仿真结果分析。(二)数字PID 控制作用分析:仿照上述过程,独立完成PID 离散化仿真程序编写及结果分析。(1)比例控制作用下,取采样时间0.001 秒。参考图如图3。图3 数字P 控制作用仿真结果图(2)比例积分控制作用下,取采样时间0.001 秒。参考图如图4。图4 数字PI 控制作用仿真结果图(3)比例积分微分控制作用下,取采样时间0.05 秒。仿真结果参考图如图5。图5 数字PID 控制作用仿真结果图(4)仿真结果分析自己根据实验曲线,进行仿真结果分析。%数字PID离散化仿真程序clcclearfigure(1);grid on
7、hold oncolor=r,g,b,y,mts=0.001;G1=tf(1,0.017 1);G2=tf(1,0.075 0);G12=feedback(G1*G2,1);G3=tf(44,0.00167 1);G4=tf(1,0.1925);G=G12*G3*G4;Ti=0.01;Td=0.084;kp1=1:1:5for i=1:length(kp1)kp=kp1(i);dsys=c2d(G,ts,z);num,den=tfdata(dsys,v);u1=0.0;u2=0.0;u3=0.0;y1=0;y2=0;y3=0;x=0 0 0;error1=0;for k=1:1:400time
8、(k)=k*ts;rin(k)=1;u(k)=kp*x(1);%+ts/Ti*kp*x(3)+Td*kp*x(2)/ts;yout(k)=-den(2)*y1-den(3)*y2-den(4)*y3+num(2)*u1+num(3)*u2+num(4)*u3;error(k)=rin(k)-yout(k)*0.01178;u3=u2;u2=u1;u1=u(k);y3=y2;y2=y1;y1=yout(k);x(1)=error(k);x(2)=(error(k)-error1);x(3)=x(3)+error(k);error1=error(k);endplot(time,yout,color
9、(i);endgtext(1Kp=1); gtext(2Kp=2); gtext(3Kp=3); gtext(4Kp=4); gtext(5Kp=5); (五)建立仿真:Simulink 模块图如下:由上图可知,在给定的参数下,伺服系统运行良好,较好的完成了应有的功能(六)参数分析:控制器参数 eK、1cT 、2cT 对控制系统控制性能的影响。eK:在 1cT 和 2cT 不变的情况下, eK 的范围应为 5144,当小于 5 时,波形严重失真,峰值超过了最大值,如图 10。我们可以将 eK 看作 PID 控制系统中的 pK,即引入比例环节,虽然过程简单快速,但对于系统响应为有限值的控制对象存
10、在稳态误差。图(七)eK 过小导致的波形失真(eK=3 )当大于 144 时,波形变得发散,如图 11。可见加大比例系数可以减小稳态误差,但过大时会使系统的动态质量变坏,引起输出量震荡,甚至导致闭环系统不稳定。图(八)eK 过大导致的波形发散(eK=145) T:在 eK和 1cT 不变的情况下, 2cT 的范围应为 0.00050.013,当小于 0.0005 时,仿真过程会变得很慢;当大于 0.013 时,波形变得发散。图(九)2cT 过大导致的波形发散(2cT=0.013)五总结通过以上的实例分析就可以看出 MATLAB 的功能之强大,应用范围之广。本文只是针对自动控制系统中常用到的几个方面来介绍了 MATLAB 软件一小方面应用,对于这个软件的更全面的应用还有待于读者们来认真学习,仔细探讨,进而掌握。六参考文献李国勇 计算机与仿真技术于 CAD基于 MATLAB 的控制系统(第 2 版)北京:电子工业出版社 黄忠霖 控制系统 MATLAB 计算及仿真(第 2 版)北京:国防工业出版社 张燕红 计算机控制技术 (第 2 版)南京:东南大学出版社