粮食的安全储藏是国家为了备战和预防灾荒的重要战略决策,而粮库储粮监测技术又是科学保粮的关键技术之一。目前国内生产的粮情监测系统,品种繁多,系统结构各异,但其监测的内容主要集中在粮库内外温度和湿度,不能同时监测虫害情况;而且现场检测电路和上位机的通讯大多采用RS-485,这就使整个系统抗干扰能力差,实时性和纠错能力不强,增加节点困难,当某一通信节点出现故障时,还会影响整个系统[1]。因此为了提高粮情监测系统的可靠性,扩大粮情监测的功能,我们提出了基于CAN总线的多功能大型粮仓远程监测系统。
1系统总体结构原理
粮食在储藏期间,由于受环境、气候和通风条件等因素的变化,粮仓内温度或湿度会发生异常,这极易造成粮食的霉烂、或发生虫害。那么针对粮食储藏的特殊性,我们选择了粮仓内的温度和湿度作为主要监测参数,把粮虫发生情况作为辅助参数。
整个监测系统由上位管理主机(HOST)、USB/CAN转换器和多个智能节点组成。节点的数量由大型仓库里的粮库数量决定,一般在采用标准帧进行CAN通信时,节点不超过110个;采用扩展帧CAN进行CAN通信时,节点数量原则上无限制。整个监测网络采用总线式拓扑结构,其结构原理图如图1所示。
上位管理机采用PC机,主要完成整个监测网络系统的参数设置、粮库的状态查询、数据处理、粮情分析、超限实时报警和报表打印等功能。下位智能节点由单片机、数据采集电路和CAN通控制驱动电路构成。
下位机不仅要实时监测本粮库内各个测试点的温度、湿度和粮虫发生情况,并保存和显示结果,还要负责接收上位管理机的命令,根据上位机的要求上传数据。
USB/CAN转换器负责将上位机通过USB口输出的命令转换成CAN总线数据格式后,再下传到CAN总线;或者将下位机通过CAN总线上传的数据转换成USB数据格式后,再送到PC机。
2 下位机硬件电路结构
下位机以单片机AT89S52为核心,通过扩展显示电路、数据采集电路和CAN通信模块构成一个完整硬件体系,如图2所示。
2.1 数据采集电路
数据采集电路由温度采集电路、湿度采集电路和粮虫检测电路构成。温度检测采用Dallas公司生产的单总线数字温度传感器DS18B20,它不仅能直接输出串行数字信号,而且具有微型化、低功耗、高性能、易于微处理器连接和抗干扰能力强等优点。DS18B20数字温度传感器对于实测的温度提供了9-12位的数据和报警温度寄存器,它的测温范围为-55℃~+125℃,其中在-10℃~+85℃的范围内的测量精度为±0.5℃。由于每个DS18B20有唯一的一个连续64位的产品号,所以允许在一根电缆上连接多个传感器,以构成大型温度测控网络。图2电路中,设计了两条测温单总线,每条单总线用一只场效应管提供电源,每条总线上可并联十几只数字温度传感器DS18B20。
湿度检测采用湿度传感器HIH3610和DS2438组合模块。HIH-3610是美国Honeywell公司生产的相对湿度传感器,该传感器具有精度高、响应快速、高稳定性、低温漂、抗化学腐蚀性能强及互换性好等优点。HIH-3610采用热固聚酯电容式传感头,在芯片内部集成了信号处理功能电路,可以完成将相对湿度值变换成电容值,再将电容传转换成线性的电压输出。因此它输出的模拟湿度信号,不能直接送单片机处理,必须经过A/D转换。DS2438也是Dallas公司的单总线器件,具有A/D功能。
粮虫检测器采用文献[3]所介绍的方法制作,当检测到粮食虫害发生时,粮虫检测器输出负脉冲,送微处理器记数和处理。系统采用一个8输入与非门,可带8台粮虫检测器。
2.2 显示电路
显示电路和微控制器的连接采用I2C总线,由于AT89S52单片机内部没有集成I2C总线模块,故采用软件模拟的方法实现I2C通讯。显示驱动器采用具有I2C总线的器件SAA1064,可动态驱动4位8段LED显示器。它内部具有显存和自动刷新功能,可免去微控制器的频繁刷新任务,腾出大量时间做其他事情。
2.3 CAN通信模块
CAN是现场总线中唯一被批准为国际标准的现场总线。其信号传输介质为双绞线。通信速率最高可达1Mbps/40m,直接传输距离最远可达10Km/5Kbps。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。当节点严重错误时,具有自动关闭的功能,以切断该节点于总线的联系,使总线上的其它节点及其通信不受影响,具有较强的抗干扰能力。
图2中的CAN控制驱动模块由CAN控制器SJA1000、光耦6N137模块和CAN驱动器82C50构成。SJA1000负责与微控制器进行状态、控制和命令等信息交换,并承担网络通信任务;82C50为CAN控制器和总线接口,提供对总线的差动发送和对CAN控制器的差动接收功能。光耦6N137起隔离作用。
3 系统软件设计
系统软件由上位机主程序和下位监控程序构成,上位机主程序用VB语言开发,采用模块化设计,具体的功能模块如图3所示。利用VB编写的应用软件人机界面友好,便于维护和管理。
下位机的软件由下位机主程序、温度采集程序、湿度采集程序、粮虫检测中断程序和CAN收发中断服务程序等构成。由于篇幅所限这里仅给出了下位机主程序和CAN通信中断服务程序的流程图,分别如图4和图5所示。在下位机主程序里,系统要首先进行单片机的初始化、CAN的初始化、开外部中断、开启计数器和使能CAN接收中断的过程,是系统处于就绪状态,然后调用数据采集程序和数据处理程序,实时采集粮库现场的参数并予以处理,处理后的数据要保存起来供上位机随时查询,同时送显示器显示。
粮虫检测中断程序主要完成粮库发生粮虫后的处理,一方面要判断粮虫计数器是否计满,计满清零并保存数据;一方面设置粮库发生虫害标志,并供上位机查询和显示。
CAN收发中断服务程序负责上下位机的命令和数据传送。当上位机发送命令时,CAN接收一个报文,CAN的中断使能标志置1,产生接收中断,CPU立即响应,进入中断服务程序,然后系统再根据上位机的具体命令,向上位机传送该节点工作状态或采集的数据。
4 结论
由于系统采用了全数字化的温度、湿度传感器,直接输出的是表示温度和湿度的数字信号,不存在由模拟量到数字量转换的中间环节,所以该系统具有稳定可靠、测量精度高、一致性好、无需任何调整、信号线长短不会影响其性能等优点,还有单总线也带来安装方便、线路清晰、节省线材等长处。上下位机通信采用CAN总线通信方式,提高了系统内部的速率和实时性,降低了误码传送的概率。粮虫检测器的设计使该系统除了能实时监测温度和湿度外,也能监测粮食虫害的发生情况。
上一篇:基于PXIE总线的高速CCD数字图像采集系统设计
下一篇:基于现场总线的嵌入式远程监控系统设计
推荐阅读最新更新时间:2024-05-03 00:21