1 Star 4 Fork 3

甘草酸不酸 / Arduino-Water-the-plants

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

一款迷你型的植物浇水系统,包括代码、电路板原理图PCB图和适用3D打印的外壳

注意!所有版本PCB未加到电池低压保护,电池过放会导致电池寿命下降,请使用带保护板的电池,不要让电池电压低于3.0V。

2020-10-24 集成土湿驱动版本发布,PCV版本9.3 软件版本V1.1.1

程序V1.1.1适配PCBV9.1-9.3以上

  • 硬件部分:
  • 主控板集成电容式土壤湿度传感器
  • 更换了电机驱动芯片(MAX612E)
  • 故更改了引脚配置,不兼容旧版本程序
  • 配合UP自制的电容式PCB板使用,上面无任何元件的
  • 大电流地分开,各点单点接地,解决了大电流死机重启的问题
  • ....................................................
  • 软件部分:
  • 重写显示架构代码,方便新手看懂代码
  • 现有设置功能
  • 自动休眠,休眠电流0.46ma
  • 定时唤醒
  • 土湿上限
  • 土湿下限
  • 延时开
  • 延时关
  • 超时时间
  • 平滑启动
  • 初始PWM
  • pwm增量
  • 休眠时间
  • 亮屏时间
  • OLED亮度
  • 低压报警
  • 参考电压
  • Pwm频率
  • Pwm Max
  • 土壤湿度原始值映射校准(新增)
  • 恢复出厂设置(新增)

特点

  • 根据土壤的湿度进行浇水,而不是简单定时浇水,避免不必要的浇水,更加科学的管理植物。
  • 可自动休眠,节省电量,满足数周充一次电(小型花盆),配合太阳能充电器可实现长期无人监管。
  • 丰富的设置选项,应对不同的植物。
  • MX612E电机驱动芯片,支持pwm调节水泵速度,带热断电保护。
  • 土壤较松的话不适合垂直放置湿度传感器,建议水平放置在花盆底部(做好防水工作)。
  • 主控PCB+土湿湿度PCB结构,主控集成土湿驱动电路,可将传感器从侧面焊接到主控板上,更高的集成度。
  • 观看视频 https://space.bilibili.com/16758526/favlist?fid=769297826&ftype=create
  • 3D打印件下载 https://www.thingiverse.com/thing:4025691

烧录说明

1.空芯片需要烧录引导,才能使用CH340串口上传程序 2.使用ICSP在线烧录器或离线烧录引导 3.买一块UNO,上传好程序,将芯片拆下来焊到浇水板子上 4.不建议使用arduino isp烧录引导

主要功能介绍

1.三档工作模式,自动模式auto、强制开启水泵模式no、永久关闭水泵模式off
2.自定义 浇水阈值上限和下限
3.自定义 系统的休眠时间
4.自定义 土湿传感器原始值的映射范围
5.自定义 水泵超时保护时间
6.自定义 屏幕亮度
7.自定义 低压报警阈值
8.自定义 PWM频率1kHZ-30kHZ
9.自定义 PWM最大值
10.自定义 低压报警阈值
11.基准电压校准
12.水泵平滑启动,可在设置菜单开启或关闭
13.电池电压显示
14.充电提示动画
15.水泵运转时间及动画
16.数据断电保存
17.传感器异常提示
18.菜单可恢复出厂设置

  • 浇水上下限阈值:浇水的下限就是土壤干到什么程度才开始浇水,上限就是土壤要浇到多湿才停止
  • 休眠时间:没有浇水任务会自动休眠,休眠能大大节省电量
  • 水泵超时时间:水泵超时时间内土壤湿度是否有变化,如设定60即是每隔60秒内土壤湿度变化需要超过3%,否者会触发保护机制,以免没浇到水而无止境的运转水泵而使电量耗尽
  • 传感器异常保护:传感器失效停止浇水功能
  • 电池电压校准:电池电压数值校准,因为每块电路板的基准电压都不会是5.00V,有时候会高低那么零点零几伏所以需要手动校准,使用万用表测量电池的电压进行对比校准
  • 土湿校准:菜单可手动校准土壤湿度传感器的原始值映射范围
  • 组合按键功能:按下减健不放再按下加键即可软重启系统
  • 平滑启动:使用PWM功能让水泵从较慢的转速启动,以免大电流冲击系统,可菜单开启或关闭
  • 数据掉电存储:使用eeprom来存储设置菜单的数值和运行模式。首次开机会慢点,因为首次开机会自动刷写eeprom
  • 恢复出厂设置:设置菜单设置有恢复出厂设置的功能选项,需二次确认,老用户升级程序需要用到

程序更新说明

v1.11
1.修复自动刷写EEPROM失败的问题
v1.10(需要重新替换U8G2库,因为新增的几个中文)
1.新增自动刷写eeprom,再也不用手动刷写两次eeprom了
老用户升级请进入设置菜单恢复出厂设置
2.加快屏幕刷新速度、优化设置菜单的显示、优化数值限制逻辑
3.新增手动校准土壤湿度传感器映射的范围(建议:完全暴露在空气调为5%,没过浸水线调为100%)
4.新增恢复出厂设置,即清除所有EEPROM再重启再自动重刷eeprom
5.设置菜单增加页数显示
6.降低土湿驱动的频率至80Khz
v1.05
1.电机启动瞬间会导致采样土壤湿度传感器的端口有数值波动,可能会导致误判异常
2.增加异常判断的延时滤波,异常持续一段时间才会提示异常
v1.04
a.修正手动模式(off)电压过低时无法自动休眠的BUG
b.修复进入休眠时无法正常关闭ADC导致无法休眠问题,经查实是<avr/power.h>有问题,已停用
改为手动bitClear (ADCSRA, ADEN)来关闭ADC
c.续航提升,休眠电流从0.87ma降到0.46ma
d.修改电压过低判断策略,连续5次等于小于设定阈值才提示报警,电压回升会解除报警
e.替换analogRead API,改用ADC降噪模式的ADC读取
v1.03
增加水泵速度调节,Pwm Max

Comments ( 0 )

Sign in for post a comment

About

No description spread retract
BSD-3-Clause
Cancel

Releases

No release

Contributors

All

Activities

load more
can not load any more
1
https://gitee.com/Lichengjiez/Arduino-Water-the-plants.git
git@gitee.com:Lichengjiez/Arduino-Water-the-plants.git
Lichengjiez
Arduino-Water-the-plants
Arduino-Water-the-plants
master

Search