衡 蜓
(晉中信息學(xué)院,山西 太谷 030800)
生活中,人工澆灌花木要耗費(fèi)大量時(shí)間,而且土壤濕度不好控制。有時(shí)由于長時(shí)間外出,家里的花木會(huì)因無人澆水而枯死。為了解決上述問題,結(jié)合自動(dòng)控制技術(shù)與傳感器技術(shù),設(shè)計(jì)了一種自動(dòng)澆花系統(tǒng)。該系統(tǒng)可實(shí)時(shí)監(jiān)測花盆里土壤的含水量,必要時(shí)進(jìn)行澆水灌溉。濕度傳感器用來采集土壤濕度,傳送到單片機(jī)進(jìn)行分析處理。單片機(jī)根據(jù)分析結(jié)果驅(qū)動(dòng)繼電器工作,同時(shí)液晶顯示器實(shí)時(shí)顯示土壤濕度。當(dāng)檢測濕度值小于設(shè)定濕度值時(shí),單片機(jī)控制繼電器線圈吸合,開啟水泵抽水澆花,土壤含水量增加,當(dāng)含水量達(dá)到預(yù)定數(shù)值時(shí),繼電器線圈斷開,水泵停止工作。該系統(tǒng)的應(yīng)用可以有效節(jié)約水資源。
本次設(shè)計(jì)采用的是AT89C51 單片機(jī),利用單片機(jī)編程靈活的特性實(shí)現(xiàn)噴灌功能。電源、時(shí)鐘搭建單片機(jī)最小系統(tǒng),按鍵用于設(shè)定噴灌的濕度值,共3 個(gè)按鍵,分別是加鍵、減鍵和設(shè)置鍵??梢栽O(shè)置濕度報(bào)警范圍。外接LCD1602 顯示器用于顯示設(shè)置濕度及實(shí)時(shí)濕度。液晶第一行顯示實(shí)際濕度,液晶第二行顯示濕度上限值和濕度下限值。系統(tǒng)整體結(jié)構(gòu)圖見圖1。
圖1 整體結(jié)構(gòu)圖Fig.1 The overall structure
系統(tǒng)選擇的各種元器件都是目前市面上常見的,需要的元器件有單片機(jī),型號為AT89C51;型號為YL-69 的土壤濕度傳感器;AD 轉(zhuǎn)換器,型號為ADC0832;LCD1602 液晶顯示器、按鍵、發(fā)光二極管、蜂鳴器、繼電器及水泵等。具體電路模塊有電源電路,作用是給整個(gè)系統(tǒng)供電,晶振和復(fù)位電路,屬于單片機(jī)的最小系統(tǒng),由傳感器和AD 轉(zhuǎn)換器構(gòu)成的前端檢測電路、按鍵和顯示電路,作用是實(shí)現(xiàn)人機(jī)交互,報(bào)警電路、驅(qū)動(dòng)電路,用來控制水泵的開啟和關(guān)斷。
檢測電路由YL-69 土壤濕度傳感器和AD 轉(zhuǎn)換器ADC0832 組成,YL-69 是一個(gè)常用的檢測土壤濕度的濕度傳感器,其原理是采用對濕度敏感的電容器,當(dāng)土壤的濕度發(fā)生改變時(shí),會(huì)使?jié)衩綦娙荽嬖诘沫h(huán)境中的介質(zhì)發(fā)生改變,導(dǎo)致濕敏電容中的電容值大小改變,電容的數(shù)值與土壤濕度值成正比關(guān)系。根據(jù)電容量的大小來判斷土壤的濕度值,由于濕敏電容有很高的靈敏度、響應(yīng)速度快、滯后量小,所以濕敏電容的特點(diǎn)是小型化和集成化。
AD 轉(zhuǎn)換器用的是ADC0832型轉(zhuǎn)換器。因?yàn)闈穸葌鞲衅鬏敵龅哪M信號,無法將監(jiān)測到的數(shù)據(jù)傳輸?shù)街骺仄髦?,所以要使用A/D 轉(zhuǎn)換器將模擬信號轉(zhuǎn)換為數(shù)字信號,再將數(shù)據(jù)傳輸?shù)街骺刂破髦?。ADC0809 轉(zhuǎn)換器雖然可以對八路信號進(jìn)行模數(shù)轉(zhuǎn)換,但是其外圍電路較為復(fù)雜,價(jià)格也相對昂貴,而ADC0832占用量小、可以多個(gè)使用且價(jià)格實(shí)惠。
ADC0832 與單片機(jī)之間主要采用了串行通信,主要使用的是CS、CLK、DO、DI 4 個(gè)引腳,因?yàn)閭鞲衅鞯囊_DI 和DO可能只有一個(gè)引腳有效,所以DI 和DO 的引腳接在單片機(jī)的同一個(gè)引腳,到時(shí)候任何一個(gè)引腳有效都能達(dá)到效果,也節(jié)約了單片機(jī)的接口數(shù)量。
按鍵是比較常用的人機(jī)交互操作,實(shí)際是一個(gè)非自鎖的輕觸開關(guān),按下時(shí)觸點(diǎn)會(huì)閉合,松開時(shí)觸點(diǎn)斷開。單片機(jī)通過檢測按鍵的高低電平變化,來判斷按鍵是否按下,通過程序的控制,就可以實(shí)現(xiàn)不同功能的選擇與設(shè)置。單片機(jī)與3個(gè)獨(dú)立的按鍵K1、K2 和K4 以及3 個(gè)電阻形成了一個(gè)獨(dú)立的鍵盤系統(tǒng),3 個(gè)按鍵依次連接單片機(jī)的P3.0 到P3.2 引腳。在手動(dòng)模式中,K1和K2分別作為減少和增加鍵,可以對設(shè)定的濕度值進(jìn)行修改,而K3為設(shè)置鍵。
該設(shè)計(jì)選用的是LCD1602 液晶顯示器,顯示的內(nèi)容為單片機(jī)監(jiān)測到的數(shù)據(jù)和設(shè)定的閾值,將LCD1602的D0-D7引腳分別接入單片機(jī)的P0.0-P0.7 引腳,為了讓顯示器正常運(yùn)行,在每個(gè)引腳處接入一個(gè)上拉電阻;VDD 和VSS 分別接電源和地;VEE連接滑動(dòng)變阻器,控制液晶顯示器的背光亮度;RS和E分別連接單片機(jī)P2.6和P2.7引腳。
報(bào)警電路由蜂鳴器和發(fā)光二極管構(gòu)成,實(shí)現(xiàn)聲光報(bào)警。聲音報(bào)警15次后停止,發(fā)光二極管一直閃爍報(bào)警。當(dāng)濕度低于設(shè)置下限時(shí),系統(tǒng)會(huì)自動(dòng)發(fā)出警報(bào),系統(tǒng)采用有源蜂鳴器來實(shí)現(xiàn)該功能。有源蜂鳴器的理想工作信號是直流電,因?yàn)槠鋬?nèi)置振蕩電路,就可以將恒定的直流電變成一定頻率的脈沖信號,從而來使鉬片振動(dòng)。操作簡單,使用靈活,適合本系統(tǒng)的開發(fā)。由于單片機(jī)的輸出能力較弱,無法滿足驅(qū)動(dòng)蜂鳴器的要求,所以需要放大單片機(jī)的輸出信號。
三極管是典型的放大電路設(shè)計(jì)元件,其可以通過內(nèi)部的PN 結(jié)原理完成小電流驅(qū)動(dòng)大電流效果,目前三極管根據(jù)其內(nèi)部結(jié)構(gòu)被分為NPN 與PNP 2 種,系統(tǒng)使用NPN 型三極管進(jìn)行設(shè)計(jì),當(dāng)NPN 型三極管的基極流過一定的電流時(shí),此時(shí)其內(nèi)部的PN 結(jié)耗盡區(qū)減小,集電極與發(fā)射極導(dǎo)通,把NPN 三極管的發(fā)射極接地,集電極接電源輸入端,基極流過一定電流時(shí),三極管開始導(dǎo)通,電源通過三極管流向地,實(shí)現(xiàn)小電流驅(qū)動(dòng)大電流功能,利用此特點(diǎn)進(jìn)行蜂鳴器的驅(qū)動(dòng)電路設(shè)計(jì)。當(dāng)三極管導(dǎo)通時(shí),蜂鳴器電路接通,蜂鳴器工作,當(dāng)三極管截止時(shí),蜂鳴器電路斷開,蜂鳴器不工作。
繼電器常被用在輸出驅(qū)動(dòng)電路中,可以看做是弱電控制強(qiáng)電工作的一類“自動(dòng)開關(guān)”。單片機(jī)引腳P1.6 通過輸出高低電平來控制驅(qū)動(dòng)電路是否接通,控制繼電器的通斷,進(jìn)而控制水泵電路的接通或關(guān)斷,同時(shí)利用發(fā)光二極管顯示輸出狀態(tài)。驅(qū)動(dòng)電路由電阻和三極管組成。三極管和單片機(jī)的P1.6 引腳相連。當(dāng)引腳被置成高電平的時(shí)候,繼電器工作。繼電器相當(dāng)于一種開關(guān)元件,通過某些特定的物理量來開通或關(guān)斷電路。在本設(shè)計(jì)中,當(dāng)濕度低于設(shè)置值時(shí),P1.6 引腳輸出高電平,三極管導(dǎo)通,繼電器線圈得電,接通電源,開啟水泵澆水。當(dāng)濕度達(dá)到設(shè)置值時(shí),P1.6 引腳輸出低電平,三極管截止,繼電器線圈斷電,關(guān)閉水泵。
系統(tǒng)軟件設(shè)計(jì)采用模塊化編程,整個(gè)系統(tǒng)包括6個(gè)模塊,分別是主程序模塊,土壤濕度檢測程序模塊,模數(shù)轉(zhuǎn)換程序模塊,按鍵掃描子程序模塊,液晶顯示器工作模塊及蜂鳴器報(bào)警程序模塊。
該智能控制澆花系統(tǒng)的軟件設(shè)計(jì)以單片機(jī)AT89C51 為設(shè)計(jì)中心,開始整個(gè)系統(tǒng)會(huì)初始化,系統(tǒng)啟動(dòng)后最先啟動(dòng)的是YL-69 土壤濕度傳感器,對待測土壤中的含水量進(jìn)行檢測分析,并將檢測收集到的數(shù)據(jù)轉(zhuǎn)變?yōu)? 個(gè)電壓模擬信號隨之輸出。這時(shí)AT89C51 單片機(jī)動(dòng)作并啟動(dòng)A/D 轉(zhuǎn)換模塊對所采集到的這2個(gè)電壓模擬信號進(jìn)行采集分析并快速響應(yīng)轉(zhuǎn)換為與之對應(yīng)的數(shù)字信號,數(shù)據(jù)會(huì)被送入到單片機(jī),使智能控制澆花系統(tǒng)能夠獲得實(shí)時(shí)檢測到的土壤濕度數(shù)據(jù),并將獲得的數(shù)字信號傳輸至單片機(jī),能夠?qū)⑦@次循環(huán)所檢測到的土壤濕度信息數(shù)據(jù)顯示于顯示屏LCD1602。LCD1602 液晶屏顯示時(shí)首先顯示屏系統(tǒng)初始化,并在顯示屏上確定顯示的位置,判斷顯示屏能否顯示檢測出的數(shù)據(jù)。如果能夠顯示,則程序結(jié)束,不能則需要寫入字符來顯示數(shù)據(jù),并指向下一個(gè)寫入數(shù)據(jù)。主程序模塊是水污染檢測系統(tǒng)軟件部分主體核心,單片機(jī)能夠?qū)⒛?shù)轉(zhuǎn)換芯片所輸出的數(shù)值跟設(shè)置的閾值相比較,同時(shí)判斷濕度值是不是在設(shè)定值范圍內(nèi),如果高于設(shè)定濕度值,繼電器線圈斷電,關(guān)閉水泵停止灌溉,如低于設(shè)定濕度值,繼電器線圈接通,開啟水泵灌溉,返回到濕度采樣,再次判斷濕度值,直到達(dá)到設(shè)定濕度值,程序結(jié)束。主程序流程見圖2。
本設(shè)計(jì)中的所有硬件和軟件都是在PROTEUS 軟件中仿真實(shí)現(xiàn)的,仿真時(shí),利用滑動(dòng)變阻器模擬濕度傳感器,使得LCD 顯示相應(yīng)的數(shù)值。再通過按鍵模塊輸入相應(yīng)的濕度上下限,當(dāng)濕度低于設(shè)定值時(shí),單片機(jī)控制蜂鳴器進(jìn)行報(bào)警,同時(shí)控制繼電器線圈吸合,打開水泵進(jìn)行澆水。當(dāng)濕度達(dá)到設(shè)定值時(shí),單片機(jī)控制繼電器線圈斷開,關(guān)閉水泵停止?jié)菜?/p>