环境温、湿度及光照三合一传感器设计
扫描二维码
随时随地手机看文章
摘要 设计了基于I2C总线接口的全校准数字式相对湿度、温度传感器和环境光三合一传感器。其具有数字式输出、免调试、免标定、免外围电路,提供I2C数字接口以及8~12位温度感测、湿度感测和22位超宽光动态范围的特点。传感器IC设计工作在3.3 V供电,满负荷工作时仅消耗20μA电流,休眠电流为0.3μA。针对传感器的性能特点、接口时序与命令进行了阐述,给出了与单片机的接口电路及相应程序。实时监测表明,其具有精度高、成本低、体积小、接口简单的优点。
关键词 数字电路;温湿度;光传感器;I2C总线
在对环境温度、湿度和光照度进行测量时,大多使用热敏电阻、湿敏电容和光敏器件来分别测量温度、湿度和光照度。这种测量方法一般要设计相应的信号调理电路,还要经过复杂的标定过程,测量精度难以保证。当对两个以上的参数进行监测时,每一个测量点都必须使用独立传感器和独立的信号调理电路,这不仅使得测量系统的成本和体积大幅提高,也在一定程度上增加了系统设计的复杂性。本设计采用SHT11温湿度传感器芯片和一款集成了ADC的环境光传感器MAX9635,实现温、湿度及光照三合一传感器设计。
1 三合一传感器简介
该传感器集环境温、湿度和光照度传感器于一体,使测量系统的成本和体积大为降低,减少了系统设计的复杂性。
1.1 温湿度测量
环境温度、湿度测量采用SHT11数字温湿度传感器芯片。其主要特点有:(1)高度集成。(2)提供二线数字串行接口,接口简单。(3)测量精度可编程调节。(4)测量精确度高,可以提供温度补偿的湿度测量值和高质量的露点计算。(5)测量和通信结束后,自动转入低功耗模式。(6)高可靠性,自校准。
SHT11将温度、湿度感测、A/D转换和加热器等功能集成到一个芯片上,该芯片分别将湿度和温度转换成电信号,经14位A/D转换后;由二线串行数字接口输出数字信号。在测量过程中,校准系数会自动校准来自传感器的信号。
由于将传感器与电路部分结合在一起,因此,该传感器具有比其他类型湿度传感器优越得多的性能。首先是传感器信号强度的增加增强了传感器的抗干扰性能,保证了传感器的长期稳定性。传感器可直接通过I2C总线与任何类型的微处理器、微控制器系统连接,从而减少了接口电路的硬件成本,简化了接口方式。
1.2 光照度测量
环境光传感器采用集成了光电二极管和ADC,且提供I2C数字接口的光传感器MAX9635。传感器IC具有超低电流损耗(典型值为0.65μA)和极宽的光动态范围为0.045~188 000 lx。片内自动量程调整机制无需用户干涉增益范围的设置。
2 温湿度工作时序
SHT11的I2C通讯数据格式与普通格式不兼容。
(1)传输开始。在SCK为高时使SDA由高电平变为低电平,并在下一个SCK为高时将SDA升高,如图1所示。
(2)地址与测试对象命令。该命令包含3个地址位和5个命令位,其后为应答ACK位,表示SHT11正确收到命令。传感器命令列表,如表2所示。
(3)温湿度测量时序。当发出了温/湿度测量命令后,控制器就要等到测量完成(使用8/12/14位的分辨率测量分别需要大约11/55/210 ms)。当测量完成后,SHT11将数据线拉低,然后传送2 Byte的测量数据与1 Byte CRC校验和。通讯在确认CRC数据位后停止。如果没有用CRC校验和,则控制器就会在测量数据LSB后保持ACK为高来停止通讯,测量和通讯完成后会自动返回睡眠模式。测量温度和湿度命令所对应的时序见SHT11说明书。
(4)温湿度寄存器配置。温湿度传感器中一些高级功能是通过状态寄存器实现的。寄存器中各位的类型及说明详见SHT11使用说明书。
3 光传感器I2C通讯格式
Start和Stop条件:主机通过发送Start条件启动通信,Start、Repeated Start条件如图2所示,Stop条件如图3所示。
从地址:写操作从地址0x94,读操作0x95。
应答:写操作模式下,应答位(ACK)是第9个时钟位,是传感器IC对其接收的每个数据字节的握手信号,如图4所示。如果成功接收主机发送确认,若数据传输失败,总线主机会重试通信。每次读取字节后,主机均发送应答信号,使数据继续传输。当主机从传感器IC读取数据的最后Byte时,发送非应答,随后是Stop。
写数据格式:图4所示为向传感器IC写入1个字节数据时的正确帧格式。
读数据格式:图5所示为读1 Byte数据时的正确帧格式。
寄存器定义:0x00和0x01中断状态与中断使能;0x02功能配置;0x03和0x04存放流明读数;0x05和0x06中设置流明上限和流明下限;0x07中设置适当的门限定时器数据。
自动量程调整模式:自动模式配置下,自动量程调整电路采用两种方法改变其灵敏度。光照超过700 lx时,分流器通过除以系数8来降低光电二极管的电流。默认设置下,分流比为1,电流直接送入A/D转换器。当光强降低时,自动量程调整电路将积分时间从100 ms提高到200 ms、400 ms或800 ms。分流器和不同积分时间相组合,可使A/D转换范围比其16位标称范围提高8倍,或降低8倍。从而获得22位或略高于4 000 000:1的动态范围。
流明读数的数据格式:传感器IC提供用户易于接收的数字输出格式。它由4位指数和随后的8位尾数组成。在最高灵敏度模式下,1个计数值表示0.045 lx。尾数最大值为255,指数最大值为14。所以,最大量程为255×214=4 177 920。在此模式下,最大读数为188 000 lx,大于该值的任何读数均被认为是过载。
门限寄存器数据格式:传感器IC中断电路要求按照特定格式给出上限和下限,以便正确解析数据。寄存器0x05和0x06中的上限和下限数值必须与高字节流明格式相匹配,由4位指数和尾数的4个最高有效位组成。
4 三合一传感器的应用设计
微处理器采用二线串行数字接口和传感器进行通信,硬件接口非常简单;然而,通信协议是芯片厂家定义的,所以在软件设计中,需要用微处理器通用I/O口模拟通信协议。
4.1 硬件设计
硬件连接如图6所示。
4.2 软件设计
由于SHT11和MAX9635的二线串行通信协议和I2C协议不兼容。必须使用GTIO口模拟出如图4和图5所示的数据格式。
基于以上宏定义,可以方便地使SCK和SDA总线输出持续一定时间的高电平或低电平,从而实现传感器的读写。
4.3 温度、湿度光照值的计算
4.3.1 湿度线性补偿和温度补偿
SHT11可通过SDA数据总线直接输出数字量湿度值为“相对湿度”,需要进行线性补偿和温度补偿后才能得到较为准确的湿度值。可按式(1)修正湿度值。
式中,RHlinear为经过线性补偿后的湿度值,SORH为相对湿度测量值,C1,C2和C3为线性补偿系数,取值如表3所示。
由于温度对湿度的影响十分明显,而实际温度和测试参考温度25℃有所不同。补偿公式如式(2)所示。
式中,RHtrue为经过线性补偿和温度补偿后的湿度值;T为测试湿度值时的温度;t1和t2为温度补偿系数,取值如表4所示。
4.3.2 温度值输出
由于SHT11具有较好的线性输出。实际温度值可由式(3)算得。
式中,d1和d2为特定系数。d1的取值与SHT11工作电压有关,d2的取值则与SHT11内部A/D转换器采用的分辨率有关,其对应关系分别如表5和表6所示。
5 结束语
该传感器集温度传感器、湿度传感器和环境光传感器于一体,可用于对环境温、湿度和光照度实时监测,具有精度高、成本低、体积小、接口简单等优点;由于芯片采用采用数字信号输出,因此抗干扰能力比同类芯片高。传感器IC具有超低电流损耗、极宽的光动态范围、免调试和自动量程调整的特点,无需用户干涉增益范围的设置。因此,该传感器在对温室、汽车等环境温湿度、光监测和其他自动控制等领域将得到广泛应用。