位置式PID与增量式PID——理论推导

本文从数字化实现的角度理解PI(proportional integral, PI)环节,为数字化实现PI打下基础。在电机控制环节中,PI环节应用广泛,如电机FOC控制中的内环——电流环,外环——速度环,又如永磁同步电机中无位置传感器中的PI环节。了解PI数字化实现的过程,有助于理解控制算法在离散系统中的实现过程。PI环顾名思义,一个比例环节,一个积分环节。输入误差在起点处分道,沿着两条支路前进,在终点处汇合,得到PI环的输出。

PI表达式离散化的前提,可以用微积分的思想来理解。表述如下:

u ( t ) ≈ u ( k ) ( 输出 ) u\left( t \right) \approx u\left( k \right) \left( \text{输出} \right) u(t)u(k)(输出)

e ( t ) ≈ e ( k ) (输入) e\left( t \right) \approx e\left( k \right) \text{(输入)} e(t)e(k)(输入)

∫ 0 t e ( t ) d t = ∑ i = 0 k e ( i ) Δ t = ∑ i = 0 k T s e ( i ) \int_0^t{e\left( t \right) dt=\sum_{i=0}^k{e\left( i \right) \Delta t=\sum_{i=0}^k{T_se\left( i \right)}}} 0te(t)dt=i=0ke(i)Δt=i=0kTse(i)

d e ( t ) d t ≈ e ( k ) − e ( k − 1 ) Δ t = e ( k ) − e ( k − 1 ) T s \frac{\mathrm{d}e\left( t \right)}{\mathrm{d}t}\approx \frac{e\left( k \right) -e\left( k-1 \right)}{\Delta t}=\frac{e\left( k \right) -e\left( k-1 \right)}{T_s} dtde(t)Δte(k)e(k1)=Tse(k)e(k1)

上式中, T s T_s Ts-采样周期,k-为采样序号,k=0,1,2…

第一种离散实现方式

第一种离散化实现的方式中,给出的例子是PID离散化表达方式,当只关注PI环节时,令表达式中的 K d ( K D ) = 0 K_d\left( K_D \right) =0 Kd(KD)=0即可去掉微分环节,得到PI离散化表达方式。

位置式PID算法,离散化表达式为,
u ( k ) = K P { e ( k ) + T T I ∑ i = 0 k e ( i ) + T D T [ e ( k ) − e ( k − 1 ) ] } = K P e ( k ) + K I ∑ i = 0 k e ( i ) + K D [ e ( k ) − e ( k − 1 ) ] u\left( k \right) =K_P\left\{ e\left( k \right) +\frac{T}{T_I}\sum_{i=0}^k{e\left( i \right) +\frac{T_D}{T}\left[ e\left( k \right) -e\left( k-1 \right) \right]} \right\} \\ =K_Pe\left( k \right) +K_I\sum_{i=0}^k{e\left( i \right) +K_D\left[ e\left( k \right) -e\left( k-1 \right) \right]} u(k)=KP{e(k)+TITi=0ke(i)+TTD[e(k)e(k1)]}=KPe(k)+KIi=0ke(i)+KD[e(k)e(k1)]
为了易于数字化实现,将其写为增量式PID算法,
Δ U o ( k ) = K P { [ e ( k ) − e ( k − 1 ) ] + T T I e ( k ) + T D T [ e ( k ) − 2 e ( k − 1 ) + e ( k − 2 ) ] } U ( k ) = Δ u ( k ) + U ( k − 1 ) \Delta U_o\left( k \right) =K_P\left\{ \left[ e\left( k \right) -e\left( k-1 \right) \right] +\frac{T}{T_I}e\left( k \right) +\frac{T_D}{T}\left[ e\left( k \right) -2e\left( k-1 \right) +e\left( k-2 \right) \right] \right\} \\ U\left( k \right) =\Delta u\left( k \right) +U\left( k-1 \right) ΔUo(k)=KP{[e(k)e(k1)]+TITe(k)+TTD[e(k)2e(k1)+e(k2)]}U(k)=Δu(k)+U(k1)
或者
Δ U o ( k ) = K p { [ e ( k ) − e ( k − 1 ) ] } + K i T s e ( k ) + K d T s [ e ( k ) − 2 e ( k − 1 ) + e ( k − 2 ) ] U ( k ) = Δ u ( k ) + U ( k − 1 ) \Delta U_o\left( k \right) =K_p\left\{ \left[ e\left( k \right) -e\left( k-1 \right) \right] \right\} +K_iT_se\left( k \right) +\frac{K_d}{T_s}\left[ e\left( k \right) -2e\left( k-1 \right) +e\left( k-2 \right) \right] \\ U\left( k \right) =\Delta u\left( k \right) +U\left( k-1 \right) ΔUo(k)=Kp{[e(k)e(k1)]}+KiTse(k)+TsKd[e(k)2e(k1)+e(k2)]U(k)=Δu(k)+U(k1)
上式中, U ( k ) U\left( k \right) U(k)是控制器的输出,递推至最开始,需要对 U ( 0 ) U\left( 0 \right) U(0) e ( 0 ) e\left( 0 \right) e(0) e ( 1 ) e\left( 1 \right) e(1)赋初值。在增量式PID算法的两种表达式中,系数关系为 K P = K p , K I = K i T s , K d = K d T s K_P=K_p, K_I=K_iT_s, K_d=\frac{K_d}{T_s} KP=Kp,KI=KiTs,Kd=TsKd

第二离散实现方式(推荐)

U p ( k ) = K p e ( k ) ; U_{p\left( k \right)}=K_pe_{\left( k \right)}\text{;} Up(k)=Kpe(k)

U i ( k ) = K i T s e ( k ) + U i ( k − 1 )    ; % U i ( k ) + = K i T s e ( k ) U_{i\left( k \right)}=K_iT_se_{\left( k \right)}+U_{i\left( k-1 \right)}\,\,; \%U_{i\left( k \right)}+=K_iT_se_{\left( k \right)} Ui(k)=KiTse(k)+Ui(k1);%Ui(k)+=KiTse(k)

U o u t ( k ) = U p ( k ) + U i ( k ) ; {U_{out}}_{\left( k \right)}=U_{p\left( k \right)}+U_{i\left( k \right)}\text{;} Uout(k)=Up(k)+Ui(k)

第二种离散方式与第一种离散方式是等价的,往后递推一步,得到 k + 1 k+1 k+1步的表达式。

U p ( k + 1 ) = K p e ( k + 1 ) U_{p\left( k+1 \right)}=K_pe_{\left( k+1 \right)} Up(k+1)=Kpe(k+1)

U i ( k + 1 ) = K i T s e ( k + 1 ) + U i ( k )    ; % U i ( k + 1 ) + = K i T s e ( k + 1 ) U_{i\left( k+1 \right)}=K_iT_se_{\left( k+1 \right)}+U_{i\left( k \right)}\,\,; \%U_{i\left( k+1 \right)}+=K_iT_se_{\left( k+1 \right)} Ui(k+1)=KiTse(k+1)+Ui(k);%Ui(k+1)+=KiTse(k+1)

U o u t ( k + 1 ) = U p ( k + 1 ) + U i ( k + 1 ) {U_{out}}_{\left( k+1 \right)}=U_{p_{\left( k+1 \right)}}+U_{i\left( k+1 \right)} Uout(k+1)=Up(k+1)+Ui(k+1)

k + 1 k+1 k+1 k k k步的输出结果做差
Δ U = K p [ e ( k + 1 ) − e ( k ) ] + K i T s e ( k + 1 ) \Delta U=K_p\left[ e_{\left( k+1 \right)}-e_{\left( k \right)} \right] +K_iT_se_{\left( k+1 \right)} ΔU=Kp[e(k+1)e(k)]+KiTse(k+1)
从做差的结果可以看出,两种PI离散的方式等价。

在实际的工作环境中,还需考虑PI饱和的问题,此时,需要进行抗饱和处理。

参考文献

[1] PID控制器参数整定方法及其应用研究, 浙江大学硕士, 何芝强, 2005

扩充材料

增量式PID控制——百度百科

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值