無線濕溫度監測系統的設計

小編為您提供一篇關於無線濕溫度監測系統的設計的畢業論文開題報告,歡迎參考!

摘 要: 針對現實中更為便捷的監測濕溫度的要求,下位機以無線收發模組nRF2401 為基礎,配合51 單片機和濕溫度感測器設計出了監測系統的硬體電路;上位機用VC6.0 開發,可以實現對監測結果的動態曲線顯示,儲存,列印。該設計可移植性好,在倉庫系統、電力系統、檔案資料庫、菸草和食品加工行業具有廣泛的套用前景。

關鍵字:無線通信;濕溫度監測;單片機;串口通信;VC

1 引 言

隨著經濟發展,各行各業需要監測濕溫度的場合越來越多。現有的濕溫度監測系統多是採用有線傳輸,不僅要敷設大量的電纜,而且電源線,控制線,信號線混在一起,可能會出現相互之間的干擾。尤其是當監測點過多時,布線複雜,有線傳輸的問題會更嚴重。因此需要建立一套穩定可靠,管理科學,高效率的濕溫度監測系統。本文介紹的無線濕溫度監測系統,改進和克服了有線的上述缺點。改變溫濕度測量點位置和增加或減少測量點數目都非常方便。

2 方案設計

2.1 系統框圖

整個系統可由多個無線感測器節點和一個中心節點組成。其中,無線感測器節點分布在需要測量的現場,由濕度感測器和溫度感測器完成對周圍環境濕溫度數據採集,送至單片機進行處理並在液晶模組顯示,然後通過無線發射模組將數據傳送出去。監測中心節點負責接收感測器節點的數據,由單片機處理後通過RS-232 串口傳至PC 端,進行圖像的繪製,數據的處理和儲存。當濕溫度超過預設閥值時,中心節點處蜂鳴器進行報警提示。

2.2 技術指標

溫度測試範圍:-55- +125 ℃ 測試精度:0.5 ℃濕度測試範圍:10%-100%RH 測試精度:1%RH無線傳輸範圍:開闊地80m 左右。

3 系統組成模組

3.1 無線發射接收模組

系統通過無線收發模組傳輸現場採集的數據,系統所處環境較惡劣,對數據傳輸的可靠性要求較高。綜合考慮以上因素,採用以nRF2401AG 為核心晶片的無線數傳模組。nRF2401AG 是單片無線收發一體的晶片。模組工作電壓為2.7~3.6V,內置天線;採用全球開放2.4GHz ISM 頻段,免許可證使用;採用高效GMSK 調製最高傳輸速率達到1Mbit/s,抗干擾能力強;有125 個頻道,可滿足多頻及跳頻需要;內置硬體CRC 檢錯,支持點對多點通信地址控制。

模組可以通過軟體設定地址,只有收到本機地址時才會輸出數據,可直接連線各種MCU,軟體編程非常方便。nRF2401AG 可通過軟體設定40 bit 的地址,適合點對多點的數據傳輸;CRC 糾檢錯硬體電路和協定,提高了系統的可靠性,且不再需要用軟體對傳輸數據進行差錯控制編碼,簡化了軟體編程。PTR4000PA 是PTR4000 的功率加強型產品,傳輸距離更遠(開闊地約300-400m,室內約 50-100m)。nRF2401AG 最突出的特點是具有一種ShockBurstTM Mode(突發模式)的通信模式。ShockBurst Mode 使用晶片內部的先入先出堆疊區,數據可以從低速微控制器送入,高速(1 Mb/s)發射出去,字頭和校驗碼由硬體自動添加和去除。其優點是功耗低,抗干擾能力強。

3.2 溫度測量模組

溫度感測器採用採用 Dallas 公司的單匯流排數字溫度感測器 DS18B20,晶片內部集成了溫度感測器和模數轉換器。其測溫範圍為-55-+125℃,測量的溫度值可程式為9、10、11 和12 位數字表示,相應溫度分辨力分別為0.5℃、0.25℃、0.125℃ 和 0.0625℃。用戶可設定溫度超標報警的上、下限值。

DS18B20 為一線通信接口,必須先完成ROM 設定,否則記憶和控制功能將無法使用。主要首先提供以下命令之一:1)讀ROM,2)ROM 匹配,3)搜尋ROM,4)跳過ROM,5)報警檢查。這些指令操作作用在沒有一個器件的64 位光刻ROM 序列號,可以在掛在一線上多個器件選定某一個器件,同時匯流排也可以知道匯流排上掛有多少,什麼樣的設備。

3.3 濕度測量模組

濕度感測器採用HS1101。HS1101 是HUMIREL 公司生產的變容式相對濕度感測器,採用獨特的工藝設計。

HS1101 測量濕度採用將HS1101 置於555 振盪電路中,將電容值的變化磚換成電壓頻率信號,可以直接被微處理器採集。

555 晶片外接電阻R57,R58 與HS1101,構成對HS1101 的充電迴路。7 端通過晶片內部的電晶體對地短路實現對HS1101 的放電迴路,並將引腳2,6 端相連引入到片內比較器,構成一個多諧波振盪器,其中,R57 相對於R58 必須非常的小,但決不能低於一個最小值。R51 是防止短路的保護電阻。

HS1101 作為一個變化的電容器,連線2 和6 引腳。引腳作為R57 的短路引腳。HS1101 的等效電容通過R57 和R58 充電達到上限電壓(近似於0.67 VCC,時間記為T1),這時555 的引腳3 由高電平變為低電平,然後通過R58 開始放電,由於R57 被7 引腳內部短路接地,所以只放電到觸發界線(近似於0.33 VCC,時間記為T2),這時555 晶片的引腳3 變為高電平。通過不同的兩個電阻R19, R20 進行感測器的不停充放電,產生方波輸出。

由此可以看出,空氣相對濕度與555 晶片輸出頻率存在一定線性關係。給出典型頻率濕度關係(參考點:25℃,相對濕度:55%,輸出頻率:6.208k Hz)。可以通過微處理器採集555 晶片的頻率,然後查表即可得出相對濕度值。為了更好提高測量精度,也可採用下位機負責採集頻率,將頻率值送入上位機進行分段處理的方法。

4 PC 機與數據處理

PC 機採用VC6.0 開發上位機軟體。VC6.0 具有面向對象的設計方法、友好的用戶界面、實時型強等優點,還具有強大數據處理和圖形處理功能,因此非常適用於開發通信系統控制軟體。在採用VC 開發過程中,為實現遠程通信,設計中採用MSComm 控制項。該控制項禁止了通信過程中的底層操作,套用時只需要監控MSComm 控制項的屬性和事件,便可以通過RS-232 與單片機實現串列異步通信。

PC 機與單片機的通信協定設定波特率為9600,偶校驗,8 個數據位,一個停止位。MSComm 控制項通訊方式採用事件驅動方式。PC 機把單片機傳送過來的溫濕度測量值存放在記憶體中,並可以利用PC 機的時間功能,記錄下測量數據的時間。VC 編寫基於對話框的應用程式,可在顯示螢幕上動態曲線的形式來顯示濕溫度的值,還可列印和存儲大量的溫濕度測量值,供以後參考和分析,也是對單片機性能不足的補充。

可利用 VC6.0 對測量的數據進行數字濾波,提高溫濕度的測量精度。也可以用最小二乘法,對測量結果進行線性化處理,進一步提高測量的精度。

此外,在繪製動態曲線的過程,每一次從串口傳來的數據都會引起視窗的重繪,如果採用直接在GDI 中繪圖的方法會引起圖像的閃爍現象。因此可以採用雙快取技術。雙快取技術就是把要顯示的圖形先在記憶體中繪製好,然後調用BitBlt 函式,把記憶體設備複製到顯示設備上。由於這時非常規整的記憶體拷貝,這個過程會進行的非常快,這樣就會消除重繪而引起的圖像閃爍問題。

實現雙快取技術的過程如下:

1. 保證繪圖過程中的所有CDC 及其繼承類指向記憶體DC。這裡可以利用記憶體設備環境變數CMemDC(一個開源的類)來代替設備環境變數。

2. 修改OnEraseBkgnd(CDC*) 事件將代碼禁止,改為一句 return TRUE;

3. 將圖像背景擦除的的過程放到記憶體緩衝區裡面去做。部分關鍵代碼如下:

void CGraphView::OnDraw(CDC* pDC)

{

CRect rectClient;

GetClientRect( &rectClient );

CMemDC memDC(pDC, rectClient);

EraseBkgnd(&memDC);

// OnEraseBkgnd 失效了,但是仍然需要在記憶體緩衝區中擦除背景

m_graph.Redraw( &memDC, rectClient );

}

4. 在記憶體中繪製圖形,並把結果切換到顯示DC。實踐表明,雙快取技術在繪圖中有穩定良好的效果。

5 系統軟體設計

本系統用 C 語言編程,軟體採用模組化結構程式設計方式。總體上包括主程式模組、參數設定模組、通信模組、顯示模組以及報警子模組等。最後主程式和中斷處理程式將各個模組連線起來。這樣使程式利於修改和調試,也增強了程式的可移植性。下位機完成對周圍濕溫度數據的採集、處理、顯示和傳送。上位機基於VC 開發應用程式,來實現對下位機的控制,節點選擇以及對接收到數據的動態顯示、儲存、分析和處理。

6 結束語

總體來說,系統設計新穎,簡單實用。樣機經過長時間的運行測試,可靠穩定,使用方便。特別是基於VC6.0開發的上位機界面使監測更加便捷,更具人性化特點。此外,本設計在系統分析和設計方法學上也有一定的學術參考價值。