龍光利
摘要:為了實現農業溫室環境的測量、調節和自動化管理,利用單片機設計了1種無線智能多功用農業監測裝置,該裝置可分為硬件、軟件2個部分,硬件有單片機最小系統、數據采集電路、無線收發電路、數據處理終端;軟件有數據采集終端程序和數據處理終端程序。用C語言編寫程序,在keil4環境下進行編譯,通過后下載到單片機STC89C52中,將單片機與其他相關元器件焊接在PCB板上后上電,可實現空氣濕度、空氣溫度、光照強度和土壤濕度的實時采集和無線傳輸,被測參量閾值可輸入和查看、數據可上傳至PC上位機并可繪制相關測量項的數據曲線。
關鍵詞:傳感器;單片機;無線發送;無線接收
中圖分類號:TP212.9;S126文獻標志碼:A 文章編號:1002-1302(2014)11-0424-04
隨著經濟的不斷發展,在農業大棚中種植蔬菜水果已經得到普及[1]。利用傳感器采集室溫、空氣濕度、土壤濕度、光照強度等農作物生長狀態相關參數,結合作物生長所需最佳條件,可將室內溫度、濕度、光照、水量、肥量、氣壓等因素綜合調節到最佳狀態,形成大棚農業環境監測系統。大棚農業環境監測系統可采用有線和無線通信的方式,有線通信技術雖然具有設備操作性好、抗干擾能力強等優點[2],但大棚內的數據采集大多在廣闊的空間內進行,需要密布傳感器節點,這就導致大棚內線纜縱橫交錯,棚內作業不便,靈活性和擴展性能差,系統安裝及維護成本高;同時因實際應用環境潮濕、高溫、土壤及空氣具有較強的酸堿性,易導致通信電纜的老化。因此,無線智能多功用農業裝置對節省人力物力有著重要意義。
1系統原理
設計的無線智能多功用農業監測裝置的原理框架圖如圖1所示。系統分為數據采集終端和數據處理終端,其中數據采集終端包括單片機最小系統、傳感器電路、無線發射電路;數據處理終端包括無線接收電路,單片機最小系統、矩陣鍵盤顯示電路、控制接口、TTL轉USB接口及PC上位機等。系統工作原理是:空氣濕度傳感器和土壤濕度傳感器測量輸出電壓,經過模數轉換為數字量后存入單片機中;空氣溫度傳感器和光照傳感器都直接將數字量輸出給單片機,單片機接收測量數據后經無線發射電路發射。在數據處理終端,單片機對無線接收到的數據進行處理,通過LCD1602顯示出來,并將數據依照通信協議經TTL轉USB接口上傳給PC上位機,上位機則根據數據繪制相關測量項的數據曲線,并保存在數據庫中;同時單片機連續地掃描矩陣鍵盤,可通過矩陣鍵盤輸入
和查看各測量項閾值。
2硬件電路設計
2.1單片機最小系統設計
數據采集終端和數據處理終端都選用單片機STC89C52,單片機最小系統[3]由STC89C52單片機、時鐘電路、復位電路組成,主要對各個模塊進行調度控制。STC89C52單片機是一種低功耗的8位CMOS微控制器,兼容51系列單片機,內部具有8kB的FLASH程序存儲空間、256B的內部RAM、32個可編程I/O口線、3個16位的定時/計數器、全雙工UART串行接口、內置看門狗定時器、雙數據指針。時鐘電路采用內部時鐘,在單片機的XTAL1和XTAL2引腳之間接1個11.0592MHz的外部晶振,選擇2個30pF的瓷片電容,串接在晶振兩腳幫助晶振起振,內部時鐘頻率為11.0592MHz。復位電路采用手動加上電自動復位方式,既具有上電自動復位的功能,又能夠通過小按鈕手動復位。
2.2數據采集電路的設計
數據采集電路主要由STC89C52單片機最小系統、各種傳感器、模數轉換電路和Si4432芯片構成的無線發射模塊等組成。
2.2.1空氣濕度傳感器空氣濕度傳感器選擇ATM1001,輸出量為電壓,經由ADC0809模數轉換為數字量傳輸到STC89C52R單片機。空氣濕度傳感器連接電路如圖2所示,4個管腳分別為Vcc、GND、Vout、NULL,其中Vcc接5V直流電源,GND為電源地,Vout與模數轉換ADC08091腳(即IN3)相連,NULL懸置。空氣濕度傳感器ATM1001輸出電壓與相對濕度的對應關系見表1。
由表1可知,ATM1001空氣濕度傳感器的輸出電壓(U0)與空氣相對濕度(RH)有良好的線性關系,計算公式為:RH=(U0/0.3)×100%。但空氣相對濕度達到100%時,ATM1001空氣濕度傳感器的電壓輸出值為3V;而ADC0809采用的是+5V的單電源基準電壓,最大濕度電壓未能達到ADC0809芯片的滿量程,最大數字輸出量為153,因此濕度歸一化處理公式為:RH=(ADC/153)×100%。
2.2.2土壤濕度傳感器土壤濕度傳感器的原理是電容兩端的電壓隨電容介質改變而變化,當介質為空氣時,兩端輸出電壓最大;而當傳感器插入濕潤的泥土中時,介質的導電性較好,兩端電壓就會隨著濕度的增大而降低。土壤濕度傳感器采用YL-69,呈倒U形,兩極采用加寬的感應銅箔,表面采用鍍鎳方式,可以更好地防止生銹,提升導電性能,延長使用壽命。輸出一端接地,一端與ADC0809模數轉換電路2腳(即IN4)相連,同時加5.1Ω電阻與5V電源相連,以增強抗干擾性能。
2.2.3光照強度傳感器光照強度傳感器采用ROHM原裝BH1705FVI的數字模塊GY30,I2C總線結構,光照度范圍為0~65535lx,內置16bA/D轉換器,直接輸出數字量,接近于視覺靈敏度的分光特性,可對光照亮度進行1lx的高精度測量。模塊內部包含通信電平轉換,可與5V單片機I/O引腳直接相連。光照強度傳感器連接電路如圖3所示。
圖3中的4個管腳為Vcc、SCL、SDA、ADDR,其中Vcc接3~5V直流電源,SCL為I2C總線時鐘引腳,SDA為I2C總線數據引腳,ADDR為BH1750I2C設備地址引腳,GND為電源地。
2.2.4空氣溫度傳感器空氣溫度傳感器采用數字空氣溫度傳感器DS18B20,采用獨特的單線接口方式,在與微處理器連接時僅需要1條口線即可實現微處理器與DS18B20的雙向通訊[2]。測溫范圍-55~125℃,固有測溫誤差0.5℃[4-5],工作電源為3~5V(直流);完成測量后,測量結果以9~12位數字量方式串行傳送給單片機。endprint
2.2.5模數轉換電路ADC0809模數轉換電路如圖4所示。空氣濕度和土壤濕度傳感信號可接入IN0~IN7,可將空氣濕度和土壤濕度傳感模擬信號變為數字信號送給單片機處理。ADC0809允許最多8路輸入電壓,轉換數據由8位并行口輸出,輸出數字量范圍為0~255,基準模數轉換電路采用8位模數轉換芯片ADC0809,芯片轉換速率可達130μs/次,工作電壓+5V,輸入電壓0~5V,工作時鐘頻率為500kHz,時鐘由單片機定時中斷提供。
2.3無線收發電路的設計
無線發射和接收均采用SiliconLabs公司Si4432芯片構成的模塊[6],該芯片集成具有-118dBm的超高靈敏度,可提供極佳的鏈路質量,在擴大傳輸范圍的同時將功耗降至最低,工作頻段范圍為240~960MHz,最高輸出功率可達+20dBm,在最大功率設置條件下,開闊通信距離可達1km或更遠。Si4432內部集成了天線分集、休眠喚醒定時器、64B收發FIFO等功能;同時,Si4432芯片還具有跳頻和信道信號強度評估功能。其外圍電路僅需要1個30MHz晶振及幾個電阻、電容、電感等[4]。Si4432射頻連接電路如圖5所示,其中單片機與Si4432芯片通過標準的串行接口(SPI)相連,通過SPI口配置Si4432內部寄存器和實現數據的讀寫;Si4432的TX引腳為射頻信號發送端,RX引腳為差分信號接收端,射頻信號的發射和接收端通過RF開關芯片UPG2214與天線相連。
2.4數據處理終端的設計
數據處理終端主要包括Si4432芯片構成的無線接收模塊[7]、STC89C52單片機最小系統、LCD1602液晶顯示電路、4×4矩陣鍵盤電路、控制接口、TTL轉USB接口[8]及PC上位機等。
LCD1602是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊,由若干個5×7或者5×11點陣字符位組成,每個點陣字符位都可以顯示1個字符,每位之間有1個點距的間隔,每行之間也有間隔[9];LCD1602顯示的內容為16×2,即可以顯示2行、每行16個字符的液晶模塊。
矩陣鍵盤用于閾值輸入和查看。按鍵數量大于4個時,可將鍵盤接成矩陣鍵盤電路,工作原理是在單片機P口高四位送1,低四位送0,然后不斷循環檢測高四位是否為1,若為1,說明無按鍵按下,若其中有1位為0,說明有按鍵按下,并且通過行列掃描的方式可以獲取按鍵所在的行和列,從而推算出所按的按鍵,并執行相應的按鍵處理程序。
3軟件設計
3.1數據采集終端程序設計
數據采集終端程序包括主程序、模數轉換子程序、無線發送子程序等。主程序初始化之后,循環執行光照強度、空氣溫度、空氣濕度、土壤濕度和無線發送子程序。
進入模數轉換子程序后,單片機給ADC0809芯片的ALE管腳1個下降沿鎖存地址,然后START管腳在1個下降沿后開始轉換,并等待EOC管腳變高電平后,將OE管腳拉高,從ADC0809的8位并行口取出轉換結果存入單片機的緩沖區中。當完成光照強度、空氣濕度、空氣溫度、土壤濕度采集后,數據存入發送緩沖數組,并進行格式轉換后開啟發送,發送采用串口發送,工作方式選擇方式1,數據位有9位,波特率選擇9600Bd。發送過程是依次發送地址、數據長度、采集數據、生成校驗位并發送,返回主程序。
3.2數據處理終端程序設計
數據處理終端程序包括主程序、鍵盤掃描子程序、閾值輸入子程序、無線接收中斷子程序等。
數據處理終端主程序流程見圖6,可以看出,數據處理終端初始化之后,顯示開機界面,調用鍵盤掃描子程序,調用閾值輸入子程序;鍵盤掃描完畢且退出閾值子程序后,讀取接收成功標志位,標志位等于“1”,表示成功接收正確的數據,則將緩沖區數據存入測量值數組中,然后顯示測量值,將測量數據通過USB口上傳至PC上位機,并返回鍵盤掃描循環接收處理;標志位等于0,表示未能成功接收,則重新讀取接收標志位。
[FK(W19][TPLGL6.tif][FK)]
鍵盤掃描子程序:使用4×4矩陣鍵盤,用于閾值輸入和閾值查看;鍵盤掃描子程序可分為:判斷按鍵事件程序、獲取鍵值程序以及去抖動程序。進入子程序運行時,先拉低矩陣鍵盤4個端口的電平,執行判斷按鍵事件程序,輪流掃描鍵盤其他4個端口,端口低,為有鍵按下的觸發信號,當發現有任何一個按鍵按下,首先要延時進行消抖操作以防止按鍵誤觸和按鍵次數誤判,消抖之后掃描到按鍵依然按下則獲取按鍵鍵值,等待按鍵釋放,然后返回按鍵值。
閾值輸入子程序流程見圖7,與鍵盤掃描子程序相配合,主要負責光照強度、空氣溫度、空氣濕度、土壤濕度等測量項上下限的輸入、保存以及查看,當掃描到鍵盤有按鍵按下時,讀取鍵值,判斷鍵值等于15時進入閾值顯示界面顯示閾值;判斷鍵值大于9、小于13時,進入閾值輸入步驟;鍵值等于10、11、12、13時,分別進入空氣濕度、土壤濕度、光照強度、空氣溫度的閾值輸入界面,首先輸入最低值,再按14號鍵確認輸入,然后輸入最大值,再按14號鍵確認輸入,完成一次閾值輸入流程,跳出子函數。當有鍵按下并且按鍵值大于9時,進入閾值查看和閾值輸入子程序,其中當按鍵值等于15時查看4組閾值;按鍵值小于15大于9之間的4個鍵位(10、11、12、13鍵位)分別代表1個測量項閾值輸入指令。
無線接收中斷子程序流程如圖8所示。當串口收到數據,觸發中斷進入中斷程序,在中斷程序中,首先校驗接收到的第1位地址數據,地址正確時才繼續接受之后的數據,完成數據接收后,生成校驗位并與接收到的校驗位作對比,相等時存入緩存數組中。
用C語言編寫數據采集終端程序和數據處理終端程序,在keil4環境下進行編譯[10],通過后分別下載到2片單片機STC89C52中。
4試驗分析endprint
將所有單元電路在Proteus平臺上仿真,通過后設計制作PCB板[11],將下載程序的單片機與其他元器件焊接在PCB板上,上電,進行功能測試。可借助串口調制助手調試無線收發過程,先發送1組固定數據,在發送語句之前插入1句上傳語句,在接收端將接收的數據上傳至串口調制助手顯示出來,若收到該上傳語句,可判斷發送程序發送成功。檢查LCD1602電路,連接無誤后,下載1段與顯示無關的程序到單片機,調節液晶對比度使之顯示正常。在無線模塊調試完成后,將數據采集終端和數據處理終端配合進行整體聯調,將數據采集部分放置在野外環境,對光照強度、空氣溫度、空氣濕度、土壤濕度等進行采集,并將采集數據進行無線傳輸,開闊無線傳輸距離可達數百米,最遠可達1km。數據處理終端可實現數據無線接收、被測參量閾值可輸入、查看和報警,數據經TTL轉USB接口可上傳給PC上位機,上位機則根據數據可繪制相關測量項的數據曲線,并可保存在數據庫中。
5結論
無線智能多功用農業監測裝置可實現空氣濕度、空氣溫度、光照強度和土壤濕度的實時采集和無線傳輸,被測參量閾值可輸入和查看、數據可上傳PC上位機并可繪制相關測量項的數據曲線,為農業自動化提供了一種解決方案。此外,本裝置可增加攝像頭和自動閥門[12],可監控并了解農場現狀,實現自動灌溉。
參考文獻:
[1]龍慧.無線傳感器網絡發展現狀研究[J].單片機與嵌入式系統應用,2011,11(6):9-12.
[2]呂振,林振楊,何武林,等.基于ZigBee的大棚農業監測系統的設計與實現[J].貴州農業科學,2012,40(4):227-230.
[3]李建忠.單片機原理及應用[M].2版.西安:西安電子科技大學出版社,2008.
[4]吳健,侯文,鄭賓.基于STC89C52單片機的溫度控制系統[J].電腦知識與技術,2011,7(4):902-903,919.
[5]吳德道,邵龍安.數字測溫系統的設計[J].電腦知識與技術,2011,7(35):9121-9122.
[6]李正民,王建輝,劉偉偉.基于Si4432的無線射頻通信模塊的設計與實現[J].測控技術,2012,31(4):40-43.
[7]高仁璟,劉國新,唐禎安.基于Si4432的無線射頻遙控系統設計[J].通信技術,2010,43(10):137-139.
[8]于波,胡毅,文江濤.基于CP2102的USB接口設計[J].國外電子測量技術,2007,26(3):40-42.
[9]SongYX,GongCL,FengY,etal.Designandsimulationofdot-matrixdisplaycircuitbasedonproteusinsinglechipmicrocomputer[J].JournalofNanoelectronicsandOptoelectronics,2012,7(2):107-112.
[10]段向東,毋茂盛,毋玉芝.KeilC51程序設計中幾種精確延時方法[J].單片機與嵌入式系統應用,2007,7(12):33-35.
[11]陳超.ProtelDXP元件封裝庫的研究[J].現代電子技術,2009,32(24):163-167.
[12]ShiEX,YangJL,LiJ,etal.DesignofindoormobilerobotpositioningsystembasedonSTC12C5616ADMCUandnRF24L01[J].AdvancedScienceLetters,2012,11(1):429-432.endprint
將所有單元電路在Proteus平臺上仿真,通過后設計制作PCB板[11],將下載程序的單片機與其他元器件焊接在PCB板上,上電,進行功能測試。可借助串口調制助手調試無線收發過程,先發送1組固定數據,在發送語句之前插入1句上傳語句,在接收端將接收的數據上傳至串口調制助手顯示出來,若收到該上傳語句,可判斷發送程序發送成功。檢查LCD1602電路,連接無誤后,下載1段與顯示無關的程序到單片機,調節液晶對比度使之顯示正常。在無線模塊調試完成后,將數據采集終端和數據處理終端配合進行整體聯調,將數據采集部分放置在野外環境,對光照強度、空氣溫度、空氣濕度、土壤濕度等進行采集,并將采集數據進行無線傳輸,開闊無線傳輸距離可達數百米,最遠可達1km。數據處理終端可實現數據無線接收、被測參量閾值可輸入、查看和報警,數據經TTL轉USB接口可上傳給PC上位機,上位機則根據數據可繪制相關測量項的數據曲線,并可保存在數據庫中。
5結論
無線智能多功用農業監測裝置可實現空氣濕度、空氣溫度、光照強度和土壤濕度的實時采集和無線傳輸,被測參量閾值可輸入和查看、數據可上傳PC上位機并可繪制相關測量項的數據曲線,為農業自動化提供了一種解決方案。此外,本裝置可增加攝像頭和自動閥門[12],可監控并了解農場現狀,實現自動灌溉。
參考文獻:
[1]龍慧.無線傳感器網絡發展現狀研究[J].單片機與嵌入式系統應用,2011,11(6):9-12.
[2]呂振,林振楊,何武林,等.基于ZigBee的大棚農業監測系統的設計與實現[J].貴州農業科學,2012,40(4):227-230.
[3]李建忠.單片機原理及應用[M].2版.西安:西安電子科技大學出版社,2008.
[4]吳健,侯文,鄭賓.基于STC89C52單片機的溫度控制系統[J].電腦知識與技術,2011,7(4):902-903,919.
[5]吳德道,邵龍安.數字測溫系統的設計[J].電腦知識與技術,2011,7(35):9121-9122.
[6]李正民,王建輝,劉偉偉.基于Si4432的無線射頻通信模塊的設計與實現[J].測控技術,2012,31(4):40-43.
[7]高仁璟,劉國新,唐禎安.基于Si4432的無線射頻遙控系統設計[J].通信技術,2010,43(10):137-139.
[8]于波,胡毅,文江濤.基于CP2102的USB接口設計[J].國外電子測量技術,2007,26(3):40-42.
[9]SongYX,GongCL,FengY,etal.Designandsimulationofdot-matrixdisplaycircuitbasedonproteusinsinglechipmicrocomputer[J].JournalofNanoelectronicsandOptoelectronics,2012,7(2):107-112.
[10]段向東,毋茂盛,毋玉芝.KeilC51程序設計中幾種精確延時方法[J].單片機與嵌入式系統應用,2007,7(12):33-35.
[11]陳超.ProtelDXP元件封裝庫的研究[J].現代電子技術,2009,32(24):163-167.
[12]ShiEX,YangJL,LiJ,etal.DesignofindoormobilerobotpositioningsystembasedonSTC12C5616ADMCUandnRF24L01[J].AdvancedScienceLetters,2012,11(1):429-432.endprint
將所有單元電路在Proteus平臺上仿真,通過后設計制作PCB板[11],將下載程序的單片機與其他元器件焊接在PCB板上,上電,進行功能測試。可借助串口調制助手調試無線收發過程,先發送1組固定數據,在發送語句之前插入1句上傳語句,在接收端將接收的數據上傳至串口調制助手顯示出來,若收到該上傳語句,可判斷發送程序發送成功。檢查LCD1602電路,連接無誤后,下載1段與顯示無關的程序到單片機,調節液晶對比度使之顯示正常。在無線模塊調試完成后,將數據采集終端和數據處理終端配合進行整體聯調,將數據采集部分放置在野外環境,對光照強度、空氣溫度、空氣濕度、土壤濕度等進行采集,并將采集數據進行無線傳輸,開闊無線傳輸距離可達數百米,最遠可達1km。數據處理終端可實現數據無線接收、被測參量閾值可輸入、查看和報警,數據經TTL轉USB接口可上傳給PC上位機,上位機則根據數據可繪制相關測量項的數據曲線,并可保存在數據庫中。
5結論
無線智能多功用農業監測裝置可實現空氣濕度、空氣溫度、光照強度和土壤濕度的實時采集和無線傳輸,被測參量閾值可輸入和查看、數據可上傳PC上位機并可繪制相關測量項的數據曲線,為農業自動化提供了一種解決方案。此外,本裝置可增加攝像頭和自動閥門[12],可監控并了解農場現狀,實現自動灌溉。
參考文獻:
[1]龍慧.無線傳感器網絡發展現狀研究[J].單片機與嵌入式系統應用,2011,11(6):9-12.
[2]呂振,林振楊,何武林,等.基于ZigBee的大棚農業監測系統的設計與實現[J].貴州農業科學,2012,40(4):227-230.
[3]李建忠.單片機原理及應用[M].2版.西安:西安電子科技大學出版社,2008.
[4]吳健,侯文,鄭賓.基于STC89C52單片機的溫度控制系統[J].電腦知識與技術,2011,7(4):902-903,919.
[5]吳德道,邵龍安.數字測溫系統的設計[J].電腦知識與技術,2011,7(35):9121-9122.
[6]李正民,王建輝,劉偉偉.基于Si4432的無線射頻通信模塊的設計與實現[J].測控技術,2012,31(4):40-43.
[7]高仁璟,劉國新,唐禎安.基于Si4432的無線射頻遙控系統設計[J].通信技術,2010,43(10):137-139.
[8]于波,胡毅,文江濤.基于CP2102的USB接口設計[J].國外電子測量技術,2007,26(3):40-42.
[9]SongYX,GongCL,FengY,etal.Designandsimulationofdot-matrixdisplaycircuitbasedonproteusinsinglechipmicrocomputer[J].JournalofNanoelectronicsandOptoelectronics,2012,7(2):107-112.
[10]段向東,毋茂盛,毋玉芝.KeilC51程序設計中幾種精確延時方法[J].單片機與嵌入式系統應用,2007,7(12):33-35.
[11]陳超.ProtelDXP元件封裝庫的研究[J].現代電子技術,2009,32(24):163-167.
[12]ShiEX,YangJL,LiJ,etal.DesignofindoormobilerobotpositioningsystembasedonSTC12C5616ADMCUandnRF24L01[J].AdvancedScienceLetters,2012,11(1):429-432.endprint