基于C#和Matlab的灌区模糊灌溉控制系统研究
2016-03-23王永涛杨璐瑶徐小燕
王永涛,杨璐瑶,胡 玥,刘 浏,徐小燕
(1.贵州省水利科学研究院,贵阳 550002;2.重庆交通大学,重庆 400074)
农业作为用水大户,季节性和区域性的缺水现象仍然严重,但同时又是最具节水潜力的产业之一。传统农业灌溉严重缺水与过度浪费现象仍然突出,节水问题近年来重视程度不断提高,习近平总书记更是从国家战略出发,提出的治水新思路更是将节水问题摆在首要地位[1]。
贵州省以现代山地特色高效农业为抓手,大力实施以水利自动化与信息化等高新技术为核心的贵州山区现代水利示范区建设,通过发展智能控制的灌溉技术,可以实现节水,促进农业机械化、集约化、现代化水平的提高,增强农业发展的后劲。还能带动节水灌溉设备制造等相关产业的发展,提高农业灌溉设备的科技水平[2]。本文从智能化方面入手,开展节水灌溉控制系统的研究,为我省现代农业发展提供技术支撑。
1 系统结构
整套系统主要由上位机PC(平板电脑、手机等移动智能终端),下位机(传感器节点和电磁阀节点)两部分组成,通讯方式可以根据实际需要采用Zigbee、微波和GPRS多种方式(见图1)。上位机可根据工程现场情况选择办公电脑、工控机和服务器等,通过INTERNET网或者近距离无线透明传输模块传输命令和接收实时数据。应用界面由C#语言编写,这样整个系统具备界面编程简单、开发容易等特点。下位机以微功耗高性能单片机为核心控制节点组成无线传感器网络节点,连接电磁阀和水泵驱动控制节点,51F系列单片机应优选集成Rtx51tiny多任务操作系统,10位ADC、两个模拟比较器、结构优良,具备工业级等特性的单片机[4]。
图1 系统组成简图(箭头代表数据流方向)
2 设计理论及软件环境
2.1 模糊控制灌溉
由于作物灌溉条件是气象、土壤等多种环境因素互相影响的结果,精确稳定的模型无法进行描述。而土壤湿度作为重要的灌溉控制指标,是众多影响因素中最重要和最易于控制的指标。通过借鉴其他文献资料研究成果,确定本模糊灌溉控制系统的二维输入量为:土壤湿度偏差E(t)和偏差变化率EC(t),输出量为:灌溉时间TIME(t)。首先通过土壤湿度变送器采集和监测土壤湿度变化,并通过差分运算得出土壤湿度偏差E(t)和偏差变化率EC(t)。然后,通过模糊控制器进行模糊计算,得出系统的输出量灌溉时间TIME(t)。最后,系统按照灌溉时间自动开启电磁阀进行灌溉。其原理图如图2所示。
图2 模糊控制原理图
2.2 Matlab软件平台
Matlab开发版本为R2008[a],并一同安装MCR。Matlab模糊控制工具箱(Fuzzy Logic Toolbox)提供了一系列与模糊控制相关的函数,计算人员只需将适当的参数填写进去便可以得出所需的模糊隶属函数,同时也可以通过简单的语言书写建立模糊控制函数[5]。通过Matlab软件中提供的DeployMent Tool工具能够将.m文件生成相对应的.Net组件。C#应用程序编译平台为Visual Studio 2008。
2.3 Matlab与C#混合编程
通过Matlab模糊控制工具箱(Fuzzy Logic Toolbox)提供的模糊控制相关的系列函数进行模糊组件out_time的配置,然后通过readfis函数装入。通过土壤湿度变送器采集和监测土壤湿度变化,并通过差分运算得出土壤湿度偏差E(t)和偏差变化率EC(t),在转换为MWN umericArray格式传入到模糊控制箱中,最后模糊控制箱输出时间隶属函数,再转换到C#中得出系统的输出量灌溉时间TIME(t),指导系统按照灌溉时间满足作物的需水量要求[6]。
2.4 模糊控制器的设计
(1)隶属度函数的建立。设土壤湿度最佳值为R(t),实时湿度监测值为H(t),输入变量E(t)=R(t)-H(t),EC(t)=dE(t)/dt。输出变量值为电磁阀持续灌溉的时间T。设置误差E的基本论域为[-10%,10%],误差变化率EC为[-15%,15%],时间T为[0,40] min。E和EC的模糊集均为{NB,NM,NS,0,PS,PM,PB}量化论域均为{-3,-2,-1,0,1,2,3},T的模糊集为{0,PS,PM,PB},量化论域为{0,1,2,3},则量化因子分别为K1=3/10=0.3,K2=3/15=0.2,比例因子为K3=40×60 s/3=800。E、EC、T的隶属度函数分别为表1和表2所示。
表1 E、EC的隶属函数
表2 T的隶属函数
模糊控制器的输出是一个模糊集合,模糊控制系统最终需要将模糊控制器输出的模糊集合进行解模糊计算,以得到一个精确的量来实现控制。解模糊常用的方法很多,其中重心法易于实现在较短时间和较小的取样间隔来达到所需要的精度,应用于本灌溉控制系统是一种较好的方法。我们采用重心法进行解模糊计算来得到灌溉控制系统电磁阀持续开启灌溉的时间,重心法的计算公式如下所示。
u=∑xiμ(xi)/∑μ(xi)
(1)
表3 模糊控制规则表
if(EisNB)and (ECis notNB)then (Tis 0)
(2)
if(EisNB)and (ECisNB)then (Tis 0)
(3)
if(EisNM)and (ECis notNM)then (Tis 0)
(4)
if(EisNM)and (ECisNM)then (Tis 0)
(5)
if(EisNS)and (ECisNB)then (Tis 0)
(6)
if(EisNS)and (ECisNM)then (Tis 0)
(7)
if(EisNS)and (ECisNS)then (Tis 0)
(8)
if(EisNS)and (ECis 0 )then (Tis 0)
(9)
if(EisNS)and (ECisPS)then (Tis 0)
(10)
if(EisNS)and (ECisPM)then (TisPS)
(11)
if(EisNS)and (ECisPB)then (TisPM)
(12)
在C#中调用Matlab的dll文件时首先添加对MLApp和MWArray以及out_time.dll的引用边在命名空间添加:using MathWorks.Matlab.NET.Arrays; using MathWorks.Matlab.NET.Utility。
2.5 数据库的设计
灌溉数据库包括以下几项数据表[7]:①作物信息表,包括作物名称、生长阶段、湿度下限、湿度上限、温度下限、温度上限;②灌区信息表,包括灌区编号、灌区面积、作物名称、灌溉方式;③灌溉计划表,包括灌区编号、生长阶段、灌溉时间、灌溉水量、是否完成灌溉;④灌溉状态表,包括灌区编号、设备通信状态、传感器状态、温度值、湿度值、流量值;⑤灌溉历史表,包括灌区编号、作物名称、生长阶段、灌溉时间、灌溉水量、灌前湿度、灌后湿度。灌区信息表和作物信息表为父表,作物名称、灌区编号为主键;灌溉计划表、灌溉状态表和灌溉历史表为子表(见图3)。
3 下位机设计
下位机的核心任务时完成土壤湿度信息的实时采集与传输,任务轮换和运算速度要求不该。因此,KEIL公司开发的多任务实时操作系统Rtx51tiny可以满足要求[8]。下位机共设计1个主任务0和6个子任务。主任务用COM_HANDLE_TAS表示,6个子任务分别为:任务1数据处理;任务2执行命令;任务3获取温湿度;任务4开关阀;任务5定时器;任务6看门狗。通过Rtx51tiny多任务实时操作系统,实现任务简的轮换,以完成下位机的各个功能[9](见图4)。
图3 数据库框架图
图4 任务建立图
4 SIMULINK仿真及参数的调整
本文所构建的SIMULINK 环境下的模糊控制系统图如图5所示,系统实时采集土壤湿度阶跃信号与作物所需最佳土壤湿度作差分运算,土壤湿度偏差和土壤湿度偏差的变化率分别用Gain0和Gain1表示。Saluration为比例运算,其中比例因子Gain0=0.2,Gain1=0.3,Gain2=800。
图5 SIMULINK模糊控制系统仿真框图
设定作物要求的土壤湿度为25%,控制系统最终的稳定值在25%附近略大。土壤湿度对灌水量的变化响应曲线和作物要求的土壤湿度分别用折线和曲线表示。由此得湿度阶跃响应曲线图,如图6所示。
图6 湿度阶跃响应曲线图
从湿度阶跃响应曲线图6可知,土壤湿度信号具有较小的超调量,稳态和瞬态响应用时均<1 s,用时较短,灵明度高。系统控制得到的土壤湿度与设定的作物要求的土壤湿度误差仅为5%,该范围能够满足作物生长要求,应用性较强。
5 结 语
(1)本文研发了基于C#和Matlab的灌区模糊灌溉控制系统,采用C#面向对象编程语言,通过Matlab模糊控制工具箱(Fuzzy Logic Toolbox)设计了模糊控制器,并在SIMULINK 环境下进行了仿真。该方法具有简便、直观、高 效的特点,整套灌溉系统编写容易,功能优良[10]。
(2)该模糊灌溉控制系统已成功应用于思南塘头现代水利试点区自动化与信息化工程。针对精品水果和蔬菜进行智能灌溉,实现节水30%和节约劳动力1 000余人次/6.67 hm2的目标,并在我省高效农业示范园区推广至66.67 hm2左右。经济社会效益明显,项目的示范推广有利于促进我省山地高效特色农业现代化的发展。
□
[1] 孟 碟. 黔中水利枢纽工程水资源调配与经济核算研究[D].天津:天津大学,2013 : 58-67.
[2] 夏 玮,李朝晖,常春藤. Matlab控制系统仿真与实例详解[M].北京:人民邮电出版社,2008.
[3] 郭正琴,王一鸣,杨卫中,等. 基于模糊控制的智能灌溉控制系统[J]. 农机化研究,2006,(12):103-105.
[4] 崔天时,杨广林,刘 磊,等. 基于模糊控制的温室灌溉控制系统的研究[J].农机化研究,2010,(3):84-86.
[5] 郑怀文,愈国胜,刘 静. 节水灌溉技术研究现状[J]. 农业机械与木工设备,2006,(10):7-10.
[6] 蒋毛席,张和喜,王永涛,等. 基于GPRS和组态王的农作物环境远程监测系统研究与应用[J].中国农村水利水电,20112,(10):17-21.
[7] 王永涛,吴艳英,李家春,等. 基于GPRS DTU的农业灌溉施肥智能化控制系统的应用研究[J].中国农村水利水电,2013,(12):93-97.
[8] 王永涛,陈 玲,张和喜,等. 喀斯特坡地灌溉控制系统的研究及应用[J].中国农村水利水电,2012,(7):13-16.
[9] 罗金耀. 节水灌溉理论与技术[M]. 武汉: 武汉大学出版社, 2003:31-33.
[10] 康绍忠, 蔡焕杰. 农业水管理[M]. 北京: 中国农业出版社, 1996: 20-40.