标题: PID控制 [打印本页]

作者: yuansheng1    时间: 2018-9-3 09:47
标题: PID控制
int pid_calc(int tem)
{
  char cur_error;
  float incpid;
  float a,b,c;
//  char d_error;
  cur_error=250-tem;
  a=temp_pid.proportion*cur_error;
//  d_error=cur_error-temp_pid.last_error;
  temp_pid.sum_error+=cur_error;
  temp_pid.sum_error-=temp_pid.old_error;
  b=temp_pid.integral*temp_pid.last_error;
  c=temp_pid.derivative*temp_pid.pre_error;
  incpid=a-b+c;

  if(cur_error==temp_pid.last_error && cur_error==temp_pid.pre_error && (temp_pid.sum_error>3 || temp_pid.sum_error<-3))
          incpid+=0.25*temp_pid.sum_error;
  //incpid=temp_pid.proportion*cur_error-temp_pid.integral*temp_pid.last_error+temp_pid.derivative*temp_pid.pre_error;


//  temp_pid.pre_error=temp_pid.last_error;
  temp_pid.last_error=cur_error;
  temp_pid.pre_error=temp_pid.last_error;
  temp_pid.old_error=temp_pid.pre_error;
  return (int)incpid;
}


作者: admin    时间: 2018-9-3 18:07
详细说明一下,补全完整代码 即可获得100+黑币




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1