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