PID三个参数的简单理解

Kp

Kp为PID中的比例参数,比例项根据当前量(Now)与设定量(Set)的差值按Kp比例放大后得到输出的控制量,即:
Out = Kp(Set - Now)

Ki

通过比例项调节后,在当前量和设定量差距越来越小的情况下,有可能Kp调节输出的控制量太小(考虑到外界诸如摩擦,零件磨损等影响),使得实际量到达设定量的速度过慢或实际量与设定量总是存在一定差距,此时需要使用积分项进行调节。积分项会根据之前的多次误差的积分值,适当加大或缩小控制量输出。

基本公式:Out(当前) = Out(上一次) + Ki(Set - Now)x dt
其中dt为系统采样周期,一般为较小的浮点数。单片机浮点运算慢,故可改进为:
Out(当前) = Out(上一次) + Ki(Set - Now)/F
F为采样频率,大于等于1,F = 1/dt

PS.由于在PID调节刚开始时,实际量与设定量差值较大(误差较大),这一部分依旧被积分到了积分项中,可能会导致积分项输出过大,导致超调,可以考虑设定一个误差阀值,当误差小于阀值时再启用积分项。

Kd

对于惯性系统(停止施加控制量后,系统实际量会因为惯性继续改变一段时间)通过微分项预测实际值变化趋势,并调整控制量,可以尽量避免实际量超出设定量并加快调节速度。

基本公式:Out(当前) = Out(上一次) + Kd((Set - Now_Last) - (Set - Now))/dt
其中Now_Last为上次的实际值,dt为系统采样周期,一般为较小的浮点数。单片机浮点运算慢,故可改进为:
Out(当前) = Out(上一次) + Kd((Set - Now_Last) - (Set - Now))x F
F为采样频率,大于等于1,F = 1/dt

最终输出

Out(最终) = Out_Kp + Out_Ki + Out_kd

结果位移

在单片机中,浮点数运算比较慢,故参数大多设定为整数,但大多数时候,整数1都是过大的值。所以,在最终输出控制量之前,对控制量进行位移(右移),即右移n位相当于除以2的n次方,调整这个n可以使输出控制量在一个合理的范围内。

参考文章地址

http://www.cnblogs.com/cj695/p/3274798.html

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值