基于Arduino单片机的自动补水系统设计

2020-10-23 02:31高宣爽程立英
关键词:主控板土壤湿度设定值

申 海, 高宣爽, 程立英, 吴 迪

(沈阳师范大学 物理科学与技术学院, 沈阳 110034)

0 引 言

21世纪以来,社会不断进步,人们的生活水平也随之提高,养殖花卉、盆栽也慢慢成为每个家庭生活的一部分[1-3]。随着生活节奏加快,人们外出度假及工作时间越来越多,经常会因为各种原因不能按时给花草浇水,这些情况很可能会导致植物因缺水走向枯萎甚至死亡,智能浇花系统的研究恰好可以用来解决这一棘手的问题[4-5]。

图1 总体框架图Fig.1 Overall framework diagram

系统主要分为湿度采集、主控板、水泵控制、电源供给4部分。总体框架图如图1所示。组成有Arduino控制板、土壤湿度传感器、水泵等。系统用传感器来检测土壤水分并实时监控,通过研究普通花卉需要的湿度来设定湿度值,根据传感器检测的数据来测定是否需要浇水,而浇水的水量则主要由单片机控制,根据植物种类所需要的湿度进行合理的浇水;其运行的模式为全自动模式,利用土壤湿度传感器进行实时土壤湿度信息采集,然后通过Arduino来进行信息分析处理,进而来控制水泵的开启与关闭;系统设备主要是通过控制浇水的持续时间和浇水的时间间隔一起来控制浇水量;系统采取的电池供电模式,操作简单、结构容易接受,运行比较安全[6-8]。

1 系统硬件设计

本设计基于Arduino的自动补水设计,主要分为湿度采集、主控板、水泵控制、电源供给4部分[9],其中Arduino核心板为主控部分,负责一系列状态检测、数据处理、逻辑处理及执行控制。

图2 Arduino达芬奇主控器Fig.2 Arduino Leonardo da Vinci master controller

1.1 主控板

采用的达芬奇Arduino UNO主控板在普通主板的基础上,增加了 3P彩色排针,能够对应传感器连接线,防止插错烧坏元件。控制器上还带了2个继电器接口,可接2个电机[10]。如图2所示。

1.2 传感器

由于土壤中水分含量不同时,土壤的电阻值也就随之各不相同。把土壤湿度传感器放到土壤里,它的三极管的基极就提供了大小变化的导通电流,三极管集电极到发射极的导通电流受到基极控制,经过发射极的下拉电阻后转换成电压。Arduino就可以把电压转化为0~1023的模拟输入值。这是一个简易的水分传感器,可用于检测土壤的水分,当土壤缺水时,传感器输出值将减小,反之将增大。传感器原理如图3和图4所示。

图3 土壤湿度继电器模块电路Fig.3 Soil moisture relay module circuit

图4 红外发射电路Fig.4 Infrared emission circuit

1.3 水泵设计

系统采用的工作电压为5 V,工作模式为有信号输入时,水泵工作;当信号消失时水泵立刻停止工作,断开浇水行为。水泵控制电路图如图5所示。

图5 水泵控制电路图Fig.5 Water pump control circuit diagram

图6 整体图展示Fig.6 Overall diagram shows

1.4 线路连接

土壤湿度传感器共引出3个引脚,分别是电源正VCC、电源地GND、信号端S,在实际使用时,可以将土壤湿度传感器直接连接到Arduino UNO控制器的模拟引脚,例如A0脚。调试完毕后,把皮管接在水泵上,把水泵放入水槽里。把土壤湿度传感器插入到土壤里,皮管的另一头放在植物土壤里,固定好主控器和池盒,操作完成。整体图展示如图6所示。

2 系统软件设计

2.1 设计思路

图7 程序流程图Fig.7 Program flow chart

首先是把现有元器件进行组装成一个完整的电路结构,然后进行程序的编译,最后进行软硬件的调试与系统测试。

2.2 系统流程

程序流程图是程序进行编译前的首要工作,它明确程序要实现的功能,同时也是程序编译的顺序。系统要实现浇花过程自动化,首先要进行湿度的检测,将测得数据与预设值进行比较,当高于预设值时,证明植物缺水,驱动水泵进行工作,否则,水泵不工作,本次程序执行结束,进入下一次程序循环[11-13]。系统流程如图7所示。

3 实验与分析

3.1 实验背景

本次进行试验的植物已经有2个星期未浇水,实验开始前土壤湿度检测值为779,因为多肉植物并不喜水,所以设定值为400[14-15]。

3.2 模拟实验数据分析

将传感器插入到花盆的不同位置进行测试,获得6 000多个实时数据。如图8所示。图9是由测得数值绘制而成,当把土壤湿度传感器的引脚置于空气中(即处于悬空状态)时,观察Arduino监视窗口输出为1023,当空气潮湿情况发生变化,如在传感器周围喷水,数值会发生改变;当把传感器的引脚插入到花盆中,输出值明显降低,并逐渐稳定到一个确定值,如果再度将湿度传感器拔出,插进花盆的不同地方,会发现随着位置情况不同湿度情况不同,窗口显示的测量值也不同。

图9 数据曲线图Fig.9 Data graph

3.3 实际实验数据分析

图9中横坐标为时间,纵坐标为传感器传回值,其中显示的第1个下降段是土壤湿度传感器从空气中插入到土壤中,因为湿度变化而下降,数值显示约在780左右,因为设定值为400,经过测定,水泵开始工作,第2段曲线表示水泵工作,当数据在设定值左右,水泵停止工作,数值在附近浮动。

4 结 语

本文设计的系统以Arduino为控制中心,利用YL-69土壤湿度传感器来对花卉进行湿度检测,将所测数据传回主控板,与预先的设定值进行比较,如果检测的数据大于设定值,那么水泵就不会工作;如果到达设定值时,水泵立即停止工作,浇花过程结束。本系统能实现浇花过程智能化,经过调试与运行,系统反应迅速,能实现自控功能。

猜你喜欢
主控板土壤湿度设定值
一种快速可靠的主控冗余及切换机制的设计与实现
冷轧镀锌光整机延伸率控制模式的解析与优化
土壤湿度传感器在园林绿化灌溉上的应用初探
基于随机权重粒子群优化极限学习机的土壤湿度预测
壁挂炉主控板工装测试系统设计
重庆轨道交通闸机三杆机芯主控板的技术自主化探究
基于51单片机控制花盆土壤湿度
贵州喀斯特区域土壤湿度变化规律研究
西气东输二线人机交互界面的防呆系统
目标设定值传感器的原理与检修