温度传感器是非常重要的设备,因为它们可以帮助我们测量,监控和维持房间,仪器或设备的温度。
以前我们几乎使用了非常流行的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温度传感器的引脚说明
As您可以在上面的引脚图中看到,DS18B20传感器由三个引脚组成,即:V DD ,DQ和GND。
V DD :这是电源引脚。当使用寄生供电模式时,它必须接地(稍后会详细介绍)。
DQ:这是数据输入/输出引脚。它是一个开漏引脚,必须拉高。它以寄生供电模式提供电源。
GND:这是接地引脚。
DS18B20的框图
下图显示了DS18B20温度传感器的功能框图。它由一个电源电路,64位ROM,内存控制器,主温度传感器和一个Scratchpad区域组成,该区域有一个温度寄存器和一些其他寄存器,用于存储配置和报警高低触发。

64位ROM存储设备的唯一串行代码。温度传感器的数字输出存储在Scratchpad的2字节温度寄存器中。暂存器还包括1-Byte for Alarm HIGH Trigger寄存器,Alarm LOW Trigger寄存器和Configuration寄存器。
使用配置寄存器,您可以设置数字的分辨率输出从9位到12位之间的任何位置。为了保留配置中存储的数据,报警高电平和报警低电平寄存器,即使器件断电,这三个寄存器也实现为EEPROM。
为电源供电DS18B20传感器
有两种方法可以为DS18B20传感器供电。一种方法是将外部电源连接到传感器的V DD 引脚的传统方式。这个操作没有什么特别之处。

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

在寄生供电模式下,DS18B20在拉高时从DQ引脚获取电源。当1-Wire总线为高电平时,它为DS18B20供电。当总线为低电平时,寄生电源电容(C PP )中存储的电荷将为传感器供电。在寄生供电模式下,V DD 引脚连接到GND。
DS18B20与Arduino接口
在本项目中,我们将了解如何将DS18B20温度传感器与Arduino连接。由于传感器基于1-Wire通信,因此Arduino和DS18B20之间只需要一根线。
Arduino DS18B20接口电路图
下图显示了Arduino 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温度传感器可用于各种应用,例如:
温度计
温度敏感系统
消费类电子产品
工业设备
恒温器
-
温度传感器
+关注
关注
48文章
3105浏览量
162437 -
DS18B20
+关注
关注
10文章
782浏览量
83075 -
Arduino
+关注
关注
190文章
6515浏览量
195933
发布评论请先 登录
单总线接口数字温度传感器芯片GX18E20
使用18b20软件包报错怎么解决?
低频段 LNA 前端模块(B26/B5/B18/B19、B8、B20、B12/13/17、B28A、B28B 和 B29) skyworksinc
血泪教训总结:Air780EPM的LuatOS二次开发——OneWire协议调试注意事项
最佳实践指南:Air780EPM的LuatOS二次开发——OneWire协议调试的注意事项

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