王波 王晋美 孙毅浩 乔俊超
摘 要:采用STM32单片机作为主控制器,设计一种自动浇花系统,该系统由主控模块、LP4056锂电池充电管理模块、稳压模块、按键控制模块、湿度采集模块、OLED显示输出模块和水泵控制模块组成。该系统能够实现对花卉土壤湿度的实时监测,监测数据传送至CPU模块,当湿度低于设定阈值时,由单片机启动水泵进行抽水,实现自动浇花功能。系统设计有充电及低功耗模式,工作灵活可靠,具有一定的推广价值。
关键词:STM32单片机;湿度;自动浇花;低功耗
中图分类号:TN709;TP273 文献标识码:A 文章编号:2096-4706(2023)12-0166-04
Design of Automatic Watering System Based on STM32 Single-Chip Microcomputer
WANG Bo1,2, WANG Jinmei1,2, SUN Yihao3, QIAO Junchao1
(1.School of Mechanical and Electrical Engineering, Huanghe Jiaotong University, Jiaozuo 454950, China;
2.Henan Intelligent Manufacturing Technology and Equipment Engineering Technology Research Center, Jiaozuo 454950, China;
3.State Grid Xinxiang County Electric Power Supply Company, Xinxiang 453000, China)
Abstract: This paper uses STM32 Single-Chip Microcomputer as the main controller, and designs an automatic watering system. The system is composed of main control module, LP4056 lithium battery charging management module, voltage stabilization module, key control module, humidity acquisition module, OLED display output module and water pump control module. The system can realize real-time monitoring of soil humidity of flowers, and the monitoring data is transmitted to the CPU module. When the humidity is lower than the set threshold, the Single-Chip Microcomputer starts the water pump to pump water to realize the automatic watering function. The system is designed with charging and low power consumption mode, which is flexible and reliable in working, and has certain promotion value.
Keywords: STM32 Single-Chip Microcomputer; humidity; automatic watering; low power consumption
0 引 言
近年來,越来越多的人在家或办公室种植喜爱的花卉,用来装饰环境和净化空气,有些花卉对湿度要求较高,需要及时浇水,但是紧凑的工作生活节奏,又使得很多人不能很好地照顾花卉,来不及浇水出现枯萎等情况[1],因此,设计一种自动浇花系统就显得非常重要。本设计根据自动浇花系统实际应用环境,选用STM32G030C8T6作为主控制器,选用湿度传感器实时监测土壤湿度值,采用水泵进行自动抽水浇花[2],设计有按键模块,改变监测土壤湿度的阈值;采用OLED显示屏显示湿度及电池电量值等参数,考虑到电池电量持续问题,本系统采用LP4056充电管理芯片设计了充电管理模块,可以实现锂电池的循环利用;系统的一个特点是增加了低功耗模式,当外围设备不工作时进入低耗的休眠状态,以达到整体的低功耗,提高整个系统的使用时间,通过以上模块实现自动浇花系统设计。
1 系统总体设计及工作原理
设计的自动浇花系统,采用STM32G030C8T6作为主控制器,利用湿度传感器测量土壤湿度,测量值传输给STM32内置的12 bitAD模数转换器,利用AD模数转换器把土壤湿度模拟量转换为数字量,从而得到湿度值。通过按键调整阈值,使用这一阈值作为水泵抽水工作的依据,当湿度低于设定阈值时,单片机控制水泵进行浇水;当高于设定阈值时,就进入低功耗休眠模式停止工作。本设计秉承低功耗的设计初衷,且考虑到该系统并不需要每时每刻进行工作,所以设定休眠模式以节约能源。在程序内设定工作一小段时间,就进行休眠,休眠后唤醒再次开始工作,循环往复,实现低功耗自动浇花;以LP4056作为充电管理芯片,能够对设备进行充电管理。系统总体方案设计,如图1所示。
2 系统硬件电路设计
2.1 系统总体电路
该系统设计的总体电路分为两部分,单片机最小系统电路包括STM32、复位和晶振电路,外围电路主要包括电源电路、土壤湿度采集电路、OLED显示电路、按键电路和水泵控制电路。系统总电路接线图如图2所示。
2.2 电源电路设计
电源电路给整个系统供电,设计可分为三部分,分别为充电管理电路、滤波电路和降压电路。
2.2.1 充电管理电路
采用USB MicroB型接口作为电源的输出端,经过一个10 μF的电容进行滤波后,进入到LP4056充电管理芯片中。该芯片的第2脚是充电电流的限制端,当串联一个1 000 Ω的电阻时,限制充电电流最大为1 A[3];第4脚是充电电流的输入端;第5脚为充电电压输出端,输出4.2 V的电池充电电压来给18650锂电池进行充电[4];第6脚和第7脚是充电状态指示灯,分别指示充电中和充电完成两种状态,当充电时,亮红灯,充电完成后亮绿灯;第8脚为芯片使能端,不连接即可。由一节18650电池输出的电压经过R5、R6分压后送入主控的内部ADC进行电池电压采样,分压比为R6/(R5+R6)即1/11,电路设计如图2中充电管理电路部分所示。
2.2.2 滤波电路
电源中的噪声会影响STM32G030C8T6模拟部分的精度,所以使用一个磁珠对噪声进行滤除[5]。磁珠是一种阻感元件,特性为:当没有遇到特定频段的噪声时,表现为通路;当遇到特定频段的噪声时,表现出阻感特性,对噪声进行削弱。电容的作用是通交隔直,也是滤波的作用[6],电路设计如图2中滤波电路部分所示。
2.2.3 低压差稳压器降压电路
这部分使用了一颗低压差稳压器芯片,负责把电池输出的4.2 V转换为3 V的电压供主控使用,电路设计如图2中降压电路部分所示。
2.3 土壤湿度采集电路设计
湿度传感器是利用土壤中的水导电性能,含水量不同,电阻率不同的特点来进行土壤湿度测量的[7],接口一端是供电,另一端是电压采集。考虑低功耗,应尽量减少湿度测量时的电能损耗,使它仅在需要测量的时候才启用,采用了一个NPN三极管来控制土壤湿度传感器的供电,这样就可以避免电能的浪费。当需要测量时,控制单片机的引脚为高电平,NPN三极管导通,供电电压进入传感器;当不需要测量时,使单片机的引脚变为低电平,NPN三极管关断,供电电压不能进入传感器,电路设计如图2中湿度传感器接口所示。
2.4 OLED显示电路设计
显示电路使用的是一块128×32像素的OLED屏幕,屏幕控制器为SSD1306,显示的内容是电池的电量和土壤濕度的监测值等信息,OLED不需要背光电源,设备一般更薄,体积更小巧,不需要经滤光膜过滤成像,直接由元件发光可实现的色彩更加丰富[8],更易分辨。采用OLED屏幕使得系统设备整体尺寸大大缩小,更加小巧便捷,电路设计如图2中OLED显示部分所示。
2.5 按键电路设计
按键电路由三个按键组成,按键的一端连接主控,另一端连接到GND。由于主控内部可以把引脚配置为上拉输入,所以当按键没有触发时,主控收到的是高电压;当按键按下时,主控引脚连接到GND,从而使主控内部对应引脚检测到低电压,通过读取高低电压的变化来判断按键是否按下,按键主要用于土壤湿度阈值的调节,电路设计如图2中按键部分所示。
2.6 水泵控制电路设计
该电路采用P-MOS管和NPN三极管共同控制水泵的开关,当单片机引脚为低电平时,NPN三极管关断,MOS管的栅极由R18电阻上拉至4.2 V,由于VGS = 0,所以P-MOS管关断;当单片机引脚为高电平时,NPN三极管导通,P-MOS管栅极被拉低,此时VGS<0,P-MOS导通,电机开始旋转,进行抽水浇花。当P-MOS管由导通转为关断时,由于电机是感性负载,有阻碍电流突变的能力,所以电流的“惯性”会损伤P-MOS管,使用二极管D6作为续流二极管,电机和二极管D6构成一条电流回路,从而避免损伤P-MOS管情况发生,电路设计如图2中水泵驱动部分所示。
3 系统软件设计
本系统是关于自动浇花器设计,一个特点是设计有低功耗模式。当设备通电后,系统首先进行初始化,其中包括ADC、SPI、GPIO、FLASH、TIME等的初始化,之后系统读取flash中储存的湿度值,将其保存到变量中以供与测量的土壤湿度比较,如果低于设定土壤湿度阈值,则启动水泵浇水,如果高于设定值,则进入低功耗模式。低功耗模式定时时间可调,当定时时间已到,则再次判断土壤湿度是否低于设定值,如此循环,降低系统功耗。系统流程图如图3所示。
4 系统PCB设计
按照PCB布线的规则,完成基于单片机的自动浇花系统的PCB设计,采用双层板[9]。STM32单片机芯片位于板子中央,便于控制外设,元器件位置空间分布合理,板子体积小,节省费用,整体布线如图4(a)所示,为了便于观察系统实物,进行3D仿真,如图4(b)所示。
5 应用效果
整理焊接元器件,完成实物进行效果测试,系统所需元器件明细表,如表1所示。
通电后系统正常工作,显示湿度值和电池电压等信息,通过菜单按钮进入设置菜单页,可以设置湿度阈值。在缺水状态进行测试,成功启动水泵进行抽水,如图5所示。
6 结 论
以STM32G030C8T6单片机为核心设计了自动浇花系统,能够在花卉缺水的时候自动启动水泵进行浇水,通过硬件焊接验证了系统的功能。本系统设计总体方案基本可行,结构简单可靠,具有充电、低功耗功能,可持续性使用,整体成本较低。该系统所设计的自动浇花帮助人民在繁忙的生活释放双手,具有一定的推广价值和使用价值。
参考文献:
[1] 王红燕,洪焕.浅谈家庭养花 [J].园艺与种苗,2021,41(1):16-17+29.
[2] 乔琳君,魏严锋.基于STC89C52单片机的自动浇花系统设计 [J].微型电脑应用,2021,37(3):23-26.
[3] 俞纪良,刘壮林,范海平,等.基于单片机的自动浇花系统设计 [J].电子设计工程,2022,30(18):11-15.
[4] 任勇峰,董琳琳,刘东海.基于BQ24105的锂离子电池充电管理模块设计与实现 [J].兵器装备工程学报,2020,41(2):192-197.
[5] 陈剑锋.电源滤波电路中的磁珠应用和设计 [J].山东工业技术,2018(10):159-160.
[6] 胡毅,董晓雅,马珺,等.电容滤波直流电源电路谐波产生分析与抑制方法 [J].盐城工学院学报:自然科学版,2020,33(2):13-19.
[7] 过琦芳,马国智,李梦晴,等.基于STM32的智能盆栽浇灌器设计 [J].乡村科技,2022,13(12):150-152.
[8] 张哲.OLED液晶屏幕 [J].影视技术,2005(1):20.
[9] 李新宇,温丹丽.多线路PCB单面板的设计与实现 [J].电子制作,2020(7):83-84.
作者简介:王波(1989—),男,汉族,河南安阳人,助教,硕士,研究方向:机器学习、自动控制。
收稿日期:2023-01-05
基金项目:2021年度黄河交通学院一流专业建设项目(HHJTXY-2021ylzy01);2022年度黄河交通学院校级一般项目(Hhjt-2022070);河南省智能制造技术与装备工程技术研究中心科研项目(3118210370)