DS18B20多點(diǎn)測溫方法探討
出處:950235 發(fā)布于:2010-11-05 16:41:34
摘要:多點(diǎn)測溫廣泛應(yīng)用于工業(yè)自動(dòng)化控制、農(nóng)業(yè)生產(chǎn)溫度測量等領(lǐng)域。本文介紹了智能集成數(shù)字溫度傳感器DS18B20 的特點(diǎn)和工作原理,對基于DS18B20 多點(diǎn)測溫的二種方法進(jìn)行了分析與探討。
1. 前言
多點(diǎn)測溫在糧食倉庫存儲(chǔ)的溫度監(jiān)控,禽蛋孵化箱自動(dòng)溫度控制,機(jī)柜儀器設(shè)備的溫度監(jiān)控,電力、電訊設(shè)備的過熱故障預(yù)知檢測,交通工具溫度監(jiān)視,醫(yī)療與保健診斷的溫度測試,以及智能家居的室溫自動(dòng)調(diào)節(jié)等領(lǐng)域有著廣泛的應(yīng)用。
傳統(tǒng)的溫度檢測大多以熱敏電阻為傳感器,但利用熱敏電阻測量溫度較低、可靠較差,且必須經(jīng)過A/D 轉(zhuǎn)換等接口電路轉(zhuǎn)換成數(shù)字信號(hào)后才能送給微處理器進(jìn)行處理,這樣就使得測溫裝置的電路結(jié)構(gòu)較復(fù)雜,降低了系統(tǒng)的安全可靠性。
2.DS18B20 數(shù)字溫度傳感器簡介
DS18B20 是美國DALLAS 公司生產(chǎn)的單線數(shù)字溫度傳感器,它是一款性能優(yōu)異的智能集成數(shù)字式傳感器,具有體積小、功耗低、性能高、抗干擾能力強(qiáng)、使用簡單等優(yōu)點(diǎn)。其獨(dú)特的單總線技術(shù)使用戶可輕松地組建傳感器網(wǎng)絡(luò),特別適合于構(gòu)成多點(diǎn)溫度測控系統(tǒng)。每個(gè)DS18B20 都有一個(gè)的64 位ROM 序列號(hào),通過查詢此序列號(hào),就可以區(qū)分不同的器件,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20 的目的,確保在應(yīng)用時(shí)能被標(biāo)識(shí),以實(shí)現(xiàn)對對象的準(zhǔn)確控制。DS18B20 的溫度測量范圍為 -55°C~+125°C,在-10°C~+85°C 范圍內(nèi),為±0.5°C。與傳統(tǒng)的分立式溫度傳感器不同的是,它是將被測量的溫度值直接轉(zhuǎn)化成串行數(shù)字信號(hào),通過微處理器即可直接讀出被測量的溫度數(shù)據(jù)。因而把DS18B20 應(yīng)用于溫度測控系統(tǒng)中,將大大簡化線路結(jié)構(gòu)和減少硬件開銷,使系統(tǒng)結(jié)構(gòu)更加簡單,工作穩(wěn)定,測溫高,維護(hù)方便,安全可靠性更高。
3. DS18B20 的測溫原理和工作過程
DS18B20 測溫原理如圖1 所示。圖中的低溫度系數(shù)振蕩器用來為計(jì)數(shù)器1 產(chǎn)生穩(wěn)定頻率的脈沖信號(hào),它是一個(gè)受溫度變化影響很小振蕩器,其振蕩頻率不隨溫度的變化而改變。而高溫度系數(shù)振蕩器是一個(gè)對溫度敏感的振蕩器,其振蕩頻率受溫度變化將發(fā)生明顯改變,所產(chǎn)生的脈沖信號(hào)作為減法計(jì)數(shù)器2 的脈沖輸入。初始時(shí),計(jì)數(shù)器1 和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1 對低溫度系數(shù)振蕩器產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1 的預(yù)置值減少到0 時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1 的預(yù)置值就會(huì)重新被裝入,計(jì)數(shù)器1 重新開始對低溫度系數(shù)振蕩器產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2 計(jì)數(shù)減少到0 時(shí),才停止對溫度寄存器的值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測溫度的數(shù)據(jù)。圖1 中的累加器用于補(bǔ)償和修正測溫過程中產(chǎn)生的非線性誤差,對計(jì)數(shù)器1 的預(yù)置值進(jìn)行修正。
DS18B20 僅使用一根數(shù)據(jù)線與主機(jī)進(jìn)行通信,用于接受控制信號(hào)和回傳數(shù)據(jù)信號(hào),
其上傳輸?shù)氖且幌盗械拿}沖信號(hào)。使用DS18B20 進(jìn)行溫度測量的步驟為:初始化DS18B20→跳過ROM 操作命令→啟動(dòng)溫度轉(zhuǎn)換命令→等待轉(zhuǎn)換完成→初始化→跳過ROM 操作命令→讀取溫度寄存器命令,這樣就可以讀出被測溫度的數(shù)據(jù)了。
圖1 DS18B20 測溫原理框圖
4. DS18B20 的多點(diǎn)測溫應(yīng)用
根據(jù)DS18B20 的電氣特性,我們可以采取以下二種方法使用DS18B20 進(jìn)行多點(diǎn)測溫。
(1)單端口單總線的多點(diǎn)測溫法。典型的應(yīng)用如圖2 所示,所有的DS18B20 相互并聯(lián)后其數(shù)據(jù)線連接到微處理器的某個(gè)I/O 端口線上,其顯著的特點(diǎn)是只占用微處理器的一個(gè)端口。因?yàn)槊總€(gè)DS18B20 內(nèi)部均有一個(gè)的64 位序列號(hào),在系統(tǒng)安裝及工作之前先將主機(jī)與DS18B20 逐個(gè)掛接,分別讀出其序列號(hào)并存儲(chǔ)在主機(jī)的EEPROM 中,微處理器根據(jù)序列號(hào)就可以對同一條總線上的多支DS18B20 進(jìn)行識(shí)別與控制,分別讀取它們的溫度。
圖2 單端口單總線測溫連接示意圖
單總線多點(diǎn)測溫的設(shè)計(jì)思想是:當(dāng)主機(jī)需要對眾多在線的DS18B20 中的某一個(gè)進(jìn)行操作時(shí),首先要發(fā)出匹配ROM 命令,緊接著主機(jī)把從EEPROM 中取出存儲(chǔ)的64 位序列號(hào)發(fā)送到總線上,只有具有此序列號(hào)的DS18B20 才接受與相應(yīng)主機(jī)的命令,之后操作就是針對該DS18B20 的。如圖3 所示的流程圖,其中的跳過ROM 命令,就是此后的操作是針對所有DS18B20 的。在DS18B20 組成的多點(diǎn)測溫系統(tǒng)中,先發(fā)送跳過ROM 命令,即是啟動(dòng)所有的DS18B20 進(jìn)行溫度轉(zhuǎn)換,然后,再通過匹配ROM 命令,逐一讀取每個(gè)DS18B20的溫度數(shù)據(jù)。
圖3 單端口單總線的多點(diǎn)測溫流程圖
這種測溫連接方法的優(yōu)點(diǎn)是電路連接簡單,硬件開銷小。但其缺點(diǎn)也是很明顯的,首先,這種單總線式的測溫方法是由多個(gè)DS18B20 并聯(lián)連接在一起的,它們在電氣特性上會(huì)有一定的相互影響,當(dāng)它們當(dāng)中的某個(gè)發(fā)生故障(如短路)時(shí),將會(huì)影響其它器件的正常工作,而排除故障時(shí)需要逐個(gè)斷開其與電路的連接,這將是個(gè)費(fèi)時(shí)費(fèi)力的工作;其次,在這種應(yīng)用方法中,多個(gè)器件串接在總線上時(shí),對所有器件的查詢操作,需要一個(gè)一個(gè)來分別識(shí)別,完成對全部器件的查詢需要花費(fèi)成倍的操作時(shí)間,整個(gè)系統(tǒng)把大量時(shí)間消耗在時(shí)序所要求的等待延時(shí)上,大大降低了系統(tǒng)的效率。此外,還需要在系統(tǒng)的初始化期間花費(fèi)較長的時(shí)間來進(jìn)行煩瑣的總線上器件的序列號(hào)查詢工作,才能獲取總線上的每個(gè)器件的序列號(hào)。這種通過查詢序列號(hào)依次讀取數(shù)據(jù)的方法,不僅程序設(shè)計(jì)會(huì)變得非常復(fù)雜,而且會(huì)大大降低溫度測量的靈敏度,這是單總線應(yīng)用方法上的致命缺點(diǎn)。在這種應(yīng)用中雖然節(jié)省了微處理器的I/O 端口資源,但微處理器不得不經(jīng)過長時(shí)間的等待后方可獲得所有的溫度數(shù)據(jù),所以使用起來會(huì)有些局限性,尤其不適用在一些對實(shí)時(shí)性要求相對較高的系統(tǒng)當(dāng)中。
?。?)多端口并行驅(qū)動(dòng)法。如圖4 所示,各個(gè)DS18B20 的數(shù)據(jù)線分別連接到微處理器的不同I/O 端口。系統(tǒng)工作時(shí),微處理器同時(shí)對各個(gè)DS18B20 進(jìn)行統(tǒng)一的并行操作,對所有DS18B20 而言,其命令的接受與數(shù)據(jù)的傳送是同步進(jìn)行的,所花費(fèi)的時(shí)間等同于操作單個(gè)DS18B20 器件所用的時(shí)間,這樣即可輸入或輸出多個(gè)數(shù)據(jù),從而達(dá)到同步快速讀取溫度數(shù)據(jù)的目的。從圖4 中可見,每個(gè)端口連接有一個(gè)DS18B20 器件,也即一條端口線上僅有一個(gè)DS18B20 器件,在對DS18B20 器件進(jìn)行操作時(shí),只需統(tǒng)一地對這一組并行端口進(jìn)行操作即可。一個(gè)端口對應(yīng)一個(gè)DS18B20 器件,它們相互之間是獨(dú)立的,系統(tǒng)工作時(shí)數(shù)據(jù)線上傳輸?shù)拿钆c數(shù)據(jù)也是相互獨(dú)立的,所以也就不再需要對每個(gè)器件進(jìn)行序列號(hào)搜索與匹配操作,因而在對DS18B20 器件進(jìn)行操作時(shí),可以使用skip ROM命令來跳過ROM 序列號(hào)搜索與匹配的操作。在對連接在同一組端口上的多個(gè)DS18B20 操作時(shí),是同時(shí)對該組端口進(jìn)行操作,也即同時(shí)對該組DS18B20 器件進(jìn)行同步的命令發(fā)送與數(shù)據(jù)接收操作。其工作流程圖如圖5 所示。
圖4 多端口并行測溫連接示意圖
這種并行操作的好處就是節(jié)省時(shí)間,其查詢多個(gè)DS18B20 器件操作所消耗的時(shí)間與查詢單個(gè)DS18B20 器件操作所消耗的時(shí)間是一樣的,從而達(dá)到了快速多點(diǎn)測溫的目的,能夠滿足對實(shí)時(shí)性要求較高的溫度測量系統(tǒng)的設(shè)計(jì)需求。同時(shí),由于這種操作方法并不涉及DS18B20 的序列號(hào)問題,因而省掉了煩瑣的讀取與匹配序列號(hào)的操作過程,程序的設(shè)計(jì)、編寫、調(diào)試也變得較為簡單些,有利于縮短產(chǎn)品的研制開發(fā)周期,使得利用DS18B20 進(jìn)行多點(diǎn)測溫的操作變得更方便、容易。
顯而易見,這種測溫方法的缺點(diǎn)就是微處理器的I/O 口占用較多,硬件資源開銷大,每一個(gè)測試點(diǎn)需要一條連接線,而且當(dāng)連接的測試點(diǎn)較多、距離較遠(yuǎn)時(shí),這個(gè)缺點(diǎn)表現(xiàn)得尤為突出。
圖5 多端口并行測溫流程圖
5.結(jié)語
DS18B20 是一款性能優(yōu)良、使用方便、一致性好的智能集成數(shù)字溫度傳感器,由其構(gòu)成的多點(diǎn)溫度測量系統(tǒng)具有測量高、穩(wěn)定性好、結(jié)構(gòu)簡單、配置靈活、成本低廉、容易擴(kuò)展、傳輸距離遠(yuǎn)且抗干擾性強(qiáng)等特點(diǎn),在大范圍溫度多點(diǎn)監(jiān)控系統(tǒng)中具有十分廣闊的應(yīng)用前景。本文所介紹的二種基于DS18B20 的多點(diǎn)測溫方法各有優(yōu)缺點(diǎn),在應(yīng)用時(shí)可根據(jù)實(shí)際情況給予選擇。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 運(yùn)動(dòng)傳感器簡介:PIR、傾斜、力等2024/11/15 16:40:23
- 聲音傳感器的簡單輸入/輸出系統(tǒng)2024/11/8 16:52:46
- DHT11傳感器簡介及數(shù)據(jù)傳輸過程2024/3/20 17:23:57
- 什么是DS18B20溫度傳感器,DS18B20溫度傳感器的優(yōu)缺點(diǎn)2024/2/26 17:15:41
- 使用細(xì)銅線作為集成傳感器和加熱器進(jìn)行溫度控制2024/2/18 16:11:54