胡云峰 李飛鵬 陳李勝 文毅 電子科技大學中山學院 528402
無線溫濕度測量系統設計
胡云峰 李飛鵬 陳李勝 文毅 電子科技大學中山學院 528402
本系統由控制部分和采集部分組成,實現對環境溫度和濕度數據的采集、傳輸和監控。控制部分以ATmega16單片機為核,單片機接收并處理數據,通過液晶128*64顯示當地環境的溫度和溫度。數據采集部分由ATmega16單片機控制傳感器進行數據采集并通過nRF905無線模塊進行傳輸,傳感器采用SHT10數字溫濕度傳感器。測試表明,該系統具有較強穩定性和實用性。
ATmega16;nRF905;SHT10;無線傳輸
隨著電子科技的發展,電子系統的實現方式發生了翻天覆地的變化,電子系統元件構成由分離元件走向了集成電路,信號傳輸方式也由有線傳輸走向了無線傳輸。本文以集成電路為核心,采用無線數據傳輸方式,實現了無線溫濕度測量系統。
如圖1,圖2所示為低功耗無線溫濕度測量系統的發送和接收模塊的框圖。其中圖1為無線發送模塊,以Atmega16L[1]為主控制核心,控制溫濕度傳感器SHT11采集環境的溫濕度,然后利用nRF905無線傳輸模塊將采集到的溫濕度數據發送給溫濕度測量無線接收模塊進行相應處理。圖2為溫濕度測量無線接收模塊,以Atmega16L為主控制核心,利用nRF905無線傳輸模塊接收溫濕度數據,再通過PC模塊顯示。
系統軟件設計包括溫濕度測量和無線收發兩個部分。對于溫度和濕度,它們并非是急劇變化的物理量,溫濕度的變化往往是緩慢進行的,因此針對這個特點對于溫濕度的測量采集并非需要時時刻刻都在進行。而是每隔T時間(T根據實際需要而定,本系統選用1 s)采集一次,其余時間由于低功耗的要求使得MCU處于休眠狀態。其程序流程如圖3所示。其中Atmega16L進入休眠狀態是通過對SE編程休眠使能,并且對SM 2.0編程后進入相應的省電模式狀態,然后通過定時器的計時中斷將Atmega16L喚醒,再進行測量以及數據傳輸。
對于無線發送而言,在測量發送數據以后,應考慮到數據傳輸的可靠性,因此加上校驗功能,并且為防止偶然的發送失敗帶來的不良后果,采取定時等待,超時后重發,收到接收主機命令后才進入休眠的模式。具體流程圖如圖4所示。對于接收端而言,所完成的任務是時刻檢測無線接收模塊,對于收到的數據進行校驗,如果正確收到數據則無線發送相關指令告知接收端,使其能夠盡快進入休眠省電模式,并且通過上位機顯示溫濕度;而接收到錯誤數據后不做任何處理,等待接收端再次發送數據。

圖1 溫濕度無線發送模塊

圖2 溫濕度無線接收模塊

圖3 溫濕度測量流程圖

圖4 發送端程序流程圖
本系統分別在A、B、C三個不同環境中測量溫濕度,測量結果和參考數據誤差小于1%,其測試結果和參考數據如下表:

表1 溫濕度測量
該系統采用AVR系列低功耗單片機ATmega16L作為控制芯片,低功耗芯片nRF905作為無線收發模塊,設計并實現了基于數字溫濕度傳感器SHT11的溫濕度無線測量系統,由于SHT11具有數字式輸出、免調試、免標定、免外圍電路及全互換等特點,不僅節省了單片機I/O口資源,使系統整體設計成本下降,還提高了測量精度,同時大大簡化了單片機的程序編寫。SHT11還具有更優越的信號質量,更快的反應時間和更靈敏的抗外部干擾能力,所以該系統較傳統溫室測量系統在性能上有了很大的提高。
這些低功耗產品使得該系統耗電量小,并且又特別適合將該系統小型化,智能化,儀表化。無線發射功能又代替了人工抄表的繁瑣,使得本系統有著廣泛的應用前景。
[1]孫志凱. 基于ATmega16和nRF905的無線射頻收發系統設計[J]. 電子元器件應用.2008,(5).
10.3969/j.issn.1001-8972.2010.16.077
本文受電子科技大學中山學院質量工程資助,項目編號:ZLGC2009JXTD01