基于DSP的温室水肥控制系统
2021-06-22王秀清王艳芳杨世凤
王秀清,王艳芳,杨世凤,郑 迪
(天津科技大学电子信息与自动化学院,天津300222)
温室是一个相对较小的封闭环境,自身调节能力有限,一般需要人工干预给作物提供生长的最适环境[1],保证温室作物的生长进程.近几年,在国家政策的推动下,我国的温室智能控制也取得了一定的发展[2].张德田等[3]以草莓温室灌溉为例,研究了模糊控制技术在温室节水灌溉中的应用.於沈刚等[4]设计实现了模糊PID智能灌溉控制器.与许多智能灌溉系统一样,灌溉控制器都是将湿度以及湿度偏差作为控制灌溉的主要因素,但是温室环境是非线性的、相互影响的,只通过湿度决策灌溉量是不够全面的.针对考虑因素单一的问题,应该设计实现多因素综合考虑、共同决策灌溉量的方案.吴波[5]设计实现了基于单片机的温室大棚环境监控系统,在智能控制部分采用设置阈值的方式决定是否需要对温室环境进行调控.蔡长青等[6]构建了温室智能灌溉水肥一体化监控系统,通过预先设定的控制方案调控水肥灌溉.吴卫明等[7]构建了基于DSP的模拟温室环境监控系统,采用DSP作为硬件核心进行数据采集和设备控制.相比较以上方法,本文提出多级模糊控制方案,充分考虑温室内多种环境因素对水肥的影响,智能决策水肥灌溉方案.智能化控制的核心就在于采集和控制的精准及时,所以处理器的选择尤为重要,不仅要承担多路信息采集,而且对控制指令的速度和精度也有要求.市面上多数DSP板都具有多路高速采集的功能,而且其CPU每周期可执行多条指令,给温室的多种环境因子采集,多设备控制提供了良好的开发基础[8].此外,随着物联网农业的逐步发展,云端数据库解决了海量数据存储的问题.
本文拟采用DSP作为温室水肥控制系统的核心硬件,分别连接传感器、上位机和控制设备.温室多环境因子的综合分析采用模糊控制算法,给出温室施肥灌溉的最佳方案,下位机结合CCS编程,控制温室环境参数的采集和温室内水肥灌溉设备的启停,用户上位机界面拟采用LabVIEW平台[9]进行开发,达到实时监测温室环境信息以及精确控制温室施肥灌溉的目的.系统的智能控制需要大量的数据作为依托,设计实现将数据存储到云端,本系统将数据存储到阿里云的数据库中.
1 监控系统整体设计
1.1 系统整体设计
处理器是整个控制系统的核心,接收上位机发出的控制指令,控制着传感器的采集工作和下位机控制模块的运行.考虑到温室环境的复杂性以及低功耗、高处理性能的需求,本文以TMS320C6748为核心处理器构建了环境信息采集系统,系统的整体结构设计框图如图1所示.
图1 系统的整体设计结构图 Fig. 1 Overall structure of the system
TMS320C6748核心处理器的处理能力强、功耗低、运算速度快,且CPU每周期最多可执行8条指令,可以实现多通道同时采集,能够满足本文对温室环境信息和土壤信息的实时多路采集和综合控制要求.
各传感器将采集到的环境因子和土壤信息通过串口发送到上位机,上位机实现数据云端存储功能,并对各参数进行定量分析和综合分析,依此构建灌溉和施肥的模糊控制模型,根据模糊推理得出灌溉和施肥的控制策略.上位机下发控制命令给核心处理器,控制水肥灌溉阀门.
1.2 数据采集控制方案
作物在适宜的环境和土壤条件下才能达到高质优产.不同阶段对水肥需求不同,在作物的发芽期,需要氮元素的浓度相对高一些;在作物的开花期和结果期,会更需要磷钾元素为积累有机物提供保障[10].使用固体的速效化肥可以采用以水带肥的方式施肥,通过肥水结合,让可溶性的养分渗入土壤中,再被作物根系吸收.这对人为控制土壤肥力、确保植物生长有着很重要的作用.
本文以番茄为研究对象,对环境温湿度、二氧化碳浓度、光照强度、土壤湿度和土壤氮元素浓度进行采集与分析,并构建水肥控制模型.各参数由DSP开发板控制采集.土壤水分传感器和土壤氮元素浓度传感器通过RS485转USB与DSP核心处理器通信.温湿度等传感器均与DSP核心处理器的GPIO口相连接,进行数据传输.在灌溉和施肥的控制部分,采用电平驱动的方式控制继电器,起到对施肥灌溉阀门开关控制的作用.
对于大面积温室应用来说,人工测量作物蒸腾量费时费力,可利用Penman-Monteith(P-M)方程进行计算,其以能量平衡为依据,加之水汽扩散为基础,适用于任何作物蒸腾量的直接计算,但是这种方法测算蒸腾量需要额外采集多种其他环境和气象参数,比较繁琐[11].因此,本文利用环境参数与蒸腾量的相关关系,构建蒸腾量预测模型,用来预测蒸腾量,可以简化系统运行时蒸腾量的测算.在构建第一级自适应模型时需要的蒸腾量实测值是通过sartorius ALC-6100.1型电子天平测量计算获得[12].
2 水肥控制策略
2.1 环境参数分析
影响温室灌溉和施肥量的因子有多个,本文主要以温湿度、光照强度、CO2浓度、土壤湿度、蒸腾量以及土壤中氮元素浓度作为主要影响参数,构建水肥模糊控制模型.
将温湿度、光照强度、CO2浓度与蒸腾量数据进行相关分析.如图2所示,对几个因素进行两两相关性分析,纵坐标表示相关系数,越趋近于1说明正相关性越大,越趋近于-1则说明负相关性越大.通过相关性分析可以得出各因素之间的相互影响程度.分析表明:蒸腾量与温度、光照强度成正相关,与湿度、二氧化碳浓度成负相关;温度对蒸腾量和湿度的影响都比较大;湿度对蒸腾量和CO2浓度的影响程度相对较小.
图2 土壤湿度和各个环境参数的相关系数 Fig. 2 Coefficient of correlation between soil moisture and environmental parameters
土壤中营养物质主要是指土壤中含有的腐殖质分解后释放的氮元素以及人为施肥所含的磷钾元素等.这几种元素对作物生长的整个周期来说都很重要,其中氮元素充足时能促进作物根、茎、叶的生长和果实的生长,对作物产量和质量都有很大的影响.
2.2 整体控制策略
一般的模糊控制模型支持多输入、多输出或者单输出,但是输入输出信号越多,建立规则也就越复杂.为了简化模型,本文采用多级模糊控制的方式,构建了三级模糊控制模型.水肥控制原理如图3所示.
图3 水肥控制原理图 Fig. 3 Principle diagram of irrigation fuzzy control
系统开始运行时,首先由上位机给出作物生长阶段,若根据当前环境参数以及一、二级模糊控制器决策出不需要灌溉,氮元素浓度也处于该生长阶段的最佳范围内,则不需要进行控制;若氮元素充足,但是根据一、二级模糊控制器决策出需要灌溉,则此时只执行灌溉操作.如果既需要施肥又需要灌溉,则需要继续执行三级模糊控制模型,以水带肥执行水肥灌溉方案.
2.3 水肥控制模型
第一级采用自适应模糊系统构建模型,将温度、湿度、光照强度、CO2浓度作为输入,蒸腾量作为输出,构建自适应模糊控制器,用于蒸腾量预测.这些输入输出数据对均为前期采集,共100组,保留20组作为测试样本,其余用来构建模型.
为了检验预测模型的准确性,采用MATLAB进行验证,用20组测试样本的预测值与实测值进行对比,结果如图4所示.从图4可以看出二者非常接近,预测模型输出蒸腾量的误差在可以接受的范围内,可以把根据环境参数预测的蒸腾量作为实测值进行进一步建模分析.模型具有一定的预测能力,可以满足蒸腾量预测的需求.
图4 测试样本集检验结果 Fig. 4 Test results of sample testing
通过实测数据分析并结合相关资料[1]可知,蒸腾量与土壤湿度都是灌溉量的影响条件.当蒸腾量最大、土壤湿度最小时,灌溉量应该最大,若此时土壤湿度逐渐增加,则应逐渐减小灌溉量.在土壤湿度一定时,依据蒸腾量的大小决定灌溉量的多少,蒸腾量越大,灌溉量应该逐渐增加.将一级模型的输出(预测的蒸腾量)与土壤湿度一起作为二级模糊控制的输入量,构建二级模糊控制模型.进行模糊推理,确定肥量充足时的初级灌溉量.
由实验的统计数据可知,蒸腾量在0~170g之间进行变化,土壤湿度在0~100%之间变化,即输入量的基本论域分别为[0,170]和[0,100],将输入量均映射到[0,5]的模糊论域上,输入输出量的隶属度函数均选择三角函数型,每个隶属度函数分7个等级,分别为{NB,NM,NS,ZE,PS,PM,PB},依次代表最小、较小、小、适中、大、较大、最大.
在设计完成模糊控制器以后,通过仿真可以看出:当输入蒸腾量一定时,灌溉量随着土壤湿度的逐渐增加而减小;当输入的土壤湿度一定时,灌溉量随着蒸腾量的增加会呈现一定的增加趋势,如图5所示.综合来看,二级模糊控制器的设计可以满足系统的要求.
为了达到水肥一体化控制,除了灌溉量,还要考虑土壤氮元素浓度对施肥的影响.将二级模糊控制器的输出量(初级灌溉量)和氮元素浓度作为输入,施肥量和灌溉量为输出量构建三级模糊控制模型.初级灌溉量的模糊论域依旧为[0,5],氮元素浓度的基本论域为[0,150],将其映射到[0,5]的模糊论域上,隶属度函数均选择三角函数型,模糊论域分为7个等级.依据查阅资料和经验制定相应规则,构建模型.
通过二级仿真可以看出,土壤湿度变低,初级灌溉量会增大.在三级仿真中,最终的灌溉量随初级灌溉量增大而增大;随着土壤中氮元素浓度的减小,施肥量会随之增大,此时,固体肥料需加水溶解,所以灌溉量也会随之提升,以确保土壤中有足够的营养物质能够跟随水分一起供作物吸收(图6).
图5 初级灌溉量与土壤湿度和预测蒸腾量的关系 Fig. 5 Relationship between primary irrigation and soil moisture and predicted transpiration
图6 三级模糊控制模型仿真结果 Fig. 6 Simulation results of the three-level fuzzy control model
3 上位机监控平台
3.1 监测和显示功能
上位机监控平台主要实现的功能是通过串口接收实时采集的环境参数并进行动态显示,同时向核心控制器发送控制指令,此外还可以实现数据分析和数据存储等功能,实时监测环境信息,波形图显示便于用户观察各个环境参数的变化过程.监控平台控制系统主界面如图7所示.
图7 温室水肥控制系统监控主界面 Fig. 7 Main interface of greenhouse water and fertilizer control system monitoring
3.2 数据存储功能
温室内环境参数是时变的,数据采集也是实时的,因此会有海量的数据需要存储,此时从数据库的存储空间和程序的可移植性来说,本地数据库已经不能满足需求,本系统将数据存储到阿里云的MySQL数据库中,在数据库中建立环境参数表,用于存储数据采集的时间和环境参数[13].图8为数据库截图.
图8 数据库截图 Fig. 8 Database screenshot
3.3 控制功能
本文采用LabVIEW和MATLAB混合编程方式进行上位机用户界面开发.数据分析部分通过调用MATLAB子程序对采集的数据进行模糊控制分析,即经过三级模糊控制模型,输出灌溉和施肥的控制策略.上位机将控制命令发送给下位机控制单元后,DSP通过软件编程解读模糊控制器的输出值,经过一系列运算将接收到的数据转化为控制浇水和施肥的阀门启停指令,通过继电器控制阀门开关.
4 结 语
本文针对温室水肥精准灌溉问题,采用多级模糊控制手段,充分考虑温室内的多种环境因素对水肥灌溉的影响,基于DSP搭建温室水肥控制系统,进行参数实时采集上传分析.应用LabVIEW构建上位机监控平台,对温室环境参数进行实时监测显示和云端存储.区别于单因素决策的方法,采用多种因素综合分析决策水肥灌溉的策略,相较预先设定控制方案具有一定的灵活性,对比设置阈值的方法又多了智能性,可以将此控制策略应用于水肥一体化控制设备中.