2676|0

171

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

SHT31测评+I2C通讯 [复制链接]

 
本帖最后由 sylar^z 于 2020-3-17 13:45 编辑

SHT31是一款新型数字传感器,它具有模拟信号或I2C接口来获取温度和湿度数据。SHT31 Smart Gadget上是I2C接口的SHT31芯片。其I2C的最大速度可达到1MHz。本次测试本想验证其1MHz的速度,无奈手上的开发板性能和主频不足,无论硬件I2C或则模拟I2C(测试最大达到500+KHz)都无法达到1MHz的速度。所以本次测试了SHT31 Smart Gadget上nrf51822的I2C速度,并通过手上的NUCLEO-L011K4开发板读取SHT31数据并显示。

 

首先把SHT31 Smart Gadget上需要用到的端子线引出来。

通过引出的SHT31 I2C端子,连上逻辑分析仪。就可以看到nrf51822的I2C通讯时序了。

这是写入采集温湿度数据指令的时序。

写入指令为0x2416。

 

根据SHT31手册上指令说明,这是设定SHT31的采集模式为非始终展宽式慢速采集的。

 

这是读取温湿度数据的时序。

从时序的周期为2.6us来看,频率为384.62KHz,程序设定的I2C速度应该为400KHz。

 

接下去外接NUCLEO-L011K4开发板,尝试与SHT31通讯,读取数据。NUCLEO-L011K4板载了STM32L011K4芯片,主频32MHz。


之前在SHT31 Smart Gadget上焊接了nrf51822的调试端口。通过调试端口把nrf51822芯片的程序擦除,以防NUCLEO-L011K4开发板读取SHT31数据时,与nrf51822冲突。

NUCLEO-L011K4分别连接SHT31 和OLED显示屏。图片有点模糊,显示的温度13.4℃,湿度57.6%。

 

下图是NUCLEO-L011K4读取SHT31数据的时序图。

 

根据SHT31的手册说明,通过公式了计算出

温度T = (175 * 0x550F / 65535)-45 = 13.14℃

相对湿度RH=100*0x931A/65535=57.46%

 

这个时序与上图的屏幕显示不是同一时间点,所以数据不完全对应。总体来所,温度的精度为± 0.2℃,实际采集的数据也比较稳定。而相对湿度的精度为± 2%,实际采集的数据也是有些跳动,但都在± 2%以内。


此内容由EEWORLD论坛网友sylar^z原创,如需转载或用于商业用途需征得作者同意并注明出处

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表