摘要:利用單總線數字溫度傳感器DS18B20芯片以及微處理器,可以用軟件方法實現對傳感器由于環境溫度帶來的測量誤差的補償。文中以電阻應變式傳感器為例,提出了具體的補償方案。
關鍵詞:傳感器;溫度補償;單總線DS18B20芯片;神經元芯片
Abstract: A one-wire digital chip DS18B20 and microprocessor by software are used to modify the error caused by the changing of surrounding temperature when the sensor is testing. In this paper, a detailed compensation scheme about resistance stain type sensor is put forward.
Key words: Sensor; Temperature compensation; One-wire DS18B20 chip; Neuron Chip
工業現場的溫度變化范圍大而劇烈,工作在工業現場的傳感器大多數都對溫度有一定的敏感度,這樣就會使傳感器的零點發生變化,從而造成輸出值隨環境溫度變化,導致測量出現附加誤差,因此溫度補償問題一直是傳感器技術中的關鍵環節。溫度補償的方法目前應用較廣泛的是利用微處理器實現溫度漂移軟硬件補償方法。本文要介紹的溫度補償方法也屬于一種軟硬件補償,只是在具體實現的過程中提出了新的設計方案-采用單總線數字溫度計DS18B20芯片和LonWorks現場總線技術中的神經元芯片(Neuron Chip即CPU)實現傳感器的溫度補償,并以電阻應變片式傳感器為例,詳細介紹了它的硬件電路和軟件設計部分[1-5]。
1 傳感器溫度漂移軟件補償原理
由于環境溫度變化而引起的附加誤差,可采用軟件補償的方法來修正,其基本思路是:在電阻應變片式傳感器附近敏感部位處,安放一個測溫元件,用來檢測傳感器所在環境的溫度;把測溫元件的輸出經過多路開關與信號同一路徑送入CPU,根據溫度誤差的數學模型去補償被測信號,以達到精確測量的目的。其中誤差修正是根據應變片在無載荷情況下,由于溫度變化而引起的溫度漂移的應變值。
傳感器采用這種軟件補償方法解決溫度附加誤差時,通常測溫元件采用熱電阻,因此必須增加相應的熱電阻溫度變送器及A/D轉換兩部分的電路,任何一個環節都不能缺少,具體實施起來難免顯得有些繁瑣,而且兩部分電路的溫度特性可能成為新的附加誤差。
針對上述問題,可以通過使用數字溫度傳感器代替熱電阻檢測電阻應變片周圍環境溫度。本設計采用由美國DALLAS半導體公司生產的DS18B20型單總線智能溫度傳感器。它具有其它溫度傳感器無法比擬的特點:
(1) DS18B20采用DALLAS公司獨特的"單線(1-wire)總線"專有技術,通過串行通信接口(I/O)直接輸出被測溫度(9位二進制數,含符號位);
(2) 測溫范圍為-55~+125℃,其分辨率為0.5℃,若采用高分辨率模式,分辨率可達0.1℃,溫度轉換可在1s內完成;
(3) 適配各種單片機或系統機,具有微型化、低功耗、高性能、抗干擾能力強等特點;
(4) 價格便宜,市售僅為幾元錢,僅為普通變送器的十分之一;
(5) 只需一根數據線就能實現與微處理器的通訊,而且芯片正常工作所需電源也可以從數據線上獲得,無需外部電源[2]。
經試驗研究證明,DS18B20這種溫度傳感器可以很好地解決溫度漂移軟件補償中的測溫問題。
DS18B20的工作原理是:DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其中GND為地;I/O為數據輸入/輸出端(即單線總線),該腳為漏極開路輸出,常態下呈高電平;Vdd是外部+5V電源端,不用時應接地;NC為空腳。圖1所示為DS1820的內部框圖,它主要包括寄生電源、溫度傳感器、64位激光ROM單線接口、存放中間數據的高速暫存器(內含便箋式RAM),用于存儲用戶設定的溫度上下限值的TH和TL觸發器存儲與控制邏輯、8位循環冗余校驗碼(CRC)發生器等七部分[3]。
圖1 DS18B20內部結構圖
DS18B20的溫度測量原理如下:DS18B20測量溫度時使用特有的溫度測量技術,其測量電路框圖如圖2所示。內部計數器對一個受溫度影響的振蕩器的脈沖計數,低溫時振蕩器的脈沖可以通過門電路,而當到達某一設置高溫時,振蕩器的脈沖無法通過門電路。計數器設置為-55℃時的值,如果計數器到達0之前,門電路未關閉,則溫度寄存器的值將增加,這表示當前溫度高于-55℃。同時,計數器復位在當前溫度值上,電路對振蕩器的溫度系數進行補償,計數器重新開始計數直到回零。如果門電路仍然未關閉,則重復以上過程[3]。
圖2 DS18B20測溫原理框圖
2 電阻應變式傳感器的溫度補償方案
電阻應變片式傳感器的最大用武之地是稱重和測力領域。這種傳感器有如下特點:應用和測量范圍廣,應變片可制成各種機械測量傳感器,分辨力和靈敏度高,結構輕小,商品化。不過和大多數傳感器一樣,其溫度特性不太理想,在實際使用時需進行溫度補償[4]。
具體思路是:在確定傳感器與溫度之間的數學模型后,通過數字溫度傳感器DS18B20芯片,直接把溫度信號轉換為相應的數字量,送入CPU進行后續處理,即根據傳感器的溫度特性對測量進行修正,實現用軟件的方法消除由于環境溫度的變化給測量帶來的誤差。
2.1 電阻應變片式傳感器溫度補償硬件電路設計
硬件電路設計如圖3所示,其核心部分是51單片機的CPU芯片和DS18B20芯片。51單片機的CPU采用AT89C52,共32個雙向可編程I/O口。這些I/O口根據不同需要,靈活選擇接口方式,實現與外圍設備的接口。本文涉及的I/O對象主要有DS18B20的數據總線,A/D轉換的數據總線及液晶的控制及數據總線。其中DS18B20由AT89C52的P1.0腳控制。
圖3 電阻應變式傳感器溫度補償硬件電路圖
對于DS18B20芯片工作時所需的一系列初始化序列,都由相應的時序來控制。有了這些時序CPU對外圍元件DS18B20芯片的控制與通信就顯得非常方便。
2.2 電阻應變片式傳感器溫度補償軟件設計
從圖3給出的硬件電路可以發現,電阻應變式傳感器溫度補償環節的硬件電路比較簡單,然而簡潔的硬件配置是靠復雜的軟件來支撐的。為保證數據可靠傳送,任一時刻單總線上只能有一個控制信號或數據,因此進行數據傳輸通信時,要符合總線協議。一般有以下四個過程:初始化信號,傳送ROM信號,傳送RAM信號和數據交換。神經元芯片所用的編程語言本設計采用匯編語言編程,其軟件設計包括以下兩個部分:
(1) 溫漂值的測定
在實驗室里,將傳感器貼在不受任何載荷模擬現場的試件上,然后人為地使溫度升高(或降低),例如:將應變片及其附屬設備放在冰箱或冰柜里。利用溫度傳感器DS18B20測出其溫度,再利用單片機讀出相應的應變值。將與溫度相對應的應變值存入片外RAM中,并建立一個溫度和溫漂值相對應的數據庫。
(2) 結果的修正
在現場,通過軟硬件測得環境溫度后,接著要對一定環境溫度應變值進行修正,其流程圖如圖4所示。首先,在現場將電阻應變片貼在試件上,測出其應變值,然后將其結果輸入CPU中,用CPU記錄此結果,再從數據庫中讀出與溫度相應的溫漂值,并對該溫度下測得低應變值進行修正,最后輸出經過溫度補償真實的應變值,并存入片外RAM中。
圖4 軟件補償流程圖
3 結語
傳感器的溫度漂移問題是影響傳感器正常工作的一個比較棘手的難題。通過本文的例子可以看出,單總線芯片DS18B20不僅可以應用于溫度檢測,而且更加方便地解決了傳感器的溫度漂移補償。并且DS18B20系列芯片不斷有新的功能推出,它在傳感器溫度補償中的應用前景是廣泛的。
參考文獻:
[1] 劉君華.智能傳感器系統[M].西安:西安電子科技大學出版社,1999,1.
[2] Dallas Semiconductor Data Book, DS1820 Data Sheet.
[3] 沙占有.智能化集成溫度傳感器原理與應用[M].北京:機械工業出版社,2002,7:84-102.
[4] 劉少強.檢測技術與系統設計[M].北京:中國電力出版社,2002,1:66-85.
[5] DS18B20 Programmable Resolution 1-Wire Digital Thermometer. http://www.dalsemi.com.
[6] 王俊省.微計算機檢測技術及應用[M].北京:電子工業出版社,1999:147-151.
[7] LonWorks Technology Device Data,Motorola Inc,1997:15-40.
[8] Neuron Chip Data Book,Motorola and Toshiba,1992:119-130.