数字PID控制器设计
设计任务:
设单位反馈系统的开环传递函数为:
设计数字PID控制器,使系统的稳态误差不大于0.1,超调量不大于20%,调节时间不大于0.5s。采用增量算法实现该PID控制器。
具体要求:
1.采用Matlab完成控制系统的建立、分析和模拟仿真,给出仿真结果。
2.设计报告内容包含数字PID控制器的设计步骤、Matlab仿真的性能曲线、采样周期T的选择、数字控制器脉冲传递函数和差分方程形式。
3.设计工作小结和心得体会。
4.列出所查阅的参考资料。
数字PID控制器设计报告
一、设计目的
1 了解数字PID控制算法的实现;
2 掌握PID控制器参数对控制系统性能的影响;
3 能够运用MATLAB/Simulink 软件对控制系统进行正确建模并对模块进行正确的参数设置;
4 加深对理论知识的理解和掌握;
5 掌握计算机控制系统分析与设计方法。
二、设计要求
1采用增量算法实现该PID控制器。
2熟练掌握PID设计方法及MATLAB设计仿真。
三、设计任务
设单位反馈系统的开环传递函数为:
设计数字PID控制器,使系统的稳态误差不大于0.1,超调量不大于20%,调节时间不大于0.5s。采用增量算法实现该PID控制器。
四、设计原理
1.数字PID原理结构框图
2. 增量式PID 控制算法
()()()()()01P I D i u k K e k K e i K e k e k ∞
==++--????∑
=u(k-1)+Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)] =u(k-1)+(Kp+Ki+Kd)e(k)-(Kp+2Kd)e(k-1)+Kde(k-2) 所以Δu(k)=u(k)-u(k-1)
=Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)] =(Kp+Ki+Kd)e(k)-(Kp+2Kd)e(k-1)+Kde(k-2) 整理:
Δu(k)= Ae(k)-Be(k-1)+Ce(k-2)
A= Kp+Ki+Kd B=-(Kp+2Kd ) C=Kd
五、Matlab 仿真选择数字PID 参数
(扩充临界比例度法/扩充响应曲线法 具体整定步骤)
利用扩充临界比例带法选择数字PID 参数,扩充临界比例带法是
以模拟PID 调节器中使用的临界比例带法为基础的一种数字
PID 参数的整定方法。其整定步骤如下:;
1)选择合适的采样周期T;
2)在纯比例的作用下,给定输入阶跃变化时,逐渐加大比例作用
Kp(即减小比例带δ),直至系统出现等幅震荡,记录比例增益Kc,及振荡周期Tc 。Kc成为临界振荡比例增益(对应的临界比例带δ),Tc成为临界振荡周期。
=1/150S^3+6/25S^2+37/30S+1
在MATLAB下输入如下程序:
num=[1];
den=[1/150,6/25,37/30,1];
sys=tf(num,den);
p=[20:2:45];
for i=1:length(p)
Gc=feedback(p(i)*sys,1);
step(Gc)
hold on
end;
grid
title('Kp变化时系统的阶跃响应曲线')
axis([0,3,0,2.3])
仿真阶跃响应如下图:
调整参数:p=[35:2:45]
程序如下:
num=[1];
den=[1/150,6/25,37/30,1]; sys=tf(num,den);
p=[35:2:45];
for i=1:length(p)
Gc=feedback(p(i)*sys,1); step(Gc)
hold on
end;
grid
title('Kp变化时系统的阶跃响应曲线')
axis([0,3,0,2.3])
仿真阶跃响应如下图:
由图像可知:当Kp在40~45之间时,系统会出现等幅振荡。为进一步得到准确的Kp,调整程序参数p=[40:1:45],程序如下:
num=[1];
den=[1/150,6/25,37/30,1];
sys=tf(num,den);
p=[40:1:45];
for i=1:length(p)
Gc=feedback(p(i)*sys,1);
step(Gc)
hold on
end;
grid
title('Kp变化时系统的阶跃响应曲线')
axis([0,3,0,2.3])
仿真阶跃响应如下图:
由图像进一步精确得Kc约为43时,系统出现等幅震荡,震荡周期Tc 约为0.5s。
扩充临界比例带法选择数字PID参数的计算公式如下表所示:3)选择控制度。控制度的定义为数字调节器和模拟调节所对应
的过度过程的误差平方积分之比,即控制度=
2
2
D
e dt
e dt
∞
∞
?
?
式中,
D
e为
数字调节器的控制误差;e为模拟调节器的控制误差.当控制度为
1.05时
,数字调节器鱼模拟调节器的控制效果相当;当控制度为2时,数字调节器比模拟调节器的控制效果差一倍;在此选控制度为1.05。按选择的控制度指标及Tc,Kc 实验测得值,由查表选择相应的计算公式计算采样周期:T=0.007,Kp=27,Ti=0.245,Td=0.07; P I i I
K T K K T T ===0.77,d P D D K K T K T T
===270, Ki=0.23
Tc=0.5
则T=Tc*0.014=0.5*0.014=0.007; Kp=Kc*0.63=43*0.63=27.09; Ti=Tc*0.49=0.5*0.49=0.245; Td=Tc*0.14=0.5*0.14=0.07;
Kp=27.09;
Ki=Kp*T/Ti=27.09*0.007/0.245=0.774; Kd=Kp*Td/T=27.09*0.07/0.007=270.09;
六、Matlab/Simulink 控制系统建模 1.控制器
ΔU(Z)=(Kp+Ki+Kd)E(Z)-(Kp+2Kd)/Z*E(Z)+Kd/Z^2*E(Z) 则D(Z)=ΔU(Z)/E(Z)=(Kp+Ki+Kd)-(Kp+2Kd)/Z+Kd/Z^2 =[(Kp+Ki+Kd)Z^2-(Kp+2Kd)Z+Kd]/Z^2
2.仿真模型图
将Kp=27.09;
Ki=Kp*T/Ti=27.09*0.007/0.245=0.774;
Kd=Kp*Td/T=27.09*0.07/0.007=270.09带入,得:Kp+Ki+Kd=27.09+0.774+270.09=297.95
Kp+2Kd=27.09+2*270.09=567.27
Kd=270.09
即D(Z)=[297.95*Z^2-567.27*Z+270.09]/Z^2
G0(S)=43/[0.00667S^3+0.24S^2+1.2333S+1]
3.输出阶跃响应曲线
Scope中得到阶跃响应曲线如下所示:
4、试凑法微调参数
由阶跃响应图像可得:
Y(∞)=0.96,则稳态误差Ess=1-0.96=0.04
超调量
=(1.1-0.96)/0.96*100%=14.6%
调整时间Ts=0.27s
系统有少量的稳态误差,则适当增大KI参数,使得KI参数由0.774变为1.774;
Scope中得到阶跃响应曲线如下所示:
由图像可知:此时稳态误差Ess减为1-0.98=0.02,超调量=(1.1-1)/1*100%=10%,调整时间减少为Ts=0.15s,但该曲线不够平滑,调整:Kp=36.08,Ki=2.770,Kd=270.08,降低传递函数的K值为36
Scope中得到阶跃响应曲线如下所示:
此时稳态误差几乎为0,调整时间Ts为0.3s,超调量为(1.05-1)/1*100%=5%,基本符合要求
5.最终PID参数及输出响应曲线
当Kp=36.08
Ki=2.770
Kd=270.08时
最终输出阶跃响应曲线为:
七、设计心得体会
通过这次设计,重新认识了计算机控制系统的数字PID控制,基本掌握了数字PID控制的基本规律,也认识到计算机控制系统的复杂性,检验了我所学的知识,体会了控制系统三大指标“稳,准,快”的意义.加深了我对自动控制系统的了解,同时也对比例、积分、微分控制有了更进一步的认识。
比例系数的加大,将使系统的响应速度加快,在系统稳定的前提下,加大比例系数可以减少稳态误差。但不能消除稳态误差。积分控制通常影
响系统的稳定性,有助于消除稳态误差,提高系统的控制精度。而微分作
用的增加则可以改善系统的动态特性,但也可能降低系统的抗干扰能力。
比例+积分控制器可以使系统进入稳态后无稳态误差。而比例+微分控制器
能改善系统在调节过程中的动态特性。
这次设计过程让我们把理论知识付诸于实践,这对以后的学习带来了
更大的帮助!
八、参考文献
1.陈怀琛.MATLAB及在电子信息课程中的应用.北京:电子工业出版社,2009 2.赵广元.MATLAB与控制系统仿真实践.北京:北京航空航天大学出版社,2009