基于Arduino的太阳能庭院自动浇灌装置设计
0 引言
随着人民生活水平的不断提高,对居住环境也有了更高的追求,越来越多的人在家里、花园或者菜园里种植各种花草树木。这些植物需要定期灌溉,特别是夏天,天气炎热干燥,一天不浇水植物就会枯萎。而日常生活中大家的工作都比较繁忙,有时还需要外出,存在家中长期无人的情况,无法养护植物,植物很容易死亡或生长受损。
另外,传统的灌溉由人为实现,灌溉的时间间隔及灌溉量都是根据自己的主观意识来判断,无法做到精确控制,不可避免存在灌溉量不足或过多的情况,不利于植物的生长。
目前,市面上有许多的浇灌系统[1-13]是采用定时器进行定时浇灌,这种方法显然不科学。还有很多使用了无线传感和网络技术,通过网络实时监测植物各个阶段的成长情况,但这种自动浇灌装置一般用于苗圃大棚,价格昂贵,性价比不高。对于普通家庭用,完全没有必要掌握各项数据。因此,针对普通家用,设计一个小型的庭院用自动浇水装置有一定的现实意义。
1 方案设计
1.1 控制系统方案
该系统由电源模块、Arduino UNO 开发板、光敏电阻、土壤湿度传感器、继电器、电磁阀、蜂鸣器和水管等构成,整个设计过程和思路都是依据 Arduino UNO 开发板的系统资源,控制系统整体方案设计如图 1 所示。
1.2 工作原理
该系统采用 Arduino UNO 开发板作为控制核心,通过对埋在土壤中的湿度传感器对土壤湿度进行实时检测,且利用光敏传感器对光照强度进行实时检测,将两者获取的信息反馈给控制芯片,若湿度和光强都高于预设值,通过控制模块反馈信号,启动蜂鸣器发出警告声,用以提醒在院中劳作的人,灌溉系统即将启动,尽快撤离浇灌范围。
经过延时,待人员撤离后,Arduino 控制继电器闭合电磁阀开始工作,通过喷头喷洒对土壤均匀浇灌。当土壤湿度达到预设值时,控制继电器截断电磁阀通路,停止灌溉。整个系统的供电,采用太阳能蓄电池供电的方法,不需要专门准备插座,既利用了自然资源,又节约了电力,体现了装置节能环保的特点。
2 硬件设计
2.1 Arduino UNORV3 开发板
主控模块选择近年来最受电子爱好者欢迎的Arduino,该板是一个基于易用硬件和软件的原型平台(开源)。该平台起源于意大利,主要基于 AVR 单片机微控制器和相应的开发软件而设计,其具有高度的模块化特点[14]。Arduino Uno 是一款基于 ATmega328P 的微控制器板。它有 14 个数字输入/输出引脚(其中 6 个可用作 PWM 输出),6 个模拟输入,16 MHz 晶振时钟,USB 连接,电源插孔,ICSP 接头和复位按钮。只需要通过 USB 数据线连接电脑就能供电、程序下载和数据通信。
2.2 电源模块
本系统由光合硅能的 30 W,12 V 家用小型发电系统供电。该发电系统由 3 部分构成,18 V 30 W 光伏单晶硅太阳能发电板,10 A,12/24 V 太阳能智能控制器和 12 V 20 Ah 的蓄电池。该控制器能快速充电并稳定太阳能电池板发出的不稳定的电流,确保电池和负载的运行安全和使用寿命,并带有 12 V 输出口及 5 V USB 接口,可为 12 V 电磁阀及 Arduino 开发板提供电压。
2.3 土壤湿度传感器
本系统采用 YL69 土壤湿度传感器,使用时插入土壤中[15]。其湿度测量范围为 1~99%RH,分辨率为 0.5%RH,测量精度误差为±3.0%RH,响应时间值为 5 s,正常使用的电压范围为 4.5~5.5 V。模块中的电位器用于土壤湿度的阈值调节,顺时针调节,控制的湿度会越大,逆时针越小。
数字量输出 D0 可以直接与 Arduino 的数字口相连,通过 Arduino 来检测高低电平。由此来检测土壤湿度;模拟量输出 A0(5 V 供电时的数值为 0~1 023),可以直接与 Arduino 的模拟输入口相连,通过 Arduino 读出土壤湿度更精确的数值。
本系统采用第二种办法,直接读模拟量的值。如果湿度的读出数值高于 700(可根据需要自行设定),则自动开启电磁阀浇水。图 2 为 YL69与Arduino 的连接方法。
2.4 电磁阀
太阳能控制器上可提供 12 V 电源,因此电磁阀采用工作电压为 DC 12 V,电流为 1.2 A 的常闭型电磁阀,管径大小为 4 分口,便于和普通自来水龙头匹配,也便于连接软水管。
2.5 继电器
由于电磁阀的工作电流有 1.2 A,而 Arduino 能提供的电流只有 50 mA,达不到驱动电磁阀的电流,所以无法直接驱动电磁阀。此时,需要用中间继电器来进行驱动。本系统采用 Arduino 专用 3p 接口,工作电压为 5 V 的继电器,该继电器为 10 A 大电流继电器,可以驱动大电流设备。继电器的 IN 引脚接 ArduinoD2 数字口,输出端接电磁阀。
2.6 光敏电阻
该系统采用光敏电阻的目的是晚上不对植物进行灌溉。光敏电阻采集的光强值直接与 Arduino 的模拟输入口相连,通过 Arduino 可以读出光照强度的精确数值。读出数值低于 100 时(可设定),即使土壤湿度值高于设定数值,也不进行灌溉。光敏电阻一端接 A1 口,另一端通过电阻接地。
2.7 蜂鸣器
白天,若传感器检测到土壤干燥,就自动浇灌,有可能会淋湿到在院中劳作的人,因此,在启动设备前先驱动蜂鸣器发出报警,警告院中人即将喷水浇灌,待人离开后,再开启设备。蜂鸣器负极接地,正极接 Arduino 的 D5 数字口。
3 系统软件设计
3.1 Arduino 软件设计
Arduino 控制系统软件设计主要采用 C 语言编制,在 Arduino 的程序开发平台中,完成土壤湿度传感器采集模块、光敏电阻采集模块、输出继电器控制模块、蜂鸣器模块等的软件设计。
系统上电后即检测土壤湿度。若湿度值大于 700,则检测光照强度值,若光强值大于 100,则使蜂鸣器得电,报警 10 s 后,使继电器得电,继而启动电磁阀开始浇灌植物。直到湿度值小于 700。若湿度值小于 700 或光强值小于 100,则关闭电磁阀通路。整个系统控制流程如图 3 所示。
3.2 程序设计
Arduino 有自有的程序开发平台,采用 C 语言编制。程序的最后编写了一段可以在串口监视窗口读取实时的土壤湿度值和光照强度值的程序,通过手动来改变光强及传感器湿度,采集的部分数据如图 4 所示。采集的湿度、光强数据和实际值相符,且稳定,无数据丢失、失真现象。图 5 为部分系统源程序。
4 结语
该款小型的太阳能庭院自动浇灌装置,根据采集的湿度值、光照值与系统的预设值进行比较判断,进而实现自动浇灌的功能。实践表明,本系统完全能满足家用需求,具有运行稳定,工作可靠,测量精度高,实用性强,价格低廉等优点,同时兼具节水节电的功能,便于应用推广。
-
太阳能
+关注
关注
37文章
3405浏览量
114199 -
Arduino
+关注
关注
188文章
6469浏览量
186970
原文标题:基于Arduino的太阳能庭院自动浇灌装置设计
文章出处:【微信号:appic-cn,微信公众号:集成电路应用杂志】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论