一 概述
本文分析TS-18B20数字温度传感器,该产品采用美国DALLAS公司生产的 DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
测量温度的关键是温度传感器。随着技术飞速发展,传感器已进入第三代数字传感器。本测温系统采用的DS18B20就是属于这种传感器。
DALLAS半导体公司生产的DS18B20是一种但总线温度传感器属于新一代是配微处理器的智能温度传感器,这种传感器具有体积小、高、接口方便、传输距离远等特点。广泛应用在工业、农业、军事等领域的控制仪器、测控系统中。
二 DS18B20的介绍
1.DS18B20的几个特点:
特点 独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 ° C至+125 ℃ 。华氏相当于是-67 ° F到257华氏度 -10 ° C至+85 ° C范围内为±0.5 ° C温度传感器可编程的分辨率为9~12位 温度转换为12位数字格式值为750毫秒 用户可定义的非易失性温度报警设置 应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统 。
描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数。信息被发送到/从DS18B20 通过1线接口,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。
a. DS18B20因为采用了单总线技术,可通过串行口线,也可通过其他I/O口线与微机直接接 传感器直接输出被测温度值(二进制数)。
b.其测量温度范围为:-55℃————+125℃,
c.测量分辨率为:0.0625℃,是其他传感器无法相比的。
图1 DS18B20外部形状及管脚
d.内含64位只读存储器ROM,(内存出厂序列号,是对应每一个器件的号),还又RAM 存有温度当前转换值及符号。
e.用户可分别设定每个器件的温度上、下限。
f.内含寄生电源。
2. DS18b20的结构:
a. 64位光刻ROM ,可以看作是DS18B20的地址序列号,如表一所示。
表1
b.高速暂存器RAM共占0、1两个单元:
表2
两个8位的RAM中,存放二进制的数,高五位是符号位,如果温度大于0OC,这五位数为0,将测到的数值乘以0.0625,即得到实际的温度值;如果温度小于0OC,高五位为1,测到的数值需要取反加1,再乘以0.0625 ,才得到实际的温度值。
c. 九个寄存器的名称及作用:
表3
三 DS18B20 的控制方法
DS18B20的操作是通过执行操作命令实现的, 其控制程序是按照DS18B20的通讯协议编制的。其中包含复位脉冲、响应脉冲、读、写时序,只有响应脉冲是DS18B20发出的,其他都有单片机发出。时序的具体要求如下:
(1) 复位脉冲:单片机发出一个宽为480—960μs的负脉冲之后再发出5—60μs的正脉冲,此时DS18B20会发出一个60—240μs的响应脉冲,复位时序结束。也就是呼应阶段。
(2) 写时间片:写一位二进制的信息,周期至少为61μS,其中含1μS的恢复时间,单片机启动写程序后15—60μs期间DS18B20自动采样数据线,低电平为“0”,高电平为“1”。
(3) 读时间片:读一位二进制数据,周期及恢复时间要求与写时间片相同。单片机启动读时序之后,至少保持1μs低电平,然后在接近启动后15μs之前读入数据。低电平为“0”,高电平为“1”。
图2 初始化时序
图3 读/写时序
(4) ROM 操作命令的执行:
在 ROM 操作命令中,有两条命令专门用于获取传感器序列号:读ROM命令(33H)和搜索ROM命令(FOH)。读ROM命令只在总线上只有一个传感器的情况下使用。具体 的 搜 索过程为:(1)单片机发出复位脉冲进行初始化,连接在P3。(3)单片机从单总线上读一位数据。ds18b20的工作时序分别有初始化时序、写时序、读时序、转换时序等,根据传感器的这些时序要求编写出子程序、主程序
表4
四 测温系统的硬件设计
本系统选择体积小、成本低、内带2K EEPROM的89C2051作为控制芯片,晶振采用12MHZ,用74LS07,74LS04驱动三个LED数码管和一个继电器线圈从而驱动电加热设备。在本系统中测控一路温度信号,DS18B20通过单总线方式连接在单片机的P3。5.引脚上,用户可设定所需的温度测定值(包括上限值和下限值),P3.1引脚控制电热设备启动与停止,从而达到控制温度效果。整个硬件系统简单、明晰。
图3 DS18B20测温硬件原理图
五 系统软件设计:
系统对温度检测控并实时显示温度值。所选用的温度传感器芯片DS18B20属于新一代适配微处理器的智能温度传感器,时序复杂,在编程及运行中均须严格安照时序进行。
测温系统的工作流程:初始化——-获取序列号的ROM操作命令——-写存储器操作命令——-读转换数据——-处理数据—-显示温度—-启动控制设备。子程序包括:对DS18B20初始化子程序、读子程序、写子程序、温度转换子程序、数值计算子程序、显示子程序。(见程序方框图)
此系统程序编写虽然比AD590测温复杂,但省去A/D转换环节硬件,提高及抗干扰能力,系统稳定。
结束语
DS1820虽然具有测温系统简单、测温高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此 ,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等语言进行系统程序设计时,对 DS1820操作部分采用汇编语言实现。
在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个 DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时 要加以注意。
[1]. DS18B20 datasheet https://www.dzsc.com/datasheet/DS18B20_819975.html.
[2]. ROM datasheet https://www.dzsc.com/datasheet/ROM+_1188413.html.
[3]. 89C2051 datasheet https://www.dzsc.com/datasheet/89C2051_105398.html.
[4]. 74LS07 datasheet https://www.dzsc.com/datasheet/74LS07_1053286.html.
[5]. 74LS04 datasheet https://www.dzsc.com/datasheet/74LS04_772886.html.
[6]. AD590 datasheet https://www.dzsc.com/datasheet/AD590_1055375.html.
[7]. DS1820 datasheet https://www.dzsc.com/datasheet/DS1820_1056054.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。