基于STM32的智能浇花系统设计与实现
Design and Implementation of Intelligent Flower Watering System Based on STM32
DOI: 10.12677/SEA.2021.106083, PDF, HTML, XML, 下载: 835  浏览: 5,960 
作者: 郑 旸, 曾国辉, 廖鸿飞, 陈 涛, 陈 功, 马 驰:上海工程技术大学,电子电气工程学院,上海
关键词: 盆栽养殖STM32土壤湿度传感器烟雾传感器Potted Culture STM32 Soil Humidity Sensor Smoke Sensor
摘要: 为了解决盆栽养殖因浇水不善导致植物枯萎死亡的问题,本文设计了一种基于STM32的智能浇花系统。系统以STM32为主控芯片,设有土壤湿度检测模块,空气有害气体检测模块,水泵控制模块以及安全报警模块。工作原理为:通过湿度传感器检测土壤湿度,控制水泵进行浇水;通过烟雾传感器检测空气中有害气体含量,控制蜂鸣器是否发出警报。经过硬件连接并编程调试后,实现了盆栽植物的自动浇水以及空气质量的预警。实验测试数据表明,所设计系统安全可靠,满足盆栽植物按需按量浇花的要求和空气质量的检测。
Abstract: In order to solve the problem of plant wilting and death caused by poor watering in pot culture, an intelligent watering system based on STM32 was designed in the paper. The system takes STM32 as the main control chip, and is equipped with soil humidity detection module, air harmful gas detection module, water pump control module and safety alarm module. The working principle is to detect the soil humidity through the humidity module and control the water pump to water and detect the harmful gas content in the air by the smoke sensor to control whether the buzzer gives an alarm. After the hardware connection and programming debugging, the automatic watering of potted plants and the early warning of air quality are realized. The experimental test data show that the designed system is safe and reliable, and can meet the requirements of potted plants watering flowers according to the demand and air quality monitoring.
文章引用:郑旸, 曾国辉, 廖鸿飞, 陈涛, 陈功, 马驰. 基于STM32的智能浇花系统设计与实现[J]. 软件工程与应用, 2021, 10(6): 791-798. https://doi.org/10.12677/SEA.2021.106083

1. 引言

随着当今社会生活节奏的加快,养花种草成为了当代人缓解压力的选择之一。盆栽养殖不仅能够净化空气、改善居住环境,也能陶冶情操、丰富日常生活。然而,不同种类的植物对生长环境的要求有所不同,大多数人缺乏盆栽养殖经验,或无暇顾及植物生长情况,最终导致盆栽的生长不尽人意。因此,设计一款能够时刻检测盆栽生长环境、为植物提供合理水分的智能浇花系统是非要有必要的。

文献 [1] 基于STM32F103C8设计了一种智能浇花装置,采用土壤湿度传感器检测土壤湿度,但是其在对湿度数据的处理上存在不准确的可能性。文献 [2] 采用STC12C5A60S2作为主控芯片,设计了一种智能浇花系统,但是其功能性较为单一。而文献 [3] 利用AT89S52控制多个模块来实现智能浇花,但是其结构复杂,且其含有电磁阀元件,容易干扰单片机运行,造成系统无法正常工作。

本文在充分考虑系统稳定性、成本和实用性的基础上,设计了一种基于STM32F103C8单片机的智能浇花系统。通过对土壤湿度的检测结果来对水阀进行控制,在此基础上集成了空气检测模块,实现对空气中有害气体的检测,同时在液晶屏幕上显示系统当前的工作状态。该系统实现简单、结构轻巧、使用方便,能够提高人们养殖盆栽的便捷性的同时检测室内空气质量,保证盆栽植物的存活率和室内空气环境的安全。

2. 系统总体设计

STM32系列微控制器具有高性能,低功耗,易开发的优点 [4]。本文设计的智能浇花系统主要由STM32F103C8单片机,土壤湿度传感器,烟雾传感器以及水泵控制模块组成,系统整体结构如图1所示。上电复位后,主控制器进行AD采集,并对采集到信号进行分析处理,然后在液晶显示屏上显示土壤湿度及空气烟雾含量,主控制器IO口输出控制信号,控制水泵和蜂鸣器进行工作,达到自动浇花和空气检测的目的。

3. 硬件设计

3.1. 电源模块

本文所设计的智能浇花系统采用5V的USB为STM32F103C8主控芯片供电,驱动开关电源拓扑如图2所示。该电路不仅元件数量少,且具有过流、过载、短路保护功能。当电路发生短路或者过载时,开关管Q1的集电极和发射极电流激增,导致电阻R1上的压降升高,R1两端电压升高后,经过电阻R3,进一步促使开关管Q2达到饱和导通,电容C4是加速电容,起到加快开关管Q2导通的作用,从而使开关管Q1截止,电路停止输出,有效防止过载或短路对电路的损坏。

Figure 1. Overall design block diagram of intelligent flower watering system

图1. 智能浇花系统总体设计框图

Figure 2. Power supply circuit

图2. 供电电源电路

Figure 3. LCD driving principle

图3. LCD驱动原理

3.2. 液晶显示模块

采用1602液晶显示屏作为液晶显示模块,该模块通过调节电压来改变填充在两块平行板之间的液晶材料内部分子的排列状况,来达到遮光和透光的目的,进而显示图像。该模块与STM32F103C8主控芯片连接的原理图如图3所示。其中P00-P07是双向数据端口,E为使能端,RW为写信号线,RS为寄存器控制端。液晶显示屏的主界面显示水泵的转动状态、烟雾浓度状态和报警状态等,参数设置界面中显示相关参数的当前值,需要更改的阈值可以通过按键来调整。

3.3. 土壤湿度采集模块

湿度传感器选用的是YL-69,其原理图如图4所示,由一个电压比较电路和一个分压电路构成。

Figure 4. Schematic diagram of soil moisture sensor

图4. 土壤湿度传感器原理图

该传感器的原理主要是感知土壤电阻的变化,土壤含水量越高,土壤电阻越小。当土壤缺水的时候,探头两端之间土壤的电阻很大,经过上拉电阻R1分压后,AC端点位较高,经C2滤波以后连接到比较器同相输入端,此时同相输入端点位高于反向输入端设置的阈值点位,OUT输出为0,光电二极管发光示警。反之,无示警。IN端接滑动电位器,用来调节阈值大小,以选择合适的浇花灵敏度。

3.4. 烟雾检测模块

MQ-2烟雾报警器由红外发光管、光敏三极管构成的串联反馈感光电路,半导体管开关电路及集成报警电路等组成,如图5所示。

当检测的环境无烟雾时,红外发光二极管VD1发光。光敏三极管VT1受到红外光照射后内阻减小,使得VD1和VT1串联电路中的电流增大,光照强度增加,光敏三极管内阻进一步减小。如此循环便形成正反馈过程,最终串联感光电路中的电流会达到最大值,在R1上产生的压降经VD2使VT2导通,VT3截止,报警电路不工作。

Figure 5. Schematic diagram of smoke detection

图5. 烟雾检测原理图

当检测环境存在烟雾增加的情况时,透光性变差,此时光敏三极管VT1受到光照强度减小,其内阻增大,串联感光电路中的电流也随之减小,发光二极管光照强度减弱。如此循环便形成了负反馈的过程,最终串联感光电路中电流会回到起始电流值,R1上的电压也降到1.2 V,使VT2截止,VT3导通,报警电路工作,发出报警信号。

3.5. 水泵驱动模块

图6所示为水泵驱动电路原理图。考虑到单片机I/O的驱动能力有限 [5],采用继电器来控制水泵运行。当I/O口输出低电平时,三极管导通,继电器线圈通电,触电吸合,水泵开始工作浇花。当水分充足时,I/O口输出高电平,三极管截止,继电器线圈失电,触点断开,水泵停止工作。

Figure 6. Water pump driving circuit

图6. 水泵驱动电路

3.6. 蜂鸣器驱动模块

当检测到的烟雾浓度大于所设定的浓度阈值时,I/O口输出低电平,蜂鸣器进行报警。当一定时间内,蜂鸣器报警不断,说明室内空气质量环境可能存在问题。此时,可以及时提醒室内人员对周围环境进行检查。蜂鸣器电路图如图7所示。

Figure 7. Buzzer circuit

图7. 蜂鸣器电路

4. 软件设计及工作流程

在Windows 10,64 bit系统中,利用Keil 5开发工具,选择STM32F103C8型号单片机,采用C语言进行程序编译,程序流程图如图8所示。系统初始化后,主界面显示系统当前状态,然后检测土壤湿度以及烟雾浓度,将检测到的模拟量转换为数字量,通过条件判断土壤湿度及气体浓度是否符合阈值范围;若符合,则显示系统正常,进行下一次检测;否则,开启水泵或蜂鸣报警,并显示运行状态,直到下一次检测符合阈值范围。

4.1. 土壤湿度检测

土壤湿度检测是智能浇花系统程序实现中的重要环节。检测的数据是否准确,直接影响系统判断,若所测土壤湿度小于真实值,则会导致系统浇水量过多;反之,则会导致系统不能及时浇水,影响盆栽植物的生长。本文设计的土壤湿度检测流程如图9所示,ADC初始化后进行数据采集,为了保证采集到的数据准确真实,及排除偶然性带来的影响,本文将多次采集后的数据取平均值,然后将其转化为数字电压值。由于本文采用的电阻性土壤湿度传感器特性为湿度越小,采集到的模拟量越大;因此,当转化后数字电压值大于所设定阈值时,调用水泵控制子程序,及时进行浇水工作。

4.2. 液晶显示

STM32通过8080通信接口与1602液晶芯片通信,实现对液晶显示屏的控制。编程初始化LCD控制器1602芯片与STM32控制器的引脚连接配置,CS为TFTLCD片选信号,WR为向TFTLCD写入信号,RD为从TFTLCD读取信号,RS为命令数据标志。调用函数显示预设的中英文字符。

Figure 8. System software design flow chart

图8. 系统软件设计流程图

Figure 9. Data acquisition flow chart

图9. 数据采集流程图

4.3. 水泵控制

水泵控制是程序中的重要部分。在主程序循环中,首先由YL-69土壤湿度传感器采集湿度模拟量,然后ADC通道将所接收到的模拟信号转化为数字信号,最后通过数字信号与所设定阈值大小关系来判断是否启动水泵进行抽水。当所接收到的信号判断土壤湿度低于下限值时,通过程序配置STM32的PB9接口输出低电平信号,使三极管导通,动合型继电器 [6] 线圈通电,触点闭合,水泵开始工作。当接收的信号判断土壤湿度高于下限值时,则通过程序配置STM32的PB9接口输出高电平,三极管截止,此时继电器线圈没有电流通过,两个触点断开,水泵停止运行。在此过程中,主程序通过不断地采集土壤湿度来控制水泵工作,达到精准控制盆栽中土壤水分的要求。

5. 系统测试

图10所示为本文所设计的智能浇花系统实物图。经过实验测试,当土壤湿度低于所设定阈值时,水泵开始工作,系统给盆栽植物浇水。在此过程中,传感器不断检测土壤湿度,当检测到土壤湿度大于所设定阈值,水泵立即关闭,停止浇水。同时,当烟雾传感器检测到室内烟雾浓度过高时,蜂鸣器报警,提醒室内人员是否发生煤气泄露等危险因素。通过在不同环境下多次实验表明,本文所设计的智能浇花系统能够有效控制盆栽植物生长环境中所需的水分,同时对室内空气起到一定检测作用。

Figure 10. Intelligent flower watering system

图10. 智能浇花系统

6. 结束语

本文采用STM32F103C8型号单片机作为主控芯片,设计了一款智能浇花系统。该系统通过对土壤中湿度的实时检测来控制水泵运行,在检测土壤湿度数据时,利用了多个湿度数据信息,提高了湿度数据的准确性。该系统同时对空气中有害气体的浓度进行实时检测,并在有害气体浓度过高时,控制蜂鸣器发出警报。该系统运行时还会在液晶屏幕上显示系统的运行状态,方便随时观察。通过实验测试,该系统能够有效实现对盆栽植物水分保持以及环境中空气质量的检测,在一定程度上解决了人们无暇顾及植物生长的问题,大大提高了盆栽种植体验。

参考文献

[1] 高伟, 董彦辰, 马庆磊. 基于STM32F103C8的智能浇花系统[J]. 中国新技术新产品, 2018(3): 25-26.
[2] 何伟宏, 郑首易, 毛锦庚, 等. 基于单片机的智能浇花系统设计与实现[J]. 电子制作, 2016(2): 20-21.
[3] 张兆朋. 基于AT89S52的家庭智能浇花器的设计[J]. 电子设计工程, 2011, 19(5): 39-41+44.
[4] 卢娜. 基于STM32的智能家居控制系统设计[J]. 商丘职业技术学院学报, 2021, 20(5): 87-91.
[5] 陈峰汉, 庄楷. 单片机I/O驱动与隔离电路的设计[J]. 集成电路应用, 2017, 34(11): 87-90.
[6] 梁慧敏, 于海丹, 唐钰杰, 等. 双磁钢差动式电磁继电器虚拟样机与参数优化研究[J]. 中国电机工程学报, 2016, 36(1): 258-267.