APP下载

自动灌溉控制器设计与实现

2021-12-28刘玉敏钱治丞佟志勇

黑龙江大学工程学报 2021年4期
关键词:土壤湿度继电器预设

曲 颂,刘玉敏,宋 博,钱治丞,佟志勇,赵 冰,*

(1.黑龙江大学 电子工程学院,哈尔滨 150080;2.平度市自然资源局,山东 平度 266700;3.黑龙江省军区,哈尔滨 150001)

0 引 言

近年来国内灌溉控制技术有所发展,目前常见的灌溉控制器普遍存在操作不便、控制面积小、功能性单一等问题,需人工手动操作,操作人员需要多次往返于各个灌区间手动开关电磁阀门,人力成本高,不便进行大规模的农事管理活动。随着土地流转工作的推进,农田灌区面积越来越广,在灌区面积较大的情况下需要多个灌溉控制器同时工作,在灌溉控制器的管理方面增加了新的难度[1-2]。

本文设计了一款以STM32为核心的自动灌溉控制器,实现远程数据监测和灌溉控制,采用有线和无线相结合的数据传输方式,为进行大规模的农事管理活动提供稳定的数据传输,可将土壤湿度控制在用户预设的范围之内,为灌区作物提供一个良好的土壤湿度环境,促进作物生长,并提高水资源的利用率,降低人力成本,实现节水灌溉的效果。试验分析表明,该控制器运行稳定,具有良好的灌溉控制效果。

1 灌溉控制器主要结构

自动灌溉控制器主要包括主控端、中继节点、手持控制端和采集控制端4部分,见图1。由图1可见,4部分均以STM32单片机为控制核心并将所有功能集成于同一电路板中。

图1 自动灌溉控制器结构Fig.1 Structure automatic irrigation controller

主控端负责与物联网平台之间的数据交互,采用NB-IoT(Narrow Band Internet of Things)通讯方式依据MQTT(Message Queuing Telemetry Transport)协议与物联网平台建立连接,用户可在物联网平台中查看环境数据,并实现远程的控制灌溉[3-4]。此外可通过本地显示模块显示当前灌区的环境状况,利用按键进行灌溉控制。当灌区面积较大时,使用中继节点来进行数据中继,提供稳定的数据传输。中继节点的传输方案采用基于LoRa(Long Range Radio)无线技术和POWERBUS有线技术相结合的传输方式,适应多种复杂环境[5-6]。当灌区作物密集度较低、无较多遮挡物时,例如小麦、水稻等大田作物,对无线信号的传输没有较大影响,采用LoRa无线传输方式,电力成本低且无须布线;当灌区种植苹果树、黑松等大型树木时,枝叶对于无线信号传输造成较大影响,此时采用POWERBUS有线传输的方式,可极大降低信号传输过程中的不稳定性[7-8]。

手持控制端为用户提供一种便携式的勘察和控制节点,能够显示灌区的主要环境参数信息以及使用按键来进行灌溉控制。采集控制端进行环境数据的采集和灌溉控制,其中土壤湿度传感器通过RS485总线与STM32连接,通过Modbus-Rtu协议进行数据采集[9-10],将采集到的土壤湿度数据作为依据进行自发的灌溉决策,当土壤湿度低于系统中预设的范围时,开始灌溉;当土壤湿度高于预设范围时,停止灌溉,并上传一次土壤湿度过高警告,将土壤湿度维持在预设的范围之内,为灌区作物提供良好的土壤湿度环境。

2 控制器硬件设计

2.1 控制核心设计

自动灌溉控制器的主机端、中继节点、采集控制端和手持控制端的功能均集成与同一电路板,采用STM32F103RCT6芯片为控制核心,主控核心原理见图2。该芯片具有低成本、低功耗、处理速度快、资源丰富等特点,内置5个串口,可与NB-IoT物联网模块、LoRa、POWERBUS、RS485进行通讯,方便同时与多个外设进行数据交换,并且具有3组内置SPI(Serial Peripheral Interface)串行总线,连接SD(Secure Digital)储存卡,可将采集到的环境数据和继电器开关日志存放于SD卡中,以防止网络环境差时发生数据丢失的情况[11-12]。

图2 灌溉控制器主控核心原理Fig.2 Mininum system of main control core of irrigation controller

根据灌溉控制器的功能,对控制器主控核心的GPIO(General-purpose input/output)资源进行分配,各引脚定义和功能介绍见表1。

表1 GPIO分配表Table 1 GPIO distribution table

2.2 外围电路设计

电源模块。为方便灌溉控制器在灌区中长时间持续工作,灌溉控制器采用太阳能供电的方式。电源模块由太阳能充电电路和稳压电路组成,其中太阳能充电电路采用对蓄电池进行激活修复的功能的UC3909芯片,对蓄电池进行充电管理。稳压电路采用AMS1117-3.3 V稳压芯片为蓄电池的输入电压进行调节,经过电容整流滤波后可以为灌溉控制器提供稳定纯净的电源,保障控制器的持续正常工作。

传输模块。针对灌区面积大、环境多样的特点,设计了基于LoRa无线传输和POWERBUS有线传输相结合的数据中继方式。其中LoRa核心电路采用SX1278射频IC(Integrated Circuit)作为LoRa调制的芯片方案,SX1278支持低功耗,并能够在低功耗状态时实现超远距离的信号传输[13]。LoRa射频电路部分采用PE4259射频开关来控制收发,实现支路分离。在发射端部分利用电感电容组成匹配电路加一个声表面滤波器,进入射频开关,接收端用电感电容匹配电路,在射频开关后添加3阶的π型滤波器,不仅在谐波的去除上发挥作用,而且能够消除接收到的干扰信号。

针对灌区中无线信号传输受阻时的情况采用POWERBUS有线传输方案,POWERBUS属于低压直流载波供电总线芯片,由PB620主站发送数据,PB331从站接收数据,从而完成数据的有线传输。PB620主站的CONH引脚控制外围器件从而实现发逻辑“1”,使用CONL引脚控制外围器件从而实现发逻辑“0”,COMN引脚通过控制LM317AL实现恒流源输出,ANA、ANV引脚配合外围器件实现回码控制。总线传输的信号经过全桥整流实现无极性布线,方便现场施工,通过电阻分压后进入PB331芯片的PI引脚进行解调,PO引脚通过电流信号回传主站通信。

继电器驱动电路。继电器在灌溉控制中起着至关重要的作用,使用电路板上搭载的继电器,连接电磁阀可进行灌溉控制。本文选取NPN晶体管来驱动继电器。当需要闭合继电器进行灌溉时,晶体管的基极所连接的GPIO口输出高电平,当基极接收到高电平且注入的电流足够大时,三极管就会导通并进入饱和状态,集电极的电流也随之增大,从而在集电极电阻上产生了一个压降,使集电极电平拉低,继电器线圈通电,从而产生电磁效应,致使触点吸合;当晶体管基极被输入低电平时,晶体管截止,继电器线圈断电,触点随之断开。

3 灌溉控制器程序设计

在灌溉控制器的传感器数据采集中,使用Modbus-Rtu通信协议实现对各个传感器从机的访问[14]。Modbus-Rtu协议采用主机问询、从机应答的模式,其中主机问询帧结构见表2。主机问询发起完毕之后,切换到接收模式,接收传感器从机返回的数据帧,从机应答帧结构见表3。

表2 请求帧格式定义Table 2 Format definition of request frames

表3 应答帧格式定义Table 3 Format definition of response frames

在采集程序设计中,主机以轮询的方式向从机发起问询,使用STM32内置定时器设计定时器中断,轮询1次/s,前0.5 s主机发起问询,后0.5 s处理从机返回的数据。上电后默认发送模式,主机主动向传感器从机发起问询,问询完成之后RS485切换到接收模式接收传感器从机的回复,解析应答帧中数据区的数据后得到实际参数值,最后重新返回进行问询参数的设置,更改地址码执行问询下一个传感器从机的问询,以此循环完成对每个传感器的访问,数据采集流程见图3。

图3 数据采集流程Fig.3 Data collection process

灌溉控制器获取到土壤湿度值后,将土壤湿度值与系统中预设的土壤湿度范围进行比较,进行自主的灌溉决策,之后继续采集土壤湿度数据。若土壤湿度低于预设范围下限,说明农作物目前正处于缺水状态,此时做出闭合继电器、开始灌溉的决策,继电器闭合后,传感器继续采集土壤湿度值;当土壤湿度值达到预设范围上限时,说明此时土壤水分含量过高,灌溉控制器此时做出断开继电器,停止灌溉的决策。若发生土壤湿度值超过预设范围上限的状况,则主动上传过涝警告,提示用户注意水涝灾害,流程见图4。通过自动控制灌溉,将土壤湿度维持在预设的范围内,为作物提供一个良好的土壤湿度条件。

图4 自主灌溉决策流程Fig.4 Autonomous irrigation decision-making process

4 实验验证与分析

以黑龙江省绥化市某试验田进行灌溉控制实验,对自动灌溉控制器的控制效果进行测试和分析,见图5。为了方便安装与测试,将传感器埋置地表以下10~20 cm深度的土壤中,传感器埋置完毕之后连接到采集控制端的485总线上,继电器连接电磁阀,相关工作准备完毕后进行测试。

图5 现场设备图Fig.5 Site construction drawing

通过自发的灌溉决策可将土壤湿度维持在用户预设的范围内,针对此项功能进行测试。为方便测试与观察,设定适宜作物生长的土壤湿度为65%~70%,灌溉控制器初始化之后每10 min采集一次土壤湿度数据,选取24 h采集到的数据进行统计,并将湿度数据绘制成曲线,见图6。

图6 土壤湿度变化曲线Fig.6 Change curve of soil moisture content

由图6可见,最开始采集到的土壤湿度数据为40%,低于预设范围下限65%,灌溉控制器此时自动做出闭合继电器、开始灌溉的决策,此后土壤湿度开始明显上升,当土壤湿度值超过70%时,灌溉控制器做出断开继电器、停止灌溉的决策,土壤湿度开始缓慢降低。随着时间的推移,当土壤湿度低于65%,继电器再次闭合并开始灌溉,从变化曲线中观察到土壤湿度开始回升,在24 h内的土壤湿度均维持在65%~70%。

测试结果符合预期,能够根据用户需求,将灌区的土壤湿度控制在预设的范围之内,使灌区作物能够及时得到水分补给,为灌区作物提供一个良好的土壤湿度环境,促进作物增产增收;另外达到节水灌溉的效果,减少灌溉过程中劳动力的成本和水资源的浪费。

5 结 论

本文设计了一种基于STM32的自动灌溉控制器,相比于传统灌溉方式具有人力成本低、传输稳定等优势,实现远程的环境监测和灌溉控制功能,可将土壤湿度维持在预设的范围之内,解决了传统的灌溉方式中存在的环境参数不可视、数据传输不稳定、灌溉施水量不合理、人力成本高以及仅凭人为经验判断灌溉等问题,为灌区作物提供一个稳定的土壤湿度环境。通过实验验证了该灌溉控制器在灌溉方面具有良好的控制效果,成本低且有一定的市场推广价值。

猜你喜欢

土壤湿度继电器预设
三江平原土壤湿度记忆性及其与水热气候条件的关系
也谈语文课堂教学的预设与生成
试论预设语言-言语表征
土壤湿度传感器在园林绿化灌溉上的应用初探
基于随机权重粒子群优化极限学习机的土壤湿度预测
继电器控制及诊断在电动汽车动力电池包的应用
便携式继电器测试台的研制和应用
基于51单片机控制花盆土壤湿度
继电器在电气工程自动化低压电器中的应用探讨
一道中考试题解答的预设与生成