写到简介明了,不错
原文地址 https://www.cnblogs.com/guanglun/p/7809761.html
//位置式PID
float Kp;
float Ki;
float Kd;
float eSum,e0,e1;
float pid_control(float now,float target)
{
float pe,ie,de;
float out;
e0 = target - now;
eSum += e0;
pe = e0;
ie = eSum;
de = e0 - e1;
out = pe*Kp + ie*Ki + de*Kd;
out = limit(out,-LIMIT,LIMIT);
e1 = e0;
return out;
}
//增量式PID
float Kp;
float Ki;
float Kd;
float eSum,e0,e1,e2;
float pid_control(float now,float target)
{
float pe,ie,de;
float out;
e0 = target - now;
pe = e0 - e1;
ie = e0;
de = e0 - 2*e1 + e2;
out = pe*Kp + ie*Ki + de*Kd;
out = limit(out,-LIMIT,LIMIT);
e2 = e1;
e1 = e0;
return out;
}