OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5180|回复: 4

关于MPU6050DMP校准

[复制链接]

1

主题

4

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2017-12-12
在线时间
12 小时
发表于 2019-1-21 20:52:16 | 显示全部楼层 |阅读模式
5金钱
使用了DMP motion Driver5.12 和6.12版本 在6050DMP固件里面校准 对偏差寄存器都能读写,但是校准之后通过DMP读FIFI出来的值还是没校准过的存在偏差。主要是下面这个代码:
void run_self_test(void)
{
          char temp_result=0x00;  
    char test_packet[4] = {0};
    long gyro[3], accel[3];
    unsigned char i = 0;
                unsigned short accel_sens;
    float gyro_sens;       
    temp_result = mpu_run_self_test(gyro, accel);
                if(1)
                {
                                for(i = 0; i<3; i++)
                                {
                                        gyro[i] = (long)(gyro[i] * 32.8f); //convert to +-1000dps
                                        accel[i] *=2048.f; //convert to +-16G
                                        accel[i] = accel[i]<<16;
                                        gyro[i] = (long)(gyro[i]<<16);
                                }
                        mpu_set_gyro_bias_reg(gyro);
                        mpu_set_accel_bias_6050_reg(accel);
          }       
//                mpu_get_accel_sens(&accel_sens);
//                accel[0] *= accel_sens;
//                accel[1] *= accel_sens;
//                accel[2] *= accel_sens;
//                inv_set_accel_bias(accel, 3);
//                mpu_get_gyro_sens(&gyro_sens);
//                gyro[0] = (long) (gyro[0] * gyro_sens);
//                gyro[1] = (long) (gyro[1] * gyro_sens);
//                gyro[2] = (long) (gyro[2] * gyro_sens);
//                inv_set_gyro_bias(gyro, 3);               
}


有没有弄过DMP校准的同学,校准之后DMP读出来的数据是已经减去过零偏的。6050也换过,好像不行。

QQ截图20190121205114.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2017-12-12
在线时间
12 小时
 楼主| 发表于 2019-1-21 20:53:41 | 显示全部楼层
加速度2G  正常校准过后 xy应该接近于0   Z应该接近g16384
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-1-22 01:11:14 | 显示全部楼层
帮顶
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2017-12-12
在线时间
12 小时
 楼主| 发表于 2019-1-22 09:39:10 | 显示全部楼层

原子哥有在6050的实验里面试过这个校准吗??目前对偏差寄存器能读写,但是写入了偏差之后好像没啥用,官方有一个偏差寄存器的说明文档,都是按照手册弄得
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2017-12-12
在线时间
12 小时
 楼主| 发表于 2019-1-22 14:35:10 | 显示全部楼层
不用DMP固件,软件自己校准之后把零偏写进偏置寄存器之后,然后读取传感器的输出值还是一样的没有减去零偏值的。
QQ截图20190122143327.png
QQ截图20190122143345.png
QQ截图20190122143409.png
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 22:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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