產(chǎn)品中心 應(yīng)用方案 技術(shù)文摘質(zhì)量保證產(chǎn)品選型 下載中心業(yè)內(nèi)動態(tài) 選型幫助 品牌介紹 產(chǎn)品一覽 聯(lián)系我們
- 單總線傳感器DHT11在溫溫度測控中的應(yīng)用
- 來源:賽斯維傳感器網(wǎng) 發(fā)表于 2011/5/18
引言
隨著科技的不斷發(fā)展,汽車、空調(diào)、除濕器、烘干機(jī)等種類繁多的電器都已進(jìn)入人們的日常生活,而這些電器設(shè)備很多都離不開對溫度、濕度等環(huán)境因素的要求。因此,溫度、濕度傳感器用途越來越廣泛。新一代的數(shù)字傳感器不再需要外置的A/D轉(zhuǎn)換模塊,并具有標(biāo)準(zhǔn)接口,使用方便,得到了越來越多的應(yīng)用。DHT11作為一種新型的單總線溫濕度數(shù)字傳感器,具有更多的優(yōu)點,它使系統(tǒng)設(shè)計更加簡單,控制方便,易于實現(xiàn)。
1 單總線通信簡介
目前常用的微機(jī)與外設(shè)之間進(jìn)行數(shù)據(jù)傳輸?shù)拇锌偩主要有I2C總線、SPI總線和SCI總線。其中I2C總線以同步串行兩線方式進(jìn)行通信(1條時鐘線,1條數(shù)據(jù)線),SPI總線則以同步串行三線方式進(jìn)行通信(1條時鐘線,1條數(shù)據(jù)輸入線,1條數(shù)據(jù)輸出線),而SCI總線是以異步方式進(jìn)行通信的(1條數(shù)據(jù)輸入線,1條數(shù)據(jù)輸出線)。這些總線至少需要兩條或兩條以上的信號線。近年來,美國的達(dá)拉斯半導(dǎo)體公司(Dallas Semiconductor)推出了一項特有的單總線(1-wire Bus)技術(shù)。該技術(shù)與上述總線不同。它采用單根信號線,既可傳輸時鐘,又能傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單總線技術(shù)具有線路簡單、硬件開銷少、成本低、便于總線擴(kuò)展和維護(hù)等優(yōu)點。
單總線適用于單主機(jī)系統(tǒng),能夠控制一個或多個從機(jī)設(shè)備。主機(jī)可以是微控制器,從機(jī)是單總線器件,它們之間的數(shù)據(jù)交換只通過1條信號線。當(dāng)只有1個從機(jī)設(shè)備時,系統(tǒng)可按單節(jié)點系統(tǒng)操作;當(dāng)有多個從機(jī)設(shè)備時,系統(tǒng)則按多節(jié)點系統(tǒng)操作。
2 DHT11的主要特點及引腳說明
廣州奧松電子有限公司新近推出的DHT11數(shù)字溫濕度傳感器,是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),具有很高的可靠性與穩(wěn)定性。DHT11傳感器包括1個電阻式感濕元件和1個NTC測溫元件,并與1個高性能8位單片機(jī)相連接。單線制串行接口,使系統(tǒng)連接可以更簡潔。功耗極低,信號傳輸距離可達(dá)20 m以上。作為一種新型的單總線數(shù)字溫濕度傳感器,DHT11具有體積小、功耗低、響應(yīng)速度快、抗干擾能力強(qiáng)、控制簡單、性價比高等優(yōu)點,能夠廣泛應(yīng)用于各個領(lǐng)域。其基本指標(biāo)如下:
◆溫濕度復(fù)合傳感器;
◆全量程標(biāo)定校準(zhǔn),單線數(shù)字輸出;
◆濕度測量范圍為20%~90%RH;
◆溫度測量范圍為0~+50℃;
◆濕度測量精度為±5.0%RH;
◆溫度測量精度為±1.0℃;
◆響應(yīng)時間<5 s;
◆低功耗;
◆超長的信號傳輸距離;
◆出色的長期穩(wěn)定性;
◆超小體積。
DHT11采用4針單排引腳封裝,電路連接方便,引腳說明如表1所列。
DATA是用于微處理器與DHT11之間的通信和同步的串行雙向接口,采用單總線數(shù)據(jù)格式。每次通信都是以高位先出的順序傳輸40位數(shù)據(jù),用時約為4 ms。數(shù)據(jù)格式為:
8位濕度整數(shù)數(shù)據(jù)+8位濕度小數(shù)數(shù)據(jù)+8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)+8位校驗和數(shù)據(jù)
數(shù)據(jù)分小數(shù)部分和整數(shù)部分,當(dāng)前小數(shù)部分用于以后擴(kuò)展,現(xiàn)讀出為零。
數(shù)據(jù)傳送正確時,校驗和數(shù)據(jù)等于“8位濕度整數(shù)數(shù)據(jù)+8位濕度小數(shù)數(shù)據(jù)+8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。
3 典型應(yīng)用電路
DHT11與微處理器的電路連接非常簡單,典型應(yīng)用電路如圖1所示。
數(shù)據(jù)線長度短于20 m時可以使用5 kΩ上拉電阻,大于20 m時可根據(jù)實際情況使用合適的上拉電阻。
MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40位的測量數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分?jǐn)?shù)據(jù)。DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機(jī)發(fā)送開始信號,DHT11不會主動進(jìn)行溫濕度采集。采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。
4 時序說明
通信過程非常簡單,如圖2所示(圖2~圖5中實線為主機(jī)信號,虛線為DHT信號)。首先主機(jī)(微處理器)在數(shù)據(jù)線上發(fā)出開始信號,DHT11在檢測到此信號后回復(fù)響應(yīng)信號,并拉高數(shù)據(jù)線電平,開始向主機(jī)發(fā)送測量得到的數(shù)據(jù)。數(shù)據(jù)發(fā)送完畢后,釋放總線。
詳細(xì)時序如圖3所示?偩空閑狀態(tài)為高電平。需要讀取DHT11的測量數(shù)據(jù)時,主機(jī)先把總線拉低18 ms以上的低電平,這就是主機(jī)發(fā)出的開始信號。當(dāng)DHT11檢測到總線上的開始信號時,在主機(jī)開始信號結(jié)束后發(fā)送80μs低電平的響應(yīng)信號。主機(jī)發(fā)送完開始信號,延時等待20~40μs后,從總線讀取DHT11的響應(yīng)信號。如果讀取響應(yīng)信號為高電平,說明DHT11沒有響應(yīng),請檢查線路是否連接正常。如果總線為低電平,說明DHT11正常發(fā)送了響應(yīng)信號。
DHT11發(fā)送完響應(yīng)信號后,將總線拉高80μs,準(zhǔn)備發(fā)送數(shù)據(jù)。每一位數(shù)據(jù)都以50μs低電平時隙開始,以高電平的時長來區(qū)分?jǐn)?shù)據(jù)位是0或1,26~28μs的高電平表示0,70μs的高電平表示1(具體格式見圖4和圖5)。當(dāng)最后一位數(shù)據(jù)傳送完畢后,DHT11拉低總線50μs,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。
數(shù)字0信號表示方法如圖4所示,數(shù)字1信號表示方法如圖5所示。
溫濕度讀取子程序如下:
5 基于DHT11的倉庫溫濕度測控系統(tǒng)應(yīng)用實例
DHT11已被成功地應(yīng)用到了倉庫管理控制系統(tǒng)中。如圖6所示,采用STC89C52RC處理器實現(xiàn)對DHT11的控制,按照DHT11的時序在數(shù)據(jù)線上發(fā)送起始信號,再從數(shù)據(jù)線讀取DHT11的測量數(shù)據(jù)。將這些數(shù)據(jù)進(jìn)行分析處理,一路送至數(shù)碼管顯示,另一路通過RS232口送至計算機(jī)。也可以將測量數(shù)據(jù)存入單片機(jī)內(nèi)的Flash中,以備查閱。如果測量數(shù)據(jù)顯示當(dāng)前庫內(nèi)的溫濕度超出了倉庫設(shè)定溫濕度范圍,則單片機(jī)SFC89C52RC將產(chǎn)生報警信號。將該報警信號一路接人報警裝置中觸發(fā)報警,另一路控制繼電器打開抽濕機(jī)和空調(diào)的電源來調(diào)節(jié)庫內(nèi)溫度和濕度。這樣便有效地實現(xiàn)了DHT11對倉庫溫濕度的控制,完善了對倉庫的管理。
結(jié) 語
作者對DHT11與DS18820及一些水銀溫濕度測量器的測量數(shù)據(jù)進(jìn)行了比較,驗證了DHT11測量數(shù)據(jù)的準(zhǔn)確性和穩(wěn)定性。低廉的價格、小巧的體積、準(zhǔn)確穩(wěn)定的測量數(shù)據(jù)、簡單的單總線控制方式、簡潔的電路連接,這些將使DHT11擁有良好的應(yīng)用前景。
轉(zhuǎn)載請注明來源:賽斯維傳感器網(wǎng)(www.jsxlzzp.com)
- 如果本文收錄的圖片文字侵犯了您的權(quán)益,請及時與我們聯(lián)系,我們將在24內(nèi)核實刪除,謝謝!