摘要:在天气干燥时,花园里的植物可能因得不到及时的浇水而枯死;在下暴雨时,也可能因降雨过多涝死。为避免此类问题,本文研究了积水清除器。本设计用温度、湿度传感器实现对温度、湿度的检测,用超声波实现对水位的检测,通过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 实物照片