基于單總線的分布式溫濕度監(jiān)測系統(tǒng)設計
引言
本文引用地址:http://m.butianyuan.cn/article/257187.htm對環(huán)境條件要求高的場合,需要精密地測量相對濕度與溫度,尤其是實驗室中很多實驗數(shù)據(jù)需要與溫濕度一一對應。然而,監(jiān)測環(huán)境一般是幾十到上百平方米的范圍,僅監(jiān)測一點的溫濕度是不夠的,需要分布多個傳感器節(jié)點,將各個節(jié)點的傳感結(jié)果平均值作為環(huán)境參數(shù)。通常的方法是構(gòu)建RS485分布式現(xiàn)場總線,每個傳感器節(jié)點都需要單片機和通信器件,成本較高。
DHT22數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器。它應用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。每個DHT22傳感器都在極為精確的濕度校驗室中進行校準。濕度測量范圍為0~100%RH,精度為±2%RH;溫度測量范圍為-40~125℃,精度為±0.5℃。單線制串行接口,使系統(tǒng)集成變得簡易快捷。DHT22具有體積小、功耗低、超快響應、抗干擾能力強、性價比高等特點,信號傳輸距離可達20 m以上,適合于分布式應用。
但是,DHT22的單總線不支持尋址,也就是說單總線僅能掛接單個DHT22傳感器。若每個傳感器都單獨布線,勢必造成浪費。因此,合理的傳感器接口方式是設計的關鍵。本文采用4個DHT22單總線智能溫濕度傳感器實現(xiàn)分布式溫濕度監(jiān)測系統(tǒng)的設計。
1監(jiān)測系統(tǒng)結(jié)構(gòu)及接口設計
系統(tǒng)結(jié)構(gòu)及接口如圖1所示。4個DHT22傳感器需要4根數(shù)據(jù)線,加上電源和地線共6根線。系統(tǒng)采用雙絞線作為分布式連接線路,RJ45作為接口器件。核心板設計了4個RJ45接口,4個傳感器可分別接入4個接口。核心板的4個RJ45接口內(nèi)部連接一致,當布線不超過20 m時,傳感器可采用咬尾式接口方式(即僅接入核心板的1個接口),當超過20 m時單獨布線,大幅節(jié)約了布線成本,降低了布線難度。
系統(tǒng)結(jié)構(gòu)及接口如圖1所示。4個DHT22傳感器需要4根數(shù)據(jù)線,加上電源和地線共6根線。系統(tǒng)采用雙絞線作為分布式連接線路,RJ45作為接口器件。核心板設計了4個RJ45接口,4個傳感器可分別接入4個接口。核心板的4個RJ45接口內(nèi)部連接一致,當布線不超過20 m時,傳感器可采用咬尾式接口方式(即僅接入核心板的1個接口),當超過20 m時單獨布線,大幅節(jié)約了布線成本,降低了布線難度。
也就是說,每個傳感器節(jié)點的內(nèi)部結(jié)構(gòu)需要具備兩個功能:①每個傳感器節(jié)點具有兩個直通連接的RJ45接口,以實現(xiàn)咬尾式連接;②每個傳感器節(jié)點能夠設定通信線路,因為每個傳感器獨享1根線路。
傳感器節(jié)點內(nèi)部結(jié)構(gòu)框圖如圖2所示。4個傳感器DHT22的DATA引腳通過4位撥碼開關分別連接至4根數(shù)據(jù)線即可。
2 DHT22的總線接口協(xié)議
DHT22采用OC門單總線通信協(xié)議,因此單總線必須接上拉電阻,建議為5.1kΩ。
DHT22采用OC門單總線通信協(xié)議,因此單總線必須接上拉電阻,建議為5.1kΩ。
對DHT22進行一次40 bit數(shù)據(jù)的通信,時間為5 ms左右,采用MSB方式,但采樣周期間隔不得低于2 s.40bit數(shù)據(jù)的數(shù)據(jù)格式為:40 bit數(shù)據(jù)=16bit濕度數(shù)據(jù)+16 bit溫度數(shù)據(jù)+8 bit校驗和(前4個字節(jié)的和)
16 bit濕度數(shù)據(jù)為無符號數(shù),16 bit溫度數(shù)據(jù)為有符號數(shù)原碼表示,兩數(shù)據(jù)都為放大10倍后的真實物理量值。例如:0000 0010+1000 1100+0000 0001+0101 1111=1110 1110,對應濕度=65.2%RH,溫度=35.1℃。
用戶主機(MCU)發(fā)送一次開始信號后,DHT22從低功耗模式轉(zhuǎn)換到高速模式;主機開始信號結(jié)束后,DHT22發(fā)送響應信號,送出40 bit的數(shù)據(jù),并觸發(fā)一次信號采集。
DHT22的單總線握手信號時序如圖3所示??臻e時總線為高電平,通信開始時主機(MCU)拉低總線1~10ms后釋放總線,延時20~40μs后主機開始檢測從機DHT22的響應信號(一個80μs左右的低電平),隨后從機拉高總線80μs左右準備進行數(shù)據(jù)傳送。每bit數(shù)據(jù)都是由一個低電平時隙和一個高電平組成。低電平時隙固定為一個50μs左右的低電平,它代表數(shù)據(jù)位的起始;其后的高電平的長度決定數(shù)據(jù)位所代表的數(shù)值,較長的(70μs)高電平代表1,較短(26~28μs)的高電平代表0.40bit數(shù)據(jù)序列傳送完畢后,從機將再次拉低總線50μs左右,隨后釋放總線,由上拉電阻拉高。
AVR單片機讀取單個DHT22的子程序如下:
3核心板軟件設計
核心板軟件包括3個部分:4個傳感器信息采集及處理、液晶顯示和PC溫濕度信息上傳。這里僅討論4個傳感器信息的采集及處理。
3核心板軟件設計
核心板軟件包括3個部分:4個傳感器信息采集及處理、液晶顯示和PC溫濕度信息上傳。這里僅討論4個傳感器信息的采集及處理。
單片機每隔2 s就分別讀取4個傳感器的溫度與濕度信息,并分別作平均得到溫度值和濕度值。為進一步實現(xiàn)準確測量,建立兩個8成員的數(shù)組,系統(tǒng)引入8階FIR濾波器。根據(jù)采樣頻率fs=1/(2s)=0.5 Hz,截止頻率fc=0.1 Hz,利用Matlab環(huán)境的firl函數(shù)獲取濾波器系數(shù):b=firl(8-1,2fc/fs)
可得:b=-0.0072 0.0000 0.1351 0.3721 0.3721 0.1351 0.0000 -0.0072軟件流程如圖4所示。
結(jié)語
本文采用4個DHT22單總線智能溫濕度傳感器實現(xiàn)了分布式溫濕度監(jiān)測系統(tǒng)的設計。系統(tǒng)結(jié)構(gòu)簡單,安裝調(diào)試方便,在同類儀表的開發(fā)中具有廣闊的應用前景,特別適合于在工業(yè)加工的精密測試中心、實驗室以及對加工材料的存放有較高要求的環(huán)境中使用,還可以應用于居住環(huán)境的監(jiān)測。本系統(tǒng)已經(jīng)成功應用,性能穩(wěn)定可靠,測量精度高,智能化程度高,使用簡便,性能價格比高,受到了用戶的普遍歡迎。
本文采用4個DHT22單總線智能溫濕度傳感器實現(xiàn)了分布式溫濕度監(jiān)測系統(tǒng)的設計。系統(tǒng)結(jié)構(gòu)簡單,安裝調(diào)試方便,在同類儀表的開發(fā)中具有廣闊的應用前景,特別適合于在工業(yè)加工的精密測試中心、實驗室以及對加工材料的存放有較高要求的環(huán)境中使用,還可以應用于居住環(huán)境的監(jiān)測。本系統(tǒng)已經(jīng)成功應用,性能穩(wěn)定可靠,測量精度高,智能化程度高,使用簡便,性能價格比高,受到了用戶的普遍歡迎。
評論