《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 溫度傳感器在火災(zāi)報警系統(tǒng)中的應(yīng)用
溫度傳感器在火災(zāi)報警系統(tǒng)中的應(yīng)用
中國自動化網(wǎng)
摘要: 1-Wire總線技術(shù)具有節(jié)省I/O資源、結(jié)構(gòu)簡單,、成本低廉,便于總線擴展和方便維護等特點,。文章中介紹了1-Wire總線技術(shù)數(shù)字溫度傳感器的基本特性與功能塊圖,數(shù)字溫度傳感器ROM命令和功能命令,。
Abstract:
Key words :

摘 要:1-Wire總線技術(shù)具有節(jié)省I/O資源,、結(jié)構(gòu)簡單、成本低廉,,便于總線擴展和方便維護等特點,。文章中介紹了1-Wire總線技術(shù)數(shù)字溫度傳感器的基本特性與功能塊圖,數(shù)字溫度傳感器ROM命令和功能命令,。闡述了1-Wire總線技術(shù)數(shù)字溫度傳感器供電方式,。利用1-Wire總線技術(shù)使用多個數(shù)字溫度傳感器,實時時鐘電路,,鍵盤顯示電路,,串行存儲器電路,,RS485通信電路以及看門狗電路等,組成了火災(zāi)報警系統(tǒng)硬件系統(tǒng),。繪制了溫度采集與處理流程圖,。采用多個傳感器測量不同房間內(nèi)的溫度,可以設(shè)置不同房間的報警上限值,,可以實現(xiàn)多個房間對應(yīng)溫度的顯示和報警,。1-Wire總線技術(shù)數(shù)字溫度傳感器已經(jīng)成功地應(yīng)用于火災(zāi)報警系統(tǒng)中。
關(guān)鍵詞:1-Wire技術(shù);溫度傳感器;火災(zāi)報警;溫度采集
1.引言
  1-Wire總線技術(shù)具有節(jié)省I/O資源,、結(jié)構(gòu)簡單,、成本低廉,便于總線擴展和方便維護等特點,。因此在分布式測溫系統(tǒng)中有著廣泛的應(yīng)用,。而美國DALLAS公司生產(chǎn)的單總線智能溫度傳感器DS18B20是采用1-Wire總線技術(shù)的典型產(chǎn)品[2]。DS18B20通過單線按照1-Wire協(xié)議傳送特定的命令序列并進行數(shù)據(jù)通信,。該系列產(chǎn)品有個很重要的特性就是在出廠前每個器件都被寫入了唯一的64位ROM 碼即序列號,,最低有效字節(jié)為家族代碼。代表器件的類型,。如DS1990A的家族碼為01H,,DS18B20的家族碼為28H。由于在同一條1-Wire 總線上可同時掛接多個相同系列或不同系列的1-Wire 器件,,因此主機必須能夠決定如何正確地訪問位于1-Wire 總線上的各個器件,。64位ROM 碼中家族碼提供了器件的類型,隨后的6 個字節(jié)是器件的唯一序列號,,用以區(qū)分同一個系列的不同器件,。該序列號可作為1-Wire 總線上器件的地址。這樣1-Wire 總線上的所有器件連同主機就構(gòu)成了一個微型局域網(wǎng),。它們之間通過一條公共線來進行通信[5].
2.數(shù)字溫度傳感器特性與功能塊圖。
  DS18B20的核心功能就是可以直接轉(zhuǎn)換成數(shù)字量,。由于每一個智能溫度傳感器DS18B20有一個唯一的64位序列號,。允許多個DS18B20在同一條總線上工作。因此可以用一個單片機在一個大范圍內(nèi)控制多個數(shù)字溫度傳感器DS18B20,,經(jīng)常用于環(huán)境溫度控制,、溫度監(jiān)測系統(tǒng)以及過程監(jiān)測和控制系統(tǒng)中。1-Wire 器件64位序列號的最高有效字節(jié)是循環(huán)冗余校驗CRC 碼,。該值基于前面的56位數(shù)據(jù),。當系統(tǒng)主機開始與某個器件進行通信時,可以從低位開始讀取8個ROM 字節(jié)即64位序列號,。
  1-Wire總線技術(shù)的溫度傳感器DS18B20溫度的測量范圍為 - 55℃ ~ + 125℃ ,。便箋存儲器中包含兩個字節(jié)溫度寄存器用于存儲溫度傳感器的數(shù)字輸出,。另外提供一個字節(jié)報警上限TH和一個字節(jié)報警下限TL寄存器。還有一個字節(jié)組態(tài)寄存器,。組態(tài)寄存器允許用戶設(shè)置分辨率為9 ~ 12位,。分別對應(yīng)溫度值0.5℃、0.25℃,、0.125℃和0.0625℃,。TH、,、TL和組態(tài)寄存器可以存放在EEPROM中,,因此當系統(tǒng)掉電時,TH,、,、TL和組態(tài)寄存器中的數(shù)據(jù)仍將保存。1-Wire總線技術(shù)的溫度傳感器DS18B20功能塊如圖1所示,。

圖1 1-Wire技術(shù)的溫度傳感器DS18B20功能塊圖
3.數(shù)字溫度傳感器ROM命令和功能命令,。
  為了能夠使1-Wire總線技術(shù)的溫度傳感器DS18B20正常工作,需要按照一定順序執(zhí)行相關(guān)命令,。首先進行初始化,,其次執(zhí)行ROM命令,最后執(zhí)行DS18B20功能命令,。常用的ROM命令有5個,。每個命令均為一個字節(jié)。在發(fā)送DS18B20功能命令之前,,主CPU必須發(fā)布適當?shù)腞OM命令,。對ROM的五種操作命令有ROM搜索命令(代碼為F0H),ROM命令(代碼為33H),,匹配ROM命令(代碼為55H),,跳過ROM命令(代碼為CCH)和搜索報警命令(代碼為ECH)。
  當主CPU使用了ROM命令之后,,如果訪問想要通信的從設(shè)備DS18B20時,,主CPU能夠發(fā)布一個DS18B20功能命令。1-Wire總線技術(shù)的溫度傳感器DS18B20功能命令主要有5條,。這些命令允許主CPU讀或?qū)慏S18B20的便箋存儲器,,開始溫度轉(zhuǎn)換以及決定電源的模式。DS18B20功能命令如下所述,。
  1.溫度轉(zhuǎn)換命令(代碼為44H)使DS18B20開始轉(zhuǎn)換,。轉(zhuǎn)換完畢的溫度數(shù)據(jù)存放在兩個字節(jié)的溫度寄存器中。
  2.寫便箋存儲器命令(代碼為4EH)允許主CPU 寫3個字節(jié)數(shù)據(jù)到便箋存儲器中,。第一個數(shù)據(jù)字節(jié)被寫入到TH寄存器中,,第二個數(shù)據(jù)字節(jié)被寫入到TL寄存器中,,第三個數(shù)據(jù)字節(jié)被寫入到組態(tài)寄存器中。數(shù)據(jù)寫入從最低有效位開始,。在主CPU發(fā)出復(fù)位脈沖之前,,三個字節(jié)必須被寫完。
  3.讀便箋存儲器命令(代碼為BEH)允許主CPU 讀出便箋存儲器中的內(nèi)容,。數(shù)據(jù)傳輸從字節(jié)0的最低有效位開始到字節(jié)8,。便箋存儲器中的9個字節(jié)內(nèi)容被讀出。其中字節(jié)8為CRC校驗碼,。如果只需要讀出便箋存儲器中的部分字節(jié),,主CPU可以隨時發(fā)出復(fù)位脈沖終止讀操作。
  4.拷貝便箋存儲器命令(代碼為48H)將拷貝便箋存儲器字節(jié)2,、3,、4即TH 、TL和組態(tài)寄存器內(nèi)容到EEPROM,。
  5.從EEPROM重新調(diào)出命令(代碼為B8H)將從EEPROM重新調(diào)出TH ,、TL和組態(tài)寄存器內(nèi)容,并將數(shù)據(jù)放置到便箋存儲器字節(jié)2,、3,、4中。上電時從EEPROM重新調(diào)出命令(代碼為B8H)將會自動執(zhí)行,。
4. 火災(zāi)報警系統(tǒng)硬件組成
  火災(zāi)報警系統(tǒng)由AT89C51,,實時時鐘電路DS1302,鍵盤與顯示電路,,RS485通信電路,,MAX813L組成的看門狗電路,串行E2PROM存儲器電路等組成,,采用多個傳感器測量不同房間內(nèi)的溫度,,可以設(shè)置不同房間的報警上限值,可以實現(xiàn)多個房間對應(yīng)溫度的顯示和報警,。
  火災(zāi)報警系統(tǒng)硬件組成如圖2所示,。

圖2 火災(zāi)報警系統(tǒng)硬件組成圖
5. 1-Wire總線技術(shù)數(shù)字溫度傳感器供電方式
  DS18B20的電源供電有兩種。外部供電方式和寄生電源供電方式,。外部供電方式如圖3所示。圖3中引腳 VDD接外部電源,。而寄生電源供電方式不需要外部電源如圖4所示,。工作于寄生電源供電方式時,VDD和GND 均接地,。在需要遠程溫度檢測和空間受限制時非常有用,。圖3中當1-Wire總線為高電平時,,DS18B20從1-Wire總線上經(jīng)過引腳DQ“偷竊”電源,偷竊的電荷給總線供電,。當總線為低電平時,,存儲在寄生電源電容上的電荷為傳感器供電。當DS18B20用于寄生電源供電方式時,,VDD必須要接地[1],。但是在寄生電源供電方式時,當DS18B20執(zhí)行溫度轉(zhuǎn)換和拷貝便箋存儲器內(nèi)容到EEPROM中時,,操作電流能夠達到1.5mA. 此電流能夠?qū)е码妷好黠@下降而使傳感器不能正常工作,。為了保證DS18B20有充足的供電電流,當進行溫度轉(zhuǎn)換和拷貝便箋存儲器內(nèi)容到EEPROM中時,,必須要在總線上提供足夠強的上拉,。可以用一個MOSFET管來完成對總線的上拉如圖4 所示,。一般當檢測的溫度超過100℃時,,建議不要使用寄生電源供電方式而要用外部供電方式。因為在這樣高的溫度下,,由于高的泄漏電流,,DS18B20不可能保持數(shù)據(jù)通信。因此在條件允許的情況下,,盡量采用外部供電方式,。

圖3 DS18B20的外部供電方式

圖4 DS18B20的寄生電源供電方式
6. 溫度采集與處理流程圖
  基于AT89C51單片機設(shè)計的火災(zāi)報警系統(tǒng)采用智能溫度傳感器DS18B20,在正確讀出64位序列號之后,,需要根據(jù)時序的嚴格要求,,編寫溫度讀取程序。單片機控制DS18B20的溫度轉(zhuǎn)換必須按照DS18B20的命令流程,。首先執(zhí)行初始化時序,,然后單片機發(fā)出跳過ROM命令(代碼為CCH),此命令針對所有在線DS18B20,,單片機再發(fā)出啟動轉(zhuǎn)換命令(代碼為44H),,啟動DS18B20完成溫度轉(zhuǎn)換。對于12位分辨率還需延時750ms之后,。接著再執(zhí)行初始化時序,,然后單片機發(fā)出匹配ROM命令(代碼為55H)并向數(shù)據(jù)線上發(fā)出64位序列號,再發(fā)出讀9個字節(jié)命令(代碼為BEH),,就可以讀出智能溫度傳感器DS18B20對應(yīng)序列號完成溫度轉(zhuǎn)換之后的相應(yīng)正確溫度,。基于DS18B20的溫度采集與處理流程圖如圖5 所示,。

圖5 基于1-Wire技術(shù)的DS18B20溫度采集與處理程序流程圖
7.結(jié)束語
  傳統(tǒng)的測溫方法是將模擬信號傳送到采樣電路進行A/D轉(zhuǎn)換,,為了獲得較高精度,,就必須解決多點測量切換及放大電路零點漂移問題。而1-Wire總線技術(shù)數(shù)字溫度傳感器的出現(xiàn)較好地解決上述問題,。本文作者創(chuàng)新點是應(yīng)用1-Wire總線技術(shù),,采用多個數(shù)字溫度傳感器設(shè)計了火災(zāi)報警系統(tǒng),分析了傳感器供電方式和特性,,闡述了數(shù)字溫度傳感器ROM命令和功能命令,。基于AT89C51設(shè)計了實時時鐘顯示電路,,鍵盤顯示電路,,串行存儲器電路,RS485通信電路,,看門狗電路等,,闡述了火災(zāi)報警系統(tǒng)的硬件構(gòu)成圖。設(shè)計了溫度采集的流程圖,,并編寫程序完成了溫度的正確顯示,。1-Wire技術(shù)溫度傳感器DS18B20將溫度信號直接轉(zhuǎn)換成串行數(shù)字信號以供單片機處理,在單總線接口上掛接了多個傳感器,,直接以一總線的數(shù)字方式傳輸現(xiàn)場溫度,,方便地組成分布式多點測溫系統(tǒng)。使用1-Wire總線技術(shù)數(shù)字溫度傳感器有效地降低成本,,使應(yīng)用系統(tǒng)可靠性高而且傳輸距離遠,。目前已經(jīng)較好地應(yīng)用于分布式測溫的火災(zāi)報警系統(tǒng)中。
參考文獻
  [1] Dallas Semiconductor. DS18B20 1-Wire Digital Thermometer [Z]. Dallas Semiconductor Co, 2002
  [2] 于永學(xué),,葛建,,1-Wire總線數(shù)字溫度傳感器DS18B20及應(yīng)用 [J],電子產(chǎn)品世界,,2003.12 / 下半月
  [3] 谷云輝,,劉亞斌,基于自動測試系統(tǒng)的故障診斷方法研究 [J],,微計算機信息,,2005年第 7 期
  [4] 徐維濤,郝曉弘,,OCXO恒溫槽溫度控制系統(tǒng)控制方法研究 [J],,微計算機信息,2006年第 3 期
  [5] 運用和理解Dallas iButtonTM 產(chǎn)品中的循環(huán)冗余校驗(CRC)[Z],,www. dalsemi. Com

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。