刘瑞妮
(西安翻译学院 工程技术学院, 西安 710105)
现今,很多生活在城市中的人们纷纷在家中或办公室种植各种绿色植物,用于净化空气,改善生活、工作环境,享受田园生活,陶冶情操。但是人们往往忙于工作而忘记给花草定期浇水,尤其到了夏天因无人浇水或者使用不恰当的方法浇水导致植物不能很好地生长甚至干死的事情时有发生。自动浇花系统就给这种忘记浇花或者使用不恰当的方式浇花的人提供了方便,这种设计可以在没人的情况下对植物进行合理的灌溉[1-5]。
目前,我国使用的自动浇花系统多数是从国外进口的,价格昂贵,且大部分都是使用虹吸原理进行灌溉的[6],这种灌溉的方法是连续地、不间断的,采用这种浇花系统仅仅只能保证花卉不因缺水而干枯死,但是对于植物来讲并不是其生长的良好环境,并且浪费水资源。另有一些自动浇水系统,采用定时定量浇灌的方式[7],不能实现“按需”浇灌。本文设计一种自动浇花装置,在浇水的过程中,可以根据植物需要水分的不同,对植物进行浇水控制,可以在没有人的环境下对植物进行按需浇灌,达到自动浇水还不浪费水的目的。
根据实际需要,自动浇花系统应包括以下主要功能:
(1) 能够依据不同花卉的生存条件来设置不同的土壤湿度的上、下限值;
(2) 可以准确检测土壤的当前湿度;
(3) 显示检测的实际湿度数据和设置的上、下限湿度值;
(4) 将采集的数据通过单片机进行分析,进一步决定水泵的自动开或关动作。
根据以上要求设计出自动浇花系统,系统主要包括单片机、电源电路、显示电路、土壤检测模块、按键电路、水泵电路六部分,其原理图如图1所示。
电源电路为系统提供需要的电源,保证系统正常工作。传感器模块主要为湿度传感器,对土壤的实际湿度进行检测,检测结果送入A/D转换器转换成数字量后传送给控制单片机。单片机作为系统的核心部件,主要功能是将实际湿度数据和设定的浇水阈值进行比较,如果当前土壤湿度在正常范围内,不需要浇水,则水泵不工作;如果湿度低于要求的下限值,单片机会输出一个信号,命令水泵工作,对花卉进行浇水。当水泵灌溉时,湿度检测器会持续检测土壤的实时湿度,当湿度达到设置的上限值时,系统就会中断水泵的灌溉。
图1 系统原理框图
土壤湿度传感器又称土壤水分传感器,土壤含水量传感器。本系统使用YL-69湿度传感器来检测土壤当前湿度,其灵敏度可调,模块双输出,数字量输出简单,模拟量输出精确,工作稳定。为了显示实时湿度值,并获得较高的精确度,系统从A0引脚获得模拟量,需要通过A/D 转换电路将其转换成数字量后输出给单片机。
A/D 转换部分选用性价比较高的8位A/D转换芯片ADC0832,它具有转换速度快且性能稳定,体积小,功耗低,兼容性强,性价比高而深受欢迎,可以适应一般模拟量的转换要求,如图2所示。
图2 湿度检测和A/D 转换电路
图2为湿度检测和A/D 转换电路,其中JP3为湿度传感器的探头,它将采集的湿度数据模拟量传送给A/D 转换电路,转换为数字量后传送给单片机,最后通过单片机对这组数字信号进行处理后将其显示在显示器上。
单片机采用AT89C51,与显示电路、A/D转换电路的连接如图3所示。
AT89C51单片机指令简单,外围电路简单,硬件设计方便,IO口操作简单,资源丰富,性价比高,具有可编程可擦除的功能,方便程序设计人员进行代码修改,且程序烧写简单,数据处理性能较高, AT89C51控制功能完善,具有较高的效率,如今在嵌入式控制系统中已经得到了广泛的应用[8]。
系统显示电路主要用于显示传感器检测的实际湿度和系统设定的上下限值,采用液晶显示器LCD1602,可以同时显示字母、数字和符号等,最多可以显示16x2个字符。能够同时显示土壤实际湿度、设置的上下限湿度值与继电器状态。
图3 单片机与显示电路、A/D转换电路连接图
该部分电路主要是接收单片机发送的指令,根据指令决定水泵的开启或关闭。水泵控制电路如图4所示,三级管Q2是PNP型的,其基级B接单片机的P3.7口,用于接收单片机发送的指令。采用电磁继电器控制水泵的工作状态;发光二极管为继电器工作状态指示灯,当继电器吸合时,LED灯点亮。
当单片机P3.7引脚输出低电平时,就会使三极管导通,继电器吸合,同时状态指示灯点亮,继电器常开触点闭合,水泵开始工作。反之,单片机P3.7引脚输出高电平时,三极管截止,继电器释放,同时状态指示灯熄灭,继电器常开触点断开,水泵停止工作。
为了方便设定土壤湿度上、下限值,设计了按键电路,其原理如图4、图5所示。
图4 水泵驱动电路
共有3个按键,分别是复位键、湿度上限值设定键和下限值设定键。按键采用的是按钮式键盘,每个按键大小只有纽扣一般大小。所有按键的一端连接在地线上,另一端分别接在单片机预先设定好的引脚上。当某一按键按下,该引脚向单片机输入“0”,低电平,松开恢复高电平状态。
图5 按键电路
系统的软件设计包括系统初始化、显示程序、按键检测程序、土壤湿度检测程序、湿度上下限设置程序和水泵驱动程序。主程序流程图和浇水子程序流程图,如图6和7所示。
图6 主程序流程图
图7 浇水子程序流程图
接通电源,按下启动按钮,系统初始化,调用显示驱动程序,此时的液晶显示器会显示当前湿度以及默认湿度的上下限。如果默认湿度的上下限不符合植物需要的上下限湿度,就可以通过按钮来设置湿度的上下限。接着单片机接收湿度传感器检测的土壤湿度数据并对其进行处理,判断是否需要给植物进行浇水。如不需要,湿度检测器会继续检测湿度,直到需要浇水;如需要,水泵会被打开进行浇水,直到湿度达到设置的上下限范围内。当实际湿度达到设置上限值时,水泵会自动关闭停止浇水。最后湿度检测器会继续监测土壤湿度,重复上述工作。
为了分析该自动浇花系统的性能,做出了实物并进行了功能测试。当湿度检测器检测到的当前土壤实际湿度低于浇水下限值时,水泵开始工作,当湿度在设置的上下限范围之内时,水泵会继续灌溉,直到当前湿度高于设定的上限值,水泵停止工作。系统实际测试结果表明,系统运行稳定,能够达到按需浇水的目的。
本文设计了一款基于单片机的自动浇花系统,并对其性能进行了测试。该系统能根据花卉的土壤湿度来控制水泵的开启或停止,当检测到土壤实际湿度低于浇水下限值时,水泵开始工作,直到当前湿度高于设定的上限值时,水泵停止工作,系统能实现自动按需浇水,避免用户因为长期不在家或经验不足而导致花卉死亡的情况。该系统使用方便,成本低廉,适用于普通家庭,有很好的实际应用价值。