上海羊羽卓进出口贸易有限公司

ds18b20温度传感器 DS18B20温度传感器介绍

发布时间:2024-10-06 12:10:45

DS18B20温度传感器介绍

来源:百问网_嵌入式Linux wiki_jz2440 新1期视频维基教程 (视频文字版)

作者:韦东山

本文字数:1322,阅读时长:2分钟

比DHT11温湿度传感器精度高很多

DS18B20只通过一条数据线传输数据,既要控制器发送数据给芯片,又要通过芯片发送数据给控制器,所以这个是双向传输数据的

怎么在一个引脚上实现数据的双向传输 : 参考这视频的第19分钟之后的内容: 第19课_第001节_I2C协议与EEPROM

检测温度,我们需要一个主控芯片

如果有多个温度传感器,则需要一个主控制器去管理它们,通过发送命令传输数据,每个设备都会有固化在芯片内部的64bit ID的ROM来用于区分不同的设备

如果主控制器想访问设备,必须发送命令,这个命令中带有ID返回值

怎么访问指定的DS18B20

0 发出低脉冲,提醒准备工作: initialization1 发出ID命令:ROM Command2 发出功能命令: Function Command a转换温度 b读温度,读数据

每次操作,都要重重上述过程

内部框图

TEMPERATURE SENSOR温度ADC

SCRATCHPAD实际上是一个9 byte的内存 9byte的说明如下图所示

温度值会保存在9byte内存中的 BYTE0 和 BYTE1 也就是当我们发出一个温度值的命令之后,还需要发送一个读内存的命令才能把温度值读取出来

最后一位是CRC校验码,通过前8位的数据和最后一位的校验码比较 64位数据中有8位是校验码,

怎么采样温度?

1 初始化2 ROM命令3 FunctionCommand 设置某些值,比如转换温度4等待完成5 init6 R om cmd7 Function Command 读RAM中的值

关于EEPROM寄存器 前面两个字节可以用来设置用户自己的目的,也可以用来设置Th Tl 寄存器 Th Tl 寄存器就是用来设置警报,温度的上限或者下限,当温度超过某个值时它会发出警报 所谓警报只不过是在DS18B20中设置状态而已,并不能主动通知主芯片 主芯片可以发出某些命令来确定哪些芯片发出了警报 配置寄存器,用于设置精度,精度越高转换时间越长

EEPROM使用

1 上电

EEPROM自动放入RAM用于控制精度这些

2 写EEPROM

a 发出命令先写RAM

b从RAM转到EEPROM

3 读出EEPROM的值

a EEPROM值保存到RAM

b 发出命令读RAM

关于ROM命令和功能命令整理成一个表格

信号传输

1怎么initialization(初始化) 2 怎么发数据,怎么发出1bit

怎么发出bit0

怎么发出bit1

3怎么读数据==>怎么读1bit

怎么判读读到0

怎么判断读到1

初始化时序

一开始是高电平,想要开始传输信号,必须要拉低至少480us释放总线 经过15~60us之后 DS18B20会把这条线拉低60~240us

2 怎么发数据,怎么发出1bit

怎么发出bit0怎么发出bit1

写数据时序

不论是写0还是写1时序都是大于60us 写0拉低总线维持60us以上 写1时,信号线拉低1us时间,提醒要写数据了,然后回高,写1位之间的时间间隔1us

读数据时序 也是由主机发起 提醒脉冲大于1us,主机马上释放总线 在15us之内读信号,一个读周期至少是60us,每位的间隔也是1us

DS18B20提供了编程图

供电方式

「新品首发」STM32MP157开发板火爆预售!首批仅300套

数字温度传感器DS18B20简介

1、DS18B20的主要特性1.1、适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯1.3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温1.4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内1.5、温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃1.6、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温1.7、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快1.8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力1.9、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

2、DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如下图1:

DS18B20引脚定义:

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

图2: DS18B20内部结构图

3、DS18B20工作原理

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

图3: DS18B20测温原理框图

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

(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

表1: DS18B20温度值格式表

这是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。

表2: DS18B20温度数据表

(3)DS18B20温度传感器的存储器

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

相关问答

使用 温度传感器DS18B20 设计一温控系统,当温度超过35度或低...

[最佳回答]//这是我曾经做的一个温度控制系统,可以调节上下限温度,低于下限温度启动加热,高于上限停止加热。//温控系统控制程序//版本号:V1.0;2015.6.19//...

DS18B20 简易 温度传感器 的程序,有报警设置的用数码管显示温...

[最佳回答]//DS18B20的读写程序,数据脚P2.7////温度传感器18B20汇编程序,采用器件默认的12位转化////最大转化时间750微秒,显示温度-55到+125度,显示精度...

车上的 温度传感器 有哪些 车上的温度传感器的作用 - 汽车维修...

[回答]温度传感器是利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器。温度传感器是温度测量仪表的核心部分,品种繁多。按测量方式可分为接...

DS18B20温度传感器 与单片机间的通信线(延长线)可以多长 - 15...

加电源或者用寄生模式50-100用5V供电没没问题,只接一支DS18B20最远可以达到500m,18B20单线传输抗干扰能力本来就不高,线最长就几厘米,不管你用什...

dsl8 b20温度传感器 原理?

DS18B20工作原理是低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号发送给计数器1。高温度系数晶振随温度变化其振荡频率明显改变,所产生...

用一个 DS18B20传感器 和一个单片机最小系统和四位共阳极数码...

51单片机开发板使用例程,你找找,里面有一百个C的程序,有一个是关于这个的。这个挺简单的,网上搜搜一大把DS18B20的程序。我有。

ds18b20温度 传感是红外吗?

ds18b20温度传感不是红外。DS18B20是一款数字式普通温度传感器。它必须靠近被测温度场才能准确测量温度,不能远距离测量某一点的温度。红外温度传感器最主要...

怎么检测 18B20温度传感器 是否坏了?

用汇编拉低数据线600微秒然后延时等待60微秒来判断低电平,没出现是不是1820坏了,听说过的是18B20可以这样判断好坏。ds18B20是单片机系统中最常用的数字温...

DS18B20温度传感器 如何与单片机相连接_汽配人问答

[最佳回答]1、DS18B20温度传感器与单片机的一个IO口连接。2、温度传感器(temperaturetransducer)是指能感受温度并转换成可用输出信号的传感器。温度传感器...

DS18B20传感器 如何与单片机进行通信..._通信工程师_帮考网

DS18B20传感器是一种数字温度传感器,可以通过单一的数据线与单片机进行通信。下面是DS18B20传感器与单片机进行通信的步骤:1.确定DS18B20传感器的...

展开全部内容