PID算法

                            PID算法原理及其使用

1.PID算法原理

   有博客写的很好,我就不多说了。https://blog.csdn.net/qq_25352981/article/details/81007075

2. 2种PID算法

    1.位置式PID: u ( k ) = K p ∗ e ( k ) + K i ∑ n = 0 k e ( n ) + K d ∗ [ e ( k ) − e ( k − 1 ) ]   . u(k) =Kp*e(k)+ Ki\sum_{n=0}^ke(n)+Kd*[e(k)-e(k-1)]\,. u(k)=Kpe(k)+Kin=0ke(n)+Kd[e(k)e(k1)].
      其传递函数: u ( z ) = K p + K i ∗ 1 1 − z − 1 + K d ∗ ( 1 − z − 1 ) u(z) = Kp + Ki*\frac{1}{1-z^{-1}}+Kd*(1-z^{-1}) u(z)=Kp+Ki1z11+Kd(1z1)

注:在1节推荐博客中有推导过程

    2.增量式PID: u ( k ) − u ( k − 1 ) = K p ∗ [ e ( k ) − e ( k − 1 ) ] + K i ∗ e ( k ) + K d ∗ [ e ( k ) − 2 e ( k − 1 ) + e ( k − 2 ) ] u(k)-u(k-1) = Kp*[e(k)-e(k-1)]+Ki*e(k)+Kd*[e(k)-2e(k-1)+e(k-2)] u(k)u(k1)=Kp[e(k)e(k1)]+Kie(k)+Kd[e(k)2e(k1)+e(k2)]
      其传递函数: u ( z ) = K p ( 1 − z − 1 ) + K i + K d ∗ ( 1 − 2 z − 1 + z − 2 ) u(z) = Kp(1-z^{-1})+Ki+Kd*(1-2z^{-1}+z^{-2}) u(z)=Kp(1z1)+Ki+Kd(12z1+z2)

注:单片机使用增量式PID较好,计算量小。

你可能感兴趣的:(Linux)