在我们实际工作经常会用到PID控制系统,对这个PID到底是什么?该如何调节,我们相信大家都比较头痛。今天,我们就用大白话的方式给大家讲讲PID。
一、PID应用场景
其实不管是在自动化行业还是在生活中,我们都或多或少都会接触PID。比如空调系统、定速巡航系统、恒压供水系统(如图1)上都可以见到PID的影子。在这些系统中,Zui大的一个特点就是我们需要设定一个我们想要的数据,设备就根据我们的设定,自动进行调节。
比如:在恒压控制系统中,设定一个压力(10MPa),那么这个系统就需要稳定在我设定的压力值10MPa左右;在空调系统中,我们设定好了一个温度(26℃)之后,我们当然希望室内的温度就一直稳定在26℃左右嘛。在我们设定好了参数之后,设备如何自动调节呢?就是通过PID功能进行调节的!
图1:PID应用场景图
二、PID控制系统
在PID各参数的作用之前,我们先宏观来了解一下PID控制系统。如图2所示,一个完整的PID系统中主要由以下几部分组成:给定环节、控制器、执行机构、被控对象、反馈环节。
图2:PID控制系统图
我们逐个来说明每个环节的作用。为了说明这些环节的作用,我们举一个生活的例子:
现在我们接到一个任务,需要骑一辆自行车沿着直线走1000米。那么直线走1000米就是“给定环节”了,因为我预先就知道了需要走多少米距离并且走的是直线。骑车的是“人”,人由大脑控制,那么大脑就是“控制器”了,大脑不能直接控制车辆,大脑发命令的方式去控制我们的手和脚从而控制自行车,那么手和脚就是“执行机构了”,而Zui终我们控制的是自行车,那么自行车就是“被控对象”了。那么在骑车的过程中,可能会出现一阵风或者路上出现石头或者坑等,那么这些石头或者坑呢,就是“扰动”。我们在走直线的过程中,到底有没有沿着直线走呢?我们可以通过眼睛看,那么眼睛把自行车的信息收集起来(是否走歪了),这个过程就是“反馈环节”。仅仅知道是否走歪了还不行,需要及时调整,如何调整呢?就是通过预期设定(给定环节)与实际路线(反馈环节)相比较,得到的差值进行修正。
那么把生活中的这个例子应用到工业中来,其实是非常类似的。如图4所示是:恒液位控制系统。我们通过触摸屏设置水池里需要到达的液位高度,当PLC接到我们设置的命令之后,通过传感器反馈实际的液位高度与我们设定的液位高度相比较,得到差值。如果低于我们设定的液位值,则驱动变频器带动水泵往水池里加水,当高于我们设定的液位值,变频器则停止加水。
三、PID三个参数的作用
我们了解了PID控制系统是怎么回事之后,再来了解PID这三个参数的作用就会相对简单了。我们从全局的眼光来看这个公式,如图3所示:
①u(t) :输出曲线,pid输出值随时间的变化曲线。也就是Zui终输出信号的大小。
②Kp:比例系数。这个系数由人为给定,可以大也可以小,我们要调节PID参数的话,Kp这个系数尤为重要。
③e(t) :偏差,设定值与实际值的偏差。
④Ti:积分时间。
⑤Td:微分时间。
图3:PID公式图
在图3这个公式中,其中u(t)和e(t)是比较好理解的,剩下的就是Kp、Ti、Td参数,这三个参数正是我们需要人为调节的(当然,很多设备也有自动调节的功能,比如PLC就有自动整定这三个参数的功能)。在这个公式中,我们可以得到几个结论。
第一个就是:当e(t)为0则整个PID结果为0,也就是偏差为0时,PID没有输出,从而说明了PID输出一定是需要有偏差的;
第二:P+I+D的结果等于u(t)。
01
比例系数:Kp
比例调节就是根据当前的值与目标值的差值,乘以了一个Kp的系数,来得到一个输出值,这输出值直接影响了下次当前值的变化。公式为:U(t)=Kp*e(t)
举例:(1)如图4所示,有个水池,需要时刻保持1m的高度,目前水桶里有0.2m的水。
图4:水池示意图
那么采用P(比例)的方法加水:即每次测量与1m的误差,并加入与误差成比例的水量,比如设Kp=0.5:
第一次,误差是1-0.2=0.8m,那么加入水量是:Kp*0.8= 0.4mm,
第二次,误差是1-0.6 =0.4m那么加入水量是:Kp*0.4=0.2m。
按照此种方式,我们加若干次水,绘制成表格(如图5)及曲线图(如图6)。我们可以看到加到了第8次水之后,基本上就没有误差,基于误差的输出也只有0.00313。而从图6的曲线图也可以看到,从第6次开始,水位基本上就是趋于稳定的。那么,这不正是我们想看到的结果吗?预期是需要保持1m的高度,加了8次水刚好就到了1m左右。在实际的工程中,可能是一边放水,一边往水池里加水。如图4所示,如果说有人把水池的水龙头打开了一边加水一边放水,还是加8次水就刚好到了1m的位置吗?
图5