基于单片机的采集模块研究
脉冲电表是目前电力系统用户侧较为常见的一种电子电量表计。对于远程电子抄表系统,要实现对脉冲表输出脉冲的可靠、精确计量。本文研究探讨了对于脉冲表可靠脉冲捕捉、脉冲计量,特别研究了脉冲电表信号输出线路的断线报警、掉电数据存储等关键问题,并对区域脉冲表群抄表需要的现场总线进行了研究,提出用CAN总线为数据通信的脉冲电表群的模块化解决方案。
2. 脉冲采集模块设计
CH1脉冲采集的主要任务是对CH2 CH3脉冲电表输出脉冲的实时、准确计数,CH4是所有电量统计的基础。脉冲采集模块CH5的好坏直接影响整个系统的可靠性和CH6准确性,因此在整个抄表系统中占据着CH7重要的地位。
2.1 脉冲采集板的结构
采集板的具体结构如图1所示。主要以单片机P87C591为核心,设计对8路电表进行数据采集,并可以将数据存入SEEROM中,另外带有掉电保护及通信接口等模块。
采集模块配有电源断电监视、数据保护功能,当监测到掉电情况时,及时在掉电前进行数据备份,防止突发断电导致数据丢失。
2.2 脉冲采集模块的硬件设计
根据系统的设计要求,每个采集模块完成8个电表的采集任务,需要占用单片机的8个I/O接口。单个经过光电隔离的脉冲数据采集电路如图2所示。
图中D0为VCC保护二极管,R0为限流电阻,来保护光耦中的发光二极管。C10和R10组成RC低通滤波器,D10为钳位二极管,处理尖峰类的干扰信号。R4和R5为分压电阻。R3为上拉电阻,起限流作用。
电表输出的脉冲信号采用的是5V直流电。经滤波后,进入光耦,然后电阻分压到4V的电平信号进入单片机。通过单片机P87C591的P2口来对脉冲信号进行采集,在图2中还可以看到由于是上接上拉电阻,所以使得光耦输出脉冲波形与电表输出脉冲波形刚好反向。
2.3 脉冲采集模块的软件设计
脉冲采集的软件设计主要处理脉冲的准确采样,对当前时段的数据做累计处理。并且软件设计中包括了重复检测及防抖动的抗干扰设计。软件流程图如图3。
2.4 脉冲采集抗干扰措施
脉冲采集电路的抗干扰能力决定着系统的精度和所采集数据的可靠性,需要从多方面提高系统的抗干扰能力。
2.4.1 硬件抗干扰措施
从图2中可以看到,硬件设计中主要采取了光电隔离技术、低通滤波技术。光电耦合器的输入阻抗小,只有电流信号才能驱动发光管,因此,可以隔离来自市电系统的感应电压及其过电压。图2中RC低通滤波器,滤掉高频信号的干扰。因为电容的电压非突变性,结合稳压二极管,可以将电压钳于一个比较稳定的值,可以抑制尖峰类的干扰,可以吸收对来自空间电磁辐射对系统输入的干扰,也确保进入单片机的信号脉冲有完好的波形。
2.4.2 软件抗干扰措施
对输入的脉冲进行捕捉、采集是抄表系统重要计量环节,模块除了在硬件上采取了相应的隔离和滤波措施,在软件设计上也采取了重复检测和防抖动的措施,提高脉冲捕捉的准确、可靠。
数据采集在中断程序中进行,设定定时中断周期为2ms,在中断服务程序中判别8路电表电平的状态。对于每一路输入信号,在收到高电平后,如连续采样10次均为低电平,则认为是一个有效的低电平,这时记录该路信号的累加器加1。如在中间出现一个干扰信号,不予计数,用这种方法可以有效干扰的抑制抖动类的干扰。如图4所示。
3. CAN总线通讯模块
电表作为千家万户的分布群系统,实现多个模块的级联,对于远程脉冲电表抄表系统十分必要。采集模块选择合适的总线,能够在一栋楼的范围内将所有脉冲电表的数据均可在最近处与采集模块接口,对于应用和提高系统的实用性,可靠性和便于维护都十分重要。
CAN(controller area network) 即控制器局域网,是一种有效支持分布式控制和实时控制的串行通信网络。CAN协议废除了传统的站地址编码,而代之以对数据通信块编码,因此可以以多主方式工作,网络上任意节点均可主动向其它节点发送信息;网络节点可按系统实时性的要求分成不同的优先级,一旦发生总线冲突,可减少总线仲裁时间,实现非破坏性优先权仲裁;CAN采用短帧结构,每一帧为8个字节,并采用了位填充、数据块编码、CRC检验等功能,数据出错率较低。在自动抄表系统中,采用CAN总线可以确保高可靠性,远通信距(5Km)和高的性价比的特点。CAN总线采用短帧结构,每一帧为8个字节,第一个字节表示主模板号,第二字节表示该总板下的具体脉冲采集模块号,第三个字节表示该模块号下的通道号,后面四个字表示该通道电表的脉冲数值。
4. 掉电保护
掉电保护分为电源监视模块和数据存储模块。为了实现对掉电的过程控制,系统必须有监视电源变化的能力。在本系统中采用芯片MAX690A,做
单片机P87C591采集模 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)