氡及其子体的测量是一个涵盖智能仪器、核辐射探测、核技术应用、环境*价、工业计量、工业自动化、计算机通信与软件等多领域的问题。然而氡及其子体浓度受温湿度的影响很大,因此温湿度的测量对于测氡仪来说是非常重要的。传统的模拟式温湿度传感器一般都要涉及信号调理电路并需要经过复杂的校准和标定过程,所以测量精度难以保证。由某公司生产的SHT15单芯片传感器,是一款含有已校准数字信号输出的温湿度复合传感器,应用专利的工业COMS过程微加工技术(CMOSens),确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括1个电容式聚合体测湿元件和1个能隙式测温元件,并与1个14位的A/D转换器以及串行接口电路在同一芯片上实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价比高等优点。系统采用S3C2440A作为微控制器,S3C2440A采用ARM920T内核,提供了一套完整的通用系统外设,有130个多功能输入/输出端口,所以在设计时直接利用S3C2440A的通用I/O口来模拟通信时序控制SHT15,整个电路设计简单。
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为空管脚。
图1 SHT15引脚图
数字式温湿度传感器SHT15将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,其内部结构如图2所示。
图2 SHT15内部结构
该芯片包括1个电容性聚合体湿度敏感元件和1个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大,然后进入1个14位的A/D转换器,最后经过二线串行数字接口输出数字信号。SHT15在出厂前,都会在恒湿或恒温环境中进行校准,校准系数存储在校准寄存器中,在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT15内部还集成了1个加热元件,加热元件接通后可以将SHT15的温度升高5℃左右,同时功耗也会有所增加。此功能主要是为了比较加热前后的温度和湿度值。可以综合验证两个传感器元件的性能。在高湿(>95%RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT15温度升高、相对湿度降低,较加热前,测量值会略有差异。[page]
2 硬件设计
微处理器可通过二线串行数字接口与SHT15进行通信,由于其通信协议与通用的I2C总线协议不兼容,所以在设计时直接利用S3C2440A的通用I/O口来模拟通信时序控制SHT15。S3C2440A有130个通用I/O口,共分为9组(GPAGPJ),其中GPG包括16路I/O口。S3C2440A引脚采用289 -FBGA封装,GPG9及GPG10对应引脚功能图如表1所示。
表1 GPG9及GPG10对应引脚功能图
设计中利用S3C2440A的GPG9模拟时钟信号,GPG10来模拟数据信号(数据线需要外接上拉电阻),硬件连接图如图3所示。
图3 微控制器与SHT15的硬件连接图
3 软件设计
在程序开始,控制器S3C2440A需要用一组“启动传输”时序,来表示数据传输的初始化。它包括:当SCK时钟高电平时DATA翻转为低电平,紧接着SCK变为低电平的启动,如图4所示,随后是在SCK时钟高电平时DATA翻转为高电平。接着SCK变为低电平,随后又变为高电平,SCK时钟为高电平时,DATA再次翻转为高电平。
图4 启动传输时序
控制器发出启动命令后,接着发出一个后续8为命令码。后续命令包含3个地址位(目前只支持"000"’)和5个命令位。相应代码对应的命令集如表2所示。
表2 SHT15命令集
SHT15接收到上述地址和命令码后,在第8个时钟下降沿,将DATA下拉为低电平作为从机的ACK;在第9个时钟下降沿之后,从机释放DATA(恢复高电平)总线;释放总线后,从机开始测量当前湿度,测量结束后,再次将DATA总线拉为低电平;主机检测到DATA总线被拉低后,得知湿度测量已经结束,给出SCK时钟信号;从机在第8个时钟下降沿,先输出高字节数据;在第9个时钟下降沿,主机将DATA总线拉低作为ACK信号。然后释放总线DATA;在随后8个SCK周期下降沿,从机发出低字节数据;接下来的SCK下降沿,主机再次将DATA总线拉低作为接收数据的ACK信号;最后8个SCK下降沿从机发出CRC校验数据,主机不予应答(NACK)则表示测量结束。[page]
本设计中微处理器为三星公司的S3C2440A,通过对I/O寄存器编程来模拟通信过程。该处理器的I/O口可根据需要设置成输入、输出,高阻等状态。在软件实现过程中通过子函数来实现I/O口状态的改变。
以上函数可以实现SCK和DATA总线的各种输入与输出状态。在SHT15的通信中还需要延时函数,设计时采用函数void DelaylIn8(U32 tt)实现软延时。这样就能完成对SHT15通信协议的模拟。
4 温湿度及露点的计算
4.1 相对湿度
SHT15可通过I2C总线直接输出数字量湿度值,其相对湿度系数输出特性曲线如图5所示。
图5 从SORH转换为相对湿度
由图5可知,SHT15的输出特性呈一定的非线性,为了补偿湿度传感器非线性以获取准确数据,采用式(1)来修正输出数值。
其中C1,C2,C3的值如表3所示,SHT15的相对湿度输出值(SORH)为12 bit。[page]
表3 温度线性补偿系数
4.2 温度计算及相对湿度的温度补偿
该温湿度传感器具有很好的线性,可用式(2)将数字输出转换为温度值。温度转换系数如表4所示。
表4 温度转换系数
实际测量时利用式(3)修正温度系数。温度补偿系数如表5所示。
表5 温度补偿系数
4.3 露点计算
露点是一个特殊的温度值,是空气保持某一定湿度必须达到的最低温度。当空气的温度低于露点时,空气容纳不了过多的水份,这些水份会变成雾、露水或霜。露点可以根据当前相对湿度值和温度值计算得出,具体的计算公式如下:
式中,T为当前温度值,SORH为相对湿度值,Dp为露点。
5 实验结果
采用测氡仪对室内氡浓度进行测量,同时测量温湿度,为了保证测量的准确性,在不同地方对大气中进行了测量,同时测量测试为20次,求平均值计算,测量结果如表6所示。
表6 氡浓度及温湿度测量值
6 结束语
本文提出了数字式温湿度传感器SHT15在嵌入式系统中的应用方案,并详细介绍了测氡仪温湿度测控模块的设计过程。由于SHT15集成了14位A/D转换器,采用数字输出,具有精度高、体积小、抗干扰性强等优点。作为测氡仪温湿度的监控系统,能够满足系统设计的要求。该设计也为其在其他监控设备中的应用提供参考作用。
上一篇:基于I2C的嵌入式多点触摸屏幕驱动设计
下一篇:DS1621在Linux下的IIC接口驱动设计
推荐阅读最新更新时间:2024-03-16 13:19