文章目录
- 位置式PID和增量式PID
- 一、位置式PID控制算法
- 二、增量式PID控制算法及仿真
- 三、位置式与增量式优缺点
位置式PID和增量式PID
在计算机控制系统中,PID控制是通过计算机程序实现的,因此它的灵活性很大。一些原来在模拟PID控制器中无法实现的问题,在引入计算机以后,就可以得到解决,于是产生了一系列的改进算法,形成非标准的控制算法,改善系统品质,满足不同控制系统的需要。
一、位置式PID控制算法
-
按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即:
-
可得离散表达式:
- 式中, K i = K p / T I K_i=K_p/T_I Ki=Kp/TI, K d = K p T D K_d=K_pT_D Kd=KpTD,T 为采样周期,K 为采样序号,k=1,2,……,e(k-1)和e(k)分别为第 (k-1) 和第 k 时刻所得的偏差信号。
- 位置式PID控制系统框图如下,由图可以看出,位置式PID是当前系统的实际位置,与你想要达到的预期位置的偏差,进行PID控制。
- 根据位置式PID控制算法得到其程序框图:
-
从一个例子中理解位置式PID:
-
(1)如上图所示,工作人员要对一个直流电机进行调速,设定了转速为1000;
-
(2)此时系统反馈回来的转速为 x,反馈回来的速度与设定速度差为 e;
-
(3)将差值 e 作为控制信号输入到位置式PID控制器,经位置式PID控制器计算的输出作为Process的输入值(可以是PWM占空比),最终Process输出相应的PWM控制电机;
-
(4)反馈装置(Feedback)检测电机转速;
-
(5)重复(2)、(3)、(4)步骤。
上式中:
- 比例项 : e(k) 用户设定的值(目标值)- 控制对象的当前的输出值
- 积分项: ∑e(j) 误差的累加
- 微分项: e(k) - e(k-1) 当前误差-上次误差
位置式PID控制算法中,因为有误差积分 ∑e(j) 一直累加,也就是当前的输出u(k)与过去的所有状态都有关系;输出的u(k)对应的是执行机构的实际位置,一旦控制输出出错(控制对象的当前的状态值出现问题 ),u(k)的大幅变化会引起系统的大幅变化。
并且位置式PID在积分项达到饱和时,误差仍然会在积分作用下继续累积,一旦误差开始反向变化,系统需要一定时间从饱和区退出,所以在u(k)达到最大和最小时,要停止积分作用,并且要有积分限幅和输出限幅。
所以在使用位置式PID时,一般我们直接使用PD控制,而位置式 PID 适用于执行机构不带积分部件的对象,如舵机和平衡小车的直立和温控系统的控制。
二、增量式PID控制算法及仿真
-
增量式PID控制算法是指其输出只是被控量的增量。
当执行机构需要的是控制量的增量,而不是位置量的绝对值时, 例如驱动步进电机等,应采用增量式PID控制。
-
根据递推原理可得:
-
增量式PID的算法:
- 从一个例子中理解增量式PID
- (1)如上图所示,工作人员要对一个直流电机进行调速,设定了转速为1000;
- (2)此时系统反馈回来的转速为x,反馈回来的转速与设定转速差为e(k);
- (3)系统中保存了上一次反馈转速与设定转速的偏差e(k-1)以及上上次的反馈转速与设定转速的偏差e(k-2),这三个量( e(k)、e(k-1)、e(k-2) )作为输入值输入到增量式PID控制器中,并计算得到本次PID增量∆u(k);
- (4)系统中还保存了上一次的PID输出u(k-1),本次PID输出u(k)为上一次的PID输出值u(k-1)加上增量∆u(k),u(k)作为Process的输入值(可以是PWM占空比),最终Process输出相应的PWM控制电机;
- (5)反馈装置(Feedback)检测电机转速;
- (6)重复(2)、(3)、(4)、(5)步骤。
上式中:
- 比例项: e(k)-e(k-1) 这次误差 - 上次误差
- 积分项: e(k) 这次误差
- 微分项: e(k) - 2e(k-1)+e(k-2) 这次误差 - 2*上次误差 + 上上次误差
从增量式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阶跃跟踪结果:
- 由于控制算法中不需要累加,控制增量Δu(k)仅与最近k次的采样有关,所以误动作时影响小,而且较容易通过加权处理获得比较好的控制效果。
三、位置式与增量式优缺点
-
- 位置式PID算法结构改变灵活,算法简单,鲁棒性好,可靠性高。 但是每次输出都与控制偏差e过去整个变化过程有关,这样容易产生较大的累积偏差,特别是当计算机发生故障时,由于调节器是全量输出,控制变量y可能会发生大幅振荡,给生产带来严重危害。而如果采用增量式PID算法,由于计算机只输出控制变量的增量Δy发生故障时只影响本次增量的大小,故影响较小。
-
- 系统从手动切换到自动时,位置式PID算法需要将调节器的输出置为初始值,这样才可能实现无冲击切换,而增量式PID算法易于实现手动自动的无冲击切换。
-
- 位置式PID算法要求计算累加和,故运算量大。而增量式PID算法不需要计算累加和,故运算量小。
-
- 位置式PID算法中,由于偏差公式中有对偏差的累积计算,所以,容易产生积分饱和现象,造成系统失控。而在增量式PID算法中,由于差分公式中不存在有对偏差的累加计算,所以,不会产生积分失控现象,避免了系统的超调和振荡现象的发生。但增量式PID算法有产生比例和微分失控现象的可能,使系统的动态性能变坏。
-
综上所述,位置式与增量式PID算法各有自己的优缺点,因此我们在应用之中应该结合实际情况,来选择具体的,最合适的控制方法。
本节完