微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于SHT75温湿度传感器的设计与应用

基于SHT75温湿度传感器的设计与应用

时间:05-27 来源:电子产品世界 点击:

电设备,该设备采用符合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是一监测曲线图,通过直观的曲线图来显示工业现场的温湿度变化,它具有报警功能,用户可以根据现场的具体要求自主设定上限与下限,当温湿度值超过限制时,就会显示红色,并闪烁不定,以示报警。

结语

  在重庆钢铁集团中板厂持续高温车间里的使用效果来看,传感器的测量精度基本保持稳定,根据监控室人员的反映,监控界面所显示的数据与车间实际数据误差很小,并且它能适时性的显示车间的温度与湿度,刷新速率很快,满足设计要求。

  但是工业现场一般环境比较的恶劣,在使用过程中发现,设备自身的发热量以及长久使用对自身的损耗直接影响着传感器对外界环境因素的灵敏度,所以,怎样使传感器模块拥有更好的灵敏度、更低的功耗、更广的工作范围,这些对硬件设计和软件优化提出了更高的要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top