基于AVR的多点文件柜状态监测系统的设计
2016-12-06李文铅刘鹤孙阳阳孙百才
李文铅, 刘鹤, 孙阳阳, 孙百才
(曲阜师范大学 工学院,山东 日照 276826)
基于AVR的多点文件柜状态监测系统的设计
李文铅, 刘鹤, 孙阳阳, 孙百才
(曲阜师范大学 工学院,山东 日照 276826)
AVR单片机具有高可靠性、高性能、低功耗等特点,被广泛应用于工业控制之中。针对1024个密集文件柜状态监测问题,自主研发了以AVR单片机为核心的状态监测系统,实现对文件柜内有无存放物体以及何种物体进行管理。本系统包括文件柜状态检测、数据采集、ModBus通信、上位机组态等部分。本系统结构简单,稳定性、可靠性高,成本较低,具有很高的应用推广价值。
AVR;文件柜;状态监测;ModBus通信;组态;光电隔离
0 引 言
现今信息资料的存储呈现出多量化、密集化的发展趋势,密集文件柜已经成为政府工作部门、企事业单位、档案馆等存储信息资料的最佳选择。密集文件柜的自动化和管理现代化成为亟待研究解决的关键问题。由于没有有效的系统来完成状态采集和信息传送功能,在密集文件柜现场都是依靠人力检查记录来实现密集文件柜的管理,这增加了劳动强度和管理成本。为解决上述问题,采用了高性能的AVR单片机[1],运用传感器检测技术[2]、ModBus通讯技术、分布式控制技术等,构建了一个1 024点的采集和监测系统。本系统创造性的设计出矩阵扫描式采集电路,解决了传统设计因状态变量过多而导致的"采集难"、成本高的问题。
1 系统设计方案
本系统使用ITR9909红外传感器检测密集文件柜内有无文件的状态,利用AVR单片机完成对1024个文件柜状态的采集,然后通过RS485总线将采集数据传送给上位机,上位机通过组态界面对1024个文件柜物体的属性进行管理并实时显示。当柜内有档案放置时,现场相应柜体上的LED指示灯亮,在上位机组态上对应的柜体组态位置显示存放的文件名称并以绿色提醒有文件存放;无档案放置时,现场相应柜体上的LED指示灯灭,在上位机组态上对应的柜体组态位置显示为空并以红色提醒柜内无文件存放。每次需要存放文件时,先从上位机上确定要存放到空的文件柜位置,在此位置上标注存放的文件名,然后工作人员将文件放到相应的空文件柜中,现场LED指示灯自动亮,同时组态软件会根据上传上来的信息自动刷新组态中文件柜信息,将相应的文件柜组态以绿色显示出来。若需要取文件时,直接从文件柜中将文件拿走即可,现场LED指示灯自动灭,上位机会自动将组态中相应位置的柜体显示为空(属性为空,并以红色提醒)。这样不仅可以在监控室远程查看文件柜的信息,而且可以在现场直接判断文件柜的状态,方便快捷实现文件的管理。
图1 系统总体设计结构
本监测系统的总体结构设计如图1所示。
本系统主要包括监控平台、串口通信模块、智能控制单元、传感器矩阵以及电源模块五个部分。
(1) 监控中心:上位机使用组态王软件构建监控系统,实现人机交互工作,实时显示各文件柜的状态。
(2) 通信单元:采用高性能ADM2483芯片作为RS485驱动芯片,内部集成隔离器,具有低功耗、高抗干扰能力等特点。
(3) 控制单元:采用AVR单片机系列中的 Atmega1280作为控制芯片,将采集的数据暂时保存在内部RAM区并通过RS485总线上传到上位机,实现实时通信。
(4) 采集单元:1024个ITR9909红外传感器模块接成32*32矩阵式电路对1024个柜体进行监测。
(5) 电源单元:使用稳定性较好的AMS1117-3.3稳压芯片,为最小系统提供3.3 V稳定电压,12 V直流电源为采集电路供电。
2 系统的硬件设计
2.1 核心控制器的选型
Atmega1280是基于RISC 结构的高性能、低功耗的 8位AVR 微控制器[3],提供86个可编程I/O端口,具有独立片内振荡器的可编程看门狗定时器,内置8 kB片内SRAM,128 kB系统内可编程Flash,并内置多种串行通信接口,包括TWI(I2 C)两线接口、四路可编程USART和可工作于主机/从机模式的SPI串行接口。具有执行速度快,内部资源丰富,稳定性高等特点。最高数据吞吐率达1 MIPS/M h,能有效减缓系统功耗和处理速度之间的矛盾。完全可以满足该系统的设计要求。
2.2 矩阵式采集电路的设计
图2 矩阵式采集电路原理图
根据设计要求,红外采集部分要检测1024个文件柜状态,为了尽量的少占用单片机的I/O口,本系统设计了矩阵式采集电路,可以实现使用一个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个字节(1 024位)数据。这种矩阵式采集电路简化连线,使系统连线最少。使用扫描方式监测各个点,保护每个点上的发光元件,大大延长测量元件的使用寿命。
2.3 光电隔离电路设计
为了使系统具有较强的抗干扰能力,本系统在32路I/O输出端和32路I/O输入端的每一路都使用光电耦合器[4]进行光电隔离,通信接口也采用具有强抗干扰的ADM2483芯片作为485总线驱动器,将外电路与单片机电路彻底隔离,使外电路的干扰在进入单片机之前彻底消除,提高了采集器的抗干扰能力。同时,在输出隔离光耦后增加了一个S8550三极管,有效地提高了电路输出端的驱动能力。光电隔离电路如图3所示。
图3 光电隔离电路
3 系统的软件设计
3.1 单片机主程序设计
AVR单片机上电工作以后首先进行设备的初始化,包括端口初始化、波特率设置、串口初始化、开启接收中断等工作。接着进行循环式扫描,每扫描一行将采集数据按照字节的方式存在SRAM区。直到完成对32行的扫描后,进入协议解析函数。然后在解析函数中会完成主机命令的解析、从机命令的回应、上传采集数据等工作。主程序流程图如图4所示。
图4 主程序流程图
3.2 ModBus通信协议
本系统采用ModBus-RTU协议,实现AVR单片机和上位机之间的通信。ModBus协议使用的是主从通讯模式,即由主站设备主动查询和操作从站设备。消息发送开始的判定标准时至少要有 3.5 个字符时间的停顿间隔。整个消息帧必须作为连续的数据流来传送。如果在传送过程中间有超过 3.5 个字符时间的停顿,接收设备将认定下一字节是一个新数据包的地址码,从而出现误判[5]。根据ModBus协议规定,主机会根据设定的固定时间周期性不断发送命令数据包,从机负责接收。本设计中在单片机RAM区中设置接收缓存数组,负责存放主机的发送命令数据包。当完成对发送命令的接收时,单片机对协议命令进行解析。在一个周期内,从机首先核对从机地址和接收到的地址码是否一致。若一致则查看功能码的匹配,功能码的作用就是主机告诉从机执行什么动作。若地址不匹配,则会丢弃这一次的数据包。数据区是根据不同的功能码而不同。CRC码的高字节在后,低字节在前。就本次程序设计而言,主机只需要读取从机的数据,用到读取多字寄存器功能码03。主机发送数据包数据区包括起始寄存器地址、读取寄存器个数。对于从机来说,回应命令包括从机地址、功能码03、上传数据长度N、N个采集数据、CRC校验码。这个过程是在ModBus协议解析函数中完成的,解析函数流程图如图5所示。
图5 ModBus协议解析函数
4 上位机软件的设计
为了使工作人员在监控界面上直观的查看到各个柜子的状态,上位机采用友好的人机交互界面见图6、图7,本设计中使用组态王KINGVIEW 6.55[6]对监控界面进行组态设计。单片机的上传数据是以字的形式存放于上位机组态王的保持寄存区,共计64个字数据,将每一个字数据通过和0x0001、0X0002……0X8000依次相与得到16个二进制位,共计1 024位。然后重新分配得到的二进制位地址,实现对每一个文件柜状态的显示。
图6 主监控界面
图7 第一组子界面
为提高监测系统的可视化程度,监控界面由主界面和32个子界面组成:将1 024个文件柜进行编号,分成32组,每组有32个文件柜。实际工程中用具体文件名标注编号进行区分。主界面有32组子界面图标构成,点击主界面的某一子界面图标进入相应的子界面。在子界面中,文件柜状态由指示灯颜色显示,绿色表示有文件,红色表示无文件。工作人员只需在主界面中选择文件所在组,就能轻松方便查看其状态信息,便于管理操作。
5 结束语
本文立足于档案馆文件管理实际,自主设计了对大量文件柜状态的采集、数据传输以及实时显示的监测系统,创造性的设计了大量开关量的矩阵式电路采集方式,实现了对密集文件柜的智能化、可视化管理,极大地提高了文件查找的效率,节省了管理成本。本系统的设计方法可以广泛应用于档案馆、图书馆、公司资料存储室等场所,具有一定的市场推广潜力。
[1] 严雨,廉洁.AVR单片机C语言应用100例[M].北京:电子工业出版社,2012.
[2] 樊尚春.现代传感技术[M].北京:北京航空航天大学出版社,2011.
[3] 胡汉才.高档AVR单片机原理及应用[M].北京:清华大学出版社,2008.
[4] 康华光.电子技术基础 模拟部分[M].北京:高等教育出版社,2006.
[5] 朱小襄. ModBus通信协议及编程[J].电子工程师,2005,31(6):7.
[6] 刘燕,夏建全,明正峰. 基于VB实现的组态王与单片机间通信[J].自动化与仪器仪表,2006,25(5):91-93.
为了你和家人的健康,请不要吸烟。
点燃你的烟,污染了空气,害了人性命,良心在哪里!
Design of a Multi-point File Cabinet State Monitoring System Based on AVR
Li Wenqian, Liu He, Sun Yangyang, Sun Baicai
(College of Engineering, Qufu Normal University, Rizhao Shangdong 276826, China)
Featured in high reliability and performance and low power consumption, the AVR single-chip microcomputer is widely used for industrial control. With regards to state monitoring for 1024 densely loaded file cabinets, we have developed on our own a status monitoring system using AVR single-chip microcomputer as the core to keep informed on whether there are deposits in the cabinets and what they are. The system contains different parts, such as those for cabinet status monitoring, data acquisition, Modbus communication and host computer configuration. It has a simple structure, high stability and reliability and low cost, and is highly worthy of popularization.
AVR; file cabinet; state monitoring; ModBus communication; configuration; photoelectric isolation
10.3969/j.issn.1000-3886.2016.03.006
TP202
A
1000-3886(2016)03-0017-03
李文铅(1989-),男,山东邹城人,研究生,从事工业自动化研究。 刘鹤(1991-),男,山东泗水人,研究生,从事计算机控制研究。 孙阳阳,(1988-),女,山东宁津人,研究生,从事工业自动化研究。 孙百才(1990-),男,山东临沂人,研究生,从事测控技术研究。
定稿日期: 2015-09-25
(曲阜师范大学 工学院,山东 日照 276826)
摘 要: AVR单片机具有高可靠性、高性能、低功耗等特点,被广泛应用于工业控制之中。针对1024个密集文件柜状态监测问题,自主研发了以AVR单片机为核心的状态监测系统,实现对文件柜内有无存放物体以及何种物体进行管理。本系统包括文件柜状态检测、数据采集、ModBus通信、上位机组态等部分。本系统结构简单,稳定性、可靠性高,成本较低,具有很高的应用推广价值。