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