• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

MPU6050与单片机之间的IIC通信不稳定

星辰若似尘 2018-05-29 浏览量:2242
MPU6050与单片机之间的IIC通信极不稳定,用20cm的杜邦线连接有时能很快的返回正确的数据,有时候需要等待很长时间,如果把连线距离加长的话,等待的时间会越来越长,是因为连线材质 的问题,还是因为IIC的本身通信距离就短,还是因为其他的原因,程序用的例程
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:9
  • 以前用mpu6050的时候,连接线几乎1.5米没有发现什么问题啊,用的就是杜邦线的那种线材,主控用的arduino可能我的那个对实时性要求不高,数据一直有

  • 这个取决于你的其他电路, 我之前做云台的时候, 静态调试,30Cm的排线一点问题没有,但如果云台电机转动起来,误码率就很高,直到不能通讯,套磁环,各种方法都没有好的效果, 距离短到10cm也一样的被干扰,最后在电机驱动上下功夫, MOS管驱动栅极上串10R的电阻,效果很明显,问题被解决。

    希望你在外围电路上找找原因,确定干扰源,根据干扰源实施解决办法

  • 肯定是硬件电路的问题,我用ADXL345和DS1302这种I2C器件,即使连了很长的杜邦线都好,也不会出现丢数据的情况,楼主应该是杜邦线信号被别的东西干扰了,要检查一下电路。

  • 楼主你是用DMP方式解算MPU6050的姿态角吗?如果是的DMP方式发热话,那IIC那两根通讯线不能过长,会影响IIC通讯。

  • 那应该是你的连接不可靠,或者多线程的时候影响IIC时序了。

  • 数据线是不是太长了。还是上拉的电阻太大了。

    接触是不是可靠啦之类 的。

    程序应该是没有问题的

  • 这个一般都是连接的问题,需要仔细检查你的连接是否正常,线路是否有干扰

  • IIC对线的要求不高的,主要原因是你的通讯波特率太高了吧,关注你的代码是否在发送数据的时候去干扰陀螺仪运行了

  • 可能是波特率的问题,或者是导线的问题

相关问题

问题达人换一批

MPU6050与单片机之间的IIC通信不稳定