智能车制作

标题: 为什么速度控制不住 [打印本页]

作者: vonchenchen    时间: 2012-5-9 12:02
标题: 为什么速度控制不住
用的方案里的,现在跑起来就加速,速度给0也控制不住,根本没出现那种车子来回动的现象,直接就越跑越快,然后栽倒,但是如果让轮子离开地,速度就可以达到稳定
作者: vonchenchen    时间: 2012-5-9 12:12
这和车子的配重有关系么,开环的时候直立会朝一个方向慢慢加速
作者: excellentlizhen    时间: 2012-5-9 12:42
估计是速度控制出问题了。
作者: vonchenchen    时间: 2012-5-9 15:47
这是什么哪里的问题呢 感觉P I参数调了也没用
作者: vonchenchen    时间: 2012-5-9 18:18
void MotorSpeedAdjust()
{
     static float fDeltaValue , fP , fI;
     static float MotorOutSpeedSigma = 0;
      
     counter_r = PACNT;   //当前真实速度
     PACNT = 0;
     
     if(g_nSpeesTemp < 0)               //用给定PWM的正负判断轮子的方向
           g_nSpeed = -counter_r;
     else
          g_nSpeed = counter_r;
      
     fDeltaValue = g_MotorSpeedSet - g_nSpeed;
     
     fP = fDeltaValue * MOTOR_SPEED_P_INT;
     fI = fDeltaValue * MOTOR_SPEED_I_INT;
     
     MotorOutSpeedSigma = MotorOutSpeedSigma + fI;
     
     g_nMotorOutSpeedOld = g_nMotorOutSpeedNew;             //  P I
     g_nMotorOutSpeedNew = MotorOutSpeedSigma + fP;   
}

void CalculateMotorOutSpeed()
{
      float fValue;
      fValue = g_nMotorOutSpeedNew - g_nMotorOutSpeedOld;         // D
      g_nMotorOutSpeed = fValue * (g_nCarMotionCount + 1)/20 + g_nMotorOutSpeedOld;   //PID
      g_nMotorOutSpeed = (g_nMotorOutSpeed + 120) >> 3;          //->PWM
}
作者: jsnjfxx    时间: 2012-5-9 22:39
加速度零偏值的问题吧.....
作者: vonchenchen    时间: 2012-5-10 16:37
jsnjfxx 发表于 2012-5-9 22:39
加速度零偏值的问题吧.....

我换过很多零偏值 是不是应该弄弄车的配重呢
作者: jsnjfxx    时间: 2012-5-10 18:02
vonchenchen 发表于 2012-5-10 16:37
我换过很多零偏值 是不是应该弄弄车的配重呢

不是换.我觉得可能是你设置的加速度计零偏值在前面.相当于人为设置了一个倾角.所以才加速.

作者: etoah    时间: 2012-5-11 18:02
我的开始也一样,你在速度控制的时候加一个像电机一样的死区试试,要注意速度的方向
作者: juliaレ葛    时间: 2012-5-11 21:28
电磁组官网的资料里g_nCarMotionCount,和CAR_MOTION_PERIOD是什么意思?????新手求教

作者: vonchenchen    时间: 2012-5-12 19:40
etoah 发表于 2012-5-11 18:02
我的开始也一样,你在速度控制的时候加一个像电机一样的死区试试,要注意速度的方向

没太明白 不过我发现我的车向前的力矩小于向后的 我在比例和微分上加了点东西 有点趋势似乎 但是抖得厉害




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