原晓楠, 李瑞程, 柴凯昕, 邱 卓, 孙晓华
(西安交通大学电气工程学院,西安 710049)
随着生活条件的不断提升,植物培养已经成为越来越多人的爱好,也是在快节奏生活之下很好的减压方式,除了家庭花园培养模式外,目前较为流行的还有桌上盆栽。但是,在生活节奏越来越快的时代,经常会因时间、空间、方法等多种因素造成桌上盆栽无法获得健康生长,这促进了自动浇花装置的产生[1-2]。通过调研发现,目前市场上存在的自动浇花装置存在功耗大、续航时间短、价格昂贵、受众人群小,没有平衡好产品自动化程度与种植乐趣的关系,用户参与感不强,智能应用性较低等缺点[3-5]。
本文基于Arduino开发板设计了智能植物培育体,通过设计“电-水-土”分离式渗透给水结构并结合物联网技术实现植物的远程智能培养,设计多种模式平衡培养智能化与用户参与感[6],在降低系统功耗的前提下丰富系统的功能,具有很好的智能应用性。
系统选择Arduino作为主要控制芯片[7],由数据采集与处理、算法设计、系统控制和远程智能设计4个模块组成,设计思路如图1所示。通过对植物生长环境参数的采集与处理建立数据库,并通过算法及软件编程实现对植物生长环境的监测、预判,设计给水结构及控制电路并以Arduino作为主控平台结合预判算法实现植物生长环境自主调控,应用物联网技术设计用户端APP实现系统远程智能调控[8]。
图1 系统设计思路导图
植物生长环境数据采集主要包括对植物生长环境的空气温度、湿度和土壤湿度的采集,通过综合对比选择DHT11进行空气温、湿度检测,具有温、湿度同时测量、结构简单、抗静电、抗干扰等诸多优点。选择Arduino Moisture Sensor进行土壤湿度检测,传感器检测探头埋在作物根部,将湿度变化转化为电阻变化监测土壤的湿度。
基于所选择的传感器设计了检测电路,其原理如图2所示。DHT11模块内部有一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接,可将采集到的信号转换为电信号直接传输给Arduino进行处理。土壤湿度传感器的阻值会随着土壤水分含量的变化而变化,将土壤湿度传感器的探头插入土壤中,设计分压电路将电阻的变化转换为电压的变化传输给Arduino进行处理。
图2 检测电路原理
检测电路输出的模拟信号经由Arduino的模拟输入引脚可完成模数转换输出相应数值,选择模拟输入引脚并通过编程语句定义输入引脚,用模拟信号输入函数analogRead()获取温、湿度和土壤湿度信号,通过多次实验建立植物生长环境参数数据库。
根据实验数据标定土壤干、湿程度[9],利用Matlab软件进行数据拟合,得到湿度与植物生长环境的函数关系曲线,将湿度值与生长环境变化一一对应[10]。通过建模获取的土壤湿度函数关系式为
式中:s为土壤湿度,RH;g为采集信号。
根据数据拟合得出的函数关系设计阈值实现对植物生长环境的预判[11]。不同类型植物具有不同的生长习性,在室内养殖时对土壤湿度的要求也不尽相同[12]。一般来说,将湿度保持在60%~80%左右即可满足生长要求。但有一些植物对湿度要求较低,若湿度一直保持较高水平,会导致植物根部缺氧坏死,不利于根部发育;有一些植物对湿度要求较高,土壤过干,满足不了植株的蒸腾作用,从而影响地上部分给予根部的营养。通过查阅相关文献,按照植物对含水量的需求将其分为3种不同类型,如表1所示,为不同类型的植物提供“定制化”的浇水养护服务。
表1 土壤湿度阈值调整类型设计表 %
基于算法设计与阈值设计进行程序编写,程序流程图如图3所示。首先从传感器检测电路获取温、湿度和土壤湿度信号并进行信号处理,获取系统模式与状态信息并进行相应的模式设置与阈值调整,将土壤湿度与阈值进行比较,当土壤湿度过低,启动给水电路,当湿度过高,关闭给水电路。
图3 程序设计流程
传统的给水结构一般采用水泵给水,模拟用户手动浇花的效果,需要额外的走线、打孔和布管,增加装置复杂度、影响观感的同时电路与蓄水池常常无法做到很好的隔离,且水泵体积较大,对水箱空间要求较高,自身能耗也比较高。系统采用渗透式给水原理设计了“水-电-土”分离的给水结构,其原理如图4所示,将土壤、给水装置与控制装置分离开。
图4 “水-电-土”分离渗透式给水结构原理
蓄水槽开设在花盆中下部四周,在与土壤相接的内壁处开设细小栅格,以供均匀渗透补水。蓄水槽上方与压片对应位置开给水口,在压片的控制下给水口的开合。给水装置分为上下两个部分,分别置于主体与电控盒中。电控盒中的舵机转动控制磁铁的上下移动,将给水口的开合转化为弹簧弹力与磁铁磁力的较量,当磁力大于弹力时,磁铁吸合并带动上阀体关闭给水口,停止给水;当磁力小于弹力时,弹簧带动上阀体上移后打开给水口,开始给水。
基于以上设计原理系统采用Inventor Autodesk软件进行了机械结构设计,如图5所示。主体部分与电控盒部分通过梯形凸台旋转嵌合与分离,实现了水与电的分离,并利用3D打印技术制作了整体结构。
图5 机械结构设计
如图6所示,系统的控制电路部分由舵机与磁铁、下弹簧构成,在托盘底座上,与阀体对应的竖直位置,开有1个滑道,内置下弹簧和高磁性铷磁铁,下弹簧在停止给水时处于收缩状态,依靠磁铁-弹簧-舵机配合来为上阀体提供动力,从而控制给水状态。
图6 系统控制原理
当主控芯片发出给水信号时,Arduino调制PWM信号使舵机旋转45°,松开尼龙细线带动弹簧控制磁铁,开始给水;当给水量达到植物生长所需量时,再次调制PWM信号使舵机回转45°,停止给水。为了使水能够顺利进入渗透管道,还需要注意平衡管道内的压强,因此在水槽内部设计了一根细长的管子,连通大气平衡气压。此外,由于系统的主要动力来源于磁铁与弹簧以及舵机翼的简单摆动动作,装置无论在静息状态还是工作状态耗能都极低,符合环保节能的要求,增加花盆的待机时间,使用方便简洁。
为了平衡好产品自动化程度与种植乐趣的关系,加强用户培养植物的参与感,系统根据使用场景及使用人群的行为与作息习惯设计了两种可选模式[13-14]:托管模式与辅助模式,其设计原理框图如图7所示。
图7 工作模式设计原理
托管模式适用于用户受时间、空间限制无法及时照料植物的情况,可实现对植物的全方位监测与管理,无需人为干预即可保证植物的正常生长,采取手机选择触发的方式,可实现模式的远程即时切换。在托管模式下,系统可实时监测植物根部土壤湿度,并对植物生长状态做出评估,根据评估结果控制自动给水装置,同时在托管模式下,系统其他辅助功能暂停使用以减少装置耗能,更加节能环保。
辅助模式适用于用户有条件进行手动植物培养的情况,通过手机选择将工作模式切换为辅助模式。在辅助模式下同样能够实现对植物状态的实时监测,系统可实时监测植物根部土壤湿度,并对植物生长状态做出评估,并在评估结果为植物缺水状态时通过显示屏将相关信息发送给用户,提醒用户为植物手动补水;若用户忘记补水时启动自动补水装置进行补救性补水。辅助模式下系统其他辅助功能以低功耗方式呈现。
系统基于物联网技术结合Blinker与ESP8266 WiFi模块实现远程控制功能设计。Blinker是由“点灯科技”提供的一种物联网接入方案,提供APP端、设备端与服务器端支持,并通过云服务器进行数据传输存储。基于Blinker平台可以在其APP端设计定时控制、设备接入控制、设备分享等多种功能,实现人机交互。利用用户端手机APP定时向系统发送心跳包,系统收到心跳包后会返回当前状态,每30~60 s发送一次,数据更新的时间间隔基本满足需求。
ESP8266采用STA站点模式,采用透传单链方式接入互联网,作为数据采集上传工具,完成数据的收集和可视化[15-16],将数据通过WiFi网络与监控手机进行远程通信。用户通过手机APP即可远程查看植物生长环境状况并进行相应控制。
系统设计的用户端手机APP界面如图8所示,最上方为调试信息,用户可以通过点击刷新键手动刷新数据;中部为空气湿度、空气温度、土壤湿度、当前时间与天气等环境信息的显示;最下侧为控制按钮,供用户控制浇水状况、使用模式切换等。
图8 用户端手机APP界面
系统采用了网络数据爬取技术进行了联网对时、天气预报功能的设计。联网对时功能基于Blinker库内置的时间获取功能实现,通过设定时区获得当前北京时间和年月日周信息。天气预报功能采用心知天气的免费版API产品,通过对心知天气API发起请求,服务器响应并返回天气信息的Json数据,使用ArduinoJson库对接收到的Json数据进行解析并处理得到当前实时天气和之后两天的天气预测信息。
对于辅助功能获取的相关信息及植物生长状态信息,系统进行了终端OLED屏幕和用户端手机APP界面双显示的设计。其中终端OLED显示屏设定了5种显示模式,依次为网络时间、当前天气、天气预测、植物生长情况、室内温湿度,显示效果如图9所示。同时,为了降低能耗,系统使用SW-420高灵敏度震动传感器实现显示屏自动休眠功能,当用户希望从OLED屏幕上读取信息时,轻拍唤醒系统显示即可。
图9 辅助功能显示效果
使用约500 g普通土壤对系统的植物生长环境调节性能进行数据测试,以5 s为采样间隔,监测普通水泵式给水系统与实验设计系统的植物培养效果,测试曲线图如图10所示。测试结果表明,实验设计的系统可以实现更加优质的智能植物培养,且渗透式给水方式与盆内土壤广泛接触,对植物供水较为充足且均匀,避免了水泵灌溉式浇水的积水、板结等问题,有利于植物茁壮生长。
图10 植物培养性能测试曲线
系统对机械结构、控制逻辑等方面进行了改进,给水过程只有舵机旋转时需要电能,避免了使用水泵供水持续消耗电能的问题,降低功耗;利用SW-420高灵敏度震动传感器为系统OLED显示屏增添自动休眠功能,需要查看OLED屏幕信息时,轻拍花盆即可唤醒,降低显示功耗。
系统从多角度解决了植物的智能培养问题,提出了基于磁力控制的渗透式给水方式,实现了电-水-土分离设计,杜绝水土掺混与电子元件遇水问题的同时降低了系统能耗,改善了植物培养效果。利用机械设计技术实现了系统的无螺钉嵌合式连接,可以实现徒手拆卸,便于检修与维护。充分结合物联网技术,多种模式实现植物智能培养的同时借助网络爬虫技术,使系统具备联网对时、天气预报等辅助功能,很好地平衡了用户参与感与系统自动化程度,解决了现有植物智能培养的问题,具有很好的推广意义。