#DS18B20数字温度传感器.docx

上传人:b****5 文档编号:8275128 上传时间:2023-01-30 格式:DOCX 页数:26 大小:514.02KB
下载 相关 举报
#DS18B20数字温度传感器.docx_第1页
第1页 / 共26页
#DS18B20数字温度传感器.docx_第2页
第2页 / 共26页
#DS18B20数字温度传感器.docx_第3页
第3页 / 共26页
#DS18B20数字温度传感器.docx_第4页
第4页 / 共26页
#DS18B20数字温度传感器.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

#DS18B20数字温度传感器.docx

《#DS18B20数字温度传感器.docx》由会员分享,可在线阅读,更多相关《#DS18B20数字温度传感器.docx(26页珍藏版)》请在冰豆网上搜索。

#DS18B20数字温度传感器.docx

#DS18B20数字温度传感器

DS-18B20数字温度传感器

  本公司最新推出TS-18B20数字温度传感器,该产品采用美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。

  1:

技术性能描述

  1.1独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

  1.2测温范围-55℃~+125℃,固有测温分辨率0.5℃。

  1.3支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温

  1.4工作电源:

3~5V/DC

  1.5在使用中不需要任何外围元件

  1.6测量结果以9~12位数字量方式串行传送

  1.7不锈钢保护管直径Φ6

  1.8适用于DN15~25,DN40~DN250各种介质工业管道和狭小空间设备测温

  1.9标准安装螺纹M10X1,M12X1.5,G1/2”任选

  1.10PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。

  2:

应用范围

  2.1该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域

  2.2轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。

  2.3汽车空调、冰箱、冷柜、以及中低温干燥箱等。

  2.5供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制

  3:

产品型号与规格

  型号测温范围安装螺纹电缆长度适用管道

  TS-18B20-55~125无1.5m

  TS-18B20A-55~125M10X11.5mDN15~25

  TS-18B20B-55~1251/2”G接线盒DN40~60

  4:

接线说明

  特点独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0V至5.5V无需备用电源测量温度范围为-55°C至+125℃。

华氏相当于是-67°F到257华氏度-10°C至+85°C范围内精度为±0.5°C

  温度传感器可编程的分辨率为9~12位温度转换为12位数字格式最大值为750毫秒用户可定义的非易失性温度报警设置应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统

  描述该DS18B20的数字温度计提供9至12位<可编程设备温度读数。

信息被发送到/从DS18B20通过1线接口,所以中央微处理器与DS18B20只有一个一条口线连接。

为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。

因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。

这使得温度传感器放置在许多不同的地方。

它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。

  8引脚封装TO-92封装用途描述

  51接地接地

  42数字信号输入输出,一线输出:

源极开路

  33电源可选电源管脚。

见"寄生功率"一节细节方面。

电源必须接地,为行动中,寄生虫功率模式。

  不在本表中所有管脚不须接线。

  简况框图图1显示的主要组成部分DS18B20的。

DS18B20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

该装置信号线高的时候,内部电容器储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。

DS18B20的电源也可以从外部3V-5.5V的电压得到。

  DS18B20采用一线通信接口。

因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。

主要首先提供以下功能命令之一:

1)读ROM,2)ROM匹配,3)搜索ROM,4)跳过ROM,5)报警检查。

这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。

  若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。

一个控制功能指挥指示DS18B20的演出测温。

测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。

温度报警触发器TH和TL都有一字节EEPROM的数据。

如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。

在片上还载有配置字节以理想的解决温度数字转换。

写TH,TL指令以及配置字节利用一个记忆功能的指令完成。

通过缓存器读寄存器。

所有数据的读,写都是从最低位开始。

  DS18B20有4个主要的数据部件:

  <1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。

64位光刻ROM的排列是:

开始8位<28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码

光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

  <2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:

用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

  DS18B20内部结构主要由四部分组成:

64位光刻ROM,温度传感器,温度报警触发器TH和TL,配置寄存器。

DS18B20内部结构图如图4.5所示。

  4.3.2存储器

  DS18B20的存储器包括高速暂存器RAM和可电擦除RAM,可电擦除RAM又包括温度触发器TH和TL,以及一个配置寄存器。

存储器能完整的确定一线端口的通讯,数字开始用写寄存器的命令写进寄存器,接着也可以用读寄存器的命令来确认这些数字。

当确认以后就可以用复制寄存器的命令来将这些数字转移到可电擦除RAM中。

当修改过寄存器中的数时,这个过程能确保数字的完整性。

  高速暂存器RAM是由8个字节的存储器组成;第一和第二个字节是温度的显示位。

第三和第四个字节是复制TH和TL,同时第三和第四个字节的数字可以更新;第五个字节是复制配置寄存器,同时第五个字节的数字可以更新;六、七、八三个字节是计算机自身使用。

用读寄存器的命令能读出第九个字节,这个字节是对前面的八个字节进行校验。

存储器的结构图如图4.6所示。

  64位光刻ROM的前8位是DS18B20的自身代码,接下来的48位为连续的数字代码,最后的8位是对前56位的CRC校验。

64-位的光刻ROM又包括5个ROM的功能命令:

读ROM,匹配ROM,跳跃ROM,查找ROM和报警查找。

64-位光刻ROM的结构图如图4.7所示。

  4.3.4DS18B20外部电源的连接方式

  DS18B20可以使用外部电源VDD,也可以使用内部的寄生电源。

当VDD端口接3.0V—5.5V的电压时是使用外部电源;当VDD端口接地时使用了内部的寄生电源。

无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。

连接图如图4.8、图4.9所示。

.4.1配置寄存器

  配置寄存器是配置不同的位数来确定温度和数字的转化。

配置寄存器的结构图如图4.10所示。

  图4.10配置寄存器的结构图

  由图4.9可以知道R1,R0是温度的决定位,由R1,R0的不同组合可以配置为9位,10位,11位,12位的温度显示。

这样就可以知道不同的温度转化位所对应的转化时间,四种配置的分辨率分别为0.5℃,0.25℃,0.125℃和0.0625℃,出厂时以配置为12位。

温度的决定配置图如图8所示。

  4.3.4.2温度的读取

  DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。

前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。

16位数字摆放是从低位到高位,温度的关系图如图4.12所示。

  4.3.4.3.DS18B20控制方法

 指令约定代码操作说明

  温度转换44H启动DS18B20进行温度转换

  读暂存器BEH读暂存器9个字节内容

  写暂存器4EH将数据写入暂存器的TH、TL字节

  复制暂存器48H把暂存器的TH、TL字节写到E2RAM中

  重新调E2RAMB8H把E2RAM中的TH、TL字节写到暂存器TH、TL字节

  读电源供电方式B4H启动DS18B20发送电源供电方式的信号给主CPU

  4.3.4.4DS18B20的初始化

  <1)先将数据线置高电平“1”。

  <2)延时<该时间要求的不是很严格,但是尽可能的短一点)

  <3)数据线拉到低电平“0”。

  <4)延时750微秒<该时间的时间范围可以从480到960微秒)。

  <5)数据线拉到高电平“1”。

  <6)延时等待<如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。

据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。

  <7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起<第<5)步的时间算起)最少要480微秒。

  <8)将数据线再次拉高到高电平“1”后结束。

  4.3.4.5DS18B20的写操作

  <1)数据线先置低电平“0”。

  <2)延时确定的时间为15微秒。

  <3)按从低位到高位的顺序发送字节<一次只发送一位)。

  <4)延时时间为45微秒。

  <5)将数据线拉到高电平。

  <6)重复上<1)到<6)的操作直到所有的字节全部发送完为止。

  <7)最后将数据线拉高。

  图4.14DS18B20的写操作时序图

  4.3.4.6DS18B20的读操作

  <1)将数据线拉高“1”。

  <2)延时2微秒。

  <3)将数据线拉低“0”。

  <4)延时15微秒。

  <5)将数据线拉高“1”。

  <6)延时15微秒。

  <7)读数据线的状态得到1个状态位,并进行数据处理。

  <8)延时30微秒。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////应用介绍//////////////////////////////////////////////

DALLAS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

DS18B20、DS1822“一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

DS1822的精度较差为±2°C。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:

环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

而且新一代产品更便宜,体积更小。

DS18B20、DS1822的特性DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。

可选更小的封装方式,更宽的电压适用范围。

分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

DS18B20的性能是新一代产品中最好的!

性能价格比也非常出色!

DS1822与DS18B20软件兼容,是DS18B20的简化版本。

省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。

继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。

DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。

DS18B20的内部结构

DS18B20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的管脚排列如下:

DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端<在寄生电源接线方式时接地)。

光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。

64位光刻ROM的排列是:

开始8位<28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码

光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:

用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

DS18B20温度传感器的存储器

DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。

第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。

第六、七、八个字节用于内部计算。

第九个字节是冗余检验字节。

该字节各位的意义如下:

TMR1R011111

低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。

在DS18B20出厂时该位被设置为0,用户不要去改动。

R1和R0用来设置分辨率,如下表所示:

分辨率设置表:

R1

R0

分辨率

温度最大转换时间

0

0

9位

93.75ms

0

1

10位

187.5ms

1

0

11位

375ms

1

1

12位

750ms

根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:

每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

DS1820使用中注意事项

  DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

  (1>较小的硬件开销需要相对复杂的软件进行补偿,因为DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。

在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。

  (2>在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。

当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

  (3>连接DS1820的总线电缆是有长度限制的。

实验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。

当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每M绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。

这种情况主要是由总线分布电容使信号波形产生畸变造成的。

因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。

  (4>在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。

这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。

测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。

点击这里可以下载到DS18B20的原厂英文资料

这是我们用网站提供的AT89C51实验开发板做的温度测量实验,DS18B20的正电源就是红线接+5伏,兰线接地,棕色线接P2.2,<注意:

四位拨码开关的第3位不能处于ON的位置,否则实验无法成功!

)+5V和信号线之间有一个4.7K的上拉电阻,硬件就这么简单,网友可以加15元向我邮购DS18B20测温电缆,可以直接插在实验板上,就能使用。

//////////////////////////////ds18b20模块////////////////////////////////////////////////////

DS18B20是美国DALLAS半导体公司生产的可组网的一线式数字温度传感器,因为DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。

DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。

该协议定义了几种信号的时序:

初始化时序、读时序、写时序。

所有时序都是将主机作为主设备,单总线器件作为从设备。

而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。

数据和命令的传输都是低位在先。

以下是常见的DS18B20的测温程序,其正确性笔者已经通过仿真实验和实际电路验证过。

在程序设计时,只要将ds18b20.c和主程序放在同一个项目中,且在主程序中包含头文件ds18b20.h即可。

DS18B20头文件:

ds18b20.h

#ifndef__DS18B20_H__

#define__DS18B20_H__

voiddelay_18B20(unsignedinti>。

Init_DS18B20(void>。

ReadOneChar(void>。

WriteOneChar(unsignedchardat>。

ReadTemperature(void>。

#endif

测温C程序:

ds18b20.c

#include

sbitDQ=P1^0。

//定义通信端口

unsignedcharsign。

voiddelay_18B20(unsignedinti>

{

while(i-->。

}

//初始化函数

Init_DS18B20(void>

{

unsignedcharx=0。

DQ=1。

//DQ复位

delay_18B20(8>。

//稍做延时

DQ=0。

//单片机将DQ拉低

delay_18B20(80>。

//精确延时大于480us

DQ=1。

//拉高总线

delay_18B20(14>。

x=DQ。

//稍做延时后如果x=0则初始化成功x=1则初始化失败

delay_18B20(20>。

}

//读一个字节

ReadOneChar(void>

{

unsignedchari=0。

unsignedchardat=0。

for(i=8。

i>0。

i-->

{

DQ=0。

//给脉冲信号

dat>>=1。

DQ=1。

//给脉冲信号

if(DQ>

dat|=0x80。

delay_18B20(4>。

}

return(dat>。

}

//写一个字节

WriteOneChar(unsignedchardat>

{

unsignedchari=0。

for(i=8。

i>0。

i-->

{

DQ=0。

DQ=dat&0x01。

delay_18B20(5>。

DQ=1。

dat>>=1。

}

}

//读取温度

ReadTemperature(void>

{

unsignedchara=0。

unsignedcharb=0。

unsignedintt=0,temp=0。

Init_DS18B20(>。

WriteOneChar(0xCC>。

//跳过读序号列号的操作

WriteOneChar(0xBE>。

//读取温度寄存器等<共可读9个寄存器)前两个就是温度

delay_18B20(100>。

a=ReadOneChar(>。

b=ReadOneChar(>。

Init_DS18B20(>。

WriteOneChar(0xCC>。

//跳过读序号列号的操作

WriteOneChar(0x44>。

//启动温度转换

//传感器返回值除16得实际温度值

//为了得到2位小数位,先乘100,再除16,考虑整型数据长度,

//技巧处理后先乘25,再除4,除4用右移实现

temp=b&0xf0。

if(temp==0xf0>

{

sign=0x40。

a=~a。

b=~b。

}

else

sign=0x3f。

b=b&0x0f。

t=(b*256+a>*25/4。

return(sign,t>。

}

/////////////////////////////////////////////////////////网上程序//////////////////////////////////////////////////

就算是用软件的方式提高精度也只是虚拟的温度,18B20精度就是0.0625度,符合你的要求了,下面是我写的程序,有兴趣你可以参考一下。

带报警设置

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharcodetabl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1