
专业版
征集令 |自动浇花器
6.4k
0
0
10
简介
自动浇花器,基于CW32单片机和ESP01S WIFI模块制作,能够定时自动浇水,土壤湿度检测自动浇水,也可以接入物联网远程控制浇水。
简介:自动浇花器,基于CW32单片机和ESP01S WIFI模块制作,能够定时自动浇水,土壤湿度检测自动浇水,也可以接入物联网远程控制浇水。开源协议
:GPL 3.0
创建时间:2023-03-14 13:52:48更新时间:2023-04-26 01:39:06
描述
视频链接 【自动浇花器(基于CW32F030C8T6制作)-哔哩哔哩】
描述:
家里阳台的花经常忘记浇水,导致有的花因为缺水而枯萎,为此产生了制作一个自动浇花器的想法。正好赶上立创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:
功能简介:
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版
焊接板子用到了电烙铁和加热板,焊接的比较丑。
显示屏是老王店子里POS机上拆下来的,1.7寸黑白屏 分辨率12864,SPI接口,兼容ST7567,专门做了一个屏幕底板,方便安装到外壳上,使用排线加 8P的PH2.0插头和主控板连在一起。
第一版具有5V充电功能,外壳开了充电口。
V2.0版
这是第二版,采用DC-DC降压模式给整个系统供电,大部分元器件包括主控芯片全部从1.0的板子上移过来的,虽然有点费劲,但是至少不浪费,毕竟1.0版本的板子也没什么用了。
屏幕、电路板和电池都放在防水盒的上盖,底盖只放了一个水泵,这个水泵是在某宝买的的茶水机的水泵,商家给的参数是6V供电。
通过按键可以切换屏幕显示内容,第一页是时间、浇花模式、水泵状态、电池电压,第二页显示一些具体参数,第三页是设置页面,需要最右边的按键长按才能进入,短按是切换显示内容。在设置页面可以通过第一和第二的按键(也就是加减)来调整具体参数,比如改变浇花模式、浇花时间、浇花时长等参数。
这种成品的接线盒很适合DIY,唯一的缺点就是丑,还是那句话“又不是不能用”。
水平有限,时间也比较紧,把之前贝壳物联的代码拿过来改了改,再加上他们的小程序,很快就能实现联网控制。
这个水泵的固定需要将上面的三个螺丝拧下,从外壳开的三个孔穿进去固定,保险起见,电机下面和底盖还打了热熔胶,防止外面接水管的时候把水泵怼进去。
网上买的水管内径买错了,买大了一号,最后用的是雾化器上的管子。水管分流器也买错了,买个4口的就行了,6口的水压太小,管口的水流的很慢很慢。
外壳上增加了一个充电口,输入电压DC 8.4~9V,可以接一个10V的太阳能板。充电口正极经过一个二极管接到了一个2串7.4V锂电池保护板,这个锂电池保护板既可以给2串的锂电池充电,也可以放电。
侧边的三个接口用来扩展其他模块,包括温湿度传感器、土壤湿度传感器。
2串锂电池保护板用3M胶带粘在电池盒上。
土壤湿度传感器建议用电容式的,反应灵敏、不易被腐蚀。
目前基本功能大部分已经实现,就是联网校准时间的功能还没有实现,程序还有一些BUG没有解决。程序已开源,新手水平有限,写的不好,请大家指教!
设计图

BOM


添加到专辑
0
0
分享
侵权投诉
评论