二哈无法和OLED共用I2C问题的解决

2020-04-124663
AI 快速预览详细 收起
本文讨论了在UNO平台上,二哈和OLED共用I2C时遇到的信号质量问题。通过示波器分析发现,二哈的I2C上升沿太缓,导致信号质量不佳。为了解决这个问题,作者将OLED的上拉电阻从4K7改为500R,从而使得二哈和OLED可以共用I2C并正常工作。这个解决方案有效避免了自行排查的时间成本。
总结建议:改善二号的I2C信号质量。

UNO平台,二哈和OLED单独都能正常工作,但放到同一个I2C上就无法正常工作。当时感觉可能是驱动冲突?
后来把二哈和1602液晶屏放在同一个I2C上又能正常工作。于是感觉是信号质量可能有问题。
于是用手头小示波器看了下各个器件单独连接时的波形图,

单独二哈I2C波形,3V3,上升沿太缓,小示波器不方便卡时间,看上去Tr的余量不够:
二哈无法和OLED共用I2C问题的解决图1

单独OLEDI2C波形,3V3,看上去不错:
二哈无法和OLED共用I2C问题的解决图2

单独1602 I2C波形,5V0,看上去不错:
二哈无法和OLED共用I2C问题的解决图3

通过上面波形,感觉是二号的I2C波形太差,导致和OLED挂在一个I2C上时有问题。
而1602和二号挂在一起时,因为1602是5V0电平,所以可以掩盖这个问题。

于是就做了个实验,把淘宝上买的oled(如下图)背面的I2C上拉电阻从4K7改成了500R。
换完后,OLED和二号就能挂在同一个I2C上一起正常工作了。
二哈无法和OLED共用I2C问题的解决图4

有了规避手段,就没动力继续研究下去了。二号的开发兄弟要是看到这个帖子,能不能仔细测试确认下? :)

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
Youyou
Youyou
将I2C接口的速率设置为100K,即可让OLED、DS1307与二哈识图在同一根I2C总线上正常工作。
lthirty
lthirty
作者
回复Youyou
OK,原来也想这么改。不过想想要给小朋友用图形编程,里面没有现成的设置速率的积木,就没试了。下次让他们用code来设置设置。
490054348
490054348
IIC上拉电阻一般都推荐大一点,你这搞到500欧,太小了。从侧面说明二哈的IIC引脚估计没有上拉电阻
chenhanzhong
chenhanzhong
点个赞!
- 没有更多了 -