沈阳工业大学本科生毕业设计(论文)
而实现高电平输出。SHT11首先由两个传感器分别测量相对湿度和温度信号,经过放大电路放大后分别送到14位的ADC进行A/D转换、标准和纠错,最后通过二线制的串行接口,将相对湿度和温度的数据送至单片机。最后利用单片机完成非线性补偿和温度补偿。SHT11的引脚图如图3-4所示。
图3-4 SHT11的引脚图
SHT11各引脚功能如下: GED:接地端
DATA:串行数据输出/输入端 SCK :串行口时钟输入端 VDD :接电源端 NC:不连接
SHT11的湿度检测运用电容式结构,并采用具有不同保护的“微型结构”检测电极系统与聚合物覆盖层来组成传感器芯片的电容,除保持电容式的原有特性外,还可以抵御来自外界的影响。由于它将温度传感器与湿度传感器结合在一起而构成了一个单一的个体,因而测量精度较高且可得出露点,同时不产生由于温度与湿度传感器之间随温度梯度变化引起的误差。CMOSensTM技术不仅将温湿度传感器结合在一起,而且还将信号放大电路、模/数转换器、校准数据存储器、标准I2C总线等电路集成在一个芯片内。SHT11传感器的校准系数预先存在OTP内存中。经校准的相对湿度和温度传感器与A/D转换器相连,可以将转换后的数字温湿度值送给二线I2C总线器件,从而将数字信号转换为符合IIC总线协议的串行数字信号。
传输开始:初始化传输时,应首先发出“传输开始”命令,该命令可在SCK为高电平时使DATA由高电平变为低电平,并在下一个SCK为高时将DATA升
20
沈阳工业大学本科生毕业设计(论文)
高。接下来的命令顺序包含三个地址(目前只支持“000”)和5个命令位,当DATA脚的SCK位处于低电平时,表示SHT11正确接收到命令。
连接复位顺序:如果与SHT11传感器的通讯中断,下列信号顺序会使串口复位:即当DATA线处于高电平时,触发SCK9次以上(含九次),此后接着发一个“传输开始”命令。
温湿度测量时序:当发出了温湿度测量命令后,控制器就要等到测量完成。使用8/12/14位的分辨率测量分别需要大约11/55/210毫秒的时间。为表明测量完成,SHT11会使数据线为低,此时单片机必须重新启动SCK,然后传送两字节的测量数据与1字节的校验码。控制器必须通过使DATA为低来确认每一个字节。通讯在确认CRC数据位后停止。如果没有用校验,则单片机就会在测量数据后保持SCK为高来停止通讯,SHT11在测量和通讯完成后会自动返回睡眠模式。需要注意的是,为了使SHT11的温升低于0.1℃,此时的工作频率不能大于标定的15%(如:12位精度时,每秒最多进行三次测量)。
低电压检测,SHT11工作时可以自行检测VDD电压是否低于2.45V,准确度为±0.1V。
下载校准系数:为了节省能量并提高速度,在每次测量前都要重新下载校准系数,从而使每一次测量节省8.2ms的时间。
测量分辨率设定:将测量分辨率从14位(温度)和12位(湿度)分别减到12位和8位可应用于高速或低功耗场合。
由于将传感器与其它功能电路部分结合在一起,因此,该传感器具有比其它类型的湿度传感器优越得多的性能。首先是传感器信号强度的增加增强了传感器芯片的抗干扰性能,保证了传感器的长期稳定性。而A/D转换同时完成,则降低了传感器对干扰噪声的敏感程度。其次在传感器芯片内部装载的校准数据保证了每一只湿度传感器具有相同的功能,具有100%的互换性。最后,传感器可直接通过IIC总线与任何类型的单片机。 3.2.4 SHT11的传输特性 (1)湿度值输出
SHT11可通过I2C总线直接输出数字量湿度值,其相对湿度数字输出特性曲线如图3-4所示。
21
沈阳工业大学本科生毕业设计(论文)
图3-5 SHT11传感器相对湿度数字输出特性曲线
由图可以看出,SHT11的输出特性呈一定的非线性,为了补偿湿度传感器的非线性,可以按如下公式修正湿度值:
RHIinera=C1SORH+C2SORH+C3SORH2 (3-1) 式中,SORH为传感器相对湿度测量值, 系数取值如下:
12位:SORH:C1=-4,C2=0.0405,C3=-2.8×10-6 8位:SORH:C1=-4,C2=0.648,C3=-7.2×10-4 (2)温度值输出
由于SHT11温度传感器的线性度非常好,故可以用下列公式将温度数字输出转换成实际温度值:T=d1+d2SOT。当电源电压位5V,且温度传感器的分辨率为14位时,d1=-4,d2=0.01,当温度传感器的分辨率为12位时,d1=-40,d2=0.04。
(3)露点计算
空气的露点值可根据相对湿度和温度值得来,具体的计算公式如下:LogEW=0.66077+7.5/(273.3+T)+[log(RH)-2] (3-2) Dp=[(0.66077-LogEW)×273.3]/(LogEW-8.16077) (3-3) 3.4.5输出转换为物理量 1)相对湿度
为了补偿传感器的非线性以获取精确数据,建议使用下列公式来转换输出: RHlinear=c1+c2*SORH+c3*SORH2
22
沈阳工业大学本科生毕业设计(论文)
SORH 12bir 8bit
2)湿度传感器相对湿度的温度补偿
实际的温度与25℃(~77°F)相差较大时,湿度传感器的温度系数需要修正: RHtrue=(T℃-25)(t1+t2*SORH)+RHlinear SORH 12bir 8bit
3.2.6 I2C总线简介
对于较复杂的单片机应用系统,元件与芯片之间短距离通信的物理线路往往比较多,这样不仅增加了硬件应用系统设计的难度,而且也不利于系统稳定性,成了系统设计中的一个瓶颈。针对这一问题,Philips公司提出了I2C总线协议,I2C总线协议有效地解决了这一问题。I2C(Inter-Integrated Circuit)总线是Philips公司开发的两线式串行总线,用于连接单片机及其外围设备。由于I2C总线仅用于两根信号线,并支持多主控工作方式,所以I2C总线在电子产品设备中应用非常普遍。
I2C总线是由数据线SDA和时钟线SCL构成的串行总线,可发送和接收数据。在CPU与被控I2C之间、进行双向传送,最高传送速度100 kbit/s。I2C总线在传送数据的过程中共有4种基本类型信号,分别是:开始信号、数据传输信号、应答信号和结束信号。
(a)开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。所有的命令都必须在开始条件以后进行。
(b)结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。所有的操作都必须在停止条件以前结束。I2C总线开始和停止数据传送的时序图如图3-6所示。
23
C1 -4 -4
C2 0.0405 0.648
C3 -2.8*10-6 -7.2*10-4
t1 0.01 0.01
t2 0.00008 0.00128
相当于 0.12 %RH/℃ @ 50% RH
沈阳工业大学本科生毕业设计(论文)
开始 停止
图3-6 I2C总线开始和停止数据传输时序图
(c)数据传输信号:在开始条件以后,时钟信号SCL的高电平周期期间,当数据线稳定时,数据线SDA的状态表示数据有效,即数据可以被读走,开始进行读操作。在时钟信号SCL的低电平周期期间,数据线上数据才允许改变。每位数据需要一个时钟脉冲。
图3-7 I2C总线有效数据传输时序图
(d)应答信号:接收数据的SHT11收到8bit数据后,向发送数据的单片机发出特定的低电平脉冲,表示已收到数据。这要求单片机必须产生一个与确认位相应的额外时钟脉冲(第9个脉冲)。若单片机确认失败,单片机必须发送一个数据结束信号给从器件。这时SHT11必须使SDA线保持高电平,使单片机能产生停止条件。I2C数据传输和信号应答时序图如图所示。
3.3 系统硬件电路
3.3.1 稳压电源
单片机需要3.3V电压供电,此电压由5V直流转换而来,如下图所示。
各电容均起滤波作用,U7为3.3V 三端稳压器。
24