新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 種基于DS18B20的溫度采集系統(tǒng)設計

種基于DS18B20的溫度采集系統(tǒng)設計

作者: 時間:2016-10-18 來源:網(wǎng)絡 收藏

近年來,隨著自動測試技術(shù)、計算機技術(shù)和微電子技術(shù)的迅猛發(fā)展,在溫度測量領(lǐng)域,開發(fā)出一種新型的將數(shù)字電路和溫度集成在一起的數(shù)字式溫度。在數(shù)字式溫度的內(nèi)部一般包含有溫度傳感器、接口電路、存儲器(或寄存器)、信號處理器和A/D轉(zhuǎn)換器。與傳統(tǒng)的模擬溫度傳感器相比,數(shù)字式溫度傳感器在器件微小化、抗干擾能力、可靠性、分辨率以及精度方面都具有明顯的優(yōu)點,此外,其輸出的溫度數(shù)據(jù)以及相關(guān)的溫度控制量能夠與各種微處理器相適配。

本文引用地址:http://m.butianyuan.cn/article/201610/308680.htm

1 硬件設計

1.1 溫度傳感器

該系統(tǒng)的溫度采樣元件采用DALLAS半導體公司生產(chǎn)的一線式數(shù)字溫度傳感器,微處理器僅需要1條端口線即可實現(xiàn)與的雙向通信。采用僅有3只引腳的小體積封裝形式T0~92,包括共用地線、外供電源線和單線數(shù)據(jù)傳輸總線端口。DS18B20可提供兩種不同的供電方式:一種是外部供電方式,外供電源線接+5 V,此種供電方式設計簡單,在較短的時間內(nèi)就能完成溫度測量;另一種為數(shù)據(jù)線供電方式,要求外供電源線接地,數(shù)據(jù)線需用的一個I/O口來實現(xiàn)上拉,空閑時通過內(nèi)部電容從數(shù)據(jù)線獲取能量,此種供電方式設計較復雜,完成溫度轉(zhuǎn)換的時間也相對較長。選擇一線式數(shù)字溫度傳感器DS18B20的主要原因有以下幾個方面:

1)系統(tǒng)的特性方面,溫度測量范圍在-55~+125℃之間,且在-10~+85 ℃溫度范圍內(nèi)可滿足±0.5℃的最低精度,溫度A/D轉(zhuǎn)換精度可編程為9~12位,溫度轉(zhuǎn)換值能夠以16位二進制碼的格式直接串行輸出,完成12位高精度轉(zhuǎn)換的最大時間需要750 ms,通過選擇數(shù)據(jù)線供電方式,可以超低功耗工作。

2)系統(tǒng)復雜程度方面,因為DS18B20是采用單總線控制技術(shù)的器件,接口時僅需占用微處理器的其中一個I/O口,并且一條數(shù)據(jù)總線上可以同時連接幾十個相同器件,測溫時不需要其他任何外部元件,所以與傳統(tǒng)的模擬傳感器相比,接線的數(shù)量大大減少,系統(tǒng)的復雜程度大大降低,工程施工量也相應減少。

3)系統(tǒng)的調(diào)試和維護方面,系統(tǒng)接口由于引線的減少而大大簡化,系統(tǒng)調(diào)試更加便利,同時由于DS18B20屬于全數(shù)字元器件,其故障率非常低且抗干擾性很強,因此系統(tǒng)的日常維護工作輕松許多。

4)系統(tǒng)成本方面,隨著微電子技術(shù)和計算機技術(shù)的迅猛發(fā)展,集成電路的功能不僅越來越強大,其體積也變得越來越小,且價格也越來越便宜。

1.2 電路原理

本系統(tǒng)采用AT89C51作為控制核心,AT89C51是一種帶有4 K字節(jié)FLASH閃速存儲器的低電壓、高性能8位CMOS微處理器,帶有128字節(jié)的內(nèi)部RAM、2個16位定時/計數(shù)器、32個I/O口、1個5向量兩級中斷結(jié)構(gòu)、片內(nèi)振蕩器及時鐘電路。此外,AT89C51能夠降至0 Hz的靜態(tài)邏輯操作,可以支持軟件可選的兩種節(jié)電工作模式。處于空閑工作模式時,CPU停止工作,但允許RAM、定時/計數(shù)器和中斷系統(tǒng)繼續(xù)工作。

電路原理圖如圖1所示,DS18B20的供電方式采用外部電源,數(shù)據(jù)線通過一個4.7 kΩ的上拉電阻接在AT89C51的P1.7口,其他2只管腳分別對應接電源和地,此方式安全可靠且編程簡單。

a.jpg

溫度顯示采用四位七段共陽LED數(shù)碼管,間隔2 ms通過位選通信號P20、P21、P22、P23逐個點亮各個LED數(shù)碼管,實現(xiàn)溫度值的動態(tài)顯示,可顯示-55~+125℃溫度測量范圍。

2 軟件開發(fā)流程

2. 1 主程序

主程序主要負責通過DS18B20讀取到的當前溫度測量值和溫度的實時顯示,由于DS18B20的12位精度的轉(zhuǎn)換時間約為750 ms,可以每隔1 s進行一次溫度測量,其程序流程圖如圖2所示。

b.jpg

2. 2 讀溫度子程序

讀溫度子程序的功能主要是從RAM中讀取9字節(jié)數(shù)據(jù),同事還需進行CRC校驗,當校驗出錯時不再進行溫度數(shù)據(jù)的讀寫,其子程序流程圖如圖3所示。

c.jpg

2.3 溫度轉(zhuǎn)換命令子程序

溫度轉(zhuǎn)換命令子程序的主要功能為發(fā)送溫度轉(zhuǎn)換開始命令,當設置為12位采樣分辨率時完成轉(zhuǎn)換時間約為750ms,故本程序設計中使用顯示程序延時法來等待轉(zhuǎn)換完成,延時時間設為1 s,其子程序流程圖如圖4所示。

d.jpg

2.4 計算溫度子程序

計算溫度子程序的功能是從RAM中讀取值數(shù)據(jù)并進行BCD碼轉(zhuǎn)換運算,還需要判定溫度值的正負,其子程序流程圖如圖5所示。

e.jpg

2.5 顯示數(shù)據(jù)刷新子程序

顯示數(shù)據(jù)刷新子程序的功能是刷新顯示緩沖器中的顯示數(shù)據(jù),當顯示最高位為0時需將符號顯示位移到下一位,其子程序流程圖如圖6所示。

f.jpg

3 結(jié)論

此設計基于DS18B20的系統(tǒng)具有測溫精度高、占用口線少、結(jié)構(gòu)簡單、連接方便、成本低等優(yōu)點,但是硬件電路的簡潔是以犧牲軟件為代價的。由于DS18B20與單片

機AT89C51之間采用串行數(shù)據(jù)傳送,所以,在對DS18B20進行讀寫操作時,必須保證嚴格的讀寫時序,否則將無法正確讀取測溫結(jié)果。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉