1、PID引入
2、PID代码
/*******************************************************************位置式pid********************************************************************/
double PID(double Actual,double SET){ static double E_sum,Error_last; //上一次误差 double kp=20.767,ki=1.867,kd=115.55;double pid_out;double Error_now; //当前误差 Error_now = SET-Actual; //当前误差
// if(Error_now>-0.9&&Error_now<0.9) //防静态误差
// {
// Error_now=0;
// Error_last=0;
// } E_sum += Error_now; //误差累计
// if(E_sum>484)E_sum=484; //积分限幅度,防止积分饱和
// if(E_sum<-484)E_sum=-484; pid_out= kp * Error_now + ki * E_sum + kd * (Error_now-Error_last); //pid计算公式 Error_last=Error_now;// if(pid>900) pid=900; //输出限幅
// if(pid<-900)pid=-900; return -pid_out;
}
3、PID公式的由来
待完成…