OpenEdv-开源电子网

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

主机在与MPU6050六轴传感器通信读取值不变

[复制链接]

6

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2020-2-28
在线时间
61 小时
发表于 2022-5-2 00:09:30 | 显示全部楼层 |阅读模式
主机在与MPU6050六轴传感器通信时出现的问题总结:
1.如果遇到读取MPU6050的ID值正常,读取的传感器数据也符合正常值,但读取到的数据为一个不变值(如读取温度为25.253529不变化),但主机复位后却出现一次变化(此时温度为25.262352,然后再次采集,值还是不变化)。
出现问题的原因:可能是I2C驱动的时序出错,大家可检查I2C的驱动程序(如本人出现问题的原因就是结束信号出错,SCL还未拉高,就将SDA置高)


I2C结束开始条件是:必须是SCL时钟信号在高电平稳定后,SDA信号产生一个下降沿,则视为通信开始。
I2C结束信号条件是:必须是SCL时钟信号在由低变高稳定后,SDA信号产生一个上升沿,则视为通信结束。

2.如果遇到读取MPU6050的ID值正常,读取的传感器数据不符合正常值,且输出一个不变值(如读取温度为36.529999,值不变化)。
原因及解决:
(1)初始化之前没有进行复位MPU6050和延时处理,可参考下面代码:
uint8_t MPU6050_Init(void)
{
        uint8_t i=0;

        IIC_Init();
        while(MPU6050_Check())   //检测MPU6050连接是否正常
        {
                if(i==10)
                        return 1;
                delay_ms(5);
                i++;
        }
        MPU_Write_Byte(MPU6050_RA_PWR_MGMT_1, 0x80); //复位MPU6050
        delay_ms(100);
        MPU_Write_Byte(MPU6050_RA_PWR_MGMT_1, 0x00); //
        MPU_Write_Byte(MPU6050_RA_INT_ENABLE, 0x00); //禁止中断
        MPU_Write_Byte(MPU6050_RA_GYRO_CONFIG, 0x18); //陀螺仪满量程+-2000度/秒 (最低分辨率 = 2^15/2000 = 16.4LSB/度/秒
        MPU_Write_Byte(MPU6050_RA_ACCEL_CONFIG, 0x08); //加速度满量程+-4g   (最低分辨率 = 2^15/4g = 8196LSB/g )
        MPU_Write_Byte(MPU6050_RA_CONFIG, MPU6050_DLPF_BW_20);//设置陀螺的输出为1kHZ,DLPF=20Hz
        MPU_Write_Byte(MPU6050_FIFO_EN_REG, 0x00);   //关闭FIFO
        MPU_Write_Byte(MPU6050_RA_SMPLRT_DIV, 0x00);  //采样分频 (采样频率 = 陀螺仪输出频率 / (1+DIV),采样频率1000hz)
        MPU_Write_Byte(MPU6050_RA_INT_PIN_CFG, 0x02); //MPU 可直接访问MPU6050辅助I2C
        MPU_Write_Byte(MPU6050_RA_PWR_MGMT_1, 0x01); //唤醒MPU6050,并选择陀螺仪x轴PLL为时钟源
        MPU_Write_Byte(MPU6050_RA_PWR_MGMT_2, 0x00);
        return 0;
}

(2)MPU6050可能损坏,更换模块,再次尝试。
(3)I2C时序出现错误,不同单片机主频不同等原因(如延时等需要调整),根据自身原因检查、调整I2C时序,保证通信正常。

图片1.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 08:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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