??t?KTs(k?0,1,2,...) (3.1) ?tkk?e(t)dt?Ts?e(jTs)?Ts?e(j)??j?1j?10??de(t)e(kTs)?e(k?1)Tse(k)?e(k?1)??dt?TsTs?可得位置式PID表达式:
Tu(k)?Kp[e(k)?sTi?e(j)?j?0kTd(e(k)?e(k?1))]Ts (3.2) ke(k)?e(k?1)?Kpe(k)?Ki?e(j)Ts?KdTs j?0KpKi?,Kd?KpTd, 其中, TiTs为采用周期,
K为采样序号,k=1,2,…
e(k?1)和e(k)分别为第(k-1)和第k时刻所得的偏差信号。
在式(3.2)所表示的算式中,输出值u(k)对应于执行机构达到的位置,它对控制变量与设定值的偏差进行运算,基本控制形式与常规调节器相类似,因此,通常称为位置式PID控制算式。
位置式PID控制系统如图3.2所示。
图3.2 位置式PID控制系统
根据位置式PID控制算法得到其程序框图如图3.3所示。
开 始 12 参数初始化 R + - B E PID 位置算法 U 执行机构 被控对象 Y
图3.3 位置式PID控制算法程序框图
3.2.2 增量式PID控制算法
在位置式PID控制算法中,每次的输出都与控制偏差e(t)过去的整个变化过程相关,这样由于偏差的累加作用很容易产生较大的累积偏差,使控制系统出现不良的超调现象。所以,在数字控制系统中并不常用位置式PID控制算式,而是只输出增量,也就是采用增量式PID算法。
增量式PID算法就是让计算机或单片机输出相邻两次调节结果的增量。下面来研究增量式PID的控制算法。
根据递推原理可得:
k ? 1 ) ? ? 2 )) (3.3) u(k?1)?Kp(e(k?1)?Ki?e(j)?Kd ( e(e (kj?0k?1增量式PID控制算法:
?u(k)?u(k)?u (k?1) ?u(k)?Kp(e(k)?e(k?1))?Kie(k)?Kd(e(k)?2e(k?1)?e(k?2)) (3.4)
13
增量式PID控制系统如图3.4所示。 R E - B
+ PID 增量算法 ?U 执行机构 被控对象 Y 图3.4 增量式PID控制系统
由于控制算法中不需要累加,控制增量?u(k)仅与最近k次的采样有关,所以误动作时影响小,而且较容易通过加权处理获得比较好的控制效果.
在计算机控制系统中,PID控制是通过计算机程序实现的,因此它的灵活性很大。一些原来在模拟PID控制器中无法实现的问题,在引入了计算机之后,就可以得到解决,于是产生了一系列的改进算法,形成非标准的控制算法,以改善系统品质,满足不同控制系统的需求。 3.2.3 位置算式与增量算式的比较
位置式和增量式是数字PID控制算法的两种基本算法,均实现了对闭环数字控制系统的控制算法,就其控制功能而言二者基本上是一致的。
在控制系统中,如执行机构采用调节阀,则控制量对应阀门的开度,表征了执行机构的位置,此时控制器应采用数字PID位置式控制算法,如图3.2所示。如执行机构采用步进电机,每个采样周期,控制器输出的控制量,是相对于上次控制量的增加,此时控制器应采用数字PID增量控制算法,如图3.4所示。
但是,就两种算法而言,增量式算法比位置式加方便,其具有以下优点:
(1)增量型算法不需要做累加,控制量的增量仅与最近三次误差采样值有关,计算误差或计算精度的问题,对控制量的计算影响较小。而位置型算法要用到过去的误差累加值,容易产生大的累加误差。另外,用位数相同的计算机或单片机,因为?u(k)比u(k)小的多,增量式算法可以有更高的精度。
14
(2)增量型算法得出的是控制量的增量,例如阀门控制中,只输出阀门开度的变化部分,误动作影响小,必要时通过逻辑判断限制或禁止本次输出,不会严重影响系统的工作。而位置型算法的输出时控制量的全量输出,误动作影响大。因而增量式算法比位置式算法更可靠。
(3)采用增量型算法,易于实现从手动切换到自动或反过来从自动切换到手动,对系统冲击小,即可做到无扰切换。
(4)增量式算法中,比例项kp(e(k)?e(k?1))与积分项Kie(k) 的符号有如下关系: 当B
因此,可以得出结论:当过程变量B继续向偏离设定值R的方向变化时,积分项与比例项同符号;反之,当过程变量向设定值方向变化时,积分项和比例项的符号相反。由于增量式PID控制具有这种性质,当B接近R变化时,反号的比例作用阻碍了积分作用,因而可避免积分饱和和随之带来的振荡。
(5)由式(3.2)和式(3.4)可以看出,增量式算法简单,便于编程的实现。 综上所述,由于增量式算法有以上优点,所以在工业生产过程中增量式算法 比位置式算法应用得更加广泛。
第4章 数字PID的改进算法
15
在生产过程控制中,常规PID控制算法在应用中存在着问题。如,控制参数不合适导致PID控制器的输出产生大幅度的振荡,从而极大的降低了被控对象的精度、速度。特别是应用在高精度、高速度的直线电机等领域的影响是相当巨大的。同时,控制参数不合适导致PID控制器不能实现很好的跟随。这样都会影响整个系统的总体速度。
针对以上提到的问题主要有以下原因造成的: (1)参数选择不合适。
(2)在控制中引入积分环节是为了消除静态误差,提高系统精度。但在启动、结束或大幅度增减设定时,短时间内系统输出有很大的误差,会造成PID运算的积累。
(3)在控制中引入微分环节是为了改善系统的动态性能,但也易引进高频干扰,在误差扰动突变是有其显示微分项的不足。
随着时代的发展,科技的进步,计算机在人们的日常生活中起着尤为重要的作用。同样的在工业过程生产中,计算机逐渐地代替了很多环节,使得工业生产过程逐渐的实现了自动化。在科技水平要求越来越高的今天,人们对数字PID控制器的算法要求也越来越高了。一些原来在模拟PID控制器中无法实现的问题,在引入了计算机之后,都得到了解决,于是一系列的改进算法也随之产生了,形成非标准的控制算法,从而大大改善了系统品质,满足了人们对不同控制系统的需求。
4.1 积分算法的改进
积分算法的改进是针对PID控制系统中的积分饱和现象,所谓积分饱和现象是指若系统存在一个方向的偏差,PID控制器的输出由于积分作用的不断累加而加大,从而导致执行机构达到极限位置Xmax(如阀门开度达到最大),如图4.1所示,若控制器输出u(k)继续增大,阀门开度不可能再增大,此时就称计算机输出控制量超出了正常运行范围而进入了饱和区。一旦系统出现反向偏差,u(k)逐渐从饱和区退出。进入饱和区越深则退出饱和区所需时间越长[8~9]。
16