智能车制作

标题: 舵机PD····怎么保存不了上次偏差 [打印本页]

作者: 123456789dhg    时间: 2014-6-17 17:34
标题: 舵机PD····怎么保存不了上次偏差
error=ad0; 当前偏差
     d_error=error-pre_error;   
      dd_error=error-pre_pre_error;

      out=(Kp*d_error+Kd*dd_error);
      pre_error=error;  上次偏差
      pre_pre_error=d_error;
      error=ad0;

     pwmduty_67=Angle_center+out;


为什么上次偏差保存不了··············怪了············

作者: zhou1994    时间: 2014-6-17 22:22
      pre_error=error;  上次偏差
      pre_pre_error=d_error;

这个明显顺序反了撒,你看一下你现在的执行顺序,先把本次的给pre 然后把pre给pre-pre  这不就是2个都是本次误差了撒,你把这2句的位置换一下就可以了
作者: 狂野的庄稼汉    时间: 2014-6-17 23:17
变量类型定义的对吗?
作者: 冬晨夏夜    时间: 2014-6-18 00:35
如果是全局变量就看下一楼,如果是局部变量定义类型用static,具体我没看你的程序,不过问题就这两种、




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2