APP下载

基于485总线和虚拟仪器的智能农业监控系统设计

2017-03-21张晓朋

计算机测量与控制 2017年2期
关键词:上位温湿度总线

张晓朋

(平顶山学院 信息工程学院,河南 平顶山 467000)

基于485总线和虚拟仪器的智能农业监控系统设计

张晓朋

(平顶山学院 信息工程学院,河南 平顶山 467000)

针对传统农业监控系统的不足,为了高效利用农业资源及实现智能农业,设计了一种基于485总线与LabVIEW的智能农业监控系统。选用Arduino控制器作为下位机,以PC机为上位机,两者通过RS-485总线实现通信;系统能够对农作物生长环境系统中的温湿度、光照强度、土壤水分、CO2浓度等参数进行监控;当监控参数超限时,能够自动控制相关设备进行自动调节,从而确保农作物处于适宜的生长环境;系统具有性价比高、扩展性强等优点,具有一定的推广应用价值。

虚拟仪器;智能农业;485总线

0 引言

智能农业是目前农业发展的新方向,它根据农作物的生长习性及时调整土壤状况和环境参数,以最少的投入获得最高的收益,改变了传统农业中必须依靠环境种植的弊端及粗放的生产经营管理模式,改善了农产品的质量与品质,调整了农业的产业结构,确保了农产品的总产量。随着通信、计算机、传感器等技术的迅猛发展,将物联网应用到智能农业监控系统中已经是目前的发展趋势,它将采集到的温度、湿度、光照强度、土壤水分、二氧化碳浓度等农业信息进行加工、传输和利用,为农业生产在各个时期的精确管理和控制提供信息支持,从而制定出高效集约的可持续性发展方式,高效利用农业资源,实现可观的经济效益[1]。

基于上述原因,融合物联网技术和分布式系统的思想,设计了一款基于485总线和虚拟仪器技术的智能农业监控系统。系统中,数据采集和控制终端采用Arduino作为核心,上位机软件采用LabVIEW,两者通过RS-485总线实现通信。系统结构模块化,易于维护,可根据需求热插拔扩展总线网的传感器节点,是一种成本经济、稳定可靠的行业解决方案[2]。

1 系统结构框图及工作原理

系统的总体结构如图1所示。各个节点(编号1、2、3、…区分)代表不同的农业监控区域,各节点采用相同的结构;各监控区域中,Arduino控制器通过485总线接收上位机的数据采集命令,分别采集该区域的气候数据(温湿度、光照强度、土壤水分、CO2浓度等),然后将监测数据通过485总线总线传递给上位机,使上位机能及时获取监控节点的现场环境参数;同时,上位机根据设定的环境参数范围,通过485总线发送控制命令给各监控区域的Arduino控制器,进而控制光藕继电器阵列启动对应监控区域的执行机构来调节目标区域的气候,使各种农作物均处于适宜生长的环境。

图1 系统的总体结构框图

2 硬件设计

2.1 Arduion部分设计

Arduino Mega2560是采用USB接口的核心电路板,它的处理器核心是ATmega2560,同时具有54路数字输入/输出口(其中16路可作为PWM输出),16路模拟输入,4路UART接口,输出电源电压主要有5V和3.3 V[3]。在基于485总线的智能农业监控系统中,每个节点配置一个Arduino Mega2560控制器,通过MAX485模块挂在RS-485总线上。

2.2 温湿度传感器

温湿度传感器采用DHT11温湿度传感模块,是一款含有已校准数字信号输出的温湿度复合传感器[4]。将DHT11温湿度传感器的VCC、GND、DQ分别连接至Arduino Mega2560控制器的+5V、GND、数字端口D2,并在数字端口D2接一个上拉电阻。

2.3 光照强度传感器

光照强度传感器采用BH1750FVI,是一种两线式串行总线接口的数字型光强度传感器,可以探测较大范围的光照度变化[5]。将BH1750FVI传感器的VCC、GND、SCL、SDA和ADD分别连接至Arduino Mega2560控制器的+5V、GND、SCL、SDA和GND,使BH1750FVI工作在低地址模式。

2.4 土壤水分传感器

土壤水分传感器采用价格低廉的电阻式水分传感器,可以根据使用需要更换为抗电离腐蚀的专用数字土壤水分传感器。将水分传感器的VCC、GND、VOUT分别连接至Arduino Mega2560控制器的+5V、GND、模拟端口A0[6]。

2.5 CO2浓度传感器

CO2浓度传感器采用MG-811 CO2探头,对CO2极为敏感,同时还能排除酒精和CO的干扰。将MG-811气体传感器的两个H引脚通过加热电源接口接至加热电源的正负极;将A端连接至Arduino Mega2560控制器的+5V,将B端接至Arduino Mega2560控制器的模拟输入端A1,并在A1与GND直接串接负载电阻[7]。

2.6 执行机构的驱动电路设计

执行机构(包括加温器、水泵、补光灯、风机)的供电电压为交流220V,而Arduino Mega2560控制器的输出电压范围为直流0~5 V,故不能直接用于驱动执行机构,需要通过继电器来实现[8]。本设计中采用Easy-Y公司的型号为Relay-4-H-5V的继电器组,它是一种4路带光耦继电器模块,输入直流5V,输出250VAC/10A。

将Relay-4-H-5V固态继电器模组的输入控制端分别接至Arduino Mega2560控制器的数字引脚D3、D4、D5、D6、GND;将Relay-4-H-5V固态继电器模组的输出控制端分别接至加温器、水泵、补光灯、风机等执行机构。

2.7 RS-485串行通信模块

RS-485作为串口通信的标准之一,采用平衡传输方式。当采用二线制时,可以实现多点双向通信,总线上最多可接32个设备,最大传输距离约为1 200 m[9]。

在使用RS -485总线时,Arduino端主要采用MAX485接口模块完成RS-485与TTL电平的转换,将MAX485接口模块的RO、DI分别连接至Arduino Mega2560控制器的RX0、TX0,RE、DI分别接数字端口D7、D8。上位机端通过USB/RS-485转换电路,先将USB信号转化为TTL信号,再由TTL信号转化为RS-485信号。

3 软件设计

3.1 Arduion程序设计

Arduino控制器的工作流程如图2所示。首先,控制器完成串口、传感器以及执行机构的初始化;接着,控制器检测串口是否收到上位机的有效命令,并判断该命令是否是本节点的命令;然后,控制器根据接收到的采集命令执行温湿度、光照强度、土壤水分、CO2浓度等参数的采集,并通过串口发送给上位机;最后,控制器根据接收到的控制命令打开或者关闭加温器、水泵、补光灯、风机等执行机构,完成监控区域的气候调节。

图2 Arduino程序流程图

3.2 LabVIEW程序设计

LabVIEW上位机的工作过程为:1)根据所选择的节点,依次通过RS -485总线发送不同节点的温湿度、光照强度、土壤水分、CO2浓度的数据采集命令;2)不同节点的Arduino控制器通过串口和MAX485模块从RS -485总线上接收上位机的命令,然后判断接收的命令中节点号是否与自己的节点号匹配,如果匹配则实现相应的数据采集之后并把数据回传;3)如果不匹配,则舍弃当前接收的命令,重新等待下次命令的到来;4)上位机对相关回传数据进行显示,如果相关数据超限,立即向对应节点的下位机Arduino控制器发送命令以控制相关执行机构的打开或关闭,完成该节点监控区域的气候调节。

3.2.1 前面板设计

前面板如图3所示。分为串口选择、节点选择、工作指示灯、电源开关、数据显示和超限指示灯模块。串口选择用于选择进行通信的串口;节点选择用于选择当前检测的节点;工作指示灯用于指示系统是否正常工作;电源开关用于打开或关闭监控系统;数据显示模块用于显示各节点的监控数据,这里只给出了3个节点的监控显示;超限指示灯部分用于各节点监控数据的超限报警。

图3 LabVIEW上位机界面

3.2.2 程序框图设计

采用事件结构+超时结构来实现LabVIEW上位机主程序,主程序分为数据测量和执行机构控制两部分。在0号超时事件中实现数据测量,使用条件结构+移位寄存器的状态机来实现,将主程序划分为5个状态:0状态为串口初始化,1状态为温湿度检测,2状态为光照强度检测,3状态为土壤水分检测,4状态为CO2浓度检测[10]。

通信部分采用如下的通信协议:帧头+节点代号+操作码。0x66为帧头;节点代号有0xD1位1号节点的代号,0xD2位2号节点的代号,0xD3位3号节点的代号,依次类推;操作码有0x10为温湿度检测,0x20为光照强度检测,0x30为土壤水分检测,0x40为CO2浓度检测,0x50为打开加温器,0x51为关闭加温器,0x60为打开补光灯,0x61为关闭补光灯,0x70为打开水泵,0x71为关闭水泵,0x80为打开风机,0x81为关闭风机。

0号超时事件分支中,CO2浓度检测分支的程序框图如图4所示(以1号节点为例),上位机通过485总线发送数据采集命令0x66D140给下位机Arduino控制器,接着延时一秒,然后通过485总线读取CO2浓度数据并进行显示,同时对浓度数据进行判断,若浓度超限,则浓度超限指示灯由绿灯变为红灯,从而触发相应的事件进而打开风机进行CO2浓度调节。温湿度检测、光照强度检测和土壤水分检测分支的程序框图和工作过程与此类似。

图4 超时事件的部分程序框图

1~15号事件分支分别对应三个节点的温度、湿度、光照强度、土壤水分和CO2浓度超限事件的处理。1号节点CO2浓度超限事件的程序框图如图5所示,当触发该事件时,通过判断CO2浓度超限指示灯的状态,给下位机Arduino控制器发送不同的控制命令,打开或关闭风机,从而自动调节CO2的浓度。若CO2浓度超限指示灯为红灯,则通过485总线发送控制命令0x66D180给下位机Arduino控制器,通过下位机驱动相应的继电器进而打开风机进行通风;若CO2浓度超限指示灯为绿灯,则通过485总线发送控制命令0x66D181给下位机Arduino控制器,通过下位机驱动相应的继电器进而关闭风机。温度、湿度、光照强度、土壤水分超限事件的程序框图和工作过程与此类似。

图5 CO2浓度超限事件的程序框图

4 实验测试

系统启动后,各采集节点每隔一段时间采集一次温度、湿度、光照强度、土壤水分、二氧化碳浓度等数据,并发送给LabVIEW上位机;上位机根据设定的环境参数范围,发送控制命令给各监控区域的Arduino控制器,进而控制光藕继电器阵列启动对应监控区域的执行机构来调节目标区域的气候。图6为1号和2号节点的监控数据及各机构动作情况对比图。测试结果表明该监控系统数据传输可靠高,稳定性好。

图6 1号和2号节点监控数据对比

5 结束语

基于485总线和虚拟仪器技术的智能农业监控系统,采用RS-485总线作为每个子节点与上位机总站的通信方式,巧妙地利用了485总线的抗干扰能力强的优点实现了上位机远程的实时监控。数据采集和控制终端采用Arduino作为核心,完成各节点区域农业气候参数的测量和调节。系统采用模块化设计,可以增加节点的数量从而扩大监控区域;每个节点也可以增加传感器和执行机构,实现对更多农业参数的监控和自动调节[11]。系统具有性能稳定、使用灵活、结构模块化的特点,是智能化监控仪器系统在农业领域的典型应用,具有良好的市场前景和应用价值[12]。

[1] 王 凡,杨 亮. 基于开源硬件与虚拟仪器的智能农业监测系统设讨[J]. 电子技术应用,2015,41(4):73-76.

[2] 可晓海,张文超,唐开辉,等. 基于GSM网络和485总线的农业监控系统设计[J]. 中国农机化学报,2016,37(5):213-217.

[3] 廖建尚.基于物联网的温室大棚环境监控系统设计方法[J]. 农业工程学报,2016,24(11):32-35.

[4] 郭阳明.基于虚拟仪器的温湿度测量系统设计与实现[J].计算机仿真, 2008,25(5):302-305.

[5] 张 新,陈兰生,赵 俊. 基于物联网技术的智慧农业大棚设计与应用[J].中国农机化学报,2015(5):124-127.

[6] 吴 舟.基于移动互联网的农业大棚智能监控系统的设计与实现[D]. 北京:北京邮电大学,2013.

[7] 丁文飞,孙会楠,邢彦辰. 基于Wi-Fi的农业大棚监控系统的设计[J]. 安徽农业科学,2015,5(33):154-157.

[8] 李圣华,肖传辉.基于物联网技术的智能农业系统设计[J].科技广场,2011(7):73-75.

[9] 周金芝,杨 明. 基于RS-485总线的土壤湿度监控系统设计与实现[J]. 湖北文理学院学报,2016(5):66-69.

[10] 聂 影,冯向军,廖 瑛.基于LabVIEW的状态机模型研究[J].计算机测量与控制,2007,15(9):1166-1168.

[11] 张小伟.基于物联网技术的农业大棚监控系统研究[D]. 陕西:陕西科技大学,2014.

[12] 黄 杰. 基于Web的农业温室远程监控系统设计[J]. 自动化与信息工程,2015(4):85-88.

Design of Intelligent Agriculture Monitoring System Based on 485 Bus and Virtual Instrument

Zhang Xiaopeng

(College of Electrical Information Engineering, Pingdingshan University, Pingdingshan 467000, China)

In view of the deficiency of the traditional agricultural monitoring system, a kind of intelligent agriculture monitoring system based on 485 bus and LabVIEW is designed in order to utilize the agricultural resources and realize intelligent agriculture efficiently. Arduino controller as the next bit machine, PC machine as the host computer, both through the RS-485 bus to achieve communication. System can monitor crops growth environment about temperature and humidity, light intensity and soil humidity, CO2 concentration parameter; when the monitoring parameters overrun to automatic control equipment of automatic adjustment, so as to ensure that the crop is in a suitable environment for the growth. The system has the advantages of high cost performance, strong expansibility, and so on. It has certain value of popularization and application.

LabVIEW; intelligent agriculture; 485 bus

2016-09-06;

2016-12-19。

河南省教育厅科学技术研究重点项目(12B510025)。

张晓朋(1978-),男,河南省许昌市人,硕士研究生,讲师,主要从事微电子技术及其应用方向的研究。

1671-4598(2017)02-0085-03

10.16526/j.cnki.11-4762/tp.2017.02.023

TH86;TP277

A

猜你喜欢

上位温湿度总线
文物展柜内环境温湿度的调控与监测
基于AT89C51的数字型蚕用温湿度计的设计
基于温湿度控制的天气预测装置
一种基于CAN总线的误码测试方法
特斯拉 风云之老阿姨上位
DCOM在混合总线自动测试系统的应用
基于AVR单片机的RS485工业总线开发设计
基于DSP和μcos的温湿度检测系统的设计
基于ZigBee和VC上位机的教室智能监测管理系统
宝马F02车总线系统