关键词:温室;控制系统;智能控制;传感器
0 引言
随着生活水平的逐步提高,人们对蔬菜瓜果的需求越来越高,希望可选择的范围越广越好。无论什么季节,都想将新鲜的蔬菜瓜果随时买回家。智能温室控制系统通过对温室环境参数自动采集、分析后对各种温室硬件设备进行调控以创造出最适宜农作物生长的环境,实现了对农作物的精准培育,也为种植一些对生长环境要求较为严格的农作物打下了坚实的基础[1-4]。
本研究设计了一种基于STM32的智能温室控制系统,对温室内的温度、湿度、土壤温度、土壤湿度、二氧化碳浓度、光照度、大气压力,以及温室外风向和风速等环境因子进行实时监测,并对监测数据进行分析判断,当室内温度、土壤湿度的实测值达不到预先设定的阈值时,发出命令控制灌溉水泵、湿帘水泵、遮光帘和通风侧窗等温室设备执行相应动作以满足作物生长的环境要求[5]。
1 总体设计方案
本控制系统是针对灌溉水泵、通风侧窗、加湿帘、降温风扇和遮阳网等设施齐全的已有温室进行设计的,主要包括环境感知模块、下位机和上位机。环境感知模块是利用各种传感器检测温室内、外的环境参数,为控制系统提供实时的基础数据[6]。主要有土壤温度传感器、土壤湿度传感器、室内空气温度传感器、室内空气湿度传感器、大气压力传感器、二氧化碳浓度传感器、室内光照度传感器、室外光照度传感器、室外风速传感器及室外风向传感器[7]。
下位机以STM32F407ZGT6单片机为核心,包括数模转换电路、直流输出电路、CAN总线电路、供电电路、USB接口通信和继电器等。下位机能够对环境感知模块传送的数据进行处理后通过RS232串口传送给上位机,并且可接收上位机传送的指令,发出执行命令控制温室的执行设备进行相应的动作,以满足温室作物生长的环境要求[8-9]。
调节温室环境的执行设备多,要实现智能控制,逻辑关系较为复杂,计算量较大,为了提高智能温室控制系统的整体运行速度,将数据处理、逻辑运算、控制命令发出等功能放置在上位机中。上位机采用LabVIEW系统软件开发,实现了对下位机发送数据的接收、处理和存储,依据预先设定的上、下限阈值和逻辑关系进行逻辑判断,并根据判断结果发出控制命令传送给下位机[10-11]。利用LabVIEW图形化优势,不仅对温室的各个环境参数、执行设备的控制按钮进行了直观的图形设计,而且针对温室的执行设备设计了视频动画控件,如灌溉水泵、开关窗、风机和湿帘等,实现了人机交互的友好性。
2 环境感知模块
智能温室控制系统的核心内容是通过对影响温室内作物生长环境参数(二氧化碳浓度、空气温度、空气湿度、土壤湿度、土壤温度、室外风向、室外风速、大气压力等)的检测,实现自动控制温室内执行设备、自动调节环境参数的目的[12]。所以采用何种传感器、保证采集数据的准确传输是非常重要的部分[13]。
传感器精度、使用条件及使用寿命都直接影响到整个系统的准确性。经过筛选,选定大连哲勤科技有限公司的土壤温湿度传感器,它采用优质316L不锈钢针制作,隔离设计,永不电解,更耐土壤中盐分的腐蚀。其电源电压4.2~30.0V;土壤湿度测量范围0~100%,测量误差<4%;土壤温度测量范围−40~80°C,测量误差±0.4°C;输出信号0~5V,测量范围是以探针为中心的圆柱体,直径7cm、高10cm。该传感器全部采用进口芯片及电子元件,具有精度高、使用寿命长、耐腐蚀、可靠性高、受土壤含盐量影响小、输出信号稳定及工作效率高等特点[14]。在确定了土壤温湿度传感器的型号后,选择了北京世纪华翔工控科技中心的光照强度传感器、二氧化碳浓度传感器、大气压力传感器、风速传感器、风向传感器、环境温度传感器和环境湿度传感器。部分传感器如图1所示。
3 下位机
下位机采用一主多从的设计思路,主机、从机均采用24VDC电源供电,以STM32F407ZGT6芯片作为系统的主控芯片。主机、从机之间采用CAN总线通信,主机通过SPI总线连接显示屏模块实现信息汇总输出与交互;从机设有8路数字量输入及16路24VDC输出,可以简单地单独对温室内执行设备进行控制,也可与主机组网对温室内执行设备进行控制。
3.1 供电电路(主从)
电路设计方面采用了两块德州仪器有限公司研发的LM25085开关稳压控制器,分别实现24V−5V的功能。基于LM25085的Buck电路原理如图2所示。
电源板采用Buck电路降压,实现了较大的输入−输出电压差(24V−5V),并且Buck电路在处理较大输入−输出电压差时,依然可以保持较高的效率,效率达到90%以上。同时,Buck电路具有更好的热性能,由于Buck电路的高效率,芯片及各个开关元器件不容易发热,安全性大大提高[15]。
3.2 数模转换电路(从)
数模转换电路可以实现对外界的传感器输入的数字电信号进行采集及数据整理,并且通过通用串行接口向其他设备发送,达到“多合一”的目的。同时板载4路定时器捕获接口,连接STM32的TIM外设,可以对外部的电信号进行时间采样。通过STM32内部的编程,可以将外设接口封装并且加上逻辑分析仪的功能,对采集的数据进一步融合[16]。
核心采样部件是亚德诺半导体技术有限公司的AD7606芯片,其具有8路同步采样输入,可处理±5V真双极性模拟输入信号。其能够实现对土壤温湿度、光照度传感器、二氧化碳浓度传感器等的信息采集,并且具有完全集成的数据采集解决方案,拥有1MΩ模拟输入阻抗的输入缓冲区和模拟输入钳位保护等优势。具体的电路如图3所示。
3.3 直流输出电路(从)
直流输出电路采用24V直流电源供电,输出电压通过外部电阻进行编程,并且总线连接方便,可以使用3路串行总线对至少12路电磁阀输出口进行控制,与其他模块结合较为方便。每一路电磁阀输出口可以承载30A持续电流,符合市场上大部分中小型电磁阀类执行器的驱动需求。直流输出电路如图4所示。
3.4 CAN总线电路(主从)
CAN总线是一种工业上常用的高速总线连接方式,具备通信速率高、信号稳定等优势,是主机、从机信息交互的一种很好的选择。控制器中CAN芯片采用了恩智浦半导体有限公司研发的TJA1050芯片,内置过温、过流保护,可以提供1Mbps的高速CAN通信与对于最多110个线上外设进行通信的优异性能。走线上,为了减少高速通信中存在的共模信号杂波干扰,采用差分线进行布置。CAN总线电路如图5所示。
3.5 单片机及其周边电路设计(主从)
为保证控制器的主控芯片拥有足够多的引脚来实现所需的各种功能,在芯片型号上选择了STM32F407ZGT6芯片作为主控芯片。这款芯片拥有通信接口数量多达15个,其中包括4个串口、3个I2C接口、2个CAN接口和3个SPI接口;而且它拥有具有中断功能的I/O接口数多达140个。这些特点能够充分满足主控板的设计需求[17]。较之STM32F1/F2等Cortex-M3产品,STM32F4最大的优势,是硬件具有浮点单元(FPU)单精度,支持所有ARM单精度数据处理指令和数据类型以及DSP指令,同时,STM32F4是基于高性能ARMCortex-M432位RISC内核,主频高达168MHz(可获得210DMIPS的处理能力),这样的处理能力也使得它完全能够完成温室智能化控制的任务要求。
单片机的周边电路包括复位电路、烧录接口、晶振时钟电路及稳压电容等。
4 上位机
上位机采用LabVIEW系统语言进行开发,具有数据接收显示、智能控制、手动控制、参数设置和数据存储查询等功能。
4.1 数据接收显示子程序
数据接收显示部分能够通过USB口将下位机传送的温室环境参数数据进行接收、处理并实时显示在智能温室控制系统主操作界面中。实时数据的接收是通过LabVIEW中的VISA功能对串口进行配置、打开、写入和读取来实现的。在显示实时数值的同时本设计还对每个参数进行了图形化控件处理,在系统运行过程中当环境参数的数据发生变化时,图形控件会动态的进行改变,增强了人机交互性。
4.2 数据存储查询子程序
数据存储查询功能实现了对测量数据的定时存储和查询。存储内容包括日期、时间、光照度、风速、风向、二氧化碳浓度、室内温度、室内湿度、室外温度、大气压力、土壤温度和土壤湿度等。因为智能温室控制系统需要存储的数据量大,所以利用LabVIEW中TDMS功能的相关API函数进行对TDMS文件的读写实现数据的存储和查询。TDMS文件是美国国家仪器(NI)有限公司主推的一种二进制记录文件,在存储动态类型数据时读写速度更快,占用内存不大,没有容量限制,非常适合存储数据量庞大的测试数据。正常情况下还可以通过Excel打开TDMS文件。TDMS内部结构的核心是segment,每个segment由6个不同的数据段组成,当数据被写入时实际上是新建了一个segment,这种结构是TDMS文件的随机、高速存取特性的关键。
存储数据的间隔时间可通过“参数设置”功能里的“数据保存间隔时间”进行修改。当需要查询历史数据时,可通过输入想要查询数据的日期、时间和存储路径,能轻松实现查询、打印功能,方便对历史数据进行分析。
4.3 参数设置子程序
参数设置功能实现对环境参数(室内温度、土壤温度)阈值和数据保存间隔时间进行设定和修改,保证智能温室控制系统中智能控制和数据存储。
4.4 智能控制子程序
当智能温室控制系统主操作界面启动智能控制时,上位机软件将运行智能温度控制和智能灌溉控制两个子程序。依据接收到的环境参数实时数据与预先设定的上、下限阈值进行逻辑判断,发出相应指令到下位机,由下位机控制温室里的执行设备完成启/停操作,满足温室的环境要求。控制指令的发送也是通过LabVIEW中的VISA功能来实现的。设计过程中应用了较多的视频动画控件,如滴灌、湿帘、推拉侧窗、风机和湿帘开窗等控件,这些控件的制作素材与大棚的实物相对应,能更直观地反映大棚的信息状态。控件制作首先通过Photoshop对采集的视频进行gif格式处理,然后通过LabVIEW中的控件制作,将gif格式的动画与控制指令相对应,当控制指令发出后相对应的控件会出现相应的动画效果。动画控件如图6所示。
4.4.1 智能温度控制
(1)自然通风系统。依据温室内的实测温度,通过调节推拉侧窗实现自然通风,当室温达到温度上限阈值时打开侧窗,室温达到温度下限阈值时关闭侧窗。
(2)强制通风系统。当自然通风系统启动后,温室内的实测温度仍升高,达到温度极限阈值时,同时启动风机和湿帘水泵,并打开湿帘窗。当室温达到温度上限时,停止风机和湿帘水泵,并关闭湿帘窗。
4.4.2 智能灌溉控制
当土壤湿度实测值小于土壤湿度下限阈值时,开启灌溉泵和阀门。当土壤湿度实测值大于土壤湿度上限阈值时,关闭灌溉泵和阀门。
4.5 手动控制
为了增加智能温室控制系统的可靠性,在主操作界面中设置了“手动/自动”控制按钮,当“自动”启动时,运行智能控制子程序,反之运行手动控制子程序。手动控制子程序运行时,将进入手动控制操作界面,界面上有实时数据显示区和执行设备控制区。执行设备控制区包括推拉侧窗的开/关按钮、灌溉泵的启/停按钮、灌溉阀门的开/关按钮、风机的开/关按钮、湿帘水泵的启/停按钮、湿帘窗户的开/关按钮。操作者可以通过观测到的实时数据,按动相应按钮控制温室内执行设备进行动作。这些指令的发出通过LabVIEW中的VISA功能发送到下位机来实现。
5 结束语
本研究针对环境感知模块、下位机和上位机分别进行了单项测试和整体测试,主要包括传感器信号的输出、传感器与单片机间的通信、单片机与继电器之间的通信、上位机与下位机之间的通信、上位机测量数值与执行设备的状态显示及智能控制的逻辑判断等。经过反复测试和改进,控制系统达到了设计要求。系统目前应用在吉林省扶余市蔡家沟镇特种蔬菜温室内,在运行过程中,数据传输准确性好,稳定性强,实现了温室的智能化种植,具有实用性强、可靠性高、升级成本低等特点,达到了缩短作物生长周期,提高作物产量的目的。