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

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

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

圖3 DHT22傳感器
DHT22溫濕度傳感器屬復合型傳感器,能夠與MSP430單片機進行有效連接。DHT22溫濕度傳感器體量小,且信號傳輸距離較遠,在溫濕度監控系統中適用性強。同時,DHT22溫濕度傳感器也具有輸出信號準確率高、抗干擾、低功耗等優勢,可有效提升本文所設計的溫濕度監控系統的綜合性能。DHT22技術參數如表1所示,引腳分配如表2所示。

表1 DHT22技術參數

表2 DHT22引腳分配
系統采用單總線數據格式,一次通訊時間為4ms左右,數據分小數和整數部分,操作流程為:數據傳輸一次為40bit,高位先出。用戶發送開始信號后,DHT22從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT22發送響應信號,并觸發一次采集信號,DHT22不會主動進行溫濕度采集,采集數據后轉換到低速模式,通訊過程如圖4所示。

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

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

圖6 軟件流程
利用MSP430某個IO口實現單總線的功能,對單總線的操作嚴格按照芯片的時序圖進行,操作單總線時關閉中斷。采集溫濕度的核心代碼,如函數1、2所示。
函數1:通過單總線讀取一個字節的數據


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

圖7 軟件流程

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

圖9 溫濕度數據曲線顯示
本系統采用IPS屏幕技術,溫濕度測試采用經過校準的溫濕度計與系統測試結果進行對比驗證,經20個點位的對比試驗,溫度誤差±0.3℃以內,濕度誤差5%以內,符合設計要求。系統溫濕度采集、顯示正常界面如圖10所示,故障界面如圖11所示。

圖10 正常界面

圖11 故障界面
本文利用MSP430、DHT22、IPS,通過單總線系統,利用C語言編程以及LabVIEW軟件編制技術設計了一款多點位溫濕度監控系統,實現對環境溫濕度參數的有效收集,完成溫濕度檢測、報警、可視化顯示、自動存儲等功能,滿足某大學圖書館溫濕度多點位、實時監控管理需求。該系統可推廣應用于博物館、醫院、現代化農業大棚等場所。下一步將在此基礎上增加遠程傳輸功能,提升系統綜合性能和應用范圍。