1 引言
本文介绍的温湿度传感器采用瑞萨电子生产的R7F0C802单片机作为控制单元,采集温度传感器 TC1047A 输出的电压信号和湿度传感器 HS11 01 LF 电路输出的频率信号,经计算处理,由异步串行通信接口输出可读性强的温度和湿度值。该温湿度传感器工作电源电压为 4.5 V~5.5VDC, 低功耗电流(MCU)为 290 µA@5MHz(TYP.), 响应时间小于 1 秒。 温度测量范围为-40~85℃, 测量精度达± 1 ℃。 湿度测量范围为 1~99%RH, 测量精度可达 0.1%RH。
2 系统组成
该温湿度传感器的系统构成框图如图 1 所示,实体电路板图如图 2 所示。系统上电后, 状态指示灯点亮, 进入工作模式。 为了降低功耗, 系统正常工作状态运行在低功耗( HALT) 模式。控制器通过 UART 发送采集温度和湿度的指令给系统,MCU退出 HALT 模式, 进入通常运行( Normal)模式, 状态指示灯熄灭。MCU采集温度和湿度数据, 并进行计算处理后发送采集到的温度和湿度数据给控制器, 同时状态指示灯点亮, 表明数据发送正常。 数据发送完毕, 系统再次进入低功耗( HALT) 模式。
2.1 MCU
R7F0C801 至 805 系列微控制器是瑞萨面向中国客户开发的少管脚 LSSOP 的 8位通用微处理器。该系列微控制器采用了 RL78 内核,在该类产品上同时实现了高速处理性能与低功耗,并且拥有一系列少管脚数的强大产品阵容,适用于消费产品应用。高精度± 2%的片上振荡器最大频率可达到 20 MHz,同时内置了可选上电复位和看门狗定时器等功能,有助于系统实现更紧凑的尺寸和低功耗,使整个系统搭建成本更低。10 和 16 引脚的小型封装,以及 1 KB 至 4 KB 的闪存阵容,使其更适合于小型家用电器以及通用消费产品等应用 。R7F0C802的 ROM 为 2 KB, RAM 为 256 字节, 其 10 引脚配置图请参见图 3,结构框图如图 4 所示。R7F0C802广泛应用于玩具、传感器、电动工具、防盗报警器以及装饰性应用中。
2.2 温度测量电路
本系统中温度传感器采用 Microchip 公司生产的线性电压输出温度传感器TC1047A,其输出电压与测得的温度成线性比例。 TC1047A 可精确地测量从-40℃到+125℃之间的温度,其典型输出电压为 100mV(-40℃时)、 500mV (0℃时)、 750mV(+25℃时)和 1.75V(+125℃时)。 10mV/℃的输出电压的斜率响应允许传感器在宽温度范围内对温度进行测量。 TC1047A 输出电压与温度关系的特性曲线,请参见图 5。 电压-温度对应计算公式为: Vout =10mV/℃× (Temperature℃)+500mV。通过 A/D 转换,便可以计算出当前温度。本系统中使用MCU内部集成的 10 位 A/D,采集 TC1047A 输出的电压信号。实际使用中每个温度传感器的特性曲线与理论值略有不同,可自行标定,以确定实际的曲线斜率和截距。
2.3 湿度测量电路
湿度测量电路原理图,请参见图 6。本系统中湿度传感器采用法国 Humirel 公司生产的相对湿度传感器 HS1101LF。HS1101LF 湿度传感器是一种基于电容原理的湿度传感器,相对湿度的变化和电容值呈线性规律。 它在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。将 HS1101LF 置于 555 振荡电路中,将电容值的变化转为与之呈反比的电压频率信号,可直接被单片机所采集。
电容值随着空气湿度的变化而变化,因此将电容值的变化转换成频率的变化,即可进行有效的数据采集。由于 HS1101LF 采用电容构成材料,不允许直流方式供电,所以使用 555 定时器电路组成多稳态电路,具体电路分析如下:
uPC1 555 是瑞萨电子生产的一款能产生精确定时脉冲的高稳度控制器,其输出驱动电流可达 200mA,工作电压范围为: 4.5~16V。当电源接通时,由于定时器 THRES和 TRIG 脚的输入为“0”,则 OUT 脚输出为“1 ”;又由于 C3 两端电压为 0,故 VDD通过 R2 和 R8 对 C3 充电,当 C3 两端电压达到 2VDD/3 时,定时电路翻转,输出变为“0” , 此时电容 C3 通过 R8 进行放电,当 C3 两端电压降低到 VDD/3 时,定时器又翻转,使输出变为“1 ”, VDD 又开始通过 R2 和 R8 对 C3 充电,如此周而复始,形成振荡。
其工作循环中的充电时间为: TH=ln2× (R2+R8)× C3
放电时间为: TL = ln2× R8× C3
输出脉冲频率为: f=1/(TH+TL)=1/(C3× (R2+2× R8)× ln2)
占空比为: D=(R2+R8)/(R2+2× R8)
为了使输出脉冲占空比接近 50%, R2 应远远小于 R8。当外界湿度变化时,HS1101LF 两端电容值发生改变,从而改变定时电路的输出频率。因此只要测出 555的输出频率,并根据湿度与输出频率的关系,即可求得环境的湿度。 R4 为输出端的限流电阻,起保护作用。
湿度传感器只是保证传感器的精度,在实际使用中,综合精度除了与湿度传感器本身元件有关,还与外围电路的器件选择相关。为了与 HS1101LF 温度系数相匹配, R2数值应取为 1 %精度,且最大温漂不超过 100ppm(ppm:百万分之一,表示当温度变化1 ℃,所对应的电阻相对变化量)。 555 电路输出的频率与相对湿度对应关系表请参见表1。
实际使用中可调节电位器 RV1 的阻值,使电路输出频率与上述表格相对应。本系统中使用R7F0C802的 16 位定时器阵列单元通道 0 的输入脉冲间隔测量模式,进行频率的测量。
2.4 电压检测电路
由于此单片机A/D 转换器的基准电压为MCU供电电压,为使 A/D 转换的结果更加准确,需要实时检测系统的当前电压。本系统使用瑞萨电子生产的 2.4V 稳压管(NNCD2.4DA)产生稳定的电压,通过MCU的 A/D 转换功能,推测出当前的系统电压,从而为温度传感器输出信号提供 A/D 基准电压值。
3 软件流程
软件处理流程图,请参见图 7。控制器与系统间采用异步串行通信方式,波特率为 9600bps, 1 位开始位, 8 位数据位,无校验位, 1 位停止位, LSB 优先。 传输协议请参见表 2。
校验和数据按如下计算:
D9 = 00H - D0 - D1 - D2 - D3- D4 - D5- D6 - D7- D8(忽略借位,仅低 8 位)
例:控制器发送指令 AAH
系统返回数据: 55H 21H 00H 02H 05H 05H 04H 03H 00H 70H
即温度: +25.5℃,湿度 43.0%RH。
4 结论
基于 HS1101 LF 和 TC1047A 及瑞萨单片机R7F0C802设计的温湿度传感器功耗低、线性度高、年漂移量小、体积小, 而且可在宽温度、全湿度范围内进行测量, 无须温度补偿,提高了传感器的精度,所以有很大的推广价值。