温湿度模块 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 使用手册的主要内容,如果未能解决你的问题,请参考以下文章