智能浇花系统设计

智能浇花系统设计

系统概要:
该系统功能为对土壤湿度值进行实时监测,并及时控制土壤湿度值。将测量的湿度值返回给树莓派进行数据处理通过控制模块进行水泵加水进而进行湿度控制。智能浇花系统主要分为两个部分:监测模块选用湿度传感器YL-69以及压力传感器来对土壤中湿度值进行实时检测。湿度值的控制则使用调速模块,通过控制连接水管的直流水泵的加水时间来实现对土壤浇水。
在这里插入图片描述

智能浇花系统其应件主要包括:树莓派、土壤湿度传感器YL-69、微型电子秤、调速模块、AD转换模块、3V直流水泵、面包板和杜邦线若干,其中主控部分选择树莓派来实现控制。控制部分通过调速模块来控制水泵,电源模块预计采用5V电源供电。

**

树莓派

**
在这里插入图片描述
湿度传感器YL-69模块
在这里插入图片描述
(1)VCC外接3.3V-5V电压;
(2)GND外接地;
(3)AO模拟量输出接口;
(4)DO数字量输出接口(0/1);
在这里插入图片描述
湿度传感器特点:

(1)具有输出指示灯,低电位有效输出灯亮;
(2)带TTL高低电位信号和模拟信号输出;
(3)温度感应灵敏度可通过电位器调节;
(4)输出信号可直接接单片机IO口或AD转换;
(5)带固定安装孔,方便固定安装;
(6)湿度检测精度为5%。

A/D转换模块
在这里插入图片描述

(1)VCC外接3.3V-5V电压;
(2)GND外接地;
(3)SCL时钟线接树莓派SCL专用引脚;
(4)SDA数据输出线接树莓派SDA专用引脚;

微型电子秤
在这里插入图片描述
(1)内置A/D转换模块和压力传感器,可将测量到的压力值转换为数字量;
(2)最大量程为5kg;
(3)容易产生测量偏差,需要多次测量取平均值。

直流水泵
在这里插入图片描述
面包板
在这里插入图片描述
实验用土壤(不同数字对应不同土壤湿度)
在这里插入图片描述

设计系统前的准备实验

电子秤的标定实验:
电子秤的标定需要采用特定重量的砝码(无砝码情况下可采用逐次加入定量水的方法,即5ml等于5g),根据放入砝码的重量差,对比电子秤内部A/D转换模块输出的数值,得到一组对应关系,如下图所示
在这里插入图片描述

土壤湿度传感器的标定:

土壤湿度传感器的标定需要一组已知含水量的土壤,标定实验中使用100g干土(土壤经过1~2天暴晒),根据插入土壤湿度传感器后返回的数值,得到土壤含水量和测量值的对应关系,再进行拟合(此处使用了有理模型)得到一个含水量和测量值的转换关系,由此完成对土壤湿度传感器的标定。下图为测定的加水量和测定值的对应关系曲线。

在这里插入图片描述
误差分析:
对于本次标定实验,我们认为并不能称其为精确的标定原因:(1)干土在加水之后会不可避免地出现结块情况,直接导致了土壤湿度不均匀。
(2)湿度传感器的AD值与土壤的松紧程度有直接且明显的关系,而本次实验并未对其做变量控制。
(3)本实验直接把(加水量/干土重*100%)作为湿度值,忽略了土壤在饱墒的情况下,水会沉积在实验容器底部的情况,所以加水量21~29g可能不符合实际情况。

湿度变化曲线测定实验:

实验准备:
我们对水泵满速抽水的速度进行了粗略的测定,测得抽水量为15~17(g/s)我们通过对干土和定量的水混合,获得湿度为12%、14%、17%、18%的土壤
实验步骤:将湿度传感器插入湿土中,水泵依次满速运转0.1秒(加水量为1.5~1.7g),加水进不同湿度的土壤,并进行每0.2秒一次,总计10分钟的测定,得到的4组数据绘制成曲线图(如下图所示,图中为前5分钟的测定曲线,纵坐标为湿度(%),横坐标为时间(s))
在这里插入图片描述
实验分析:
由图可知,水泵满转0.1s后土壤湿度趋于稳定的时间大约为>30s然而,我们对该实验的代表性持怀疑态度原因:
(1)我们使用的容器为小塑料量杯,与实际使用的花盆有很大的区别。
(2)时间可能会随加水点与湿度传感器距离的变化而变化,也有可能随容器体积而变化,本实验的实验材料并不具有现实情况的代表性。
(3)对于其它加水速度和加水量,可能等待时间也会发生变化。

系统设计:

系统组成:

在这里插入图片描述

系统运行步骤(文字描述与流程图):

系统初始化:
(1)将空杯子(花盆)放在压力传感器上,测量空杯子重量wp。
(2)将装入土壤的杯子放在压力传感器上,称得总重量wi。(3)插入湿度传感器,测量当前湿度hi。
(4)读取用户设置的目标湿度ht。
(5)计算:<1>计算干土重量wd=(1/(1+hi))(wi-wp) <2>计算目标湿度下需要的含水量ww_target=htwd

控制环节简介(详情见流程图、代码详见附件3
:该环节为一个死循环,循环一开始测量当前湿度h_temp与当前重量w_temp,计算得出需要加水量w_add=ww_target-ww=ww_target-h_temp*wd接下来根据w_add判断加水的档位,若w_add>4则为二档,若0<w_add<=4则为一档,若w_add<=0则不加水,休眠1s后重新开始循环。
控制环节流程图:
在这里插入图片描述

  • 9
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值