基于Arduino的太陽能庭院自動澆灌裝置設計
0 引言
隨著人民生活水平的不斷提高,對居住環境也有了更高的追求,越來越多的人在家里、花園或者菜園里種植各種花草樹木。這些植物需要定期灌溉,特別是夏天,天氣炎熱干燥,一天不澆水植物就會枯萎。而日常生活中大家的工作都比較繁忙,有時還需要外出,存在家中長期無人的情況,無法養護植物,植物很容易死亡或生長受損。
另外,傳統的灌溉由人為實現,灌溉的時間間隔及灌溉量都是根據自己的主觀意識來判斷,無法做到精確控制,不可避免存在灌溉量不足或過多的情況,不利于植物的生長。
目前,市面上有許多的澆灌系統[1-13]是采用定時器進行定時澆灌,這種方法顯然不科學。還有很多使用了無線傳感和網絡技術,通過網絡實時監測植物各個階段的成長情況,但這種自動澆灌裝置一般用于苗圃大棚,價格昂貴,性價比不高。對于普通家庭用,完全沒有必要掌握各項數據。因此,針對普通家用,設計一個小型的庭院用自動澆水裝置有一定的現實意義。
1 方案設計
1.1 控制系統方案
該系統由電源模塊、Arduino UNO 開發板、光敏電阻、土壤濕度傳感器、繼電器、電磁閥、蜂鳴器和水管等構成,整個設計過程和思路都是依據 Arduino UNO 開發板的系統資源,控制系統整體方案設計如圖 1 所示。
1.2 工作原理
該系統采用 Arduino UNO 開發板作為控制核心,通過對埋在土壤中的濕度傳感器對土壤濕度進行實時檢測,且利用光敏傳感器對光照強度進行實時檢測,將兩者獲取的信息反饋給控制芯片,若濕度和光強都高于預設值,通過控制模塊反饋信號,啟動蜂鳴器發出警告聲,用以提醒在院中勞作的人,灌溉系統即將啟動,盡快撤離澆灌范圍。
經過延時,待人員撤離后,Arduino 控制繼電器閉合電磁閥開始工作,通過噴頭噴灑對土壤均勻澆灌。當土壤濕度達到預設值時,控制繼電器截斷電磁閥通路,停止灌溉。整個系統的供電,采用太陽能蓄電池供電的方法,不需要專門準備插座,既利用了自然資源,又節約了電力,體現了裝置節能環保的特點。
2 硬件設計
2.1 Arduino UNORV3 開發板
主控模塊選擇近年來最受電子愛好者歡迎的Arduino,該板是一個基于易用硬件和軟件的原型平臺(開源)。該平臺起源于意大利,主要基于 AVR 單片機微控制器和相應的開發軟件而設計,其具有高度的模塊化特點[14]。Arduino Uno 是一款基于 ATmega328P 的微控制器板。它有 14 個數字輸入/輸出引腳(其中 6 個可用作 PWM 輸出),6 個模擬輸入,16 MHz 晶振時鐘,USB 連接,電源插孔,ICSP 接頭和復位按鈕。只需要通過 USB 數據線連接電腦就能供電、程序下載和數據通信。
2.2 電源模塊
本系統由光合硅能的 30 W,12 V 家用小型發電系統供電。該發電系統由 3 部分構成,18 V 30 W 光伏單晶硅太陽能發電板,10 A,12/24 V 太陽能智能控制器和 12 V 20 Ah 的蓄電池。該控制器能快速充電并穩定太陽能電池板發出的不穩定的電流,確保電池和負載的運行安全和使用壽命,并帶有 12 V 輸出口及 5 V USB 接口,可為 12 V 電磁閥及 Arduino 開發板提供電壓。
2.3 土壤濕度傳感器
本系統采用 YL69 土壤濕度傳感器,使用時插入土壤中[15]。其濕度測量范圍為 1~99%RH,分辨率為 0.5%RH,測量精度誤差為±3.0%RH,響應時間值為 5 s,正常使用的電壓范圍為 4.5~5.5 V。模塊中的電位器用于土壤濕度的閾值調節,順時針調節,控制的濕度會越大,逆時針越小。
數字量輸出 D0 可以直接與 Arduino 的數字口相連,通過 Arduino 來檢測高低電平。由此來檢測土壤濕度;模擬量輸出 A0(5 V 供電時的數值為 0~1 023),可以直接與 Arduino 的模擬輸入口相連,通過 Arduino 讀出土壤濕度更精確的數值。
本系統采用第二種辦法,直接讀模擬量的值。如果濕度的讀出數值高于 700(可根據需要自行設定),則自動開啟電磁閥澆水。圖 2 為 YL69與Arduino 的連接方法。
2.4 電磁閥
太陽能控制器上可提供 12 V 電源,因此電磁閥采用工作電壓為 DC 12 V,電流為 1.2 A 的常閉型電磁閥,管徑大小為 4 分口,便于和普通自來水龍頭匹配,也便于連接軟水管。
2.5 繼電器
由于電磁閥的工作電流有 1.2 A,而 Arduino 能提供的電流只有 50 mA,達不到驅動電磁閥的電流,所以無法直接驅動電磁閥。此時,需要用中間繼電器來進行驅動。本系統采用 Arduino 專用 3p 接口,工作電壓為 5 V 的繼電器,該繼電器為 10 A 大電流繼電器,可以驅動大電流設備。繼電器的 IN 引腳接 ArduinoD2 數字口,輸出端接電磁閥。
2.6 光敏電阻
該系統采用光敏電阻的目的是晚上不對植物進行灌溉。光敏電阻采集的光強值直接與 Arduino 的模擬輸入口相連,通過 Arduino 可以讀出光照強度的精確數值。讀出數值低于 100 時(可設定),即使土壤濕度值高于設定數值,也不進行灌溉。光敏電阻一端接 A1 口,另一端通過電阻接地。
2.7 蜂鳴器
白天,若傳感器檢測到土壤干燥,就自動澆灌,有可能會淋濕到在院中勞作的人,因此,在啟動設備前先驅動蜂鳴器發出報警,警告院中人即將噴水澆灌,待人離開后,再開啟設備。蜂鳴器負極接地,正極接 Arduino 的 D5 數字口。
3 系統軟件設計
3.1 Arduino 軟件設計
Arduino 控制系統軟件設計主要采用 C 語言編制,在 Arduino 的程序開發平臺中,完成土壤濕度傳感器采集模塊、光敏電阻采集模塊、輸出繼電器控制模塊、蜂鳴器模塊等的軟件設計。
系統上電后即檢測土壤濕度。若濕度值大于 700,則檢測光照強度值,若光強值大于 100,則使蜂鳴器得電,報警 10 s 后,使繼電器得電,繼而啟動電磁閥開始澆灌植物。直到濕度值小于 700。若濕度值小于 700 或光強值小于 100,則關閉電磁閥通路。整個系統控制流程如圖 3 所示。
3.2 程序設計
Arduino 有自有的程序開發平臺,采用 C 語言編制。程序的最后編寫了一段可以在串口監視窗口讀取實時的土壤濕度值和光照強度值的程序,通過手動來改變光強及傳感器濕度,采集的部分數據如圖 4 所示。采集的濕度、光強數據和實際值相符,且穩定,無數據丟失、失真現象。圖 5 為部分系統源程序。
4 結語
該款小型的太陽能庭院自動澆灌裝置,根據采集的濕度值、光照值與系統的預設值進行比較判斷,進而實現自動澆灌的功能。實踐表明,本系統完全能滿足家用需求,具有運行穩定,工作可靠,測量精度高,實用性強,價格低廉等優點,同時兼具節水節電的功能,便于應用推廣。
-
太陽能
+關注
關注
37文章
3405瀏覽量
114194 -
Arduino
+關注
關注
188文章
6469瀏覽量
186962
原文標題:基于Arduino的太陽能庭院自動澆灌裝置設計
文章出處:【微信號:appic-cn,微信公眾號:集成電路應用雜志】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論