基于SIMULINK的PID控制器设计与仿真
1.引言
MATLAB是一个适用于科学计算和工程用的数学软件系统,历经多年的发展,已是科学与工程领域应用最广的软件工具。
该软件具有以下特点:数值计算功能强大;编程环简单;数据可视化功能强;丰富的程序工具箱;可扩展性能强等。
Simulink是MATLAB下用于建立系统框图和仿真的环境。
Simulink环境仿真的优点是:框图搭建方便、仿真参数可以随时修改、可实现完全可视化编程。
比例-积分-微分(Proporitional-Integral-Derivative,PID)是在工业过程控制中最常见、应用最广泛的一种控制策略。
PID控制是目前工程上应用最广的一种控制方法,其结构简单,且不依赖被控对象模型,控制所需的信息量也很少,因而易于工程实现,同时也可获得较好的控制效果。
2.PID控制原理
当我们不能将被控对象的结构和参数完全地掌握,或者是不能得到精确的数学模型时,在这种情况下最便捷的方法便是采用PID 控制技术。
为了使控制系统满足性能指标要求,PID 控制器一般地是依据设定值与实际值的误差,利用比例(P)、积分(I)、微分(D)等基本控制规律,或者是三者进行适当地配合形成相关的复合控制规律,例如,PD、PI、PID 等。
图2-1 是典型PID 控制系统结构图。
在PID 调节器作用下,对误差信号
分别进行比例、积分、微分组合控制。
调节器的输出量作为被控对象的输入控制量。
图2-1典型PID 控制系统结构图
PID 控制器主要是依据给定值r (t )与实际输出值y (t )构成控制偏差,用公式表示即e (t )=r (t )-y (t ),它本身属于一种线性控制器。
通过线性组合偏差的比例(P )、积分(I )、微分(D ),将三者构成控制量,进而控制受控对象。
控制规律如下:
1
01()
()[()()]p d i de t u t K e t e t dt T T dt
=++⎰
其传递函数为:
()1()(1)()p d i U s G s K T S E s T s
=
=++ 式中:Kp--比例系数; Ti--积分时间常数; Td--微分时间常数。
3.Simulink 仿真 3.1 建立数学建模
3.2 仿真实验
在传统的PID 调节器中,参数的整定问题是控制面临的最主要的问题,控制系统的关键之处便是将Kp
、Ti 、Td 三个参数的值最终确定下来。
而在工业
过程控制中首先需要对PID 控制中三参量对系统动态性的影响进行实际深入地了解,才能确定怎样将三参数调节到最佳状态。
在本实验中,对各参量单独变化对系统控制作用的影响进行讨论,其中在对一个参量变化引发的影响进行讨论时,需要将其余两个参数设定为常数。
3.2.1 P 控制作用分析
先分析比例控制作用。
设Td= 0、Ti=∞、Kp= 3 、6和9。
输入信号阶跃函数,分别进行仿真,在simulink 中建立的仿真模型如图3-1所示,系统的阶跃响应如图3-2所示。
3-1 P 控制仿真模型
3-2P 控制阶跃响应曲线
图3-2显示的仿真结果表明:系统的超调量会随着Kp 值的增大而加大,系
Time(sec)
A m p l i t u d e
统响应速度也会会随Kp值的增大而加快。
但是系统的稳定性能会随着Kp的增大而变差。
3.2.2 比例积分控制作用的分析
设比例积分调节器中Kp= 3,讨论Ti= 3、2和1时。
输人信号阶跃函数,分别进行仿真,在simulink中建立的仿真模型如图3-3所示,系统的阶跃响应如图3-4所示。
3-3 PI控制仿真模型
3-4 PI 控制阶跃响应曲线
图3-4显示的仿真结果表明:系统的超调量会随着Ti 值的加大而减小,系统响应速度随着Ti 值的加大会略微变慢。
3.2.3 比例积分微分控制作用的分析
设Kp= 3、Ti= 3,讨论Td= 0.1、0.2和0.3时对系统阶跃响应曲线的影响。
输人信号阶跃函数,分别进行仿真,在simulink 中建立的仿真模型如图3-5所示,系统
的阶跃响应如图3-6所示。
Time(sec)
A m p l i t u d e
3-5 PId 控制仿真模型
3-6 PID 控制阶跃响应曲线
图3-6显示的仿真结果表明:Kp= 3、Ti= 3不变时,随着Td 值的加大,闭环系统的超调量增减小,响应速度变慢。
3.2.4 使用编程方法仿真
程序分别如下述程序所示,结果与上述类似,不再附图。
P 控制程序:
Go = tf(2,conv([2,1],[0.5,1])); Kp = [3,6,9]; for m = 1:3
sys = feedback(Kp(m)*Go,1); step(sys); hold on; end
PI 控制程序:
Go = tf(2,conv([2,1],[0.5,1])); Kp =3; Td = [1,2,3]; for m = 1:
Time(sec)
A m p l i t u d e
G1 = tf([Kp*Td(m),Kp],[0,1]);
sys = feedback(G1*Go,1);
step(sys); hold on;
end
PID控制程序:
Go = tf(2,conv([2,1],[0.5,1]));
Kp = 3;
Ti = 3;
Td = [0.1,0.2,0.3];
for m = 1:3
G1 = tf([Kp*Td(m),Kp,Kp/Ti],[1,0]);
sys = feedback(G1*Go,1);
step(sys);
hold on;
end
4.结论
(1)对于PID 参数采用MATLAB 进行仿真,使用起来不仅快捷、方便,而且更为直观,同时也避免了传统方法反复修改参数调试。
(2)系统的响应速度会随Kp值的增大而加快,同时也有助于静差的减小,而Kp值过大则会使系统有较大超调,稳定性变坏;此外,系统的动作会因为过小的Kp值减慢。
(3)超调的减小、振荡变小以及系统稳定性的增加都取决于积分时间Ti的增大,但是系统静差消除时间会因为Ti的增大而变长。
(4)增大微分时间Td对于系统的稳定性和系统超调量的减小都会有所帮助。
但是如果Td过大,则会使得调节时间较长,超调量也会增大;如果Td过小,同样地也会发生以上状况。
(5)总之PID 参数的整定必须考虑在不同时刻三个参数的作用以及彼此之
间的作用关系。
PID 控制应用领域极为广泛,可将其应用于电力、化工、轻工、冶金以及机械等工业过程控制中。
通常情况下,最适合采用PID 控制技术的条件是:当我们对目标系统或被控对象的内部特征不完全清楚时,或者是系统的全部参数不能经过有效的测量手段来获取,同时必须依赖于经验和现场调试来确定系统控制器的结构参数情况下采用该技术。
5.其他情况
5-1 P控制仿真模型
5-2 P 控制阶跃响应曲线
5-3 PI 控制仿真模型
Time(sec)
A m p l i t u d e
5-4 PI 控制阶跃响应曲线
5-5 PID 控制仿真模型
Time(sec)
A m p l i t u d e
5-6P 控制阶跃响应曲线
Time(sec)A m p l i t u d e。