基于RS-485总线的温室环境数据采集系统的研究
扫描二维码
随时随地手机看文章
植物生长需要一个适宜的环境,在可控环境下,可以不分季节、不分地区地种植所需要的植物。温室作为植物生长的环境,其内部的因子(如温度、湿度、光照度和CO2浓度等)是植物生长的关键因素。所以,对温室环境因子进行数据采集,不仅可以为分析环境与植物生长之间的关系提供依据,而且为实现温室环境控制奠定基础。
在规模生产中,一般使用多座温室,温室之间在空间上相对分散,且与计算机监控室也存在一段距离,信号传输距离长达几十米甚至上千米,分布在现场的监测节点与操作人员之间有大量的数据传输,采用一般的传输线通信由于速度比较慢、通信质量不高、抗干扰能力差,往往达不到要求。
在这种情况下,采用串行总线技术来构成温室环境远程数据采集系统,是一种较好的技术。RS-485总线技术比较简单、总线结构稳定、成熟易于实现,且总线传输速率高、传输距离远、可靠性较好、支持多点通信等优点。所以本文介绍采用RS-485构成温室环境数据采集系统。系统主要用于温室内的温度、湿度、光照度和CO2浓度等环境因子的自动采集,对温室的异常情况进行故障初发期的报警处理,为控制植物生长环境所需的温度、湿度、光照度和CO2浓度奠定基础。
1 系统网络拓扑结构
温室环境远程数据采集系统的网络拓扑采用RS-485总线方式,系统以PC机为主机,以RM417模块为从机,二者通过RS-232/RS-485接口转换器连接,系统网络拓扑结构如图1所示。
系统采用主从方式进行多机通信,每个从机拥有自己固定的地址,由主机控制完成网上的每一次通信。网络的连接线采用双屏蔽线,图1中的R为平衡电阻,R=120 Ω,通信波特率为9 600 bit/s,串行数据格式为:1位起始位,8位数据位和1位停止位,无奇偶校验位。
主机呼叫某一从机时,会向网上发出从机的地址,所有从机接收到该地址,先与自己的地址比较,如果地址相符,说明主机在呼叫自己,则将采集到的温度、湿度、光照度和CO2浓度数据发送到网上,如果地址不相符,则不予理睬,继续处于监听状态。通信结束后,所有从机继续处于监听和等待呼叫状态。
2 系统硬件
2.1 传感器
1)温、湿度传感变送器
本系统的室内外温、湿度传感变送器选用E+E公司的产品HCT01,温度测量范围:-25~60℃,精度±0.2摄氏度,相对湿度测量范围:0~100%RH,精度±2.5%RH,输出信号:4~20 mA。HCT01温湿度传感器接口电路如图2所示。在串行时钟输入SCK于单片机的P0.4口连接,用于处理微处理器与传感器之间的同步通信,串行数据线DATA与单片机P0.5口连接,用于读取数据,微处理器应驱动DATA在低电平,采用一个4.7 kΩ的上拉电阻将信号拉至高电平。
2)CO2传感变送器
从精度、可靠性和使用方便等方面考虑,本系统选用VAISALA公司的GMW22D红外式CO2传感变送器,测量范围:0~2 000x10-6,精度:小于±20x10-6+读数的1.5%,重复性:小于±20x10-6,稳定性:小于±20x10-6/5年,输出信号:0~20mA。CO2传感器接口电路如图3所示,电源线采用12 V电源输入,由于单片机P1口具有A/D转换功能,将数据口与单片机的P1.1口连接即可,微处理器处理的DATA应在高电平,所以电路中接10K的下拉电阻将数据口拉至低电平。
3)光照传感变送器
光照传感变送器选用NHZD10CI,将光照强度转换为电流信号,测量范围:0~2 000 Klx,输出信号4~20 mA,再经运算放大器转换为电压信号输出。电流电压转换电路如图4所示。流过反馈电阻Rf的电流等于(UO-UN)/Rf,与UN/R1+(UN-Uf)/R5相等。由此可得输出电压UO=(1+Rf/R1+Rf/R5)*UN-(R4/R5)/Uf,由于集成运放满足虚短,即UN=UP= Ii*s4,用UP代替UO表达式中的UN,若R4=200 Ω,R1=18 kΩ,则UO=0.313*Ii-1.250,当输入为4~20 mA电流信号时,输出为0~5 V电压信号。
2.2 RS-232/RS-485接口转换器
本系统采用无源RS232/RS485转换器,能够将RS-232串行口的TXD和RXD信号转换成平衡的半双工的RS-485信号。232电平转换电路选择使用HIN232芯片,485电路采用MAX485集成电路,该芯片通过RE和DE两个引脚来控制数据的输入和输出。转换电路如5所示,在本电路使用TX线和HIN232的9脚及Q5来控制MAX485的状态切换。当N1H232芯片的9脚输出高电平时,加在Q5的基极,经过Q5反相后,从Q5的集电极输出低电平,使MAX485的RE和DE也为低电平,此时MAX485就处于数据接收状态。当PC机发送数据时,NIH232的9脚输出低电平,加在Q5的基极,经过Q5反相后,从Q5的集电极输出高电平,使MAX485的RE和DE也为高电平,此时MAX485就处于数据发送状态。
2.3 继电器控制电路
继电器控制电路见图6所示,采用SRD-05VDC-SL-C固态继电器,三极管组成共集电极放大电路,二极管D2起保护作用,由单片机P3.6口产生继电器触发信号,当P3.6口输出低电平时,继电器闭合,指示灯亮,外接电器开始工作。当P3.6口输出高电平时,继电器断开,指示灯灭,外接电器停止工作。
2.4 前端数据采集器
前端数据采集器为中泰研创公司生产的RM417远端模拟量采集模块,该模块为16路模拟量输入,12位A/D转换。一条485总线最多可以接16个RM模块,每个RM417有16位通道。该模块读指令格式为:@+站号+R。@是指令标示符;站号也叫模块号或者模块地址,从00~15;R指明操作类型为读操作。指令返回数据总共66位,前64位为16位通道上的数据,最后两位为校验码。
3 系统软件设计
3.1 主机软件结构
在温室环境远程数据采集系统中,按照网络协议的帧格式编写的数据采集通信软件,通过物理层最终完成主机与从机的数据传送。系统主机为PC机,从机为前端数据采集器,主机与从机的通信采用半双工方式,主机具有发送命令,接收和显示数据、查询历史数据、曲线显示、存储打印、对数据采集进行标度变换、数字滤波等预处理功能。从机完成数据采集、预处理和上传数据等任务。温室环境远程数据采集系统软件采用VC语言编程,采用层次模型组织数据采集系统的软件,数据采集系统软件结构如图7所示。
进入主界面后的主机操作流程如图8所示。
3.2 通信控制程序设计
RS-485接口大多数是基于RS-232接口与电脑进行通信,485协议的编程多数是基于串口编程的,RS-485支持一点对多点半双工通信。因此系统采用半双工异步通信,串行控制模块使用了串行中断和定时中断0实现了串行控制的功能,在通信协议中详细规定了控制命令帧、参数帧、地址帧、数据信息帧、应答帧、校验码等格式。RS-485通信模块流程图如图9所示。
4 结束语
文中提出了一种基于RS-485总线型温室监测系统的方案,实现了监测节点对环境因子(温湿度、CO2浓度测量、光照强度)的采集经过RS-485总线传输到上位机,并能通过控制模块电路对外围设备的调控将温室内的环境因子控制在作物生长的最佳范围,并能对环境因子设定阈值,超出阈值范围将启动报警。系统作为一种便捷的数据采集监测系统,具有较好的可移植性,在后续的研究中可以采用模糊控制算法作为系统的控制策略,设计出温室监测系统的模糊控制器,也可以加入其他所需的传感器,实现其他参数的数据采集与传输。