何穎
(西安思源學(xué)院,電子信息工程學(xué)院,陜西,西安 710038)
目前在我們國(guó)家,氣象監(jiān)測(cè)技術(shù)已經(jīng)較為成熟,氣象臺(tái)站普、自動(dòng)氣象觀測(cè)系統(tǒng)已經(jīng)大面積鋪設(shè),并且在一些人類難以生存的苛刻環(huán)境也有氣象站或者是氣候站的布置,這些氣象觀測(cè)系統(tǒng)的數(shù)據(jù)傳輸使用衛(wèi)星通信。盡管我國(guó)的氣象監(jiān)測(cè)技術(shù)已經(jīng)有了巨大的發(fā)展,但相較于發(fā)達(dá)國(guó)家來說我國(guó)仍有不小的差距,尤其是在氣象數(shù)據(jù)采集這一自動(dòng)氣象站的關(guān)鍵技術(shù)上我們國(guó)家仍有很大發(fā)展提高空間。作為自動(dòng)氣象站的核心技術(shù),數(shù)據(jù)采集的主要作用就是數(shù)據(jù)采樣、處理、傳輸以及存儲(chǔ)[1-2],其性能主要取決于測(cè)量的精度、系統(tǒng)的穩(wěn)定性、可靠性以及靈活性。目前來說,強(qiáng)實(shí)時(shí)、多參數(shù)、高精度等方面是數(shù)據(jù)采集的主要展望。對(duì)于采集數(shù)據(jù)的存儲(chǔ)來說,容量大、體積小、攜帶方便則是其發(fā)展關(guān)鍵。多通信方式(有線、無線)以及遠(yuǎn)距離數(shù)據(jù)傳輸則是數(shù)據(jù)傳輸技術(shù)的發(fā)展目標(biāo),可模塊化設(shè)計(jì)以及可靈活組態(tài)的數(shù)據(jù)采集系統(tǒng)使用較少。因此,國(guó)內(nèi)僅有部分觀測(cè)系統(tǒng)采用自己研發(fā)的數(shù)據(jù)采集器,這些數(shù)據(jù)采集器的功能單一、靈活性以及重配置性差,其應(yīng)用范圍受到局限,僅適用于一些特定場(chǎng)合[3-4]。鑒于以上研究背景,設(shè)計(jì)一種基于nRF24L01的無線氣象數(shù)據(jù)采集系統(tǒng)。
本設(shè)計(jì)分為主機(jī)和從機(jī),從機(jī)上有各種傳感器,將采集的信息通過nRF24L01模塊傳輸給主機(jī),主機(jī)的12864液晶屏可以實(shí)時(shí)顯示當(dāng)前的經(jīng)緯度、高度、氣壓、溫度、濕度等數(shù)據(jù);采用的是遠(yuǎn)距離nRF24L01,傳輸距離為2300M,本設(shè)計(jì)的氣象信息采集,從機(jī)小巧,質(zhì)量輕,傳輸穩(wěn)定,距離遠(yuǎn)。系統(tǒng)設(shè)計(jì)框圖如圖1所示。

圖1 系統(tǒng)設(shè)計(jì)框圖
單片機(jī)需要有一個(gè)最小的系統(tǒng)維持芯片的正常運(yùn)行,系統(tǒng)采用STC89C52作為主控芯片,單片機(jī)最小系統(tǒng)需要一對(duì)供電單元,40號(hào)引腳供給電源,接正極,20號(hào)引腳接到電路的零極,由此組成一個(gè)供電單元。微處理器的運(yùn)行程序需要有一個(gè)標(biāo)準(zhǔn)的振蕩時(shí)鐘電路,時(shí)鐘電路接入XTAL1和XTAL2的兩個(gè)引腳上,一個(gè)復(fù)位電路接入RST引腳上。
DHT11溫濕采集模塊在進(jìn)行數(shù)據(jù)采集的時(shí)候,會(huì)自動(dòng)從低功耗模式變成高速工作模式,DHT11會(huì)在主機(jī)的開始信號(hào)結(jié)束的時(shí)候發(fā)出40位的響應(yīng)信號(hào)數(shù)據(jù)。這將使信號(hào)采集被首次觸發(fā),此時(shí)操作者可以對(duì)部分?jǐn)?shù)據(jù)進(jìn)行有選擇的讀取操作。在采集完畢數(shù)據(jù)之后,如果單片機(jī)尚未發(fā)送下一次采集指令,傳感器就會(huì)從高速模式變回低功耗模式[5]。對(duì)于總線來說,其在空閑的情況下處于高電平,但是CPU會(huì)將總線電壓拉低來保證DHT11能夠檢測(cè)到起始信號(hào),并且這個(gè)拉低的時(shí)間要大于18 ms。DHT11在檢測(cè)到起始信號(hào)時(shí)會(huì)在這個(gè)信號(hào)結(jié)束延時(shí)20~40 μs后發(fā)送低電平信號(hào),這個(gè)低電平信號(hào)的持續(xù)時(shí)間在89 μs。此后再讀取DHT11的相應(yīng)信號(hào)。主機(jī)發(fā)送開始信號(hào)后,有兩種相應(yīng)操作,分別是切換到輸入模式、輸出高電平。總線由上拉電阻拉高。
LCD12864是128×64分辨率的常用的圖形液晶顯示模塊,其內(nèi)置8192個(gè)中文漢字(16×16點(diǎn)陣可顯示漢字及圖形),可以將漢字實(shí)現(xiàn)圖形出來。此外還有128個(gè)字符(8×16點(diǎn)陣)及64×256點(diǎn)陣顯示 RAM(GDRAM)。
數(shù)據(jù)發(fā)射的過程為:第一步,先配置nRF24L01到發(fā)射模式。第二步,按照時(shí)序通過SPI在nRF24L01的緩存區(qū)寫入相應(yīng)的TX_ADDR以及TX_PLD,其中,TX_ADDR是接收節(jié)點(diǎn)地址且僅在發(fā)射的時(shí)候?qū)懭胍淮?TX_PLD是有效數(shù)據(jù)。當(dāng)nRF24L01開啟自動(dòng)應(yīng)答模式,在接收模式下將接收應(yīng)答信號(hào)。當(dāng)信號(hào)未被接收,系統(tǒng)會(huì)自動(dòng)將該數(shù)據(jù)重新發(fā)射[6-7]。
在模式控制引腳MS置1的狀態(tài)下,芯片將在單通道模式下工作。此時(shí),僅有一組RXD和TXD被允許與母串口通信。地址線的作用則是選擇與母串口連接的目標(biāo)子串口。外部CPU則會(huì)使用兩根輸入地址線與兩根輸出地址線來選擇與母串口連接的子串口。輸入輸出地址線并沒有被要求是相同的,也就是說RXD和TXD可以屬于不同子串口[8]。GPS定位電路圖如圖2所示。

圖2 GPS定位電路圖
軟件開發(fā)環(huán)境采用Keil編譯器。當(dāng)打開軟件時(shí)系統(tǒng)會(huì)進(jìn)行IO端口及時(shí)鐘的初始化,會(huì)顯示實(shí)時(shí)時(shí)間、溫度、濕度、壓力等信息,當(dāng)初始化成功后,溫濕度傳感器會(huì)對(duì)環(huán)境中的溫度進(jìn)行實(shí)時(shí)監(jiān)控,并將溫濕度信息轉(zhuǎn)換為電脈沖信息,隨著電信號(hào)傳送到單片機(jī)進(jìn)行預(yù)處理;類似地,壓力傳感器也會(huì)收集檢測(cè)時(shí)刻的壓力值,并將其轉(zhuǎn)換為相應(yīng)的電脈沖信號(hào),一并將其送到單片機(jī)進(jìn)行處理;同時(shí),GPS模塊運(yùn)用衛(wèi)星定位功能,將裝置的大致位置信息傳送到單片機(jī)端進(jìn)行處理。然后單片機(jī)通過5個(gè)GPIO進(jìn)行無線發(fā)送[9]。
從站程序流程圖如圖3所示。

圖3 從站程序流程圖
主電路板功能比從電路板功能簡(jiǎn)單,主要采集無線模塊傳送過來的數(shù)據(jù),整理后進(jìn)行顯示,向使用者實(shí)時(shí)顯示從站上采集的氣象數(shù)據(jù)。通過按鍵可以分屏顯示不同的數(shù)據(jù)。主站程序流程圖如圖4所示。

圖4 主站程序流程圖
關(guān)鍵代碼如下:
****/
/*void RX_Mode(void)
{
nRF24L01_CE_L;
SPI_Write_Buf((WRITE_REG+RX_ADDR_P1),
Rx_Address11,TX_ADR_WIDTH);//Use the same address on the RX device as the TX device
SPI_RW_Reg((WRITE_REG+RX_ADDR_P2),0x22);
SPI_RW_Reg((WRITE_REG+RX_ADDR_P3),0x33);
SPI_RW_Reg(WRITE_REG+CONFIG,0x0f); //Set PWR_UP bit,enable
CRC(2 bytes) &Prim:RX.RX_DR enabled..
nRF24L01_CE_H;//Set CE
} */
void RX_Mode(void)
{
nRF24L01_CE_L;
SPI_Write_Buf((WRITE_REG+
RX_ADDR_P0),Rx_Address11,TX_ADR_WIDTH);//寫RX節(jié)點(diǎn)地址
SPI_RW_Reg(WRITE_REG+EN_AA,0x01); //使能通道0的自動(dòng)應(yīng)答
SPI_RW_Reg(WRITE_REG+EN_RXADDR,0x01);//使能通道0的接收地址
系統(tǒng)主控單元是單片機(jī)控制系統(tǒng),采用獨(dú)立式按鍵結(jié)構(gòu),初始化后確定是否有按鍵按下。當(dāng)檢測(cè)到有鍵盤按下則去抖動(dòng),延時(shí)一段時(shí)間再檢測(cè)判斷,識(shí)別出是哪一個(gè)鍵閉合[10]。掃描過程如圖5所示。

圖5 鍵盤掃描流程圖
將測(cè)試裝置放置于不同溫濕度的環(huán)境之中(其余測(cè)量參數(shù)不宜改變,故只需要改變溫濕度已達(dá)到不同環(huán)境下的測(cè)試效果),以便進(jìn)行測(cè)試虛擬環(huán)境的仿真。不同環(huán)境下的測(cè)試結(jié)果如圖6所示。

圖6 不同環(huán)境下溫濕度的測(cè)試情況
對(duì)于所有測(cè)試的情況,若發(fā)生以下情況,則為正常情況:
(1) 微處理器上電后運(yùn)行正常、無報(bào)錯(cuò)為合格。
(2) 能下載、上傳程序?yàn)楹细瘛?/p>
(3) 將從站置于不同溫濕度環(huán)境內(nèi),主站能準(zhǔn)確顯示溫濕度數(shù)值為合格。
(4) 將從站置于不同壓力環(huán)境內(nèi),主站能準(zhǔn)確顯示壓力數(shù)值為合格。
(5) 將從站置于不同位置,主站能準(zhǔn)確顯示定位信息為合格。
從機(jī)實(shí)物圖如圖7所示。

圖7 從機(jī)實(shí)物圖
主站在開始運(yùn)行時(shí),單片機(jī)進(jìn)行預(yù)處理、初始化。當(dāng)一切顯示穩(wěn)定后,單片機(jī)運(yùn)用無線接收裝置進(jìn)行無線連接,連接成功后接收由從站發(fā)送過來的相關(guān)環(huán)境信息,并通過LED顯示屏將所接收的溫濕度、壓強(qiáng)和位置信息全部顯現(xiàn)出來。主機(jī)實(shí)物圖如圖8所示。

圖8 主機(jī)實(shí)物圖
無線氣象數(shù)據(jù)采集系統(tǒng)在人們的日常生活和國(guó)防建設(shè)中都有著十分巨大的影響意義。文中通過查閱資料了解每個(gè)元器件的使用方法,并通過計(jì)算得出電路的配置關(guān)系,繪制完整的電路原理圖,結(jié)合電路原理圖和控制要求,從站采集溫度、濕度、壓力和GPS位置信息,主站接收從站發(fā)來的信息后顯示狀態(tài)信息。硬件構(gòu)成主要包括:單片機(jī)、最小系統(tǒng)、LCD12864液晶顯示模塊、NRF24L01無線收發(fā)模塊、GPS定位模塊、DHT11溫濕度采集模塊、BMP180氣壓檢測(cè)模塊、DS18B20溫度采集模塊、LED指示燈模塊。本設(shè)計(jì)從機(jī)具有小巧、質(zhì)量輕、傳輸穩(wěn)定、傳輸距離遠(yuǎn)等優(yōu)點(diǎn),可以用作航模的氣象信息采集。