DS18B20 DS18B20是常用的數(shù)字溫度傳感器,其輸出的是數(shù)字信號(hào),具有體積小,硬件開(kāi)銷低,抗干擾能力強(qiáng),精度高的特點(diǎn)。?[1]?DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場(chǎng)合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號(hào)多種多樣,有LTM8877,LTM8874等等。 主要根據(jù)應(yīng)用場(chǎng)合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測(cè)溫,高爐水循環(huán)測(cè)溫,鍋爐測(cè)溫,機(jī)房測(cè)溫,農(nóng)業(yè)大棚測(cè)溫,潔凈室測(cè)溫,彈藥庫(kù)測(cè)溫等各種非極限溫度場(chǎng)合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。 中文名數(shù)字 溫度傳感器 外文名 DS18B20 體????積 小 硬件開(kāi)銷 低 抗干擾能力 強(qiáng) 工作電壓 3V~5.5V **低功耗 靜態(tài)功耗<3uA 常見(jiàn)封裝 TO-92、SOP8和DIP8 采集模塊 LCT2662M,RS485總線 目錄 1?工作原理 2?技術(shù)性能 3?應(yīng)用范圍 4?型號(hào)規(guī)格 5?接線說(shuō)明 ??接線方法 ??特點(diǎn) 6?部件描述 7?控制方法 ??初始化 ??寫操作 ??讀操作 8?主要特征 9?應(yīng)用舉例 工作原理 DS18B20的讀寫時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s減為750ms。 DS18B20測(cè)溫原理如圖3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)發(fā)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。?[2]? 技術(shù)性能 1、技術(shù)性能描述: ①、 *特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。 ② 、測(cè)溫范圍 -55℃~+125℃,固有測(cè)溫誤差(注意,不是分辨率,這里之前是錯(cuò)誤的)1℃。 ③、支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在一的三線上,較多只能并聯(lián)8個(gè),實(shí)現(xiàn)多點(diǎn)測(cè)溫,如果數(shù)量過(guò)多,會(huì)使供電電源電壓過(guò)低,從而造成信號(hào)傳輸?shù)牟环€(wěn)定。 ④、工作電源: 3.0~5.5V/DC (可以數(shù)據(jù)線寄生電源) ⑤ 、在使用中不需要任何外圍元件 ⑥、 測(cè)量結(jié)果以9~12位數(shù)字量方式串行傳送 ⑦ 、不銹鋼保護(hù)管直徑 Φ6 ⑧ 、適用于DN15~25, DN40~DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測(cè)溫 ⑨、 標(biāo)準(zhǔn)安裝螺紋 M10X1, M12X1.5, G1/2”任選 ⑩ 、PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。 DS18B20+ 和 Maxim Integrated 信息?[1]? Manufactured by Maxim Integrated, DS18B20+ is a 溫度傳感器. 應(yīng)用范圍 該產(chǎn)品適用于冷凍庫(kù),糧倉(cāng),儲(chǔ)罐,電訊機(jī)房,電力機(jī)房,電纜線槽等測(cè)溫和控制領(lǐng)域。軸瓦,缸體,紡機(jī),空調(diào),等狹小空間工業(yè)設(shè)備測(cè)溫和控制。汽車空調(diào)、冰箱、冷柜、以及中低溫干燥箱等。供熱/制冷管道熱量計(jì)量,中央空調(diào)分戶熱能計(jì)量和工業(yè)領(lǐng)域測(cè)溫和控制。 型號(hào)規(guī)格 型 號(hào) 測(cè)溫范圍 安裝螺紋 電纜長(zhǎng)度 適用管道 TS-18B20 -55~125 無(wú) 1.5 m TS-18B20A -55~125 M10X1 1.5m DN15~25 TS-18B20B -55~125 1/2”G 接線盒 DN40~ 60 接線說(shuō)明 接線方法 面對(duì)著平的那一面,左負(fù)右正,一旦接反就會(huì)立刻發(fā)熱,有可能燒毀!同時(shí),接反也是導(dǎo)致該傳感器總是顯示85℃的原因。實(shí)際操作中將正負(fù)反接,傳感器立即發(fā)熱,液晶屏不能顯示讀數(shù),正負(fù)接好后顯示85℃。另外,如果使用51單片機(jī)的話,那么中間那個(gè)引腳必須接上4.7K—10K的上拉電阻,否則,由于高電平不能正常輸入/輸出,要么通電后立即顯示85℃,要么用幾個(gè)月后溫度在85℃與正常值上亂跳 特點(diǎn) *特的*接口,只需要一條口線通信 多點(diǎn)能力,簡(jiǎn)化了分布式溫度傳感應(yīng)用 *外部元件 可用數(shù)據(jù)總線供電,電壓范圍為3.0 V至5.5 V *備用電源 測(cè)量溫度范圍為-55 ° C至+125 ℃ 。華氏相當(dāng)于是-67 ° F到257° F。在攝氏度-10 ° C至+85 ° C范圍內(nèi)精度為±0.5 ° C溫度傳感器可編程的分辨率為9~12位,溫度轉(zhuǎn)換為12位數(shù)字格式較大值為750毫秒,用戶可定義的非易失性溫度報(bào)警設(shè)置,應(yīng)用范圍包括恒溫控制、工業(yè)系統(tǒng)、消費(fèi)電子產(chǎn)品溫度計(jì)、或任何熱敏感系統(tǒng)描述該DS18B20的數(shù)字溫度計(jì)提供9至12位(可編程設(shè)備溫度讀數(shù))由于DS18B20是一條口線通信,所以*微處理器與DS18B20只有一個(gè)一條口線連接。為讀寫以及溫度轉(zhuǎn)換可以從數(shù)據(jù)線本身獲得能量,不需要外接電源。 因?yàn)槊恳粋€(gè)DS18B20的包含一個(gè)*特的序號(hào),多個(gè)ds18b20s可以同時(shí)存在于一條總線。這使得溫度傳感器放置在許多不同的地方。它的用途很多,包括空調(diào)環(huán)境控制,感測(cè)建筑物內(nèi)溫設(shè)備或機(jī)器,并進(jìn)行過(guò)程監(jiān)測(cè)和控制。 DS18B20采用*通信接口。因?yàn)?通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無(wú)法使用。主要首先提供以下功能命令之一: 1 )讀ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳過(guò)ROM, 5 )報(bào)警檢查。這些指令操作作用在沒(méi)有一個(gè)器件的64位光刻ROM序列號(hào),可以在掛在*上多個(gè)器件選定某一個(gè)器件,同時(shí),總線也可以知道總線上掛有有多少,什么樣的設(shè)備。 若指令成功地使DS18B20完成溫度測(cè)量,數(shù)據(jù)存儲(chǔ)在DS18B20的存儲(chǔ)器。一個(gè)控制功能指揮指示DS18B20的演出測(cè)溫。測(cè)量結(jié)果將被放置在DS18B20內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲(chǔ)器。溫度報(bào)警觸發(fā)器TH和TL都有一字節(jié)EEPROM 的數(shù)據(jù)。如果DS18B20不使用報(bào)警檢查指令,這些寄存器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫TH,TL指令以及配置字節(jié)利用一個(gè)記憶功能的指令完成。通過(guò)緩存器讀寄存器。所有數(shù)據(jù)的讀,寫都是從較低位開(kāi)始。 部件描述 存儲(chǔ)器 DS18B20的存儲(chǔ)器包括高速暫存器RAM和可電擦除RAM,可電擦除RAM又包括溫度觸發(fā)器TH和TL,以及一個(gè)配置寄存器。存儲(chǔ)器能完整的確定*端口的通訊,數(shù)字開(kāi)始用寫寄存器的命令寫進(jìn)寄存器,接著也可以用讀寄存器的命令來(lái)確認(rèn)這些數(shù)字。當(dāng)確認(rèn)以后就可以用復(fù)制寄存器的命令來(lái)將這些數(shù)字轉(zhuǎn)移到可電擦除RAM中。當(dāng)修改過(guò)寄存器中的數(shù)時(shí),這個(gè)過(guò)程能確保數(shù)字的完整性。 高速暫存器RAM是由8個(gè)字節(jié)的存儲(chǔ)器組成;。用讀寄存器的命令能讀出*九個(gè)字節(jié),這個(gè)字節(jié)是對(duì)**的八個(gè)字節(jié)進(jìn)行校驗(yàn)。。 64-位光刻ROM 64位光刻ROM的前8位是DS18B20的自身代碼,接下來(lái)的48位為連續(xù)的數(shù)字代碼,最后的8位是對(duì)前56位的CRC校驗(yàn)。64-位的光刻ROM又包括5個(gè)ROM的功能命令:讀ROM,匹配ROM,跳躍ROM,查找ROM和報(bào)警查找。 外部電源的連接 DS18B20可以使用外部電源VDD,也可以使用內(nèi)部的寄生電源。當(dāng)VDD端口接3.0V—5.5V的電壓時(shí)是使用外部電源;當(dāng)VDD端口接地時(shí)使用了內(nèi)部的寄生電源。無(wú)論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻。 配置寄存器 配置寄存器是配置不同的位數(shù)來(lái)確定溫度和數(shù)字的轉(zhuǎn)化。 可以知道R1,R0是溫度的決定位,由R1,R0的不同組合可以配置為9位,10位,11位,12位的溫度顯示。這樣就可以知道不同的溫度轉(zhuǎn)化位所對(duì)應(yīng)的轉(zhuǎn)化時(shí)間,四種配置的分辨率分別為0.5℃,0.25℃,0.125℃和0.0625℃,出廠時(shí)以配置為12位。 溫度的讀取 DS18B20在出廠時(shí)以配置為12位,讀取溫度時(shí)共讀取16位,前5個(gè)位為符號(hào)位,當(dāng)前5位為1時(shí),讀取的溫度為負(fù)數(shù);當(dāng)前5位為0時(shí),讀取的溫度為正數(shù)。溫度為正時(shí)讀取方法為:將16進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制即可。溫度為負(fù)時(shí)讀取方法為:將16進(jìn)制取反后加1,再轉(zhuǎn)換成10進(jìn)制即可。例:0550H = +85 度,F(xiàn)C90H = -55 度。 控制方法 DS18B20有六條控制命令,如表4.1所示: 表4.1 為DS18B20有六條控制命令 指 令 約定代碼 操 作 說(shuō) 明 溫度轉(zhuǎn)換 44H 啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換 讀暫存器 BEH 讀暫存器9字節(jié)二進(jìn)制數(shù)字 寫暫存器 4EH 將數(shù)據(jù)寫入暫存器的TH、TL字節(jié) 復(fù)制暫存器 48H 把暫存器的TH、TL字節(jié)寫到E2PROM中 重新調(diào)E2PROM B8H 把E2PROM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié) 讀電源供電方式 B4H 啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU初始化 (1) 先將數(shù)據(jù)線置高電平“1”。 (2) 延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn)) (3) 數(shù)據(jù)線拉到低電平“0”。 (4) 延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒)。 (5) 數(shù)據(jù)線拉到高電平“1”。 (6) 延時(shí)等待(如果初始化成功則在15到60微秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來(lái)確定它的存在,但是應(yīng)注意不能無(wú)限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行**時(shí)控制)。 (7) 若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(*(5)步的時(shí)間算起)較少要480微秒。 (8) 將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。 其時(shí)序如圖4.13所示: 圖4.13 初始化時(shí)序圖 寫操作 (1) 數(shù)據(jù)線先置低電平“0”。 (2) 延時(shí)確定的時(shí)間為15微秒。 (3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。 (4) 延時(shí)時(shí)間為45微秒。 (5) 將數(shù)據(jù)線拉到高電平。 (6) 重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。 (7) 最后將數(shù)據(jù)線拉高。 DS18B20的寫操作時(shí)序圖如圖4.14所示。 圖4.14 DS18B20的寫操作時(shí)序圖 讀操作 (1)將數(shù)據(jù)線拉高“1”。 (2)延時(shí)2微秒。 (3)將數(shù)據(jù)線拉低“0”。 (4)延時(shí)3微秒。 (5)將數(shù)據(jù)線拉高“1”。 (6)延時(shí)5微秒。 (7)讀數(shù)據(jù)線的狀態(tài)得到1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。 (8)延時(shí)60微秒。 DS18B20的讀操作時(shí)序圖如圖4.15所示。 圖1.15 DS18B20的讀操作圖 主要特征 1、DS18B20的主要特性 1.1、適應(yīng)電壓范圍較寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù) 據(jù)線供電 1.2、*特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊 1.3、 DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫 1.4、DS18B20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) 1.5、溫范圍-55℃~+125℃,在-10~+85℃時(shí)精度為±0.5℃ 1.6、可編程 的分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫 1.7、在9位分辨率時(shí)較多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)較多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度較快 1.8、測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一 線總線"串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有較強(qiáng)的抗干擾糾錯(cuò)能力 1.9、負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀, 但不能正常工作。 2、DS18B20的外形和內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。 DS18B20的外形及管腳排列如下圖1: DS18B20引腳定義: (1)DQ為數(shù)字信號(hào)輸入/輸出端; (2)GND為電源地; (3)VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。 圖2:DS18B20內(nèi)部結(jié)構(gòu)圖 3、DS18B20工作原理 DS18B20的讀寫時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s 減為750ms。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì) 低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重 新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即 為所測(cè)溫度。圖3中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。 圖3:DS18B20測(cè)溫原理框圖 DS18B20有4個(gè)主要的數(shù)據(jù)部件: (1)光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開(kāi)始8位 (28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是**56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用 是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。 (2)DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。 表1: DS18B20溫度值格式表 這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的**5位是符號(hào)位,如果測(cè)得的溫度大于0, 這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際 溫度。 例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FE6FH,-55℃的數(shù)字輸出為FC90H 。 表2: DS18B20溫度數(shù)據(jù)表 (3)DS18B20溫度傳感器的存儲(chǔ)器 DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器 TH、TL和結(jié)構(gòu)寄存器。 (4)配置寄存器 該字節(jié)各位的意義如下: 表3:配置寄存器結(jié)構(gòu) TM R1 R0 1 1 1 1 1 低五位一直都是"1",TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用 戶不要去改動(dòng)。R1和R0用來(lái)設(shè)置分辨率,如下表所示:(DS18B20出廠時(shí)被設(shè)置為12位) 表4:溫度分辨率設(shè)置表 R1 R0 分辨率 溫度較大轉(zhuǎn)換時(shí)間 0 0 9位 93.75ms 0 1 10位 187.5ms 1 0 11位 375ms 1 1 12位 750ms 4、高速暫存存儲(chǔ)器高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如表5所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在 高速暫存存儲(chǔ)器的*0和*1個(gè)字節(jié)。單片機(jī)可通過(guò)單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如表1所示。對(duì)應(yīng)的溫度計(jì)算: 當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。表 2是對(duì)應(yīng)的一部分溫度值。*九個(gè)字節(jié)是 冗余檢驗(yàn)字節(jié)。 表5:DS18B20暫存寄存器分布 寄存器內(nèi)容 字節(jié)地址 溫度值低位 (LS Byte) 0 溫度值高位 (MS Byte) 1 高溫限值(TH) 2 低溫限值(TL) 3 配置寄存器 4 保留 5 保留 6 保留 7 CRC校驗(yàn)值 8 根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行 復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后 釋放,當(dāng)DS18B20收到信號(hào)后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。 表6:ROM指令表 指 令 約定代碼 功 能 讀ROM 33H 讀DS1820溫度傳感器ROM中的編碼(即64位地址) 符合 ROM 55H 發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問(wèn)單總線上與該編碼相對(duì)應(yīng)的 DS1820 使之作出響應(yīng),為下一步對(duì)該 DS1820 的讀寫作準(zhǔn)備。 搜索 ROM FOH 用于確定掛接在同一總線上 DS1820 的個(gè)數(shù)和識(shí)別 64 位 ROM 地址。為操作各器件作好準(zhǔn)備。 跳過(guò) ROM CCH 忽略 64 位 ROM 地址,直接向 DS1820 發(fā)溫度變換命令。適用于單片工作。 告警搜索命令 ECH 執(zhí)行后只有溫度**過(guò)設(shè)定值上限或下限的片子才做出響應(yīng)。 表6:RAM指令表 指 令 約定代碼 功 能 溫度變換 44H 啟動(dòng)DS1820進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時(shí)較長(zhǎng)為750ms(9位為93.75ms)。結(jié)果存入內(nèi)部第0、1字節(jié)RAM中。 讀暫存器 BEH 連續(xù)讀取內(nèi)部RAM中9個(gè)字節(jié)的內(nèi)容 寫暫存器 4EH 發(fā)出向內(nèi)部RAM的第2、3和4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送三字節(jié)的數(shù)據(jù)。 備份設(shè)置 48H 將RAM中第2、3和4字節(jié)字節(jié)的內(nèi)容復(fù)制到EEPROM中。 恢復(fù)設(shè)置 B8H 將EEPROM中內(nèi)容恢復(fù)到RAM中的第2、3和4字節(jié)。 讀供電方式 B4H 讀DS1820的供電模式。寄生供電時(shí)DS1820發(fā)送“ 0 ”,外接電源供電 DS1820發(fā)送“ 1 ”。 5、DS18B20的應(yīng)用電路DS18B20測(cè)溫系統(tǒng)具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn)。下面就是DS18B20幾個(gè)不同應(yīng)用方式下的 測(cè)溫電路圖: 5.1、DS18B20寄生電源供電方式電路圖如下面圖4所示,在寄生電源供電方式下,DS18B20從單線信號(hào)線上汲取能量:在信號(hào)線DQ處于高電平期間把能量?jī)?chǔ)存在內(nèi)部 電容里,在信號(hào)線處于低電平期間消耗電容上的電能工作,直到高電平到來(lái)再給寄生電源(電容)充電。 *特的寄生電源方式有三個(gè)好處: 1)進(jìn)行遠(yuǎn)距離測(cè)溫時(shí),*本地電源 2)可以在沒(méi)有常規(guī)電源的條件下讀取ROM 3)電路較加簡(jiǎn)潔,僅用一根I/O口實(shí)現(xiàn)測(cè)溫 要想使DS18B20進(jìn)行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由 于每個(gè)DS18B20在溫度轉(zhuǎn)換期間工作電流達(dá)到1mA,當(dāng)幾個(gè)溫度傳感器掛在同一根I/O線上進(jìn)行多點(diǎn)測(cè)溫時(shí),只靠4.7K上拉電阻就無(wú)法提供足夠的 能量,會(huì)造成無(wú)法轉(zhuǎn)換溫度或溫度誤差較大。 因此,圖4電路只適應(yīng)于單一溫度傳感器測(cè)溫情況下使用,不適宜采用電池供電系統(tǒng)中。并 且工作電源VCC必須保證在5V,當(dāng)電源電壓下降時(shí),寄生電源能夠汲取的能量也降低,會(huì)使溫度誤差變大。 圖4 5.2、DS18B20寄生電源強(qiáng)上拉供電方式電路圖改進(jìn)的寄生電源供電方式如下面圖5所示,為了使DS18B20在動(dòng)態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng),當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝到 E2存儲(chǔ)器操作時(shí),用MOSFET把I/O線直接拉到VCC就可提供足夠的電流,在發(fā)出任何涉及到拷貝到E2存儲(chǔ)器或啟動(dòng)溫度轉(zhuǎn)換的指令后,必須在較 多10μS內(nèi)把I/O線轉(zhuǎn)換到強(qiáng)上拉狀態(tài)。在強(qiáng)上拉方式下可以解決電流供應(yīng)不走的問(wèn)題,因此也適合于多點(diǎn)測(cè)溫應(yīng)用,缺 點(diǎn)就是要多占用一根I/O口線進(jìn)行強(qiáng)上拉切換。 圖5 圖5 注意:在圖4和圖5寄生電源供電方式中,DS18B20的VDD引腳必須接地 5.3、DS18B20的外部電源供電方式 在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時(shí)I/O線不需要強(qiáng)上拉,不存在電源電流不足的問(wèn)題,可以保證 轉(zhuǎn)換精度,同時(shí)在總線上理論可以掛接任意多個(gè)DS18B20傳感器,組成多點(diǎn)測(cè)溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空 ,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85℃。 圖6:外部供電方式單點(diǎn)測(cè)溫電路 圖6 . . . . . 圖7:外部供電方式的多點(diǎn)測(cè)溫電路圖 圖7 外部電源供電方式是DS18B20較佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡(jiǎn)單,可以開(kāi)發(fā)出穩(wěn)定可靠的多點(diǎn)溫度 監(jiān)控系統(tǒng)。站長(zhǎng)推薦大家在開(kāi)發(fā)中使用外部電源供電方式,畢竟比寄生電源方式只多接一根VCC引線。在外接電源方式下, 可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓VCC降到3V時(shí),依然能夠保證溫度量精度。 6、DS1820使用中注意事項(xiàng) DS1820雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題: 6.1、較小的硬件開(kāi)銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此 ,在對(duì)DS1820進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在使用PL/M、C等**語(yǔ)言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì) DS1820操作部分較好采用匯編語(yǔ)言實(shí)現(xiàn)。 6.2、在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820數(shù)量問(wèn)題,容易使人誤認(rèn)為可以掛任意多個(gè) DS1820,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS1820**過(guò)8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí) 要加以注意。 6.3、連接DS1820的總線電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度**過(guò)50m時(shí),讀取的 測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正 常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在用DS1820進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考 慮總線分布電容和阻抗匹配問(wèn)題。 6.4、在DS1820測(cè)溫程序設(shè)計(jì)中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號(hào),一旦 某個(gè)DS1820接觸不好或斷線,當(dāng)程序讀該DS1820時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS1820硬件連接和軟件設(shè)計(jì)時(shí)也要給予 一定的重視。 測(cè)溫電纜線建議采用屏蔽4芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接VCC和地線,屏蔽層在源端單點(diǎn)接地。 應(yīng)用舉例 編輯 利用DS18B20構(gòu)成的數(shù)字溫度計(jì) 用一片DS18B20構(gòu)成測(cè)溫系統(tǒng),測(cè)量的溫度精度達(dá)到0.1度,測(cè)量的溫度的范圍在-20度到+100度之間,用8位 數(shù)碼管顯示出來(lái) 讀取溫度程序代碼段 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 #include"reg51.h" ? #include"d1820.h" ? #define?uint?unsigned?int ? #define?uchar?unsigned?char ? int?t; ? uint?num; ? uchar?dat;?//讀寫數(shù)據(jù)變量 ? uchar?a=0; ? uchar?b=0; ? float?tep=0;?//讀一個(gè)溫度時(shí)的溫度轉(zhuǎn)換中間間 ? uchar?data?tempbuf[4]=0;//溫度字型顯示中間變量 ? /****************************************************** ? 函數(shù)名稱:delay(uint?num) ? 返回值:無(wú) 參數(shù):uint?num? 延時(shí)數(shù)據(jù)值 作用:延時(shí) ? *******************************************************/ ? void?delay(uint?num) ? { ? while(num--); ? } ? /****************************************************** ? 函數(shù)名稱:void?Init_DS18B20(void) ? 返回值:無(wú) ? 參數(shù):無(wú) ? 作用:初始化18B20 ? *******************************************************/ ? void?Init_DS18B20(void) ? { ? char?x=0; ? DQ=1; delay(10);//稍作延時(shí) DQ=0; delay(80);//延時(shí)>480us?540us DQ=1;?//拉高總線?15-60us delay(20); x=DQ;//讀總線狀態(tài)?為0復(fù)位成功,為1則不成功 delay(30); DQ=1;//釋放總線 } /****************************************************** 函數(shù)名稱:uchar?ReadOneChar(void) 返回值:uchar?dat 參數(shù):?無(wú) 作用:讀取1820一個(gè)字節(jié) *******************************************************/ uchar?ReadOneChar(void) { uchar?i; uchar?dat=0; for(i=0;i<8;i++) { DQ=0; dat>>=1; DQ=1;//給脈沖 if(DQ) {dat|=0x80;}//讀1?///?讀0右移處理 delay(8);//15us內(nèi)讀完一個(gè)數(shù) } return(dat); } /****************************************************** 函數(shù)名稱:void?WriteOneChar(uchar?dat) 返回值:無(wú) 參數(shù):?uchar?dat 作用:向1820寫一個(gè)字節(jié) *******************************************************/ /////****寫DS18B20***/ //寫0?60us讀完,寫1?30us?內(nèi)讀完 ? void?WriteOneChar(uchar?dat) { uchar?i=0; for(i=0;i<8;i++) { DQ=0; DQ=dat&0x01;//寫所給數(shù)據(jù)較低位 delay(10); /////////// DQ=1;//給脈沖 dat>>=1; } delay(8); } /****************************************************** 函數(shù)名稱:int?ReadOneTemperature(void) 返回值:int?t 參數(shù):?無(wú) 作用:讀溫度值 *******************************************************/ int?ReadOneTemperature(void) ////////***讀取溫度值***********/ ////?每次讀寫均要先復(fù)位 { Init_DS18B20(); WriteOneChar(0xcc);//發(fā)跳過(guò)ROM命令 WriteOneChar(0x44);//發(fā)讀開(kāi)始轉(zhuǎn)換命令 Init_DS18B20(); WriteOneChar(0xcc);//發(fā)跳過(guò)ROM命令 WriteOneChar(0xbe);//讀寄存器,共九字節(jié),前兩字節(jié)為轉(zhuǎn)換值 a=ReadOneChar();?//a存低字節(jié) b=ReadOneChar();?//b存高字節(jié) t=b; t<<=8;//高字節(jié)轉(zhuǎn)換為10進(jìn)制 t=t|a; tep=t*0.0625;//轉(zhuǎn)換精度為0.0625/LSB t=tep*10+0.5;//保留1位小數(shù)并四舍五入****后面除10還原正確溫度值) return(t); } /****************************************************** 函數(shù)名稱:uint?Temperaturepro(void) 返回值:void 參數(shù):?void 作用:溫度處理 *******************************************************/ void?Temperaturepro(void) { int?temp; temp=ReadOneTemperature(); tempbuf[3]=temp/1000;//百位 tempbuf[2]=temp/**10;//十位 tempbuf[1]=temp%100/10;?//個(gè)位 tempbuf[0]=temp%10;?//小數(shù) }
詞條
詞條說(shuō)明
ds18b20,溫度傳感器,溫控典型應(yīng)用場(chǎng)景,集成電路傳感器,數(shù)字溫度傳感器,深圳捷捷電子有限公司
深圳市捷捷電子有限公司是一家擁有著完整的科學(xué)質(zhì)量管理體系和專業(yè)生產(chǎn)加工的企業(yè),我司在溫度控制領(lǐng)域,自2005年開(kāi)始已經(jīng)在溫控領(lǐng)域中**明顯的成效,2008至今與我司合作的企業(yè)已達(dá)3000家以上,由我司提供的溫度測(cè)試元件或成品溫度探測(cè)器至今尚未收到過(guò)一例產(chǎn)品質(zhì)量問(wèn)題。公司產(chǎn)品主要可應(yīng)用于:溫度傳感器,溫控典型應(yīng)用場(chǎng)景,集成電路傳感器,測(cè)溫器,感溫器,數(shù)字溫度傳感器,糧情測(cè)溫,無(wú)線測(cè)溫,智能冷藏柜,
ds18b20,溫度傳感器,集成電路傳感器,數(shù)字溫度傳感器,電吹風(fēng)控制板,深圳捷捷電子有限公司
DS18B20 DS18B20是常用的數(shù)字溫度傳感器,其輸出的是數(shù)字信號(hào),具有體積小,硬件開(kāi)銷低,抗干擾能力強(qiáng),精度高的特點(diǎn)。?[1]?DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場(chǎng)合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號(hào)多種多樣,有LTM8877,LTM8874等等。 主要根據(jù)應(yīng)用場(chǎng)合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測(cè)溫,高爐水循環(huán)測(cè)溫,鍋爐測(cè)溫,
公司名: 深圳市捷捷電子有限公司
聯(lián)系人: 龍
電 話: 0755-82995036
手 機(jī): 18578794574
微 信: 18578794574
地 址: 廣東深圳福田區(qū)廣東省深圳市福田區(qū)彩田路中深花園B座1815
郵 編: 518000
網(wǎng) 址: 18578794574.b2b168.com
公司名: 深圳市捷捷電子有限公司
聯(lián)系人: 龍
手 機(jī): 18578794574
電 話: 0755-82995036
地 址: 廣東深圳福田區(qū)廣東省深圳市福田區(qū)彩田路中深花園B座1815
郵 編: 518000
網(wǎng) 址: 18578794574.b2b168.com