征集令 |自动浇花器 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 征集令 |自动浇花器

简介:自动浇花器,基于CW32单片机和ESP01S WIFI模块制作,能够定时自动浇水,土壤湿度检测自动浇水,也可以接入物联网远程控制浇水。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2023-03-14 21:52:48
更新时间: 2023-08-08 15:27:50
描述
## 视频链接 [【自动浇花器(基于CW32F030C8T6制作)-哔哩哔哩】](https://b23.tv/IPfocXz) ## **描述:** #### 家里阳台的花经常忘记浇水,导致有的花因为缺水而枯萎,为此产生了制作一个自动浇花器的想法。正好赶上立创EDA的物联网征集令活动,同时结合武汉芯源半导体开展的“CW32开发者扶持计划”,基于ESP01S和CW32单片机制作了一个具有定时自动浇花、湿度检测自动浇花、联网远程控制浇花的浇花器。 ## **版本说明:** #### 本项目制作了两个版本,第一版实物验证时发现一个问题,采取1S锂电池升压驱动电机时,电池电压会瞬间拉低很多,导致联网模块供电不足重启。目前已废弃。第二版改进了供电方案,采用2-3S锂电池供电,DC-DC降压给电机以及其它设备供电,解决了电机启动瞬间导致联网模块掉电的问题。 ## V1.0(第一版)主要硬件: #### 1.MCU:CW32F030C8T6 #### 2.WiFi模块:ESP01S #### 3.环境光采集:GL5566光敏电阻 #### 4.锂电池和水泵电压采集:高精度电阻(电阻分压) #### 5.电流检测:INA226A #### 6.按键:6*6mm轻触开关 3个 #### 7.电机驱动电路:PC817光耦、WSP9926A N沟道MOS管 #### 8.锂电池充电电路:采用TP4056充电芯片 #### 9.升压电路:XL6008E1 DC-DC升压芯片(输入电压: 3.6V~32V,输出电流(最大值):3A) #### 10.降压电路:ME6211C33M5G-N降压芯片,2路3.3V输出,1路给主控以及外围电路供电,1路给ESP01S供电 #### 11.蜂鸣器:12A05有源蜂鸣器 #### 12.显示屏:预留SPI和I2C接口,外置1.7寸12864黑白屏。 #### 13.扩展接口:预留3个扩展接口,可外接温湿度传感器、土壤湿度传感器等其它设备。 #### 14.水泵:使用6V茶水机小水泵。 #### 15.水管和水管分流器:8mm和4mm水管,8转4水管分流器(4孔或6孔)。 #### 16.电池:18650电池2节。 #### 17.电池盒:2节18650并联电池盒。 #### 18.扩展模块1:土壤湿度传感器。 #### 19.扩展模块2:SHT30温湿度传感器(备选)。 ## V2.0(第二版)主要硬件: #### 1.MCU:CW32F030C8T6 #### 2.WiFi模块:ESP01S #### 3.环境光采集:GL5566光敏电阻 #### 4.锂电池和水泵电压采集:高精度电阻(电阻分压) #### 5.电流检测:INA226A #### 6.按键:6*6mm轻触开关 3个 #### 7.电机驱动电路:PC817光耦、WSP9926A N沟道MOS管 #### 8.锂电池充放电电路:2串18650锂电池保护板(计划接入单片10V的太能板,直接给锂电池充电) #### 9.DC-DC降压电路:LM2596S-ADJ DC-DC降压芯片,输入电压范围4.5V-35V,输出1.23V-35V可调节,输出电流:3A(项目中采用7-12V输入,6.0V输出) #### 10.LDO降压电路:AMS1117-3.3 LDO降压芯片,最大输入电压:18V 输出电压:3.3V 输出电流:1A #### 11.蜂鸣器:12A05有源蜂鸣器 #### 12.显示屏:预留SPI和I2C接口,外置1.7寸12864黑白屏。 #### 13.扩展接口:预留3个扩展接口,可外接温湿度传感器、土壤湿度传感器等其它设备。 #### 14.水泵:使用6V茶水机小水泵。 #### 15.水管和水管分流器:8mm和4mm水管,8转4水管分流器(4孔或6孔)。 #### 16.电池:18650电池2节。 #### 17.电池盒:2节18650串联电池盒。 #### 18.扩展模块1:土壤湿度传感器。 #### 19.扩展模块2:SHT30温湿度传感器(备选)。 ## 原理图和PCB: ![微信图片_20230425200019.bmp](//image.lceda.cn/pullimage/vvoPITDI4ozyXfWcPh1D2DYhyZHMgeqQJMTTc9po.bmp) ![微信图片_20230425200010.jpg](//image.lceda.cn/pullimage/ptAGVMfOCZft21frAzP0ngxvvAFLr1b1qyuttTzr.jpeg) ![微信图片_20230425200016.jpg](//image.lceda.cn/pullimage/JPL6r4bfTS2yiMvkqMJ2sSzZWoLPgSq3gBiTuYX9.jpeg) ## 功能简介: #### 1.使用CW32内部RTC时钟计时,通过按键或者手机设置自动浇水间隔时间(X天)、浇花时间(X:00)、浇花时长(X分钟)以及浇花开始日期; #### 2.采集环境光和土壤湿度,当光照和湿度低于阈值时自动打开水泵,浇水一段时间(程序中可调整)后关闭水泵。程序不断检测湿度,低于阈值继续浇水,直到高于阈值停止浇水; #### 3.ESP01S连接物联网,用户手机端远程控制浇水,设置浇花参数,ESP01S将控制命令以及参数通过串口发送给CW32; #### 4.ESP01S每隔一段时间获取网络时间发送给CW32单片机,用于对CW32的RTC时钟进行校准(此功能暂未实现); #### 5.对输出电机的电压和电流进行检测,电压过高或过低停止电机,空载电流(水箱无水)停止电机; #### 6.锂电池电压监测,低电量时关闭自动浇水功能; #### 7.ESP01S电源可通过CW32单片机打开或关闭,用来降低功耗(默认上电自动联网); #### 8.可设置输出电压电流异常报警,锂电池低压报警; #### 9.屏幕显示时间以及相关设置参数; ## 软件: ### 程序分两部分 #### 1.CW32单片机使用KEIL开发; #### 2.ESP01S使用ARDUINO IDE开发; ## 外壳: ### 网上采购的成品防水接线盒,尺寸158X90X60,在顶盖对应位置开孔安装控制板、显示屏、开关,电池盒使用3M胶带粘在顶盖内部,底盖只安装了水泵,开孔把进水和出水的两个接口伸出去; ## 进度更新 ### 3月25日,完成电路板焊接,烧写程序正常,锂电池充电电路工作正常,两路ldo稳压输出正常,升压电路输出6V电压正常,ESP01S电源控制电路工作正常,St7567屏幕正常点亮。 ### 4月2日,制作外壳,直接使用现成的防水盒,在相应位置开孔,屏幕与主电路板分开,通过排线连接,主控板,屏幕,电池盒全部放在顶盖,底盖只放水泵电机 ### 4月4日,逐步完善程序,ADC采集、INA226的电流采集、RTC实时时钟获取、串口1和串口2收发数据、按键控制、蜂鸣器控制、SPI方式驱动1.7寸屏等功能均已实现,ESP01S使用Arduino编写程序,一开始用点灯的服务器,程序占用空间太大,后来改用贝壳物联,暂时先实现远程控制,后期再换其他平台。期间遇到一个问题,ESP01S上电后始终无法连接服务器,不停的重启,本来以为是供电不足导致,电路飞线给模块单独供电也不行,后来才发现需要等模块连接服务器成功后CW32才能给ESP01S串口发数据,在CW32初始化程序中,ESP01S电源上电后延时5秒后再继续执行下面的程序,然后就正常了。另外,电路设计存在一个问题,使用了单片机内置RTC,PC13的IO就不能正常使用了,这个一开始没考虑到,目前采用飞线,将PF07和LED连接。 ### 4月8日,测试联网浇花功能时发现启动电机后,电池压降比较大,ESP01S直接掉电重启,CW32倒是一点问题都没有,依然正常工作。通过加大容量电容、从升压电路输出的电压再降压单独给ESP01S供电都不行,最后决定更换方案,这就有了下面的第二版。 ### 4月9日,第二版改用LM2596S-ADJ DC-DC降压芯片和AMS1117-3.3 LDO降压芯片来给整个系统供电,取消了8M的外置晶振,调整了个别IO口的功能,控制LED的IO口改为PF07。重新画板,当天下单,这次选绿色的板子,其他都是默认。 ### 4月13日,收到新的板子(嘉立创的速度真快,从下单到发货只用了2天时间,在这给他们点个赞。),连夜焊接新板子,本着不浪费的原则把原来V1.0板子上的MCU、INA226、MOS芯片全移植过来,焊好后挨个引脚测了一遍没有问题,然后对程序稍微改了一下重新烧录进去,开机上电,没有问题,测试了一下联网状态下控制水泵电机打开关闭,再没有掉电重启的现象了。 ### 4月15日,增加太阳能充电接口,与2串18650锂电池保护板连接,用来给18650锂电池充电。 ### 4月16日,接入土壤湿度传感器,实现湿度变化自动浇水。程序中,浇花模式改为:0手动浇花、1定时自动浇花、2湿度低于阈值自动浇花三种模式。 ### 下一步工作:继续完善程序。 ## 实物照片(外观比较丑,见笑了) ### V1.0版 ![2081694071.jpg](//image.lceda.cn/pullimage/vYhhXhcA9pNQ9kpl4qS6mhEF1BBGSaAMeOX93g88.jpeg) #### 焊接板子用到了电烙铁和加热板,焊接的比较丑。 ![1659654267.jpg](//image.lceda.cn/pullimage/q5QdcpJAVMcDOpGvQTBto1o9m6fvJc3smumy3NKu.jpeg) #### 显示屏是老王店子里POS机上拆下来的,1.7寸黑白屏 分辨率12864,SPI接口,兼容ST7567,专门做了一个屏幕底板,方便安装到外壳上,使用排线加 8P的PH2.0插头和主控板连在一起。 ![1831879244.jpg](//image.lceda.cn/pullimage/vjEANQQD5qGGMLSKTL003kjMYRjZa1nWZZHIbvlM.jpeg) #### 第一版具有5V充电功能,外壳开了充电口。 ### V2.0版 ![328564738.jpg](//image.lceda.cn/pullimage/vLIEZNWOPgCZEazpk0kaTkjg4mp7VpkCA1DXvOrx.jpeg) #### 这是第二版,采用DC-DC降压模式给整个系统供电,大部分元器件包括主控芯片全部从1.0的板子上移过来的,虽然有点费劲,但是至少不浪费,毕竟1.0版本的板子也没什么用了。 ![516754250.jpg](//image.lceda.cn/pullimage/p5gD264Htqt3QtyFd9u7H5lGCEXUd7MYOiLBee5I.jpeg) #### 屏幕、电路板和电池都放在防水盒的上盖,底盖只放了一个水泵,这个水泵是在某宝买的的茶水机的水泵,商家给的参数是6V供电。 ![351737742.jpg](//image.lceda.cn/pullimage/N2c7TTNsy5KtYsErS54azlYNH7Xb7k1xZ9GYIZGI.jpeg) #### 通过按键可以切换屏幕显示内容,第一页是时间、浇花模式、水泵状态、电池电压,第二页显示一些具体参数,第三页是设置页面,需要最右边的按键长按才能进入,短按是切换显示内容。在设置页面可以通过第一和第二的按键(也就是加减)来调整具体参数,比如改变浇花模式、浇花时间、浇花时长等参数。 ![1837380421.jpg](//image.lceda.cn/pullimage/nZDNFrT9Pw6tgWCPYVYh9P2ZRJzOETtKFnUmxp4O.jpeg) #### 这种成品的接线盒很适合DIY,唯一的缺点就是丑,还是那句话“又不是不能用”。 ![1092447916.jpg](//image.lceda.cn/pullimage/9qtFAt6qry1aPOBk3v3O6fwuw7MdW0rc6zMW6sH9.jpeg) #### 水平有限,时间也比较紧,把之前贝壳物联的代码拿过来改了改,再加上他们的小程序,很快就能实现联网控制。 ![1837380421.jpg](//image.lceda.cn/pullimage/YXX0bFACrteksHq7char3u8H8A0viiELgOvO8bkD.jpeg) #### 这个水泵的固定需要将上面的三个螺丝拧下,从外壳开的三个孔穿进去固定,保险起见,电机下面和底盖还打了热熔胶,防止外面接水管的时候把水泵怼进去。 ![988215926.jpg](//image.lceda.cn/pullimage/WgZJovpIkiZ2zY3DCP3l1TkSlKPS6P6Q1Spcd7gq.jpeg) #### 网上买的水管内径买错了,买大了一号,最后用的是雾化器上的管子。水管分流器也买错了,买个4口的就行了,6口的水压太小,管口的水流的很慢很慢。 ![IMG_20230415_205616.jpg](//image.lceda.cn/pullimage/Zw4AgtV9mqE7kkIHTneQD7Rk0EMLRukNO7GjtU3x.jpeg) #### 外壳上增加了一个充电口,输入电压DC 8.4~9V,可以接一个10V的太阳能板。充电口正极经过一个二极管接到了一个2串7.4V锂电池保护板,这个锂电池保护板既可以给2串的锂电池充电,也可以放电。 ![IMG_20230415_205700.jpg](//image.lceda.cn/pullimage/OBddZBZ7XnuppQmzQf2YZsV4fCN7lrnHmtkLHMin.jpeg) #### 侧边的三个接口用来扩展其他模块,包括温湿度传感器、土壤湿度传感器。 ![IMG_20230415_205425.jpg](//image.lceda.cn/pullimage/zmWHjvH5pzz08kww2tdkk68JsFlsi2tPqns28IDM.jpeg) #### 2串锂电池保护板用3M胶带粘在电池盒上。 ![IMG_20230415_212517.jpg](//image.lceda.cn/pullimage/ALMTl53fLLuUz3D1cK2P9YcRx18456rd7by95YkF.jpeg) #### 土壤湿度传感器建议用电容式的,反应灵敏、不易被腐蚀。 ![QQ图片20230418111315.jpg](//image.lceda.cn/pullimage/49ZGijb651L20l6O8yBlLZvUEInhEW5vyNltOQno.jpeg) ## 目前基本功能大部分已经实现,就是联网校准时间的功能还没有实现,程序还有一些BUG没有解决。程序已开源,新手水平有限,写的不好,请大家指教!
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP