一种以STC89C51为核心控制器的积水清除与利用装置解决方案
積水清除與利用裝置
摘要:在天氣干燥時,花園里的植物可能因得不到及時的澆水而枯死;在下暴雨時,也可能因降雨過多澇死。為避免此類問題,本文研究了積水清除器。本設計用溫度、濕度傳感器實現對溫度、濕度的檢測,用超聲波實現對水位的檢測,通過AD轉換模塊轉換成數字信號,再運用單片機進行數據的分析和處理,為顯示和報警電路提供信號,實現對水位過高時蜂鳴器報警、抽水和濕度過低的澆水。當天氣炎熱干燥時,單片機控制水泵進行澆水;下暴雨或產生積水時,單片機控制水泵進行抽水并儲存到容器里加以利用。因其具有電路結構簡單、操作簡便、可靠性高、程序簡短、工作穩定等優點,在生活家居智能化的時代有良好的應用前景。
Abstract:In dry weather, garden plants may die from not being watered in time. When it rains heavily, too much rain can also kill them. In order to avoid this kind of problem, this essay studies the water scavenger. This design uses temperature and humidity sensor to detect temperature and humidity, and ultrasonic detection to detect water level. The AD conversion module converts the digital signal, and them using SCM for data analysis and processing, provides the signal for display and alarm circuit weather the water level is too high or the humidity is too low. In dry and hot weather, SCM control water pump for watering; When there is a rainstorm, the SCM controls the pump to pump water and store it in the container for use. Because of its advantages of simple circuit structure, easy operation, high reliability, short program and stable work, it has a good application prospect in the era of intelligent home furnishing.
關鍵詞:積水清除 單片機 自動澆花 檢測
1 作品功能及總體方案
1.1功能描述
該項作品為積水清除器,可應用于花園或梯田等實際情景。下雨積水時,通過對水位的檢測,在水位超過設定的最高水位時,蜂鳴器自動報警并將積水抽出,儲存在容器中。通過對土壤干濕度的檢測,在土壤濕度低于設定的最小、最大濕度的平均值時,自動用容器中的積水進行澆水,直至土壤達到合適的濕度停止澆水。
1.2 系統組成及工作過程
本系統以STC89C51為核心控制器,包含LCD顯示模塊、水位檢測模塊、濕度檢測模塊、繼電器模塊、電源模塊、按鍵模塊、AD轉換模塊、溫度檢測模塊、蜂鳴器、水泵共十個模塊。
本系統由兩部分組成:第一部分由溫度檢測模塊檢測溫度以及水位檢測模塊實時檢測水位后發送給單片機,并由LCD1602顯示。當超聲波檢測到水位高于預設值時,蜂鳴器報警,并控制水泵進行抽水。第二部分為土壤檢測模塊實時檢測土壤干濕度,發送至單片機并在LCD顯示屏上實時顯示土壤干濕度。當土壤濕度低于預設值時由單片機控制繼電器水泵進行澆水,當土壤濕度大于預設值時停止澆水。整體設計如圖1所示。
圖1 系統組成框圖
2 硬件設計
2.1 硬件電路總體設計
圖2 硬件電路總原理圖
2.2 LCD顯示模塊設計
本系統采用的是LCD1602顯示模塊,濕度傳感器檢測濕度后,由LCD1602顯示屏顯示實時濕度。引腳1:VSS為地電源;引腳2:VCC接5V正電源;引腳3:VEE為液晶顯示器對比度調整端,通過一個2.2K的電位器對比調整電壓;引腳4:RS為寄存器選擇,高電平(1)時選擇數據寄存器,低電平時(0)選擇指令寄存器;引腳5:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作; 引腳6:E端為使能端,當E端由高電平跳變為低電平時,執行命令; 7-14引腳:D0—D7為8位雙向數據線;15引腳:背光源正極;16引腳:背光源負極。編程通過對RS、R/W、E三個引腳高低電平的調控實現初始化、寫命令、寫數據的操作從而完成LCD顯示。
圖3 LCD顯示模塊圖
2.3 單片機模塊電路設計
圖4 單片機模塊顯示圖
2.4 A/D轉換模塊電路設計
圖5 A/D轉換模塊顯示圖
2.5 超聲波測距模塊電路設計
該模塊原理:
(1)采用IO口TRIG觸發測距,給最少10us的高電平信呈。
(2)模塊自動發送 8 個 40khz 的方波,自動檢測是否有信號返回;
(3)有信號返回,通過 IO 口 ECHO 輸出一個高電平,高電平持續的時間就是超聲波從發射到返回的時間。測試距離=(高電平時間*聲速(340M/S))/2;
其中接線包括VCC供5V電源,GND為地線,TRIG觸發控制信號輸入,ECHO回響信號輸出等四個接口端。若提供一個10uS以上脈沖觸發信號,該模塊內部將發出8個40kHz周期電平并檢測回波。一旦檢測到有回波信號則輸出回響信號,回響信號的脈沖寬度與所測的距離成正比。由此通過發射信號到收到的回響信號時間間隔可以計算得到距離。
圖6 超聲波測距模塊顯示圖
2.6 溫度傳感器模塊設計
本實驗選用的是溫度傳感器DS18B20,可以滿足日常生活使用。板載DS18B20芯片DQ口進行數據傳輸,測量范圍可達-550C到+1250C,誤差±20C,精度可達小數點后兩位。數據傳輸線連接單片機相應的引腳,數據線從高電平拉至低電平,產生寫起始信號。15us之內將所需寫的位送到數據線上,在15~60us之間對數據線進行采樣,單片機可通過該芯片獲知當前環境溫度,再進行之后的數據處理或調用。
圖7 溫度傳感器模塊設計圖
2.7 蜂鳴器模塊設計
本實驗選擇的是無源蜂鳴器,其內部不帶震蕩與源,如果用直流信號無法令其工作,需使用2K-5K的方波來驅動,其優點是聲音頻率可控,通過編程可以發出“哆來咪發索拉西”方便進行自定義。
圖8 蜂鳴器模塊設計圖
2.8 水泵驅動板模塊設計
一般單片機不能直接控制水泵的(電流太小),若要用單片機控制,則需要專門的驅動芯片。L298N具有驅動能力強,發熱量低,抗干擾能力強的特點,是一種高電壓、大電流電機驅動芯片,因此用來代替繼電器實現對水泵的控制,如果沒有相應芯片,也可以利用三極管采用共發射極接法實現對水泵控制。
圖9 L298N模塊電路圖
圖10 三極管放大電路圖
3 軟件設計
3.1 主程序設計
主程序主要由超聲波自動檢測水位,水位達到一定值后,由單片機判斷是否高于設定水位值來決定是否抽水以及是否報警。土壤濕度達到一定值后,濕度檢測器檢測濕度,轉換成數字信號傳遞給單片機,由單片機判斷是否低于設定濕度來決定是否澆水。同時也可以通過按鍵設置報警液面高度和土壤干濕度范圍以及水泵的抽水澆水。其程序流程如圖11所示。
圖11 主程序流程圖
3.2 LCD模塊程序設計
本系統采用的是LCD1602顯示,通過ADC0832將單片機采集到的信息轉換成數字信號從而在顯示屏上顯示。開始后,執行初始化指令。初始化包括清屏、光標歸位、模式設置和顯示開關控制設置。然后通過對RS、R/W、E三個引腳高低電平的調控寫數據、寫指令,然后轉換成數字信號在LCD顯示屏上顯示。
圖12 LCD模塊流程圖
3.3?按鍵模塊程序設計(積水利用裝置)
本裝置共四個按鍵,單片機旁的按鍵為復位按鍵,按下后單片機復位。按鍵K1為切換按鍵,按下后可以切換為設定濕度的最大值和最小值進行改變。按下K1,Max處光標閃動時,可以通過按下K2進行Max,Min值的增加,通過按下K3進行Max,Min值的降低,從而對不同的植物進行不同程度的澆水。
圖13 按鍵模塊流程圖
3.4 按鍵模塊程序設計(積水清除裝置)
本裝置共四個按鍵,可實現報警值的設定和手動打開水泵。長按set鍵進入設置界面,兩個按鍵負責增加和降低報警值。設置完后按set鍵退出。還有一個按鍵用來手動抽水。
4 實驗及結果
4.1超聲波檢測液面距離
利用單片機串口與電腦相連將超聲波模塊采集數據發送到電腦,可以將超聲波模塊發送數據實時打印出來。
圖14 串口接收數據
實際中超聲波采集數據通過LCD1602顯示出來:(單位mm)
圖15.1 LCD1602顯示距離
當達到預設報警值時LCD1602中顯示“WARN!”
圖15.2 LCD1602顯示報警狀態
長按按鍵SET可進入設置界面修改報警閾值(默認為0.03M):
圖15.3 LCD1602設置界面
4.2 溫度模塊
通過DS18B20實現對環境溫度的監控,由LCD1602顯示:(單位:0C)
圖16 LCD1602顯示環境溫度
4.3 積水利用裝置(仿真)
1.繪制Proteus仿真實驗原理圖如下:
圖 17 仿真實驗原理圖
2.開始仿真實驗:
(1)首先模擬自動模式下的工作。先設置濕度上下限分別為Max:60%,Min:30%,而當前濕度為62%,大于Max與Min的平均值,所以不抽水。
圖18 自動模式狀態模擬
(2)調節滑動變阻器模擬土壤濕度變化,使當前濕度為43%,小于Max與Min的平均值,發光二極管開始發光,電動機轉動模擬水泵開始抽水。
圖19 模擬土壤濕度變化(1)
(3)調節滑動變阻器模擬土壤濕度變化,使當前濕度為45%,等于Max與Min的平均值,發光二極管熄滅,電動機模擬水泵抽水停止。
圖20 模擬土壤濕度變化(2)
(4)模擬自動模式下,改變濕度上下限分別為Max:50%,Min:40%,而當前濕度為46%,大于Max與Min的平均值,電動機不轉動,即水泵不抽水。
圖21 模擬土壤濕度變化(3)
(5)調節滑動變阻器模擬土壤濕度變化,使當前濕度為41%,小于Max與Min的平均值,發光二極管開始發光,電動機轉動模擬水泵開始抽水。
圖22 模擬土壤濕度變化(4)
(6)調節滑動變阻器模擬土壤濕度變化,使當前濕度為45%,等于Max與Min的平均值,發光二極管熄滅,電動機模擬水泵抽水停止。
圖23 模擬土壤濕度變化(5)
(7)切換為手動模式下的工作,設置濕度上下限分別為Max:50%,Min:40%,而當前濕度為45%,小于Max值,發光二極管開始發光,電動機轉動模擬水泵開始抽水。
圖24 手動模式狀態模擬
(8)調節滑動變阻器模擬土壤濕度變化,使當前濕度為50%,等于Max值,此時發光二極管熄滅,電動機模擬水泵抽水停止。
圖25 模擬土壤濕度變化(1)
而土壤濕度變化到大于Max值時(例如59%),水泵也不再抽水。
圖26 模擬土壤濕度變化(2)
4.4 積水利用裝置(實驗)
1.實驗開始,干燥度檢測1%,低于Max,Min的平均值,LED亮,水泵開始抽水。
圖27 實驗操作步驟(1)
圖28 實驗操作步驟(2)
圖29 實驗操作步驟(3)
附錄1 實物照片
總結
以上是生活随笔為你收集整理的一种以STC89C51为核心控制器的积水清除与利用装置解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: laravel-admin 批量操作
- 下一篇: FPGA之简易频率计的设计