久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 56738|回復: 9
打印 上一主題 下一主題
收起左側

數字溫度傳感器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和結構寄存器。     (4)配置寄存器 該字節各位的意義如下:
表3: 配置寄存器結構
TM
R1
R0
1
1
1
1
1
    低五位一直都是"1",TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動。R1和R0用來設置分辨率,如下表所示:(DS18B20出廠時被設置為12位)
表4: 溫度分辨率設置表
R1
R0
分辨率
溫度最大轉換時間
0
0
9位

93.75ms
0
1
10位

187.5ms
1
0
11位

375ms
1
1
12位

750ms

4、高速暫存存儲器     高速暫存存儲器由9個字節組成,其分配如表5所示。當溫度轉換命令發布后,經轉換所得的溫度值以二字節補碼形式存放在高速暫存存儲器的第0和第1個字節。單片機可通過單線接口讀到該數據,讀取時低位在前,高位在后,數據格式如表1所示。對應的溫度計算:當符號位S=0時,直接將二進制位轉換為十進制;當S=1時,先將補碼變為原碼,再計算十進制值。表 2是對應的一部分溫度值。第九個字節是冗余檢驗字節。
表5: DS18B20暫存寄存器分布

寄存器內容
字節地址
溫度值低位 (LS Byte)
0
溫度值高位 (MS Byte)
1
高溫限值(TH)
2
低溫限值(TL)
3
配置寄存器
4
保留
5
保留
6
保留
7
CRC校驗值
8
    根據DS18B20的通訊協議,主機(單片機)控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位操作,復位成功后發送一條ROM指令,最后發送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數據線下拉500微秒,然后釋放,當DS18B20收到信號后等待16~60微秒左右,后發出60~240微秒的存在低脈沖,主CPU收到此信號表示復位成功。
表6: ROM指令表
指 令
約定代碼
功 能
讀ROM
33H
讀DS1820溫度傳感器ROM中的編碼(即64位地址)

符合 ROM
55H
發出此命令之后,接著發出 64 位 ROM 編碼,訪問單總線上與該編碼相對應的 DS1820 使之作出響應,為下一步對該 DS1820 的讀寫作準備。

搜索 ROM
0FOH
用于確定掛接在同一總線上 DS1820 的個數和識別 64 位 ROM 地址。為操作各器件作好準備。

跳過 ROM
0CCH

忽略 64 位 ROM 地址,直接向 DS1820 發溫度變換命令。適用于單片工作。

告警搜索命令
0ECH

執行后只有溫度超過設定值上限或下限的片子才做出響應。

表6: RAM指令表
指 令
約定代碼
功 能
溫度變換
44H
啟動DS1820進行溫度轉換,12位轉換時最長為750ms(9位為93.75ms)。結果存入內部9字節RAM中。

讀暫存器

0BEH
讀內部RAM中9字節的內容

寫暫存器

4EH
發出向內部RAM的3、4字節寫上、下限溫度數據命令,緊跟該命令之后,是傳送兩字節的數據。

復制暫存器

48H

將RAM中第3 、4字節的內容復制到EEPROM中。

重調 EEPROM

0B8H

將EEPROM中內容恢復到RAM中的第3 、4字節。
讀供電方式
0B4H

讀DS1820的供電模式。寄生供電時DS1820發送“ 0 ”,外接電源供電 DS1820發送“ 1 ”。

                                                                                                                                                                                    
5、DS18B20的應用電路     DS18B20測溫系統具有測溫系統簡單、測溫精度高、連接方便、占用口線少等優點。下面就是DS18B20幾個不同應用方式下的測溫電路圖: 5.1、DS18B20寄生電源供電方式電路圖     如下面圖4所示,在寄生電源供電方式下,DS18B20從單線信號線上汲取能量:在信號線DQ處于高電平期間把能量儲存在內部電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。
   
    獨特的寄生電源方式有三個好處:
   
    1)進行遠距離測溫時,無需本地電源
    2)可以在沒有常規電源的條件下讀取ROM
    3)電路更加簡潔,僅用一根I/O口實現測溫

    要想使DS18B20進行精確的溫度轉換,I/O線必須保證在溫度轉換期間提供足夠的能量,由于每個DS18B20在溫度轉換期間工作電流達到1mA,當幾個溫度傳感器掛在同一根I/O線上進行多點測溫時,只靠4.7K上拉電阻就無法提供足夠的能量,會造成無法轉換溫度或溫度誤差極大。
    因此,圖4電路只適應于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統中。并且工作電源VCC必須保證在5V,當電源電壓下降時,寄生電源能夠汲取的能量也降低,會使溫度誤差變大。

    注: 站長曾經就此電路做過實驗,在實驗中,降低電源電壓VCC,當低于4.5V時,測出的溫度值比實際的溫度高,誤差較大。。。當電源電壓降為4V時,溫度誤差有3℃之多,這就應該是因為寄生電源汲取能量不夠造成的吧,因此,站長建議大家在開發測溫系統時不要使用此電路。


圖4

5.2DS18B20寄生電源強上拉供電方式電路圖     改進的寄生電源供電方式如下面圖5所示,為了使DS18B20在動態轉換周期中獲得足夠的電流供應,當進行溫度轉換或拷貝到E2存儲器操作時,用MOSFET把I/O線直接拉到VCC就可提供足夠的電流,在發出任何涉及到拷貝到E2存儲器或啟動溫度轉換的指令后,必須在最多10μS內把I/O線轉換到強上拉狀態。在強上拉方式下可以解決電流供應不走的問題,因此也適合于多點測溫應用,缺點就是要多占用一根I/O口線進行強上拉切換。



圖5


    注意:在圖4和圖5寄生電源供電方式中,DS18B20的VDD引腳必須接地


5.3DS18B20的外部電源供電方式     在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉換精度,同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點測溫系統。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉換溫度,讀取的溫度總是85℃。




圖6:外部供電方式單點測溫電路


圖7:外部供電方式的多點測溫電路圖

    外部電源供電方式是DS18B20最佳的工作方式,工作穩定可靠,抗干擾能力強,而且電路也比較簡單,可以開發出穩定可靠的多點溫度監控系統。站長推薦大家在開發中使用外部電源供電方式,畢竟比寄生電源方式只多接一根VCC引線。在外接電源方式下,可以充分發揮DS18B20寬電源電壓范圍的優點,即使電源電壓VCC降到3V時,依然能夠保證溫度量精度。


6、DS1820使用中注意事項
    DS1820雖然具有測溫系統簡單、測溫精度高、連接方便、占用口線少等優點,但在實際應用中也應注意以下幾方面的問題: 6.1較小的硬件開銷需要相對復雜的軟件進行補償,由于DS1820與微處理器間采用串行數據傳送,因此,在對DS1820進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。在使用PL/M、C等高級語言進行系統程序設計時,對DS1820操作部分最好采用匯編語言實現。 6.2在DS1820的有關資料中均未提及單總線上所掛DS1820數量問題,容易使人誤認為可以掛任意多個DS1820,在實際應用中并非如此。當單總線上所掛DS1820超過8個時,就需要解決微處理器的總線驅動問題,這一點在進行多點測溫系統設計時要加以注意。 6.3連接DS1820的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過50m時,讀取的測溫數據將發生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達150m,當采用每米絞合次數更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產生畸變造成的。因此,在用DS1820進行長距離測溫系統設計時要充分考慮總線分布電容和阻抗匹配問題。 6.4在DS1820測溫程序設計中,向DS1820發出溫度轉換命令后,程序總要等待DS1820的返回信號,一旦某個DS1820接觸不好或斷線,當程序讀該DS1820時,將沒有返回信號,程序進入死循環。這一點在進行DS1820硬件連接和軟件設計時也要給予一定的重視。     測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接VCC和地線,屏蔽層在源端單點接地。














評分

參與人數 2威望 +10 黑幣 +22 收起 理由
凌凈清河 + 12 絕世好帖!
王朗的誘惑 + 10 + 10 贊一個!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏9 分享淘帖 頂6 踩
回復

使用道具 舉報

沙發
ID:260909 發表于 2018-1-8 21:58 | 只看該作者
雖然沒接觸過你說的18B20,但看了本文后,感覺像是一個傳感器提供給單片機數據之類的東西,過段時間買個來跟著你的教程搞搞。
回復

使用道具 舉報

板凳
ID:1 發表于 2018-1-8 22:02 | 只看該作者
17年的51菜鳥 發表于 2018-1-8 21:58
雖然沒接觸過你說的18B20,但看了本文后,感覺像是一個傳感器提供給單片機數據之類的東西,過段時間買個來 ...

是的,單總線的器件很方便,最少只要2根線就可以同時實現供電與傳感器信號傳輸
回復

使用道具 舉報

地板
ID:260909 發表于 2018-1-8 23:06 | 只看該作者
admin 發表于 2018-1-8 22:02
是的,單總線的器件很方便,最少只要2根線就可以同時實現供電與傳感器信號傳輸

謝謝答復!
回復

使用道具 舉報

5#
ID:198716 發表于 2018-2-2 21:29 | 只看該作者
寄生電源方式 18b20驅動程序該如何操作?多用的I/O口線進行強上拉切換應該在什么時候?與外部電源程序有什么異同?麻煩您解答一下!
回復

使用道具 舉報

6#
ID:407940 發表于 2019-2-22 00:04 | 只看該作者
有人在嗎?急求一份51單片機ds18b20寄生電源供電的完整程序LCD顯示
回復

使用道具 舉報

7#
ID:407940 發表于 2019-2-22 00:18 | 只看該作者
還有人嗎?急求一個完整的51單片機ds18b20寄生電源供電程序LCD顯示,我qq1468216262,有酬
回復

使用道具 舉報

8#
ID:819372 發表于 2020-9-15 16:27 | 只看該作者
您好
有個技術問題想咨詢一下您
DS18B20在什么情況下會顯示127.9度。
我現在做給客戶的溫度探頭,偶爾有顯示127.9度,重啟之后又正常。
因為客戶設備干擾比較大,我在信號腳與GND之間增加了一個5V6和104,配合DS18B20變送模塊的軟件對干擾信號進行處理。
謝謝!
如能解決,不勝感激!!!

說明一下:DS18B20變送模塊是我朋友供貨的,做了很多客戶,用了很多地方不同場景,從來沒遇到這個問題,這是第一次。
回復

使用道具 舉報

9#
ID:328014 發表于 2020-9-15 16:43 | 只看該作者
2219088322 發表于 2020-9-15 16:27
您好
有個技術問題想咨詢一下您
DS18B20在什么情況下會顯示127.9度。

你這個是程序問題,因為127.9是DS18B20可測量的最大值
回復

使用道具 舉報

10#
ID:819372 發表于 2020-9-16 10:22 | 只看該作者
51hei團團 發表于 2020-9-15 16:43
你這個是程序問題,因為127.9是DS18B20可測量的最大值

謝謝!
這個是最大值我們知道
我們也做了相關驗證;
(1)同樣的溫度采集模塊,更換DS18B20溫度探頭,老化了近一周的時間,從監控的實時數據,從未出現過127.9
(2)網上介紹的一些供電不足可能導致的測量不準的信息,昨晚我們人為加大正極的輸入電阻(串上10K),出現127.9。同時測量正極與負極的電壓,發現電壓不穩定,在1.8V左右 到5V間不停的跳動。

我們初步判斷,是因為導線與模塊鏈接,接觸電阻過大導致的。
但這里同時又出現一個問題,客戶反饋出現異常的都有在不同端口復測,還是顯示127.9.
退回到我們公司后,我們再測試,無論怎么樣弄都復現不了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久成人 | 欧美一级欧美一级在线播放 | 国产黄色小视频在线观看 | 欧美日韩黄 | 国产欧美精品一区二区色综合朱莉 | 亚洲一区在线日韩在线深爱 | 精品亚洲91 | 午夜精品一区二区三区三上悠亚 | 女生羞羞网站 | 日韩免费在线观看视频 | 北条麻妃国产九九九精品小说 | 欧美一区二区大片 | 国产成人精品一区二区三区四区 | 日日干夜夜操 | 国产在线中文字幕 | 天天干天天干 | 欧美成人一区二区三区片免费 | 成人在线视频免费看 | 视频第一区 | 99精品国自产在线 | 日韩精品一区二区三区在线观看 | 精品国产色| 久久精品国产清自在天天线 | 亚洲一区二区在线视频 | 看羞羞视频免费 | 欧洲毛片| 91美女在线| 视频一区二区在线观看 | 中文字幕国产精品 | 午夜性色a√在线视频观看9 | 日韩在线中文字幕 | 狠狠亚洲| 精品粉嫩超白一线天av | 欧美a区| 国产精品视频久久久 | 91视频进入 | 成人午夜免费在线视频 | 国产在线一区二区 | 国产一级电影网 | 高清av一区 | 特黄小视频 |