标题: 关于PID算法疑惑
m_890
中级工程师
Rank: 3Rank: 3



UID 30
精华 0
积分 1635
帖子 1635
威望 0
金钱 0
阅读权限 30
注册 2007-7-29
状态 离线
发表于 2007-7-29 11:16  资料  短消息  加为好友 

关于PID算法疑惑

众所周知,离散PID控制算法分为: 位置式:u(n)=Kc*e(n) Ki∑e(i) Kd[e(n)-e(n-1)] i=0Ki=Kc*Ts/Td 称为积分系数Kd=Kc*Td/T 称为微分系数e(n)= -PV 称为偏差 ,PV为百分比现在假设控制器输入是0"200摄氏度,输出是0"10V电压来控制一个加热器,给一个水杯加热于是e(n)的取值范围是:0"100%(对应0"200度),输出的变化范围也是:0"100%(对应0"10V)我的问题是:1. 当 小于PV(测量值)时,e(n)为负值;那么当Kc为正,Ki为正,Kd为0的时候,u(n)也是负值。在PID实际运用过程中,输出为负值表示什么实际意义?或者换句话说,当 lt V时,是不是输出u(n)就设置为0?一般的自控教材上都只讨论了 〉PV时的情况。在上例实际运用中,我的设定值 为60度,结果PV值为70度了,这个时候输出为负值是什么意思?难道是把输出为负值当成输出电压为0(即不再加热)看待?2. Kc设置为负值是什么意思?我见过实际运用中有设置为负值的情况。3. 因为存在积分作用,或者因为Kc设置的非常大,可能造成这样的情况:e(n)的变化范围在0"100%时,u(n)的变化范围远远超过了100%。这个时候如何处理,是不是在程序中设置为if u(n)>100% the u(n)=100%4. 当偏差越来越小时,u(n)的输出越来越小;当偏差=0的时候,u(n)经过上面的运算是不是也等于0?那么当偏差等于0时,输出如果也为0的话,那么PV又会马上下跌,这样不是控制不稳了吗?如果这样输出不保持的话,那还叫位式PID吗?是不是有些类似于增量算法。5. 由于积分作用,out(n)会很快会到达100%,当PV值大于 时,偏差为负,是不是这个时候才能让积分累计下降?

顶部
[广告]
 


Google

当前时区 GMT+8, 现在时间是 2009-1-9 11:23
粤ICP备07500170号

By Discuz! 5.5.0 © 2007-2008
Processed in 0.048955 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - Autooo! Inc. - Archiver - 繁体中文