单线数字温度传感器DS18B20以及ArduinoDS18B20接口的工作原理

电子说

1.3w人已加入

描述

温度传感器是非常重要的设备,因为它们可以帮助我们测量,监控和维持房间,仪器或设备的温度。

以前我们几乎使用了非常流行的LM35温度传感器每个温度相关的项目。我们现在将尝试使用名为DS18B20的不同温度传感器来测量使用Arduino的温度。

相关项目:基于Arduino的数字温度计

DS18B20温度传感器概述

DS18B20是1-Wire(单线)温度传感器由Maxim Integrated生产。它提供摄氏度的温度测量,分辨率为9位至12位。

DS18B20温度通过1-Wire接口或1-Wire总线交换信息,由Dallas Semiconductor开发的系统。在1-Wire接口中,通信只需要一根电线(从技术上讲,您需要两根电线:一根数据线和一根GND线)。

DS18B20温度传感器的另一个重要特性是每个DS18B20传感器都带有一个特定于该传感器的64位串行代码。

使用此功能独特的代码,您可以在同一个1-Wire总线上连接多个DS18B20传感器,并使用单个控制器访问信息。这种类型的设置在多个DS18B20传感器分布在很大区域的情况下非常有用。

以下是DS18B20数字温度计的一些主要功能。

使用只需一条线路进行数据传输的1-Wire接口。

9位到12位的可编程分辨率-bit。

它可以测量-55 0 C到+125 0 C范围内的温度。/span》

提供TO-92,8引脚SO和8引脚μSOP等不同封装。

DS18B20的引脚图

下图显示了DS18B20数字温度传感器的TO-92封装的引脚图。

DS18B20

DS18B20温度传感器的引脚说明

As您可以在上面的引脚图中看到,DS18B20传感器由三个引脚组成,即:V DD ,DQ和GND。

V DD :这是电源引脚。当使用寄生供电模式时,它必须接地(稍后会详细介绍)。

DQ:这是数据输入/输出引脚。它是一个开漏引脚,必须拉高。它以寄生供电模式提供电源。

GND:这是接地引脚。

DS18B20的框图

下图显示了DS18B20温度传感器的功能框图。它由一个电源电路,64位ROM,内存控制器,主温度传感器和一个Scratchpad区域组成,该区域有一个温度寄存器和一些其他寄存器,用于存储配置和报警高低触发。

DS18B20

64位ROM存储设备的唯一串行代码。温度传感器的数字输出存储在Scratchpad的2字节温度寄存器中。暂存器还包括1-Byte for Alarm HIGH Trigger寄存器,Alarm LOW Trigger寄存器和Configuration寄存器。

使用配置寄存器,您可以设置数字的分辨率输出从9位到12位之间的任何位置。为了保留配置中存储的数据,报警高电平和报警低电平寄存器,即使器件断电,这三个寄存器也实现为EEPROM。

为电源供电DS18B20传感器

有两种方法可以为DS18B20传感器供电。一种方法是将外部电源连接到传感器的V DD 引脚的传统方式。这个操作没有什么特别之处。

DS18B20

启动DS18B20传感器的第二种方法是让事情变得有趣。为传感器供电的第二种方式称为寄生电源模式,无需外部电源。

DS18B20

在寄生供电模式下,DS18B20在拉高时从DQ引脚获取电源。当1-Wire总线为高电平时,它为DS18B20供电。当总线为低电平时,寄生电源电容(C PP )中存储的电荷将为传感器供电。在寄生供电模式下,V DD 引脚连接到GND。

DS18B20与Arduino接口

在本项目中,我们将了解如何将DS18B20温度传感器与Arduino连接。由于传感器基于1-Wire通信,因此Arduino和DS18B20之间只需要一根线。

Arduino DS18B20接口电路图

下图显示了Arduino DS18B20接口的电路图。

DS18B20

所需组件

Arduino UNO

DS18B20数字温度传感器

16×2 LCD显示器

10KΩ电位器

4.7KΩ电阻器(1/4瓦)

330Ω电阻(1/4瓦)

5mm LED

连接电线

面包板

电源

电路设计

Arduino DS18B20接口电路的设计非常简单。您只需将传感器的V DD 和GND连接到+ 5V和GND,并将传感器的DQ引脚连接到任何一个数字I/O引脚(它连接到数字) I/O引脚8)。

使用4.7KΩ电阻将DQ引脚拉高。

因为我们需要为了查看测量温度,我已将一个简单的16X2 LCD显示器连接到Arduino。

代码

项目代码如下。您需要为Arduino下载两个库:OneWire和DallasTemperature。您可以从以下链接下载这些库:下载OneWire Library 和下载DallasTemperature Library 。

工作Arduino DS18B20接口

项目的工作非常简单。 Arduino通过1-Wire接口与DS18B20通信,并从传感器中提取温度信息。提取的信息显示在16X2 LCD显示屏上。

应用

DS18B20温度传感器可用于各种应用,例如:

温度计

温度敏感系统

消费类电子产品

工业设备

恒温器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分