摘要:文章提出了一種51單片機(jī)控制的自動(dòng)澆水系統(tǒng)。系統(tǒng)核心是STC89C52單片機(jī),外接設(shè)備包括LED顯示屏、濕度和光敏傳感器、蜂鳴器等。YL-69濕度傳感器監(jiān)測(cè)土壤濕度,光敏傳感器檢測(cè)光照強(qiáng)度,實(shí)現(xiàn)濕度和光照的實(shí)時(shí)監(jiān)控。單片機(jī)將傳感器的模擬信號(hào)轉(zhuǎn)為數(shù)字信號(hào),處理后分析土壤濕度和光照強(qiáng)度信息。系統(tǒng)會(huì)比較當(dāng)前數(shù)據(jù)與預(yù)設(shè)適宜值,根據(jù)比較結(jié)果執(zhí)行是否需要灌溉的決策。
關(guān)鍵詞:智能澆水;STC89C52單片機(jī);傳感器
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)24-0110-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)
0 引言
近年來(lái),隨著城市生活節(jié)奏的加快,人們可能會(huì)因疏忽而導(dǎo)致盆栽植物枯萎。其中,澆水不當(dāng)是盆栽植物枯萎的主要原因之一,因?yàn)槿藗兺鲆暳酥参锏臐穸刃枨?。因此,自?dòng)澆水設(shè)備應(yīng)運(yùn)而生。然而,市場(chǎng)上的設(shè)備大多功能有限,難以滿(mǎn)足不同植物的需求及環(huán)境變化的挑戰(zhàn)。為此,本文計(jì)劃開(kāi)發(fā)一種綜合性的自動(dòng)澆水系統(tǒng),該系統(tǒng)將整合土壤濕度檢測(cè)、光照強(qiáng)度監(jiān)測(cè)、自動(dòng)澆水以及水箱管理等功能,以實(shí)現(xiàn)在無(wú)人照料時(shí)的適時(shí)澆水,從而促進(jìn)植物的健康生長(zhǎng)。
1 方案論證
1.1 整體設(shè)計(jì)
設(shè)計(jì)的系統(tǒng)主要由傳感器和LCD1602、STC89C52單片機(jī)組成。其基本功能和要求如下:
1)通過(guò)使用STC89C52的單片機(jī)編程控制土壤濕度顯示;
2)通過(guò)檢測(cè)土壤水分、溫度以及光線;
3)超出設(shè)計(jì)范圍時(shí)蜂鳴的報(bào)警;
4)通過(guò)三極管驅(qū)動(dòng)水泵的灌溉;
5)畫(huà)出相關(guān)的設(shè)計(jì)圖、做出實(shí)物、寫(xiě)出設(shè)計(jì)以及總結(jié)報(bào)告。
1.2 方案論證
在設(shè)計(jì)電路板時(shí),需篩選可靠的部件,確保防干擾性能,并合理分配軟硬件資源,包括過(guò)濾、自我診斷、接線及接地等設(shè)計(jì)。在系統(tǒng)軟件和設(shè)備的設(shè)計(jì)過(guò)程中,應(yīng)充分考慮操作和維護(hù)的便捷性,采用嵌入式或簡(jiǎn)化的方法。系統(tǒng)的廣泛應(yīng)用還取決于其性?xún)r(jià)比,如通過(guò)軟件功能替代部分硬件功能來(lái)簡(jiǎn)化外圍電路。
方案一:濕度傳感器采樣土壤濕度信號(hào),轉(zhuǎn)換為數(shù)字信號(hào)后由解碼器送至顯示電路實(shí)現(xiàn)顯示,同時(shí)完成模擬到數(shù)字的轉(zhuǎn)換。
方案二:設(shè)計(jì)中采用51單片機(jī)作為主控芯片,各部分功能由時(shí)鐘晶體振蕩器、濕度測(cè)量、溫度采集、遠(yuǎn)程傳輸和液晶顯示等外部電路實(shí)現(xiàn)。
分析顯示,在首選方案中,74HC4511解碼器在ADC轉(zhuǎn)換結(jié)果超過(guò)1001時(shí)會(huì)進(jìn)入非活動(dòng)狀態(tài),導(dǎo)致部分代碼無(wú)法準(zhǔn)確顯示。顯示器易誤讀信號(hào)為低電平,因此方案一精度較低,且性能不如方案二。方案二的單片機(jī)在處理速度上優(yōu)于方案一,性?xún)r(jià)比和性能更佳。重新設(shè)計(jì)后,方案二簡(jiǎn)化了硬件電路,保持了高性能和速度。通過(guò)增強(qiáng)軟件功能可彌補(bǔ)硬件不足。綜合評(píng)估,方案二為最優(yōu)方案,兼具高性能、速度和適應(yīng)性。
2 硬件設(shè)計(jì)
2.1 主控模塊
主控模塊是自動(dòng)澆水系統(tǒng)的核心,協(xié)調(diào)功能模塊工作。選用STC89C52單片機(jī)作為主控芯片,具有高性能、低功耗等優(yōu)點(diǎn)。設(shè)計(jì)單片機(jī)最小系統(tǒng),包括電源、時(shí)鐘和復(fù)位電路,確保穩(wěn)定工作電壓、提供精準(zhǔn)時(shí)鐘信號(hào)和恢復(fù)初始狀態(tài)。設(shè)計(jì)單片機(jī)與功能模塊間的接口電路,包括傳感器、液晶顯示、報(bào)警和水泵控制模塊,實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)、智能灌溉和報(bào)警功能??蓴U(kuò)展無(wú)線通信模塊,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和控制,提高系統(tǒng)靈活性和便利性。
2.2 顯示模塊
在顯示模塊的設(shè)計(jì)中,選擇了LCD1602作為主要的顯示設(shè)備。LCD1602以其簡(jiǎn)潔的顯示界面和可靠的性能在各類(lèi)單片機(jī)控制系統(tǒng)中得到了廣泛的應(yīng)用。它能夠通過(guò)簡(jiǎn)單的接口與STC89C52單片機(jī)進(jìn)行連接,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)顯示。此外,LCD1602的功耗低,對(duì)于需要長(zhǎng)時(shí)間運(yùn)行的系統(tǒng)來(lái)說(shuō),是一個(gè)重要的優(yōu)點(diǎn)。在硬件設(shè)計(jì)中,將LCD1602的接口與單片機(jī)的I/O口進(jìn)行連接,通過(guò)編程控制其顯示內(nèi)容,以滿(mǎn)足系統(tǒng)對(duì)土壤濕度信息的實(shí)時(shí)顯示需求。
當(dāng)前,單片智能電表及筆記本電腦、監(jiān)控系統(tǒng)、PDA移動(dòng)設(shè)備、數(shù)碼相機(jī)等眾多領(lǐng)域已廣泛采用液晶顯示器。由于液晶顯示屏的脆弱性,通常使用PCB板來(lái)連接驅(qū)動(dòng)器、控制器、ROM、RAM以及顯示屏[1]。微控制器單元在操作液晶顯示模塊時(shí),須發(fā)送特定指令和數(shù)據(jù)以顯示所需內(nèi)容。在眾多設(shè)計(jì)中,1602字符的液晶顯示模塊(具備兩行每行16字符的顯示能力)較為常見(jiàn),顯示數(shù)字或字母時(shí),只須將對(duì)應(yīng)的ASCII碼發(fā)送至液晶顯示模塊即可。
2.3 傳感器
2.3.1 濕度傳感器
濕度傳感器是可變電阻。當(dāng)濕度傳感器對(duì)周?chē)h(huán)境的數(shù)據(jù)收集時(shí),電阻值會(huì)隨著數(shù)據(jù)的波動(dòng)產(chǎn)生改變。最高時(shí)電阻值為10K,最低時(shí)會(huì)變成0.1Ω。電阻的變化量取決于濕度傳感器的設(shè)置。當(dāng)電阻變化時(shí),電路的輸出電壓也會(huì)跟著發(fā)生變化。滿(mǎn)足電路要求所需的電壓是通過(guò)縮放電阻值得到的。土壤濕度傳感器原理圖如圖1所示:
本設(shè)計(jì)采用YL-69型土壤水分傳感器。土壤濕度傳感器為YL-69表面鍍鎳,傳感面積變寬,防止與土壤接觸時(shí)容易生銹問(wèn)題。其土壤濕度可大范圍控制,模數(shù)轉(zhuǎn)換可采用ADC 0832。同時(shí),采用三線制,接線簡(jiǎn)單,將GND外接至地線,將VCC外接至3.3V-5V電壓,將AO“小板濕度檢測(cè)量輸出接口”連接至模數(shù)轉(zhuǎn)換通道CHO即可[2]。該轉(zhuǎn)換器設(shè)有固定螺栓孔,方便安裝,適合使用于土壤水分檢測(cè)。當(dāng)順時(shí)針?lè)较蛐D(zhuǎn)按鈕,控制的濕度變大,用模塊上電位器進(jìn)行土壤濕度的閾值的設(shè)置,逆時(shí)針?lè)较蛘{(diào)節(jié)變小。檢測(cè)高低電平,數(shù)字輸出D0直接通過(guò)單片機(jī),檢測(cè)土壤水分。
2.3.2 光照傳感器
光照傳感器工作原理是基于內(nèi)部光電效應(yīng),光敏電阻是由硒化屏障或者硫化物屏障等半導(dǎo)運(yùn)用特殊材料制成的電阻。隨著光強(qiáng)的變化,電阻值也會(huì)隨之變化。光線越強(qiáng),電阻就越低。光敏電阻器對(duì)光很敏感,伴隨著科學(xué)技術(shù)的發(fā)展,光敏電阻的特殊特性將得到廣泛應(yīng)用。光照傳感器原理圖如圖2所示。
光敏電路采用了模數(shù)轉(zhuǎn)換器0832進(jìn)行模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換過(guò)程,其中,CH0與CH1通道具有相同的性能。因此,無(wú)論選擇使用哪個(gè)通道,均可滿(mǎn)足轉(zhuǎn)換需求。模數(shù)轉(zhuǎn)換器0832是一款具備雙通道功能的模數(shù)轉(zhuǎn)換設(shè)備。若當(dāng)前照明強(qiáng)度為50%,欲將其調(diào)整至60%時(shí),可選用電位器作為校準(zhǔn)工具。光敏電阻亦稱(chēng)為光導(dǎo)檢測(cè)器,其阻值會(huì)隨著入射光強(qiáng)度的變化而相應(yīng)改變。隨著科技的發(fā)展,光敏電阻不再限制應(yīng)用于光學(xué)測(cè)量、光電轉(zhuǎn)換等領(lǐng)域,敏感度也在不斷提高,只要是能看見(jiàn)的光,光敏電阻基本都能對(duì)其產(chǎn)生反應(yīng),電阻值也會(huì)隨之改變。
3 軟件設(shè)計(jì)
3.1 程序設(shè)計(jì)原理
系統(tǒng)軟件開(kāi)發(fā)采用模塊化設(shè)計(jì),結(jié)構(gòu)緊湊,使用C語(yǔ)言易于擴(kuò)展。濕度傳感器將濕度數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制,通過(guò)單片機(jī)發(fā)送數(shù)據(jù)完成補(bǔ)償算法,獲取實(shí)時(shí)準(zhǔn)確數(shù)據(jù)并顯示在液晶顯示器上[3]。使用51微控制器采集土壤水分傳感器數(shù)據(jù),通過(guò)模數(shù)轉(zhuǎn)換器完成模擬到數(shù)字的轉(zhuǎn)換,并建立定時(shí)中斷服務(wù)程序,定期獲取數(shù)據(jù)并自動(dòng)更新水泵狀態(tài)。
3.2 控制模塊程序設(shè)計(jì)
系統(tǒng)初始化后,接收土壤濕度信息并在OLED顯示屏實(shí)時(shí)顯示。兩塊藍(lán)牙保持互聯(lián),循環(huán)接收濕度值。執(zhí)行按鍵掃描,判斷按鍵狀態(tài)并執(zhí)行相應(yīng)功能。程序流程圖如圖3所示。
S1按鍵進(jìn)入手動(dòng)模式,S2按鍵進(jìn)入自動(dòng)模式。選擇手動(dòng)或自動(dòng)模式后,可更改閾值。S1提高閾值,S2降低閾值。手動(dòng)模式下,閾值不超過(guò)70。濕度低于閾值時(shí),蜂鳴器報(bào)警,S1關(guān)閉蜂鳴器。S3和S4分別控制水泵開(kāi)關(guān)。
3.3 OLED顯示程序設(shè)計(jì)
OLED本身沒(méi)有顯存,它的顯存依賴(lài)于SSD1306芯片。SSD1306顯存總共為128*64bit大小, SSD1306將這些顯存分為8頁(yè),每頁(yè)128字節(jié)。OLED模塊初始化之前,需要調(diào)用延時(shí)函數(shù),目的是等待電壓穩(wěn)定。初始化過(guò)程包括IIC程序的初始化、開(kāi)啟顯示功能以及清零顯存[4]。
3.4 土壤濕度光照監(jiān)測(cè)子程序
濕度監(jiān)測(cè)采用一體式傳感器,初始化步驟包括:1)設(shè)置工作模式,如單端輸入;2)延時(shí)兩個(gè)指令周期;3)拉低CS選通;4)開(kāi)始數(shù)據(jù)輸入,ADCLK=1;5)ADCLK=0,第一個(gè)下降沿;6)ADDI=channel&0x1,根據(jù)channel右移一位并與0x01相位與;7)ADCLK=0,第三個(gè)下降沿,數(shù)模轉(zhuǎn)換模塊將輸入轉(zhuǎn)換為數(shù)字量并發(fā)送給單片機(jī)。
3.5 按鍵設(shè)置子程序
子程序設(shè)置:按鍵電路與功能操作。按鍵電路有四個(gè)引腳,操作時(shí)只需連接兩個(gè)。按下按鍵,單片機(jī)的IO口檢測(cè)到低電平,電平變化觸發(fā)編程執(zhí)行的功能。判斷按鍵按下:
if(K1==0){
while(K1==0) 去抖;
mode++;
if(mode==3) mode=0; //模式切換
else if(K2==0){
delay_key(); //延遲
while(K2==0);
if(mode==1){
Max++;
if(Max>=3){Max=1;}
}
}
}
按鍵功能:加、減、確定、自動(dòng)排水。不同功能對(duì)應(yīng)不同代碼模塊。組合使用注意延遲,防止誤操作。
4 系統(tǒng)調(diào)試
4.1 硬件調(diào)試
控制模塊PCB板調(diào)試中,首先在Altium Designer軟件繪制原理圖、PCB布局走線。使用電烙鐵先焊接好元器件后,再將其他模塊插入對(duì)應(yīng)位置。硬件模塊PCB板調(diào)試中,首先在Keil軟件進(jìn)行編譯,編譯后無(wú)報(bào)錯(cuò)。使用母對(duì)母杜邦線將ST-LINK調(diào)試器和單片機(jī)對(duì)應(yīng)引腳相接。點(diǎn)擊Download,進(jìn)行程序燒入。然后用USB接口分別對(duì)顯示與控制模塊、采集與動(dòng)作模塊進(jìn)行供電。在OLED中會(huì)顯示當(dāng)前的土壤濕度值以及模式選擇。
這時(shí)候顯示的土壤濕度值小于設(shè)定閾值,蜂鳴器響,發(fā)岀報(bào)警,此時(shí)按下按鍵S1關(guān)閉蜂鳴器,按下按鍵S3開(kāi)啟水泵進(jìn)行澆水,按鍵S4關(guān)閉水泵。
4.2 軟件調(diào)試
在Keil軟件編程后,執(zhí)行編譯、鏈接、調(diào)試和仿真步驟。C51編譯器處理源代碼生成目標(biāo)文件(.OBJ)。調(diào)試時(shí),將其寫(xiě)入單片機(jī)程序內(nèi)存或在模擬器上調(diào)試。
1)按鍵電路允許用戶(hù)設(shè)定濕度報(bào)警閾值。MCU的4個(gè)按鍵引腳并聯(lián),同側(cè)連接。按鍵通過(guò)低電平檢測(cè)工作。檢測(cè)到低電平,系統(tǒng)進(jìn)入按鍵處理子程序,實(shí)現(xiàn)多種組合操作,設(shè)計(jì)中須加入延遲處理防止誤操作。
2)子程序中,持續(xù)檢測(cè)按鍵狀態(tài)[5]。如果按鍵1按下,mode遞增,若mode等于3,執(zhí)行數(shù)字減,mode切換到0。若按鍵2按下,延遲后檢測(cè),若mode為1,濕度控制范圍增加,否則范圍減小。
3)通過(guò)電位器模塊調(diào)整土壤濕度閾值,檢測(cè)周?chē)寥罎穸龋娮柚底兓绊戨娐份敵?。順時(shí)針增大濕度檢測(cè)范圍,逆時(shí)針減小。
4)系統(tǒng)監(jiān)測(cè)土壤濕度,低于閾值時(shí)系統(tǒng)會(huì)自動(dòng)啟動(dòng)水泵補(bǔ)水,同時(shí)啟動(dòng)蜂鳴器報(bào)警。
5 結(jié)束語(yǔ)
本項(xiàng)目使用STC89C52單片機(jī)開(kāi)發(fā)了一款多元組件整合的澆水裝置。系統(tǒng)依賴(lài)濕度傳感器獲取環(huán)境濕度數(shù)據(jù),實(shí)現(xiàn)實(shí)時(shí)監(jiān)控,并在LED屏上直觀顯示。用戶(hù)通過(guò)按鍵電路可設(shè)定濕度閾值。當(dāng)土壤濕度低于設(shè)定值,系統(tǒng)會(huì)自動(dòng)啟動(dòng)水泵補(bǔ)水,并伴隨蜂鳴器警告。經(jīng)過(guò)驗(yàn)證,系統(tǒng)硬件結(jié)構(gòu)簡(jiǎn)潔、成本低、可擴(kuò)展性好??傊?,該設(shè)計(jì)能滿(mǎn)足預(yù)期性能要求。
參考文獻(xiàn):
[1] 王麗鳳,魏紅梅,王宇航,等.一種自動(dòng)施肥型智能花圃盆的設(shè)計(jì)與研究[J].黑龍江科學(xué),2024,15(6):136-138,142.
[2] 劉強(qiáng)強(qiáng),李海潮,王爽,等.基于單片機(jī)控制的園林智能澆水系統(tǒng)設(shè)計(jì)[J].模具制造,2023,23(10):190-192.
[3] 宋冰倩.基于掌控板的智能澆花系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2022,12(7):114-115,118.
[4] 衡蜓.智能控制澆花系統(tǒng)設(shè)計(jì)[J].農(nóng)業(yè)技術(shù)與裝備,2022(6):38-39,42.
[5] 鄭楊煜,劉星.基于STM32的實(shí)用型家庭智能灌溉系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2023,13(1):80-81,84.
【通聯(lián)編輯:代影】