基于AT89S52的多功能大型粮仓远程监测系统
粮食的安全储藏是国家为了备战和预防灾荒的重要战略决策,而粮库储粮监测技术又是科学保粮的关键技术之一。目前国内生产的粮情监测系统,品种繁多,系统结构各异,但其监测的内容主要集中在粮库内外温度和湿度,不能同时监测虫害情况;而且现场检测电路和上位机的通讯大多采用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控制器的差动接收功能。
AT89S52大型粮仓远程监测系 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)