一种多用智能温度测量仪的设计与实现
扫描二维码
随时随地手机看文章
摘 要: 设计实现了一种多用智能温度测量仪。采用传感器为DALLAS 公司的单总线数字式温度传感器DS18B20 及单片机为8051,通过单片机对传感器采集到的数字信号进行计算处理,实现温度的测量、温度数值的数字显示及高温报警等功能。提供了完整的硬件电路图和软件流程图,并详细介绍了软件设计要点及创新点。经实物测试实验,该测量仪既能测量环境温度,又可测量人体温度,具备使用方便、响应快、结果显示直观的特点。
温度是科学技术中最基本的物理量之一,在工业生产中,温度常是表征对象和过程状态的最重要的参数之一,在医学领域中,体温也是我们最为关注的医学参数。
随着现代科技的发展,温度测量在各个领域应用越来越广泛,同时温度测量技术也被人们所异常关注。多功能温度测量仪就是一个典型的例子,运用单片机技术,向数字化,智能化方向发展。在此介绍一种多功能温度测量仪,既可以测量环境温度、又能测量人体温度,达到快响应、数字显示温度值,并且具有高温报警的目的。
1 硬件电路设计
1. 1 温度传感器
采用DA LLAS 公司的温度传感器DS18B20 作为温度采集器件,DS18B20 的内部结构主要由64 位ROM、温度灵敏元件、内部存储器和配置寄存器4 部分组成,如图1 所示。
( 1) 64 位ROM。它的内容是64 位序列号,它可以被看作是该DS18B20 的地址序列码,其作用是使每个DS18B20 都各不相同,这样就可以实现一根总线上挂接多个DS18B20 的目的。
( 2) 温度灵敏元件。它完成对温度的测量,测量后的结果存储在2 个8 b 的温度寄存器中。
( 3) 内部存储器。内部存储器包括一个高速暂存RAM 和一个非易失性的可电擦除的E2 PROM,后者存放高温度和低温度触发器TH、TL 以及配置寄存器。
图1 DS18B20 的内部结构
DS18B20 具有以下特点:
( 1) 独特的单线接口方式,与单片机连接时仅需要一条口线;( 2) 测温范围为- 55~ + 125℃,在- 10~ + 85℃范围内精度为±0. 5 ℃;( 3) 通过编程可实现9~ 12 位的数字读数方式;( 4) 用户可自设定非易失性的报警上下限值;( 5) 外围电路简单,使用时不需要外围元件,可用数据总线供电,电压范围为3. 0 ~ 5. 5 V 无需备用电源;( 6) DS18B20 有TO 92、SOIC 及CSP 封装,本测量仪选用DS18B20 的外形及引脚排列如图2 所示,其中VDD 为外接供电电源输入端,GND 为公共地,DQ为数字信号输出端。
图2 DS18B20 的外形及引脚排列
基于以上特点,采用DS18B2 使得硬件消耗更少,系统设计更灵活、方便,价格更便宜,体积更小。
1. 2 硬件电路设计
系统硬件电路如3 所示。
图3 系统硬件电路图
包括信号采集、系统控制、数字显示、高温报警四个部分。传感器DS18B20 为信号采集器件所采集到的温度信号,通过内部处理由传感器的DQ 端送到单片机P3. 2 端口,经单片机的计算处理后,由P0 口和P1 口分别作为4 位共阳数码管的段控信号和位控信号,共同完成对所测温度值的数字显示,最高位是符号显示,如显示负号“-”时,表示当前温度是负温度,否则为正温度;由P2. 0 端口控制蜂鸣器,当测量的温度超过“预设报警温度”时,发出提示音报警; P2. 1~ P2. 3 端口来控制黄、绿、红3 个发光二极管分别表示低温、正常、高温三种温度状态。石英晶体JT 和电容C2 ,C3 共同组成晶振电路; 电容C1 、电阻R 13、S B 共同构成复位电路; 其中电阻R13为下拉电阻,SB 为手动复位按钮。
2 软件设计
为了便于子程序的调用和维护系统,程序遵循标准化、模块化的原则,主要完成包括读DS18B20 温度数据、数据的整理转换、温度显示、报警等模块的设计。由于程序任务相对较少,结构相对简单,本系统由主程序和多个子程序组成,采用顺序性结构主程序流程。
2. 1 软件设计要点
由于DS18B20 采用的是单线总线协议方式,即在一条数据线上实现数据的双向传输,而单片机硬件上不支持单总线协议,因此必须采用软件方法来模拟单总线的协议是序来完成对DS18B20 芯片的访问。
由于DS18B20 是在一根I/ O 线上读写数据,因此对读写的数据位有严格的时序要求,它有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序: 初始化时序、读时序、写时序。所有时序都是将单片机作为主设备,DS18B20 作为从设备,而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求DS18B20 回送数据,在进行写命令后,主机需启动读时序完成数据接收。
2. 2 软件设计
创新点在温度显示模块引入“显存”的概念,用“显存”直接映射到显示子程序,便于程序的移植,更便于以后的组建多点的温度检测网络,或嵌于其他监测系统。
程序片段如下:
2. 3 主程序流程图
主程序流程如图4 所示。
图4 主程序流程图
3 实物运行与测试
测试方法: 用水银温度计和温度测量仪同时对同一空气环境、水、人体进行测量,详细记录每次测量数据,并进行数据对比。测试结果如表1 所示,结果显示误差仅± 0. 2 ℃。
表1 实物运行测试对照表
4 结 语
运用温度传感器DS18B20 和单片机8051 等设计并制作的温度测量仪,用较低的成本实现了温度的测量与显示。该测量仪采用的元器件价格低廉又容易获得,具有硬件结构简单、响应快、显示直观等优点,并且元器件DS18B20 单总线结构具有很强的扩展性. 还可以组建多点的温度检测网络该方案设计温度监测系统,应用前景广泛。