

摘 要:針對如何實現水稻生長環境參數采集的問題,設計了以單片機C8051F023和無線收發模塊nRF24L01為核心的便攜式收發系統。系統開機由液晶顯示器HTG240160C顯示待機畫面、當前時間,鍵盤選擇“設置”、“選項”、“檢測”、“通訊”功能菜單,完成相應的菜單功能。實驗測試表明:利用該系統完成的水稻生長環境參數采集,結構簡單、可靠,操作方便,易于掌握。
關鍵詞:水稻生長 無線收發 參數采集 設計
中圖分類號:TP368.1文獻標識碼:A文章編號:1674-098X(2013)05(a)-0138-02
我國是水稻生產大國,隨著我國近幾年水稻種植面積逐年擴大,優質但抗病性差的水稻品種面積增加,使水稻生產中的重要病害之一稻瘟病在水稻種植區中大面積流行。影響稻瘟病流行的氣象因素,最主要的是溫度和濕度,其次是光和風。目前的水稻生長環境參數采集形式單一,其中最常用的方法是水稻田間管理人員手工記錄溫度、濕度等傳感器的數據,錄入計算機軟件系統,通過軟件系統的運算,實現水稻生長環境數據的模擬和方針[1]。這種方式實時性差,誤差率高,很難做到監控系統與現場環境的“無縫”連接。基于傳統參數采集方式的弊端,在水稻生長田間架設工作站,集合各種參數采集傳感器,利用無線通訊裝置,實時發送各種參數數據,由監控室的上位機軟件接收。上位機軟件實現各種數據的分析和計算,預警水稻稻瘟病的發生幾率,保證水稻的穩產增收[2]。此外,系統設置了便攜式的參數采集記錄儀,田間管理人員可以手持記錄儀在田間工作站,現場對數據進行無線采集、存儲、形成曲線,也可利用USB接口上傳至上位機。
1 系統的設計方案
如圖1所示為水稻生長環境參數采集系統的總體設計方案框圖,系統包括三大部分,水稻田間工作站的參數采集系統、手持便攜式記錄儀接收系統和上位機軟件管理系統。
工作站參數采集分為兩部分,溫、濕度采集系統和風速、風向、光照參數采集系統,這些參數的采集都是通過各自的數字式傳感器完成的,這里溫、濕度采集系統為主系統,其他參數均集中到主系統,完成數據包的打包,發送。手持便攜式記錄儀能夠實現對工作站集中的參數進行無線接收,并顯示、存儲。上位機軟件管理系統通過GPRS網絡和USB接口兩種方式進行數據的接收,由相應的軟件實現各種參數的實時顯示、計算、模擬仿真和與internet進行數據傳輸[3]。
2 系統的硬件設計
2.1 記錄儀鍵盤功能介紹
鍵盤是儀器儀表非常重要的組成部分,通過對鍵盤的操作,完成一些特定的功能。手持便攜式記錄儀開機待機狀態顯示一幅圖形界面,顯示當前的時間,此外還顯示當前電池的容量。記錄儀鍵盤包括⑴方向鍵:完成顯示器顯示條款上、下、左、右的選擇和調整;⑵功能鍵:實現記錄儀的測試、存儲、查詢等各種功能的選擇;⑶設置鍵:完成時間、水稻格田序號、水稻種類、采集參數類別等設置;⑷通訊鍵:完成記錄儀與上位機的數據傳輸,通過無線通訊模塊或USB口把數據傳到上位機軟件系統中,實現數據的存儲、分析和打印的功能;⑸幫助鍵:通過該鍵盤顯示聯系方式,以便有問題與開發者及時溝通;⑹開關鍵:完成儀表的開機、關機功能,并有指示燈的亮、滅,表示電源開關鍵的狀態[4]。
2.2 系統部分硬件電路原理圖
記錄儀系統的硬件電路主要包括C8051F023單片機、HTG240160C液晶顯示器、nRF24L01無線收發模塊、PCF8563日歷時鐘芯片、AT24C512數據存儲器、CH341AUSB轉接芯片、鍵盤電路、JTAG接口等。因為系統電路圖很復雜,這里僅給出部分主要電路的原理圖。
3 系統的軟件設計
3.1 主程序流程圖
主程序模塊主要完成系統各部分初始化和實現各功能子程序的調用,以及實際檢測中各功能模塊的協調在無鍵盤中斷申請時,單片機通過循環對數據進行顯示和發送。
現場工作站與手持式記錄儀均是以單片機為核心的數據處理系統,手持式記錄儀軟件主程序流程圖如圖2所示。
系統開機首先清除內存,顯示待機畫面,包括歡迎界面、當前時間、“選項”和“檢測”提示行、電池容量;然后程序一直等待按鍵,當有按鍵被觸發時,程序調用對應的按鍵子程序,完成水稻生長環境各種參數的采集、系統時間設定、環境參數上傳、參數查詢等特定的功能,當進入相應的按鍵功能后,若用戶還對鍵盤操作,則還可實現深層次的功能[5]。
3.2 無線收發芯片nRF24L01的軟件設計
手持便攜式接收記錄儀通過無線收發芯片nRF24L01實現近距離的數據傳輸,nRF24L01是真正的GFSK單收發芯片、內置鏈路層,具有自動應答及自動重發功能,數據傳輸率為1或2 Mbps,125個可選工作頻道,很短的頻道切換時間可用于跳頻,可接受5V電平的輸入。水稻田間管理人員通過無線模塊進行現場各種數據采集、存儲、分析、發送、接收等功能。通過單片機C8051F023對芯片nRF24L01的通道個數、工作模式、發送和接收數據包的格式等進行設置,程序設計中采用模塊化的程序設計思路,主要包括初始化程序、接收數據程序和發送數據程序等[6]。
單片機C8051F023通過SPI接口對nRF24L01進行讀、寫操作,SPI接口是在CPU和外圍低速器件之間進行同步串行數據傳輸,在主器件的移位脈沖下,數據按位傳輸,高位在前,低位在后,為全雙工通信,數據傳輸速度總體來說比I2C總線要快,速度可達到幾Mbps。C8051F023通過SPI接口完成指令和寄存器的配置,水稻生長環境的各種參數也是由SPI接口完成的無線收發,在程序設計中光照、溫濕度、酸堿度等都被單片機轉換成二進制的數值進行運算和傳送。
3.3 記錄儀電池容量檢測程序設計
硬件系統供電電源采用可充電的鋰電池,鋰電池輸出電壓會隨著其能量的減少而下降,為避免電池能量過低而造成系統無法正常工作,系統設計能夠顯示自身的電池容量。由單片機C8051F023的AIN0.6引腳作為電源電壓采集輸入端,由于鋰電池的電壓要高于單片機所能承受的電壓范圍,所以硬件設計中采用電阻分壓來降低鋰電池的電壓,分壓后被單片機采集的電壓值與鋰電池電壓具有一定的比例關系,軟件設計時要將電壓值換算成電池容量數據,加以顯示[7]。
電源電壓容量的檢測程序如下[8]:
uchar ADC0_data(void)
{
uchar d;
uchar a,b;
ADC0CF = 0x28;//增益 = 1;轉換時鐘周期(11.0592/2)Mhz
REF0CN = 0x0b;//外部基準電壓開啟
AMX0CF = 0x00;//為獨立的單端輸入
AMX0SL = 0x06;//通道選擇AIN0.6
AD0LJST = 0; //ADC0H:ADC0L 寄存器數據右對齊。
AD0EN = 1; //ADC0 使能
AD0INT = 0; //ADC0 轉換結束中斷標志
AD0BUSY = 1;
while(!AD0INT);
b=ADC0L;
a=ADC0H;
d=(a*255+b-821)/5;//將電池容量轉換成0-39之間的數
return d;
4 結語
介紹的便攜式水稻生長環境參數采集系統,以單片機C8051F023和無線收發模塊nRF24L01核心,完成了水稻溫、濕度、風速、光照等數據的無線收發。若對系統進行適當擴展,還可實現對水稻格田水位、水稻格田進水流量、水稻格田出水流量、降雨量等數據進行傳輸。若對系統進行升級,增加硬件成本和改進軟件程序設計,還可實現圖像采集、視頻系統和入語音系統,監控中心可以隨時觀察水稻格田周圍的情況,對經過水稻格田的動物和人給予提示、警告。
參考文獻
[1]王玉梅.北方寒地水稻病蟲害無公害綜合防治技術[J],植物保護,2007(2): 69-73.
[2]黃春艷,朱傳楹,張增敏,等.北方寒地稻區稻瘟病預測預報研究[J].中國農學報,1998,14(5):27-29.
[3]趙自君.黑龍江省水稻主產區稻瘟病流行情況氣候區劃及預測預報模型的研究[D].大慶:黑龍江八一農墾大學,2008.
[4]崔秋麗.基于單片機的植物生長環境監控系統設計[J].內江科技,2012,11: 157.
[5]張濤,王金崗.單片機原理與接口技術[M].北京:冶金工業出版社,2007.
[6]吳葉蘭,黃偉平.一種基于USB總線的單片機最小系統設計[J].中國現代教育設備,2009(13):30-31.
[7]苗文山,李鐵鷹.基于GPRS技術的遠程電能表抄表系統的設計[J].機械工程與自動化,2008(4):206-210.
[8]童長飛.C8051F系列單片機開發與C語言編程[M].北京:航空航天大學出版社,2005.