• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 一種基于DS18B20的溫度采集新方案

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

    作者: 時(shí)間:2010-12-14 來源:網(wǎng)絡(luò) 收藏

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

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

    關(guān)鍵詞:DS18B20 AVR單片機(jī);單總線



    0 引言


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


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



    1 DS18B20簡(jiǎn)介


    1.1 概述


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


    1.2 引腳說明


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


    1.3 硬件電路


    1.3.1 寄生電源供電電路


    a.JPG



    1.3.2 外部電源供電電路



    b.JPG


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


    1.4 內(nèi)部結(jié)構(gòu)


    DS18B20內(nèi)部主要包括:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。如圖3所示:


    c.JPG



    1.4.1 64位光刻ROM


    用于存儲(chǔ)64位序列號(hào)。該序列號(hào)是DS18B20的唯一編號(hào),在出廠前被光刻在64位ROM中。DS18B20在與單片機(jī)通信時(shí),用此序列號(hào)以區(qū)別其它傳感器。64位序列號(hào)可以看作是DS18B20的地址序列碼。


    64位光刻ROM的位排列是:低8位是產(chǎn)品類型標(biāo)號(hào);接著的48位是該DS18B20的自身序列號(hào);最后高8位是低56位的循環(huán)冗余校驗(yàn)碼,該8位又被單獨(dú)提出,稱為CRC發(fā)生器,主要是實(shí)現(xiàn)串行通信中的數(shù)據(jù)校驗(yàn),判斷接收的數(shù)據(jù)是否正確。64為序列號(hào)的作用,是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20。


    1.4.2 非易失性溫度報(bào)警觸發(fā)器


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



    上一頁(yè) 1 2 3 下一頁(yè)

    關(guān)鍵詞: 18B B20 DS 18

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 迁安市| 绥宁县| 宜章县| 池州市| 恭城| 宣恩县| 桦川县| 宁武县| 平度市| 彭州市| 始兴县| 琼结县| 祁阳县| 新沂市| 侯马市| 达日县| 鄂州市| 阿图什市| 博白县| 颍上县| 化隆| 义乌市| 繁峙县| 嘉义市| 和林格尔县| 明溪县| 彰化市| 临沂市| 苏州市| 永仁县| 塔城市| 长海县| 彩票| 正宁县| 清丰县| 进贤县| 凤冈县| 水城县| 桃园市| 通化县| 江阴市|