APP下载

基于STM32 的茶园灌溉远程控制系统

2020-06-22徐伟豪左冠鹏姚雨晴冯金磊苗犇犇

关键词:机软件土壤湿度上位

徐伟豪,张 武,左冠鹏,张 超,姚雨晴,冯金磊,苗犇犇

(安徽农业大学 信息与计算机学院,安徽 合肥 230036)

0 引言

在自然条件下,茶树生长所需要的水分主要由自然降雨提供[1]。我国大多数茶区年降雨量约为1 200 ~1 800 mm,虽然降水总量大体上满足茶树生长阶段所需要的水分,但是各月降水量分配不够均匀,经常出现茶树生长水分不足的情况,且多数茶区存在伏旱和秋旱现象。为减小这些现象对茶树生长、茶叶品质、茶叶产量等的影响,需要根据茶树对不同时期水分的需求制订精确的茶园自动灌溉控制方案[2]。

精确灌溉是实现茶园补充性灌溉的有效手段。系统会根据环境条件和作物生长情况,按照一定策略来进行适时、适量、定位灌溉,可达到节约灌溉用水、提高茶园产量等目的[3-4]。

近年来,关于精确灌溉的相关研究已经深入到将水分蒸腾、环境气象因素等相结合的综合灌溉控制。其中DigitalSun 公司研发了自动化传感器网络系统[5],张伟等[6]设计了基于ZigBee 无线传感网络与模糊控制方法的精确灌溉系统。但是由于环境、价格以及其他条件等限制,应用范围只能局限在少数农田系统中,很难进行大规模的推广[7]。系统大多数是针对电磁阀门与管网的控制,很难普遍适用于现在的农田灌溉系统机制。

本文设计了一种针对茶园灌溉的远程灌溉监控系统,在不同的耕地深度布置若干个土壤湿度传感器,通过解析传感器网络所采集到的信息,可实现上位机对多个电磁阀的开停、故障检测;传感器数据采集、数据存储以及数据上传等功能。

1 系统总体设计

本系统采用STM32F103ZET6 作为主控制器,系统总体可分为核心控制模块、数据采集模块、数据存储模块、数据传输模块、执行设备模块、人机交互模块,系统的总体布局如图1 所示。

图1 系统总体结构图Fig.1 Structure diagram of the whole system

数据采集模块对土壤的墒情信息进行采集,采集的信息通过RS485 接口传输到核心控制模块,并在LCD 触摸屏上实时显示[8]。采用中值滤波法对信息进行处理,处理之后的信息存储在SD 存储卡中。核心控制模块通过比较预先对土壤湿度设置的区间,判断此刻土壤湿度是否在正常湿度范围之内,从而发出不同的控制命令来调控土壤的湿度。用户也可以按照自己的需求通过电容触摸屏来控制电磁阀的开关,以保证茶树可以保持良好的生长状况。

另外,核心控制模块可以通过GPRS 网络把数据无线传输到上位机,这样用户可以从上位机实时监控土壤的墒情变化,并发出相应的命令,实现对土壤湿度的远程智能控制。

2 系统硬件设计

2.1 核心控制模块

核心控制部分控制器采用基于Cortex- M3 内核的STM32 系列微处理器STM32F103ZET6,具有64 kb SRAM、512 kb FLASH 等多个外设,基本可满足本设计的要求。通过处理器上的GPIO 口来实现控制功能。核心控制部分通过STM32F103ZET6 的GPIO 接口上的高低电平变化来判断土壤湿度是否处于预先设定的正常范围内,并以此为依据来控制相应的电磁阀,继而实现对整个灌溉系统的控制。

2.2 数据采集模块

采用USART2 串口设计RS485 接口作为核心控制器和传感器之间的接口。灌溉系统主要依据传感器反馈的信息来执行相应的动作,因此传感器的综合性能会直接影响整个灌溉系统的稳定性和精确性[9]。本文采用RS- WS- N01- TR 型土壤水分温湿度传感器,其水分检测范围为0% ~100% ,水分检测精度为± 3% ,工作环境为- 40 ~80 ℃,采用5 ~30 V 直流供电,功率大约为0.4 W,输出信号为RS485 信号。传感器具有精度高、响应快、输出稳定、受土壤含盐量等因素影响较小的特点,满足本设计的需求。

在传感器布局方面,笔者分别在土壤20、40、60 cm 处设置了3 个传感器,以此来得到茶园不同土壤深度的湿度值。传感器示意图如图2 所示。

图2 土壤水分传感器实物图Fig.2 Real picture of soil moisture sensor

2.3 数据存储模块

数据存储部分分别由SD 存储卡和服务器端组成。系统采用SDIO 接口来连接SD 存储卡以实现实时存储土壤湿度数据,由于SD 卡的存储空间有限,用户可以通过电容触摸屏来调节SD卡每次清空的时间间隔。此外数据会通过数据传输部分向服务器传输,并存储在服务器端的数据库中。

2.4 数据传输模块

田间气象条件复杂,传感器到控制终端的距离较远,因此两者之间需要采用一种有效且远距离的有线传输协议,笔者使用RS- 485 协议,并采用CRC 的方式进行校验。而控制终端到服务器的距离更远,需要一种可以提供稳定互联网连接的方法,本文采用GPRS 通信,通信协议采用Mobus- RTU 协议格式[10]。GPRS 网络覆盖广且传输稳定,完全符合本设计的要求。本设计的GPRS 模块采用有人物联网公司的USR- G780 V2 模块。这是一款4G DTU,兼容485/232 的无限传输模块。该GPRS 模块使用简单方便、传输稳定,满足本设计的需求。

本文将GPRS 的工作方式通过AT 指令设置到网络透传模式下,在此模式下,STM32F103ZET6 通过串口将数据发送到网络指定的服务器。设备也可以接收来自服务器的数据,并将信息转发至STM32 的串口。GPRS 与服务器间采用Socket 长连接的方式通信。STM32F103ZET6 通过串口将传感器接收到的消息传输给GPRS 模块,GPRS 模块将数据打包后,通过天线把打包后的数据传送到基站,基站通过TCP 方式将消息发送到指定服务器,服务器上运行Socket 服务器端程序,将接收到的数据解包[6,11]。解包后的数据使用JDBC 的方式保存到MySQL 中。GPRS 模块实物图见图3。

图3 GPRS模块实物图Fig.3 Real picture of GPRS

2.5 执行设备模块

该模块主要由电磁阀、继电器、水泵、养料罐组成,主要功能是在茶树生长过程中补充水分。电磁阀驱动电路的原理如图4 所示,其中J1 的2 脚接STM32 的PA4 引脚,J2 接电磁阀。

图4 执行设备部分电路图Fig.4 Circuit diagram of implement section

当传感器采集到的土壤湿度值经过简单的数据处理后,低于设定范围时,STM32 的PA4 接口持续输出低电平,继电器的闭合会导致光电耦合器随着输入端电流的增加,内部发光二极管的亮度也相应增加,光电耦合器的输出电流增加,三极管导通。当三极管导通后,发光二极管被点亮,电磁阀开关打开。当土壤湿度值高于设定范围时,电磁阀关闭。

2.6 人机交互模块

人机交互模块作为本系统中最为重要的部分,具有解析数据、数据存储查询、系统设置等功能,系统采集到的数据会实时在LCD 电容触摸屏上显示,并存储在SD 卡中。

系统设置两种控制模式,自动模式和手动模式。在自动模式下,系统每隔一定时间采集一次土壤湿度信息。为防止系统误动作,需要去除传感器的突变数值,本系统采用的处理方法是通过比较采集到的数据和上一个数据之间的差值是否小于系统设置的3% ,若小于3% ,则视为正确数据并控制电磁阀的开启或闭合;若大于3% ,则系统仍以上一次数据为准来控制电磁阀的开启或闭合。在手动模式下,用户可以在电容触摸屏上对土壤水分正常范围、数据采集、存储发送间隔等进行设置,也可以直接通过控制模块对系统和电磁阀进行操作[12]。控制系统结构框图如图5所示。

图5 茶园灌溉终端控制系统框图Fig.5 Block diagram of control terminal of the garden irrigation system

3 系统软件设计

本系统的软件设计主要包括下位机控制终端的软件设计和上位机软件设计。

3.1 下位机控制终端软件设计

下位机软件是在Keil uVision5 IDE 集成开发环境下使用C 语言进行开发编写,其主要流程如图6 所示。系统稳定工作之后开始分析从数据采集部分得到的数据,并判断此时土壤水分含量是否处于用户所设定的正常范围,当土壤含水量低于水分正常范围下限时开始灌溉,当土壤含水量高于水分正常范围上限时停止灌溉。当系统不能通过判断水分是否在正常范围来开启或关闭电磁阀时,本系统将通过GPRS 传输故障信息至上位机和用户的手机,保证实时监测并解决故障。

3.2 上位机软件设计

上位机软件采用Netbeans 8.0 开发,开发环境采用Java 语言,界面简单容易操作,可以很好地进行人机交互。上位机软件部分由设置模块、数据模块、控制模块、传输模块构成,上位机可以实时进行数据显示和查询,并可将数据传输到管理者的手机或服务器上,结构框图见图7。本系统在数据传输部分采用的4G DTU USR- G780 模块,可以将数据实时的传送到服务器进行存储。通过上位机软件,可以随时查看当前不同深度土壤的湿度值,并且可以远程控制电磁阀的打开与闭合。上位机软件设置界面如图8 所示。设置界面分为IP/端口号和土壤温湿度传感器两个部分。IP/端口号界面设置数据库所在的公网IP 并指定端口号,点击连接,软件将进行初始化,自动配置GPRS 的波特率、IP 地址与端口号等参数。另外,在这个页面可以选择控制不同的电磁阀打开或者关闭,实时改变田间土壤的含水量。土壤温湿度界面显示同一地点不同深度的传感器的读数值。此外电磁阀的开闭与数据的上传通常由软件自动完成。为满足用户不同阶段的需求,用户可以通过上位机操作界面手动控制电磁阀的开闭或向数据库增加数据。

图6 主程序流程图Fig.6 Flow chart of main program

图7 上位机软件框图Fig.7 Block diagram of upper computer software

图8 上位机软件设置界面Fig.8 Setting interface of upper computer software

4 系统测试结果

对系统的测试部分结果如表1 所示,测试地点为黄山茶园,时间为2019 年9 月中旬,测试当天天气晴朗无雨,系统在14∶00 开始了第一次灌溉,此次灌溉在16∶00 终止。

表1 测试结果Tab.1 Results of test

对系统数据进行分析发现,当土壤湿度低于设置的水分正常范围下限时电磁阀启动,其中上层土壤水分变化最为明显,中层水分保持在可控范围内,下层水分变化较小。水分变化折线图如图9 所示。其中红色、蓝色和黄色曲线分别对应这上层(Top)、中层(Middle)和下层(Low)土壤水分的变化情况。

图9 水分变化折线图Fig.9 Curves of moisture change

从水分变化折线图可知上层土壤自然蒸发速度明显大于中层和下层,由于电磁阀出水口和传感器之间存在一定的距离,采集的数据存在一定的滞后。从水分变化折线图可知,系统稳定性高,可保证植物生长过程中所需的水量,有效防止过量灌溉,实现远程控制。

5 结语

本设计开发了一套基于STM32F103ZET6 的茶园自动灌溉控制系统,该系统可实现对茶园土壤湿度的实时监测和调控,并通过GPRS 技术实现与上位机以及手机的通信,从而实现对试验田灌溉系统的远程控制。实验结果表明,上、中、下3 层土壤湿度保持在系统所设定的正常范围内,系统稳定性好,精确度高,可满足茶树在不同阶段对水分的需求。同时,该系统操作简单方便,可拓展性高,具有较好的市场应用前景。

猜你喜欢

机软件土壤湿度上位
无线传感网气象监测系统上位机软件设计
土壤湿度传感器在园林绿化灌溉上的应用初探
基于随机权重粒子群优化极限学习机的土壤湿度预测
基于51单片机控制花盆土壤湿度
贵州喀斯特区域土壤湿度变化规律研究
特斯拉 风云之老阿姨上位
小水电站计算机监控系统上位机软件的开发
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
小型磁偏转质谱计上位机软件的设计与实现