基于SHT75温湿度传感器的设计与应用
扫描二维码
随时随地手机看文章
引言
在工业现场,特别是那些环境因素对生产过程影响比较大的车间,对现场环境因素的监测很重要,而随着工业自动化的迅速发展,工业以太网在工业中应用的普及,它能使用户对现场的一些环境因素实现一个远程的监测,突显其便利性和适时性。本系统就是基于SHT75温湿度传感器,利用工业以太网技术,实现对工业现场的温湿度的远程监测。
温湿度测量的系统设计
在工业现场中使用温湿度传感器,为了达到远程监测的目的,就少不了与工业以太网或其它工业现场总线网络相连,本系统就利用工业以太网技术,由传感器SHT75采集工业现场的温湿度,经过CPU处理,通过工业以太网进行通信,实现上位机对现场环境温湿度的数据采集、监测。
本温湿度测量系统包含了微处理器(C8051F120)、存储器、传感器模块、网络通信接口、串口通信等重要组成部分。在该设计中,电源使用了以太网供电设备,该设备除了用于网口通信,还提供设计中所需要的电源。该电源经过电平转换,为微处理器、存储器、传感器模块等提供所需的+5V和+3.3V电压。微处理器C8051F120通过I/O口与传感器模块进行数据交换。温湿度测量系统的硬件框图如图1所示
图1 温湿度测量系统框图
处理器C8051F120
C8051F120是美国Cygnal公司的一款控制芯片,它使用 Silicon Lab 的专利 CIP-51 微控制器内核,具有64个数字I/O 引脚、片内VDD 监视器、看门狗定时器和时钟振荡器,它使C8051F120器件成为真正能独立工作的片上系统;FLASH 存储器具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新 8051固件;片内 JTAG 调试电路允许使用安装在最终应用系统上的产品 MCU 进行非侵入式(不占用片内资源)、全速、在系统调试,该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令;它能在工业温度范围(-45℃到+85℃)处工作,这些完全满足在工业现场使用的要求。
微处理器部分的设计包含系统硬件的启动与复位、地址总线、数据总线的分配和定义、与外设传感器的连接等;系统由外部的22M钟振作为时钟源向CPU输入时钟信号;复位电路由10μF的电容、10K电阻组成低电平复位电路,该复位电路可实现上电低电平自动复位。
传感器模块
SHTxx 系列单芯片传感器是由瑞士Sensirion的一款含有已校准数字信号输出的温湿度复合传感器。传感器包括一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个 14 位的 A/D 转换器以及串行接口电路在同一芯片上实现无缝连接。SHTxx采用串行接口,它的分辨率可以根据对现场的采集速率而进行调整,一般情况下默认的测量分辨率分别为 14bit(温度)、12bit(湿度),如果在高速采集中就可分别降至 12bit 和 8bit,对温度的量程范围:-40~123.8℃,湿度的量程范围:0~100%RH。它操作比较简单,只需用一组“ 启动传输”时序,就能实现传感器数据传输的初始化,同时,在测量和通讯结束后,SHTxx 会自动转入休眠模式,这大大的减少了功耗。我们选择的是SHT75,它的结构框图如图2所示。
图2 SHT75结构框图
SHT75与微处理器的连接,是通过C8051F120的两个I/O口来分别与传感器SHT10的SCK引脚和DATA引脚相连,来实现数据的交换;VDD与3.3V电压相连。为避免信号冲突,微处理器应驱动DATA 在低电平,所以还必须在I/O电路中,DATA引脚上加上一个上拉电阻将信号提拉至高电平,用一个10kΩ的电阻接至3.3V电压。
网络通信接口
在设计中采用网络接口将温湿度传感器接入工业以太网,数据由以太网传递到上位机中,实现工业现场的设备和上位机的通信。网络隔离器采用的是HR61H50L,网卡芯片使用的是RTL8019AS。
RTL8019AS 是REALTEK公司的高度集成以太网控制器,它能够简单的解答即插即用 NE2000兼容适配器,这种适配器具有二重和功率下降特性。通过三电平控制特性,RTL8019AS是对网络设备 GREEN PC 理想的选择。全二重功能能够模拟传播和接收在双绞线到全二重以太网交换机。这个特性不仅使带宽从10到20MBPS,而且避免了由于以太网频道争夺特性导致的读出多路存取协议的问题。为了提供完全解决即插即用方案,RTL8019AS集成10BASET收发器,BNC,和AUI接口之间的自动检测功能。此外,8条IRQ 总线和16条基本地址总线为大资源情况下提供了宽松的环境。RTL8019AS用 16k字节 SRAM 设计在单片芯片上,它的设计不仅提供了更友好的功能,而且节省了 SRAM 存储资源。RTL8019AS的地址总线SA[7:0]与数据总线SD[7:0]分别与C8051F120的地址/数据总线相连。
电源
电源采用的是以太网供电设备,该设备采用符合802.3受电设备标准,输出标准的+24V,经过LM2576-5(Motorola生产)和AS1117-3.3(ALPHA生产)电源芯片,电平转换后,输出温湿度测量系统中的微处理器、存储器、网卡芯片和传感器模块上所需的5V和3.3V电源。
软件设计
主程序结构主要由CPU与SHT75之间的数据传递和传感器与上位机的数据传递并在上位机显示两部分组成。在数据传递部分,首先需要对CPU与SHT75对应I/O口以及相关寄存器的初始化,然后通过CPU发送命令启动数据的传输,之后,传感器开始进行信号的采集和数据的交换,CPU对数据进行处理,当进行完一次采集和传递后,再通过通信复位来循环工作;在上位机显示部分,只需找一入口地址,把CPU处理好的数据传给上位机,再通过EPA组态软件来对数据进行客观的显示。程序结构如图3所示。
图3 程序结构
在本系统数据传递过程中,主要经过的是启动传输、字节的读与写、状态寄存器的读与写、最终数据的读取和通信的复位几部分。下面列出温湿度数据的读取程序的部分代码:
BYTE shtMeasure(BYTE *ptr,BYTE mode)
{BYTE error,crc; BYTE i;
switch(mode) {
case SHT_MODE_TEMP: //读温度数据
do {error = 0;
shtTransstart(); //启动传输,传感器开始工作
error += shtWriteByte(SHT_MEASURE_TEMP); //写字节函数,写一个字节
} while (error);
break;
case SHT_MODE_HUMI: //读湿度数据
do {error = 0;
shtTransstart(); //启动传输,传感器开始工作
error += shtWriteByte(SHT_MEASURE_HUMI); //写字节函数,写一个字节
} while (error);
break;
default:
break;
}
for (i=0;i<65535;i++) { if (SHT_DATA==0) {
break;
}
}
Delay100us(20); //不需要定时器的延时
*ptr = shtReadByte(SHT_ACK); //读字节函数,读一个字节
Delay100us(10);
*(ptr+1) = shtReadByte(SHT_ACK);
crc = shtReadByte(SHT_NOACK);
crc = crc;
return error;
}
温湿度传感器在工业现场中的应用
图4它是一个网络拓扑图,设备挂在集线器上,集线器在给温湿度传感器供电的同时,还对传感器采集的数据信息进行传递;集线器通过工业以太网来与上位机相连,数据信息就通过工业以太网传送到上位机。通过上位机用户可以远程监测现场的温度与湿度。
图4 监测拓扑图
在工业现场,此设备是直接通过工业以太网的有线网络进行数据传输的,通过在重庆重钢集团的一个月试用结果来看,它的稳定性和精确度满足要求。图5是在重庆钢铁集团中板厂监测室的监测界面。
图5 监测曲线图
图5是一监测曲线图,通过直观的曲线图来显示工业现场的温湿度变化,它具有报警功能,用户可以根据现场的具体要求自主设定上限与下限,当温湿度值超过限制时,就会显示红色,并闪烁不定,以示报警。
结语
在重庆钢铁集团中板厂持续高温车间里的使用效果来看,传感器的测量精度基本保持稳定,根据监控室人员的反映,监控界面所显示的数据与车间实际数据误差很小,并且它能适时性的显示车间的温度与湿度,刷新速率很快,满足设计要求。
但是工业现场一般环境比较的恶劣,在使用过程中发现,设备自身的发热量以及长久使用对自身的损耗直接影响着传感器对外界环境因素的灵敏度,所以,怎样使传感器模块拥有更好的灵敏度、更低的功耗、更广的工作范围,这些对硬件设计和软件优化提出了更高的要求。