摘 要: 設計了一個DS18B20溫度傳感器校驗平臺。將Pt100測得的溫度值作為標準溫度值,校驗溫度傳感器是否合格。為了提高Pt100測得溫度的精準性,使用格羅布斯準則和算術平均值法分別消除粗大誤差和隨機誤差。以P89LPC935為核心設計了校驗平臺的硬件和軟件,并使用Visual C++ 6.0設計了上位機顯示界面。
關鍵詞: DS18B20;Pt100;溫度傳感器;校驗
電冰箱出廠前需要試運行幾十分鐘甚至數(shù)小時,同時檢測冷藏室、冷凍室、壓縮機進氣口、出氣口和環(huán)境溫度、壓縮機功率等參數(shù),以判斷電冰箱是否合格。一條電冰箱檢測線少則使用數(shù)百只溫度傳感器,多則使用數(shù)千只溫度傳感器。為了準確檢測溫度,曾經(jīng)采用熱電阻、AD590等模擬式溫度傳感器。由于模擬式溫度傳感器均需要檢測轉換電路與A/D轉換器,使得電冰箱檢測線的制造與維護成本很高。DS18B20的問世給電冰箱檢測線數(shù)千點溫度檢測提供了極其方便的途徑。DS18B20直接輸出相應溫度的數(shù)字量,無需轉換電路與A/D轉換器,使用極其方便,已被電冰箱生產(chǎn)廠家廣泛采用。
DS18B20采用“1-Wire”接口,測量溫度范圍為-55 ℃~+125 ℃,最高溫度分辨率為0.062 5 ℃,在-10 ℃~+85 ℃范圍內,精度為±0.5 ℃。溫度值采用12位二進制數(shù)表示,存儲在DS18B20的兩個8 bit的RAM中,其中高5位為符號位,低11位為溫度值。如果測得的溫度大于等于0 ℃,高5位為0,將低11位的數(shù)值乘0.062 5即可得到實際溫度值;如果測得的溫度低于0 ℃,高5位為1,將低11位取反加1再乘0.062 5即可得到實際溫度值。
通常電冰箱冷凍室的溫度低于-20 ℃,壓縮機排氣口溫度可高達60 ℃左右,為了保證檢測線上數(shù)千只溫度傳感器測量偏差不大于±0.5 ℃,必須對DS18B20在-30 ℃~+60 ℃溫度范圍內進行校驗篩選。為此,本文設計了一個DS18B20溫度傳感器校驗平臺。
1 系統(tǒng)設計
校驗平臺由酒精恒溫槽與傳感器校驗系統(tǒng)構成。酒精恒溫槽模擬不同的被測溫度。系統(tǒng)以P89LPC935單片機為核心,Pt100測溫電路為校驗平臺提供準確溫度值。DS18B20為待測溫度傳感器,校驗平臺一次可以檢測16只傳感器。繼電器接口用來控制酒精槽制冷、制熱工作,為傳感器模擬-30 ℃~+60 ℃范圍的工作溫度。采用七位數(shù)碼管,顯示標準溫度、待測傳感器的溫度檢測值、二者偏差值等數(shù)據(jù)。
上位機可以通過串口接收、顯示各個傳感器的測量數(shù)據(jù)和校驗結果。通過按鍵實現(xiàn)系統(tǒng)的開始、停止等功能。
DS18B20是單總線、數(shù)字式溫度傳感器,對時序要求比較嚴格。工作時序包括初始化時序、讀時序和寫時序。常用的基本操作有Skip Rom(跳過Rom)[CCH]、Convert Temperature(溫度轉換)[44H]和Read Scratchpad(讀暫存存儲器)[BEH]。測得的溫度值存儲在高速暫存RAM的前兩個字節(jié)中。P89LPC935通過連續(xù)兩次讀操作,可以獲得溫度值。首先讀取的是低位字節(jié)TL,接著是高位字節(jié)TH[1]。P89LPC935與DS18B20的接口電路如圖1所示。本系統(tǒng)需要一次校驗16個DS18B20,因單片機引腳有限,故選用16選1模擬開關CD4067。A、B、C、D為通道選擇端,INT為控制端。當INT=1時,關閉所有通道。