APP下载

基于STM32的智能浇水系统

2019-09-17陶曾杰宋春雨曹斌芳

关键词:参数设置土壤湿度触摸屏

陶曾杰,宋春雨,黄 攀,曹斌芳

(1.湖南信息学院电子信息学院,湖南 长沙 410151;2.湖南文理学院物理与电子信息学院,湖南 常德 415000)

近年来,随着物联网技术的迅速发展,农作物浇水从人力浇水和田间引渠浇水发展到智能农业浇水系统,重心转移到了农作物精量控制浇水及自动化控制系统的科学管理[1]。采用土渠输水灌溉的传统方式渗漏和蒸发严重,水资源浪费严重。节水浇水己经成为我国农业发展过程中重点关注的问题之一。水资源的节约利用、合理分配是农业继续可持续健康发展的重要前提。目前我国的灌溉水有效利用系数仅为0.53[2]。为此,笔者设计了一套智能浇水系统,它使人们摆脱了传统的全凭经验的浇水模式,缓解了农业用水短缺现象,它的推广对于节省水资源、发展现代农业、实现优质高产都有意义[3]。

1 系统总体设计

智能浇水系统的总体框图如图1所示,系统由主控制器、数据采集模块、输出控制模块、电源模块、HMI串口触摸屏模块、HC-06蓝牙模块和上位机组成。系统以STM32F103C8T6单片机为核心,利用传感器采集周围环境的相关数据,根据当前环境下植物周围环境温度以及根系周围土壤湿度和控制要求,对水泵、加热设备和降温设备等进行控制,使环境参数如温度、土壤湿度处于设定值之间,达到对农作物进行智能自动浇水的目的。此外,通过串口屏和智能手机APP对采集的数据进行显示[4],并实现人机交互界面的人工控制。

图1 系统总体框图

2 硬件设计

2.1 微处理器模块

选用STM32F103C8T6作为本系统的微处理器,它是一款基于ARM Cortex-M内核STM32系列的32位的微控制器,程序存储器容量是64 kB,工作电压为2~3.6 V,工作温度为-40~85 ℃,中等容量增强型,有7个定时器、2个ADC、9个通信接口、USB接口、CAN接口等,完全能够满足系统的控制要求[5-6]。

2.2 数据采集模块

信息采集由NTC温敏电阻和YL-69土壤湿度传感器完成。数据采集模块电路如图2所示。负电阻温度系数热敏电阻(NTC)的表达式为

式中:Rt、R0分别是温度为T(K)和T0时的阻值;B为热敏电阻的材料常数。温度越高电阻值越低[7]。

YL-69土壤湿度传感器的2个长引脚表面采用镀镍处理,避免接触土壤容易生锈,以延长使用寿命。它有加宽的感应面积,可以提高导电性能[8]。将模拟量输出A0与AD 模块相连,通过AD转换,送入单片机进行处理,以获得土壤湿度。

图2 数据采集模块电路

2.3 HMI显示模块

HMI串口触摸屏实时显示系统检测到的土壤湿度值、环境温度值与设定的湿度上下限、环境温度上下限。HMI使用字符串及C语言指令,数据结构精简,可以显示丰富的内容,图文并茂地展示产品,人机交互界面友好,更人性化[9]。

2.4 通信模块

蓝牙与手机进行通信,将系统检测到的土壤湿度值、环境温度值与设定的湿度上下限、环境温度上下限显示在手机APP上。本设计选用HC-06模块,其外置8 Mbit FLASH,内置2.4 GHz天线。用户无须调试天线,外围设计电路简单,功耗低,有高性能无线收发系统,成本低[10]。它支持UART接口,只须外接就可以实现所需通信功能。HC-06模块是一款高性能主从一体蓝牙串口模块,使用AT指令集,可进行修改名称、密码及设置波特率等操作。系统使用透传模式,作为从机,被手机蓝牙搜索到,配对成功后,实现系统与手机之间相互通信。手机指令通过蓝牙传输到HC-06模块,模块再通过串口与STM32通信,以实现两者之间的读写。一帧蓝牙通信指令定义如表1所示,当设置或显示硬件的年月日及时分秒时须额外加2个数据字。命令字功能定义如表2所示。表1中举例的数据字为0X0011,转化为十进制为17,即通过手机端设置系统环境温度上限为17。

表1 通信指令定义

表2 命令字功能定义

2.5 输出控制模块

控制电路由驱动芯片、光电耦合器、继电器等组成。通过5V继电器控制外接采用220V交流电的水泵、加热设备和降温设备等运行,如图3所示。

图3 单个输出控制电路

3 软件设计

3.1 主程序

智能浇水系统软件设计采用C语言编程,利用STM32库开发方式,编程工具为keil 5,其主程序流程图如图4所示。系统可以在自动和手动2种模式下工作。用户可以在触摸屏或APP平台进行工作模式的设置。系统上电后进行初始化,温、湿度传感器进行数据采集,当系统处于自动浇水模式,根据用户预先设定的值进行阈值判断,来控制水泵、加热设备和降温设备等运行;当系统处于手动浇水模式,用户根据平台显示的农作物的生长环境,设置浇水量、温度值等,然后发出指令控制相应设备的运行。

图4 主程序流程图

3.2 监控平台设计

监控平台包括2部分:通过HMI触摸屏进行监控;通过手机APP进行监控。

3.2.1 总体功能说明

1)HMI串口触摸屏显示温度、湿度、自动浇水时间、手动浇水时间参数等,直观明了。

2)可以设置温度、湿度的上下限报警范围,自动浇水时间,手动浇水时间,并具有掉电保存功能,参数保存在单片机内部,上电无须重新设置。

3)当湿度低于下限值时,打开浇水电机进行自动灌溉;当湿度高于上限值时,自动关闭浇水电机停止灌溉。

4)当温度低于下限值,打开加温设备进行加温;当温度高于上限值时,打开降温设备进行降温;当温度在设定值内时,关闭加温和降温设备。

5)具有手动模式,可手动打开浇水电机。

6)集成RTC实时时钟,精准显示时间,并进行浇水电机的控制。

7)能使用手机APP进行远程控制(设置温度、湿度的上下限报警范围,自动浇水时间,手动浇水时间)。

3.2.2 串口屏界面设计

HMI串口触摸屏为核心的人机交互界面,这部分程序使用USART HMI软件编制,主要实现浇水系统的人机交互。串口触摸屏界面主要由3个界面组成:主界面、参数设置界面和待机界面。

主界面又分为2部分:显示与控制。显示主要显示当前设备内置时钟、当前环境温度及温度上下限、当前土壤湿度及土壤湿度上下限。控制主要提供进入设置参数界面、进入待机界面和手动浇水的接口。触摸屏主界面如图5所示。

图5 触摸屏控制界面

待机界面,显示当前设备内置时钟、当前环境温度、当前土壤湿度和下次浇水时间。点击屏幕就能提供唤醒处于休眠状态的硬件设备。待机界面如图6所示。

图6 待机界面

参数设置界面,主要提供设置温度上下限、土壤湿度上下限、自动浇水时间及间隔时间、手动浇水时间的接口。参数设置界面如图7所示。

图7 参数设置界面

这3个界面主要利用USART HMI软件通过调用文本框、按钮、触摸热区等控件完成设计。

3.2.3 APP界面设计

用户通过手机APP可以实时了解种植场地的温度和土壤湿度,并进行远程手动浇水。界面设计与HMI串口触摸屏相似,同样由3部分组成:连接设备界面、参数显示界面、参数设置界面。连接设备界面,主要实现通过蓝牙连接硬件设备,连接成功后跳转至参数显示界面;参数显示界面,主要显示当前设备内置时钟、当前环境温度及温度上下限、当前土壤湿度及土壤湿度上下限,以及提供进入参数设置界面、断开硬件连接和手动浇水的控制接口,如图8所示。参数设置界面,提供设置温度上下限、土壤湿度上下限、自动浇水时间及间隔时间、手动浇水时间的接口。整个界面主要利用E4A软件通过调用蓝牙、文本框、按钮等控件完成设计。

4 结束语

本文完成了智能浇水系统的硬件设计和软件的开发,通过测试,HMI串口触摸屏和手机APP能精确显示温度、湿度、自动浇水时间、手动浇水时间参数和控制水泵、加热设备和降温设备等运行。随着信息技术的快速发展和人们生活水平的提高,对智能浇水系统的需求将会越来越多。智能浇水系统的发展研究趋势将会是性能更加优越,操作更加便捷,与用户交互更加方便,同时价格更容易被接受[11]。

图8 参数显示界面

猜你喜欢

参数设置土壤湿度触摸屏
土壤湿度传感器在园林绿化灌溉上的应用初探
基于随机权重粒子群优化极限学习机的土壤湿度预测
PLC和触摸屏在卫生间控制系统的应用
基于51单片机控制花盆土壤湿度
浅析投射式多点触控电容触摸屏
贵州喀斯特区域土壤湿度变化规律研究
皮肤“长”出触摸屏
逃生疏散模拟软件应用
蚁群算法求解TSP中的参数设置
RTK技术在放线测量中的应用