0 引言
多点测温系统在工业领域及其国民生产中有广泛的用途。如在化工领域中,经常需要检测和控制反应釜中的液体的温度,使之能够稳定在一定的温度范围之内;在粮食储存以及加工过程中,会储存高水分的粮食,高水分的粮食极易升温发霉,因此粮食储存的测温显得尤为重要。以往的测温系统多采用热敏电阻,精度低、易损坏,且模拟信号远距离温度测量系统中,需要很好地解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。
因此,在温度测量系统中,具有足够的精度和实时性,控制足够的精度,并且尽可能具有较低的成本,这样的产品才具有实用价值。本文采用新型数字温度传感器DSl8B20,它具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,以单片机AT89C51为控制核心完成多点测温的可行性设计方案。
1 DSl8B20芯片特性及管脚介绍
1.1 DSl8B20芯片特性
DSl8B20单线数字温度传感器是新一代温度传感器,它具有微型化、低功耗,与其他温度传感器相比,具有以下特性:供电电源为3.0~5.5 V;独特的单线接口方式,支持多点组网功能;温范围为-55~+125℃,在-10~+85℃时精度为±O.5℃;可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃,0.25℃,0.125℃和O.0625℃,可实现高精度测温;转换速度快;具有极强的抗干扰纠错能力;电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
1.2 DSl8B20引脚功能
DSl8B20有2种封装形式:3脚TO-92直插式(用的最多、最普遍的封装)和8脚SOIC贴片式,封装引脚如图1所示。
DSl8B20各引脚的功能如表1所示。
2 DSl8B20的控制时序
硬件结构的简单是以相对复杂的软件进行补偿,由于DSl8B20与单片机问采用串行数据传送,因此,它们之间有严格的时隙概念。单线信号包括复位脉冲、响应脉冲、写“0”、写“1”、读“1”、读“0”。
(1)初始化。时序见图2(a),主机总线t0时刻发送一复位脉冲(最短为480μs的低电平信号)接着在t1时刻释放总线并进入接收状态DS1820在检测到总线的上升沿之后等待15~60μs,接着DS1820在t2时刻发出存在脉冲(低电平持续60~240μs),如图中虚线所示。
初始化时序、读/写时序分别如图2(a)、图2(b)、图2(c)昕示。
(2)写时间隙。当主机总线t0时刻从高拉至低电平时,产生写时间隙,见图2(b)。从t0时刻开始15μs之内应将所需写的位送到总线上,DS1820 在t后15~60μs间对总线采样,若低电平写入的位是O,若高电平写入的位是14;连续写2位间的间隙应大于1μs(见图2(c))。主机总线t0时刻从高拉至低电平时,总线只需保持低电平15μs之后,在t1时刻将总线拉高产生读时间隙,读时间隙在t1时刻后到t2时刻前(约15μs)产生读时隙,t3时刻前主机必须完成读位,然后将总线释放。
3 硬件电路设计
3.1 系统硬件结构
系统的硬件结构如图3所示。该系统以单片机AT89C51为核心,由温度传感器DSl8B20、开关和LCD显示电路等构成。其中第一个单片机作为从机,进行8个温度传感器的采集,从机通过485接口与主机可以远距离相连,主机接开关,同时接液晶显示,如果主机想知道某点的温度可以通过合上某个开关检测到相应点的温度,以做到实时监控。
3.2 数据采集
Atmel的AT89C5l单片机,内有4 kB闪烁可编程可擦除只读存储器,128 B的数据存储器空间,可直接推动LCD。由温度传感器DSl8B20采集被控对象的实时温度,提供给从机AT89C51的P1.1口,作为数据输入。
3.3 接口电路
主机的P2口接8个开关,P0与LCD相连,每条行线接10 kΩ的电阻到电源,作为上拉电阻。P2口的PO.1~PO.2作为液晶控制读/写使能端,P0.4~P0.7为LCD数据端口。
4 软件部分设计
通过以上分析计算,在加上软件编程如图4所示,即可得到多点测温。ROM的匹配先要另外写一个程序读取每个DSl8B2O的64位序列号,匹配时只需按照像往DSl8B20里写命令操作一样即可。
初始化函数如下:
5 结语
本文在介绍数字温度传感器DSl8B20的基础上,采用AT89C5l单片机设计多点采集温度系统的方案,并给出了重要电路图和初始化DSl8B20程序。该方案采用从机采集多点温度,主机显示温度,主、从机之间通过RS 485通信,且具有广阔的应用前景。