APP下载

基于数字温度传感器的检测实验室环境温度监测系统设计及应用(上)

2013-11-15蔡志军

家电科技 2013年12期
关键词:PC机下位框图

蔡志军

(广东中质检测技术有限公司 广东广州 510663)

1 前言

在微机及其传感技术领域,近年来出现了一大批的新型器件和先进技术,如带有Flash存储技术的单片微机,数字化的温度传感器件等。诸多的微机智能化控制及检测系统已经广泛应用于诸多领域。传统的温度检测系统皆采用热电偶或热敏电阻作为温度敏感元件,其成本低,但需要后续信号处理电路,可靠性相对较差,系统的精度不高,且不易实现网络化的实时自动化监测系统。

因而本系统的设计选用了美国DALLAS推出的DS18B20数字式温度传感器。它能够直接读出被测的温度值并可根据实际要求通过相应的编程实现9~12位的数字值读数方式,可以在93.75ms~750ms内将温度值转化9位和12位的数字量。因而使用DS18B20可使系统结构更趋简单,可靠性更高。采用单总线通信技术,可实现多至128通道的温度点采集,特别适合一些要求较多温度点测量的检测实验室、高层建筑楼体温度检测、桥梁桥体温度检测等场合。

2 系统设计概述

本系统的设计包括硬件电路设计和软件设计两部分。硬件电路的设计主要包括以下模块:

(1)由单片机89C51和新型数字温度传感器DS18B20组成的温度采集模块;

(2)由单片机89C51、输出锁存器74LS377和七段数码管组成的温度显示模块;

图1 系统框图

(3)下位单片机与PC机通信模块;

(4)键盘输入和发光LED、蜂鸣器模块;

软件部分的设计主要包括以下模块:

(1)下位单片机汇编程序;

(2)上位PC机VB程序;

(3)RS232通信模块程序;

以上模块构成了一个完整的具有温度采集、LED显示、键盘输入、通信、数据库处理、实时温度曲线显示、曲线打印等功能的温度检测系统。

下位温度采集模块以ATMEL系列单片机89C51和数字温度传感器DS18B20为核心;采用RS232串行总线接口与PC机通讯,配备有系统显示、通讯、LED指示和蜂鸣器响音等,能够实时监视系统运行的状态是否良好及测量值是否越限,及时以光信号和声音信号形式告知检测人员。

3 系统组成框图

系统组成框图如图1所示。

4 温度采集单元

4.1 原理与功能

主要完成各检测点的温度采集与处理。首先由数字温度传感器DS18B20将被测温度直接转换成计算机能识别的9到12位(最高位为符号位,即“1”为正温度,“2”为负温度)二进制数字信号,并存储于DS18B20的温度寄存器中。单片机89C51向总线发出某位DS18B20的匹配命令,该位DS18B20响应并发回响应脉冲,其他DS18B20不响应。单片机发出启动DS18B20进行温度转换命令,接着单片机发出读温度命令信号时,DS18B20将温度寄存器中的数字温度值按串行传送方式传到单总线中,由单片机89C51按单总线通信协议规定的时序进行接收并进行相应处理后,将温度分整数位和小数位存放于单片机的RAM中,以供显示和向上位PC机传送。如此循环,可将所有的数字温度传感器的温度值读取到单片机的相应的RAM单元中。具体的有关DS18B20的结构及原理功能参见DALLAS的DS18B20技术规格书。

图2 原理框图

4.2 原理框图(见图2)

4.3 数据I/O接口

采用89C51的P1.2口作为数据线接口与DS18B20进行通信。另采用三线通信制,即VCC、GND、DATA三线(可采用数据线供电方式)。

4.4 硬件电路

4.4.1 温度采集电路

如图3所示。温度采集电路以单片机89C51为核心,采用上电复位方式。利用DS18B20数字温度传感器的1-WIRE总线技术,以89C51的P1.2口作为温度数据线接口,在该单总线上并联多个温度传感器。为了提高DS18B20的信号输送的稳定性,采用了直接电源供电方式,而不采用从数据线上取电的方式。因而,DS18B20与89C51的通信为三线制(VCC、GND、DATA),传输线采用普通的三芯线。89C51的每个I/O口均可接多达8个温度传感器,因而系统最多可接多达2×8×8=128个温度采集通道,本系统只挂了6个温度传感器,若要增加到128个通道,则只须将温度传感器挂到89C51的P1口和P2口即可,另软件需作一些改变,以配合硬件电路。

若要扩大通道数目,则可通过扩展89C51的I/O口,或在每条单总线上增加温度传感器的数目,但当单总线上所挂DS18B20超过8个或进行长距离通信时要充分考虑总线分布电容和阻抗匹配问题。

图3 温度采集电路

5 温度显示与控制单元

5.1 原理与功能

本模块的设计采取了下位单片机系统与上位PC机同步显示的方式,以便更容易观测到所检测温度点的实时温度值。下位单片机系统用六位LED数码显示,可显示各点温度传感器的实时温度测量值T ,以及显示上、中、下三个不同的系统温度设定值T上、T中、T下。上位PC机则用VB编程界面进行显示,并具有实时温度曲线显示功能。

下位机的LED数码管采用了动态显示方式,以简化硬件电路,节约成本,同时又不影响显示效果。

另系统具有温度限值设定功能,检测员可以根据现场实际情况,用选择键K1和参数设定键K2(+)、K3(-)来设定T上、T下限温度值。用K4键来启/停测控系统。

5.2 原理框图(见图4)

5.3 数据I/O接口

P0口:七段数码LED数据口

P2口:键盘输入

5.4 硬件电路

5.4.1 温度显示电路

主要采用了动态显示原理,由于单片机的P0口为8位的I/O口,因而某一时刻只能点亮一个LED数码管,同时单片机的I/O口的驱动电流不够大,所以必须加输出锁存器74LS377,89C51将显示字符从P0口送出,经74LS377锁存后点亮相应的LED数码管。用另一片的74LS377控制LED数码管的选通位,从而逐位点亮各个LED数码管,由于显示刷新的时间很短,大约为20ms,因而人感觉不到其是逐位显示的,即实现了动态显示。

图4 原理框图

图5 键盘输入电路

图6 传感器和温度选择顺序

图7 系统报警电路

图8 单片机89C51与PC机通信接线

图9 通信硬件电路

图10 通信协议格式

5.4.2 键盘输入电路

本模块中的键盘输入电路(见图5)采用了软件去抖动的方法,用一片输入锁存器74LS245对键输入进行锁存,然后送到单片机的P0口,由软件判别键值。其中各键的功能及操作顺序如下:

K1为复合功能键(温度传感器选择+上中下限切换),K2为加键,K3为减键,K4为系统运行/停止键。当K4没按过时,按K1,此时进行温度传感器的选择,使相应的温度传感器的实时温度值在LED上显示,其顺序为图6(a)。

当K4没按过时,K2、K3不可用,在按下K4后,系统进入温度上下限值设定状态,此时LED5闪烁,提示系统处于限值设定状态。此时按K1键在上中下限状态切换,其顺序为图6(b)。

此时按K2或K3可在相应的限值档上设定温度的上下限值,中限取其平均值,由系统自动计算。设定完毕后,按下K4键,系统返回温度显示状态。

5.4.3 系统报警电路(见图7)

主要利用单片机89C51的P1口直接驱动LED和蜂鸣器,在检测的温度值超过设定的温度上限时进行响音提示以及灯光提示。

6 与PC机通信单元

6.1 通信硬件电路

下位单片机与上位PC机的通信采用了常用的RS232串行总线进行通信。其中计算机的RS232的引脚定义如表1所示。

单片机89C51与PC机的通信的接线如图8所示。

表1 RS232的引脚定义

6.2 通信协议设定

为了使下位单片机与上位PC机间能正确握手,实现数据的正常通信,因此必须设定相应的通信协议。本系统的通信数据主要为6路的实测温度值及相应的温度上下限设定值,共为14个字节。另加一个前导符,共为16个字节。其格式见图10。

前导符定义为FFH,温度的测量范围为0—99℃

代表一个字节,每个温度值由整数部分和小数部分组成。

串行口的通信协议为:

波特率:9600bps;奇偶校验:无;数据位:8;停止位:1

单片机的字符帧格式为:一个起始位(0)、8个数据位、一个停止位(1)。

(未完待续)

猜你喜欢

PC机下位框图
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
发射机房监控系统之下位机
电路图2017年凯迪拉克XT5
基于PC机与单片机的多机通信技术及抗干扰方法
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
算法框图的补全
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”