极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17254|回复: 6

请 大师解决MPU6050 左转右转 算法灵敏度问题 重谢

[复制链接]
发表于 2016-6-15 10:20:48 | 显示全部楼层 |阅读模式
我现在做了一个汽车转向灯 用6050 感觉转向时不灵敏。必须猛打方向才有信号。请大师帮助  重谢
void Gesture_Update(void)
{                                                           
        static uint8_t no_new_direction_tick =0;

        AccGyroStructure.acc_x =GetData(ACCEL_XOUT_H) +4096;        //显示X轴加速度
        AccGyroStructure.acc_y =GetData(ACCEL_YOUT_H) +4096;        //显示Y轴加速度
        AccGyroStructure.acc_z =GetData(ACCEL_ZOUT_H) +4096;        //显示Z轴加速度
        AccGyroStructure.gyr_x =GetData(GYRO_XOUT_H) +4096;        //显示X轴角速度
        AccGyroStructure.gyr_y =GetData(GYRO_YOUT_H) +4096;        //显示Y轴角速度
        AccGyroStructure.gyr_z =GetData(GYRO_ZOUT_H) +4096;        //显示Z轴角速度         
        Uart_Send_String("\r\n ");
        if(AccGyroStructure.gyr_z >=0)
                sprintf(strBuffer," %.5d ",AccGyroStructure.gyr_z);
        else
                sprintf(strBuffer,"%.5d ",AccGyroStructure.gyr_z);
        Uart_Send_String(strBuffer);  

        //Accelarate_Gyro_XYZ_Filter();                                        //水平放置时gyro的offset约为 -56
          
        if(AccGyroStructure.gyr_z > SENSOR_OFFSET_MAX +AccGyroStructure.gyr_z_offset)          // 左转时数据变大
          {
      no_new_direction_tick =0;
          //if(SYSTEM_MODE_STABLE ==SystemStruture.curMode )
          {
              SystemStruture.curMode =SYSTEM_MODE_TURN;                         
                  SystemStruture.curOption =SYSTEM_TURN_RIGHT;                 
          }
          }
        else if(AccGyroStructure.gyr_z < AccGyroStructure.gyr_z_offset -SENSOR_OFFSET_MIN) // 右转时数据变小
          {   
      no_new_direction_tick =0;
      //if(SYSTEM_MODE_STABLE ==SystemStruture.curMode )
          {
              SystemStruture.curMode =SYSTEM_MODE_TURN;
                    SystemStruture.curOption =SYSTEM_TURN_LEFT;
          }                           
          }
          else
          {
      no_new_direction_tick ++;
      if(no_new_direction_tick >0)
      {
        no_new_direction_tick =0;
              SystemStruture.curMode =SYSTEM_MODE_STABLE;
                  SystemStruture.curOption =SYSTEM_NONE_OPTION;       
      }
          }
//        if(AccGyroStructure.gyr_x >=0)
//                sprintf(strBuffer," %.5d ",AccGyroStructure.gyr_x);
//        else
//                sprintf(strBuffer,"%.5d ",AccGyroStructure.gyr_x);
//        Uart_Send_String(strBuffer);
//        if(AccGyroStructure.gyr_y >=0)
//                sprintf(strBuffer," %.5d ",AccGyroStructure.gyr_y);
//        else
//                sprintf(strBuffer,"%.5d ",AccGyroStructure.gyr_y);
//        Uart_Send_String(strBuffer);
        if(AccGyroStructure.gyr_z >=0)
                sprintf(strBuffer," %.5d ",AccGyroStructure.gyr_z);
        else
                sprintf(strBuffer,"%.5d ",AccGyroStructure.gyr_z);
        Uart_Send_String(strBuffer);  
        if(AccGyroStructure.gyr_z_offset >=0)
                sprintf(strBuffer," %.5d ",AccGyroStructure.gyr_z_offset);
        else
                sprintf(strBuffer,"%.5d ",AccGyroStructure.gyr_z_offset);
        Uart_Send_String(strBuffer);

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-6-15 12:42:11 | 显示全部楼层
用dmp吧,一个库
库函数及代码:https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050

直接运行范例程序:i2cdevlib / Arduino / MPU6050 / Examples / MPU6050_DMP6 /
                           (路径:https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050/Examples/MPU6050_DMP6      )
回复 支持 反对

使用道具 举报

发表于 2016-6-15 12:43:19 | 显示全部楼层
开机之后需要一段时间自动校正
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-15 13:45:36 | 显示全部楼层
大师你的 QQ 号多少,我的279641518
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-15 17:04:32 | 显示全部楼层
这只是模拟啊,我装到车上还是还是反应慢
回复 支持 反对

使用道具 举报

发表于 2016-6-17 11:24:07 | 显示全部楼层
转角太小,装方向盘才有用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-17 22:30:19 | 显示全部楼层
1981818001 发表于 2016-6-17 11:24
转角太小,装方向盘才有用。

什么意思
我那个 往右转时灵敏度高,挺好。就是往右转时反应迟钝
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 10:40 , Processed in 0.065027 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表