溫度傳感器是非常重要的設(shè)備,因?yàn)樗鼈兛梢詭椭覀儨y(cè)量,監(jiān)控和維持房間,儀器或設(shè)備的溫度。
以前我們幾乎使用了非常流行的LM35溫度傳感器每個(gè)溫度相關(guān)的項(xiàng)目。我們現(xiàn)在將嘗試使用名為DS18B20的不同溫度傳感器來測(cè)量使用Arduino的溫度。
相關(guān)項(xiàng)目:基于Arduino的數(shù)字溫度計(jì)
DS18B20溫度傳感器概述
DS18B20是1-Wire(單線)溫度傳感器由Maxim Integrated生產(chǎn)。它提供攝氏度的溫度測(cè)量,分辨率為9位至12位。
DS18B20溫度通過1-Wire接口或1-Wire總線交換信息,由Dallas Semiconductor開發(fā)的系統(tǒng)。在1-Wire接口中,通信只需要一根電線(從技術(shù)上講,您需要兩根電線:一根數(shù)據(jù)線和一根GND線)。
DS18B20溫度傳感器的另一個(gè)重要特性是每個(gè)DS18B20傳感器都帶有一個(gè)特定于該傳感器的64位串行代碼。
使用此功能獨(dú)特的代碼,您可以在同一個(gè)1-Wire總線上連接多個(gè)DS18B20傳感器,并使用單個(gè)控制器訪問信息。這種類型的設(shè)置在多個(gè)DS18B20傳感器分布在很大區(qū)域的情況下非常有用。
以下是DS18B20數(shù)字溫度計(jì)的一些主要功能。
使用只需一條線路進(jìn)行數(shù)據(jù)傳輸?shù)?-Wire接口。
9位到12位的可編程分辨率-bit。
它可以測(cè)量-55 0 C到+125 0 C范圍內(nèi)的溫度。/span》
提供TO-92,8引腳SO和8引腳μSOP等不同封裝。
DS18B20的引腳圖
下圖顯示了DS18B20數(shù)字溫度傳感器的TO-92封裝的引腳圖。
DS18B20溫度傳感器的引腳說明
As您可以在上面的引腳圖中看到,DS18B20傳感器由三個(gè)引腳組成,即:V DD ,DQ和GND。
V DD :這是電源引腳。當(dāng)使用寄生供電模式時(shí),它必須接地(稍后會(huì)詳細(xì)介紹)。
DQ:這是數(shù)據(jù)輸入/輸出引腳。它是一個(gè)開漏引腳,必須拉高。它以寄生供電模式提供電源。
GND:這是接地引腳。
DS18B20的框圖
下圖顯示了DS18B20溫度傳感器的功能框圖。它由一個(gè)電源電路,64位ROM,內(nèi)存控制器,主溫度傳感器和一個(gè)Scratchpad區(qū)域組成,該區(qū)域有一個(gè)溫度寄存器和一些其他寄存器,用于存儲(chǔ)配置和報(bào)警高低觸發(fā)。
64位ROM存儲(chǔ)設(shè)備的唯一串行代碼。溫度傳感器的數(shù)字輸出存儲(chǔ)在Scratchpad的2字節(jié)溫度寄存器中。暫存器還包括1-Byte for Alarm HIGH Trigger寄存器,Alarm LOW Trigger寄存器和Configuration寄存器。
使用配置寄存器,您可以設(shè)置數(shù)字的分辨率輸出從9位到12位之間的任何位置。為了保留配置中存儲(chǔ)的數(shù)據(jù),報(bào)警高電平和報(bào)警低電平寄存器,即使器件斷電,這三個(gè)寄存器也實(shí)現(xiàn)為EEPROM。
為電源供電DS18B20傳感器
有兩種方法可以為DS18B20傳感器供電。一種方法是將外部電源連接到傳感器的V DD 引腳的傳統(tǒng)方式。這個(gè)操作沒有什么特別之處。
啟動(dòng)DS18B20傳感器的第二種方法是讓事情變得有趣。為傳感器供電的第二種方式稱為寄生電源模式,無需外部電源。
在寄生供電模式下,DS18B20在拉高時(shí)從DQ引腳獲取電源。當(dāng)1-Wire總線為高電平時(shí),它為DS18B20供電。當(dāng)總線為低電平時(shí),寄生電源電容(C PP )中存儲(chǔ)的電荷將為傳感器供電。在寄生供電模式下,V DD 引腳連接到GND。
DS18B20與Arduino接口
在本項(xiàng)目中,我們將了解如何將DS18B20溫度傳感器與Arduino連接。由于傳感器基于1-Wire通信,因此Arduino和DS18B20之間只需要一根線。
Arduino DS18B20接口電路圖
下圖顯示了Arduino DS18B20接口的電路圖。
所需組件
Arduino UNO
DS18B20數(shù)字溫度傳感器
16×2 LCD顯示器
10KΩ電位器
4.7KΩ電阻器(1/4瓦)
330Ω電阻(1/4瓦)
5mm LED
連接電線
面包板
電源
Arduino DS18B20接口電路的設(shè)計(jì)非常簡(jiǎn)單。您只需將傳感器的V DD 和GND連接到+ 5V和GND,并將傳感器的DQ引腳連接到任何一個(gè)數(shù)字I/O引腳(它連接到數(shù)字) I/O引腳8)。
使用4.7KΩ電阻將DQ引腳拉高。
因?yàn)槲覀冃枰獮榱瞬榭礈y(cè)量溫度,我已將一個(gè)簡(jiǎn)單的16X2 LCD顯示器連接到Arduino。
代碼
項(xiàng)目代碼如下。您需要為Arduino下載兩個(gè)庫:OneWire和DallasTemperature。您可以從以下鏈接下載這些庫:下載OneWire Library 和下載DallasTemperature Library 。
工作Arduino DS18B20接口
項(xiàng)目的工作非常簡(jiǎn)單。 Arduino通過1-Wire接口與DS18B20通信,并從傳感器中提取溫度信息。提取的信息顯示在16X2 LCD顯示屏上。
應(yīng)用
DS18B20溫度傳感器可用于各種應(yīng)用,例如:
溫度計(jì)
溫度敏感系統(tǒng)
消費(fèi)類電子產(chǎn)品
工業(yè)設(shè)備
恒溫器
-
溫度傳感器
+關(guān)注
關(guān)注
48文章
2894瀏覽量
155808 -
DS18B20
+關(guān)注
關(guān)注
10文章
778瀏覽量
80645 -
Arduino
+關(guān)注
關(guān)注
187文章
6461瀏覽量
186520
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論