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