pid三个参数的简单理解
Kp,Ki,Kd。
Kp为PID中的比例参数,比例项根据当前量(Now)与设定量(Set)的差值按Kp比例放大后得到输出的控制量,即:Out = Kp(Set - Now)。
其中dt为系统采样周期,一般为较小的浮点数。单片机浮点运算慢,故可改进为:
Out(当前) = Out(上一次) + Ki(Set - Now)/F。
F为采样频率,大于等于1,F = 1/dt。
通过比例项调节后,在当前量和设定量差距越来越小的情况下,有可能Kp调节输出的控制量太小(考虑到外界诸如摩擦,零件磨损等影响),使得实际量到达设定量的速度过慢或实际量与设定量总是存在一定差距,此时需要使用积分项进行调节。积分项会根据之前的多次误差的积分值,适当加大或缩小控制量输出。
基本公式:Out(当前) = Out(上一次) + Ki(Set - Now)x dt。
PS.由于在PID调节刚开始时,实际量与设定量差值较大(误差较大),这一部分依旧被积分到了积分项中,可能会导致积分项输出过大,导致超调,可以考虑设定一个误差阀值,当误差小于阀值时再启用积分项。
对于惯性系统(停止施加控制量后,系统实际量会因为惯性继续改变一段时间)通过微分项预测实际值变化趋势,并调整控制量,可以尽量避免实际量超出设定量并加快调节速度。
基本公式: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。