摘  要

随着农业生产智能化的广泛应用,农业设施智能化成为目前温室大棚等场景中的一个重要发展方向,温室大棚环境调控方式实现自动化控制监测的研究具有重要意义。其中,温室大棚中作物生长所需要的环境因素的无线检测与调控作为本文的研究方向,主要研究温室大棚室环境监测控制设备的设计与实现。

该设计以MCU作为控制中心,开发一款具有实时温湿度检测、二氧化碳浓度检测、光强检测等功能,同时该设备以ZigBee作为通信网络,实现温室环境智能控制的模型。通过现有的通信网络,建立起一种快捷有效的检测系统,达到实时监测远程控制温室大棚环境的目的。

关键词:智能温室;温室环境调控;无线检测系统;传感器技术

  • 前言

1.1课题研究背景及意义

在人们生活水平提高的同时,越来越多人注重饮食的变化性,例如在蔬菜需求方面,蔬菜的种类、质量要求越来越高。传统的农耕形式已经满足不了现在人们对食物的要求,这就要求了农业生产在保证供应量之余,还要保证种类丰富及质量优良,因此农业科技应用而生。农业科技把多种现代化先进技术结合到农业知识当中,例如:电子技术、计算机技术、控制技术等,通过智能化监测控制,从而实现从而提升农业生产的自动化程度,智能型温室大棚就是一个象征性产物。

基于嵌入式系统的温室大棚的开发与设计,其研究背景与意义深远。随着现代农业的快速发展,温室大棚作为一种高效的农业生产方式,对于提高作物产量、优化种植环境具有不可替代的作用。然而,传统的温室大棚监控方式存在诸多不足,如人工监测效率低、数据不准确等问题,难以满足现代农业对于精准、高效、智能的需求。

嵌入式系统作为一种先进的计算机技术,具有体积小、功耗低、性能强等显著优点,非常适合应用于温室大棚的监控系统中。通过嵌入式系统,可以实现对温室大棚内环境因素的实时监测、精准控制和数据处理,从而提高温室大棚的生产效率和品质。

因此,开展基于嵌入式系统的温室大棚的开发与设计研究,不仅有助于解决传统温室大棚监控方式存在的问题,提升温室大棚的智能化水平,还能推动农业生产的现代化进程,提高农业资源的利用效率。同时,这一研究也为嵌入式系统在农业领域的应用提供了有益的探索和参考,具有重要的理论和实践价值。

1.2国、内外研究现状和发展动态

上世纪70年代起,海外国家如美国和荷兰率先将机械化引入农业生产,推动温室产业向集约化方向发展。这些国家通过计算机精确调控温室内的环境因素和作物养分,形成了完善的温室种植技术体系。美国不仅是最早将计算机技术应用于农业的国家之一,还在温室环境监测与控制方面建立了高精度的系统,显著提升了农业生产效率和经济效益。荷兰的玻璃温室自动化制造技术全球领先,其温室面积占全球四分之一以上,且国内85%的温室实现了环境自动化控制。此外,信息化、数字化农业以及遥测、网络和控制局域网等技术在这些国家的温室农业中得到广泛应用。

相比之下,我国温室大棚的研究与发展起步较晚,但近年来取得了显著进展。我国早在两千多年前就有了温室种植的雏形,而在上世纪80年代末和90年代初,开始引进并消化国外技术,进行蔬菜生长环境自动化控制的实验研究。随着“九五”期间再次引进海外先进技术,国内机构开始自主研发适合我国环境的控制系统。例如,江苏理工大学在1996年开发的智能环境控制系统,就为我国温室检测系统研究的发展提供了重要技术支持。

然而,尽管我国在温室大棚环境监测控制方面取得了很大发展,但与发达国家相比仍存在差距。我国在温室环境检测技术方面需要建立更加成熟和科学的体系,同时发挥自身特色和优势,进行多因子综合因素的大系统控制研究。目前,我国农业生产中应用的主要是符合国情的节能型日光温室,而高度自动化的现代温室发展相对滞后,存在设施简陋、机械化程度低等问题。此外,我国温室农业生产以小型个体种植户为主,温室面积小且标准化程度低。因此,发展适度规模化生产和智能化温室大棚是我国现代温室农业的重要发展方向。

  •  无线检测系统的总体方案设计

2.1智能温室大棚系统概述

智能温室大棚是现代科学技术与农业生产结合的产物,同传统温室大棚相比,整体设施更先进高端,图2.1为现代化智能温室大棚。近年来,智能温室更是发展迅速,其环境调控方式以机械化控制为主,图2.2为智能温室大棚的机械化生产环境[7]

2.1 现代化智能温室大棚

2.2 智能温室大棚机械化生产环境

智能温室环境调节依靠其环境控制系统[8]统具备采集功能、计算功能和控制调节功能。该系统可对温度、湿度、二氧化碳浓度、光强、水分、肥料、通风、保温等多种因素进行监测控制,对温室进行智能管理。通过合适的环境调节方式实现温室作物高产量、高质量、精细化生产,从而带来较高经济收益[9]图2.3为智能温室大棚模型图。

2.3 智能温室大棚

此外,智能温室还物联网技术结合[10]在温室内设置多处测试点,并在测试点安装无线传感器节点用来检测采集温室内环境参数,采集的参数通过汇聚节点传输发送,数据通过管理分析后,明确的数字形式或者直观的图表形式呈现给温室管理者,来获取各个测试点信息,图2.4为无线传感器网络体系结构同时根据农作物生长需求为温室管理人员提供相应的声光报警信号和短信通知,实现温室的智能化、集约化、网络化远程检测和管理。

2.4 无线传感器网络体系结构

2.2环境检测系统工作原理

温室大棚环境检测是为了实时采集监控温室环境参数,对温室环境系统以及温室硬件系统进行自动化控制[11]。实时采集各个环境数据,控制系统分析处理参数后对比作物生长所需的适宜条件来进行温室内环境因素的调剂控制。一般来说环境监测系统首先要具备被测量,也就是温室环境内的各个参数。其次温室环境的各个参数的采集用到了多种传感器,传感器的传输信号则要通过信号调理后再进一步传输[8]。系统对传送来的信号分析计算后由显示器部分显示相关数据,将数据处理后提供通信接口与其他系统之间交换信息。

环境检测系统包括五个重要部分。

  1. 传感器部分,传感器通常由一些敏感元件或者是转换元件组成,传感器的主要作用是将感受到相应被测量后将被测量按照一定转换规律转换成控制系统可识别的输出电信号。常见的用于温室环境的传感器模块有温度、湿度、二氧化碳浓度、光强等传感器模块。传感器的输出信号不能直接进行传输,需要一定调理之后才能继续传输。
  2. 信号调理电路,整个调理电路用来进行系统各类信号处理,不满足输出条件的信号都要通过信号调理电路经过转换、放大等处理,从而使信号满足输出要求。
  3. 记录、显示仪器,用来直观显示各类采集信号,方便人们观察和分析。
  4. 信号分析处理将测试得到的数据信息整理、计算,线性处理各类数据,除此之外还可以对动态测试结果作相关分析。
  5. 通信接口和总线,用于温室环境测试点与控制系统之间以及控制系统与其他系统之间的通信连接,总线是一种结构形式。图2.5为包含多功能模块的检测系统的结构框图。

2.5 包含多功能模块的检测系统的结构框图

2.3无线通信技术

在温室环境得到实时监控检测条件下,还要将采集到的信号、显示信号、反馈信号进行通信传递,这就应用到了无线通信技术[12]。人们现在的生活已经离不开无线通信技术了,无线通信在生活和工作中处处可见,比如手机、无线电话的日常使用。由此可见,无线通信技术发展是非常迅速的,而且无线通信技术目前的普及范围是非常广的,尤其是在信息通信领域[13]。耳熟能详的WiFi技术、蓝牙技术和ZigBee技术都属于无线通信技术。在本课题研究中,应用的便是ZigBee技术。

ZigBee以协调器作为构建网络和中心节点的核心,通过自组网的方式建立通信。图2.6为基于ZigBee的远程监控系统结构示意图。测试节点多处于自由状态,当测试节点发现汇聚节点而自行组建网络,若接收到汇聚节点发来的收集命令,便将采集到的数据传输发送到汇聚节点。汇聚节点接收到数据后将数据向上位机转发,实现了节点之间的无线通信。图2.7、图2.8为ZigBee无线传感器节点的整体设计流程图[14]

2.6 基于ZigBee的远程监控系统结构示意图

2.7 ZigBee无线传感器节点终端节点流程

2.8 ZigBee无线传感器节点汇聚节点流程

2.4系统总体设计方案

随着农业智能化远程监控系统的普及,温室大棚环境监测系统在实际生产中得到广泛应用。温室大棚的温湿度光照强度、二氧化碳浓度等环境因素对作物的生长有很大的影响在适宜的生长环境中进行作物的生产,不仅能提高作物产量,还能提高作物的质量,因此温室大棚中环境因素各参数的实时采集及准确调控对于温室生产至关重要。

2.4.1系统设计方案概述

本课题拟开发一款用于温室大棚的无线检测模型,该设备具有实时检测温室内环境温湿度、二氧化碳浓度、光强的功能,同时,该设备通过无线通信网络实现温室的智能管理和系统的线检测[15]

本系统分别用到温湿度传感器、二氧化碳传感器和光传感器,这些传感器用于实时采集温室大棚内的温湿度、二氧化碳浓度、光强数据,并将采集到的这些数据传输给中心控制模块。中心控制部分由单片机模块组成,将传感器发来的数据通过显示屏实时显示温室内环境参数,若数据超过或不足预先设置的范围,显示屏显示报警信息,或者发出报警信号。再结合无线网络来实现远程控制,将温室大棚的各个状态发送到用户手机上,用户则可以实时监控温室环境状态进行远程监测与控制[12]

2.4.2温室内部环境参数分析

温室种植不同于露天种植的重要方面在于温室种植可以根据作物需求进行人为的环境调控,其主要调控参数包括影响作物生长的各类环境因素。根据生产经验,以及对不同作物的测试实验为根据,影响作物生长的环境因素参数范围如下。

(1)温、湿度

温度是农作物生长所需的重要环境因素,影响作物的一切生命活动。作物生长时,温度太低或者温度太高都会导致作物的死亡,只有在一定的温度范围内,才能使作物以良好的势态进行生长。通常来说,多数作物能够在5~35℃的环境温度下生存,而最适宜作物生长的环境温度为20~28℃。当环境温度略低于15℃或者略高于30℃时,作物还能够维持生命活动却不能正常生长,当环境温度长时间低于5℃或者高于35℃时,作物则会死亡,图2.9为作物生长所需温度范围。

2.9 作物生长所需温度范围

温室环境的湿度很大程度上影响了作物的各类生命活动,而湿度条件包括了空气中的水分和土壤中的水分,是在温室种植中比较重要的参数。作物在不同生长时期所需的湿度环境不同,而且不同的农作物对于生长所需的湿度也有所不同。现在以番茄、黄瓜为例,对它们生长所需的环境湿度进行比较,图2.10为番茄、黄瓜各生长时期对环境湿度要求。

2.10 番茄、黄瓜各生长时期对环境湿度要求

根据上述分析,应用于温室大棚环境的空气温湿度传感器的有效温度范围应该在 0~50℃,有效湿度范围应该在30%~90%RH。

(2)光照强度

光照强度也是影响作物生长的重要因素之一,作物在生长的过程中对光强的需要是必不可少的,光照直接影响了植物的到光合作用,植物能否正常进行光合作用将会影响到作物的产量和品质。植物对光照强度的需要量以两个点来表示,分别为光补偿点和光饱和点,图2.11为作物对光照强度要求曲线图。

2.11 作物对光照强度要求曲线图

不同的植物有不同的光饱和点,大部分阳性植物约在2w~2.5wlux达到光饱和,阴性植物的光饱和点大约在0.5w~1wlux。因此应用于温室大棚环境的光强传感器的有效检测范围应该在0~3wlux。

(3)二氧化碳浓度

二氧化碳作为植物光合作用原料,其浓度直接影响作物的生长,因此温室大棚环境中二氧化碳过多或者过少都会对作物产生一定的影响。环境内二氧化碳含量较低时,作物生长成色差,作物产量降低,并且品质无法保证;环境内二氧化碳含量较高时则会影响正常的呼吸代谢作用。蔬菜所需二氧化碳浓度一般为1000~1500ppm,由于温室大棚环境常处于密闭状态,同大气环境相比,大棚环境一日内二氧化碳浓度变化非常大。因此温室大棚内的二氧化碳浓度需要做到实时监控,从而进行二氧化碳浓度的调控,实现棚内作物的高效生产。

根据上述分析,应用于温室大棚环境的二氧化碳传感器的有效范围应该在100~1500ppm之间。

  • 硬件系统设计说明

2.1 系统硬件整体结构设计

本课题拟开发一款用于温室大棚的无线检测设备模型,该模型具备主控模块、温湿度、二氧化碳浓度、光强传感器模块,同时,该模型通过无线通信网络进行通信。通过上述模块的结合,实现温室大棚的无线检测系统。

本系统结构框图如图2.1,以Arduino DUE为中心控制模块,分别连接二氧化碳传感器、温湿度传感器、光强传感器、显示屏、和ZigBee通信模块。传感器采集环境参数传送到到Arduino DUE,由显示屏显示数据信息,再通过ZigBee进行通信,将数据传送到远程控制端[1]

2.1 系统硬件整体结构框图

2.2单片机选型

在我们日常学习中,最常用到的单片机是51系列单片机。51单片机的功能非常完善,从内部硬件到软件,51单片机系列有一套完整的按位操作系统,并且51单片机引脚设置和使用非常简单,因此51系列的应用十分广泛。然而51系列单片机仍存在运行速度过慢等问题。

本次课题设计要用到的单片机是Arduino DUE,Arduino通常被认为更易于使用,因为它已经是一个完整的系统,用户不需要了解硬件原理即可快速上手。

[2]Arduino DUE模块实体图如图2.2,Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器[2]。对Arduino的编程是通过 Arduino编程语言和Arduino开发环境来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,它们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现

2.2 Arduino DUE模块实物图

2.3系统硬件电路设计

2.3.1温湿度检测电路设计

本系统中使用的温度和湿度传感器型号是SHT3x-DIS温湿度传感器。该模块通过IIC总线与主机通信,IIC是一种多向控制总线,可以让多个芯片同时连接到同一总线结构下,并且每个芯片都可以作为实时数据传输的控制源。IIC设备里有一个固定的地址,只有当两条线上传输的值等于IIC设备的地址时,才会让IIC设备做出响应。图2.8、2.9为IIC数据传输。

2.8 数据传输起止信号

2.9 数据传输示意图

Arduino DUE有两路IIC通信设备,将其按照温湿度模块管脚排布方式引出与温湿度模块进行连接,温湿度模块电路如图2.10所示。

2.10 温湿度模块电路图

2.3.2二氧化碳检测电路设计

本系统使用的二氧化碳传感器型号为MH-Z19B二氧化碳气体传感器,是一个通用智能小型传感器,该模块与主机通过串口输出方式进行通信。

将二氧化碳传感器的Vin-GND-RXD-TXD 分别接至Arduino DUE的5V-GND-TX-RX,模块电路如图2.11所示。

2.11 二氧化碳模块电路图

2.3.3光强检测电路设计

本系统选用的光强传感器模块为OPT3001环境光传感器,该模块与主机通过IIC以及SMBus兼容的两线制串口方式进行通信[3]

按照光强传感器模块管脚排布方式引出Arduino DUE接口,与光强模块进行连接,图2.12为光强模块电路,图2.13为引出端子电路图。

2.12 光强模块电路图

2.13 引出端子电路图

2.3.4ZigBee通信电路设计

本课题设计使用Z-0001 ZigBee通信模块,该模块通过串行端口输出方法与主机通信。

模块串口接收器UART0_RX(相应的引脚P0.2)连接到Arduino DUE控制器串口的TX端口,模块串口发送器UART0_TX(与引脚P0.3相对应)连接到Arduino DUE控制器串行端口的RX端口。ZigBee模块电路如图2.14所示。

2.14 ZigBee模块电路

3.1软件设计方案

[4]本设计的硬件以Arduino DUE作为控制核心,结合温、湿度传感器,光强传感器,二氧化碳传感器模块,获取到环境参数,在显示屏显示数据,并且通过ZigBee模块发送数据到服务器。

软件的总体流程图如图3.1所示,首先进行初始化,包括I/O初始化,串口的初始化,IIC通信端口初始化,显示屏的初始化,然后进行数据的采集,将数据显示到屏幕上,接着通过无线模块发送数据,这是一个完整的流程。

3.1软件总体流程图

3.2软件开发环境

本系统采纳的核心硬件组件为Arduino单片机系列中的Arduino DUE。而负责软件编程的平台,我们选用了Arduino IDE,这是一款基于Java语言开发的开源软件工具。Arduino IDE所运用的编程语言,是在布线语言(Wiring language)的基础上进一步发展的产物,它实质上是AVR GCC库的两个封装包,为开发者提供了极大的便利。这款IDE无需开发者具备深厚的微控制器(MCU)或编程基础,仅需通过简短的学习,便能迅速上手并开发出实用的项目。

Arduino IDE作为Arduino开源代码的集成开发环境,其用户界面设计得相当友好,编程语法也做到了极致的简化,使得程序的编写、编译以及下载都变得异常便捷。这些特性共同促成了Arduino IDE在Arduino程序开发中的广泛应用[5]。在图3.2中,我们展示了Arduino IDE的直观界面,它清晰地呈现了编程环境的主要布局和功能区域。

3.2Arduino IDE界面

3.3传感器模块程序设计

3.3.1温湿度模块程序

该模式采集流程如图3.3,首先初始化IIC通信端口,主机发送数据读取指令到从机,从机收到指令后返回数据,主机读取数据,然后对数据进行校验,校验成功后对数据进行处理得出结果,校验失败则再次发送读取数据命令,直到完成数据读取。

3.3 温湿度模块采集流程

3.3.2二氧化碳模块光强模块程序

本系统使用的二氧化碳传感器为MH-Z19B二氧化碳传感器,具有很好的选择性和无氧气依赖性,寿命长。内置温度补偿,时具有数字输出、模拟输出及PWM输出方式可供选择。在本系统中采用数字输出方式,只需要通过串口发送读取数据指令即可获得二氧化碳数据关键代码如下所示:

void CO2_com(){

   int cnt = 0;

//co2传感器为串口控制

    //控制指令

    char A[9] = {0xFF, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79};

    Serial1.write(&A[0], 9);

    delay(20);

    //检测读取co2返回的数据

    while (Serial1.available() > 0) {

   int rxBuf = Serial1.read();//读取一个字节

   dataBuf[cnt++] = rxBuf;//把读取到的一个字节添加到数组里

   if (cnt >= 3) {//连续读取三个字节后

   beginFlag = false;//未知

   cnt = 0;//数组脚标置零

   CO2 = dataBuf[1] * 256 + dataBuf[2];//计算co2的值,第二个字节为高位,第三个字节为低位

}

}

}

本系统使用的光照传感器为OPT3001,该传感器测量范围可达0.01lux 至83k lux,通过IIC与主机进行通信关键代码如下所示:

void get_LUX() {

   //i2c 发送

   Wire.beginTransmission(0x44); //开始发送数据到从机设备,地址0x44

   Wire.write(0x89); //发送数据0x89

   Wire.endTransmission();    // 停止传输

   Wire.requestFrom(0x44, 2);    // 告诉从机设备0x44,主机要读取两个字节的数据

   while (Wire.available()) //检测从机返回的数据

   {

   msb = Wire.read(); //读取第一个字节

   lsb = Wire.read(); //读取第二个字节

   }

   raw = (msb << 8) | lsb; //高位左移8位,相当于*256;msb作为高8位,lsb为低8位,相当于一个uint16类型。等效于raw = msb*256 + lsb;

  /* Convert to LUX 转换为lux */

  result = raw & 0x0fff;//获取低12位的值

  exponent = (raw & 0xf000) >> 12;//获取高4位的值

  L = result * 0.01 * pow(2, exponent);//计算光照强度低12位的数值*0.01*2的exponent次方(获取高4位的值)

  //根据传感器的资料计算

}

  • 系统实现

4.1系统调试

本系统经过硬件设计,完成电路板的研制,同时也完成了传感器的选型,温湿度传感器使用工业级传感器SHT3x-TDS,二氧化碳传感器使用MH-Z19B,光强传感器使用OPT3001,无线模块使用德州仪器的CC2530无线模块,显示屏选用分辨率为480x320的TFT彩色液晶显示屏,主控模块使用32位单片机Arduino DUE。

在完成系统设计后进行软件设计,规划了软件流程,并且编写了每个模块的驱动程序。完成系统的硬件设计和软件设计后需要对系统进行测试,将所有模块按照电路原理图进行连接,得到系统实物,温湿度模块,光强传感器模块,二氧化碳模块,背面为无线通信模块ZigBee和主控Arduino DUE。

配置完成后将模块断电重启,通过USB连接到电脑,用串口调试助手进行测试。正确选择波特率后打开串口进行数据传输设置,可以看到路由器接收到了协调器的数据,协调器也接收到来自路由器的数据。

4.2无线检测模块测试

在整体测试之前需要对单个传感器进行测试。图4.2为温湿度传感器测试数据,测试环境为室内,设置的采样间隔为1分钟。通过数据可以看出模块可以采集到环境温度、湿度数据,温度数据较为均匀,波动小,而湿度数据存在一定的波动,通过分析发现这是由当前测试环境影响的,在测试的过程中有湿度较大的物体接触了模块造成数据波动[6]

4.1为光强传感器测试数据,测试环境为室内,采样间隔1分钟,测得数据为570lux左右,经过查阅资料可知,夏天室内光强为100-550lux,测量数据较为准确。

图4.1光强传感器测试数据

4.2为二氧化碳传感器测试数据,测试环境为室内,采样间隔1分钟,得到的二氧化碳浓度为800ppm左右。

图4.2二氧化碳传感器测试数据

根据监测数据显示,白天各环境指标随着时间变化数值有比较明显改变,当数据超过阈值时,客户端能及时发出警报通知,方便用户查看处理.管理员用户可以根据作物生长习性灵活设置各环境指标阈值.

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐