陈鑫意,何剑锋,2,何月顺,2,叶志翔,2,谢祥顺
(1.东华理工大学 软件学院,江西 南昌 330013;2.江西省放射性地学大数据技术工程实验室,江西 南昌 330013)
我国在农业灌溉方面存在一些问题: 仍以传统生产经验为主,缺乏精确调控手段,农田灌溉精度难以保证,造成水资源浪费严重; 灌溉技术落后,监测与控制都采用人工管理,缺乏技术创新,存在强度强大、人机交互能力差等弊端,严重影响农作物品质和产量[1]。将先进的、适用的现代农业装备应用于山地果园施肥、节水灌溉、喷雾等果园生产管理中[2-3],是促进农业现代化转型和山地果园可持续发展的关键步骤,利用智能灌溉系统突破和发展传统灌溉方式是当今世界农业技术发展的总趋势。
随着技术的进步和系统的优化,智能灌溉系统覆盖的范围和植物种类越来越多,包括各种蔬菜、作物、果树和园林树木等[4]。本文研究一种基于ZigBee传输方式,以STM32F103为主控制器,配合地形铺设管道的脐橙园肥水/农药喷洒系统,以提高果园水肥/农药灌溉的效率,解决传统灌溉技术的不足。
总体方案设计如图1所示。系统方案的设计主要包括数据采集部分、智能控制部分和设备组装部分。数据采集部分包括CC2530处理器、传感器检测节点、路由器、集中器、ZigBee模块。智能控制部分包括STM32F103微控制器、继电器模块、电源模块、电机等模块组成。设备组装部分包括水管、发电机、压力泵、灌溉喷头等设备。各模块完成的功能包括:传感器检测节点负责采集果园环境和水压信息等数据,这些数据主要是考量施肥灌溉时环境因素的[5];路由器主要功能是实现网络中数据的接收、上传与转发;集中器用于接收传感器网络中传感器检测节点传送来的数据信息且将数据上传至路由器;ZigBee模块用于与集中器进行无线传输和数据交互;STM32F103控制器是脐橙园肥水、农药喷洒系统的控制核心,负责控制继电器、智能开关等模块;继电器模块控制开关的工作;电源模块为整个系统提供电源,并且通过微处理器对电池充放电进行管理,可以延长电池的使用寿命[6];选用雾化喷头,高压状态下,穿透能力强,起到喷洒农药的作用。
图1 智能灌溉系统的总体设计
控制系统硬件设计包括传感器节点硬件设计、集中器节点硬件设计、开关控制系统的硬件设计。
传感器网络是由许多在空间上分布的自动装置组成的一种计算机网络[7],传感网络中最重要的是传感器节点。传感器节点的主要任务是数据采集和传输。无线传感器模块选用ZigBee技术的新一代SOC芯片CC2530[8]。传感器节点硬件设计如图2所示。
图2 传感器节点硬件设计
传感器采集水压、风速、温度等数据,通过信号处理电路将信号放大,再将放大后的信号传给CC2350芯片进行处理。CC2350先把接收到的数据信息通过A/D转换器进行模/数转换,然后经过计算得到压力、温湿度等值,最后通过串口发送到ZigBee模块,ZigBee模块将数据发送数据给控制器。对于无线传感网络来说,电源模块起着十分重要的作用,因为它关系到整个系统是否能够稳定正常的工作[9],负责给系统中的各个模块供电。传感器节点采用电池供电方式,从而在电源供给上摆脱了有线的束缚[10]。
集中器节点主要技术是ZigBee技术。ZigBee技术是一种具有低功耗、低成本、安全可靠、时延短、自动组网能力强等特点的无线通信技术[11]。ZigBee 通信设备能自主搭建网络[12],每个节点设备之间必须遵循ZigBee联盟的标准协议,其中物理层和MAC层遵循的是IEEE 802.15.4协议,上层协议由ZigBee联盟定义[13]。集中器硬件结构如图3所示。
图3 集中器硬件结构
CC2530作为集中器的中心控制器,它的一个串口连接ZigBee模块。集中器通过ZigBee网络接收传感器节点传送的数据信息。数据信息存储在集中器的存储模块中,再通过ZigBee模块发送给控制器。CC2530处理器支持ZigBee协议栈,内部集成了增强型8051内核,主频达32 MHz,带有模/数转换器,具有低功耗、自组网等优势[14]。
开关控制系统采用STM32F103单片机连接继电器模块,电源、继电器模块连接水泵,利用单片机控制继电器衔铁的吸合与释放,从而控制抽水电机开关;而且还能够简化驱动电路及控制电路,使系统的可靠性及维护的方便性得到改善[15]。微控制器通过ZigBee模块与集中器进行通信,对接收到的数据信息进行处理,然后将数据存储到自带的存储模块中,通过系统时钟控制继电器模块,继电器控制开关来进行喷洒作业。开关控制系统的硬件设计如图4所示。
图4 开关控制系统硬件设计
控制系统软件设计包括传感器节点软件设计、集中器软件设计、开关控制软件设计。
在ZigBee网络中[16],信息的整个传递过程在软件层面上是由Z-Stack协议栈进行控制[17]。首先传感器节点初始化,启动Z-Stack协议栈且加入网络,若加入网络成功再判断是否要采集指令。其次,如需要采集指令则需要设置采集时间,在采集数据的过程中判断采集时间是否截止,若时间截止则发送数据。传感器节点软件设计流程如图5所示。
图5 传感器节点软件设计流程
首先,系统进行上电初始化,传感器节点建立网络;其次,集中器一直监听服务器的命令,当集中器接收到服务器发送的命令时,执行相应的处理;再次,若发现网络中有传感器监测节点传输过来的数据,集中器开始接收数据;最后,数据通过串口发送到ZigBee模块,然后由ZigBee模块发送到控制器上。集中器软件流程如图6所示。
图6 集中器软件流程
开关控制系统的软件流程如图7所示。
图7 开关控制系统的软件流程
系统首先进行初始化;然后接收集中器传送的数据信息,控制器对此数据进行计算处理,将处理后的数据存储到STM32F103自带的存储器中,通过这些数据分析处理功能,科技人员可以分析任何一个时间段的环境数据变化规律和极端环境数据出现的规律[18];再判断数据是否符合喷洒标准,若符合则通过系统时钟控制继电器模块,继电器控制开关是否打开,如果数据不符合喷洒标准则,工作人员进行相应处理,并且持续接收集中器发送的数据信息。由于电磁阀通断时长会影响控制结果,为避免电磁阀频繁动作,灌溉量输出时,停止采样活动[19]。智能灌溉系统的工作流程如图8所示。
图8 智能灌溉系统的工作流程
首先系统初始化,然后通过无线传感器监测土壤的温湿度、药池水压值,再与土壤温湿度和药池水压下限值进行比较,如果小于下限值,则打开电磁阀进行灌溉。考虑到土壤渗水较慢的特点,一般设定停止灌溉一段时间后再进行土壤湿度检测[20]。
由于赣南脐橙园多处于地势较高处,所以本系统采用管道铺设的方式实现肥水、农药的喷洒。管道、发动机压力泵铺设图如图9所示。
图9 管道、发动机压力泵铺设图
药池到脐橙园有一段主管道,负责输出药水,每个总管道需要一个开关控制。每个区域铺设分管道,分管道连接总管道,将药水输送至每个区域。发动机和压力泵需要根据实际的地形来确定安装的位置,安装在适当的高度可以更好地平衡好压力,节约燃油成本和保护好装置不会压力过大而损坏。
本系统以超声波传感器模拟水压传感器,步进电机模拟喷头进行测试。测试结果如图10所示。
图10 测试结果
从测试结果发现,当需要浇灌时,先判断药池水面距离是否正常,当药池水面距离小于规定值或大于规定值时,继电器关闭,此时,水泵停止抽水,步进电机关闭;当药池水面距离值在规定范围内,继电器打开,水泵开始抽水,且当需要灌溉时,打开步进电机。
本文设计的赣州脐橙园水肥/农药智能灌溉系统是以STM32F103为微控制器,结合ZigBee通信技术,实现了果园农药喷洒与灌溉的结合与开关的智能控制。通过铺设管道将农药的喷洒变得自动化,同时不会为危害到作业人员的身体健康,有效地提高了脐橙园肥水、农药喷洒的效率,减少了人力的耗损。为提高劳动生产率,不断增加农业经济效益,就必须进一步发展人工智能生态环境,使农业生产向工业化转变。