PID算法的C语言实现七 梯形积分的PID优化

先上梯形积分的算法公式;


对于积分环节的PID控制,其实就是为了消除系统的静差,为了减少这个,我们必须提高积分环节的精度也就是每一次偏差的调节变小,因为在系统稳定的状态下,偏差调节越小,就是精度越高,为此我们用梯形的积分代替第六章中的矩形积分来提高积分调节精度!
代码请参考第六篇中的代码,只需讲第六篇中的这段代码:
pid.Voltage       = pid.Kp*pid.Err +index*pid.Ki*pid.Integral + pid.Kd*(pid.Err - pid.Err_Last);  
改成
pid.Voltage       = pid.Kp*pid.Err +index*pid.Ki*pid.Integral/2 + pid.Kd*(pid.Err - pid.Err_Last); 



最后运行的稳定结果为199.999878,相对第六篇的运行结果199.999939而言,精度提高了!


你可能感兴趣的:(算法,算法,优化,pid,梯形积分,计算机控制技术)