新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單總線的分布式溫濕度監測系統設計

        基于單總線的分布式溫濕度監測系統設計

        作者: 時間:2013-01-11 來源:網絡 收藏

        引言

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

        對環境條件要求高的場合,需要精密地測量相對濕度與溫度,尤其是實驗室中很多實驗數據需要與溫濕度一一對應。然而,監測環境一般是幾十到上百平方米的范圍,僅監測一點的溫濕度是不夠的,需要分布多個傳感器節點,將各個節點的傳感結果平均值作為環境參數。通常的方法是構建RS485分布式現場總線,每個傳感器節點都需要單片機和通信器件,成本較高。
        DHT22是一款含有已校準數字信號輸出的溫濕度復合傳感器。它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性與卓越的長期穩定性。每個DHT22傳感器都在極為精確的濕度校驗室中進行校準。濕度測量范圍為0~100%RH,精度為±2%RH;溫度測量范圍為-40~125℃,精度為±0.5℃。單線制串行接口,使系統集成變得簡易快捷。DHT22具有體積小、功耗低、超快響應、抗干擾能力強、性價比高等特點,信號傳輸距離可達20 m以上,適合于分布式應用。
        但是,DHT22的不支持尋址,也就是說僅能掛接單個DHT22傳感器。若每個傳感器都單獨布線,勢必造成浪費。因此,合理的傳感器接口方式是設計的關鍵。本文采用4個DHT22智能實現分布式溫濕度的設計。
        1結構及接口設計

        系統結構及接口如圖1所示。4個DHT22傳感器需要4根數據線,加上電源和地線共6根線。系統采用雙絞線作為分布式連接線路,RJ45作為接口器件。核心板設計了4個RJ45接口,4個傳感器可分別接入4個接口。核心板的4個RJ45接口內部連接一致,當布線不超過20 m時,傳感器可采用咬尾式接口方式(即僅接入核心板的1個接口),當超過20 m時單獨布線,大幅節約了布線成本,降低了布線難度。
        也就是說,每個傳感器節點的內部結構需要具備兩個功能:①每個傳感器節點具有兩個直通連接的RJ45接口,以實現咬尾式連接;②每個傳感器節點能夠設定通信線路,因為每個傳感器獨享1根線路。
        傳感器節點內部結構框圖如圖2所示。4個傳感器DHT22的DATA引腳通過4位撥碼開關分別連接至4根數據線即可。

        2 DHT22的總線接口協議

        DHT22采用OC門單總線通信協議,因此單總線必須接上拉電阻,建議為5.1kΩ。
        對DHT22進行一次40 bit數據的通信,時間為5 ms左右,采用MSB方式,但采樣周期間隔不得低于2 s.40bit數據的數據格式為:40 bit數據=16bit濕度數據+16 bit溫度數據+8 bit校驗和(前4個字節的和)
        16 bit濕度數據為無符號數,16 bit溫度數據為有符號數原碼表示,兩數據都為放大10倍后的真實物理量值。例如:0000 0010+1000 1100+0000 0001+0101 1111=1110 1110,對應濕度=65.2%RH,溫度=35.1℃。
        用戶主機(MCU)發送一次開始信號后,DHT22從低功耗模式轉換到高速模式;主機開始信號結束后,DHT22發送響應信號,送出40 bit的數據,并觸發一次信號采集。
        DHT22的單總線握手信號時序如圖3所示。空閑時總線為高電平,通信開始時主機(MCU)拉低總線1~10ms后釋放總線,延時20~40μs后主機開始檢測從機DHT22的響應信號(一個80μs左右的低電平),隨后從機拉高總線80μs左右準備進行數據傳送。每bit數據都是由一個低電平時隙和一個高電平組成。低電平時隙固定為一個50μs左右的低電平,它代表數據位的起始;其后的高電平的長度決定數據位所代表的數值,較長的(70μs)高電平代表1,較短(26~28μs)的高電平代表0.40bit數據序列傳送完畢后,從機將再次拉低總線50μs左右,隨后釋放總線,由上拉電阻拉高。
        AVR單片機讀取單個DHT22的子程序如下:


        3核心板軟件設計

        核心板軟件包括3個部分:4個傳感器信息采集及處理、液晶顯示和PC溫濕度信息上傳。這里僅討論4個傳感器信息的采集及處理。
        單片機每隔2 s就分別讀取4個傳感器的溫度與濕度信息,并分別作平均得到溫度值和濕度值。為進一步實現準確測量,建立兩個8成員的數組,系統引入8階FIR濾波器。根據采樣頻率fs=1/(2s)=0.5 Hz,截止頻率fc=0.1 Hz,利用Matlab環境的firl函數獲取濾波器系數:b=firl(8-1,2fc/fs)
        可得:b=-0.0072 0.0000 0.1351 0.3721 0.3721 0.1351 0.0000 -0.0072軟件流程如圖4所示。

        結語

        本文采用4個DHT22單總線智能實現了分布式溫濕度的設計。系統結構簡單,安裝調試方便,在同類儀表的開發中具有廣闊的應用前景,特別適合于在工業加工的精密測試中心、實驗室以及對加工材料的存放有較高要求的環境中使用,還可以應用于居住環境的監測。本系統已經成功應用,性能穩定可靠,測量精度高,智能化程度高,使用簡便,性能價格比高,受到了用戶的普遍歡迎。


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 涞水县| 武定县| 商水县| 洮南市| 阿荣旗| 洛宁县| 赞皇县| 南川市| 宜兴市| 罗田县| 名山县| 郓城县| 铜川市| 嘉义县| 衡阳县| 临高县| 秭归县| 苍溪县| 松潘县| 舞阳县| 丹江口市| 广德县| 彭泽县| 根河市| 阜城县| 日土县| 梓潼县| 方山县| 吴旗县| 六安市| 西和县| 松溪县| 吴桥县| 辉县市| 陵川县| 横峰县| 拉萨市| 曲沃县| 邵武市| 金门县| 尉氏县|