积分分离PID控制算法

积分分离PID控制算法

  • 积分分离PID控制:
  • 积分分离控制基本思路:
  • 积分分离控制算法表示:
  • 积分分离式PID控制算法程序流程图:

注:本文内容摘自《先进PID控制MATLAB仿真(第4版)》刘金琨 编著,研读此书受益匪浅,感谢作者!

积分分离PID控制:

在普通的PID控制中引入积分环节的目的,主要为了消除静差,提高控制精度。但在过程启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,致使控制量超过执行机构可能允许的最大动作范围对应的极限控制量,引起系统较大的超调,甚至引起系统较大的震荡。

积分分离控制基本思路:

当被控制量与设定值偏差较大时,取消积分作用,以避免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。其具体实现步骤如下:
(1)根据实际情况,认为设定阀值 ϵ > 0 \epsilon>0 ϵ>0;
(2)当 ∣ e r r o r ( k ) ∣ > ϵ |error(k)|>\epsilon error(k)>ϵ时,采用PD控制,可以避免产生过大的超调,又使系统有较快的响应;
(3)当 ∣ e r r o r ( k ) ∣ ≤ ϵ |error(k)|\leq \epsilon error(k)ϵ时,采用PID控制,以保证系统的控制精度;

积分分离控制算法表示:

u ( k ) = k p e r r o r ( k ) + β k i ∑ j = 0 k e r r o r ( j ) T + k d ( e r r o r ( k ) − e r r o r ( k − 1 ) ) / T u(k)=k_perror(k)+\beta k_i\sum_{j=0}^{k}error(j)T+k_d(error(k)-error(k-1))/T u(k)=kperror(k)+βkij=0kerror(j)T+kd(error(k)error(k1))/T
式中,T为采样实际; β \beta β为积分项的开关系数。
β = { 1 ∣ e r r o r ( k ) ∣ ≤ ϵ 0 ∣ e r r o r ( k ) ∣ > ϵ \beta=\begin{cases} 1 |error(k)|\leq \epsilon \\ 0|error(k)|> \epsilon \end{cases} β={1error(k)ϵ0error(k)>ϵ

积分分离式PID控制算法程序流程图:

Created with Raphaël 2.3.0 开始 参数初始化 采入yd(k)及y(k) 计算偏差值error(k) error(k)<=ϵ? PID控制 控制器输出 参数更新 返回 PD控制 yes no

你可能感兴趣的:(自动控制)