在计算机控制系统中,PID控制是通过计算机程序实现的,因此它的灵活性很大。一些原来在模拟PID控制器中无法实现的问题,在引入计算机以后,就可以得到解决,于是产生了一系列的改进算法,形成非标准的控制算法,改善系统品质,满足不同控制系统的需要。
按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即:
可得离散表达式:
从一个例子中理解位置式PID:
(1)如上图所示,工作人员要对一个直流电机进行调速,设定了转速为1000;
(2)此时系统反馈回来的转速为 x,反馈回来的速度与设定速度差为 e;
(3)将差值 e 作为控制信号输入到位置式PID控制器,经位置式PID控制器计算的输出作为Process的输入值(可以是PWM占空比),最终Process输出相应的PWM控制电机;
(4)反馈装置(Feedback)检测电机转速;
(5)重复(2)、(3)、(4)步骤。
上式中:
位置式PID控制算法中,因为有误差积分 ∑e(j) 一直累加,也就是当前的输出u(k)与过去的所有状态都有关系;输出的u(k)对应的是执行机构的实际位置,一旦控制输出出错(控制对象的当前的状态值出现问题 ),u(k)的大幅变化会引起系统的大幅变化。
并且位置式PID在积分项达到饱和时,误差仍然会在积分作用下继续累积,一旦误差开始反向变化,系统需要一定时间从饱和区退出,所以在u(k)达到最大和最小时,要停止积分作用,并且要有积分限幅和输出限幅。
所以在使用位置式PID时,一般我们直接使用PD控制,而位置式 PID 适用于执行机构不带积分部件的对象,如舵机和平衡小车的直立和温控系统的控制。
增量式PID控制算法是指其输出只是被控量的增量。
当执行机构需要的是控制量的增量,而不是位置量的绝对值时, 例如驱动步进电机等,应采用增量式PID控制。
根据递推原理可得:
增量式PID的算法:
上式中:
从增量式PID根据公式可以很好地看出,一旦确定了Kp、Ki、Kd,只要使用前后三次测量值的偏差,即可由公式求出控制增量?u(k)。得出的控制增量对应的是近几次位置误差的增量,而不是对应与实际位置的偏差,没有误差累加。
也就是说,增量式PID中不需要累加。控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果,并且在系统发生问题时,增量式不会严重影响系统的工作。
仿真示例:
设被控对象如下:
G ( s ) = 400 s 2 + 50 s G(s)=\frac{400}{s^2+50s} G(s)=s2+50s400?
PID控制参数为:Kp=8, Ki=0.10, Kd=10
增量式PID阶跃跟踪结果:
综上所述,位置式与增量式PID算法各有自己的优缺点,因此我们在应用之中应该结合实际情况,来选择具体的,最合适的控制方法。
本节完