对生产中某些关键性参数进行自动控制,使它们在受到外界干扰(扰动)的影响而偏离正常状态时,能够被自动地调节而回到工艺所要求地数值范围内。
自动控制系统分为:开环、闭环。
闭环控制是负反馈控制。系统组成包括:传感器、控制装置、执行机构。
传感器检测被控对象的状态信息(输出量),并将其转变成电信号传给控制装置。
控制装置比较被控对象当前状态(输出量)和希望状态(给定量)的偏差,产生一个控制信号,通过执行机构驱动被控对象运行,使其运动状态接近希望状态。


开环控制不能检测误差,不能够校正误差,只能按照事先确定好的程序和产生信号的条件,依次去控制对象并且无抑制的干扰能力。


PID(Proportional比例、Integral积分、Differential微分)结合了比例、积分和微分,是闭环控制算法,是目前为止在连续控制系统中最为成熟的一种控制算法。
PID控制的实质是对目标值和实际值误差进行比例、积分、微分运算后的结果用来作用在输出上。

P、I、D是三种不同的调节作用,既可以单独使用(P、I、D),也可以两个两个用(PI、PD),也可以三个一起用(PID)。
PID最基本的三个参数:Kp、Ki、Kd。

PID控制是个对偏差的控制过程。
如果偏差为0,则比例环节不起作用,只有存在偏差时比例环节才起作用。
积分环节主要是用来消除系统稳定后输出值和设定值间的差值,积分环节实际上是偏差累计的过程,把累计的误差加到原有系统上以抵消系统造成的差值。
微分信号反应了偏差信号的变化规律(变化趋势),根据偏差信号的变化趋势来进行超前调节,从而增加了系统的预知性。

增量式算法不需要对积分项累加,控制量增量只与近几次的误差有关,计算误差对控制量计算的影响较小。而位置式算法要对近几次的偏差进行积分累加,容易产生较大的累加误差。
增量式算法控制输出的是控制量增量(例如在阀门控制中,只输出阀门开度的变化部分,误动作影响小,必要时还可通过逻辑判断限制或禁止本次输出,不会严重影响系统的工作)。而位置式算法的输出直接对应对象的输出,因此对系统影响较大。
增量式算法控制输出的是控制量增量,并无积分作用,因此适用于执行机构带积分部件的对象,如步进电机等。而位置式算法适用于执行机构不带积分部件的对象,如电液伺服阀。
在进行PID控制时,位置式PID需要有积分限幅和输出限幅。而增量式PID只需输出限幅。
优点:非递推式算法,可直接控制执行机构(如平衡小车),u(k)的值和执行机构的实际位置(如小车当前角度)是一一对应的,因此在执行机构不带积分部件的对象中可以很好的应用。
缺点:每次输出都和过去的状态有关,计算时要对e(k)进行累加,运算工作量大。
优点:
误动作时影响小,必要时可用逻辑判断的方法去除出错数据。
手动/自动切换时冲击小,便于实现无扰动切换。
算式中不需要累加。控制增量△u(k)的确定仅与最近3次的采样值有关。在速度闭环控制中有很好的实时性。
缺点:
积分截断效应大,有稳态误差。
溢出影响大。有的被控对象用增量式则不太好。
举例水箱注水,要维持水箱水位在1m的高度。
假设刚开始水箱的水位是0.2m。则偏差为0.8m。现确定往里注水,取加水力度Kp为0.5。
则第一次加水时,加水量△u = 0.5 * 0.8 = 0.4m。接着第二次加水,当前水位是0.6m,则偏差为0.4m,△u = 0.5 * 0.4 = 0.2m,达到0.8m的水位量。
如此循环,可以预见最终水位会达到我们需要的1m。
再增加一些条件,水箱的水是要给别人使用的。假设每次加水前,别人都会使用掉0.1m的水位。假设Kp还是0.5,水位0.2m。
则第一次加水时,加水量△u = 0.5 * 0.8 = 0.4m。接着第二次加水,当前水位是0.5m,则偏差为0.5m,△u = 0.5 * 0.5 = 0.25m,达到0.75m的水位量。接着第三次加水,当前水位是0.65m,则偏差为0.35m,△u = 0.5 * 0.35 = 0.175m,达到0.825m的水位量。接着第四次加水,当前水位是0.725m,则偏差为0.275m,△u = 0.5 * 0.275 = 0.1375m,达到0.8625m的水位量。接着第五次加水,当前水位是0.7625m,则偏差为0.2375m,△u = 0.5 * 0.2375 = 0.11875m,达到0.88125m的水位量。如此循环,每次加水前都贴合0.8m,达到了平衡,水位将不再变化。
此时产生的误差就是稳态误差。此时稳态误差为0.2m。
为了避免系统达到稳态却仍然不能达到目标值的情况,引入积分环节来消除稳态误差。
引入积分环节,相当于再加了一个小水龙头,给水箱注水。Ki项作用在整个环节累计的误差上,只要有误差,那么控制的力度就会不断的增大。
应用在实例中,与上述纯比例环节情况不同,引入积分环节后,即使比例环节达到了稳态,但是由于积分环节的存在,如果误差仍然存在时,那么小水龙头还会继续拧大,增加注水量,直到误差消除,此时积分项不再增大,输出维持不变。意思是在消除了误差的情况下,小水龙头的注水量和用水量也达到了平衡。
微分环节延续上面的系统,注水时突然来了个大爷给水箱加了一桶水,假设现在还没有超过预定的水位,那么在大爷加水前系统的偏差是不是比大爷加水后的偏差要大(如大爷加水前偏差水位是0.5m,加水后偏差是0.1米)。假设增加水位的速度是0.3m/次,那么下次加水就很容易漫出来。引入了微分环节的话,微分环节就会帮我们把水龙头给拧小,甚至会帮我们把水弄出去一些。
微分环节的作用抑制了系统的过度调整。
在输出不振荡时,增大比例增益P。
在输出不振荡时,减小积分时间常数Ti。
在输出不振荡时,增大微分时间常数Td。
首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0,使PID为纯比例调节。
输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直到系统出现振荡。
然后在从此时的比例增益P逐渐减小,直到系统振荡消失。
记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。
比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡。
然后逐渐加大Ti,直到系统振荡消失。
记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。
积分时间常数Td一般不用设定,为0即可。若要设定,与前面方法一致,取不振荡时的30%。
系统空载、带载联调,再对PID参数进行微调,直至满足要求。