基于STM32的智能盆栽浇灌器设计

作者: 过琦芳 马国智 李梦晴 顾展展

基于STM32的智能盆栽浇灌器设计0

[摘 要] 为满足家庭、公司等自动花卉护理的需求,设计出一款基于STM32单片机的智能浇花器。该浇花器利用土壤湿度传感器实时采集土壤的湿度信息并发送给STM32主控芯片,STM32单片机将采集的数据与设定值相比较,根据比较结果输出控制信号,控制继电器的通断,完成按需按量自动浇灌工作。

[关键词] STM32单片机;智能浇花器;土壤湿度传感器;Wi-Fi模块

[中图分类号] TP368.1;TP212;S688.1 [文献标志码] B [文章编号] 1674-7909(2022)12--3

0 引言

随着生活质量的不断提高,人们在家中、办公室放置一些盆栽植物成为一种时尚。这样做不仅起到美化环境、净化空气的作用,而且可以达到陶冶情操、愉悦身心的目的[1]。笔者结合家庭盆栽因不可控因素疏于打理的现实及期望盆栽植物健康生长的需求,设计了一款由感知模块、执行模块、电源模块、Wi-Fi无线通信模块及微控制器模块构成的智能盆栽浇灌器。该浇灌器通过土壤湿度传感器实时采集土壤湿度信息,并由STM32单片机进行数据处理,输出控制命令,从而控制水泵的开启与关闭,实现自动浇灌的目的。传感器数据可通过Wi-Fi模块发送至物联网云平台,使得在线监测和云端控制成为可能。

1 系统总体设计方案

整个系统由主控模块、传感器采集模块、电源转换模块、按键模块、水泵控制模块、Wi-Fi无线通信模块及报警模块等组成[2],其中主控芯片采用STM32F103微控制器。智能浇灌器总体结构如图1所示。土壤湿度传感器实时采集土壤的湿度信息,通过AD转换直接传给STM32微控制器;STM32微控制器通过与设定的阈值进行比较,当采集值小于设定的下限值时, STM32微控制器按照预定的控制机制发出控制命令,控制水泵运转,进行浇水。当实时采集的土壤湿度值大于设定的上限值时,STM32微控制器发出控制指令让水泵停止运转,停止浇水。水位传感器主要检测储水箱的水位,实现水位过低时自动报警的功能[3]。传感器数据通过Wi-Fi模块直接上传至云平台,用户可在线查看传感器数据,设置阈值,手动远程控制浇灌设备。

2 系统硬件设计

2.1 主控电路

微控制器是该浇灌器的控制核心,此系统采用STM32F103C8作为主控芯片。该芯片是意法半导体有限公司出品的一款基于ARM Cortex-M 内核的32位的微控制器,具有64 kB的闪存容量,工作电压为2.0~3.6 V。与8位的51单片机相比,其性能好,完全可以满足该系统的控制要求。

2.2 土壤湿度检测电路

土壤湿度传感器用来检测土壤的水分含量。该系统采用YL69土壤湿度传感器。该传感器感应面积大,耐腐蚀性好,具有良好的导电性能,使用寿命长。而且该传感器既可以输出数字量信号,也可以输出模拟量信号,可以通过调节电位器来调节阈值,实现对土壤湿度的宽范围控制,可以自动对盆栽进行浇水。将土壤湿度传感器与STM32的PA12引脚相连,实现对土壤湿度的检测。

2.3 水位报警电路

水位检测采用电阻式液位传感器,其利用具有一系列暴露的平行导线线迹测量液位从而判断水位,输出的模拟值由STM32微控制器的ADC进行转换并读取。水位传感器与STM32的PA13引脚相连,当储水箱水位异常时,由STM32单片机发出控制命令,驱动蜂鸣器进行报警。

2.4 水泵控制电路

此系统由继电器充当水泵开关控制水泵出水。继电器是用小电流控制大电流运作的一种“自动开关”,通常用于自动控制电路中,因此,可以将其作为自动浇灌器的电机驱动模块[4]。为了保证水泵的正常工作,需要给水泵单独进行供电。将继电器和STM32的PA11引脚相连,STM32单片机根据采集的传感器数据和设定的阈值比较结果发出控制命令,控制继电器的吸合和断开,从而实现自动浇水。水泵控制电路如图2所示。

2.5 Wi-Fi通信电路

Wi-Fi通信模块选用ESP8266芯片。该芯片最大的特点是性价比高,具有强大的片上处理和存储能力,高度片内集成,仅需很少的外部电路就可以实现完整且自成体系的Wi-Fi网络解决方案。而且该芯片支持AT指令设置大部分参数,同时能被设置为透传模式,这样ESP8266就相当于是在互联网和UART之间有了通信桥梁[5]。ESP8266 Wi-Fi模块与STM32单片机的串口2相连,实现与云平台的通信。ESP8266接口电路如图3所示。

3 系统软件设计

该系统软件采用“STM32CubeMX+MDK-ARM”的开发工具组合进行开发,使用C语言编写程序。整个程序采用模块化设计,主要包括系统初始化子程序、按键子程序、数据上传云平台子程序、数据处理子程序及继电器控制子程序等部分,系统的主程序流程如图4所示。系统初始化完成后,可以通过按键手动设置土壤湿度的上、下限值,然后土壤湿度传感器实时采集土壤的湿度值并发送给微控制器,微控制器将实时采集的土壤湿度值与设定的阈值相比较,判断是否需要浇水。当土壤湿度低于预设的下限值时,微控制器发出控制命令启动水泵开始抽水,以增加土壤湿度;在抽水过程中不断检测湿度值,一旦到达预设的湿度上限值时,则关闭水泵电路,停止浇水。

4 结语

笔者基于STM32微控制器设计了一款针对盆栽的智能浇灌器。该浇灌器通过土壤湿度传感器实时采集土壤湿度数据,微控制器将采集数据与设定值进行比较分析并发出控制指令,控制水泵的开启与关闭,从而实现按需按量智能浇花。同时,该系统具备水位过低报警功能及远程手动控制功能。该浇灌器很好地解决了人们由于工作繁忙或长时间外出导致花卉盆栽无人看护的问题。经过模拟测试,该系统能较好地实现对土壤湿度的监测及自动浇水等功能。

参考文献:

[1]李雨璇,陈刚.基于单片机的物联网智能浇花系统设计[J].计算机时代,2018(6):32-34.

[2]高伟,董彦辰,马庆磊.基于STM32F103C8的智能浇花系统[J].中国新技术新产品,2018(2):25-26.

[3]邓健志,程小辉.智能盆栽浇灌装置的设计[J].农机化研究,2012(5):143-145.

[4]覃凤,曹美媛,谷红霞,等.基于AT89C51单片机的智能浇水系统设计[J].工业控制计算机,2021(1):118-119.

[5]陶云霞,崔忠伟,朱德孙,等.基于物联网的智能浇花系统的设计与实现[J].电脑知识与技术,2018(16):174-176.

经典小说推荐

杂志订阅

友情链接