《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種電冰箱檢測線溫度傳感器校驗平臺
一種電冰箱檢測線溫度傳感器校驗平臺
來源:微型機與應(yīng)用2011年第10期
魯照權(quán),彭海軍,鄭國俊,余 波,朱 敏
(合肥工業(yè)大學 電氣與自動化工程學院 優(yōu)化控制技術(shù)研究所,安徽 合肥230009)
摘要: 設(shè)計了一個DS18B20溫度傳感器校驗平臺。將Pt100測得的溫度值作為標準溫度值,校驗溫度傳感器是否合格。為了提高Pt100測得溫度的精準性,使用格羅布斯準則和算術(shù)平均值法分別消除粗大誤差和隨機誤差。以P89LPC935為核心設(shè)計了校驗平臺的硬件和軟件,并使用Visual C++ 6.0設(shè)計了上位機顯示界面。
Abstract:
Key words :

摘  要: 設(shè)計了一個DS18B20溫度傳感器校驗平臺。將Pt100測得的溫度值作為標準溫度值,校驗溫度傳感器是否合格。為了提高Pt100測得溫度的精準性,使用格羅布斯準則和算術(shù)平均值法分別消除粗大誤差和隨機誤差。以P89LPC935為核心設(shè)計了校驗平臺的硬件和軟件,并使用Visual C++ 6.0設(shè)計了上位機顯示界面。
關(guān)鍵詞: DS18B20;Pt100;溫度傳感器;校驗

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

 

 

2 標準溫度值獲取
    標準溫度值是校驗的參考溫度,將DS18B20測得的溫度值和標準值進行比較,以決定其是否合格。因此,標準溫度值的獲取至關(guān)重要。Pt100鉑電阻具有精度高、穩(wěn)定性好、性能可靠等特點。在0 ℃~650 ℃范圍內(nèi):Rt=R0(1+At+Bt2);在-200 ℃~0 ℃范圍內(nèi):Rt=R0(1+At+Bt2+C(t-100)t3)。式中,R0=100 Ω,為t=0 ℃時的電阻值,A=3.968 47×10-3,B=-5.847×10-7,C=-4.22×10-12。
    Pt100是電阻式溫度傳感器,溫度變化引起電阻變化。將電阻的變化轉(zhuǎn)換成電壓信號,經(jīng)放大后,再將模擬電壓信號轉(zhuǎn)換成數(shù)字信號,由單片機換算成相應(yīng)的溫度。Pt100測溫電路采用三線制接法,如圖2所示。

    LM334為恒流源,外加二極管和電阻,就可以為Pt100提供恒定的電流,調(diào)節(jié)電位器R3即可改變電流大小。當溫度改變時,Pt100電阻改變,引起電壓變化。MC1403為基準電壓源,提供2.5 V精密電壓,經(jīng)電位器分壓后送入運放作為調(diào)零信號。前端測得電壓值經(jīng)過運放OP07放大,送入A/D轉(zhuǎn)換器,轉(zhuǎn)換成數(shù)字信號后換算成溫度值,即可以實現(xiàn)溫度的測量[2-4]。
    在Pt100測溫過程中,由于各種原因,測量結(jié)果和真實值之間總會存在一定的誤差,使得測量結(jié)果不能客觀地反映實際溫度。根據(jù)測量誤差的性質(zhì),可以將誤差分為系統(tǒng)誤差、隨機誤差和粗大誤差。由于Pt100測得的溫度為標準溫度值,因此,必須將它的誤差減到最小,這就需要選擇合適的誤差分析和消除方法。
    為了消除Pt100測溫電路的系統(tǒng)誤差,必須調(diào)整好電路的零點和增益。零點包括運放的零點和溫度的零點。將J_Pt100的1號腳與B點短接時調(diào)節(jié)運放的調(diào)零電位器,使運放的輸出為零;用標準電阻箱替代Pt100,將其阻值打在100 Ω上,調(diào)節(jié)R3,使A點電壓為0.3 V,即恒流源為3 mA,再調(diào)節(jié)R5,使B點電壓也為0.3 V,此時溫度顯示值為零;再將標準電阻箱打在123.24 Ω上,調(diào)節(jié)電位器R10,使C點電壓為P89LPC935內(nèi)部A/D參考電壓3.3 V左右,溫度顯示值為60 ℃[5]。
    隨機誤差主要是由對測量值影響微小但卻互不相關(guān)的大量因素共同造成的,這些因素主要有溫度波動、噪聲干擾、電磁場微變、空氣擾動等。為減小Pt100測溫的隨機誤差,采用算術(shù)平均值作為測量結(jié)果[6,7]。

    將粗大誤差剔除后,重新計算平均值x、標準差σ、G0、G1和Gn,重復(fù)上述步驟繼續(xù)進行判斷,依此類推,直至完全消除粗大誤差[8]。格羅布斯準則消除粗大誤差軟件流程如圖3所示。


3 實驗結(jié)果
    在相同條件下,進行15次測量測量數(shù)據(jù)如表1所示。選用格羅布斯準則消除粗大誤差。首先按測量值大小

    通常消除粗大誤差和隨機誤差,都是采用去極值算術(shù)平均值法。在這組數(shù)據(jù)中,首先,去掉最大值20.55和最小值20.40,再求剩下數(shù)據(jù)的算術(shù)平均值,可得x=20.51。實驗數(shù)據(jù)表明,采用格羅布斯準則消除粗大誤差,要比去極值法效果更理想,更接近真實值。
    利用Visual C++ 6.0設(shè)計上位機顯示界面,用來顯示標準溫度值、各個待校驗DS18B20的溫度值、與標準溫度的差值以及最終校驗結(jié)果[9,10]。
    為了保證電冰箱檢測線數(shù)千只DS18B20溫度傳感器,在-30 ℃~+60 ℃溫度范圍內(nèi),測量偏差均不大于±0.5 ℃,本文以P89LPC935為核心設(shè)計了DS18B20溫度傳感器校驗平臺。用Visual C++ 6.0設(shè)計了上位機校驗結(jié)果顯示界面。采用Pt100熱電阻作為標準溫度傳感器。為了提高Pt100熱電阻的檢測精度,設(shè)計了恒流三線制Pt100熱電阻溫度轉(zhuǎn)換電路,采用算術(shù)平均值法、格羅布斯準則分別減小隨機誤差和粗大誤差。實驗結(jié)果表明,該校驗平臺設(shè)計合理,判斷準確、使用方便。篩選后的傳感器完全符合用戶的要求。
參考文獻
[1] 雷建龍.數(shù)字溫度傳感器DS18B20讀出數(shù)據(jù)錯誤分析[J].電子器件,2007,30(6):2183-2185.
[2] 張志勇,辛長宇,朱玉龍,等.Pt100溫度傳感器非線性的補償方法與電路實現(xiàn)[J].電子器件,2007,30(6):2189-2191.
[3] 王龍.基于鉑電阻Pt100的高精度溫度測控系統(tǒng)設(shè)計[J]. 吉首大學學報,2009,30(3):70-73.
[4] ALAN T.Improving the accuracy of temperature measurements[J].Sensor Review,2009,21(3):193-198.
[5] 潘雄,付宗堂,范曉明.一種處理系統(tǒng)誤差的新方法[J].儀器儀表學報,2007,28(4):630-634.
[6] 費業(yè)泰.誤差理論與數(shù)據(jù)處理[M].北京:機械工業(yè)出版社,2005.
[7] Tao Chongde,Wang Guanglin,Shao Dongxiang.New method  on rigidity measurement of precision elastic elements[J].
     Journal of Harbin Institute of Technology,1995,12(1):34-36.
[8] 隋文濤,張丹.測試數(shù)據(jù)中粗大誤差的判定技術(shù)及其軟件實現(xiàn)[J].電測及儀表,2006,43(11):61-63.
[9] 龔建偉,熊光明.Visual C++/ Turbo C串口通信編程實踐[M].北京:電子工業(yè)出版社,2007.
[10] 王中訓,徐超,王德法.基于VC++ 6.0的多串口通信方法[J].計算機應(yīng)用,2008,28(6):254-256.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。