您的位置:首页 > 其它

PID三个参数的简单理解

2017-02-13 13:54 597 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: