新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 一種基于DS18B20的溫度采集新方案

        一種基于DS18B20的溫度采集新方案

        作者: 時間:2010-12-14 來源:網絡 收藏

        摘要:目前B20數據的采集方法,存在不能自動更新B20序列號和定位B20的不足,因此不能及時進行 DS18的更換。本課題利用單片機I/O端口號和DS18的溫度報警觸發器(TH和TL),作為在外部存儲器中的存儲地址和DS18的物理地址,實現了DS18B20和ROM序列號的自動更新,和溫度數據的準確定位。并給出了軟、硬件設計。

        本文引用地址:http://www.104case.com/article/195182.htm

        關鍵詞:DS18B20 AVR單片機;單總線



        0 引言


        溫度監控系統在工業、農業和醫療領域擁有很大的應用價值和前景。隨著計算機技術、測量技術和無線通信技術的發展,傳統的人工監控由于存在很多缺點,正在逐漸被電子監控所代替?,F有的一根I/O線上連接多個DS18B20的數據采集方法,在DS18B20接入系統之前,需要采用人工方式將DS18B20的64位ROM序列號逐一讀出,并在單片機程序中或外部存儲器中進行存儲。這種方法給DS18B20物理位置的確定帶來了困難,特別是當更換出現故障的DS18B20時,這個問題變得尤為突出。


        因此,本課題通過采用軟件編程與硬件設計相結合的方式,解決了在AVR單片機與DS18B20結合的測溫系統中數字傳感器的更換問題。在本課題提出的解決方案中,數據采集模塊采用低功耗AVR單片機-Atmega16、單總線數字溫度傳感器DS18B20以及外部存儲器-低能耗串行EEP-ROM。系統根據DS18B20數量的多少,可以選擇基于MAX485的有線組網,也可以選擇基于nRF905或ZigBee的分布式無線組網。



        1 DS18B20簡介


        1.1 概述


        DS18B20是由美國DALLAS(達拉斯)公司生產的高性能單線數字式溫度傳感器。該傳感器提供9到12位溫度讀數;可實現-55℃到+125℃范圍內的溫度測量,增量值為0.5℃。現場測量的溫度值通過單總線接口傳給微處理器,多個DS18B20可以存在于同一條單線總線上。因此,在實際應用中可以在多個不同的地方放置DS18B20,并將這些傳感器接在同一條單線總線上,由一個單片機進行控制。對DS18B20數字傳感器供電有兩種方式:一是寄生電源供電;二是外部電源供電。每個DS18B20在出廠時都有一個唯一的64位編號,存放在內部ROM中。


        1.2 引腳說明


        DS18B20只有三個引腳:一個是GDN(電源地);一個是VDD(當采用寄生電源供電時,VDD接地;若采用外部電源供電時,VDD接工作電源 );還有一個引腳是DQ(數據輸入/輸出引腳)。


        1.3 硬件電路


        1.3.1 寄生電源供電電路


        a.JPG



        1.3.2 外部電源供電電路



        b.JPG


        采用寄生電源供電時,VDD引腳必須接地,由I/O引腳為DS18B20提供電源電流。采用外部電源供電時,VDD接外部電源,為DS18B20提供電源電流。寄生電源有雙重優點:a.利用此引腳,遠程溫度檢測無需本地電源;b.缺少正常電源條件下也可以讀ROM。但是這種供電方式無法保證在數據轉換期間的供電,從而DS18B20無法進行精確地溫度轉換。當多個DS18B20掛在同一根I/O線上并同時進行溫度轉換時,這個問題變得更加明顯。所以本課題采用外部電源供電方式,以達到提高溫度轉換精確度的目的。


        1.4 內部結構


        DS18B20內部主要包括:64位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。如圖3所示:


        c.JPG



        1.4.1 64位光刻ROM


        用于存儲64位序列號。該序列號是DS18B20的唯一編號,在出廠前被光刻在64位ROM中。DS18B20在與單片機通信時,用此序列號以區別其它傳感器。64位序列號可以看作是DS18B20的地址序列碼。


        64位光刻ROM的位排列是:低8位是產品類型標號;接著的48位是該DS18B20的自身序列號;最后高8位是低56位的循環冗余校驗碼,該8位又被單獨提出,稱為CRC發生器,主要是實現串行通信中的數據校驗,判斷接收的數據是否正確。64為序列號的作用,是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20。


        1.4.2 非易失性溫度報警觸發器


        DS18B20的溫度報警觸發器TH和TL各由一個非易失性EEPROM字節構成,如果沒有對DS18B20使用報警搜索指令,可以作為一般的EEPROM存儲器使用。利用每個DS18B20唯一的序列號可讀取同一根I/O線上的多個DS18B20的溫度數據,利用I/O端口號和已經寫入層數信息的DS18B20的溫度報警觸發器(TH和TL),可將每個DS18B20的溫度數據和其物理位置對應起來。因此在DS18B20安裝之前,就需將DS18B20所在層的信息寫入到溫度報警觸發器(TH和TL)中。



        上一頁 1 2 3 下一頁

        關鍵詞: 18B B20 DS 18

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 仙游县| 泸水县| 蒙山县| 杨浦区| 姜堰市| 沧州市| 新闻| 饶平县| 洞口县| 中牟县| 洪洞县| 蓝田县| 双辽市| 神木县| 陈巴尔虎旗| 霍州市| 云阳县| 灵武市| 清水河县| 宁化县| 汪清县| 南昌县| 南通市| 牡丹江市| 灌云县| 景东| 临桂县| 临沂市| 闸北区| 甘谷县| 洛阳市| 衡水市| 洞口县| 循化| 马尔康县| 万州区| 出国| 汕头市| 勐海县| 宜丰县| 东方市|