APP下载

温室分区多时段灌溉控制系统

2019-12-21蔡吉晨

农机化研究 2019年1期
关键词:文本框参数设置串口

蔡吉晨,杨 硕,王 秀

(1.中国农业大学 信息与电气工程学院,北京 100083;2. 国家农业智能装备工程技术研究中心,北京 100097;3.农业部农业信息技术重点实验室,北京 100097;4.农业智能装备技术北京市重点实验室,北京100097)

0 引言

温室管理作为温室产业的关键环节,已由大劳动力投入转向为自动化、智能化控制,实现光照、温度、水分和二氧化碳浓度等植物生长所需的人为控制,增加了农作物的产量,改变了农作物的产季,提高了经济效益。温室水肥灌溉是温室管理的重要组成部分,主要包括温室环境监控系统[1-5]、灌溉决策系统[6-7]和水肥实时执行系统[8-9]。

水肥实时执行系统主要解决施用方法、施用量和施用时间的问题。大面积温室的出现,远距离有线铺设不仅浪费材料,也增加了温室投入成本,使无线控制成为主流;分区种植、分区灌溉的出现,为温室单体构建局域无线通讯网络提出了新的问题;统一时段大量灌溉,受植物吸收能力限制,造成水肥浪费,不利于具有针对性的水肥灌溉方法的实施。温室水肥实时执行系统在实际应用中仍有待完善。

针对以上问题,为解决具有分区种植特点的温室水肥灌溉问题,采用多时段、分区灌溉方法,搭建温室单体无线控制局域网络,采用模块化的设计思路,设计了一种温室分区多时段灌溉执行系统,具有易于推广和扩展的特点。

1 系统方案设计

1.1 系统总体方案

本系统主要由参数设置界面、中心处理单元和各末端控制单元组成,如图1所示。

图1 系统总体方案示意图Fig.1 The structure of the system overall scheme

参数设置界面主要进行分区流量值设置和开启时间设定,通过232接口与中心处理单元进行通讯,中心处理单元通过232接口连接GW-YL-100IL型电台数传模块。该电台数传模块采用无线电台进行传输,具有收发一体、半双工及数据收发转换自动完成的功能,其配置工作频率为433MHz,串口传输速率为9 600bps,信道速率为9 600bps,电台数传模块采用透传的方式传输,可任意扩展接收节点,增强了系统的可扩展性。末端控制单元通过接收电台数传模块传输的数据,解析出对应的启动时间和灌溉量信息,对应温室各分区实现水肥灌溉。

1.2 参数设置界面

参数设置界面主要具有系统时间显示、文本输入、按钮输入和数据传输接口功能。本系统选择的系统参数设置界面为DC80600B080_03WK_RTC型串口触摸屏,以Cortex-M3和高速FPGA双处理器为核心,具有如按钮、文本、系统时间等常用组件控件,通过串口与MCU进行交互。触摸屏应用电路如图2所示。每触发一次组态控件事件,串口屏通过配置将会通过串口发送相应的16进制指令,也可通过MCU串口发送相应的指令触发相应的事件,以利于MCU与触摸屏之间的交互实现。

图2 触摸屏应用电路Fig.2 Application circuit of the touch screen

1.3 中心处理单元

中心处理单元主要由STC12C5A60S2单片机、TTL转串口模块参数设置界面及电台数传模块组成,如图3所示。为适应温室内供电环境,采用220V转DC5V开关电源为单片机系统供电。STC12C5A60S2单片机集成双串口,单片机通过UART1经TTL转232模块,通过232交叉串口线与串口触摸屏进行交互,获取参数设定信息,通过UART2经TTL转232模块与电台数传模块通讯,用于将各设定值发送给末端控制单元。

1.4 末端控制单元

末端控制单元主要由STC12C5A60S2单片机、电台数传模块、流量传感器、固态继电器模块和电磁阀等构成,如图4所示。整个末端控制单元由AC220V开关电源供电,该开关电源选用具有DC12V和DC5V双电压输出的功能,DC12V为滴灌管路专用电磁阀供电,DC5V为MCU系统及电台数传模块供电。MCU通过电台数传模块接收的启动指令和流量设定值,打开GTD-W-5A型固态继电器模块,打开滴灌管路专用电磁阀,通过USC-HS43TB型流量传感器记录流量信息至流量设定值后,从而关闭电磁阀,切断管路通道,停止滴灌。

图3 中心处理单元硬件示意图Fig.3 The hardware structure of the center unit

图4 末端控制单元硬件示意图Fig.4 The hardware structure of the terminal control unit

2 控制系统软件设计

2.1 参数设置界面设计

参数设置界面采用Visual TFT组态编程环境编写,主要由流量设置界面(见图5)和时间设置界面(见图6)组成。流量设置界面主要由分片(以8个分区为例)流量设置文本框、启动按钮和时间设置界面切换按钮构成。中心处理单元MCU可以读取对应流量设置文本框的ID号码解析出各区流量设置值;通过读取启动按钮的事件触发指令对末端控制单元发出启动、停止指令及各文本框参数信息;通过时间设置界面切换按钮实现时间设置界面的切换。时间设置界面主要由时间输入文本框(以4个时间段为例)、系统时间显示和启动/禁用时间段设置按钮组成。由于该组态软件中未设置时间输入专用文本框功能,本文通过两个文本框组合,即HH(0~24)和MM(0~60)进行以24h制为参考的启动时间设置,中心处理单元MCU通过比对读取系统时间数值与时间输入文本框的数值向末端控制单元发送启动/停止指令;启动/禁用按钮用于设置该启动时间是否处于工作状态,将启动时间段设置在1~4个之间灵活变化。

图5 流量设置界面图Fig.5 The chart of flow setting interface

图6 时间设置界面Fig.6 he chart of time setting interface

2.2 中心处理程序

中心处理程序主要完成与参数设置界面进行数据交互和发送指令至末端执行程序两部分功能。为了保证数据传输的可靠性,分别通过UART1和UART2来实现参数设置界面和末端执行程序之间的数据传输,中心处理程序的程序流程图如图7所示。

图7 中心处理程序流程图Fig.7 The flow chart of central processing

程序开始后,首先对串口UART1、UART2和定时中断等参数进行初始化,串口1打开后,UART1中断程序开始等待接收指令,当串口触摸屏触发事件向中心MCU发出指令后,首先将接收到的数据存入暂存数组,进行完整性判断,当接收到一条完整的数据后,通过结构体预定义函数,执行对应的子程序。执行的子程序主要有流量设置文本框子程序、时间设置文本框子程序、系统时间设置子程序、程序启动/停止事件和时间段启动/禁用事件子程序。在流量设置子程序中根据文本框的ID号码区分出对应的文本框位置,提取出文本框数值,同时将流量设置数值嵌入到字符“$Flowa,0000.0,#”的第7~12位中,对应1~8个分区,字符串第5位分别对应字符a~h,并将该字符串发送至UART2进行发送。当至少启动一个时间设置启动/禁用按钮后,系统定时向UART1发送读取系统时间的指令,获取系统时间后,将16进制系统时间数据截取出HH和MM信息,转换为整型与时间设置文本框子程序中接收到的HH和MM信息进行对比,当二者相等时,发送打开电磁阀指令“$KEYON”至UART2。当系统启动按钮事件发生后,MCU间隔200ms向UART1发送读取各文本框、按钮指令,发送完成后,UART1接收到各文本框和按钮数据,并将各数据暂存入UART2发送数组中进行依次发送,以保证系统每次启动时向电台数传模块发送最新的设置参数信息。工作结束后,当按下系统停止按钮后,发送关闭电磁阀指令字符串“$KEYOF”,停止工作。

2.3 末端执行程序

末端执行程序主要完成接受启动/停止系统指令、接收对应分区流量设置信息、进行流量统计计数及开关滴灌管路电磁阀的功能,程序流程图如图8所示。初始化串口打开后,开始接收指令,根据数据前6位指令差异,进行指令判别;确定指令后,继续接收指令字符串,将对应指令标志位置1,跳出串口程序。主程序中判断各子程序入口标志位是否为1,当流量截取指令表位为1时,截取第7~12位数值,得到流量设定值,并存入流量设置变量;接收到“$KEYON”指令后,打开外部中断0入口,启动电磁阀。外部中断0入口打开,等待中断响应,获得流量传感器的流量脉冲信号,计数值Spray_Count++,根据试验测定流量累计数值为250Pulse/L,每100mL计数1次,计数值Spray_100ml++,由于流量设定值为带1位小数的数值,通过将流量设定值x10转换为整数进行比较;当到达流量设定值后,关闭电磁阀,同时将各计数值清零,关闭外部中断。接收到“$KEYOF”指令后,系统会强制将电磁阀关闭。同时,将各计数值清零,关闭外部中断0,作为急停开关指令使用。

图8 末端执行程序流程图Fig.8 The flow chart of the terminal control processing

3 系统试验

本系统主要用于温室内分区灌溉,关键控制参数包括有效通讯距离、通讯准确率及管路流量的控制精度。有效通讯距离测试中,试验地点为北京市农林科学院小汤山试验基地温室大棚(长51m,宽8m)内进行,每个通讯距离重复100次试验,接连发送字符串长度为112个,对数据完整性进行判定。试验测定结果表明:通讯距离为30m,通讯准确率为80%;通讯距离为25m,通讯准确率为100%。

管路流量控制精度测试,在温室管路中工作压力为0.2MPa,经标定流量传感器参数为34.2Pulse/100mL,测量10组数据(见图9),在设定1 000mL下,管路总流量平均值为1 087mL,流量控制精度为92%。

图9 管路流量控制精度试验结果Fig.8 The results of pipeline flow control accuracy test

4 结论

1)基于电台无线传输模块,设计了一种温室分区多时段灌溉控制系统,能够实现管路流量设置及分时段无线控制。该系统采用模块化的封装设计,利于安装和推广。

2)该系统设计并实现了多流量值、多时段参数设置,利用文本框组合的形式构建了24h制以分钟计时、串口屏时间设置的方法,以及串口数据交互程序,使系统应用局域网络工作可靠。

3)试验结果表明:该系统有效通讯距离为25m,通讯准确率为100%,对大面积温室(60~100m2)单体进行组网时, 通过设置中转收发站实现大面积温室内

数据传输;管路流量准确率为92%,标准差为15.52mL,说明管路流量控制具有较好的稳定性,可满足滴灌管路流量控制的农业应用要求。

猜你喜欢

文本框参数设置串口
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
巧用文本框实现PPT多图片排版
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
PPT文本框的另类应用
船舶电子设备串口数据的软件共享方法
逃生疏散模拟软件应用
图片动画玩异样
蚁群算法求解TSP中的参数设置
RTK技术在放线测量中的应用