基于DS18B20數(shù)字溫度傳感器的設(shè)計(jì)與實(shí)現(xiàn)
目前,在工業(yè)控制的很多領(lǐng)域,溫度監(jiān)控普遍是利用熱敏電阻組成的測(cè)溫電路,經(jīng)過(guò)A/D與D/A轉(zhuǎn)換后實(shí)現(xiàn)測(cè)溫,但是由于熱敏電阻的不穩(wěn)定性,導(dǎo)致測(cè)溫易受外界干擾、且精度不高。
DS18B20數(shù)字溫度傳感器是Dallas公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡(jiǎn)單、體積小的特點(diǎn)。因此用他組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在1根通信線可以掛很多這樣的數(shù)字溫度傳感器,十分方便。
lDS18B20性能特點(diǎn)
1.1DS18B20特性及引腳分布
DS18B20測(cè)溫范圍在-55~+125℃;轉(zhuǎn)換精度9~12位進(jìn)制數(shù),可編程確定轉(zhuǎn)換的位數(shù);測(cè)溫分辨率為9位精度為0.5℃,12位精度為0.0625℃;轉(zhuǎn)換時(shí)間:9位精度為93.75ms、10位精度為187.5ms、12位精度為750ms;內(nèi)部有溫度上、下限告警設(shè)置。DS18B20采用TO-92封裝模式,其引腳功能描述見表1。
1.2DS18B20的內(nèi)部結(jié)構(gòu)
DS18B20的內(nèi)部結(jié)構(gòu)如圖1所示,他主要包括溫度傳感器、64位激光ROM單線單口、存放中間數(shù)據(jù)的高速暫存器、用于存儲(chǔ)用戶設(shè)定的溫度上下限值、觸發(fā)器存儲(chǔ)與控制邏輯、8位循環(huán)冗余校驗(yàn)碼發(fā)生器等。
2單總線技術(shù)特性
單總線即只有1根數(shù)據(jù)線,系統(tǒng)的數(shù)據(jù)交換、控制都由這根線完成。主機(jī)或從機(jī)通過(guò)一個(gè)漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)能夠釋放總線,而讓其他設(shè)備使用總線。所有的單總線器件都要遵循嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性,基本的通信過(guò)程如下:主機(jī)通過(guò)拉低單總線至少。480μs產(chǎn)生Tx復(fù)位脈沖;然后由主機(jī)釋放總線,并進(jìn)入Rx接收模式。主機(jī)釋放總線時(shí),會(huì)產(chǎn)生一由低電平跳變?yōu)楦唠娖降纳仙兀粏慰偩€器件檢測(cè)到該上升沿后,延時(shí)15~60μs;單總線器件通過(guò)拉低總線60~240μs產(chǎn)生應(yīng)答脈沖;主機(jī)接收到從機(jī)的應(yīng)答脈沖后,說(shuō)明有單總線器件在線,然后主機(jī)就可以開始對(duì)從機(jī)進(jìn)行ROM命令和功能命令操作。
3基于DS18B20高精度數(shù)字溫度傳感器
基于DS18B20高精度數(shù)字溫度傳感器可以完成如下的功能:
(1)采用采用AT89S52單片機(jī)和DS18B20溫度傳感器通信,控制溫度的采集過(guò)程和進(jìn)行數(shù)據(jù)通信;
(2)提供DS18B20的使用外圍電路、溫度顯示LED電路以及DS18B20和單片機(jī)的通信接口電路;
(3)利用發(fā)光二極管指示系統(tǒng)的工作狀態(tài),DS18B20溫度傳感器內(nèi)置溫度上下限;
(4)編寫C51程序,完成單片機(jī)對(duì)溫度數(shù)據(jù)的采集過(guò)程以及與DS18B20數(shù)據(jù)傳輸過(guò)程的控制。
4系統(tǒng)設(shè)計(jì)
4.1系統(tǒng)分析
基于單片機(jī)系統(tǒng)的高精度數(shù)字溫度計(jì)基本結(jié)構(gòu)框圖如圖2所示。
高精度數(shù)字溫度計(jì)的主要功能模塊分3類:
輸入控制在一定要求下,采取一定形式的控制方式實(shí)現(xiàn)溫度計(jì)不同功能的轉(zhuǎn)換,以及控制指令以一定方式傳送到單片機(jī)。
LED數(shù)碼顯示單片機(jī)將數(shù)字溫度量發(fā)送到LED顯示模塊,并控制LED顯示模塊按照一定的格式顯示的功能。
數(shù)據(jù)采集單片機(jī)通過(guò)對(duì)DS18B20的讀寫操作,完成對(duì)數(shù)據(jù)的存儲(chǔ)和讀取,從而實(shí)現(xiàn)單片機(jī)的存儲(chǔ)單元數(shù)據(jù)處理。
4.2硬件電路
根據(jù)系統(tǒng)的控制要求,選擇Intel公司的80C52單片機(jī),他包括數(shù)字溫度傳感器的數(shù)據(jù)采集、數(shù)據(jù)處理、晶振復(fù)位和溫度顯示電路。
4.3軟件設(shè)計(jì)
基于DS18B20數(shù)字溫度傳感器的軟件設(shè)計(jì)采用C51編寫程序,主要完成DS18B20的測(cè)量溫度值計(jì)算及溫度值的顯示功能。其采用模塊化設(shè)計(jì),程序設(shè)計(jì)包括系統(tǒng)初始化、復(fù)位程序、讀取溫度程序、溫度轉(zhuǎn)換程序、數(shù)碼管顯示程序和延時(shí)程序,其總體流程圖如圖3所示。
5結(jié)語(yǔ)
基于DS18B20單總線技術(shù)的數(shù)字溫度傳感器以其線路簡(jiǎn)單、硬件開銷少、成本低廉、軟件設(shè)計(jì)簡(jiǎn)單優(yōu)勢(shì)有著無(wú)可比擬的應(yīng)用前景,能較好地解決傳統(tǒng)測(cè)溫裝置普遍存在的攜帶不便、易損壞、易受干擾等不足,可廣泛的應(yīng)用于工業(yè)控制