嚴洪立,屈 ,梅容芳
(宜賓職業技術學院,四川 宜賓 644003)
作為一種物理量,溫度給人最直觀的感受就是冷、熱,反映了分子熱運動的劇烈程度。任何農作物都生活在具有一定溫度的外界環境之中,其生理活動、生化反應等都受溫度的影響。通常,其生理生化反應隨溫度的升高而加快、降低而變慢,體現為溫度升高,生長發育加速;溫度降低,生長發育遲緩。當溫度高于或低于農作物所能忍受的溫度范圍時,將物極必反,造成其生長緩慢、停止,發育受阻,甚至死亡。因此,農作物種植應根據作物特點,調節好作物生長環境溫度,為其提供最適宜的種植溫度。
溫度的變化具有季節性和晝夜性,夏季溫度高,農作物產量品類多;冬季溫度低,農作物產量少品類少,而溫室大棚的出現降低了溫度季節性對農作物的影響。溫室大棚起源于羅馬的云母覆蓋,最早運用于促進黃瓜的早熟[1]。作為世界第二大農產品出口國的荷蘭,土地資源稀缺,但廣泛運用溫室大棚種植技術,其玻璃溫室面積高達16.5萬畝,約占全世界溫室總面積的1/4,提高了農業產值,做到了花卉、蔬果出口量居世界第一,其中,溫室蔬菜占蔬菜生產總值的3/4。
我國溫室大棚種植歷史悠久,最早可追溯至秦朝時期,但沒有得到大規模的升級與推廣。自20世紀70年代開始,我國大力引進推廣新型溫室大棚,溫室農業得到了快速發展,溫室總種植面積已躍居世界第一,但受限于規模、成本等制約,現代農業技術應用不足。單作業溫室大棚農戶無法承擔并使用大棚綜合因子測控系統,大棚種植主要靠人工維護,如溫度數據的采集依賴人體感受、溫度計測量,干預多且費時、費力,效率低,不利于充分發揮溫室大棚的優點、為農作物提供適宜的生長環境從而提高農作物產量。因此,需要一種低成本、高效率的大棚溫度采集系統,幫助農戶收集大棚各區域的溫度數據,輔助分析作物生產環境數據,改善農作物種植方式,提高產量。
系統的結構主要包含顯示模塊、控制模塊和多個溫度傳感器。其中,控制模塊采用單片機AT89C52作為中央處置器,負責處理與溫度傳感器的通信及溫度數據處理;顯示模塊為LCD1602,作為人機交互界面呈現,顯示溫度傳感器設備號及溫度數據;溫度傳感器采用DS18B20,在空間內布局多個傳感器,以總線方式向控制模塊傳遞溫度數據。系統框架如圖1所示。

圖1 系統框架
控制模塊的核心為AT89C52單片機,主要為51單片機最小系統,包含時鐘電路和復位電路。AT89C52為Atmel公司推出的8位低電壓、高性能微處理器,自帶8 k bytes的可擦寫Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器[2]。該單片機還兼容MCS-51指令系統,具有中斷、定時器/計數器、UART等常用功能,價格低廉,滿足大部分簡單的系統設計需求。
溫度傳感器是應用最多的傳感器之一,主要功能是感知溫度的變化,并將其裝換為穩定的信號輸出,品類繁多,可按測量方式和傳感器材料進行劃分。考慮到大棚布線及電路設計簡潔的實際,本系統采用美國DALLAS公司生產的單總線數字式溫度傳感器DS18B20[3],結構簡單,一體化設計,僅有3個引腳,電路簡潔,只需一個I/O數據線相連傳輸即可,且價格便宜,測量精度高,使用壽命長,既經濟又實用。
由于大棚的空間范圍比較大,為了保證測量溫度的準確性和有效性,需要對大棚內多個區域的溫度進行測量,在顯示模塊需要顯示多個數據,而傳統數碼管能夠顯示的內容有限,且不夠靈活,需要耗費多個IO口,因此,本設計在顯示模塊采用LCD1602液晶顯示。LCD1602的芯片工作電壓在4.5~5.5 V,能夠顯示兩排,共32個字符,每個字符為5×8點陣,且能夠滾動顯示,滿足系統對多個溫度數據靈活顯示功能。
系統電路中,控制模塊的XTAL1和XTAL2引腳接時鐘電路,為控制模塊提供穩定的時鐘,RST引腳與復位電路相連,實現點擊輕觸開關復位;顯示模塊的VSS電源地引腳接地,VDD電源引腳接5 V電源,VEE液晶顯示偏壓引腳與滑動變阻器相連,實現液晶偏壓調節,其核心是3根控制線和數據線的連接,連接方式有直接控制方式和間接控制方式,這兩種連接方式區別在于間接方式比直接方式可節省4個I/O口和數據刷新耗時不同。考慮到溫度數據的刷新情況,本系統采用直接控制方式,將RS數據/命令選擇引腳與P2^0相連,RW讀/寫選擇引腳與P2^1相連,E使能信號引腳與P2^2相連,D0到D7數據引腳與P0接個上拉電阻后相連接;溫度傳感器A,B,C,D的VCC電源引腳接5 V電源,GND引腳接地,DQ數據引腳接上拉電阻后與P2^3相連。系統電路如圖2所示。

圖2 系統電路
經查閱LCD1602的驅動芯片數據手冊可知,在對LCD1602進行編程時,應當遵守讀寫時的序圖規則,并滿足基本的時序時間參數要求,RS,RW,E這3根控制線在不同的指令時,應遵守基本操作[4],具體如表1所示。在讀狀態時,RS清0,RW置1,同時,E應保持高脈沖,即可從D0—D7引腳讀出狀態字;在讀數據時,RS和RW都應置1,E保持高脈沖,即可從D0—D7引腳讀出數據;在寫命令時,RS和RW都應清0,E保持高脈沖,才能向D0—D7寫入命令;在寫數據時,RS置1,RW

表1 LCD1602的4種基本操作
清0,E保持高脈沖,才能向D0—D7寫入數據。
由于DS18B20為單總線數據協議,因此,在每次操作時,數據/命令的讀寫只能一位一位地傳輸,從DS18B20的數據手冊時序圖可知,在編程時,需要先對DS18B20進行初始化;在讀操作時,先讀取一位數據,再把數據左移操作,將數據拼接為一個字節;在寫操作時,先把數據最低位取出,發送后,再把數據右移,取最低位發送,直至8位數據發送完畢。每個DS18B20都有64位光刻ROM,類似人的身份證號,具有唯一性。在單總線多路溫度傳感器采集時,需要先讀出ROM序列號,再將ROM序列號進行匹配,匹配成功后,方可將對應的傳感器溫度數據讀取出來。
系統的程序中,先初始化LCD1602,待液晶顯示初始化完成后,再初始化DS18B20,將DS18B20的ROM序列號與單總線上對應的溫度傳感器匹配后,再讀取該溫度傳感器的溫度數據,將其顯示在LCD1602液晶屏幕上,如此循環,采集刷新,實現對大棚內各區域溫度的實時采集顯示。系統程序的流程如圖3所示。
本系統在Proteus仿真軟件上進行仿真驗證,結果表明,系統設計方案可行,能夠實現基于單總線對多路溫度傳感器數據處理顯示,實現對多點溫度測量,采集顯示的溫度精度為0.1 ℃,實時數據刷新,滿足溫室大棚對數據采集的需求;本系統利用51單片機最小系統,LCD1602液晶顯示和DS18B20溫度傳感器實現,設計電路簡單,安裝調試簡單,操作方便,界面簡潔直觀,成本低廉,充分考慮了單作業溫室大棚種植農戶的經濟條件,符合農戶的實際需求,具有一定的應用價值。

圖3 系統程序的流程