电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

基于SHT11的混凝土结构环境温湿度测量系统的设计

基于SHT11的混凝土结构环境温湿度测量系统的设计

 

  摘 要:本文首先介绍了SHT11的内部结构、测量原理,然后给出了采用SHT11和PIC16F73构成的温湿度测量系统的硬件接口电路。并使用VB编制的界面进行实时温湿度显示。

  关键词:SHT11;温湿度监测系统;PIC16F73;Visual Basic

  引言

  为了有效地开展现代混凝土结构耐久性的基础研究,揭示混凝土结构生命全过程的损伤演变规律,从根本上改善混凝土工程的耐久性,保证其应有的使用寿命,对混凝土使用环境进行温湿度检测显得尤为重要。

  通常使用热敏电阻和湿敏电容来分别测量温度和湿度,A/D转换后送入计算机,但这种测量方法一般都要设计相应的信号调理电路,还要经过复杂的标定过程,其测量精度很难保证。这种测量温湿度的系统在测量点数较少,而且精度要求不高的场合还可以胜任,而需要多点测量且精度要求较高时,其缺点就显露无疑了。而且,当涉及到两个参数的监测时,每一个测量点都必须使用两个独立的传感器和独立的信号调理电路,这不仅使得测量系统的成本和体积大为提高,也在一定程度上增加了系统设计的复杂性。本文将采用SHT11芯片,实现更为优化的设计方案。

  SHT11内部结构和工作原理

  SHT11数字式温湿度传感器采用CMOSens(Ce-mo-Sens)专利技术(CMOS和传感器技术的融合)制造,它的特点为:全量程标定,二线数字输出;湿度测量范围为0~100%RH,温度测量范围为-40℃~+123.8℃,湿度测量精度为3.0% RH,温度测量精度为0.4℃,响应时间<4s;低功耗 ( 30mW),可完全浸没。其外形尺寸仅为7.5mm5mm2.5mm,体积与大火柴头相近。芯片能输出经过完全校准的相对湿度和温度数字信号,便于实现系统的集成。

  SHT11内部结构

  其内部结构如图1所示。主要包括:相对湿度传感器、温度传感器、放大器、14位ADC、校准存储器E2PROM、RAM、CRC(循环冗余校验码)寄存器、二线制串行接口和低压监测电路等。

点击开大图

图1 SHT11内部结构

  该芯片的DATA引脚在SCK时钟的下降沿之后改变状态,并仅在SCK时钟上升沿之后有效,所以,微控制器可以在SCK高电平时读出数据,而当其向SHT11发送数据时,则必须保证DATA上的电平状态在SCK高电平段稳定。在需要输出高电平时,微控制器将置为高阻态,由外部的上拉电阻将信号拉至高电平,从而实现高电平输出。

  工作原理

  首先由两个传感器分别产生相对湿度和温度信号,经过放大后分别送到14位的ADC进行A/D转换、标准和纠错,最后通过二线制的串行接口,将相对湿度和温度的数据送至微控制器,再利用微控制器完成非线性补偿和温度补偿。

  温湿度测量系统

  硬件电路的设计

  本系统以PIC16F73单片机作为微控制器。PIC16F73为8位28引脚微处理器,具有4KB的FLASH程序存储器;22条双向可编程I/O口线;192字节数据存储器;3个定时器;5路8位A/D通道。

  该系统由测量、显示和通信三部分组成。由于PIC16F73具备I2C总线接口,所以不需要进行虚拟。分别在DATA端接入1个4.7KW的上拉电阻,在VDD和GND端接入一个0.1mF的去耦电容。硬件连线图如图2所示。

点击开大图

图2 系统硬件电路图

  SHT11采用二线制的数据传输方式,为节省有限的I/O口资源,采用如下连接方式:将每个SHT11的SCK线都接到微控制器的同一个I/O口线上,而DATA线则分别挂接到不同I/O端口。同时,这样的接线方式还有一个优点:由于多个SHT11共用一条SCK线,因此,在每次测量中可以同时发出测量指令,这样,各个传感器同时进行测量,只需一次等待时间就可以完成整体数据的采集。缩短了数据的采集时间,从而为控制系统的快速响应提供了条件。

  显示部分电路采用带有高速串行接口的4位LED控制驱动器ZLG7219实现,接口采用同步串行外设接口SPI,编程简单而且节省I/O口。温度和湿度显示各用4位,通过改变连接电源与ISET端口的电阻值,可以调节数码管的显示亮度。

  与上位机的数据通信部分采用接口芯片MAX232实现的RS-232的通信方式。

  为提高系统的可靠性,由MAX813LEUA组成看门狗电路,以防止程序跑飞而使系统失控。如果在1.6s内PIC16F73不给WDI输入端发送触发信号,说明程序跑飞,MAX813LEUA将发出复位信号,使系统复位重新进行。

  温湿度测量系统软件的设计

  在单片机内部写有数据的采集和显示等程序,能使当前的温湿度值实时显示在现场,另外,该温湿度值通过RS-232总线接口送至PC,运行VB程序使温湿度值在监控界面上显示。单片机软件的流程如图3所示。

图3 软件流程图

  为实现温湿度测量,使用VB编写了上位机显示画面,能实时显示出当前现场每个点位的温湿度值,下面是对温湿度进行转化的部分程序:

  Select Case

  MSComm1.CommEvent

  Case comEvReceive

  Label11.Visible = True

  Label12.Visible = True

  buffer = MSComm1.Input

  arr = buffer

  For i = 1 To 11

  w_1(i) = arr(i - 1)

  Text1.Text = Text1.Text +

  " " + w_1(i)

  Next i

  Humidity = Str$((Val(w_1(4)) * 256 + Val(w_1(5))) / 100)

  Temperature = Str$(((Val(w_1(6)) * 256 + Val(w_1(7))) - 27315) / 100)

  Label2.Caption = Humidity

  Label10.Caption = Temperature

  End Select

  图4是对其中的一个点进行采集的画面,在图中有串口号、波特率、检验位、数据位和停止位等设置,被测量点的当前温湿度一目了然。

  

  

  图4 温湿度显示界面

  这里显示的只是一个点,当然,也可以把所要显示的多个点一起显示,也可以切换到每一个点的历史温湿度值曲线,只要在程序上做一些修改就可以了。

  结语

  本文采用PIC16F73单片机和SHT11温湿度传感器及相关外围芯片构成了高性能温湿度采集系统,并使用VB实现了数据现场和上位机的实时通信,从而很方便地知晓现场每个点位的温湿度状况,为混凝土结构的使用提供了强有力的依据。■

  参考文献

  1. SHT1x / SHT7x Humidity &Temperature Sensor v3.00,March 2007

  2. PIC16F7X Data Sheet 28/40-pin, 8-bit COMOS FLASH Microcontrollers. Microchip Technology Inc. 2002

  3.(美)普雷德科(Predko,M.)编. 刘任平,刘玉琳等译. PIC单片机便携手册. 北京:机械工业出版社,2005

博主
EDN_001
EDN_001's Blog
EDN_001
点击跳转