Institute of Technology. East China Jiaotong University
计算机控制技术
题 目 数字PID控制器的设计
分 院: 电信分院
专 业: 电气工程及其自动化
班 级:
学 号:
学 生 姓 名:
指 导 教 师:
数字PID 控制器的设计
一、设计目的:
1. 理解晶闸管直流单闭环调速系统的数学模型和工作原理; 2. 掌握PID 控制器参数对控制系统性能的影响;
3. 能够运用MATLAB/Simulink 软件对控制系统进行正确建模并对模块进行正确的参数设置;
4. 掌握计算机控制仿真结果的分析方法。
二、设计工具:
MATLAB 软件。 三、设计内容:
已知晶闸管直流单闭环调速系统的转速控制器为PID 控制器,如图1所示。试运用MATLAB 软件对调速系统的P、I、D 控制作用进行分析。
四、设计步骤:
(一)模拟PID 控制作用分析:
运用MATLAB 软件对调速系统的P、I、D 控制作用进行分析。 (1)比例控制作用分析
为分析纯比例控制的作用,考察当Td = 0, Ti =∞ , Kp =1~5时对系统阶跃响应的影响。 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=[1:1:5];
for i=1:length(Kp)
Gc=feedback(Kp(i)*G,0.01178); step(Gc),hold on end
axis([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(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 on end
gtext(['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.01, 考察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 on end
gtext(['1Td=12']); gtext(['2Td=48']); gtext(['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离散化仿真程序 clc clear
figure(1); grid on hold on
color=['r','g','b','y','m'] ts=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:5
for 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:400 time(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); end
plot(time,yout,color(i)); end
gtext(['1Kp=1']); gtext(['2Kp=2']); gtext(['3Kp=3']); gtext(['4Kp=4']); gtext(['5Kp=5']); (五)建立仿真:
Simulink模块图如下:
由上图可知,在给定的参数下,伺服系统运行良好,较好的完成了应有的功能 (六)参数分析:
控制器参数eK、1cT、2cT对控制系统控制性能的影响。
eK:在1cT和2cT不变的情况下,eK的范围应为5~144,当小于5时,波形严重失真,峰值超过了最
大值,如图10。我们可以将eK看作PID控制系统中的pK,即引入比例环节,虽然过程简单
快速,但对于系统响应为有限值的控制对象存在稳态误差。
图(七)eK过小导致的波形失真(eK=3)
当大于144时,波形变得发散,如图11。可见加大比例系数可以减小稳态误差,但过大时会使系统的动态质量变坏,引起输出量震荡,甚至导致闭环系统不稳定。
图(八)eK过大导致的波形发散(eK=145) T:在eK
和1cT不变的情况下,2cT的范围应为0.0005~0.013,当小于0.0005时,仿真过程会变得很慢;当大于0.013时,波形变得发散。
图(九)2cT过大导致的波形发散(2cT=0.013)
五.总结
通过以上的实例分析就可以看出MATLAB的功能之强大,应用范围之广。本文只是针对自动控制系统中常用到的几个方面来介绍了MATLAB软件一小方面应用,对于这个软件的更全面的应用还有待于读者们来认真学习,仔细探讨,进而掌握。
六.参考文献
李国勇 计算机与仿真技术于CAD—基于MATLAB的控制系统(第2版)
北京:电子工业出版社
黄忠霖 控制系统MATLAB计算及仿真(第2版)
北京:国防工业出版社
张燕红 计算机控制技术 (第2版)
南京:东南大学出版社
因篇幅问题不能全部显示,请点此查看更多更全内容