PID控制算法




前言

PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。PID控制算法是结合比例、积分和微分三种环节于一体的控制算法。PID是闭环控制算法中最简单的一种,常应用于温度、电机控制等等。


原理



公式推导

PID公式:
u ( t ) = K p [ e ( t ) + 1 T i ∫ 0 t e ( t )   d t + T d d e ( t ) d t ] (1) u(t) = K_p[e(t) + \frac{1}{T_i}\int_0^t {e(t)}\,{\rm d}t + T_d \frac{ {\rm d}e(t)}{ {\rm d}t}] \tag{1} u(t)=Kp[e(t)+Ti10te(t)dt+Tddtde(t)](1)

其中 K p K_p Kp为比例系数, T i T_i Ti为积分时间, T d T_d Td为微分时间。

看公式就可以看出这是比例部分、积分部分和微分部分的加和,因此称为PID(proportion, integration, differential)。

在实际应用中,我们需要将该连续公式转化为离散公式,因此我们需要进行一下替换:

连续时间t ⟶ \longrightarrow 采样时间kT

积分 ⟶ \longrightarrow 求和: ∫ 0 t e ( t )   d t \int_0^t {e(t)}\,{\rm d}t 0te(t)dt ⟶ \longrightarrow T ∑ j = 0 k e ( j T ) T\sum_{j=0}^k e(jT) Tj=0ke(jT)

微分 ⟶ \longrightarrow 单位差值 d e ( t ) d t \frac{ {\rm d}e(t)}{ {\rm d}t} dtde(t) ⟶ \longrightarrow e k − e k − 1 T \frac{e_k - e_{k-1}}{T} Tekek1


因为我们得到离散化的公式:
u ( k ) = K p e ( k T ) + K i ∑ j = 0 k e ( j T ) + K d ( e ( k T ) − e ( ( k − 1 ) T ) ) (2) u(k) = K_pe(kT) + K_i\sum_{j=0}^ke(jT) + K_d(e(kT) - e((k-1)T)) \tag{2} u(k)=Kpe(kT)+Kij=0ke(jT)+Kd(e(kT)e((k1)T))(2)

其中 K i = K p T T i K_i = \frac{K_pT}{T_i} Ki=TiKpT K d = K p T d T Kd = \frac{K_pT_d}{T} Kd=TKpTd


位置式PID

上面得到的公式,计算的值就是位置式PID,是当前负载应该输出的值。

比例项是对输出量起决定性作用的,当前值与目标值差值越大,则比例项越大。

需要注意的是,公式中包含积分成分,因此仅适用于不包含积分效果的负载,即实时响应的,比如发热块。

并且在使用时,需要设置积分最大值,因为当误差一直为正时,积分项一直在累加,会导致积分项很大,当误差为负时,此时积分项不能及时减去,导致超调。

微分项的作用是抑制变化,误差为正时,微分项为负,误差为负时,微分项为正。微分具有预测的功能,它体现的是检测值的变化趋势,适当的值有利于稳定目标值。

注:在调整PID参数时,应该先调P,再调I,最后调整D。


增量式PID

顾名思义增量式就是当前输出量相比上一刻的输出量应该增加的值。

由公式2可以得出上一刻的公式:
u ( k − 1 ) = K p e ( ( k − 1 ) T ) + K i ∑ j = 0 k − 1 e ( j T ) + K d ( e ( ( k − 1 ) T ) − e ( ( k − 2 ) T ) ) (3) u(k-1) = K_pe((k-1)T) + K_i\sum_{j=0}^{k-1}e(jT) + K_d(e((k-1)T) - e((k-2)T)) \tag{3} u(k1)=Kpe((k1)T)+Kij=0k1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值