林雨歆,林琦,劉娜娜,蔡建義,高勝銀,孫衛(wèi)
(西安理工大學(xué),陜西西安,710061)
隨著信息時代的到來,自動化系統(tǒng)得到廣泛應(yīng)用,根據(jù)人們的需求其功能逐漸完善,但依然存在很多問題,使用戶體驗感較差、滿意度較低。例如工農(nóng)業(yè)生產(chǎn)生活中,需要長時間、多點位的監(jiān)控環(huán)境溫濕度狀態(tài),且需具備自動報警功能,若要實現(xiàn)較密集的采集多個監(jiān)測點溫濕度狀態(tài),目前依然面臨很多困難:
(1)監(jiān)控范圍廣、時間長,監(jiān)控點位多;
(2)溫濕度數(shù)據(jù)監(jiān)控精度要求越來越高;
(3)溫濕度采集數(shù)據(jù)量大,不便于記錄與日后分析。
上述問題來源于某大學(xué)圖書館實地考察,為解決這些問題,本文設(shè)計制作了基于MSP430的單總線多點位溫濕度監(jiān)控系統(tǒng),該系統(tǒng)具備溫濕度數(shù)據(jù)采集、顯示、報警、記錄功能,實現(xiàn)對該大學(xué)圖書館全方位、多點位溫濕度實時監(jiān)控、記錄和保存。
本文設(shè)計的溫濕度監(jiān)控系統(tǒng)由MSP430單片機、DHT22單總線溫濕度傳感器、液晶顯示屏等組成,系統(tǒng)原理如圖1所示。系統(tǒng)采用單總線形式,由于測量探頭結(jié)構(gòu)簡單,系統(tǒng)板與采集模塊采用單總線進行通訊,采集模塊選用干電池供電的DHT22單總線溫濕度傳感器,便于監(jiān)控采集點的設(shè)置。系統(tǒng)按照每分鐘一次的頻率對環(huán)境的溫濕度進行檢測,將采集的溫濕度信息,一方面通過主控芯片記錄在MSP430系統(tǒng)的存儲區(qū),另一方面通過串口彩色液晶屏進行實時顯示,當(dāng)某路采集溫濕度超出設(shè)定值時,在顯示屏上出現(xiàn)報警提示。同時,利用PC機實現(xiàn)對環(huán)境溫濕度數(shù)據(jù)的實時查詢、數(shù)據(jù)整理、繪制數(shù)據(jù)曲線以及對歷史存儲數(shù)據(jù)的分析、導(dǎo)入、導(dǎo)出和實時顯示等功能。
圖1 系統(tǒng)原理框圖
主控芯片采用MSP430單片機,該型單片機功耗小且集成了較豐富的片內(nèi)外設(shè),在溫濕度監(jiān)控系統(tǒng)中,當(dāng)系統(tǒng)程序失控時可以實現(xiàn)迅速復(fù)位,其內(nèi)部的16位定時器具有捕獲、比較功能,完成實際測試溫濕度與設(shè)定溫濕度數(shù)值的比較,判斷溫濕度是否在合格范圍內(nèi),滿足本系統(tǒng)設(shè)計需求。
本系統(tǒng)采用單總線技術(shù)(1-Wire Bus),其采用單根信號線,對數(shù)據(jù)進行雙向傳輸,以及系統(tǒng)控制通訊功能,其內(nèi)部等效電路如圖2所示。
圖2 單總線硬件接口示意圖
單總線要求外接一個約4.7kΩ的上拉電阻,這樣當(dāng)總線閑置時,狀態(tài)為高電平。如果出現(xiàn)序列混亂,1-wire器件不會響應(yīng)主機。
在溫濕度監(jiān)控系統(tǒng)中,采用液晶顯示屏提升了溫濕度監(jiān)控系統(tǒng)交互性、體驗性,便于使用者對溫濕度變化情況進行分析和控制。本系統(tǒng)采用SPI串口液晶屏, SPI串口接收MSP430單片機串口發(fā)送的指令,若指令符合通訊協(xié)議即可實現(xiàn)溫濕度數(shù)據(jù)的實時顯示功能。
本文設(shè)計的溫濕度監(jiān)控系統(tǒng),要實現(xiàn)對環(huán)境溫濕度的監(jiān)控、管理功能,首先對溫濕度及其變化信息進行采集,然后通過數(shù)字信號與模擬信號之間的有效轉(zhuǎn)換,將數(shù)據(jù)傳輸至溫濕度監(jiān)控系統(tǒng)主控平臺— MSP430單片機,實現(xiàn)數(shù)據(jù)分析和利用。DHT22傳感器滿足設(shè)計需求,其外形如圖3所示。
圖3 DHT22傳感器
DHT22溫濕度傳感器屬復(fù)合型傳感器,能夠與MSP430單片機進行有效連接。DHT22溫濕度傳感器體量小,且信號傳輸距離較遠,在溫濕度監(jiān)控系統(tǒng)中適用性強。同時,DHT22溫濕度傳感器也具有輸出信號準(zhǔn)確率高、抗干擾、低功耗等優(yōu)勢,可有效提升本文所設(shè)計的溫濕度監(jiān)控系統(tǒng)的綜合性能。DHT22技術(shù)參數(shù)如表1所示,引腳分配如表2所示。
表1 DHT22技術(shù)參數(shù)
表2 DHT22引腳分配
系統(tǒng)采用單總線數(shù)據(jù)格式,一次通訊時間為4ms左右,數(shù)據(jù)分小數(shù)和整數(shù)部分,操作流程為:數(shù)據(jù)傳輸一次為40bit,高位先出。用戶發(fā)送開始信號后,DHT22從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,DHT22發(fā)送響應(yīng)信號,并觸發(fā)一次采集信號,DHT22不會主動進行溫濕度采集,采集數(shù)據(jù)后轉(zhuǎn)換到低速模式,通訊過程如圖4所示。
圖4 通訊過程
當(dāng)總線處于空閑狀態(tài)時其為高電平,此時主機把總線拉低,然后等待DHT22響應(yīng),主機把總線拉低必須大于18ms,使DHT22能檢測到開始信號,DHT22接收到主機發(fā)送的開始信號后,輸出低電平響應(yīng)信號,主機發(fā)送開始信號后,延時等待(20-40)μs后,讀取DHT22的響應(yīng)信號,信號響應(yīng)過程如圖5所示。
圖5 信號響應(yīng)過程
當(dāng)總線為低電平,說明DHT22發(fā)送了響應(yīng)信號, 如果讀取響應(yīng)信號為高電平,則DHT22沒有響應(yīng),此時則要檢查線路是否連接正常,當(dāng)最后一bit數(shù)據(jù)傳送完畢后,DHT22拉低總線50μs,然后總線由上拉電阻拉高從而進入空閑狀態(tài)。
根據(jù)單片機、溫濕度傳感器以及其他模塊對電流、電壓的要求,需對220V交流電壓進行降壓處理,使其在橋式整流電路作用下,由220V交流電壓轉(zhuǎn)變?yōu)楸鞠到y(tǒng)所需要的 5V直流電壓,為系統(tǒng)單片機、溫濕度傳感器供電,電源部件較為簡單,此處不予贅述。
系統(tǒng)軟件由上位機軟件和下位機軟件組成,下位機軟件是指燒錄至MSP430的軟件,上位機采用LabVIEW編制的上位機軟件,上位機和下位機通過串口進行數(shù)據(jù)交換。
下位機軟件采用C語言編程,實現(xiàn)對外圍溫濕度數(shù)據(jù)的實時采集,一方面通過串口將數(shù)據(jù)顯示在液晶顯示屏上,若滿足報警條件時則給出報警信號,另一方面將數(shù)據(jù)存儲在Flash中;當(dāng)上位機有上傳的命令時,下位機則把存儲在Flash中的數(shù)據(jù)通過串口上傳至上位機中。軟件流程如圖6所示。
圖6 軟件流程
利用MSP430某個IO口實現(xiàn)單總線的功能,對單總線的操作嚴格按照芯片的時序圖進行,操作單總線時關(guān)閉中斷。采集溫濕度的核心代碼,如函數(shù)1、2所示。
函數(shù)1:通過單總線讀取一個字節(jié)的數(shù)據(jù)
上位機軟件采用LabVIEW編制,實現(xiàn)從下位機中獲取數(shù)據(jù),并保存和分析數(shù)據(jù),在終端呈現(xiàn)給用戶,軟件流程如圖7所示;在系統(tǒng)D盤中采用Excel建立“溫濕度記錄表”,用于記錄由下位機上傳的數(shù)據(jù),便于日后檢查與存檔,如圖8所示;溫濕度數(shù)據(jù)曲線顯示如圖9所示。
圖7 軟件流程
圖8 溫濕度記錄生成文件夾
圖9 溫濕度數(shù)據(jù)曲線顯示
本系統(tǒng)采用IPS屏幕技術(shù),溫濕度測試采用經(jīng)過校準(zhǔn)的溫濕度計與系統(tǒng)測試結(jié)果進行對比驗證,經(jīng)20個點位的對比試驗,溫度誤差±0.3℃以內(nèi),濕度誤差5%以內(nèi),符合設(shè)計要求。系統(tǒng)溫濕度采集、顯示正常界面如圖10所示,故障界面如圖11所示。
圖10 正常界面
圖11 故障界面
本文利用MSP430、DHT22、IPS,通過單總線系統(tǒng),利用C語言編程以及LabVIEW軟件編制技術(shù)設(shè)計了一款多點位溫濕度監(jiān)控系統(tǒng),實現(xiàn)對環(huán)境溫濕度參數(shù)的有效收集,完成溫濕度檢測、報警、可視化顯示、自動存儲等功能,滿足某大學(xué)圖書館溫濕度多點位、實時監(jiān)控管理需求。該系統(tǒng)可推廣應(yīng)用于博物館、醫(yī)院、現(xiàn)代化農(nóng)業(yè)大棚等場所。下一步將在此基礎(chǔ)上增加遠程傳輸功能,提升系統(tǒng)綜合性能和應(yīng)用范圍。