周林樹
(福建寧德技師學(xué)院,福建 寧德 352100)
隨著現(xiàn)代化通信和傳感技術(shù)的逐步成熟與完善,環(huán)境參數(shù)監(jiān)測(cè)系統(tǒng)已成為當(dāng)今種植業(yè)、養(yǎng)殖業(yè)等產(chǎn)業(yè)的一個(gè)研究熱點(diǎn)[1-2]。采用單片機(jī)控制溫度、濕度和光照強(qiáng)度,不僅具有控制方便,結(jié)構(gòu)簡(jiǎn)單,靈活性大的優(yōu)點(diǎn),而且可以大大提高溫度、濕度和光強(qiáng)度控制的技術(shù)指標(biāo),從而大大提高產(chǎn)品質(zhì)量和數(shù)量[3-4]。傳統(tǒng)的方法是靠人工測(cè)試和讀取,并判斷溫度和濕度是否偏離正常值,然后采取相應(yīng)的調(diào)整措施,消耗了大量的人力和物力。隨著國(guó)民經(jīng)濟(jì)的快速發(fā)展,農(nóng)業(yè)產(chǎn)業(yè)規(guī)模不斷擴(kuò)大,溫室種植的農(nóng)產(chǎn)品種類日益增多。對(duì)于很多溫室來說,傳統(tǒng)的溫度控制措施已經(jīng)顯示出很大的局限性[5-6]。微控制器和各種傳感器檢測(cè)技術(shù)的發(fā)展,解決了環(huán)境參數(shù)檢測(cè)和傳輸過程出現(xiàn)的難題。本文使用單片機(jī)作為控制核心對(duì)環(huán)境參數(shù)檢測(cè)系統(tǒng)展開應(yīng)用研究,對(duì)環(huán)境的溫度、濕度及光照度進(jìn)行實(shí)時(shí)監(jiān)控,以促進(jìn)生產(chǎn),帶來效益。
環(huán)境參數(shù)檢測(cè)系統(tǒng)的整體設(shè)計(jì),本系統(tǒng)包括傳感器測(cè)量單元、顯示單元、繼電器控制單元及處理器單元等,針對(duì)各單元的設(shè)計(jì)方案進(jìn)行選擇,最后確定本設(shè)計(jì)為最終方案。硬件電路的設(shè)計(jì),包括單片機(jī)最小系統(tǒng)電路、傳感器測(cè)量單元、鍵盤和液晶顯示電路的工作原理和電路設(shè)計(jì)。
采用STC89C52 單片機(jī)構(gòu)成的最小系統(tǒng)見第64頁圖1。
一個(gè)溫濕電阻式元件和一個(gè)連接到高性能8 位微控制器的NTC 溫度測(cè)量元件構(gòu)成了帶有校準(zhǔn)數(shù)字輸出的DHT11 溫濕度傳感器,它具有超快的響應(yīng),強(qiáng)大的抗干擾性和高可靠性等優(yōu)點(diǎn)。通過單元機(jī)可直接讀取溫濕度數(shù)據(jù),該傳感器與單片機(jī)通信的接口方式見第64 頁圖2。
采用BH1750 光照傳感器來檢測(cè)環(huán)境光照度參數(shù)。通過I2C 的通信方式可直接輸出數(shù)字信號(hào),見第 64 頁圖 3。
nRF24L01 是一種單片射頻無線收發(fā)器。nRF24L01 適合在2.4~2.5 GHz 的頻段工作,其內(nèi)部由晶體振蕩器模塊、功率放大器模塊、調(diào)制器模塊、頻率合成器模塊以及其他功能模塊組成,且用于平均功率的配置和通信通道。最大傳輸速率為2Mb/s,傳輸工作電流為9mA,接收工作電流為12.3mA,用于低功耗和待機(jī)兩種操作模式。nRF24L01 與單片機(jī)的通信接口方式見第64 頁圖4。
系統(tǒng)主程序工作流程如下。發(fā)送端:系統(tǒng)通電工作時(shí)要先進(jìn)行內(nèi)部的初始化,溫度和照度由發(fā)送器測(cè)量,在周圍的環(huán)境里DHT11 采集到溫濕度與光照度后,將測(cè)量數(shù)據(jù)發(fā)送到MCU STC89C52 進(jìn)行處理,再將處理后的數(shù)據(jù)在1602 顯示屏中顯示出來。之后通過nRF24L01 無線模塊將數(shù)據(jù)發(fā)送到接收側(cè)。
圖1 STC89C52 單片機(jī)控制系統(tǒng)電路圖
圖2 DHT11 溫濕度傳感器接口電路圖
圖3 BH1750 光照傳感器接口電路圖
圖4 nRF24L01 無線模塊接口電路圖
接收端:系統(tǒng)初始化后再對(duì)發(fā)送端傳送過來的數(shù)據(jù)進(jìn)行處理和儲(chǔ)存,最后控制液晶1602 顯示瞬時(shí)溫濕度與光照度。在數(shù)據(jù)傳輸時(shí),先將nRF24L01配置為發(fā)送模式,再定時(shí)通過SPI 端口將接收的TX_ADDR 節(jié)點(diǎn)的地址和實(shí)際的TX_PLD 數(shù)據(jù)寫入nRF24L01。數(shù)據(jù)傳輸成功時(shí),如果片選端CE 的電平為低電平,則nRF24L01 進(jìn)入待機(jī)模式1;如果數(shù)據(jù)堆棧未知?jiǎng)tCE 為高電平,則進(jìn)入待機(jī)模式2。接收數(shù)據(jù)狀態(tài),nRF24L01 調(diào)整到接收模式,然后延遲130 μs 以接收狀態(tài)來等待數(shù)據(jù)訪問。當(dāng)接收方檢測(cè)到有效地址和CRC 時(shí),將數(shù)據(jù)包保存到RIF FIFO,并將RX_DR 位中斷標(biāo)志置為高,降低IRQ,產(chǎn)生中斷,并通知MCU 接收數(shù)據(jù)。如果此時(shí)啟用自動(dòng)響應(yīng),則接收機(jī)同時(shí)輸入返回信號(hào),該返回信號(hào)返回傳輸狀態(tài)。當(dāng)數(shù)據(jù)接收成功時(shí),如果CE 降低,nRF24L01 將進(jìn)入備用模式1。在寫寄存器之前一定要進(jìn)入待機(jī)模式或掉電模式。相應(yīng)的狀態(tài)和數(shù)據(jù)信息是從MISO 輸出給MCU。與SPI 相關(guān)的控制指令共有8 個(gè),當(dāng)需要使用時(shí),這些控制指令由nRF24L01 的MOSI 輸入。該系統(tǒng)發(fā)送端和接收端的無線通信程序流程見第65 頁圖5。
在不同環(huán)境下對(duì)溫濕度進(jìn)行多次測(cè)量,如同棟實(shí)驗(yàn)樓不一樣的房間,在室內(nèi)和室外進(jìn)行采集,測(cè)量端和接收端的數(shù)據(jù)見第65 頁表1。
在不同的環(huán)境下對(duì)光照度進(jìn)行多次測(cè)量,在同一層樓不同測(cè)試點(diǎn)的室內(nèi) (燈下) 和室外進(jìn)行采集,測(cè)量端的數(shù)據(jù)第65 頁見表2。
綜合以上的數(shù)據(jù)分析,測(cè)量端與接收端有一些數(shù)據(jù)上的誤差,在溫濕度的采集中,除了DHT11溫度傳感器和液晶顯示器自身帶有一定的延時(shí)之外,誤差比較大的原因在于傳輸?shù)倪^程中,nRF24L01 無線模塊在長(zhǎng)距離過程中可能會(huì)造成數(shù)據(jù)丟失。
圖5 無線通信程序流程圖
表1 不同環(huán)境下測(cè)量端溫度和相對(duì)濕度數(shù)據(jù)
表2 不同環(huán)境下測(cè)量端光照度數(shù)據(jù) (lx)