智能车制作

标题: 请吉他手老师和各位大神帮忙看下光电转弯时抖动问题 [打印本页]

作者: 王恒403578828    时间: 2013-2-25 12:55
标题: 请吉他手老师和各位大神帮忙看下光电转弯时抖动问题
吉他手老师和各位大神,我是线性CCD组的。现在小车可以较好的直立,目前正在调方向控制。方向控制我是采用去年电磁的思路。采用比例调节。在转弯的时候速度很慢的话可以转过去,但抖动很大,感觉就是抖过去的。我就想请问下这个什么原因呢?

作者: fmadot    时间: 2013-2-25 13:23
是指震荡抖动 还是类似开关特性的抖动 你得讲清楚 第一个靠加微分负反馈 第二个你得改电机控制系数和偏置
作者: 王恒403578828    时间: 2013-2-25 13:29
fmadot 发表于 2013-2-25 13:23
是指震荡抖动 还是类似开关特性的抖动 你得讲清楚 第一个靠加微分负反馈 第二个你得改电机控制系数和偏置

你说的这两种抖动我不怎么区分得出来!电机控制系数是指?偏置是指死区参数么?
作者: wuzexiao    时间: 2013-2-25 16:25
最好把你最后输出给电机的PWM输出程序贴出来。有可能出现速度控制以及角度控制叠加后符号为正,但是加上方向控制之后输出为负的情况。此时,如果你是两个轮子一起处理的话,会出现一个轮子不动,另一个轮子动,这样就会抖动了。所以,建议在对电机控制输出时两个轮子分开给。

作者: 灰原姐姐    时间: 2013-2-25 18:11
貌似吉他手老师已经潜水很久很久了。
作者: 百花园林2011    时间: 2013-3-9 16:39
你好,你现在解决了没,我也是这个情况,能说说原因么
作者: 百花园林2011    时间: 2013-3-9 16:41
wuzexiao 发表于 2013-2-25 16:25
最好把你最后输出给电机的PWM输出程序贴出来。有可能出现速度控制以及角度控制叠加后符号为正,但是加上方向 ...


      float fLeft, fRight;
     
      fLeft = g_fAngleControlOut-g_fSpeedControlOut-g_fDirectionControlOut;
      fRight = g_fAngleControlOut-g_fSpeedControlOut+ g_fDirectionControlOut;
      
///////////////////////////////////////////////////////////////////////////////////
/////////////////            电压死区补偿      ///////////////////////////////////
      if((fLeft > -MOTOR_OUT_DEAD_VAL) && (fLeft < 0))
      fLeft = -MOTOR_OUT_DEAD_VAL;
      else if((fLeft < MOTOR_OUT_DEAD_VAL) && (fLeft > 0))
      fLeft = MOTOR_OUT_DEAD_VAL;
      if((fRight > -MOTOR_OUT_DEAD_VAL) && (fRight < 0))
      fRight = -MOTOR_OUT_DEAD_VAL;
      else if((fRight < MOTOR_OUT_DEAD_VAL) && (fRight > 0))
      fRight = MOTOR_OUT_DEAD_VAL;
///////////////////////////////////////////////////////////////////////
      if(fLeft>4000)
      fLeft=4000;
      if(fLeft<-4000)
      fLeft=-4000;
      if(fRight>4000)
      fRight=4000;
      if(fRight<-4000)
      fRight=-4000;
      
      if(fLeft >= 0)
      {
          Left_Go((uint32_t)fLeft);
      }                               //左轮输出
      else if(fLeft < 0)
      {
          fLeft=-fLeft;
          Left_Break((uint32_t)fLeft);
      }
  
      if(fRight>=0)
      {
        
          Right_Go((uint32_t)fRight);
      } //右轮输出
      else if(fRight<0)
      {
          fRight=-fRight;
          Right_Break((uint32_t)fRight);
      }
   /*    uart_sendnumber(UART1, fRight);
       uart_sendstring(UART1,(uint

作者: 百花园林2011    时间: 2013-3-9 16:42
fmadot 发表于 2013-2-25 13:23
是指震荡抖动 还是类似开关特性的抖动 你得讲清楚 第一个靠加微分负反馈 第二个你得改电机控制系数和偏置

请问什么是电机系数和偏置
作者: 圣徒    时间: 2013-3-12 19:23
我的也是啊,我想知道这跟陀螺仪是否安装水平有关系不




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