实现PID的关键代码 :
double refVal = 0;
double curVal = 100.0, error = 0, integral = 0,errorLast=0;
double Kp, Ki, Kd;
errorLast = error;
// PID - Difference between curVal and refVal
error = curVal - refVal;
integral += error;
// PID
/*curVal = curVal + Kp * error + Ki * integral + Kd * (error - errorLast);*/
curVal = 一个设定的初值 + Kp * error + Ki * integral + Kd * (error - errorLast);
通过界面中的文本框可以直接设置多项参数。可以只有P、I、D或者只用PI、PD、ID或者同时使用PID,方便各位体验P、I、D三种在控制中分别起到的作用。
欢迎下载使用,包含程序源代码。
下载代码的朋友们注意了,代码中有错误。curVal = curVal + Kp * error + Ki * integral + Kd * (error - errorLast);
这个公式应该改为:curVal = 一个设定的初值 + Kp * error + Ki * integral + Kd * (error - errorLast);
下载链接:CSDN下载
下载链接:GITHUB下载