位置式PID控制算法

位置式PID控制算法

  • 位置式PID控制算法概述:

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

位置式PID控制算法概述:

按模拟PID控制算法,以一系列的采样时刻点 k T kT kT代表连续时间 t t t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即
t ≈ k T ( k = 0 , 1 , 2 , 3 , . . . ) ∫ 0 t e r r o r ( t ) d t ≈ T ∑ j = 0 k e r r o r ( j T ) = T ∑ j = 0 k e r r o r ( j ) d e r r o r ( t ) d t ≈ e r r o r ( k T ) − e r r o r ( ( k − 1 ) T ) T = e r r o r ( k ) − e r r o r ( k − 1 ) T t\approx kT (k=0,1,2,3,...)\\\int_{0}^terror(t)dt \approx T \sum_{j=0}^{k}error(jT)=T\sum_{j=0}^{k}error(j)\\ \frac{derror(t)}{dt}\approx \frac{error(kT)-error((k-1)T)}{T}=\frac{error(k)-error(k-1)}{T} tkT(k=0,1,2,3,...)0terror(t)dtTj=0kerror(jT)=Tj=0kerror(j)dtderror(t)Terror(kT)error((k1)T)=Terror(k)error(k1)
可得离散PID表达式:
u ( k ) = k p ( e r r o r ( k ) + T T I ∑ j = 0 k e r r o r ( j ) + T D T ( e r r o r ( k ) − e r r o r ( k − 1 ) ) ) u(k)=k_p(error(k)+\frac{T}{T_I}\sum_{j=0}^{k}error(j)+\frac{T_D}{T}(error(k)-error(k-1))) u(k)=kp(error(k)+TITj=0kerror(j)+TTD(error(k)error(k1)))
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_p error(k)+k_i\sum_{j=0}^{k}error(j)T+k_d\frac{error(k)-error(k-1)}{T} u(k)=kperror(k)+kij=0kerror(j)T+kdTerror(k)error(k1)
式中, k i = k p T I ; k d = k p T D ; k_i=\frac{k_p}{T_I};k_d=k_pT_D; ki=TIkp;kd=kpTD;T为采样周期; k k k为采样序号, k = 1 , 2 , 3 , . . . ; k=1,2,3,...; k=1,2,3,...; e r r o r ( k − 1 ) 和 e r r o r ( k ) error(k-1)和error(k) error(k1)error(k)分别为第 ( k − 1 ) 和 第 k 时 刻 的 偏 差 信 号 。 (k-1)和第k时刻的偏差信号。 (k1)k
根据实际情况对控制器的输出进行限幅。

简化形式:
u ( k ) ≈ k p e r r o r ( k ) + k i ∑ j = 0 k e r r o r ( j ) + k d ( e r r o r ( k ) − e r r o r ( k − 1 ) ) u(k)\approx k_perror(k)+k_i\sum_{j=0}^{k}error(j)+k_d(error(k)-error(k-1)) u(k)kperror(k)+kij=0kerror(j)+kd(error(k)error(k1))

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