上海工程技术大学 马宇喆 李恒锋 李 斐
随着经济与社会的发展,人们的生活水平也越来越高。大多数人开始在家培养盆花来达到净化空气、丰富生活、增添景色、陶冶情操等目的。然而培养盆花需要一定的专业知识储备和足够充分的时间进行培养维护。因此市场上对花草的智能监控,智能培养的需求也越来越大。为满足人们对各种盆花的养殖需求,市场上出现了各种自动浇花系统(如图1)。如今市场上的自动浇花系统大多能做到的只是定时浇灌,好一点的也只是以土壤湿度作为唯一标准来实现自动浇灌的功能的。本文在原有的基于土壤湿度监控的情况下新增光照强度和温度两个监控指标。由于考虑到更多的外界因素,该浇花系统将为所养植物提供更准确的生存环境,在一定程度上扩展了产品的适用范围。
图1 市面上常见的自动浇灌装置(图片来源:淘宝)
本文所涉及的自动浇花系统基于AT89C51单片机。该单片机的使用功耗低,芯片采用高密度、非易失性存储技术制造,集成了8KBytes ISP Flash存储单元,可反复擦写1000次,兼容标准MCS-51指令系统。要实现自动浇花系统,就要着重做好两部分的工作,其一,深入了解AT89C51单片机的各个引脚的功能,明确程序控制指令的控制方式。其二,确定智能化自动浇花系统的控制程序以及各构件的作用顺序。在本设计中,实现“自动浇花”功能除了基于51单片机设置相应的控制程序之外,还需将“浇花装置”与单片机控制系统相连接(即相应的硬件连接)。该装置的构成及运行方式如下:
是否执行浇花操作除需土壤干旱程度之外,还取决于作物外界的光照强度和温度。需要借助温度以及光照传感器。在自然情况下,人类浇花遵循的原则为:①规律性,根据所养花的对水分的需求度,定时定量地浇水。②补偿性,如果“定时定量”这一原则无法执行,则每间隔一段时间后,人们会观察花的生长情况、土壤的干旱情况以及外界环境因素,进行“补偿性”浇水,即干旱程度越大,浇水越多。自动浇花系统不同于上述两种人类浇灌模式,而是更具“智能化”,将植物生长环境的光照强度和温度也测试在内,即当光照强度和温度超常时,也会启动专用控制的子系统。它采用“随时监控,按需浇灌”的原则。具体而言,系统中各个传感器维持不间断运行模式,能够持续将代表土壤干旱程度以及外界温度湿度的数值传递至51单片机的控制中枢。控制系统读取该数值后,与数据存储库中预设的温湿度“临界值”进行对比,进而决定是否开始浇水。如要区分自动浇水系统的智能度,可在此处额外设置“比对控制程序”。首先,简单化的自动浇水模式。传感器数值与控制程序预设临界值进行对比,达到或超过临界值,立刻浇水;未达到临界值,不浇水。其次,分级智能自动浇水模式。传感器数值尚未达到或超过临界值,但与之的差距较小(“小”的范围可自行决定),说明土壤中的水分已经相对不足,可少量浇水(同样,对“少”的定义由设计人员根据需求自行决定),如果超出临界值,则按标准值浇水。
上文介绍了基于AT89C51单片机的自动浇花系统的实现原理,接下来主要阐述具体实现的过程。
(1)光照检测电路为准确采集不同时段的光照强度信号,将光敏电阻组成光照信号检测网络,正对阳光的光敏电阻将采集到最大信号。光强信号经过AD转换进入单片机,AD转换采用ADC0809,同时设定为8位。当太阳的光照强度在正常范围时,土壤水分蒸发正常,浇灌器按正常程序浇灌;当光照强度高于或低于正常范围时,浇灌器按特别的程序控制浇水量的增加或减少。光照强度的正常范围随季节变化,控制参数一般根据实验和经验确定。
(2)湿度传感器使用YL-69传感器,该传感器数字量输出简单,模拟量输出精确,可以将湿度传感器检测到的数据通过A/D转换电路转换成数字量后输出给单片机。
(3)将湿度传感器与单片机相连时,为了保证传输结果的准确性,还需额外设置一个LM393比较器。实现的过程为:通过R1设置一个标准值,如果土壤湿度大(AC电压值减小),则输出低电平;反之则输出高电平。控制系统根据输出信号,可粗略估计土壤当前的湿度处于何种范围。相关数据信息首先通过模拟电子信号的形式传递至控制电路中,经过数模转换模块转换为数字信号之后,可直接读取。
(4)上文所述的“是否浇水”原理基于51单片机的实现流程为。单片机的输入/输出(I/O)口会与ADC0832数模转换器相连,当带有土壤湿度具体值的信号通过I/O口进入单片机后,具体数值会实时显示在与单片机相连的LCD显示屏中。此时,系统会判定该数值与数据存储库中预设“临界值”之间的大小,符合浇水条件时,系统会发出浇水指令,浇水装置会进入浇水状态。由于土壤湿度传感器处于不间断的工作状态,土壤湿度数值也会不停地传递至控制系统。当湿度具体值与临界值之间的比对结果符合另一项预设指令时,表明土壤中的水分已经足够,无需继续浇水。此时,控制系统会发出“停止”指令,控制水泵停止运行。
(1)模块运行流程
以上所述功能的实现必须建立在多个模块协同配合的基础上,具体如下:①控制程序的主函数成功设定之后,启动系统,执行函数初始化操作;②通过按键或不间断控制的方式,向湿度数据采集模块下达指令,可人工按键控制或完全自动控制;③数据处理程序模块,负责将土壤湿度传感器、温度传感器及光照传感器传递而来的信号进行处理,完成模拟信号向数字信号的转化后,通过I/O口送入单片机;④电机驱动程序模块(水泵控制)接到控制系统发布的“浇水/停水”指令后,启动或关闭开关,完成相应的操作。
(2)主程序运行流程
单片机成功连接所有装置后:①上电复位,行初始化作业;②向土壤湿度传感器下达指令,采集相应的数值;③根据需要,通过按键的方式进行控制;④根据反馈的光照强度、土壤湿度以及外界温度的具体值,判断是否需要浇水。若满足,则发布浇水指令,程序执行至终点,间隔一段时间后循环启动。若不满足,则程序返回至“采集土壤湿度以及外界光照强度和温度”环节,执行相应的流程。整个系统工作流程如图2所示。
图2 浇花系统流程图
结语:本文所述自动浇花系统考虑到土壤湿度、光照强度、环境温度这些影响植物水分需求的外界因素,从而通过单片机控制电机、水泵完成对植物的智能浇灌,相对于市场上已有的自动浇花系统。由于实际生活中人们所养殖的花卉种类繁多,单通过机器无法对植物的照顾做到像人工养殖那样至微至善,但由于机器对环境变化的察觉比人类更加敏锐,所以可以通过不断地增加监管因素以提高自动浇花系统的养殖水平。