林雨歆,林琦,劉娜娜,蔡建義,高勝銀,孫衛(wèi)
(西安理工大學(xué),陜西西安,710061)
隨著信息時(shí)代的到來,自動(dòng)化系統(tǒng)得到廣泛應(yīng)用,根據(jù)人們的需求其功能逐漸完善,但依然存在很多問題,使用戶體驗(yàn)感較差、滿意度較低。例如工農(nóng)業(yè)生產(chǎn)生活中,需要長時(shí)間、多點(diǎn)位的監(jiān)控環(huán)境溫濕度狀態(tài),且需具備自動(dòng)報(bào)警功能,若要實(shí)現(xiàn)較密集的采集多個(gè)監(jiān)測點(diǎn)溫濕度狀態(tài),目前依然面臨很多困難:
(1)監(jiān)控范圍廣、時(shí)間長,監(jiān)控點(diǎn)位多;
(2)溫濕度數(shù)據(jù)監(jiān)控精度要求越來越高;
(3)溫濕度采集數(shù)據(jù)量大,不便于記錄與日后分析。
上述問題來源于某大學(xué)圖書館實(shí)地考察,為解決這些問題,本文設(shè)計(jì)制作了基于MSP430的單總線多點(diǎn)位溫濕度監(jiān)控系統(tǒng),該系統(tǒng)具備溫濕度數(shù)據(jù)采集、顯示、報(bào)警、記錄功能,實(shí)現(xiàn)對該大學(xué)圖書館全方位、多點(diǎn)位溫濕度實(shí)時(shí)監(jiān)控、記錄和保存。
本文設(shè)計(jì)的溫濕度監(jiān)控系統(tǒng)由MSP430單片機(jī)、DHT22單總線溫濕度傳感器、液晶顯示屏等組成,系統(tǒng)原理如圖1所示。系統(tǒng)采用單總線形式,由于測量探頭結(jié)構(gòu)簡單,系統(tǒng)板與采集模塊采用單總線進(jìn)行通訊,采集模塊選用干電池供電的DHT22單總線溫濕度傳感器,便于監(jiān)控采集點(diǎn)的設(shè)置。系統(tǒng)按照每分鐘一次的頻率對環(huán)境的溫濕度進(jìn)行檢測,將采集的溫濕度信息,一方面通過主控芯片記錄在MSP430系統(tǒng)的存儲(chǔ)區(qū),另一方面通過串口彩色液晶屏進(jìn)行實(shí)時(shí)顯示,當(dāng)某路采集溫濕度超出設(shè)定值時(shí),在顯示屏上出現(xiàn)報(bào)警提示。同時(shí),利用PC機(jī)實(shí)現(xiàn)對環(huán)境溫濕度數(shù)據(jù)的實(shí)時(shí)查詢、數(shù)據(jù)整理、繪制數(shù)據(jù)曲線以及對歷史存儲(chǔ)數(shù)據(jù)的分析、導(dǎo)入、導(dǎo)出和實(shí)時(shí)顯示等功能。

圖1 系統(tǒng)原理框圖
主控芯片采用MSP430單片機(jī),該型單片機(jī)功耗小且集成了較豐富的片內(nèi)外設(shè),在溫濕度監(jiān)控系統(tǒng)中,當(dāng)系統(tǒng)程序失控時(shí)可以實(shí)現(xiàn)迅速復(fù)位,其內(nèi)部的16位定時(shí)器具有捕獲、比較功能,完成實(shí)際測試溫濕度與設(shè)定溫濕度數(shù)值的比較,判斷溫濕度是否在合格范圍內(nèi),滿足本系統(tǒng)設(shè)計(jì)需求。
本系統(tǒng)采用單總線技術(shù)(1-Wire Bus),其采用單根信號(hào)線,對數(shù)據(jù)進(jìn)行雙向傳輸,以及系統(tǒng)控制通訊功能,其內(nèi)部等效電路如圖2所示。

圖2 單總線硬件接口示意圖
單總線要求外接一個(gè)約4.7kΩ的上拉電阻,這樣當(dāng)總線閑置時(shí),狀態(tài)為高電平。如果出現(xiàn)序列混亂,1-wire器件不會(huì)響應(yīng)主機(jī)。
在溫濕度監(jiān)控系統(tǒng)中,采用液晶顯示屏提升了溫濕度監(jiān)控系統(tǒng)交互性、體驗(yàn)性,便于使用者對溫濕度變化情況進(jìn)行分析和控制。本系統(tǒng)采用SPI串口液晶屏, SPI串口接收MSP430單片機(jī)串口發(fā)送的指令,若指令符合通訊協(xié)議即可實(shí)現(xiàn)溫濕度數(shù)據(jù)的實(shí)時(shí)顯示功能。
本文設(shè)計(jì)的溫濕度監(jiān)控系統(tǒng),要實(shí)現(xiàn)對環(huán)境溫濕度的監(jiān)控、管理功能,首先對溫濕度及其變化信息進(jìn)行采集,然后通過數(shù)字信號(hào)與模擬信號(hào)之間的有效轉(zhuǎn)換,將數(shù)據(jù)傳輸至溫濕度監(jiān)控系統(tǒng)主控平臺(tái)— MSP430單片機(jī),實(shí)現(xiàn)數(shù)據(jù)分析和利用。DHT22傳感器滿足設(shè)計(jì)需求,其外形如圖3所示。

圖3 DHT22傳感器
DHT22溫濕度傳感器屬復(fù)合型傳感器,能夠與MSP430單片機(jī)進(jìn)行有效連接。DHT22溫濕度傳感器體量小,且信號(hào)傳輸距離較遠(yuǎn),在溫濕度監(jiān)控系統(tǒng)中適用性強(qiáng)。同時(shí),DHT22溫濕度傳感器也具有輸出信號(hào)準(zhǔn)確率高、抗干擾、低功耗等優(yōu)勢,可有效提升本文所設(shè)計(jì)的溫濕度監(jiān)控系統(tǒng)的綜合性能。DHT22技術(shù)參數(shù)如表1所示,引腳分配如表2所示。

表1 DHT22技術(shù)參數(shù)

表2 DHT22引腳分配
系統(tǒng)采用單總線數(shù)據(jù)格式,一次通訊時(shí)間為4ms左右,數(shù)據(jù)分小數(shù)和整數(shù)部分,操作流程為:數(shù)據(jù)傳輸一次為40bit,高位先出。用戶發(fā)送開始信號(hào)后,DHT22從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號(hào)結(jié)束后,DHT22發(fā)送響應(yīng)信號(hào),并觸發(fā)一次采集信號(hào),DHT22不會(huì)主動(dòng)進(jìn)行溫濕度采集,采集數(shù)據(jù)后轉(zhuǎn)換到低速模式,通訊過程如圖4所示。

圖4 通訊過程
當(dāng)總線處于空閑狀態(tài)時(shí)其為高電平,此時(shí)主機(jī)把總線拉低,然后等待DHT22響應(yīng),主機(jī)把總線拉低必須大于18ms,使DHT22能檢測到開始信號(hào),DHT22接收到主機(jī)發(fā)送的開始信號(hào)后,輸出低電平響應(yīng)信號(hào),主機(jī)發(fā)送開始信號(hào)后,延時(shí)等待(20-40)μs后,讀取DHT22的響應(yīng)信號(hào),信號(hào)響應(yīng)過程如圖5所示。

圖5 信號(hào)響應(yīng)過程
當(dāng)總線為低電平,說明DHT22發(fā)送了響應(yīng)信號(hào), 如果讀取響應(yīng)信號(hào)為高電平,則DHT22沒有響應(yīng),此時(shí)則要檢查線路是否連接正常,當(dāng)最后一bit數(shù)據(jù)傳送完畢后,DHT22拉低總線50μs,然后總線由上拉電阻拉高從而進(jìn)入空閑狀態(tài)。
根據(jù)單片機(jī)、溫濕度傳感器以及其他模塊對電流、電壓的要求,需對220V交流電壓進(jìn)行降壓處理,使其在橋式整流電路作用下,由220V交流電壓轉(zhuǎn)變?yōu)楸鞠到y(tǒng)所需要的 5V直流電壓,為系統(tǒng)單片機(jī)、溫濕度傳感器供電,電源部件較為簡單,此處不予贅述。
系統(tǒng)軟件由上位機(jī)軟件和下位機(jī)軟件組成,下位機(jī)軟件是指燒錄至MSP430的軟件,上位機(jī)采用LabVIEW編制的上位機(jī)軟件,上位機(jī)和下位機(jī)通過串口進(jìn)行數(shù)據(jù)交換。
下位機(jī)軟件采用C語言編程,實(shí)現(xiàn)對外圍溫濕度數(shù)據(jù)的實(shí)時(shí)采集,一方面通過串口將數(shù)據(jù)顯示在液晶顯示屏上,若滿足報(bào)警條件時(shí)則給出報(bào)警信號(hào),另一方面將數(shù)據(jù)存儲(chǔ)在Flash中;當(dāng)上位機(jī)有上傳的命令時(shí),下位機(jī)則把存儲(chǔ)在Flash中的數(shù)據(jù)通過串口上傳至上位機(jī)中。軟件流程如圖6所示。

圖6 軟件流程
利用MSP430某個(gè)IO口實(shí)現(xiàn)單總線的功能,對單總線的操作嚴(yán)格按照芯片的時(shí)序圖進(jìn)行,操作單總線時(shí)關(guān)閉中斷。采集溫濕度的核心代碼,如函數(shù)1、2所示。
函數(shù)1:通過單總線讀取一個(gè)字節(jié)的數(shù)據(jù)


上位機(jī)軟件采用LabVIEW編制,實(shí)現(xiàn)從下位機(jī)中獲取數(shù)據(jù),并保存和分析數(shù)據(jù),在終端呈現(xiàn)給用戶,軟件流程如圖7所示;在系統(tǒng)D盤中采用Excel建立“溫濕度記錄表”,用于記錄由下位機(jī)上傳的數(shù)據(jù),便于日后檢查與存檔,如圖8所示;溫濕度數(shù)據(jù)曲線顯示如圖9所示。

圖7 軟件流程

圖8 溫濕度記錄生成文件夾

圖9 溫濕度數(shù)據(jù)曲線顯示
本系統(tǒng)采用IPS屏幕技術(shù),溫濕度測試采用經(jīng)過校準(zhǔn)的溫濕度計(jì)與系統(tǒng)測試結(jié)果進(jìn)行對比驗(yàn)證,經(jīng)20個(gè)點(diǎn)位的對比試驗(yàn),溫度誤差±0.3℃以內(nèi),濕度誤差5%以內(nèi),符合設(shè)計(jì)要求。系統(tǒng)溫濕度采集、顯示正常界面如圖10所示,故障界面如圖11所示。

圖10 正常界面

圖11 故障界面
本文利用MSP430、DHT22、IPS,通過單總線系統(tǒng),利用C語言編程以及LabVIEW軟件編制技術(shù)設(shè)計(jì)了一款多點(diǎn)位溫濕度監(jiān)控系統(tǒng),實(shí)現(xiàn)對環(huán)境溫濕度參數(shù)的有效收集,完成溫濕度檢測、報(bào)警、可視化顯示、自動(dòng)存儲(chǔ)等功能,滿足某大學(xué)圖書館溫濕度多點(diǎn)位、實(shí)時(shí)監(jiān)控管理需求。該系統(tǒng)可推廣應(yīng)用于博物館、醫(yī)院、現(xiàn)代化農(nóng)業(yè)大棚等場所。下一步將在此基礎(chǔ)上增加遠(yuǎn)程傳輸功能,提升系統(tǒng)綜合性能和應(yīng)用范圍。