基于數(shù)字溫度傳感器DSl8B20芯片的多點(diǎn)測(cè)溫系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
多點(diǎn)測(cè)溫系統(tǒng)在工業(yè)領(lǐng)域及其國(guó)民生產(chǎn)中有廣泛的用途。如在化工領(lǐng)域中,經(jīng)常需要檢測(cè)和控制反應(yīng)釜中的液體的溫度,使之能夠穩(wěn)定在一定的溫度范圍之內(nèi);在糧食儲(chǔ)存以及加工過(guò)程中,會(huì)儲(chǔ)存高水分的糧食,高水分的糧食極易升溫發(fā)霉,因此糧食儲(chǔ)存的測(cè)溫顯得尤為重要。以往的測(cè)溫系統(tǒng)多采用熱敏電阻,精度低、易損壞,且模擬信號(hào)遠(yuǎn)距離溫度測(cè)量系統(tǒng)中,需要很好地解決引線誤差補(bǔ)償問(wèn)題、多點(diǎn)測(cè)量切換誤差問(wèn)題和放大電路零點(diǎn)漂移誤差問(wèn)題等技術(shù)問(wèn)題,才能夠達(dá)到較高的測(cè)量精度。
因此,在溫度測(cè)量系統(tǒng)中,具有足夠的精度和實(shí)時(shí)性,控制足夠的精度,并且盡可能具有較低的成本,這樣的產(chǎn)品才具有實(shí)用價(jià)值。本文采用新型數(shù)字溫度傳感器 DSl8B20,它具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)等優(yōu)點(diǎn),以單片機(jī)AT89C51為控制核心完成多點(diǎn)測(cè)溫的可行性設(shè)計(jì)方案。
1 DSl8B20芯片特性及管腳介紹
1.1 DSl8B20芯片特性
DSl8B20單線數(shù)字溫度傳感器是新一代溫度傳感器,它具有微型化、低功耗,與其他溫度傳感器相比,具有以下特性:供電電源為3.0~5.5 V;獨(dú)特的單線接口方式,支持多點(diǎn)組網(wǎng)功能;溫范圍為-55~+125℃,在-10~+85℃時(shí)精度為±O.5℃;可編程的分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃,0.25℃,0.125℃和O.0625℃,可實(shí)現(xiàn)高精度測(cè)溫;轉(zhuǎn)換速度快;具有極強(qiáng)的抗干擾糾錯(cuò)能力;電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。
1.2 DSl8B20引腳功能
DSl8B20有2種封裝形式:3腳TO-92直插式(用的最多、最普遍的封裝)和8腳SOIC貼片式,封裝引腳如圖1所示。
DSl8B20各引腳的功能如表1所示。
2 DSl8B20的控制時(shí)序
硬件結(jié)構(gòu)的簡(jiǎn)單是以相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DSl8B20與單片機(jī)問(wèn)采用串行數(shù)據(jù)傳送,因此,它們之間有嚴(yán)格的時(shí)隙概念。單線信號(hào)包括復(fù)位脈沖、響應(yīng)脈沖、寫“0”、寫“1”、讀“1”、讀“0”。
(1)初始化。時(shí)序見(jiàn)圖2(a),主機(jī)總線t0時(shí)刻發(fā)送一復(fù)位脈沖(最短為480μs的低電平信號(hào))接著在t1時(shí)刻釋放總線并進(jìn)入接收狀態(tài)DS1820在檢測(cè)到總線的上升沿之后等待15~60μs,接著DS1820在t2時(shí)刻發(fā)出存在脈沖(低電平持續(xù)60~240μs),如圖中虛線所示。
初始化時(shí)序、讀/寫時(shí)序分別如圖2(a)、圖2(b)、圖2(c)昕示。
(2)寫時(shí)間隙。當(dāng)主機(jī)總線t0時(shí)刻從高拉至低電平時(shí),產(chǎn)生寫時(shí)間隙,見(jiàn)圖2(b)。從t0時(shí)刻開(kāi)始15μs之內(nèi)應(yīng)將所需寫的位送到總線上,DS1820 在t后15~60μs間對(duì)總線采樣,若低電平寫入的位是O,若高電平寫入的位是14;連續(xù)寫2位間的間隙應(yīng)大于1μs(見(jiàn)圖2(c))。主機(jī)總線t0時(shí)刻從高拉至低電平時(shí),總線只需保持低電平15μs之后,在t1時(shí)刻將總線拉高產(chǎn)生讀時(shí)間隙,讀時(shí)間隙在t1時(shí)刻后到t2時(shí)刻前(約15μs)產(chǎn)生讀時(shí)隙,t3時(shí)刻前主機(jī)必須完成讀位,然后將總線釋放。
3 硬件電路設(shè)計(jì)
3.1 系統(tǒng)硬件結(jié)構(gòu)
系統(tǒng)的硬件結(jié)構(gòu)如圖3所示。該系統(tǒng)以單片機(jī)AT89C51為核心,由溫度傳感器DSl8B20、開(kāi)關(guān)和LCD顯示電路等構(gòu)成。其中第一個(gè)單片機(jī)作為從機(jī),進(jìn)行8個(gè)溫度傳感器的采集,從機(jī)通過(guò)485接口與主機(jī)可以遠(yuǎn)距離相連,主機(jī)接開(kāi)關(guān),同時(shí)接液晶顯示,如果主機(jī)想知道某點(diǎn)的溫度可以通過(guò)合上某個(gè)開(kāi)關(guān)檢測(cè)到相應(yīng)點(diǎn)的溫度,以做到實(shí)時(shí)監(jiān)控。
3.2 數(shù)據(jù)采集
Atmel的AT89C5l單片機(jī),內(nèi)有4 kB閃爍可編程可擦除只讀存儲(chǔ)器,128 B的數(shù)據(jù)存儲(chǔ)器空間,可直接推動(dòng)LCD。由溫度傳感器DSl8B20采集被控對(duì)象的實(shí)時(shí)溫度,提供給從機(jī)AT89C51的P1.1口,作為數(shù)據(jù)輸入。
3.3 接口電路
主機(jī)的P2口接8個(gè)開(kāi)關(guān),P0與LCD相連,每條行線接10 kΩ的電阻到電源,作為上拉電阻。P2口的PO.1~PO.2作為液晶控制讀/寫使能端,P0.4~P0.7為L(zhǎng)CD數(shù)據(jù)端口。
4 軟件部分設(shè)計(jì)
通過(guò)以上分析計(jì)算,在加上軟件編程如圖4所示,即可得到多點(diǎn)測(cè)溫。ROM的匹配先要另外寫一個(gè)程序讀取每個(gè)DSl8B2O的64位序列號(hào),匹配時(shí)只需按照像往DSl8B20里寫命令操作一樣即可。
初始化函數(shù)如下:
5 結(jié)語(yǔ)
本文在介紹數(shù)字溫度傳感器DSl8B20的基礎(chǔ)上,采用AT89C5l單片機(jī)設(shè)計(jì)多點(diǎn)采集溫度系統(tǒng)的方案,并給出了重要電路圖和初始化DSl8B20程序。該方案采用從機(jī)采集多點(diǎn)溫度,主機(jī)顯示溫度,主、從機(jī)之間通過(guò)RS 485通信,且具有廣闊的應(yīng)用前景。