资源描述
SHT75
1. 芯片结构:内部集成有 温湿度传感器、信号放大调理、A/D转换、I2C总线
2. 分辨率:湿度值输出分辨率为14位,温度值输出分辨率为12位,可通过软件编程为12位和8位。
3. 测量精度:湿度测量精度为±1.8%RH,温度测量精度为±0.3℃
4. 工作电压:2.4V~5.5V(注:不同工作电压下的温度系数不同)
5. 引脚连接:SCK接I2C总线的时钟,VCC GND电源和地,SDA数据引脚
6. 通信时序
基本符合I2C的通信时序,通信过程分为:启动传感器、发送命令、测温和复位4个步骤。
(1)启动步骤:选择供电电压后,将传感器通电,上电速率不能低于1V/ms,通电后传感器进入11ms的休眠期,在此期间不允许对传感器发送任何命令。
(2)发送命令:在发送命令中,用一组“启动传输”时序来表示数据传输的初始化,内容包括:当SCL时钟高电平时将SDA翻转为低电平,紧接着SCL变为低电平,随后在SCL时钟为高电平时将SDA翻转为高电平。后续命令包含三个地址位(目前只支持“000”)和5个命令位(见命令列表)。SHT75返回如下时序表明已正确的接收到指令:在第8个SCL时钟的下降沿之后,将SDA下拉为低电平(ACK位),并且在第9个SCL时钟的下降沿之后,释放SDA(恢复高电平)。
(3)温度、湿度测量过程:发送一组测量命令(“00000101”表示测量相对湿度RH,“00000011”表示测量温度T)后,51单片机等待测量结束,该过程大约20/80/320ms(最多可能有30%的变化),分别对应8/12/14 bit测量。SHT75通过下拉SDA引脚至低电平并进入空闲模式来表示测量结束。51单片机在再次触发SCL时钟前,必须等待这个“转换完成”信号来读出数据。接着传输2个字节的测量数据和1个字节的CRC奇偶校验。51单片机需要通过下拉SDA为低来确认每个字节。所有的数据传输从MSB开始,右值有效(例如:对于12bit数据,从第5个SCL时钟起算作MSB,而对于8bit数据,首字节则无意义)。SHT75用CRC数据(CRC计算公式X8+X5+X4+1)的确认位来表明通信结束。如果不使用CRC校验,51单片机可以在测量值LSB后,通过保持确认位ACK为高电平,来终止通信。在测量和通信结束后,SHT75自动转入休眠模式。
7. SHT75的命令和控制寄存器
注:5位命令位和3个地址位(“000”且“000”在前)组合起来构成一个完整的命令字节。
命令列表
命令编码
功能
00011
测量温度
00101
测量湿度
00111
读状态寄存器
00110
写状态寄存器
11110
软件复位,用于复位总线接口和清空状态寄存器
0101x~1110x
预留
内部控制寄存器
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
保留
电压标志位
预留
预留
测试
加热控制
OTP加载
分辨率设置
8. SHT75的温湿度计算
湿度修正公示:RH(linear)=C1+C2*SO(RH)+C3*SO(RH)*SO(RH)
单位为:%RH
式中SO(RH)为SHT75的输出测量值,公式中其他系数见下表:
SO(RH)
C1
C2
C3
12位
-4
0.0405
-2.8*10(-6)
8位
-4
0.648
-7.2*10(-4)
上述公式公式适用于25℃,实际应用中应考虑温度补偿,按如下公式对湿度进行温度补偿:
RH(true)=(T-25)*(T1+T2*SO_RH)+RH_linear
式中T为当前温度,其他系数如下表:
SO_RH
T1
T2
12位
0.01
0.00008
8位
0.01
0.00128
SHT75的温度传感器线性很好,故可用下式将温度输出转换为实际温度: T_emp=D1+D2*SO_T
式中SO_T为SHT75输出温度测量值;D1按电源电压大小取值;D2按温度转换精度取值
SHT75温度系数D1的取值
VCC
5V
4V
3.5V
3V
2.5V
D1
-40.00
-39.75
-39.66
-39.60
-39.55
SHT75温度系数D2的取值
精度
14位
12位
D2
0.01
0.04
展开阅读全文