本帖最后由 wnagchaobq 于 2010-9-14 00:11 编辑
大学时专业自动化,其实关于PID的算法在《自动控制原理》上介绍的比较少,只是简单说明加入PID之后如何改变系统的极点,从而改变系统的稳定性。
早期的PID主要用于化工自动化的控制,在石化等控制系统上应用比较多,好多同学对比例,积分,微分的参数如何整定不理解,这里推荐一本书《过程控制系统及工程》,翁维勤,化学工业出版社。主要看31-35页,看上十几遍或许会有点感悟。我看了很多遍现在还是不是很明白,哎,太笨了……
在这里提一下,学习自动化的朋友或许知道以前网上流传一篇科普**《自动化的故事》,作者一定是个高人,对控制系统的理解太深厚了,里边有关于PID的白话描述,很是容易理解,如果找不到的话,我可以发给大家……
不废话了,结合自己毕业设计时候的图片,从控制系统角度给大家分享一下,还有好多不明白的地方,希望能跟打击一起讨论。
这里用一个工业中最简单常用的单回路控制系统来说明:如下图
本控制系统选用上水箱液位作为被控量,电动调节阀作为操纵变量,LC为液位变送器,测得的液位与设定的液位值相比较,然后经过PID算法控制电动调节阀的开度,从而控制水箱的液位。
下图为单回路控制系统的方块图:
这样看着就比较直观了。
先不着急分析,先给大家上另外一幅图:
在单位阶跃作用下,P、PI、PID调节系统的阶跃响应分别如图中的曲线①、②、③所示。
对照图再来给分析:
1.图中ess表示最终的偏差值
2.曲线1: 系统只加入P时的阶跃响应,最后稳定时,有一定的余差存在。
3.曲线2: 系统加入PI时的阶跃响应,与曲线1对比,系统在经过一段振荡之后逐渐衰减,最后趋于设定值。(自控原理所有的系统不管经过如何的根轨迹,频域,状态空间分析,最终目的都是希望系统是衰减的,而且是趋于设定值的)这里如果I值加的过大,图中振荡的尖峰值就会过大,这就是所谓的超调,再与P一起作用就会引起振荡(这种情况可能大家就比较熟悉了)。
4.曲线3: 系统加入PID后的阶跃响应,我们这里与曲线2进行对比:会发现a: 系统的上升时间变快了 b: 振荡的尖峰值变小了。 这就是微分的作用,它可以加快系统的响应时间,所以在控制对象为温度这种滞后量比较大的对象时,加入D可以加快系统响应速度。另一个作用:微分可以减少系统的超调量, 但是,并不是所有单回路控制系统在加入微分作用后都能改善系统品质,对于容量滞后不大,微分作用的效果并不明显,而对噪声敏感的流量系统,加入微分作用后,反而使流量品质变坏。
1. 当调节器中只有P=36%,I=0,D= 0时 水箱液位的阶跃响应如下图所示
(其中1、2、3号曲线分别表示调节器输出曲线、设定值曲线和系统响应曲线)。
2.当调节器中有PI(P=30%、TI=0.2ms, D=0 )时,上水箱液位的阶跃响应如下图所示(其中1、2、3号曲线分别表示调节器输出曲线、设定值曲线和系统响应曲线)。
3.当调节器中有PID(P=36%、TI=1m、TD=10s)时,上水箱液位的阶跃响应如下图所示(其中1、2、3号曲线分别表示调节器输出曲线、设定值曲线和系统响应曲线)。
结论:
当P加的过大时,会使系统系统发生振荡,从而影响系统的动态性能;
I的加入使系统的余差明显减小;
D的加入使系统的超调减小,但响应时间变化不大,所以实际阶跃响应图与理论上还是存在一定差别。
最后说明一点:
1.附图是我以前做毕业设计时在浙大中控DCS的组态软件上的曲线图,如果看不清楚的话,我可以上完整图。
2.一般在PLC或DCS上的PID的参数(P=?% I= ??分 D= ??秒)设定都是括号里所示,但是一般我们在用C编程的时候这个参数值怎么对应,单位如何转化,一直是我郁闷的问题,那个高手知道指点一下……
以上只是我的一点见解,如果有错误的地方请大家指正,PS:俺也是菜鸟……
|