《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應用 > DS18B20在空調(diào)檢測系統(tǒng)溫度采集模塊中的應用
DS18B20在空調(diào)檢測系統(tǒng)溫度采集模塊中的應用
來源:電子技術(shù)應用2011年第8期
王福泉,,萬 頻,,馮孔淼,張 昱
(廣東工業(yè)大學 自動化學院,,廣東 廣州510006)
摘要: 為了克服空調(diào)檢測系統(tǒng)存在的布線復雜,、溫度采集穩(wěn)定性差的缺點,利用數(shù)字溫度傳感器DS18B20具有一線總線,、可組網(wǎng)的特點,,結(jié)合AT89S52單片機,給出一種用于空調(diào)檢測系統(tǒng)的高效穩(wěn)定的溫度采集方案,,討論了16片DS18B20數(shù)字溫度傳感器硬件連接和程序設(shè)計,。應用情況表明,該溫度采集方案具有準確率高,、穩(wěn)定性好,、安裝方便等特點,有效提高了空調(diào)檢測系統(tǒng)的性能,。
中圖分類號: TP274.2
文獻標識碼: A
文章編號: 0258-7998(2011)08-0046-03
Application of DS18B20 in the temperature collect module of air detection system
Wang Fuquan,,Wan Pin,F(xiàn)eng Kongmiao,,Zhang Yi
Automation College,,Guangdong University of Technology,Guangzhou 510006,,China
Abstract: In air detection system,,there is the disadvantage that stability of temperature collection is not good and the system need complex wiring,this paper develops a scheme for temperature measurement that was efficient and stable used in air detection system,using digital temperature sensor DS18B20 networked with the feature of one-wire and single-chip microcomputer AT89S52. Hardware connection and software design of sixteen pieces of DS18B20 digital temperature sensors have been discussed. The application shows that the scheme of temperature measurement is characterized by high-precision, good stability, easy installation and so on,which can improve the performance of air conditioning detection system effectively.
Key words : DS18B20;air detection system,;temperature collect module,;AT89S52 SCM


    在空調(diào)生產(chǎn)過程中,為確??照{(diào)產(chǎn)品的質(zhì)量,,空調(diào)制造商在產(chǎn)品出廠前都必須對空調(diào)進行加熱帶、制熱,、制冷等環(huán)節(jié)的測試,,通過標準機的電壓、功率,、輸入管溫,、輸出管溫、回氣溫度、排氣溫度等參數(shù)判斷空調(diào)是否合格,,其中溫度參數(shù)檢測是整個空調(diào)檢測系統(tǒng)的重要部分,。
    在傳統(tǒng)的空調(diào)檢測系統(tǒng)中,溫度采集模塊多以熱電阻,、熱電偶為溫度傳感器,,溫度模擬信號必須經(jīng)過專門的調(diào)理電路轉(zhuǎn)換為數(shù)字信號后才能被單片機處理,使用一段時間后,,系統(tǒng)檢測到的溫度值往往不夠準確,,同時由于溫度采集點分布范圍廣,增加了布線難度,,也給系統(tǒng)維護帶來不便,。
    本文采用DS18B20數(shù)字溫度傳感器、AT89S52單片機,,設(shè)計出適合空調(diào)檢測現(xiàn)場的溫度采集模塊,,實現(xiàn)現(xiàn)場16個采集點溫度數(shù)據(jù)的同步采集和傳輸。
1 系統(tǒng)構(gòu)成
    空調(diào)檢測系統(tǒng)溫度采集模塊的結(jié)構(gòu)框圖如圖1所示,。溫度采集模塊包括電源子模塊,、16路溫度采集子模塊、看門狗子模塊,、報警子模塊,、RS485接口子模塊。微控制器采用Atmel公司的AT89S52,,溫度采集采用Dallas公司的數(shù)字溫度傳感器DS18B20。上位機采用研祥工控機,,監(jiān)控軟件采用Visual Basic 6.0編程,。
    溫度采集模塊電路板固定在每個工作站的控制柜里,并將現(xiàn)場采集到的各點溫度值實時傳送給上位機,,因此,,溫度采集模塊并沒有集成LCM子模塊和鍵盤電路。

2 硬件連接
2.1 DS18B20數(shù)字溫度傳感器

    DS18B20數(shù)字溫度傳感器溫度測量范圍為-55 ℃~+125 ℃,,在-10 ℃~+85 ℃范圍內(nèi),精度為±0.5 ℃,,可實現(xiàn)9 bit~12 bit溫度讀取。DS18B20具有一線總線的特點,,可以輕松組建溫度采集網(wǎng)絡,,并且體積小、分辨率高,、抗干擾能力強,,實用性和可靠性比同類產(chǎn)品更高[1],因此,在軸承測溫[2],、凍土區(qū)公路路基溫度測量[3]等場合有著廣泛的應用,。
    DS18B20溫度寄存器中的溫度值以9 bit數(shù)據(jù)格式表示,而輸出溫度則是以16 bit符號擴展的二進制補碼形式提供,,其中低8 bit用補碼表示,,第9 bit~16 bit為擴展符號位??照{(diào)檢測系統(tǒng)所需檢測的溫度值均在0 ℃以上,,這樣,只需讀取緩存9個字節(jié)的前兩個字節(jié)即可,。
2.2 DS18B20硬件連接

 


    DS18B20器件都有一個唯一的64 bit ROM地址,,通過協(xié)議就能識別這些序列號,這樣多個DS18B20可以掛接在同一條單總線上,,構(gòu)成多點溫度采集網(wǎng)絡,。由于DS18B20具有“單總線”的技術(shù)特點,因此可以采用兩種不同的方式連接單片機,。
    (1)單端口并聯(lián)連接:所有DS18B20均連接在同一條總線上,,然后再連接到單片機的某個I/O端口。這種連接方式具有硬件開銷小的優(yōu)點,,理論上一根總線可以掛接256個DS18B20,,但若連接的數(shù)字傳感器數(shù)量較多,單片機需要花較多的時間才能獲得每個傳感器的序列號,,會降低系統(tǒng)的實時性,,同時使得軟件編程變得復雜。
    (2)多端口并行連接:每個DS18B20獨占單片機某個I/O端口,。這種并行連接方式使得單片機能夠?qū)λ械臄?shù)字傳感器進行并行操作,,同一時間能實現(xiàn)多個輸入輸出,實現(xiàn)對溫度數(shù)據(jù)的快速讀取,,從而提高系統(tǒng)的實時性,,同時也使得軟件編程變得簡單,縮短了項目的開發(fā)周期,。這種連接方式的缺點是硬件開銷比較大,。
    根據(jù)空調(diào)檢測系統(tǒng)的實際需要,系統(tǒng)使用16片DS18B20構(gòu)成小型溫度數(shù)據(jù)采集網(wǎng)絡,,結(jié)合單端口并聯(lián)連接和多端口并行連接的連接特點,,每個I/O端口連接兩片DS18B20,共使用8個I/O端口,,單片機與16片DS18B20連接框圖如圖2所示,。DS18B20芯片的DQ端和單片機的I/O端口相連,,并接上一個4.3 kΩ的上拉電阻,芯片的GND端接地線,, VDD端接5 V電源線,。AT89S52是一種低功耗、高性能CMOS 8 bit微控制器,,具有8 KB Flash,,256 B RAM,32 bit I/O口線,,3個16 bit定時器/計數(shù)器,,其資源性能可以滿足空調(diào)檢測系統(tǒng)溫度采集的需要。

    單片機需要通過接口電路實現(xiàn)與DS18B20的連接,,接口電路圖如圖3所示,。J1是接線端子臺, DS18B20通過三芯電纜連接到J1,;二極管IN4148實現(xiàn)電壓鉗位,;RWDS1和單片機AT89S52的一個I/O端口相連;16片DS18B20通過J1~J8與溫度采集模塊連接,。

3 程序設(shè)計
3.1 DS18B20溫度采集

    DS18B20溫度采集基本流程:單片機發(fā)出復位脈沖,,當信號線上的DS18B20發(fā)出存在脈沖后,即完成DS18B20的初始化工作,;單片機檢測到存在脈沖,,便發(fā)起ROM操作命令;發(fā)送內(nèi)存操作指令,,啟動DS18B20溫度轉(zhuǎn)換,;延時2 μs等待溫度轉(zhuǎn)換完成;發(fā)出匹配ROM命令后緊接著發(fā)送片內(nèi)ROM序列號,;讀取序列號對應的DS18B20暫存器,,從而讀出溫度值;讀完一個DS18B20溫度值后,,接著轉(zhuǎn)向下一個DS18B20的操作。這樣的操作循環(huán)進行,,從而完成對所有DS18B20溫度值的讀取,。溫度采集基本流程圖[1]如圖4所示。

    DS18B20作為智能集成溫度傳感器,,其智能化實現(xiàn)要以高質(zhì)量代碼作保障,。因為讀取每一個DS18B20都需要匹配序列號,復位,、讀,、寫操作都需要針對不同的I/O口,,所以,16片DS18B20經(jīng)單片機8個I/O口接入,,需要定義對應8個I/O口的變量:18b20_0~18b20_7,、18b20_0定義語句表示如下:“sbit 18b20_0=P1^0;”;需要定義8個復位(初始化)函數(shù):void re18b20_0()~void re18b20_7(),;需要定義8個寫函數(shù):void wr18b20_0(uchar ml)~void wr18b20_7(uchar ml),;需要定義8個讀函數(shù):void rd18b20_0()~void rd18b20_7()。對于單個I/O口(如P1.0),,單片機在發(fā)送溫度轉(zhuǎn)換命令后,,發(fā)送匹配命令wr18b20_0(0x55);連續(xù)調(diào)用8次寫函數(shù)發(fā)送序列號,;發(fā)送讀溫度暫存器命令wr18b20_0(0xbe),;調(diào)用讀函數(shù)rd18b20_0()讀取溫度低8 bit;經(jīng)溫度轉(zhuǎn)換函數(shù)處理后,,將溫度整數(shù)部分保存在wd[0],,小數(shù)部分保存到wd[1]。讀取另外一片DS18B20,,其溫度值的整數(shù)和小數(shù)部分分別保存到wd[2],、wd[3]。讀取P1.1端口,,溫度讀取過程相同,。所有傳感器的溫度值都保存到wd數(shù)組中,最后由單片機AT89S52按照Modbus協(xié)議發(fā)送給上位機,。
3.2 程序編寫需要注意以下幾點
    (1)單片機采用C51編程,,代碼功能模塊清晰,可讀性強,。從本應用狀況來看,,其實時性能得到保證,因此,,匯編語言不一定是最好的選擇,。
    (2)空調(diào)檢測系統(tǒng)所采集的溫度均在0 ℃以上,并且上位機軟件可以實現(xiàn)溫度報警功能,,因此,,讀函數(shù)讀取RAM寄存器只需讀取前兩個字節(jié)。
    (3)單片機和上位機軟件通信采用Modbus協(xié)議的RTU模式,,因此,,溫度轉(zhuǎn)換函數(shù)實現(xiàn)的功能就是將溫度低字節(jié)轉(zhuǎn)化為十六進制數(shù)據(jù),并保存到數(shù)組里,。
4 應用分析
    空調(diào)檢測是在一個溫濕度變化復雜,、干擾源多的空調(diào)檢測房里進行,,空調(diào)檢測系統(tǒng)包括1#~6#工作站,每個工作站均配有5臺標準室內(nèi)機,。定頻,、變頻一拖一、一拖多等機型的室外機由生產(chǎn)線運送到各站臺,,電源線,、信號線等連接完畢后,即可掃描條碼進行檢測,。檢測過程中,,上位機軟件能實時檢測溫度、壓力等參數(shù),,檢測完畢,,系統(tǒng)自動存儲各種數(shù)據(jù),如果參數(shù)不合格,,則發(fā)出報警信號,。
    基于空調(diào)檢測環(huán)境溫濕度變化復雜的現(xiàn)場狀況,數(shù)字溫度傳感器DS18B20需要采用不銹鋼外殼封裝,,以達到防水防潮目的,。DS18B20溫度采集點主要分布在室內(nèi)標準機的進風口、出風口和盤管,。測量壓縮機排氣管溫度時,,不銹鋼封裝的DS18B20需要嵌入固定到金屬夾里面,通過這樣測量方式得到的是排氣管表面溫度,,需要利用上位機軟件進行必要的數(shù)據(jù)處理,,才能得到排氣管的實際溫度。
    上位機監(jiān)控軟件采用模塊化設(shè)計,,軟件分為數(shù)據(jù)通信,、數(shù)據(jù)采集、數(shù)據(jù)顯示,、數(shù)據(jù)管理,、用戶管理模塊,并將各模塊的實現(xiàn)代碼封裝成模塊和類模塊,。需要注意的是:為了方便對DS18B20數(shù)字溫度傳感器進行安裝,、測試和維護,監(jiān)控軟件應該有針對連接溫度傳感器的I/O端口,,以及I/O端口上的溫度傳感器的測試界面。上位機監(jiān)控界面溫度顯示區(qū)如圖5所示,,圖中顯示的是某機型在制冷期間某時刻溫度值,,圖中排氣溫度1和排氣溫度2為壓縮機管溫,。

    采用DS18B20的溫度采集模塊已應用到某大型空調(diào)生產(chǎn)廠的空調(diào)檢測系統(tǒng)中,溫度采集的準確性和實時性均滿足系統(tǒng)的要求,。數(shù)字溫度傳感器DS18B20和單片機AT89S52組成的溫度采集模塊,,能同時滿足成本和技術(shù)的要求,對組建多點溫度采集網(wǎng)絡具有一定的借鑒意義,。
參考文獻
[1] 周月霞,,孫傳友.DS18B20硬件連接及軟件編程[J].傳感器世界,2001(12):25-29.
[2] 張海傳,,吳晨霞,,許東衛(wèi),等.低功耗軸承溫度無線檢測系統(tǒng)的設(shè)計[J].電子技術(shù)應用,,2009,,35(10).
[3] 何東坡,任貴波,,韓春鵬,,等.DS18B20在季凍土區(qū)公路路基溫度場測量中的應用[J].電子技術(shù)應用,2010,,36(4).
[4] 求是科技.單片機典型模塊設(shè)計實例導航[M].北京:人民郵電出版社,,2004.

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