聯系我們
電 話:0532-83812497
郵 箱:info@sd1718.com
DS1820及其高精度溫度測量的實現
2014-11-13
在傳統的模擬信號遠距離溫度測量系統中需要很好的解決引線誤差補償問題、多點測量切換誤差問題和放大電路零點漂移誤差問題等技術問題才能夠達到較高的測量精度。我們在為某水電站開發水輪發電機組軸瓦溫度實時監測系統時為了克服上面提到的三個問題采用了新型數字溫度傳感器DS1820在對其測溫原理進行詳細分析的基礎上提出了提高DS1820測量精度的方法,使DS1820的測量精度由0.5℃提高到0.1℃以上取得了良好的測溫效果。
1 DS1820簡介
DS1820是美國DALLAS半導體公司生產的可組網數字式溫度傳感器在其內部使用了在板(ON-B0ARD)專利技術。全部傳感元件及轉換電路集成在形如一只三極管的集成電路內。與其它溫度傳感器相比DS1820具有以下特性:
(1)獨特的單線接口方式DS1820在與微處理器連接時僅需要一條口線即可實現微處理器與DS1820的雙向通訊。
(2)DS1820支持多點組網功能多個DS1820可以并聯在唯一的三線上實現多點測溫。
(3)DS1820在使用中不需要任何外圍元件。
(4)溫范圍-55℃~+125℃固有測溫分辨率0.5℃。
(5)測量結果以9位數字量方式串行傳送。
DS1820內部結構框圖如圖1所示。
DS1820測溫原理如圖2所示。圖中低溫度系數晶振的振蕩頻率受溫度影響很小用于產生固定頻率的脈沖信號送給計數器1。高溫度系數晶振隨溫度變化其振蕩率明顯改變所產生的信號作為計數器2的脈沖輸入。計數器1和溫度寄存器被預置在-55℃所對應的一個基數值。計數器1對低溫度系數晶振產生的脈沖信號進行減法計數當計數器1的預置值減到0時溫度寄存器的值將加1 計數器1的預置將重新被裝入計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數如此循環直到計數器2計數到0時停止溫度寄存器值的累加此時溫度寄存器中的數值即為所測溫度。圖2中的斜率累加器用于補償和修正測溫過程中的非線性其輸出用于修正計數器1的預置值。
在正常測溫情況下DS1820的測溫分辯率為0.5℃以9位數據格式表示其中最低有效位(LSB)由比較器進行0.25℃比較當計數器1中的余值轉化成溫度后低于0.25℃時清除溫度寄存器的最低位(LSB)當計數器1中的余值轉化成溫度后高于0.25℃置位溫度寄存器的最低位(LSB)如-25.5℃對應的9位數據格式如下:
2 提高DS1820測溫精度的途徑
2.1 DS1820高精度測溫的理論依據
DS1820正常使用時的測溫分辨率為0.5℃這對于水輪發電機組軸瓦溫度監測來講略顯不足在對DS1820測溫原理詳細分析的基礎上我們采取直接讀取DS1820內部暫存寄存器的方法將DS1820的測溫分辨率提高到0.1℃~0.01℃.
DS1820內部暫存寄存器的分布如表1所示其中第7字節存放的是當溫度寄存器停止增值時計數器1的計數剩余值第8字節存放的是每度所對應的計數值這樣我們就可以通過下面的方法獲得高分辨率的溫度測量結果。首先用DS1820提供的讀暫存寄存器指令(BEH)讀出以0.5℃為分辨率的溫度測量結果,超聲波測厚儀然后切去測量結果中的最低有效位(LSB)得到所測實際溫度整數部分T整數,然后再用BEH指令讀取計數器1的計數剩余值M剩余和每度計數值M每度考慮到DS1820測量溫度的整數部分以0.25℃、0.75℃為進位界限的關系實際溫度T實際可用下式計算得到:
T實際=(T整數-0.25℃)+(M每度-M剩余)/M每度
2.2 測量數據比較
表2為采用直接讀取測溫結果方法和采用計算方法得到的測溫數據比較通過比較可以看出計算方法在DS1820測溫中不僅是可行的也可以大大的提高DS1820的測溫分辨率。
3 DS1820使用中注意事項
DS1820雖然具有測溫系統簡單、測溫精度高、連接方便、占用口線少等優點但在實際應用中也應注意以下幾方面的問題:
(1)較小的硬件開銷需要相對復雜的軟件進行補償由于DS1820與微處理器間采用串行數據傳送因此在對DS1820進行讀寫編程時必須嚴格的保證讀寫時序否則將無法讀取測溫結果。在使用PL/M、C等高級語言進行系統程序設計時對DS1820操作部分最好采用匯編語言實現。
(2)在DS1820的有關資料中均未提及單總線上所掛DS1820數量問題容易使人誤認為可以掛任意多個DS1820在實際應用中并非如此。當單總線上所掛DS1820超過8個時就需要解決微處理器的總線驅動問題這一點在進行多點測溫系統設計時要加以注意。
(3)連接DS1820的總線電纜是有長度限制的。試驗中當采用普通信號電纜傳輸長度超過50m時讀取的測溫數據將發生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時正常通訊距離可達150m當采用每米絞合次數更多的雙絞線帶屏蔽電纜時正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產生畸變造成的。因此在用DS1820進行長距離測溫系統設計時要充分考慮總線分布電容和阻抗匹配問題。
(4)在DS1820測溫程序設計中向DS1820發出溫度轉換命令后程序總要等待DS1820的返回信號一旦某個DS1820接觸不好或斷線當程序讀該DS1820時將沒有返回信號程序進入死循環。這一點在進行DS1820硬件連接和軟件設計時也要給予一定的重視。
1 DS1820簡介
DS1820是美國DALLAS半導體公司生產的可組網數字式溫度傳感器在其內部使用了在板(ON-B0ARD)專利技術。全部傳感元件及轉換電路集成在形如一只三極管的集成電路內。與其它溫度傳感器相比DS1820具有以下特性:
(1)獨特的單線接口方式DS1820在與微處理器連接時僅需要一條口線即可實現微處理器與DS1820的雙向通訊。
(2)DS1820支持多點組網功能多個DS1820可以并聯在唯一的三線上實現多點測溫。
(3)DS1820在使用中不需要任何外圍元件。
(4)溫范圍-55℃~+125℃固有測溫分辨率0.5℃。
(5)測量結果以9位數字量方式串行傳送。
DS1820內部結構框圖如圖1所示。
DS1820測溫原理如圖2所示。圖中低溫度系數晶振的振蕩頻率受溫度影響很小用于產生固定頻率的脈沖信號送給計數器1。高溫度系數晶振隨溫度變化其振蕩率明顯改變所產生的信號作為計數器2的脈沖輸入。計數器1和溫度寄存器被預置在-55℃所對應的一個基數值。計數器1對低溫度系數晶振產生的脈沖信號進行減法計數當計數器1的預置值減到0時溫度寄存器的值將加1 計數器1的預置將重新被裝入計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數如此循環直到計數器2計數到0時停止溫度寄存器值的累加此時溫度寄存器中的數值即為所測溫度。圖2中的斜率累加器用于補償和修正測溫過程中的非線性其輸出用于修正計數器1的預置值。
在正常測溫情況下DS1820的測溫分辯率為0.5℃以9位數據格式表示其中最低有效位(LSB)由比較器進行0.25℃比較當計數器1中的余值轉化成溫度后低于0.25℃時清除溫度寄存器的最低位(LSB)當計數器1中的余值轉化成溫度后高于0.25℃置位溫度寄存器的最低位(LSB)如-25.5℃對應的9位數據格式如下:
2 提高DS1820測溫精度的途徑
2.1 DS1820高精度測溫的理論依據
DS1820正常使用時的測溫分辨率為0.5℃這對于水輪發電機組軸瓦溫度監測來講略顯不足在對DS1820測溫原理詳細分析的基礎上我們采取直接讀取DS1820內部暫存寄存器的方法將DS1820的測溫分辨率提高到0.1℃~0.01℃.
DS1820內部暫存寄存器的分布如表1所示其中第7字節存放的是當溫度寄存器停止增值時計數器1的計數剩余值第8字節存放的是每度所對應的計數值這樣我們就可以通過下面的方法獲得高分辨率的溫度測量結果。首先用DS1820提供的讀暫存寄存器指令(BEH)讀出以0.5℃為分辨率的溫度測量結果,超聲波測厚儀然后切去測量結果中的最低有效位(LSB)得到所測實際溫度整數部分T整數,然后再用BEH指令讀取計數器1的計數剩余值M剩余和每度計數值M每度考慮到DS1820測量溫度的整數部分以0.25℃、0.75℃為進位界限的關系實際溫度T實際可用下式計算得到:
T實際=(T整數-0.25℃)+(M每度-M剩余)/M每度
2.2 測量數據比較
表2為采用直接讀取測溫結果方法和采用計算方法得到的測溫數據比較通過比較可以看出計算方法在DS1820測溫中不僅是可行的也可以大大的提高DS1820的測溫分辨率。
3 DS1820使用中注意事項
DS1820雖然具有測溫系統簡單、測溫精度高、連接方便、占用口線少等優點但在實際應用中也應注意以下幾方面的問題:
(1)較小的硬件開銷需要相對復雜的軟件進行補償由于DS1820與微處理器間采用串行數據傳送因此在對DS1820進行讀寫編程時必須嚴格的保證讀寫時序否則將無法讀取測溫結果。在使用PL/M、C等高級語言進行系統程序設計時對DS1820操作部分最好采用匯編語言實現。
(2)在DS1820的有關資料中均未提及單總線上所掛DS1820數量問題容易使人誤認為可以掛任意多個DS1820在實際應用中并非如此。當單總線上所掛DS1820超過8個時就需要解決微處理器的總線驅動問題這一點在進行多點測溫系統設計時要加以注意。
(3)連接DS1820的總線電纜是有長度限制的。試驗中當采用普通信號電纜傳輸長度超過50m時讀取的測溫數據將發生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時正常通訊距離可達150m當采用每米絞合次數更多的雙絞線帶屏蔽電纜時正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產生畸變造成的。因此在用DS1820進行長距離測溫系統設計時要充分考慮總線分布電容和阻抗匹配問題。
(4)在DS1820測溫程序設計中向DS1820發出溫度轉換命令后程序總要等待DS1820的返回信號一旦某個DS1820接觸不好或斷線當程序讀該DS1820時將沒有返回信號程序進入死循環。這一點在進行DS1820硬件連接和軟件設計時也要給予一定的重視。
相關推薦:
下一篇:紅外測溫儀--應用領域篇