温湿度模块 SHT2x 使用手册

Posted lrlv5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了温湿度模块 SHT2x 使用手册相关的知识,希望对你有一定的参考价值。

一、SHT2X 概况

1、1.8%校准后的精度

2、数字输出型,I2C接口

3、超低功耗

4、超长时间稳定性

5、DFN封装,可回流焊接

二、Sensor分析

DFN封装,3*3MM高1.1mm

技术分享

注:Center Pad连接到地,NC脚一定要悬空,还要远离热源。在90%相对湿度时,每增加1度热量,造成的误差可达%5.

Sensor Chip

本传感器除了具有电容性相对湿度sensor和band gap 温度sensor 外,还具有运放、AD转化器、OTP存储器、数字处理单元。

1)传感器特性

1、湿度

技术分享

技术分享

2、温度

技术分享

技术分享

3、电气特性

技术分享

4、操作范围

技术分享

5、湿度在不同温度下的准确度

技术分享

6、在VDD为3V时,不同温度下的功耗曲线

技术分享

7、在环温为25℃时,不同供电情况下的功耗情况

技术分享

8、使用信息

注意:由于焊料可能不能够完全填充,会有裸露的边沿或者引脚,随着时间的推移会被氧化。

经典的焊接温度为260度,但不能超过30秒,最好是红外或者对流回流焊焊接。手工焊接的话,在高达350度时,最好不要超过5秒。

非常重要:焊接之后,该元器件应该放在大于75%湿度的空间至少等12小时让器件激活,否则如果放在环境中,读取时将会有个偏移,这个偏移会慢慢消失。如果放在环境湿度小于75%而大于40%时,要等上5天才能激活。

修复:

烘培:在环境温度为100-105度湿度小于5%、10小时

重新激活:在环境温度为20-30度湿度在75%左右12小时

I2C

技术分享

技术分享

启动传感器

首次启动,传感器选择供电电压(从2.1V到3.6V)。上电之后,当SCL是高电平时,为了等到他空闲状态,至少需要15ms.例如从主机接收命令。在启动时电流功耗最大可达350uA.无论何时上电,没有执行测量或者通信,芯片都会自动的进入休眠状态。

启动和停止序列

同其他I2C通信一样。

发送命令

发送启动之后,后来的I2C头由7个字设备地址1000 000和一个SDA方向字(读为1,写为0)。第八个SCL时钟之后,如果有数据传送,传感器将会拉低SDA数据线,表示有ACK,否则NACK。发出测量命令后(1110 0011为温度,1110 0101为相对湿度),MCU必须要等到测量完成。具体指令见下表:

技术分享

主机/从机模式

同Sensor通信这有两种不同的操作方式,主机模式或从机模式。第一种情况下,时钟线SCL是由Sensor控制,在测量过程中。第二种情况是,时钟线是由MCU控制,在测量时。第二种通信方式允许I2C可以同其他设备通信在Sensor进行测量时。

Sensor主机模式通信时序图

技术分享

Sensor从机模式通信时序图:

技术分享

注意:I2C通信允许重复start,而不必非要有个stop。像上图。

最大的测量持续时间是由测量对象和分辨率决定的,具体如下:

技术分享

Sensor 软件复位

技术分享

用户配置寄存器

配置寄存器在写之前一定要先读里面的默认值是啥,然后再配置,写。寄存器每位表示如下:

技术分享技术分享

I2C时序如下:

技术分享

CRC 数据检查

这个是比较麻烦的,可以参考SHT1X/SHT7X CRC 手册。现以程序说明:

static uint8_t SHT2x_CheckCrc(uint8_tdata[], uint8_t nbrOfBytes, uint8_t checksum)

{

   uint8_t crc = 0;

   uint8_t byteCtr;

   uint8_t bit;

   //calculates 8-Bit checksum with given polynomial

   for (byteCtr = 0; byteCtr < nbrOfBytes; ++byteCtr)

    {

       crc ^= (data[byteCtr]);

       for (bit = 8; bit > 0; --bit)

       {

                if (crc & 0x80)

                       {

                                crc = (uint8_t)((crc<< 1) ^ (uint16_t)POLYNOMIAL);

                       }

                else

                {

                          crc = (crc<< 1);

                }

       }

    }

   if (crc != checksum)

       return FALSE;

   else

       return TRUE;   /**< match*/

}

相对湿度转化公式:

技术分享

SRH为读取值。

温度值转化公式:

技术分享






以上是关于温湿度模块 SHT2x 使用手册的主要内容,如果未能解决你的问题,请参考以下文章

Erlang 标准模块与使用手册

Ansible yum模块使用手册

Python os模块参考手册

Excel.Application使用手册

温湿度传感器

python学习手册:第二十二章——模块代码编写基础