樊要玲,張 速
(華北水利水電學(xué)院,河南 鄭州 450011)
常用的溫度計(jì)通常是水銀、煤油或酒精溫度計(jì)。這些溫度計(jì)的刻度間隔通常都很密, 不容易準(zhǔn)確分辨,讀數(shù)困難,而且其的熱容量比較大,達(dá)到熱平衡所需的時(shí)間較長(zhǎng),因此很難讀準(zhǔn),使用非常不方便[1]。為適應(yīng)社會(huì)生產(chǎn)的需要,數(shù)字溫度儀得到了進(jìn)一步發(fā)展。 文所說(shuō)的數(shù)字溫度儀,是通過(guò)DS18B20 數(shù)字溫度傳感器采集環(huán)境溫度,以單片機(jī)為核心控制部件,并通過(guò)2 位數(shù)碼管顯示實(shí)時(shí)溫度的一種數(shù)字溫度儀。 與傳統(tǒng)的溫度計(jì)相比,它具有讀數(shù)方便、測(cè)溫范圍廣、測(cè)溫準(zhǔn)確等優(yōu)點(diǎn),輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫要求比較準(zhǔn)確的場(chǎng)所, 如農(nóng)田實(shí)驗(yàn)等的溫測(cè)領(lǐng)域。
1.1.1 數(shù)字溫度傳感器
溫度傳感器的精度、靈敏度基本決定了溫度儀的精度、測(cè)量范圍和用途等。 考慮到電路簡(jiǎn)單、成本低廉、操作方便等因素,數(shù)字溫度儀設(shè)計(jì)采用美國(guó)DAL LAS 半導(dǎo)體公司繼DS1820 之后推出的一種改進(jìn)型智能溫度傳感器DS18B20,作為檢測(cè)元件,測(cè)溫范圍為-55~125℃,最大分辨率可達(dá)0.5℃。DS18B20 可以直接讀出被測(cè)溫度值,具有一線(xiàn)通信接口,可采用單線(xiàn)制與單片機(jī)相連,減少了外部的硬件電路,具有成本低和易使用等特點(diǎn)[2]。
如圖1 所示,其中(1)GND 接地信號(hào);(2)DQ 為數(shù)據(jù)輸入/輸出引腳,為開(kāi)漏單總線(xiàn)接口引腳。 當(dāng)被用在寄生電源下時(shí), 也可以向器件提供電源。 (3)VDD 為可選擇的引腳, 當(dāng)工作于寄生電源下時(shí),此引腳必須接地。
圖1 DS18B20 的引腳排列及封裝[2]Fig.1 DS18B20 pin rank and its capsulation
1.1.2 主控制器
主控制器選用STC89C51 單片機(jī),會(huì)有15 個(gè)雙向I/O 口,兩個(gè)16 位可編程定時(shí)/計(jì)數(shù)器,帶4K 字節(jié)閃爍可編程可擦除、只讀存儲(chǔ)器FPEROM 的低電壓、高性能CMOS8 位微處理器[3]。
在考慮到效果、電路設(shè)計(jì)、價(jià)格等因素的情況下,本設(shè)計(jì)采用LED 數(shù)碼管顯示。LED 顯示器是一種控制半導(dǎo)體發(fā)光二極管的顯示方式。 隨著大規(guī)模集成電路和計(jì)算機(jī)技術(shù)的不斷進(jìn)步,LED 顯示器正在迅速崛起,它集微電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理于一體,具有色彩鮮艷、動(dòng)態(tài)范圍廣、亮度高、壽命長(zhǎng)、工作穩(wěn)定可靠等優(yōu)點(diǎn), 因此它被廣泛用作數(shù)字儀器儀表、數(shù)控裝置、計(jì)算機(jī)的數(shù)顯器件。 與液晶顯示器LCD 相比,LED 顯示器在亮度、功耗、可視角度和刷新速率等方面都更具優(yōu)勢(shì), 可用作為顯示文字、圖形、圖像、動(dòng)畫(huà)、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。
原理簡(jiǎn)述:數(shù)字溫度傳感器DS18B20 把溫度信息轉(zhuǎn)換為數(shù)字格式, 通過(guò)一線(xiàn)通信號(hào)接口與單片機(jī)相連,是單總線(xiàn)方式。它只用一根信號(hào)線(xiàn),既供電,又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,單總線(xiàn)具有“線(xiàn)與”功能,連接方便,便于擴(kuò)展。連接單片機(jī)獲取指定傳感器的數(shù)字溫度信息,并顯示到顯示設(shè)備上。其系統(tǒng)硬件電路框圖如圖2 所示。
圖2 硬件電路示意圖Fig.2 Hardware circuit frame
其中,測(cè)溫模塊是由DS18B20 組建的溫度測(cè)量單元構(gòu)成的。 將DS18B20 與STC 單片機(jī)的P1.0 連接,測(cè)量的溫度值經(jīng)過(guò)取整化處理,就可以通過(guò)顯示電路進(jìn)行實(shí)時(shí)顯示。
在單片機(jī)應(yīng)用系統(tǒng)中,顯示器有兩種常用方法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的I/O 接口,用于筆劃段字形代碼。 這樣,單片機(jī)只要把字形代碼發(fā)送進(jìn)接口電路,就顯示新的數(shù)據(jù),然后再發(fā)送新的字形碼。因此,使用這種方法,單片機(jī)中CPU 的開(kāi)銷(xiāo)小。 所謂動(dòng)態(tài)掃描顯示,就是利用人眼的特性,分時(shí)進(jìn)行LED 數(shù)碼管驅(qū)動(dòng),人眼感受的是有效亮度的平均值。 其優(yōu)點(diǎn)是:驅(qū)動(dòng)芯片少,電路簡(jiǎn)單,成本低。由于本設(shè)計(jì)占用的單片機(jī)的資源比較少,顯示電路可以采用靜態(tài)顯示的方法,分別用P0 口和P2 口作為顯示通道。
此設(shè)計(jì)以STC89C51 單片機(jī)為核心, 加上外圍電源時(shí)鐘電路、 復(fù)位電路、 測(cè)溫電路及顯示電路組成。 DS18B20 傳感器采用單總線(xiàn)方式與STC89C51單片機(jī)相連,即單片機(jī)通過(guò)P1.0 口連接溫度測(cè)量模塊DS18B20。 具體電路如圖3 所示。
在電路中, 單片機(jī)工作的時(shí)間基準(zhǔn)是由時(shí)鐘電路提供的。 在單片機(jī)的XTAL1 和XTAL2 兩個(gè)引腳間接一只晶振及兩只電容, 就構(gòu)成了單片機(jī)的時(shí)鐘電路。 電容器C1 和C2 對(duì)振蕩頻率有微調(diào)作用。 在本設(shè)計(jì)中,晶振選擇12MHz,C1、C2 選擇20PF。
圖3 基于DS18B20 數(shù)字溫度儀電路圖Fig.3 Circuit based on DS18B20 digital thermograph
單片機(jī)的RST 引腳為主機(jī)提供一個(gè)外部復(fù)位信號(hào)輸入端口。復(fù)位信號(hào)是高電平有效,高電平有效的持續(xù)時(shí)間應(yīng)為2 個(gè)機(jī)器周期以上。在本設(shè)計(jì)中,單片機(jī)的復(fù)位方式采取上電復(fù)位和手工復(fù)位兩種。
LED 顯示器的驅(qū)動(dòng)是一個(gè)非常重要的問(wèn)題,顯示電路由LED 顯示器、段驅(qū)動(dòng)電路和位驅(qū)動(dòng)電路組成。由于本次設(shè)計(jì)中采用靜態(tài)顯示,故只考慮段驅(qū)動(dòng)即可。 段驅(qū)動(dòng)電路有很多種。 在本次設(shè)計(jì)中, 選擇74LS48 作為段驅(qū)動(dòng)電路的驅(qū)動(dòng)芯片,該芯片具有鎖存、譯碼、驅(qū)動(dòng)的功能。 即在輸入端輸入要顯示字符BCD 碼, 輸出端就可以得到具有一定驅(qū)動(dòng)能力的7段顯示字符碼(具體注意事項(xiàng)見(jiàn)后續(xù))。
在軟件方面,采用匯編語(yǔ)言來(lái)進(jìn)行程序設(shè)計(jì)。采用這種設(shè)計(jì)指令的執(zhí)行速度快,可節(jié)省存儲(chǔ)空間。同時(shí), 為便于擴(kuò)展和更改, 軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序設(shè)計(jì)的邏輯關(guān)系更加簡(jiǎn)潔明了。主程序流程和讀取溫度子程序流程分列見(jiàn)圖4 和圖5。
圖4 主程序流程圖Fig.4 Main program flow
圖5 讀取溫度值子程序流程圖Fig.5 Subprogram flow of loading temperature value
該溫度儀測(cè)溫范圍廣, 因而它完全適合一般性應(yīng)用場(chǎng)合,可以在高低溫報(bào)警、遠(yuǎn)距離多點(diǎn)控制等方面進(jìn)行應(yīng)用開(kāi)發(fā)。 也可利用其低電壓供電特性做成用電池供電的手持電子溫度儀。
在實(shí)際設(shè)計(jì)中,應(yīng)注意以下問(wèn)題:
(1)DS18B20 傳感器工作時(shí)電流達(dá)1.5mA,總線(xiàn)上掛接點(diǎn)數(shù)較多。 因此,當(dāng)同時(shí)進(jìn)行轉(zhuǎn)換時(shí),要考慮增加總線(xiàn)驅(qū)動(dòng), 在溫度轉(zhuǎn)換時(shí)可用單片機(jī)端口導(dǎo)通一個(gè)MOSFET 來(lái)供電。
(2)連接DS18B20 傳感器的總線(xiàn)電纜是有長(zhǎng)度限制的,因此,在用DS18B20 進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí), 應(yīng)充分考慮總線(xiàn)分布電容和阻抗匹配等問(wèn)題。
(3) 在設(shè)計(jì)顯示電路時(shí), 無(wú)論共陰極還是共陽(yáng)極,7 段顯示電路都需要加限流電阻,否則通電后易燒壞7 段譯碼管。 限流電阻的選取方法是:5V 電源電壓減去發(fā)光二極管的工作電壓, 除以10mA 到15mA,得數(shù)即為限流電阻的值。 發(fā)光二極管的工作電壓一般在1.8V-2.2V,為計(jì)算方便,通常選2V 即可。 發(fā)光二極管的工作電流的選取范圍是10-20mA,電流選小了,7 段數(shù)碼管不太亮,選大了,工作時(shí)間一長(zhǎng),發(fā)光管就容易燒壞。對(duì)于大功率7 段數(shù)碼管, 可根據(jù)實(shí)際情況來(lái)選取限流電阻及電阻的瓦數(shù)。
(4) 在基于DS18B20 測(cè)溫程序的設(shè)計(jì)中,向DS18B20 發(fā)出溫度轉(zhuǎn)換命令后, 程序要等待DS18B20 的返回信號(hào)。一旦某個(gè)DS18B20 接觸不好或斷線(xiàn),當(dāng)程序讀該DS18B20 時(shí),就將沒(méi)有返回信號(hào),程序?qū)⑦M(jìn)入死循環(huán)。這一點(diǎn),在進(jìn)行DS18B20 硬件連接和軟件設(shè)計(jì)時(shí),要給予一定的重視。
溫度測(cè)控技術(shù)在各個(gè)領(lǐng)域的應(yīng)用越來(lái)越廣泛。溫度測(cè)量裝置只是一個(gè)大的智能化系統(tǒng)中的一部分。隨著社會(huì)自動(dòng)化程度的提高,人們對(duì)數(shù)字溫度儀表的要求也會(huì)越來(lái)越高。溫度計(jì)的發(fā)展很快,已從原始的玻璃管溫度計(jì)發(fā)展到了現(xiàn)在的電子溫度計(jì)。 本文對(duì)基于DS18B20 溫度傳感器的數(shù)字溫度儀技術(shù)及應(yīng)用進(jìn)行了探討,分別從其基本原理、電路的軟硬件設(shè)計(jì)、 設(shè)計(jì)注意事項(xiàng)及應(yīng)用前景等方面進(jìn)行了闡述。相信在先進(jìn)技術(shù)的不斷推動(dòng)下,溫度檢測(cè)儀表的發(fā)展方向?qū)⑦M(jìn)一步走向數(shù)字化、集成化、微型化、智能化和網(wǎng)絡(luò)化方向發(fā)展。
[1] 李邕. 數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)[J]. 甘肅科技縱橫,2008(1):15,149.
[2] 美國(guó)MAXIM/ DALLAS 半導(dǎo)體公司技術(shù)網(wǎng)站.DS18B20技術(shù)資料,[DB/OL].[201101]http://www.maxim-ic.com.
[3] 李蒙.單片機(jī)原理及應(yīng)用[M].北京:中國(guó)輕工業(yè)出版社,2010:15-42.