SHT31测评+I2C通讯
<div class='showpostmsg'> 本帖最后由 sylar^z 于 2020-3-17 13:45 编辑<p>SHT31是一款新型数字传感器,它具有模拟信号或I2C接口来获取温度和湿度数据。SHT31 Smart Gadget上是I2C接口的SHT31芯片。其I2C的最大速度可达到1MHz。本次测试本想验证其1MHz的速度,无奈手上的开发板性能和主频不足,无论硬件I2C或则模拟I2C(测试最大达到500+KHz)都无法达到1MHz的速度。所以本次测试了SHT31 Smart Gadget上nrf51822的I2C速度,并通过手上的NUCLEO-L011K4开发板读取SHT31数据并显示。</p>
<p> </p>
<p>首先把SHT31 Smart Gadget上需要用到的端子线引出来。</p>
<p></p>
<p>通过引出的SHT31 I2C端子,连上逻辑分析仪。就可以看到nrf51822的I2C通讯时序了。</p>
<p>这是写入采集温湿度数据指令的时序。</p>
<p>写入指令为0x2416。</p>
<p> </p>
<p></p>
<p>根据SHT31手册上指令说明,这是设定SHT31的采集模式为非始终展宽式慢速采集的。</p>
<p style="text-align:justify"> </p>
<p><span style="font-size:10.5pt"><span style="font-family:宋体">这是读取温湿度数据的时序。</span></span></p>
<p></p>
<p>从时序的周期为2.6us来看,频率为384.62KHz,程序设定的I2C速度应该为400KHz。</p>
<p> </p>
<p>接下去外接NUCLEO-L011K4开发板,尝试与SHT31通讯,读取数据。NUCLEO-L011K4板载了STM32L011K4芯片,主频32MHz。</p>
<p><br />
之前在SHT31 Smart Gadget上焊接了nrf51822的调试端口。通过调试端口把nrf51822芯片的程序擦除,以防NUCLEO-L011K4开发板读取SHT31数据时,与nrf51822冲突。</p>
<p></p>
<p>NUCLEO-L011K4分别连接SHT31 和OLED显示屏。图片有点模糊,显示的温度13.4℃,湿度57.6%。</p>
<p> </p>
<p>下图是NUCLEO-L011K4读取SHT31数据的时序图。</p>
<p></p>
<p> </p>
<p></p>
<p></p>
<p>根据SHT31的手册说明,通过公式了计算出</p>
<p>温度T = (175 * 0x550F / 65535)-45 = 13.14℃</p>
<p>相对湿度RH=100*0x931A/65535=57.46%</p>
<p> </p>
<p>这个时序与上图的屏幕显示不是同一时间点,所以数据不完全对应。总体来所,温度的精度为± 0.2℃,实际采集的数据也比较稳定。而相对湿度的精度为± 2%,实际采集的数据也是有些跳动,但都在± 2%以内。</p>
<p><br />
此内容由EEWORLD论坛网友sylar^z原创,如需转载或用于商业用途需征得作者同意并注明出处</p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页:
[1]