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