5.位置式PID的参数整定分析和实验研究
在前述介绍中,我们的控制是围绕Ek来控制,Ek等于目标值-实际值,它描述的是一种系统的位置变化,所以前述的算法我们称之为位置式PID。
位置式PID的输出公式为:
u(t) = Kp[e(t) +1/Ti ∫_0^t▒〖e(t)dt + Td (de(t))/dt〗 (1)
式(1)中,u(t)为输出,也就是前面我们介绍的有效加热时间, Kp为比例项,Ti为积分时间系数,Td为微分时间系数,e(t) = 目标值 - 测量值,也就是前面介绍的Ek。
将PID公式离散化,得
u(t) = Kp[e(t) +dt/Ti ∑_(j = 0)^k▒e_j + Td (e(k) - e(k-1))/dt ] (2)
结合前面的分析,可以看到
Ki = Kp * dt/Ti
Kd = Kp * Td/dt
离散后dt为前后两次温度采样时间间隔(也是PID计算执行的间隔),实际上就是采样周期(对于前面的讨论,就是500ms),用T来表示,所以又有:
Ki = Kp * T/Ti (3)
Kd = kp * Td/T (4)
由于T是设定好的,所以对于位置式PID,最重要的是确定好Kp,Ti和Td。
我们在用Z-N整定法来整定。采用Z-N整定法来整定时要先将系统起振,然后通过振荡信号来确定临界周期Tc,然后再根据临界周期计算Ti和Td,它们的关系为:
Ti = 0.5 * Tc (5)
Td = 0.12 * Tc (6)
要想让系统起振,往往需要比较大的Kp,通常在温度较低时,将临界点设置为目标温度的80%即可让系统起振,在温度较高时则需要将临界点设置为目标温度的90%以上系统才能起振。
Kp设置较大会引起非常严重的超调,所以可以在温升的时候使用微分项进行抑制,到系统达到目标温度附近后将微分项去掉,让Kp单独作用,使得系统振荡,然后记录振荡的周期作为临界周期Tc,然后利用式(5)和式(6)来计算Ti和Td。然后将Kp降为原来的60%,即可得到位置式PID的三个参数。
参数整定实验
下面我们在上节课的微分实验的基础上来做参数整定实验。实验的相关点如下:
1.目标温度设置为60°。
2.Kp的取值。在距离目标值的80%时的值设为临界值,由此计算出Kp,如下:
1000 = Kp * ( 600 - 600*80%)
得Kp = 8.33。
3.在加热过程中使能微分项,去掉积分项。微分项中的Kd 设置为3000。当距离目标温度小于1°时去掉微分项,只保留Kp的作用。
实验的结果如下:

整定结果为 Kp = 8.33*0.6 = 5; Ti = 0.5* Tc = 118.75s, Td = 0.12 *Tc = 28.5s
下面我们将Kp = 8.33*0.6 = 5; Ti = 0.5* Tc = 118.75s, Td = 0.12 *Tc = 28.5s应用于位置式PID算法。应用中注意如下事项:
1.在Ek ≤±5°时才使用积分。
2.在升温的过程中加大Td,将Td加大10倍,在第一次到达55°C后,将Td恢复为28.5S。
实验结果如图2所示。

此时仍然有约4.3°的超调,但可以继续加大启动时的微分效果,或者针对Ek,分段使用不同的微分时间系数来抑制。由图2可以看到,整定后的结果非常理想,稳定后温度的精度可达±0.5°。
关于PID介绍的更多内容,我们将在近期正点原子平台的第三期教学给大家分享。在这一期的教学中,我们将推出自整定方法和PID模糊控制,关于PID的模糊控制,应该是全网第一个实战的项目,结果也不错。至此,关于PID的相关介绍我们就结束了,如果需要源码等资料,请跟作者联系。
如果大家有兴趣,可以关注公众号: O老师讲32
或者直接扫码添加
