PID控制的基本原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S
lim e (t ) = 1 +RK
t →∞
PID 控制的基本原理
1.PID 控制概述
当今的自动控制技术绝大部分是基于反馈概念的。反馈理论包括三个基本要素:测量、比较和执行。测量关 心的是变量,并与期望值相比较,以此误差来纠正和控制系统的响应。反馈理论及其在自动控制中应用的关键是: 做出正确测量与比较后,如何用于系统的纠正与调节。
在过去的几十年里,PID 控制,也就是比例积分微分控制在工业控制中得到了广泛应用。在控制理论和技术 飞速发展的今天,在工业过程控制中 95%以上的控制回路都具有 PID 结构,而且许多高级控制都是以 PID 控制为 基础的。
PID 控制器由比例单元(P )、积分单元(I )和微分单元(D )组成,它的基本原理比较简单,基本的 PID 控 制规律可描述为:
G (S ) = K P + K 1 + K D S
(1-1)
PID 控制用途广泛,使用灵活,已有系列化控制器产品,使用中只需设定三个参数(
K
P
,
K I 和 K D
)
即可。在很多情况下,并不一定需要三个单元,可以取其中的一到两个单元,不过比例控制单元是必不可少的。
PID 控制具有以下优点:
(1)
原理简单,使用方便,PID 参数
K P
、K I
和 K
D
可以根据过程动态特性变化,PID 参数就可以重
新进行调整与设定。
(2)
适应性强,按 PID 控制规律进行工作的控制器早已商品化,即使目前最新式的过程控制计算机,其
基本控制功能也仍然是 PID 控制。PID 应用范围广,虽然很多工业过程是非线性或时变的,但通过适当简化,也 可以将其变成基本线性和动态特性不随时间变化的系统,就可以进行 PID 控制了。
(3)
鲁棒性强,即其控制品质对被控对象特性的变化不太敏感。
但不可否
认 PID 也有其固有的缺点。PID 在控制非线性、时变、偶合及参数和结构不缺点的复杂过程时,效果不是太好; 最主要的是:如果 PID 控制器不能控制复杂过程,无论怎么调参数作用都不大。
在科学技术尤其是计算机技术迅速发展的今天,虽然涌现出了许多新的控制方法,但 PID 仍因其自身的优 点而得到了最广泛的应用,PID 控制规律仍是最普遍的控制规律。PID 控制器是最简单且许多时候最好的控制器。
在过程控制中,PID 控制也是应用最广泛的,一个大型现代化控制系统的控制回路可能达二三百个甚至更多, 其中绝大部分都采用 PID 控制。由此可见,在过程控制中,PID 控制的重要性是显然的,下面将结合实例讲述 PID 控制。
1.1.1 比例(P )控制
比例控制是一种最简单的控制方式,其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输 出存在稳定误差。比例控制器的传递函数为:
G C
(S ) = K
P
(1- 2)
式中,
K
P
称为比例系数或增益(视情况可设置为正或负),一些传统的控制器又常用比例带(Proportional
Band , PB ),来取代比例系数
K
P
,比例带是比例系数的倒数,比例带也称为比例度。
对于单位反馈系统,0 型系统响应实际阶跃信号
R 0
1(t)的稳态误差与其开环增益
K 近视成反比,即:
t →∞
对于单位反馈系统,I 型系统响应匀速信号
(1- 3)
R 1
(t)的稳态误差与其开环增益 K v
近视成反比, 即:
lim e (t ) = R 1
K V
(1- 4)
G (s )= (s +1)(2s +1)(5s +1)
P 控制只改变系统的增益而不影响相位,它对系统的影响主要反映在系统的稳态误差和稳定性上,增大比例 系数可提高系统的开环增益,减小系统的稳态误差,从而提高系统的控制精度,但这会降低系统的相对稳定性,甚 至可能造成闭环系统的不稳定,因此,在系统校正和设计中 P 控制一般不单独使用.
具有比例控制器的系统结构如图 1.1 所示.
K P H(S)
图 1.1 具有比例控制器的系统结构图
系统的特征方程式为:
G 0(S )
D(s)=1+
K p
G 0
H(s)=0
(1- 5)
下面的例子用以说明纯比例控制的作用或比例调节对系统性能的影响.
[例1-1]
控制系统如图 1.1 所示,其中
G 0
(s )为三阶对象模型:
1
H (s )为单位反馈,对系统单采用比例控制,比例系数分别为
K p
=0.1,2.0,2.4,3.0,3.5,试求各比例系数
下系统的单位阶跃响应,并绘制响应曲线.
解:
程序代码如下: G=tf(1, conv(conv( [1,1],[2,1]), [5,1]));
Kp=
[0.1,2.0,2.4,3.0,3.5]
for i=1:5
G=feedback(kp(i)*G,1); step(G) hold on end
gtext ('kp=0.1') gtext ('kp=2.0') gtext ('kp=2.4') gtext ('kp=3.0') gtext ('kp=3.5')
响应曲线如图 1.2 所示.