AVR单片机具有高可靠性、高性能、低功耗等特点,被广泛应用于工业控制之中。针对1024个密集文件柜状态监测问题,自主研发了以AVR单片机为核心的状态监测系统,实现对文件柜内有无存放物体以及何种物体进行管理。本系统包括文件柜状态检测、数据采集、ModBus通信、上位机组态等部分。本系统结构简单,稳定性、可靠性高,成本较低,具有很高的应用推广价值。
【文件柜】
现今信息资料的存储呈现出多量化、密集化的发展趋势,密集文件柜已经成为政府工作部门、企事业单位、档案馆等存储信息资料的最佳选择。密集文件柜的自动化和管理现代化成为亟待研究解决的关键问题。由于没有有效的系统来完成状态采集和信息传送功能,在密集文件柜现场都是依靠人力检查记录来实现密集文件柜的管理,这增加了劳动强度和管理成本。为解决上述问题,采用了高性能的AVR单片机J,运用传感器检测技术J、ModBus通讯技术、分布式控制技术等,构建了一个1024点的采集和监测系统。本系统创造性的设计出矩阵扫描式采集电路,解决了传统设计因状态变量过多而导致的”采集难”、成本高的问题。
1系统设计方案本系统使用ITR9909红外传感器检测密集文件柜内有无文件的状态,利用AVR单片机完成对1024个文件柜状态的采集,然后通过RS485总线将采集数据传送给上位机,上位机通过组态界面对1024个文件柜物体的属性进行管理并实时显示。当柜内有档案放置时,现场相应柜体上的LED指示灯亮,在上位机组态上对应的柜体组态位置显示存放的文件名称并以绿色提醒有文件存放;无档案放置时,现场相应柜体上的LED指示灯灭,在上位机组态上对应的柜体组态位置显示为空并以红色提醒柜内无文件存放。每次需要存放文件时,先从上位机上确定要存放到空的文件柜位置,在此位置上标注存放的文件名,然后工作人员将文件放到相应的空文件柜中,现场LED指示灯自动亮,同时组态软件会根据上传上来的信息自动刷新组态中文件柜信息,将相应的文件柜组态以绿色显示出来。若需要取文件时,直接从文件柜中将文件拿走即可,现场LED指示灯自动灭,上位机会自动将组态中相应位置的柜体显示为空(属性为空,并以红色提醒)。这样不仅可以在监控室远程查看文件柜的信息,而且可以在现场直接判断文件柜的状态,方便快捷实现文件的管理。
本监测系统的总体结构设计如图1所示。
本系统主要包括监控平台、串口通信模块、智能控制单元、传感图1系统总体设计结构器矩阵以及电源模块五个部分。
(1)监控中心:上位机使用组态王软件构建监控系统,实现人机交互工作,实时显示各文件柜的状态。
(2)通信单元:采用高性能ADM2483芯片作为RS485驱动芯片,内部集成隔离器,具有低功耗、高抗干扰能力等特点。
(3)控制单元:采用AVR单片机系列中的Atmega1280作为控制芯片,将采集的数据暂时保存在内部RAM区并通过RS485总线上传到上位机,实现实时通信。
(4)采集单元:1024个ITR9909红外传感器模块接成3232矩阵式电路对1024个柜体进行监测。
(5)电源单元:使用稳定性较好的AMS1117—3.3稳压芯片,为最小系统提供3.3V稳定电压,12V直流电源为采集电路供电。
2系统的硬件设计2.1核心控制器的选型Atmega1280是基于RISC结构的高性能、低功耗的8位AVR微控制器J,提供86个可编程I/O端口,具有独立片内振荡器的可编程看门狗定时器,内置8kB片内SRAM,128kB系统内可编程Flash,并内置多种串行通信接口,包括TwI(I2C)两线接口、四路可编程USART和可工作于主机/从机模式的SPI串行接口。
具有执行速度快,内部资源丰富,稳定性高等特点。最高数据吞吐率达1MIPS/Mh,能有效减缓系统功耗和处理速度之间的矛盾。完全可以满足该系统的设计要求。
2.2矩阵式采集电路的设计根据设计要求,红外采集部分要检测1024个文件柜状态,为了尽量的少占用单片机的I/0口,本系统设计了矩阵式采集电路,可以实现使用一个AVR控制芯片完成对1024个点的采集,矩阵式采集电路原理如图2所示。Atmega1280单片机将32个I/O口直接与行线相连作为输出口,另选32个I/O口直接与列线相连作为采集数据输入口。具体工作原理如下:首先系统将32路行线的第一行输出高电平(其余31位为低),通过驱动电路驱动该行的32个红外发光二极管,当该行对应的任一文件柜有文件时,接收端接收反射光而输出高电平,否则输出低电平,系统会将这32位数据直接刷新到单片机相应的寄存器单元组1(共4个字节)。然后将I/O口高电平左移一位,使第二路行线输出高电平,再次读取32根列线上的数据,将这些数据直接刷新到单片机的相应的寄存器单元组2(共4个字节);以此类推,将全部32根行线置位一遍,读出32组列线数据,每组4个字节,共有128个字节(1024位)数据。这种矩阵式采集电路简化连线,使系统连线最少。使用扫描方式监测各个点,保护每个点上的发光元件,大大延长测量元件的使用寿命。
2.3光电隔离电路设计为了使系统具有较强的抗干扰能力,本系统在32路IYO输出端和32路I/0输入端的每一路都使用光电耦合器[4]进行光电隔离,通信接口也采用具有强抗干扰的ADM2483芯片作为485总线驱动器,将外电路与单片机电路彻底隔离,使外电路的干扰在进入单片机之前彻底消除,提高了采集器的抗干扰能力。
同时,在输出隔离光耦后增加了一个$8550三极管,有效地提高了电路输出端的驱动能力。光电隔离电路如图3所示。
3系统的软件设计3.1单片机主程序设计AVR单片机上电工作以后首先进行设备的初始化,包括端口初始化、波特率设置、串口初始化、开启接收中断等工作。接着进行循环式扫描,每扫描一行将采集数据按照字节的方式存在SRAM区。直到完成对32行的扫描后,进入协议解析函数。然后在解析函数中会完成主机命令的解析、从机命令的回应、上传采集数据等工作。