lzb1989666 发表于 2013-8-1 18:49:32

MWC代码看了很长时间了,PID部分还有点疑问,忘高手指点...

本帖最后由 lzb1989666 于 2013-8-1 18:51 编辑

//**** PITCH & ROLL & YAW PID ****   
for(axis=0;axis<3;axis++)
{
    if (accMode == 1 && axis<2 ) { //LEVEL MODE
    errorAngle = rcCommand/2 - angle/2;
      PTerm      = (errorAngle)*PLEVEL8/50 - gyroData*dynP8/10;
      
      errorAngleI +=errorAngle;
      errorAngleI= constrain(errorAngleI,-5000,+5000); //WindUp
      ITerm            = errorAngleI *ILEVEL8/2000;
    } else { //ACRO MODE or YAW axis
    error = rcCommand*10/P8 - gyroData;
      PTerm = rcCommand-gyroData*dynP8/10;
      
      errorGyroI += error;
      errorGyroI= constrain(errorGyroI,-2000,+2000); //WindUp
      if (abs(gyroData)>80) errorGyroI = 0;
      ITerm = errorGyroI*I8/1000;
    }
    delta          = gyroData - lastGyro;
    DTerm          = (delta1+delta2+delta+1)*dynD8/3;
    delta2   = delta1;
    delta1   = delta;
    lastGyro = gyroData;

    axisPID =PTerm + ITerm - DTerm;
}
为什么要减去gyroData*dynP8/10这项,还有红色部分为什么会不同啊,有什么区别,还望大神指点,小弟谢了
另外LEVEL与ACRO MODE or YAW axis模式有什么不同


tinymilk 发表于 2013-8-10 10:29:16

请问楼组知道传感器数据是在哪获得的不?看半天没看出来...

shiruquaan23 发表于 2014-3-10 16:49:11

挺一下,我也有同样的问题

情迷MJ比莉珍 发表于 2014-3-15 10:17:22

我也有同样的问题
页: [1]
查看完整版本: MWC代码看了很长时间了,PID部分还有点疑问,忘高手指点...