当前位置:首页 期刊杂志

基于STM32F407微型植物工厂智能控制系统研制

时间:2024-05-24

左志宇,卓敏敏,毛罕平,谭 洁,唐学平,张文忠,赵 常

(1.江苏大学 现代农业装备与技术教育部重点实验室,江苏 镇江 212013;2.江苏白雪电器股份有限公司,江苏 苏州 215500)

0 引言

近年来,由于生态环境恶化、自然灾害频繁、传统农业种植方式生产效率低和生产成本高,使得农业发展面临着新的挑战。因此,如何利用设施农业技术以最少的能源、原料和人力进行高品质植物的大规模生产将是设施农业研究的主要方向[1-2]。

作为科学技术发展到一定阶段的必然产物,植物工厂应运而生。植物工厂( Plant Factory)的概念最早是由日本提出来的,根据日本植物工厂学会的解释,植物工厂是通过设施内高精度环境控制实现农作物周年连续生产的高效农业系统,受到各国的普遍关注[3-5];但植物工厂体积庞大,能耗较高,操作不方便,不适合家庭使用。微型植物工厂将植物工厂技术进一步浓缩,集成在一个冰箱大小的密闭环境里,通过智能自动控制系统控制作物生长的环境,为其提供适宜的光照、温度、湿度条件及成分配比合理的营养液等[6-8]。这种高端栽培模式的兴起,使蔬菜生产、消费零距离,不仅提供绿色无公害的蔬菜,为城市居民生活带来极大方便,而且可以降低室内二氧化碳、增加氧气,也可以作为绿色装饰,美化家居,增添了居民的生活乐趣[9-10]。

设计合理高效的控制系统,使其内部作物始终处于适宜的生长环境,是微型植物工厂研制的关键所在。为此,设计了一款基于嵌入式平台的智能控制系统,以STM32F407单片机为核心,采用LCD液晶屏和独立按键进行人机交互,为作物生长提供适宜的生长环境。

1 控制系统整体设计

控制系统主要由基于STM32F407单片机的主控单元和基于STC单片机的执行单元组成。主控单元主要实现数据采集和处理、数据存储、参数设置、控制决策、超限报警、与执行单元之间的信息交互、与远程控制端的无线通信等功能,包括微控制器模块、数据采集模块、时钟模块、摄像头模块、存储模块、报警模块、通信模块及网络模块等;执行单元主要实现与主控单元的通信和驱动执行机构,包括压缩机、加热板、风机及进水阀等。系统结构框图如图1所示。

图1 系统结构框图

微型植物工厂控制系统工作原理:

1)LCD19264液晶屏和独立式键盘作为人机交互模块,实现微型植物工厂系统参数设置和显示、执行机构状态查看和设置;

2)数据采集模块将采集到的环境信息输送至主控制器进行处理,根据调控策略,确定相应执行机构的运行状态,通过RS485总线发送到执行单元,经过隔离放大,驱动相应执行机构动作;

3)采用OV2640摄像头监控作物,系统定时获取照片发送至远程控制端;

4)网络通信采用ESP8266串口转WIFI网络模块,实现微型植物工厂与远程控制端的数据传输。

2 控制系统硬件

2.1 微控制器模块

主控单元的主控制器选用STM32F407ZGT6单片机。该芯片集成 FPU 和 DSP 指令,工作频率达168MHz,具有 192、1024kb FLASH,以及I2 C、 SPI、 USART、DMA、FSMC、 SDIO 、DCMI等接口模块[11],能满足系统的工作要求。

执行单元选用宏晶公司STC系列STC89C54RD+芯片。该芯片是高速、高可靠、低功耗、超强抗干扰的增强型8051单片机,工作频率达80MHz,内部包括16kB的Flash程序存储器ROM、1kB的数据存储器RAM,能够满足执行机构驱动要求。

2.2 人机交互模块

人机交互模块包含液晶屏和按键两个部分。液晶屏选用19264并行LCD,用于显示系统设定参数、作物信息、环境检测信息、系统工作状态和系统时间等;按键采用独立按键,包括功能菜单键、确认退出键、左键、右键、上键和下键等6个按键。主要完成的功能如下:

1)设置环境因子、时间等参数;

2)选择作物的种类、工作模式;

3)查看执行机构的运行状态。

2.3 数据采集模块

数据采集模块主要包括温湿度传感器、液位传感器和图像传感器。

温湿度传感器选用AM2302数字温湿度传感器。这是一款含有已校准数字信号输出的温湿度复合传感器,包括电容式感湿元件和 DS18B20 感温器件,并与高性能 8 位单片机相连接,采样信息以串行通信方式传输。

液位传感器采用侧装式浮球开关,利用浮球内的磁铁吸引磁簧开关的闭合,产生开关动作;浮球位置随营养液液面高度变化,从而起到检测液位的功能。

图像传感器采用OmniVision公司OV2640芯片,这是一颗 1/4 寸的 CMOS UXGA( 1632*1232)图像传感器。该传感器体积小、工作电压低,通过SCCB总线控制,支持图像压缩,可通过STM32F4自带的数字摄像头(DCMI)接口输出JPEG图像数据流。由于传感器本身接口比较复杂,本系统选用成型的OV2640摄像头模块来对微型植物工厂内部的植株生长情况进行记录。

2.4 网络模块

网络模块用于实现微型植物工厂内部的远程监控和通信。本系统选用ESP8266串口WiFi模块。ESP8266是乐鑫公司生产的低功耗WIFI芯片,内置32位CPU,支持串口透明数据传输,内置TCP/IP协议栈和IEEE802.11协议栈,能够独立运行,也可以作为从机搭载于其它主机MCU运行。模块支持3种工作模式,可快速构建数据传输方案,接入互联网传输数据,满足系统设计的要求。实物如图2所示。

图2 ESP8266模块

配置ESP8266芯片工作在Station模式,VCC、GND、UTXD和URXD 4个引脚和STM32F407单片机相应引脚连接,电路原理如图3所示。STM32F407通过串口与ESP8266通信,处理接收到的指令数据。当微型植物工厂设定参数或者设备工作状态发生改变时,STM32F407单片机通过串口将数据发送给ESP8266,ESP8266转发到服务器;如果用户或专家通过手机端或电脑端对微型植物工厂进行控制,将控制数据发送给ESP8266,ESP8266转发到STM32F407单片机,执行相应的指令操作,实现对微型植物工厂内部的远程决策和托管服务。

图3 网络模块电路图

2.5 执行机构驱动模块

微型植物工厂的执行机构主要包括降温设备、加热设备、内空气循环设备、营养液循环设备、换新风设备及补光设备等。

降温设备由压缩机与散布在机器内表面的冷凝管及两侧的风机等构成。压缩机放置在机器的底部;加温设备由3块加热板构成,放置于机器的左侧;内空气循环设备为3个内循环风机,放置于每层栽培区的左侧;营养液循环设备包括水泵、3个进水阀(放置于箱体左侧)、水消毒紫外灯管(放置于箱体左侧)和3个出水阀(放置于箱体右侧);换新风设备由增氧泵和空气消毒紫外灯管组成,分别放置在机器的底部和左侧;补光设备为红蓝配比5:1的LED生长灯,每层栽培区顶部放3支,共9支。各执行机构的参数和功能如表1所示。

表1 执行机构的参数和功能描述

执行机构均采用开关量控制。由于STM32F407单片机的GPIO口不能直接驱动设备,故在GPIO口与执行机构之间增加光耦、达林顿驱动电路和继电器,利用光耦隔离强电设备在启动和关闭过程中电流波动对系统整体稳定性的影响;达林顿驱动电路增强GPIO口输出信号,驱动继电器,控制执行机构动作。

3 控制系统软件

控制系统软件采用模块化设计方法,各模块之间既相互独立,又协同工作。控制单元软件是整个微型植物工厂控制系统的核心部分,主要完成环境参数的实时显示、参数设置、数据信息采集、智能控制、超限报警及数据传输等功能;执行单元软件完成与控制单元的信息交互和驱动执行机构。

3.1 人机交互设计

当系统没有进行按键操作时,LCD19264主界面会循环显示作物名称、种植颗数、当前温湿度、工作模式、设定温湿度及当前工作状态等信息;当系统的功能菜单键被按下,液晶屏进入功能选择界面,包括执行机构设置、作物信息设置、控制参数设置和系统信息设置4个选项,分别点击4个选项可进入相应参数的设置界面,通过点击系统的确认退出键返回到上一层界面。系统人机交互界面的主框图如图4所示。

图4 系统人机交互界面主框图

3.2 基于Modbus RTU协议的RS485总线通信软件设计

Modbus协议物理层选用RS485标准,采用一对一主从方式。主控单元作为主机,执行单元作为从机,使用Modbus03(读取保持寄存器)和16(预置多寄存器)功能码。系统的典型数据帧:

1)查询执行机构工作状态。

主机发送:01 03 00 00 00 02 C4 0B

从机响应:01 03 04 00 00 00 00 FA 3

2)发送执行机构控制指令。

主机发送:01 10 00 02 00 02 00 01 00 01 26 02

从机响应:01 10 00 02 00 02 E0 08

以执行单元为例,系统通信过程可简单描述为:程序开始运行后,初始化串口,设置通信参数;程序初始化完成后,不停地查询是否有接收中断,同时在主函数中调用串口通信处理函数。执行单元串口通信处理函数软件流程如图5所示。

3.3 网络模块软件设计

3.3.1 远程通信流程

当远程控制终端设备把需要传递的命令通过Internet和WiFi发送给ESP8266芯片,ESP8266芯片把WiFi信号转换成串口数据,发送给STM32F407单片机;STM32F407单片机根据接收到的指令数据执行相关操作,并且在执行完毕后把需要反馈的信息发送至ESP8266芯片,ESP8266芯片把串口信号转换成WiFi信号,并通过无线网络发送给远程控制终端设备。

3.3.2 无线通信协议制定

微型植物工厂内包含多种控制信息,必须通过标记才能区别不同的控制命令。因此既要保证系统有效地完成数据传输,又要保证参数设置功能、控制功能等系统功能实现,需要相应的通信协议进行规范。协议格式如表2所示,控制信息类型及功能数据对应关系如表3所示。

图5 执行单元串口通信处理程序流程图

表2 无线通信协议格式

表3 控制信息类型及功能数据对应关系

通信协议中不同字段用#分割,没有数据的字段补0,最后以$结尾。比如:#01#00#01#01#3600#$,含义为打开通道1对应的执行机构,并让其维持打开状态3 600s。

3.3.3 网络通信软件设计

在网络通信中,微控制器STM32F407单片机接收远程控制终端传来的指令,执行相关操作,并将反馈信息回传给远程控制终端。系统设定参数发生改变时,及时将改变后的数据上传至远程控制终端。

在程序设计中,首先初始化串口设置参数,接着查询是否有网络数据接收中断。在有接收中断的时候,对接收到的数据进行处理,同时在控制单元主函数中调用网络通信处理函数,在该函数中对接收到的信号进行判断,完成相应的操作。程序流程如图6所示。

图6 网络处理程序流程图

3.4 环境控制策略

本控制系统中包括温湿度控制、营养液循环、换新风、栽培区补光、育苗室浇水与补光等控制策略,在此以温度控制及营养液循环控制策略为例进行介绍。

3.4.1 温度控制策略

微型植物工厂温度控制包括制冷和加热两种模式。STM32F407单片机通过AM2302采集植物工厂内部的温度信息,进行数据滤波处理,然后将温度值与设定值进行比较,决定当前微型植物工厂内部温度控制模式。软件流程如图7所示。

图7 温度控制模式选择流程图

3.4.2 营养液循环控制策略

本系统采用营养液栽培技术,营养液循环方式采取3层集中定时提供营养液,即每层营养液供应周期相同,但每层的营养液流量及浸泡时间可单独控制。

营养液循环的具体工作流程分为7个步骤:下层营养液输入、中层营养液输入、上层营养液输入、浸泡时间、下层营养液排出、中层营养液排出和上层营养液排出。

为了防止在营养液循环周期中意外断电,导致系统当前循环周期没有结束便等待下个循环周期的到来,在程序中定义2个单字节变量,即营养液循环进程标志(NSCProgressFlag)和营养液相关执行机构状态标志(NSCDriverStateFlag),分别用来保存营养液循环进程和营养液相关执行机构状态,并将其即写入到AT24C08存储芯片中;待系统再次上电后,MCU先从AT24C08中读取NSCProgressFlag和NSCDriverStateFlag的值,恢复断电之前的营养液循环进程状态及水泵、进水阀、出水阀等相关执行机构的工作状态,再调用营养液循环函数,完成系统掉电之前的循环周期。

4 性能试验

4.1 试验设计

通过生菜种植试验对微型植物工厂智能控制系统性能进行测试。试验中,温度设置为白天 23℃、夜间 18℃;3层栽培层光照环境相同,均为红蓝光配比为5:1的LED生长灯,且光周期和暗周期相等,均为12h;营养液循环方式采取3层集中定时提供营养液。试验中的微型植物工厂如图8所示。

图8 试验中的微型植物工厂

4.2 结果分析

微型植物工厂智能控制系统在生菜种植性能测试过程中,主控单元和执行单元均运行稳定,各部分功能均能实现。限于篇幅,下面仅以2017年12月21日10:00-17:00的温度数据为例进行分析。微型植物工厂内各层温度变化曲线如图9所示。

图9 温度变化曲线

由图9可以看出:升温模式中,微型植物工厂内温度变化分为上升时期和温度保持时期。在温度保持时期,上层和中层的温度基本相同,稍高于下层温度,上层、中层和下层温度的平均控制误差分别为0.3、0.2、0.9℃,能满足常见作物的生长要求。

在整个试验生长周期内,生菜生长状态良好,没有出现生长停滞、徒长、叶片萎靡不振及根部腐烂等现象,表明该微型植物工厂智能控制系统性能稳定,可以为作物提供良好的生长环境。

5 结论

为保证微型植物工厂内部作物处于适宜的生长环境,设计了一种基于嵌入式平台的微型植物工厂智能控制系统。该系统在硬件上采用高性能的 STM32F407 芯片作为主控制器,以LCD19264液晶屏加独立按键作为人机交互设计,在降低研制成本的同时,保证系统的稳定性和可靠性;软件上对温度、营养液循环、补光、换新风等均制定了合理的控制策略,保证了系统运行的准确性。经试验验证,系统运行稳定可靠,作物生长状态良好。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!