OpenEdv-开源电子网

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

关于MPU6050的基准水平面设置问题

[复制链接]

20

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2015-10-2
在线时间
59 小时
发表于 2017-2-9 14:31:16 | 显示全部楼层 |阅读模式
3金钱
对于MPU6050怎么设置水平基准面不是很懂,我移植了原子哥的例程,发现上电之后,无论我怎么放置模块,他都会自动有个基准面,貌似配置之后,基准面就确定了,请问是哪一块确定的,求大神解答
u8 MPU_Init(void)
{
        u8 res;

        MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X80);        //复位MPU6050
      delay_ms(100);
        MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X00);        //唤醒MPU6050
        MPU_Set_Gyro_Fsr(2);                                        //陀螺仪传感器,±2000dps
        MPU_Set_Accel_Fsr(0);                                        //加速度传感器,±2g
        MPU_Set_Rate(50);                                                //设置采样率50Hz
        MPU_Write_Byte(MPU_INT_EN_REG,0X00);        //关闭所有中断
        MPU_Write_Byte(MPU_USER_CTRL_REG,0X00);        //I2C主模式关闭
        MPU_Write_Byte(MPU_FIFO_EN_REG,0X00);        //关闭FIFO
        MPU_Write_Byte(MPU_INTBP_CFG_REG,0X80);        //INT引脚低电平有效
        res=MPU_Read_Byte(MPU_DEVICE_ID_REG);
        if(res==MPU_ADDR)//器件ID正确
        {
                MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X01);        //设置CLKSEL,PLL X轴为参考
                MPU_Write_Byte(MPU_PWR_MGMT2_REG,0X00);        //加速度与陀螺仪都工作
                MPU_Set_Rate(50);                                                //设置采样率为50Hz
        }else return 1;
        return 0;
}

最佳答案

查看完整内容[请看2#楼]

之前犯了个低级错误 解决了 谢谢
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2015-10-2
在线时间
59 小时
 楼主| 发表于 2017-2-9 14:31:17 | 显示全部楼层
弦子的弦 发表于 2017-2-9 15:14
什么叫做水平面都是一样?就是不水平的方式,初始完成会有一定角度么?

之前犯了个低级错误  解决了  谢谢
回复

使用道具 举报

20

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2015-10-2
在线时间
59 小时
 楼主| 发表于 2017-2-9 14:45:35 | 显示全部楼层
补充一点,就是我无论怎么放置,上电之后在相同的位置获得的XYZ值都是一样的,我是想以自己设置的水平面为基准。不知道怎么改了
回复

使用道具 举报

6

主题

279

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2015-3-27
在线时间
98 小时
发表于 2017-2-9 15:03:16 | 显示全部楼层
这个之前有帖子提及这个问题,6050上电后会自动把上电状态校准为(0°,0°,0°),你只需要改动一部分代码,让他不要自动校准就行.但是要自己先获得水平面时候的误差.
回复

使用道具 举报

20

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2015-10-2
在线时间
59 小时
 楼主| 发表于 2017-2-9 15:12:50 | 显示全部楼层
弦子的弦 发表于 2017-2-9 15:03
这个之前有帖子提及这个问题,6050上电后会自动把上电状态校准为(0°,0°,0°),你只需要改动一部分代码,让他 ...

我也看了 ,现在我是无论模块怎么放置,上电之后的水平面都是一样的,和你说的正好相反,我也是移植的原子的程序 ,很奇怪
回复

使用道具 举报

6

主题

279

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2015-3-27
在线时间
98 小时
发表于 2017-2-9 15:14:08 | 显示全部楼层
15621009605 发表于 2017-2-9 15:12
我也看了 ,现在我是无论模块怎么放置,上电之后的水平面都是一样的,和你说的正好相反,我也是移植的原 ...

什么叫做水平面都是一样?就是不水平的方式,初始完成会有一定角度么?
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2017-4-15
在线时间
6 小时
发表于 2018-3-14 08:56:20 | 显示全部楼层
帅哥,实现了吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-13 19:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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