855浏览
查看: 855|回复: 4

[技术解答] 二哈无法和OLED共用I2C问题的解决

[复制链接]
总结建议:改善二号的I2C信号质量。

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

单独二哈I2C波形,3V3,上升沿太缓,小示波器不方便卡时间,看上去Tr的余量不够:
202004124785..png

单独OLEDI2C波形,3V3,看上去不错:
202004123457..png

单独1602 I2C波形,5V0,看上去不错:
202004123925..png

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

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

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

chenhanzhong  初级技匠

发表于 2020-4-13 10:10:17

点个赞!
回复

使用道具 举报

490054348  初级技师

发表于 2020-4-13 10:25:51

IIC上拉电阻一般都推荐大一点,你这搞到500欧,太小了。从侧面说明二哈的IIC引脚估计没有上拉电阻
回复

使用道具 举报

Youyou  初级技匠

发表于 2020-4-17 12:22:31

将I2C接口的速率设置为100K,即可让OLED、DS1307与二哈识图在同一根I2C总线上正常工作。
回复

使用道具 举报

lthirty  初级技师
 楼主|

发表于 2020-4-18 09:49:49

Youyou 发表于 2020-4-17 12:22
将I2C接口的速率设置为100K,即可让OLED、DS1307与二哈识图在同一根I2C总线上正常工作。 ...

OK,原来也想这么改。不过想想要给小朋友用图形编程,里面没有现成的设置速率的积木,就没试了。下次让他们用code来设置设置。
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail