周林樹
(福建寧德技師學院,福建 寧德 352100)
隨著現代化通信和傳感技術的逐步成熟與完善,環境參數監測系統已成為當今種植業、養殖業等產業的一個研究熱點[1-2]。采用單片機控制溫度、濕度和光照強度,不僅具有控制方便,結構簡單,靈活性大的優點,而且可以大大提高溫度、濕度和光強度控制的技術指標,從而大大提高產品質量和數量[3-4]。傳統的方法是靠人工測試和讀取,并判斷溫度和濕度是否偏離正常值,然后采取相應的調整措施,消耗了大量的人力和物力。隨著國民經濟的快速發展,農業產業規模不斷擴大,溫室種植的農產品種類日益增多。對于很多溫室來說,傳統的溫度控制措施已經顯示出很大的局限性[5-6]。微控制器和各種傳感器檢測技術的發展,解決了環境參數檢測和傳輸過程出現的難題。本文使用單片機作為控制核心對環境參數檢測系統展開應用研究,對環境的溫度、濕度及光照度進行實時監控,以促進生產,帶來效益。
環境參數檢測系統的整體設計,本系統包括傳感器測量單元、顯示單元、繼電器控制單元及處理器單元等,針對各單元的設計方案進行選擇,最后確定本設計為最終方案。硬件電路的設計,包括單片機最小系統電路、傳感器測量單元、鍵盤和液晶顯示電路的工作原理和電路設計。
采用STC89C52 單片機構成的最小系統見第64頁圖1。
一個溫濕電阻式元件和一個連接到高性能8 位微控制器的NTC 溫度測量元件構成了帶有校準數字輸出的DHT11 溫濕度傳感器,它具有超快的響應,強大的抗干擾性和高可靠性等優點。通過單元機可直接讀取溫濕度數據,該傳感器與單片機通信的接口方式見第64 頁圖2。
采用BH1750 光照傳感器來檢測環境光照度參數。通過I2C 的通信方式可直接輸出數字信號,見第 64 頁圖 3。
nRF24L01 是一種單片射頻無線收發器。nRF24L01 適合在2.4~2.5 GHz 的頻段工作,其內部由晶體振蕩器模塊、功率放大器模塊、調制器模塊、頻率合成器模塊以及其他功能模塊組成,且用于平均功率的配置和通信通道。最大傳輸速率為2Mb/s,傳輸工作電流為9mA,接收工作電流為12.3mA,用于低功耗和待機兩種操作模式。nRF24L01 與單片機的通信接口方式見第64 頁圖4。
系統主程序工作流程如下。發送端:系統通電工作時要先進行內部的初始化,溫度和照度由發送器測量,在周圍的環境里DHT11 采集到溫濕度與光照度后,將測量數據發送到MCU STC89C52 進行處理,再將處理后的數據在1602 顯示屏中顯示出來。之后通過nRF24L01 無線模塊將數據發送到接收側。

圖1 STC89C52 單片機控制系統電路圖

圖2 DHT11 溫濕度傳感器接口電路圖

圖3 BH1750 光照傳感器接口電路圖

圖4 nRF24L01 無線模塊接口電路圖
接收端:系統初始化后再對發送端傳送過來的數據進行處理和儲存,最后控制液晶1602 顯示瞬時溫濕度與光照度。在數據傳輸時,先將nRF24L01配置為發送模式,再定時通過SPI 端口將接收的TX_ADDR 節點的地址和實際的TX_PLD 數據寫入nRF24L01。數據傳輸成功時,如果片選端CE 的電平為低電平,則nRF24L01 進入待機模式1;如果數據堆棧未知則CE 為高電平,則進入待機模式2。接收數據狀態,nRF24L01 調整到接收模式,然后延遲130 μs 以接收狀態來等待數據訪問。當接收方檢測到有效地址和CRC 時,將數據包保存到RIF FIFO,并將RX_DR 位中斷標志置為高,降低IRQ,產生中斷,并通知MCU 接收數據。如果此時啟用自動響應,則接收機同時輸入返回信號,該返回信號返回傳輸狀態。當數據接收成功時,如果CE 降低,nRF24L01 將進入備用模式1。在寫寄存器之前一定要進入待機模式或掉電模式。相應的狀態和數據信息是從MISO 輸出給MCU。與SPI 相關的控制指令共有8 個,當需要使用時,這些控制指令由nRF24L01 的MOSI 輸入。該系統發送端和接收端的無線通信程序流程見第65 頁圖5。
在不同環境下對溫濕度進行多次測量,如同棟實驗樓不一樣的房間,在室內和室外進行采集,測量端和接收端的數據見第65 頁表1。
在不同的環境下對光照度進行多次測量,在同一層樓不同測試點的室內 (燈下) 和室外進行采集,測量端的數據第65 頁見表2。
綜合以上的數據分析,測量端與接收端有一些數據上的誤差,在溫濕度的采集中,除了DHT11溫度傳感器和液晶顯示器自身帶有一定的延時之外,誤差比較大的原因在于傳輸的過程中,nRF24L01 無線模塊在長距離過程中可能會造成數據丟失。

圖5 無線通信程序流程圖

表1 不同環境下測量端溫度和相對濕度數據

表2 不同環境下測量端光照度數據 (lx)