1 SHT15简介
1.1 SHT15性能特点
SHT15是瑞士Sensirion公司推出的一款数字温湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。其主要特点如下:
1)将温湿度感测、信号变换、A/D转换和I2C总线接口等功能集成到一个芯片上;
2)提供两线数字串行接口SCK和DATA,并支持CRC传输校验;
3)测量精度可编程调节,内置A/D转换器;
4)提供温度补偿和湿度测量值以及高质量的露点计算功能;
5)由于采用了CMOSensTM技术,可浸入水中进行测量。
1.2 SHT15性能参数
SHT15的性能参数如下:
1)湿度测量范围:0~100%RH;2)温度测量范围:-40~+123.8℃;3)湿度测量精度:±2.0%RH;4)温度测量精度:±0.3℃;5)响应时间:8 s(tau63%);6)可完全浸没。
由于该款温湿度传感器具有高精度,并能浸入水中测量等特点,而所设计的测氡仪要求具有测量土壤、大气,水中氡浓度的功能,因此采用该款温湿度传感器完全满足要求。
1.3 SHT15内部结构及工作原理
数字式温湿度传感器SHT15是8引脚SMD(LCC)表面贴片封装形式,如图1所示。其中引脚1接地,引脚4接电源,工作电压为2.4~5.5 VDC,为了达到传感器的最高精确度,供电电压为3.3 V为宜。引脚2为数据线,引脚3为时钟线,引脚5~8为空管脚。
数字式温湿度传感器SHT15将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,其内部结构如图2所示。
该芯片包括1个电容性聚合体湿度敏感元件和1个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大,然后进入1个14位的A/D转换器,最后经过二线串行数字接口输出数字信号。SHT15在出厂前,都会在恒湿或恒温环境中进行校准,校准系数存储在校准寄存器中,在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT15内部还集成了1个加热元件,加热元件接通后可以将SHT15的温度升高5℃左右,同时功耗也会有所增加。此功能主要是为了比较加热前后的温度和湿度值。可以综合验证两个传感器元件的性能。在高湿(>95%RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT15温度升高、相对湿度降低,较加热前,测量值会略有差异。
2 硬件设计
微处理器可通过二线串行数字接口与SHT15进行通信,由于其通信协议与通用的I2C总线协议不兼容,所以在设计时直接利用S3C2440A的通用I/O口来模拟通信时序控制SHT15。S3C2440A有130个通用I/O口,共分为9组(GPAGPJ),其中GPG包括16路I/O口。S3C2440A引脚采用289 -FBGA封装,GPG9及GPG10对应引脚功能图如表1所示。
设计中利用S3C2440A的GPG9模拟时钟信号,GPG10来模拟数据信号(数据线需要外接上拉电阻),硬件连接图如图3所示。
3 软件设计
在程序开始,控制器S3C2440A需要用一组“启动传输”时序,来表示数据传输的初始化。它包括:当SCK时钟高电平时DATA翻转为低电平,紧接着SCK变为低电平的启动,如图4所示,随后是在SCK时钟高电平时DATA翻转为高电平。接着SCK变为低电平,随后又变为高电平,SCK时钟为高电平时,DATA再次翻转为高电平。
控制器发出启动命令后,接着发出一个后续8为命令码。后续命令包含3个地址位(目前只支持"000"’)和5个命令位。相应代码对应的命令集如表2所示。
SHT15接收到上述地址和命令码后,在第8个时钟下降沿,将DATA下拉为低电平作为从机的ACK;在第9个时钟下降沿之后,从机释放DATA(恢复高电平)总线;释放总线后,从机开始测量当前湿度,测量结束后,再次将DATA总线拉为低电平;主机检测到DATA总线被拉低后,得知湿度测量已经结束,给出SCK时钟信号;从机在第8个时钟下降沿,先输出高字节数据;在第9个时钟下降沿,主机将DATA总线拉低作为ACK信号。然后释放总线DATA;在随后8个SCK周期下降沿,从机发出低字节数据;接下来的SCK下降沿,主机再次将DATA总线拉低作为接收数据的ACK信号;最后8个SCK下降沿从机发出CRC校验数据,主机不予应答(NACK)则表示测量结束。
本设计中微处理器为三星公司的S3C2440A,通过对I/O寄存器编程来模拟通信过程。该处理器的I/O口可根据需要设置成输入、输出,高阻等状态。在软件实现过程中通过子函数来实现I/O口状态的改变。
以上函数可以实现SCK和DATA总线的各种输入与输出状态。在SHT15的通信中还需要延时函数,设计时采用函数void DelaylIn8(U32 tt)实现软延时。这样就能完成对SHT15通信协议的模拟。
4 温湿度及露点的计算
4.1 相对湿度
SHT15可通过I2C总线直接输出数字量湿度值,其相对湿度系数输出特性曲线如图5所示。
由图5可知,SHT15的输出特性呈一定的非线性,为了补偿湿度传感器非线性以获取准确数据,采用式(1)来修正输出数值。
其中C1,C2,C3的值如表3所示,SHT15的相对湿度输出值(SORH)为12 bit。
温湿度传感器SHT15及其在嵌入式系统中的应用
4.2 温度计算及相对湿度的温度补偿
该温湿度传感器具有很好的线性,可用式(2)将数字输出转换为温度值。温度转换系数如表4所示。
实际测量时利用式(3)修正温度系数。温度补偿系数如表5所示。
4.3 露点计算
露点是一个特殊的温度值,是空气保持某一定湿度必须达到的最低温度。当空气的温度低于露点时,空气容纳不了过多的水份,这些水份会变成雾、露水或霜。露点可以根据当前相对湿度值和温度值计算得出,具体的计算公式如下:
式中,T为当前温度值,SORH为相对湿度值,Dp为露点。
5 实验结果
采用测氡仪对室内氡浓度进行测量,同时测量温湿度,为了保证测量的准确性,在不同地方对大气中进行了测量,同时测量测试为20次,求平均值计算,测量结果如表6所示。
6 结束语
本文提出了数字式温湿度传感器SHT15在嵌入式系统中的应用方案,并详细介绍了测氡仪温湿度测控模块的设计过程。由于SHT15集成了14位A/D转换器,采用数字输出,具有精度高、体积小、抗干扰性强等优点。作为测氡仪温湿度的监控系统,能够满足系统设计的要求。该设计也为其在其他监控设备中的应用提供参考作用。