一種新型多點(diǎn)測溫系統(tǒng)的設(shè)計(jì)(基于DS18B20設(shè)計(jì)的多
一種新型多點(diǎn)測溫系統(tǒng)的設(shè)計(jì)(基于DS18B20設(shè)計(jì)的多點(diǎn)測溫系統(tǒng))
介紹DS18B20的基本特性,和基于DS18B20設(shè)計(jì)的多點(diǎn)測溫系統(tǒng)。給出了系統(tǒng)硬件連線及軟件流程。
關(guān)鍵詞:溫度傳感器;DS18B20;測溫系統(tǒng)
Design of a New Multiple Temperature Measurement System
ZHOU Xingwei, YUAN Yifang
(College of Optical and Electronics Engineering, University of Shangh ai for Science and Technology, Shanghai 200093, China)
Key words: temperature sensor; DS18B20; temperature measuring sy stem
1溫度傳感器DS18B20介紹
DALLAS公司單線數(shù)字溫度傳感器DS18B20是一種新的“一線器件”,它具有體積小、適用電壓寬等特點(diǎn)。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。DS18B20支持“一線總線”接口,測量溫度范圍為-55℃~+125℃,在-10℃~+85℃范圍內(nèi),精度為±0.5℃;通過編程可實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式;可以分別在93.75ms和750ms內(nèi)將溫度值轉(zhuǎn)化為9位和12位的數(shù)字量。每個DS18B20具有唯一的64位長序列號,存放于DS18B20內(nèi)部ROM只讀存儲器中。
DS18B20溫度傳感器的內(nèi)部存儲器包括1個高速暫存RAM和1個非易失性的電可擦除E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。暫存存儲器包含了8個連續(xù)字節(jié),前2字節(jié)為測得的溫度信息,第1個字節(jié)為溫度的低8位,第2個字節(jié)為溫度的高8位。高8位中,前4位表示溫度的正(全“0”)與負(fù)(全“1”);第3個字節(jié)和第4個字節(jié)為TH、TL的易失性拷貝;第5個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,此三個字節(jié)內(nèi)容在每次上電復(fù)位時(shí)被刷新;第6、7、8個字節(jié)用于內(nèi)部計(jì)算;第9個字節(jié)為冗余檢驗(yàn)字節(jié)。所以,讀取溫度信息字節(jié)中的內(nèi)容,可以相應(yīng)地轉(zhuǎn)化為對應(yīng)的溫度值。表1列出了溫度與溫度字節(jié)間的對應(yīng)關(guān)系。
DALLAS公司單線數(shù)字溫度傳感器DS18B20是一種新的“一線器件”,它具有體積小、適用電壓寬等特點(diǎn)。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。DS18B20支持“一線總線”接口,測量溫度范圍為-55℃~+125℃,在-10℃~+85℃范圍內(nèi),精度為±0.5℃;通過編程可實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式;可以分別在93.75ms和750ms內(nèi)將溫度值轉(zhuǎn)化為9位和12位的數(shù)字量。每個DS18B20具有唯一的64位長序列號,存放于DS18B20內(nèi)部ROM只讀存儲器中。
DS18B20溫度傳感器的內(nèi)部存儲器包括1個高速暫存RAM和1個非易失性的電可擦除E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。暫存存儲器包含了8個連續(xù)字節(jié),前2字節(jié)為測得的溫度信息,第1個字節(jié)為溫度的低8位,第2個字節(jié)為溫度的高8位。高8位中,前4位表示溫度的正(全“0”)與負(fù)(全“1”);第3個字節(jié)和第4個字節(jié)為TH、TL的易失性拷貝;第5個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,此三個字節(jié)內(nèi)容在每次上電復(fù)位時(shí)被刷新;第6、7、8個字節(jié)用于內(nèi)部計(jì)算;第9個字節(jié)為冗余檢驗(yàn)字節(jié)。所以,讀取溫度信息字節(jié)中的內(nèi)容,可以相應(yīng)地轉(zhuǎn)化為對應(yīng)的溫度值。表1列出了溫度與溫度字節(jié)間的對應(yīng)關(guān)系。
系統(tǒng)分為現(xiàn)場溫度數(shù)據(jù)采集和上位監(jiān)控PC兩部分。圖1為系統(tǒng)的結(jié)構(gòu)圖。需要指出的是,下位機(jī)可以脫離上位PC機(jī)而獨(dú)立工作。增加上位機(jī)的目的在于能夠更方便地遠(yuǎn)離現(xiàn)場實(shí)現(xiàn)監(jiān)控、管理?,F(xiàn)場溫度采集部分采用8051單片機(jī)作為中央處理器,在P1.0口掛接10個DS18B20傳感器,對10個點(diǎn)的溫度進(jìn)行檢測。非易失性RAM用作系統(tǒng)溫度采集及運(yùn)行參數(shù)等的緩沖區(qū)。上位PC機(jī)通過RS485通信接口與現(xiàn)場單片微處理器通信,對系統(tǒng)進(jìn)行全面的管理和控制,可完成數(shù)據(jù)記錄,打印報(bào)表等工作。
2.1DS18B20與單片機(jī)的接口電路
DS18B20與8051單片機(jī)連接非常簡單,只需將DS18B20信號線與單片機(jī)一位I/O線相連,且一位I/O線可連接多個DS18B20,以實(shí)現(xiàn)單點(diǎn)或多點(diǎn)溫度測量。DS18B20可以通過2種方式供電:外加電源方式和寄生電源方式。前者需要外加電源,電源的正負(fù)極分別與DS18B20的VDD和GND相連接。后者采用寄生電源,將DS18B20的VDD與GND接在一起,當(dāng)總線上出現(xiàn)高電平時(shí),上拉電阻提供電源;當(dāng)總線低電平時(shí),內(nèi)部電容供電。由于采用外加電源方式更能增強(qiáng)DS18B20的抗干擾性,故本設(shè)計(jì)采用這種方式。在實(shí)際應(yīng)用中,傳感器與單片機(jī)的距離往往在幾十米到幾百米,傳輸線的寄生電容對DS18B20的操作也有一定的影響,所以往往在接口的地方稍加改動,以增加芯片的驅(qū)動能力和減少傳輸線電容效應(yīng)帶來的影響,達(dá)到遠(yuǎn)距離傳輸?shù)哪康摹?BR>2.2鍵盤及顯示
鍵盤通過編程設(shè)置可完成以下功能:對溫度值進(jìn)行標(biāo)定,定時(shí)顯示各路的溫度值,單獨(dú)顯示某路的溫度值,給每一路設(shè)定上下限報(bào)警值等。LED則可為用戶提供直觀的視覺信息。在工作現(xiàn)場,用戶可通過6位LED的顯示數(shù)據(jù)來確定系統(tǒng)的當(dāng)前工作狀態(tài)以及采樣的溫度值信息等。
2.3報(bào)警電路
當(dāng)被測溫度值超過預(yù)先設(shè)定的上下限時(shí),報(bào)警電路作出響應(yīng),蜂鳴器發(fā)出響聲,告知用戶溫度的異常。具體哪一個傳感器溫度值超限,可由軟件查詢各DS18B20內(nèi)部告警標(biāo)志而確定,繼而調(diào)整該現(xiàn)場溫度,以達(dá)到對溫度波動的控制。
DS18B20與8051單片機(jī)連接非常簡單,只需將DS18B20信號線與單片機(jī)一位I/O線相連,且一位I/O線可連接多個DS18B20,以實(shí)現(xiàn)單點(diǎn)或多點(diǎn)溫度測量。DS18B20可以通過2種方式供電:外加電源方式和寄生電源方式。前者需要外加電源,電源的正負(fù)極分別與DS18B20的VDD和GND相連接。后者采用寄生電源,將DS18B20的VDD與GND接在一起,當(dāng)總線上出現(xiàn)高電平時(shí),上拉電阻提供電源;當(dāng)總線低電平時(shí),內(nèi)部電容供電。由于采用外加電源方式更能增強(qiáng)DS18B20的抗干擾性,故本設(shè)計(jì)采用這種方式。在實(shí)際應(yīng)用中,傳感器與單片機(jī)的距離往往在幾十米到幾百米,傳輸線的寄生電容對DS18B20的操作也有一定的影響,所以往往在接口的地方稍加改動,以增加芯片的驅(qū)動能力和減少傳輸線電容效應(yīng)帶來的影響,達(dá)到遠(yuǎn)距離傳輸?shù)哪康摹?BR>2.2鍵盤及顯示
鍵盤通過編程設(shè)置可完成以下功能:對溫度值進(jìn)行標(biāo)定,定時(shí)顯示各路的溫度值,單獨(dú)顯示某路的溫度值,給每一路設(shè)定上下限報(bào)警值等。LED則可為用戶提供直觀的視覺信息。在工作現(xiàn)場,用戶可通過6位LED的顯示數(shù)據(jù)來確定系統(tǒng)的當(dāng)前工作狀態(tài)以及采樣的溫度值信息等。
2.3報(bào)警電路
當(dāng)被測溫度值超過預(yù)先設(shè)定的上下限時(shí),報(bào)警電路作出響應(yīng),蜂鳴器發(fā)出響聲,告知用戶溫度的異常。具體哪一個傳感器溫度值超限,可由軟件查詢各DS18B20內(nèi)部告警標(biāo)志而確定,繼而調(diào)整該現(xiàn)場溫度,以達(dá)到對溫度波動的控制。
3.1下位機(jī)軟件
系統(tǒng)下位測溫部分軟件采用MCS51匯編語言編寫,主要完成對DS18B20的讀寫操作,實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的采集,并獲取最終溫度值送至單片機(jī)內(nèi)存。但需要注意的是,由于DS18B20的單總線方式,數(shù)據(jù)的讀寫都占用同一根線,所以每一種操作都必須嚴(yán)格按照時(shí)序進(jìn)行。圖2為測溫子系統(tǒng)流程圖。單片機(jī)首先發(fā)送復(fù)位脈沖,該脈沖使信號線上所有的DS18B20芯片都被復(fù)位,接著發(fā)送ROM操作命令,使得序列號編碼匹配的DS18B20被激活。被激活后的DS18B20進(jìn)入接收內(nèi)存訪問命令狀態(tài),內(nèi)存訪問命令完成溫度轉(zhuǎn)換、讀取等工作(單總線在ROM命令發(fā)送之前存儲命令和控制命令不起作用)。
3.2上位機(jī)軟件
系統(tǒng)上位機(jī)的軟件采用VC++6.0編寫。主要完成的功能包括:與下位單片微機(jī)的實(shí)時(shí)通信;模擬顯示各采集點(diǎn)溫度曲線;保存各測溫點(diǎn)溫度數(shù)據(jù);統(tǒng)計(jì)各采集點(diǎn)平均溫度值;打印各點(diǎn)溫度統(tǒng)計(jì)報(bào)表等。
系統(tǒng)下位測溫部分軟件采用MCS51匯編語言編寫,主要完成對DS18B20的讀寫操作,實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的采集,并獲取最終溫度值送至單片機(jī)內(nèi)存。但需要注意的是,由于DS18B20的單總線方式,數(shù)據(jù)的讀寫都占用同一根線,所以每一種操作都必須嚴(yán)格按照時(shí)序進(jìn)行。圖2為測溫子系統(tǒng)流程圖。單片機(jī)首先發(fā)送復(fù)位脈沖,該脈沖使信號線上所有的DS18B20芯片都被復(fù)位,接著發(fā)送ROM操作命令,使得序列號編碼匹配的DS18B20被激活。被激活后的DS18B20進(jìn)入接收內(nèi)存訪問命令狀態(tài),內(nèi)存訪問命令完成溫度轉(zhuǎn)換、讀取等工作(單總線在ROM命令發(fā)送之前存儲命令和控制命令不起作用)。
3.2上位機(jī)軟件
系統(tǒng)上位機(jī)的軟件采用VC++6.0編寫。主要完成的功能包括:與下位單片微機(jī)的實(shí)時(shí)通信;模擬顯示各采集點(diǎn)溫度曲線;保存各測溫點(diǎn)溫度數(shù)據(jù);統(tǒng)計(jì)各采集點(diǎn)平均溫度值;打印各點(diǎn)溫度統(tǒng)計(jì)報(bào)表等。
?
本系統(tǒng)具有如下特點(diǎn):
a.結(jié)構(gòu)簡單,成本低廉,維護(hù)方便。
b.直接將溫度數(shù)據(jù)進(jìn)行編碼,可以只使用單根電纜傳輸溫度數(shù)據(jù),通信方便,傳輸距離遠(yuǎn)且抗干擾性強(qiáng)。
c.配置靈活、方便、易于擴(kuò)展??蓴U(kuò)展多路下位溫度采集子系統(tǒng),將它們通過RS485與上位PC機(jī)組網(wǎng),形成多點(diǎn)溫度采集網(wǎng)絡(luò)。也可在各子系統(tǒng)中有選擇性地增減溫度傳感器。
d.工作穩(wěn)定,測溫精度高。實(shí)驗(yàn)表明,在長達(dá)200m的一位總線上掛接24個DS18B20溫度傳感器,系統(tǒng)可正確地進(jìn)行溫度采集,分辨率為0.5℃。
e.適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。在大范圍溫度多點(diǎn)監(jiān)控系統(tǒng)中具有十分誘人的應(yīng)用前景。
a.結(jié)構(gòu)簡單,成本低廉,維護(hù)方便。
b.直接將溫度數(shù)據(jù)進(jìn)行編碼,可以只使用單根電纜傳輸溫度數(shù)據(jù),通信方便,傳輸距離遠(yuǎn)且抗干擾性強(qiáng)。
c.配置靈活、方便、易于擴(kuò)展??蓴U(kuò)展多路下位溫度采集子系統(tǒng),將它們通過RS485與上位PC機(jī)組網(wǎng),形成多點(diǎn)溫度采集網(wǎng)絡(luò)。也可在各子系統(tǒng)中有選擇性地增減溫度傳感器。
d.工作穩(wěn)定,測溫精度高。實(shí)驗(yàn)表明,在長達(dá)200m的一位總線上掛接24個DS18B20溫度傳感器,系統(tǒng)可正確地進(jìn)行溫度采集,分辨率為0.5℃。
e.適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。在大范圍溫度多點(diǎn)監(jiān)控系統(tǒng)中具有十分誘人的應(yīng)用前景。
評論