本发明涉及一种检测装置,尤其涉及一种微型植物工厂智能控制系统。
背景技术:
微型植物工厂是近年设施农业行业出现的新事物,它将大型植物工厂技术进一步浓缩,在有限密闭的环境中通过智能自动控制系统控制作物生长环境,为作物提供适宜的温湿度、光照强度、CO2浓度以及合理比例的营养液,实现作物的周年连续种植。目前,由于成本和技术等方面的限制,微型植物工厂的推广和应用尚处于研究和探索阶段。
微型植物工厂具有很大的应用潜力,在植物工厂技术比较发达的日本、美国和荷兰等国家,针对家庭使用的微型植物工厂已有应用,在美化家居净化空气的同时能满足人们对安全无公害蔬菜的需求。鉴于此,近些年国内一些科研单位也开始着手微型植物工厂的研制,并取得了显著成果。在现阶段的植物工厂控制系统研究中,多采用PLC作为控制器,以PID控制作为控制算法,这使得控制系统的成本较高,且传统的PID控制应用在微型植物工厂这类非线性、大滞后系统时无法很好地满足控制要求。
技术实现要素:
本发明的目的是针对传统的PID控制应用在微型植物工厂这类非线性、大滞后系统时无法很好地满足控制要求的问题,设计了一种微型植物工厂智能控制系统。
本发明解决其技术问题所采用的技术方案是:微型植物工厂智能控制系统由环境因子采集模块、数据存储模块、人机交互模块、处理器模块以及执行控制模块等部分构成。
所述的环境因子采集模块包括光照传感器、温湿度传感器和CO2传感器,该模块能准确、实时地对微型植物工厂内部温度和湿度等多个环境因子信息进采集。
所述的温湿度传感器采用AM2311型,它是一款含有已校准数字信号输出的传感器,可以进行远距离信号传输,适合在微型植物工厂内部通过长线缆分层布置,该模块通信接口采用标准I2C接口模式。
所述的光照度传感器采用RHOM 的数字型光强度传感器BH1750FVI 型,此传感器内置高精度的16位A/D 转换器,可以直接输出照度值,采用I2 C总线连接,系统通过STM32自带的I2C 接口实现光照强度信息的采集。
所述的CO2浓度的测量使用固态电化学型传感器TGS4160型,由于传感器本身接口比较复杂,本系统选用的是成型的传感器模块,可以直接输出数字信号。
所述的数据存储模块利用MicroSD卡作为存储介质,存储微型植物工厂内部温湿度等环境因子历史数据,并采用FATFS文件系统对采集的数据按日期和类型进行分类管理。
所述的人机交互模块采用XPT2046驱动的触摸屏进行人机交互操作,可以进行参数的设定以及环境信息的实时显示。
所述的处理器模块采用STM32控制器为系统的核心,它通过对传感器采集数据的分析决策,进而发送命令,控制继电器的开/关,通过执行机构间的协调工作使微型植物工厂内部环境维持在适宜作物生长的范围内。
所述的执行机构采用开关量控制,另外在GPIO口与环境控制设备之间增加了光耦TLP521-4、驱动器MC1413以及中间继电器HF49F。同时在电路设计上采用单独的电源和接地来减少干扰。
本发明的有益效果是:该系统采用高性能的STM32芯片和嵌入式实时操作系统μC OS-Ⅱ进行硬件和软件设计,并利用模糊解耦和模糊控制的方法实现了温湿度的解耦和有效控制,系统运行稳定。该智能控制系统的成功研制为微型植物工厂快速进入市场应用奠定了基础。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是控制系统结构图。
图2是SD 卡接口电路图。
图3是系统人机界面总体框图。
图4是温湿度解耦器原理图。
图5是数据采集与控制流程图。
具体实施方式
如图1所示,微型植物工厂智能控制系统由环境因子采集模块、数据存储模块、人机交互模块、处理器模块以及执行控制模块等部分构成。STM32控制器定时向相应的传感器发送数据采集命令,传感器收到命令后对微型植物工厂内部环境数据进行采集,之后将采集到的数据返回给控制器,控制系统将采集到的数据进行融合处理后送SD卡存储,然后按照已经设定的作物生长需要的环境因子阈值的判定,控制相应继电器的开/关,进而控制相关加热管、压缩机等执行机构的开启/关闭。控制系统不断重复之前的过程,进行环境因子的不断检测,构成了一个闭环的自动控制系统。系统采用LED 灯组进行人工补光,使用水泵进行营养液的循环控制,微型植物工厂内部环境中CO2和O2与外部环境气体的交换是通过外循环风扇实现的,这3种执行器都采用定时方式控制。温度和湿度则根据设定的阈值进行自动控制。当温度低于设定值时,加热器启动,热空气从植物工厂底部向上流动,通过内循环风扇的输送使内部热空气分布均匀,当温度达到设定值时,关闭加热器。当温度过高或湿度变化时采用同样的方式进行智能调控,使温湿度等环境参数维持在设定的范围内,满足作物生长需要。
如图2所示,系统采用1GB的MicroSD卡存储采集到的温湿度信息,该卡的接口和普通SD卡的接口是兼容的。STM32处理器自身具有一个SDIO接口模块,为其AHB外设总线和SD存储卡之间提供了互联接口。系统采用的是SD 存储卡接口支持的4位SD模式,每个有效信号都需要接10kΩ电阻。SDIO_D[3: 0]是4位数据传输线,SDIO_CK信号线是SD卡的时钟信号,每个时钟周期在命令和数据线上传输1位命令或数据,SDIO_CMD是SD卡的双向命令/响应信号线。
系统的执行机构采用开关量控制,STM32的GPIO口直接输出的信号较弱,通常不足以直接驱动设备运行,所以在GPIO口与环境控制设备之间增加了光耦TLP521-4、驱动器MC1413以及中间继电器HF49F,利用光耦降低强电设备在启动/关闭过程中电流波动对系统整体稳定性的影响,驱动器MC1413可以增强输出信号进而通过继电器的开/关控制执行机构的动作。同时在电路设计上采用单独的电源和接地来减少干扰。
如图3所示,在液晶屏主界面上设置了“系统时间设置”、“系统参数设置”、“历史数据查询”、“关闭系统”4个子界面图标,点击相应图标可以在各功能子界面下实现相应的功能。其中,系统时间设置子界面可以显示并设置当前的时间; 参数设置子界面可以对系统的参数进行设定,包括根据作物生长要求增减生长阶段以及分别设定各阶段的温度、湿度和运行时间等参数; 查询历史数据子界面不仅能够按日期显示历史数据,而且可以根据用户要求导出或删除某些数据; 关闭系统子界面可以根据用户需要关闭控制系统,然后对植物工厂进行某些操作,避免直接操作对控制系统造成不良的影响。
为了增强系统的实时性和后续功能的易扩展性,在STM32 中移植了一个μC /OS-Ⅱ内核,采用嵌入式实时操作系统μC /OS-Ⅱ进行程序设计。μC /OS-Ⅱ是基于优先级的抢占式实时多任务操作系统,控制系统通过7 个任务来完成所要求的功能,主要有系统主任务、数据采集任务、数据处理任务、数据写入SD卡任务、μCGUI图形用户接口任务、触摸屏任务以及控制决策任务。主任务的建是通过调用App_TaskStart( )函数完成的,再由该函数调用App_TaskCreate( ) 建立其他6个任务,给这些任务赋予不同的优先级,同时采用信号量进行任务间调度的协调。这些任务按功能可分为信息采集、数据处理和存储、控制决策以及人机交互4个模块。信息采集模块控制传感器定时采集环境因子信息; 数据处理和存储模块把采集来的数据进行融合处理后送SD 卡进行存储,使用FATFS文件系统对SD卡中的数据文件进行读写和管理; 控制决策模块则根据采集到的数据,利用智能控制算法控制环境调控设备,使微型植物工厂内部各环境因子维持在预定值; 人机交互模块完成微型植物工厂内温湿度的显示和历史数据的查询,采用开源的图形界面软件μCGUI编程实现。
温度和湿度控制经过模糊解耦后转换成2个独立变量控制,即温度单回路控制和湿度单回路控制。控制系统设计了温度模糊控制器和湿度模糊控制器,系统中温度偏差eT的变化范围为[-4,4],其变化率"eT变化范围为[-0.6,0.6],湿度偏差eH及其变化率"eH的范围分别为[-20%,20%]和[-8%,8%],以温度模糊控制器的设计为例进行说明,湿度模糊控制器与之类似。温度模糊控制器是一个两输入、单输出的二维模糊控制器,输入变量为被控对象的温度偏差eT和偏差的变化率"eT,输出变量为温度调控设备的工作时间t,相应的模糊集为E、"E 和T。E、"E的模糊语言变量定义为{ NB,NM,NS,ZO,PS,PM,PB} ,相应的模糊论域为{ 6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6} ,温度偏差的量化因子k1 = 1.5,温度变化率的量化因子k2 = 10。输出变量执行机构工作时间t最长为20min,其基本论域为[-20,20],T的模糊集为{ NB,NM,NS,ZO,PS,PM,PB} ,模糊论域为{ -6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6} ,量化因子kt=0.3。系统在模糊控制器设计过程中根据对环境因子的影响将执行机构控制进行了合并处理,如温度控制中,当输出为正值时则加热器工作开始升温,负值时压缩机工作开始降温,将原本两输入、两输出的温度模糊控制器简化为两输入、单输出结构。
如图4所示,模糊解耦器是温湿度模糊解耦单元的核心。模糊解耦器是一个2输入、2输出的二维模糊解耦器,它的输入eT为温度偏差,eH为湿度偏差,输出Ct和Ch分别是温度回路补偿量和湿度回路补偿量。本系统中温度偏差eT变化范围为[-4,4],根据系统控制要求模糊论域取为{ -5,-4,-3,-2,-1,0,1,2,3,4,5} ,量化因子k1 = 1.25。湿度偏差eH变化范围为[-20%,20%],模糊论域取为{ -5,-4,-3,-2,-1,0,1,2,3,4,5} ,量化因子k2 = 25。eT和eH的语言变量选取7 个语言值:{ NB,NM,NS,ZO,PS,PM,PB} 。
如图5所示,温湿度控制系统输出控制量是模糊控制输出加上模糊解耦补偿值,利用离线程序设计的方法,将最终的控制输出以查询表的形式存放在STM32的FlashROM中,在控制决策任务中编制一个查找查询表的子程序。实际控制过程中,在每个控制周期中根据采集计算到的温湿度偏差及其偏差变化率查询得出实际的控制输出量。根据查表求出的控制量去控制执行机构,能够实现对微型植物工厂内部温湿度的智能控制。