You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派3B ROS环境下MPU6050 Remote I/O Error(错误121)解决问询

解决MPU6050 Remote I/O Error问题(树莓派3B + ROS)

硬件排查(优先处理,LED不亮大概率是硬件问题)

  • 确认I2C总线启用:执行sudo raspi-config,进入Interface Options -> I2C选择启用,重启树莓派后,用i2cdetect -y 1扫描总线,查看是否有0x68设备(MPU6050默认地址)。如果扫不到,说明硬件连接存在问题。
  • 供电检查:MPU6050必须接3.3V电压,禁止接5V(部分模块可能兼容但稳定性极差)。用万用表测量VCC引脚是否有3.3V输出,检查VCC和GND的焊接点是否牢固,有无虚焊、短路情况。
  • 引脚连接验证:SDA接树莓派GPIO2(引脚3),SCL接GPIO3(引脚5),确认引脚没有接反,焊接点无松动。
  • 模块故障排除:更换一块已知正常的MPU6050模块测试,排除模块本身损坏的可能。

软件配置调整

  • 权限问题:访问I2C设备需要root权限,运行ROS节点时加sudo前缀,比如sudo roslaunch your_package your_launch_file.launch;或者永久授权:执行sudo usermod -aG i2c pi,重启后普通用户即可访问I2C总线。
  • 更换SMBus库:树莓派3B使用smbus2比原生smbus更稳定,安装sudo pip install smbus2,然后将代码中的import smbus改为import smbus2 as smbus。

代码优化与修复

  • 唤醒MPU6050:默认情况下MPU6050处于睡眠模式(PWR_MGMT_1寄存器默认值为0x40),代码中当前设置为1(选择X轴陀螺仪为时钟源),改为0强制唤醒模块:
    # 原代码
    bus.write_byte_data(Device_Address, PWR_MGMT_1, 1)
    # 修改为
    bus.write_byte_data(Device_Address, PWR_MGMT_1, 0)
    
  • 添加异常捕获:在I2C读写代码中加入错误处理,避免直接崩溃并输出详细错误信息:
    def read_raw_data(addr):
        try:
            high = bus.read_byte_data(Device_Address, addr)
            low = bus.read_byte_data(Device_Address, addr+1)
            value = ((high << 8) | low)
            if(value > 32768):
                value = value - 65536
            return value
        except IOError as e:
            rospy.logerr("I2C读取错误: %s", str(e))
            return 0
    
    def MPU_Init():
        try:
            bus.write_byte_data(Device_Address, SMPLRT_DIV, 7)
            bus.write_byte_data(Device_Address, PWR_MGMT_1, 0)
            bus.write_byte_data(Device_Address, CONFIG, 0)
            bus.write_byte_data(Device_Address, GYRO_CONFIG, 24)
            bus.write_byte_data(Device_Address, INT_ENABLE, 1)
        except IOError as e:
            rospy.logerr("MPU初始化I2C错误: %s", str(e))
            rospy.signal_shutdown("初始化失败")
    

内容的提问来源于stack exchange,提问作者José Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 16:55:22