P:比例
很好理解,根据误差调整输出的快慢—学名叫做加快系统响应。
如果P设置不当会引起什么问题
比如温度从10->20度,p设置为40,要输出400
19->20度,P=40,输出40
影响就是温度变化非常剧烈,不是平稳的输出
如何控制温度的变化程度呢?
微分就是来做这个的
D:微分
当温度从10->11, 11->12,温度的变化相同,D项不起作用
当温度从12->15, 前后差距就明显了。
SUM = P * (20-15) + ((20-15) -(20-12))*D
微分项为负值,起到阻碍作用,阻止剧烈变化
综上:两次变化的值差为0,D不起作用,这样即保证了速度,也不会引起剧变
但是只使用PD调节有个问题,当温度到达19.9时
sum = P*(20-19.9) + X*D
作用微乎其微,如果这个微乎其微的变化等于房间的自然降温,温度会稳定在一个值,比如19.9。这个叫稳态误差,也叫静差。
平时说的增大P可以减小稳态误差,但是不能消除就是这个意思。
因为P是个有限值,但是前后温度可以接近无穷小。比例部分的效果近乎0,永远无法消除
所以我们对误差进行积分,误差一直存在,对误差求积分,随着时间推移会得到一个比较大的值,也就是PID控制的I,即积分部分
注意:前期误差较大,如果I很大,对输出影响较大,后期误差存在,I的影响也不能忽视,如此可能会造成超调现象
超调更形象的说,为了弥补静差,积分环节比重开的较大,但是正好等于设定值的时刻积分作用也没有停止。
积分是个累积的过程,等于设定值只是当前时刻作用为0,但累积不是0,。所以积分还是生效。只有当下一刻温度已经超过20度了,积分反应过来,调过了(这就是超调),开始起阻碍作用,慢慢减小(但是减小到设定值时,积分作用被削弱,但可能还不是0),依次往复,就会出现震荡衰减的现象
所以实际应用中,一般在误差缩小到一定范围时再开启积分作用,并且当调整值低于极小一个误差时清空积分值,这样各部分输出都在0值附近
这就是个基本的PID控制器了