PID离散系统理解

原本的PID系统经常写作:
u ( t ) = k p e ( t ) + k i ∑ e ( t ) + k d d e ( t ) d t u(t)=k_{p}e(t)+k_i\sum e(t)+k_d\frac{d e(t)}{d t} u(t)=kpe(t)+kie(t)+kddtde(t)
我们只需要暴力调节这三个参数就可以了,但是这三个参数的计算其实还应该再更细化。

因为工业仿真及应用,包括平时我们使用的单片机都是使用的PID离散系统,有一个固定的采样时间 T s T_s Ts

当采样周期足够小(1ms)时,可以做如下近似:
u ( t ) ≈ u ( k ) e ( t ) ≈ e ( k ) ∫ 0 t e ( t ) d t = ∑ i = 0 k e ( i ) Δ t = ∑ i = 0 k T s e ( i ) d e ( t ) d t ≈ e ( k ) − e ( k − 1 ) Δ t = e ( k ) − e ( k − 1 ) T s \begin{gathered} u(t) \approx u(k) \\ e(t) \approx e(k) \\ \int_{0}^{t} e(t) \mathrm{d} t=\sum_{i=0}^{k} e(i) \Delta t=\sum_{i=0}^{k} T_s e(i) \\ \frac{\mathrm{d} e(t)}{\mathrm{d} t} \approx \frac{e(k)-e(k-1)}{\Delta t}=\frac{e(k)-e(k-1)}{T_s} \end{gathered} u(t)u(k)e(t)e(k)0te(t)dt=i=0ke(i)Δt=i=0kTse(i)dtde(t)Δte(k)e(k1)=Tse(k)e(k1)
于是才有了:
u ( t ) = k p ( e ( t ) + T s T i ∑ e ( t ) + T d T s d e ( t ) d t ) u(t)=k_{p}\left(e(t)+\frac{T_{s}}{T_{i}} \sum e(t)+ \frac{T_{d}}{T_s} \frac{d e(t)}{d t}\right) u(t)=kp(e(t)+TiTse(t)+TsTddtde(t))

其中,Ti主要用于消除静差,提高系统的无差度,积分作用的强弱取决于积分时间常数Ti,Ti越大积分作用越弱,反之则越强。

Td反应偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节周期。

在simulink中,PI控制器可以这么做:
在这里插入图片描述
这种方法真的很巧妙,画的很简洁。还可以将前面三式加减的部分继续mask,还能更好看(装逼)一点。
x ∗ ( t ) = k p ( e ∗ ( t ) − e ∗ ( t − 1 ) + T s T i e ∗ ( t ) ) u ∗ ( t ) = x ∗ ( t ) + x ∗ ( t − 1 ) = k p ( e ( t ) + T s T i ∑ e ( t ) ) \begin{array}{l} x^{*}(t)=k_{p}\left(e^{*}(t)-e^{*}(t-1)+\frac{T_{s}}{T_{i}} e^{*}(t)\right)\\ u^{*}(t)=x^{*}(t)+x^{*}(t-1)\\ =k_{p}\left(e(t)+\frac{T_{s}}{T_{i}} \sum e(t)\right) \end{array} x(t)=kp(e(t)e(t1)+TiTse(t))u(t)=x(t)+x(t1)=kp(e(t)+TiTse(t))

高山仰止,景行行止。记录一下。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值