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