林夕22 发表于 2012-5-16 21:29
我也向谁给解释一下啊!
积分分离:
当|e(k)|>c(c为设定值) 采用PD控制
当|e(k)|<c(c为设定值) 采用PID控制
很多专门介绍PID的资料都有介绍,我用的是纸质的书,就不好发上来了
来源:http://wiki.cnki.com.cn/HotWord/2051978.htm 知网空间
四、数字PID控制算法的改进
字体 [大] [中] [小]
实际微分PID控制算法主要是改进了微分作用。由于数字计算机具有强大的处理能力,可以根据控制要求,实现各种更有效的控制算法,提高控制性能。本节讨论如何改进积分作用。
(一) 积分分离
在常规的PID控制中,当有较大的扰动或大幅度改变设定位时,由于有较大的偏差,以及系统固有的惯性和滞后,在积分项的作用下,往往会产生较大的超调和长时间的波动。特别对于温度、成分等变化缓慢的过程,这一现象更为严重。为此,可采用积分分离措施,当偏差e(n)较大时,取消积分作用;当偏差e(n)较小时,才使用积分作用。即
当|e(n)|>ε时,用PD或仅用P控制;
当|e(n)|<ε时,用PID控制。
积分分离值ε应根据具体对象及要求确定。为了实现积分分离,改造式(10.2-18),分为
ΔuPD(n)=ΔuP(n)+ΔuD(n)
(10.2-32)
(10.2-33) 得
u(n)=u(n-1)+Δu(n)+ΔuI(n), |e(n)|<ε
(10.2-34a)
u(n)=u(n-1)+Δu(n), |e(n)|>ε
(10.2-34b)
(二) 抗积分饱和
若长时间存在偏差或偏差较大,计算出的控制量u(n)有可能超出D/A变换器所能表示的数值范围。例如 12位D/A变换器的数值范围为000H~0FFFH(H表示十六进制),它对应执行机构的两个极限位置,设u(n)=0FFFH,为调节阀全开;u(n)=000H,调节阀为全关。当执行机构已到极限位置,仍然不能消除偏差时,由于积分作用,控制计算所得的结果仍会继续增大或减小,而此时执行机构已无相应的动作,这就称为积分饱和。当出现积分饱和时,超调量增加,控制品质变坏。防止积分饱和的办法是对计算出的控制量u(n)限幅,并当出现积分饱和时,把积分作用切除掉。仍以12位D/A为例,
当u(n)<0时,取u(n)=0;
当u(n)>0FFFH时,取u(n)=0FFFH。
(三) 消除积分不灵敏区
由于字长限制,数字运算总有误差存在,以式(10.2-33)表示的积分增量为例,当运算字长较短,控制周期T较短,而积分时间TI又较长时,ΔuI(n)容易出现比最小位代表的数更小的数,它将作为机器“0”而舍弃,此时也就没有积分作用,这样的区间称为积分不灵敏区。
例如,某温度控制系统,温度量程为0~1275℃,A/D变换器为8位,采用8位定点运算。设KP=1,TI=10s,T=1s,e(n)=50℃,代入式(10.2-33),有
如果偏差e(n)<50℃,则ΔuI(n)<1,计算机就作为“0”将此数丢掉,没有积分作用;只有当偏差e(n)>50℃时,才会有积分作用。控制系统存在残差。要消除积分不灵敏区,可采用的措施:
① 增加A/D变换器位数,这样可提高运算精度;
② 压缩量程,许多工业生产参数都有一定的允许范围,如上例,假定生产允许的工作温度范围为(800±10)℃。因此可将检测范围压缩到790~810℃。
③ 采用16位运算,或采用浮点运算。
④ 积分项ΔuI(n)<1时不是简单地舍弃,而是进行累计,当累计量大于1时作为积分量输出。
|