黃麗輝


摘 要:大棚葡萄種植需要嚴格控制棚內的溫度。本文主要就基于單片機的葡萄大棚溫控系統設計進行闡述。本系統以單片機為核心設計,可以根據葡萄不同生長期對溫度的要求對棚內溫度進行實時的自動控制。
關鍵詞:葡萄 ?大棚 ?單片機 ?溫控系統
葡萄對溫度非常敏感,對大棚葡萄種植來說,棚內的溫度調控是實現優產高產的關鍵環節。由于葡萄在不同生長時期對溫度的要求不同,種植管理人員必須對大棚溫度進行實時的控制和調節。為了實現大棚內溫度的自動控制、降低人工成本,筆者設計了基于單片機的葡萄大棚溫控系統。
一、溫控系統功能描述
根據種植人員的研究,大棚種植葡萄在不同生長時期需要不同的溫度,甚至在同一生長時期對白天和夜間的溫度也有具體的要求。例如,在開花期,對大棚內的溫度要求是白天20℃~25℃,夜間16℃~18℃;在果實膨大期,對大棚內的溫度要求是白天28℃~30℃,夜間20℃~22℃。本溫控系統既能根據葡萄的不同生長時期調節溫度,還能在晝夜之間進行溫度調節。系統框圖如圖1所示。
溫度檢測模塊用于采集大棚內的溫度并轉化為數字電信號,傳送給單片機。光照度檢測模塊用于采集大棚外的光照情況(以便判斷是白天還是夜間),經處理后產生白天或夜間的開關量,傳送給單片機。按鍵部分用于設置葡萄生長所需的溫度范圍。數據顯示部分用于顯示系統的工作狀態和棚內的實時溫度值。電機和加熱管均屬于溫度調節模塊,當棚內溫度超出預設的溫度范圍時,溫控裝置動作,對大棚進行升溫或降溫處理。
二、溫控系統的硬件設計
1.硬件系統構成
系統的核心控制器件采用應用廣泛的STC89C52RC單片機,還包括數字式溫度傳感器、光敏電阻開關電路、數碼管顯示電路、按鍵控制電路、繼電器及冷卻水泵、繼電器及加熱管等。
2.電路工作原理
電路原理圖見圖2,包括單片機電路、檢測電路、數據顯示電路、按鍵控制電路、溫度調節電路。
(1)單片機電路。單片機電路以STC89C52RC單片機為核心元件,5V電源可由手機充電器提供。C1、C2、X1構成時鐘電路。C3、R1和與C3并聯的按鍵共同構成按鍵復位電路。
(2)按鍵控制電路。按鍵控制電路由3個獨立按鍵組成,用于人機操作。其中,KEY1用于選擇白天、夜間和高溫、低溫,4個狀態循環出現。KEY2用于設置溫升,每按一次,溫度升高1℃。KEY3用于設置溫降,每按一次,溫度降低1℃。
(3)檢測電路。檢測電路包括溫度檢測電路和光照度檢測電路。溫度檢測電路由數字溫度傳感器DS18B20和R2組成,DS18B20是DALLAS公司生產的一種單總線數字式溫度傳感器。其主要特性是使用一個端口引腳和一條地線與單片機接口,一條總線就可以發送或接收信息,數據以串行方式傳送;每個DS18B20都有一個唯一的ROM序列號,所以可以將多個DS18B20關聯接在一根單總線上,實現多點分布測溫應用;測溫范圍為-55℃~+125℃,測量分辨率為9位~12位,最大轉換時間為750ms;用戶可以設置報警溫度上下限值;不需要其他外圍元件即可測溫。
光照度檢測電路由光敏電阻LDR和由555定時器組成的開關電路構成。隨著光照度增大,LDR的阻值下降。當外界光照度為15LUX時,RLDR=12.5kΩ,RV1上的壓降=5*5/(5+12.5)=1.43V,低于1/3Vcc,則555定時器的3腳輸出1,系統判定此時外界為夜間。當外界光照度為90LUX時,RLDR=RLDR=2.5Ω,RV1上的壓降=5*5/(5+2.5)=3.34V,高于2/3Vcc,則555定時器的3腳輸出0,系統判定此時外界為白天。
(4)數據顯示電路。數據顯示電路由數碼顯示器和片選電路組成。該電路既能顯示大棚內的溫度,又能顯示系統的工作狀態。當溫度調節系統不動作時顯示1,當加熱系統工作時(即棚內正在升溫)顯示0,當冷卻系統工作時顯示2(即棚內正在降溫)。當按鍵控制電路工作時,數據顯示電路實時顯示按鍵輸入的狀態和數據。
(5)溫度調節電路。溫度調節電路包括加熱和冷卻電路。單片機P2.0、P2.1輸出信號通過驅動電路驅動繼電器,控制繼電器的通斷,用以控制溫度調節執行元件工作與否。當OUT1或OUT2為低電平時,繼電器RL2或RL3吸合,加熱裝置或冷卻電機動作,否則繼電器斷開,溫度調節裝置不動作。
三、溫控系統的軟件設計
1.總體設計思路
葡萄大棚溫控系統軟件運用C語言進行程序設計,由主函數main()、顯示函數display()、溫度采集函數ReadTemperature()、鍵盤輸入函數zi_keyscan()、自動溫控函數zi_dong()。系統軟件設計流程圖如圖3所示。
程序初始將單片機各個參數初始化,應用數字式溫度傳感器 DS18B20采集大棚內的溫度,同時在數碼管上顯示當前溫度。應用光敏電阻電路檢測光照度,判斷當前是白天還是黑夜。然后,將當前溫度值與設定的溫度值進行比較,如果高于設定溫度就進入模式2,數碼管最左一位顯示“2”,同時啟動冷卻泵;如果低于設定溫度就進入模式0,數碼管最左一位顯示“0”,啟動加熱管;否則一直處于模式1,數碼管最左一位顯示“1”,溫度調節裝置不工作。
2.子程序設計思路
(1)溫度檢測電路。采用DS18B20進行溫度采集,單片機通過單總線(P2.2)對DS18B20進行操作。操作過程如下:初始化、寫操作、讀操作、存儲器操作命令、數據處理。DS18B20初始化主要是對單總線進行復位。
寫操作是將控制指令寫入寄存器。DS18B20的指令有:讀ROM(33H),匹配ROM(55H),跳過ROM(CCH),搜索ROM(F0H),報警搜索(ECH),穩定轉換(44H),度暫存器(BEH),寫暫存器(4EH),復制暫存器(48H),重調E2PROM(B8H),讀供電方式(B4H)?,F簡要介紹本設計用到的指令。
CCH——跳過ROM指令。每片DS18B20對應一個唯一的ROM系列號,因為此次設計只使用一片DS18B20,因此采用跳過ROM(0XCC)忽略64位ROM地址,直接向DS18B20發溫度變換命令。
44H——溫度轉換指令。啟動DS18B20進行溫度轉換,12位轉換時最長為750ms(9位93.75ms)。結果存入內部9字節的RAM中。
BEH——讀暫存器指令。讀內部RAM中9字節的溫度數據。
子程序清單略。
(2)按鍵設置子程序。按鍵設置子程序采用3個按鍵,進行4個數值的設置,分別為白天上限、下限溫度和夜間上限、下限溫度,由按鍵掃描子程序zi_keyscan()子程序提供軟件支持。按下一次設置鍵K1,進入白天的溫度上限設置,此時按下“加”鍵K2溫度值加1,按下“減”鍵K3溫度值減1。第二次按下K1,進入白天溫度下限設置狀態,加減設置同上。同理,第三次按下K1可設置夜間的溫度上限,第四次按下K1可設置夜間的溫度下限。第五次按下K1,退出溫度設置狀態,恢復到溫度顯示狀態。
子程序清單略。
(3)自動溫度控制子程序。根據大棚外的光照強弱,通過光敏電阻開關電路傳送一個開關信號到單片機的P2.3,當輸入信號為“0”時進入白天模式,程序調取白天溫度的上、下限;當輸入為“1”時進入夜間模式,程序調取夜間溫度的上、下限。然后與當前大棚內的溫度進行比較,如果棚內溫度低于設定的最低溫度,則進入模式0,啟動加熱管進行升溫;如果棚內溫度在設定溫度的上、下限之間,則進入模式1,維持現狀,溫度調節裝置不工作;如果棚內溫度高于設定的最高溫度時,則進入模式2,啟動冷卻泵進行降溫。
子程序清單略。
(作者單位:福州第一技師學院)