DS18B20 在橋梁混凝土測溫中的應用
本文引用地址:http://dyxdggzs.com/article/255632.htm
摘 要: 摘要介紹美國DALLAS公司的單線(xiàn)數字溫度傳感器DS18B20在其前代產(chǎn)品DS1820基礎上的新特性和與單片機的較詳細的接口電路及讀寫(xiě)時(shí)序,并針對它在橋梁混凝土測溫系統的應用中出現的與硬件和軟件有關(guān)的問(wèn)題給出解決方法。
關(guān)鍵詞:DS18B20 混凝土 測溫單片機
概述
秦皇島-沈陽(yáng)高速鐵路客運專(zhuān)線(xiàn)上有許多要架橋的路段,而在遠離橋梁廠(chǎng)的野外現場(chǎng)澆制橋梁時(shí),為保證梁身澆注的質(zhì)量,須做到:① 養護時(shí)梁內任意兩點(diǎn)之間的溫度差不能超過(guò)規定值;② 混凝土澆注后14天的水化熱溫度曲線(xiàn)須符合所用規格混凝土的水化熱溫度曲線(xiàn);③ 混凝土受太陽(yáng)照射后橋身的各個(gè)部位的熱脹冷縮不同,導致橋面和腹板出現日照溫差,產(chǎn)生溫度應力,此應力不能超過(guò)一安全極限值,否則將影響橋梁的承載力。本系統采用DS18B20和單片機及其外圍電路構成完整的溫度采集及數據傳送電路,用于采集混凝土澆注后14天內的水化熱溫度及第14天以后,1年內的日照溫差,并存入數據庫,對橋梁的質(zhì)量及使用年限進(jìn)行評估和預測。
一、 DS18B20新特點(diǎn)和結構
DS18B20是美國DALLAS公司繼DS1820之后推出的增強型單總線(xiàn)數字溫度傳感器。它在測溫精度、轉換時(shí)間、傳輸距離、分辨率等方面較DS1820有了很大的改進(jìn),給用戶(hù)帶來(lái)了更方便的使用和更令人滿(mǎn)意的效果。
1. DS18B20的新性能
(1) 可用數據線(xiàn)供電,電壓范圍:3.0~5.5V;
(2) 測溫范圍:-55~+125℃,在-10~+85℃時(shí)精度為±0.5℃;
(3) 可編程的分辨率為9~12位,對應的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃;
(4) 12位分辨率時(shí)最多在750ms內把溫度值轉換為數字;
(5) 負壓特性:電源極性接反時(shí),溫度計不會(huì )因發(fā)熱而燒毀,但不能正常工作。
2. DS18B20的外形及引腳說(shuō)明
外形如圖1所示。其體積只有DS1820的一半,引腳定義相同。
1(GND):地
2(DQ):?jiǎn)尉€(xiàn)運用的數據輸入輸出引腳
3(VDD):可選的電源引腳圖 1 DS18B20引腳結構圖
3. DS18B20內部結構
?。?) DS18B20的內部結構如圖 2 所示。
圖 2 DS18B20內部結構圖DS18B20有4個(gè)主要的數據部件:
① 64位激光ROM。64位激光ROM從高位到低位依次為8位CRC、48位序列號和8位家族代碼(28H)組成。
② 溫度靈敏元件。
③ 非易失性溫度報警觸發(fā)器TH和TL??赏ㄟ^(guò)軟件寫(xiě)入用戶(hù)報警上下限值。
④ 配置寄存器。配置寄存器為高速暫存存儲器中的第五個(gè)字節。DS18B20在工作時(shí)按此寄存器中的分辨率將溫度轉換成相應精度的數值,其各位定義如圖3所示。其中,TM:測試模式標志位,出廠(chǎng)時(shí)被寫(xiě)入0,不能改變;R0、R1:溫度計分辨率設置位,其對應四種分辨率如表1所列,出廠(chǎng)時(shí)R0、R1置為缺省值:R0=1,R1=1(即12位分辨率),用戶(hù)可根據需要改寫(xiě)配置寄存器以獲得合適的分辨率。
TM R1 R0 1 1 1 1 1 MSB LSB 圖 3 DS18B20配置寄存器結構圖
表 1 配置寄存器與分辨率關(guān)系表
R0 R1 溫度計分辨率/bit 最大轉換時(shí)間/ms 0 0 9 93.75 0 1 10 187.5 1 0 11 375 1 1 12 750?。?) 高速暫存存儲器
高速暫存存儲器由9個(gè)字節組成,其分配如圖4所示。當溫度轉換命令發(fā)布后,經(jīng)轉換所得的溫度值以二字節補碼形式存放在高速暫存存儲器的第0和第1個(gè)字節。單片機可通過(guò)單線(xiàn)接口讀到該數據,讀取時(shí)低位在前,高位在后,數據格式如圖5所示。對應的溫度計算:當符號位S=0時(shí),直接將二進(jìn)制位轉換為十進(jìn)制;當S=1時(shí),先將補碼變?yōu)樵a,再計算十進(jìn)制值。表 2是對應的一部分溫度值。
溫度低位 溫度高位 TH TL 配置 保留 保留 保留 8位CRC LSB MSB 圖 4 DS18B20 存儲器映像圖
![]()
圖 5 溫度值格式圖
表 2 DS18B20 溫度數據表
溫度/℃ 二進(jìn)制表示 十六進(jìn)制表示 +125
+25.0625
+10.125
+0.5
0
-0.5
-10.125
-25.0625
-5500000111 11010000
00000001 10010001
00000000 10100010
00000000 00001000
00000000 00000000
11111111 11111000
11111111 01011110
11111110 01101111
11111100 1001000007D0H
0191H
00A2H
0008H
0000H
FFF8H
FF5EH
FE6FH
FC90H
4. DS18B20工作原理
DS18B20的讀寫(xiě)時(shí)序和測溫原理與DS1820相同,只是得到的溫度值的位數因分辨率不同而不同,且溫度轉換時(shí)的延時(shí)時(shí)間由2s減為750ms。
DS18B20的讀寫(xiě)時(shí)序如下。
PROC WRITE
WRITE: MOV R2,#8
CLR C
WR1: CLR DQ
MOV R7,#6
DJNZ R7,$
RRC A
MOV DQ,C
MOV R7,#23
DJNZ R7,$
SETB DQ
NOP
DJNZ R2,WR1
SETB DQ
RET
;讀一個(gè)字節,出口:A=讀入的字節
PROC DREAD
DREAD: MOV R2,#8
READL: CLR C
SETB DQ
NOP
NOP
CLR DQ
NOP
NOP
NOP
SETB DQ ;產(chǎn)生時(shí)間片
MOV R7,#7
DJNZ R7,$
MOV C,DQ
MOV R7,#23
DJNZ R7,$
RRC A
DJNZ R2,READL
RET
二、 DS18B20在橋梁測溫中的應用
1. 測溫系統要求
由于橋梁施工過(guò)程中橋墩、梁身和橋面的二次施工為不同單位負責,故須自備電源,盡量減少功耗;因數據要求長(cháng)期保存,故要求容量較大的存儲器;要對數據進(jìn)行分析且形成數據庫,從而需要可靠的通訊接口。
2. 系統設計要點(diǎn)
(1) DS18B20采用三線(xiàn)制供電方式,傳輸線(xiàn)采用普通的三芯線(xiàn)。因混凝土的堿性很大,傳感器用環(huán)氧樹(shù)脂封裝在導熱性能良好的薄鐵筒內,72個(gè)點(diǎn)順序排列在一根三芯線(xiàn)上。為避開(kāi)混凝土澆注時(shí)的直接沖力,傳感器順著(zhù)鋼筋走線(xiàn)。
(2) 多次測量并算出溫度轉換時(shí)的平均電流I1和時(shí)間t1及溫度傳感器和MCU均空閑時(shí)的平均電流I2。根據預定更換電池的時(shí)間t2得出采樣次數N,然后根據電路總功耗,選擇適當容量的電池。P總=U[I1t1N+I2(t2-Nt1)],U為系統電壓。
(3) 為減少功耗,不進(jìn)行溫度采集時(shí),使單片機進(jìn)入睡眠狀態(tài),采用DS12887的定時(shí)中斷,喚醒單片機進(jìn)行溫度轉換操作。
( 4) 將2字節的溫度數據轉換為1字節的補碼(小數部分四舍五入,此時(shí)精度為±1℃),然后根據測點(diǎn)數n、時(shí)鐘的年月日時(shí)占用的字節(4字節)、采樣間隔時(shí)間t和要求保存數據的時(shí)間t′選取存儲器容量NByte=(n+4)t′/t。
(5) 在VC++6.0開(kāi)發(fā)平臺下編寫(xiě)便攜式PC機與單片機的串行通訊程序,用于完成修改單片機的采樣間隔時(shí)間、成批讀取單片機外部存儲器中的溫度數據并將接收到的數據轉存入數據庫、畫(huà)各點(diǎn)的水化熱溫度曲線(xiàn)和畫(huà)同一截面上點(diǎn)的溫度梯度曲線(xiàn)等功能。
3. 硬件構成
該系統采用帶8K程序存儲器的AT89C52單片機及大容量數據存儲器29FC040和 DS12887日歷/時(shí)鐘芯片等構成,如圖6所示。
圖 6 測溫系統硬件電路結構圖
(1) DS12887用于產(chǎn)生定時(shí)中斷,接收到中斷后單片機先讀取日歷和時(shí)鐘并存儲,然后啟動(dòng)溫度轉換,再讀取溫度并存儲。單片機構成的采集裝置的缺省的采樣間隔值為1h(小時(shí)),采樣間隔值保存在有斷電保存功能DS12887的用戶(hù)字節中。測水化熱時(shí)每小時(shí)采集1次;14天后每天的2點(diǎn)和14點(diǎn)各采集1次。采樣間隔時(shí)間只有通過(guò)便攜式PC經(jīng)RS232接口進(jìn)行修改,這樣,可避免進(jìn)入橋梁中的工人或附近居民因好奇而偶然修改了采樣值。
(2) 29FC040用于存儲一個(gè)PC成批讀取數據周期內的所有溫度值和其對應的采集時(shí)間等數據。
(3) 蓄電池的功率應考慮一定的余量,以與存儲器時(shí)間相匹配。
結 論
經(jīng)實(shí)驗室和現場(chǎng)調試及試驗,發(fā)現了DS18B20的一些特點(diǎn)和使用中應注意的事項。
(1) 有很強的承受負壓的能力,這樣偶爾的誤操作不會(huì )損壞溫度計;
(2) 連接DS18B20的總線(xiàn)電纜(普通三芯線(xiàn))在只有上拉電阻的情況下可靠傳輸長(cháng)度可達45m左右,距離再長(cháng)時(shí)須根據分支點(diǎn)數、總線(xiàn)長(cháng)度匹配其線(xiàn)間電容及阻抗;
(3) 溫度轉換時(shí)間由DS1820的2s降為750ms,且靈敏度大為提高,在逐漸升溫的水中與精度為±0.5℃的溫度計幾乎同步,且回復性很好;
(4) 和DS1820一樣,DS18B20的讀寫(xiě)時(shí)序須經(jīng)仔細調整,在反復的調試中找出合適的延時(shí)時(shí)間;
(5) DS18B20工作時(shí)電流高達1.5mA,總線(xiàn)上
掛接點(diǎn)數較多且同時(shí)進(jìn)行轉換時(shí)要考慮增加總線(xiàn)驅動(dòng),可用一單片機端口在溫度轉換時(shí)導通一個(gè)MOSFET,使I/O線(xiàn)直接拉到電源從而提供一強的上拉;
(6) 在程序等待DS18B20發(fā)出的存在信號對,最好設置一有限的等待時(shí)間,否則一旦有溫度計損壞時(shí),程序將進(jìn)入一等待的死循環(huán)中。MES
參考文獻
1 DALLAS Semiconductor Automatic Identification Data Book
2 金偉正.單線(xiàn)數字溫度傳感器的原理與應用.電子技術(shù)應用,2000(6):66~68
評論