综合技术
直播中

杨军

7年用户 304经验值
私信 关注
[问答]

为什么MPU6050上电后数据要过15-20秒左右才能稳定?

我在参考一些例程,将MPU6050移植到了我的51单片机中了,但资源有限,run_self_test();去掉了,应该不是这个问题吧!
现在的是这样:
上电后大约过15-20秒后系统才能正常工作,读出来pith、yaw、roll与实际运动方向也是吻合的,但就是上电后那20秒内数据一直在动。
由于资料和能力有限,虽然多基本功能算移植成功了,但许多细节我也是知其然不知其所以然。
现在都已经弄了将近一周了,仍然找不出原因,不知道是哪里抽风了。
我在初始化程序里面试过将ADCx的原始数据通过串口打印出来,但发现数据是稳定的,没有异常变化(我判断中断溢出标志后再取得ADC的数据)
但通过DMP后读出来的数据就是不稳定,这是怎么回事儿?
我在网上看见说开机8秒本来数据就稳定,但领导说不可能,还拿了一个别人做的东西出来,确实人家开机顶多3-5秒数据就稳定了
怎么办?
都要疯了。
初始化的程序是这样的:
uchar  AnBT_DMP_MPU6050_Init(void){        
       uchar anbt_dmp_data[6];
        
        st.chip_cfg.accel_half = 0;
        st.chip_cfg.sensors = 0xFF;
        st.chip_cfg.gyro_fsr = 0xFF;
        st.chip_cfg.accel_fsr = 0xFF;
        st.chip_cfg.lpf = 0xFF;
        st.chip_cfg.sample_rate = 0xFFFF;
        st.chip_cfg.fifo_enable = 0xFF;
        st.chip_cfg.bypass_mode = 0xFF;
        /* mpu_set_sensors always preserves this setting. */
        st.chip_cfg.clk_src = INV_CLK_PLL;
        /* Handled in next call to mpu_set_bypass. */
        st.chip_cfg.active_low_int = 1;
        st.chip_cfg.latched_int = 0;
        st.chip_cfg.int_motion_only = 0;
        st.chip_cfg.lp_accel_mode = 0;
        memset(&st.chip_cfg.cache, 0, sizeof(st.chip_cfg.cache));
        st.chip_cfg.dmp_on = 0;
        st.chip_cfg.dmp_loaded = 0;
        st.chip_cfg.dmp_sample_rate = 0;
        
        anbt_dmp_data[0] = 0x80;        //复位器件
        if (AnBT_DMP_I2C_Write(MPU6050_ADDRESS, MPU6050_RA_PWR_MGMT_1, 1, &(anbt_dmp_data[0]))) return 1;  
        delay_ms(100);
        anbt_dmp_data[0] = 0x00; //唤醒
        if (AnBT_DMP_I2C_Write(MPU6050_ADDRESS, MPU6050_RA_PWR_MGMT_1, 1, &(anbt_dmp_data[0]))) return 2;
        anbt_dmp_data[0] = INV_FSR_2000DPS << 3;//设置量程
        if(AnBT_DMP_I2C_Write(MPU6050_ADDRESS, MPU6050_RA_GYRO_CONFIG, 1, anbt_dmp_data)) return 3;
        st.chip_cfg.gyro_fsr =INV_FSR_2000DPS;
        anbt_dmp_data[0] = INV_FSR_2G << 3;//设置量程
        if(AnBT_DMP_I2C_Write(MPU6050_ADDRESS, MPU6050_RA_ACCEL_CONFIG, 1, anbt_dmp_data)) return 4;
         st.chip_cfg.accel_fsr =INV_FSR_2G;
         
        if (mpu_set_sample_rate(DEFAULT_MPU_HZ)) return 0x13;//频率
        
        
        if(mpu_set_sensors(INV_XYZ_GYRO | INV_XYZ_ACCEL)) return 5;//完成传感器设置
        
        
        //例程是  if(mpu_configure_fifo(INV_XYZ_GYRO | INV_XYZ_ACCEL)) return 6;//完成fifo设置,换回例程试过也是一样的现象
        set_int_enable(1);//原话是开中断
        mpu_reset_fifo();
        
        
        //MPU基础功能初始化完成///////////////////////////////////
        
        if(dmp_load_motion_driver_firmware())        return 7;// 加载运动驱动固件;
        if(dmp_set_orientation(inv_orientation_matrix_to_scalar(gyro_orientation)))return 8;//设置初始方向和给定偏差
        
        if(dmp_enable_feature(DMP_FEATURE_6X_LP_QUAT | DMP_FEATURE_TAP |
        DMP_FEATURE_ANDROID_ORIENT | DMP_FEATURE_SEND_RAW_ACCEL | DMP_FEATURE_SEND_CAL_GYRO |
        DMP_FEATURE_GYRO_CAL))        return 9;//DMP使能;
        
        if(dmp_set_fifo_rate(DEFAULT_MPU_HZ)) return 10;        //DMP设置FIFO速率
        
                #if ENABLE_SELF_TEST
                run_self_test();
                #endif
        if(mpu_set_dmp_state(1))return 11;//Dmp启动       return 0;
}

回帖(6)

蓝静

2019-7-31 08:52:14
这个是前面乱的时候的Pitch、Yaw、ROLL感觉好像有点什么规律,好像ROLL方向一直在转,要转完后才稳定似的
        P=         0          Y=          0          R=          0  
        P=         0          Y=          0          R=         1   
        P=         0          Y=          0          R=         1   
        P=         0          Y=          0          R=         1   
        P=         0          Y=          0          R=         1   
        P=         0          Y=          0          R=         1   
        P=         0          Y=          0          R=         1   
        P=         0          Y=          0          R=         1   
        P=         0          Y=          0          R=         1   
        P=         0          Y=          0          R=         1   
        P=         0          Y=          0          R=         2   
        P=         0          Y=          0          R=         2   
        P=         0          Y=          0          R=         2   
        P=         0          Y=          0          R=         2   
        P=         0          Y=          0          R=         2   
        P=         0          Y=          0          R=         2   
        P=         0          Y=          0          R=         2   
        P=         0          Y=          0          R=         2   
        P=         0          Y=          0          R=         2   
        P=         0          Y=          0          R=         3   
        P=         0          Y=          0          R=         3   
        P=         0          Y=          0          R=         3   
        P=         0          Y=          0          R=         3   
        P=         0          Y=          0          R=         3   
        P=         0          Y=          0          R=         3   
        P=         0          Y=          0          R=         3   
        P=         0          Y=          0          R=         3   
        P=         0          Y=          0          R=         4   
        P=         0          Y=          0          R=         4   
        P=         0          Y=          0          R=         4   
        P=         0          Y=          0          R=         4   
        P=         0          Y=          0          R=         4   
        P=         0          Y=          0          R=         4   
        P=         0          Y=          0          R=         4   
        P=         0          Y=          0          R=         5   
        P=         0          Y=          0          R=         5  
举报

徐铭潞

2019-7-31 09:14:16
        P=      -11           Y=         1           R=       141   
        P=      -11           Y=         2           R=       141   
        P=      -11           Y=         2           R=       141   
        P=      -11           Y=         2           R=       142   
        P=      -11           Y=         2           R=       142   
        P=      -11           Y=         2           R=       142   
        P=      -11           Y=         2           R=       143   
        P=      -11           Y=         2           R=       143   
        P=      -11           Y=         2           R=       143   
        P=      -11           Y=         2           R=       143   
        P=      -11           Y=         2           R=       144   
        P=      -11           Y=         2           R=       144   
        P=      -11           Y=         2           R=       144   
        P=      -11           Y=         2           R=       145   
        P=      -11           Y=         2           R=       145   
        P=      -11           Y=         2           R=       145   
        P=      -11           Y=         2           R=       145   
        P=      -11           Y=         2           R=       146   
        P=      -11           Y=         2           R=       146   
        P=      -11           Y=         2           R=       146   
        P=      -11           Y=         2           R=       146   
        P=      -11           Y=         2           R=       147   
        P=      -11           Y=         2           R=       147   
        P=      -11           Y=         3           R=       147   
        P=      -11           Y=         3           R=       148   
        P=      -11           Y=         3           R=       148   
        P=      -11           Y=         3           R=       148   
        P=      -11           Y=         3           R=       148   
        P=      -11           Y=         3           R=       149   
        P=      -11           Y=         3           R=       149   
        P=      -11           Y=         3           R=       149   
        P=      -11           Y=         3           R=       149   
        P=      -11           Y=         3           R=       150   
        P=      -11           Y=         3           R=       150   
        P=      -11           Y=         3           R=       150   
        P=      -11           Y=         3           R=       150   
        P=      -11           Y=         3           R=       151   
        P=      -11           Y=         3           R=       151   
        P=      -11           Y=         3           R=       151   
        P=      -11           Y=         3           R=       151   
        P=      -11           Y=         3           R=       152   
        P=      -11           Y=         3           R=       152   
        P=      -11           Y=         3           R=       152   
        P=      -11           Y=         3           R=       152   
        P=      -11           Y=         3           R=       152   
        P=      -11           Y=         3           R=       153   
        P=      -11           Y=         3           R=       153   
        P=      -11           Y=         3           R=       153   
        P=      -11           Y=         3           R=       153   
        P=      -11           Y=         4           R=       154   
        P=      -11           Y=         4           R=       154   
        P=      -11           Y=         4           R=       154   
        P=      -11           Y=         4           R=       154   
        P=      -11           Y=         4           R=       154   
        P=      -11           Y=         4           R=       155   
        P=      -11           Y=         4           R=       155   
        P=      -11           Y=         4           R=       155   
        P=      -11           Y=         4           R=       155   
        P=      -11           Y=         4           R=       155   
        P=      -11           Y=         4           R=       156   
        P=      -11           Y=         4           R=       156   
        P=      -11           Y=         4           R=       156   
        P=      -11           Y=         4           R=       156   
        P=      -11           Y=         4           R=       157   
        P=      -11           Y=         4           R=       157   
        P=      -11           Y=         4           R=       157   
        P=      -11           Y=         4           R=       157   
        P=      -11           Y=         4           R=       157   
        P=      -11           Y=         4           R=       158   
        P=      -11           Y=         4           R=       158   
        P=      -11           Y=         4           R=       158   
        P=      -11           Y=         4           R=       158   
        P=      -11           Y=         4           R=       158   
        P=      -11           Y=         4           R=       158   
        P=      -11           Y=         4           R=       159   
        P=      -11           Y=         4           R=       159   
        P=      -11           Y=         4           R=       159   
        P=      -11           Y=         4           R=       159   
        P=      -11           Y=         5           R=       159   
        P=      -11           Y=         5           R=       160   
        P=      -11           Y=         5           R=       160   
        P=      -11           Y=         5           R=       160   
        P=      -11           Y=         5           R=       160   
        P=      -11           Y=         5           R=       160   
        P=      -10           Y=         5           R=       160   
        P=      -10           Y=         5           R=       161   
        P=      -10           Y=         5           R=       161   
        P=      -10           Y=         5           R=       161   
        P=      -10           Y=         5           R=       161   
        P=      -10           Y=         5           R=       161   
        P=      -10           Y=         5           R=       161   
        P=      -10           Y=         5           R=       162   
        P=      -10           Y=         5           R=       162   
        P=      -10           Y=         5           R=       162   
        P=      -10           Y=         5           R=       162   
        P=      -10           Y=         5           R=       162   
        P=      -10           Y=         5           R=       162   
        P=      -10           Y=         5           R=       163   
        P=      -10           Y=         5           R=       163   
        P=      -10           Y=         5           R=       163   
        P=      -10           Y=         5           R=       163   
        P=      -10           Y=         5           R=       163   
        P=      -10           Y=         5           R=       163   
        P=      -10           Y=         5           R=       164   
        P=      -10           Y=         5           R=       164   
        P=      -10           Y=         5           R=       164   
        P=      -10           Y=         5           R=       164   
        P=      -10           Y=         5           R=       164   
        P=      -10           Y=         5           R=       164   
        P=      -10           Y=         5           R=       164   
        P=      -10           Y=         5           R=       165   
        P=      -10           Y=         5           R=       165   
        P=      -10           Y=         6           R=       165   
        P=      -10           Y=         6           R=       165   
        P=      -10           Y=         6           R=       165   
        P=      -10           Y=         6           R=       165   
        P=      -10           Y=         6           R=       165   
        P=      -10           Y=         6           R=       166   
        P=      -10           Y=         6           R=       166   
        P=      -10           Y=         6           R=       166   
        P=      -10           Y=         6           R=       166   
        P=      -10           Y=         6           R=       166   
        P=      -10           Y=         6           R=       166   
        P=      -10           Y=         6           R=       166   
        P=      -10           Y=         6           R=       166   
        P=      -10           Y=         6           R=       167   
        P=      -10           Y=         6           R=       167   
        P=      -10           Y=         6           R=       167   
        P=      -10           Y=         6           R=       167   
        P=      -10           Y=         6           R=       167   
        P=      -10           Y=         6           R=       167   
        P=      -10           Y=         6           R=       167   
        P=      -10           Y=         6           R=       167   
        P=      -10           Y=         6           R=       168   
        P=      -10           Y=         6           R=       168   
        P=      -10           Y=         6           R=       168   
        P=      -10           Y=         6           R=       168   
        P=      -10           Y=         6           R=       168   
        P=      -10           Y=         6           R=       168   
        P=      -10           Y=         6           R=       168   
        P=      -10           Y=         6           R=       168   
        P=      -10           Y=         6           R=       169   
        P=      -10           Y=         6           R=       169   
        P=      -10           Y=         6           R=       169   
        P=      -10           Y=         6           R=       169   
        P=      -10           Y=         6           R=       169   
        P=      -10           Y=         6           R=       169   
        P=      -10           Y=         6           R=       169   
        P=      -10           Y=         6           R=       169   
        P=      -10           Y=         6           R=       169   
        P=      -10           Y=         6           R=       170   
        P=      -10           Y=         7           R=       170   
        P=      -10           Y=         7           R=       170   
        P=      -10           Y=         7           R=       170   
        P=      -10           Y=         7           R=       170   
        P=      -10           Y=         7           R=       170   
        P=      -10           Y=         7           R=       170   
        P=      -10           Y=         7           R=       170   
        P=      -10           Y=         7           R=       170   
        P=      -10           Y=         7           R=       170   
        P=      -10           Y=         7           R=       171   
        P=      -10           Y=         7           R=       171   
        P=      -10           Y=         7           R=       171   
        P=      -10           Y=         7           R=       171   
        P=      -10           Y=         7           R=       171   
        P=      -10           Y=         7           R=       171   
        P=      -10           Y=         7           R=       171   
        P=      -10           Y=         7           R=       171   
        P=      -10           Y=         7           R=       171   
        P=      -10           Y=         7           R=       171   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       172   
        P=      -10           Y=         7           R=       173   
        P=      -10           Y=         7           R=       173   
        P=      -10           Y=         7           R=       173   
        P=      -10           Y=         7           R=       173   
        P=      -10           Y=         7           R=       173   
        P=      -10           Y=         7           R=       173   
        P=       -9           Y=         7           R=       173   
        P=       -9           Y=         7           R=       173   
        P=       -9           Y=         7           R=       173   
        P=       -9           Y=         7           R=       173   
        P=       -9           Y=         7           R=       173   
        P=       -9           Y=         7           R=       173   
        P=       -9           Y=         7           R=       174   
        P=       -9           Y=         7           R=       174   
        P=       -9           Y=         7           R=       174   
        P=       -9           Y=         7           R=       174   
        P=       -9           Y=         8           R=       174   
        P=       -9           Y=         8           R=       174   
        P=       -9           Y=         8           R=       174   
        P=       -9           Y=         8           R=       174   
        P=       -9           Y=         8           R=       174   
        P=       -9           Y=         8           R=       174   
        P=       -9           Y=         8           R=       174   
        P=       -9           Y=         8           R=       174   
        P=       -9           Y=         8           R=       174   
        P=       -9           Y=         8           R=       174   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       175   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       176   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         8           R=       177   
        P=       -9           Y=         9           R=       177   
        P=       -9           Y=         9           R=       177   
        P=       -9           Y=         9           R=       177   
        P=       -9           Y=         9           R=       177   
        P=       -9           Y=         9           R=       177   
        P=       -9           Y=         9           R=       177   
        P=       -9           Y=         9           R=       177   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       178   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       179   
        P=       -9           Y=         9           R=       180   
        P=       -9           Y=         9           R=      -179   
        P=       -9           Y=         9           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -179   
        P=       -9           Y=        10           R=      -178   
举报

王鑫

2019-7-31 09:31:58
帮顶
举报

闫雪花

2019-7-31 09:47:25
你用DMP啊? 我之前用原点博士的DMP程序试过,好像很快就稳定了啊!
不过不太推荐使用DMP,除非你的机体上面没有马达抖动,否则,马达一抖动,整个数据非常不好。我现在用的是匿名的算法!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分