基于PIC16F877A单片机的CAN总线电能集中自动抄表系统设计

2022-06-06 08:17韩吉生
科技尚品 2022年3期
关键词:CAN总线电能单片机

韩吉生

摘 要:文章给出了基于PIC16F877A单片机的CAN总线电能集中自动抄表系统的设计过程,该系统是在感应式电能表的基础上将其改装成为具有自动抄表和远程数据传输的新型抄表形式。整个系统包括抄表模块和数据传输模块两大部分电路,抄表模块完成的是脉冲转换、电流检测、盗电报警和自动断电的功能;数据传输模块通过CAN总线网络负责抄表系统与PC机控制中心的连接,实现控制中心对用户进行统一抄表和统一收费的管理模式。该系统可以改变传统的RS485或以太网自动抄表模式,节省人力,实现小区的智能化管理。

关键词:单片机;电能;控制;CAN总线

中图分类号:TP216.1 文献标识码:A 文章编号:1674-1064(2022)03-0-03

DOI:10.12310/j.issn.1674-1064.2022.03.028

目前,水表、煤氣表、电表的远程抄表系统日趋成熟。自动抄表系统的基本原理是利用计算机技术,通过专用设备远程自动抄表。通常,首先将电表产生的脉冲信号由信号控制器计数,控制器再将信号发送至PC,由PC对采集到的数据进行处理、存储、显示并打印,再通过网络自动上传到用户系统,通过微机中心显示各设备的运行状态,并可通过软件控制设备,使设备以最经济合理的方式工作运行。当某个设备出现故障时,微机中心发出声光报警,通知管理人员处理事故。文章介绍了一种基于PIC16F877A单片机的CAN总线电能表集中自动抄表系统,主要对象是感应式电能表,在此电能表的基础上,改进为具有防窃电、报警、自动抄表功能的新型电能自动集中抄表系统。

1 CAN总线电能集中自动抄表系统方案设计

CAN总线电能集中自动抄表系统主要包括抄表模块和通信模块两大部分,从设计方面、成本问题、现阶段经济情况、用电户接受程度,以及在改装过程中安装是否方便等方面,综合考虑得出该电能集中自动抄表系统设计方案。

针对抄表模块部分,根据现阶段大多数用电户使用的感应式电能表的情况,采用军用级单片机PIC16F877A为核心微处理器,加入光电转换电路实现脉冲转换,并利用霍尔传感器UGN30T51进行电流检测,且具有报警和自动断电的功能,改装比较方便,该电路所需成本较低。

针对通信模块部分,采用CAN总线进行数据传输。这种通信方式不同于其他用于数据传输的通信网络,有两个不同:第一,消息传输不包含目的地址。其是基于网络的整个广播,接收服务器根据消息中的标识符过滤消息,这些标识符可反映数据性质,接收服务器应该接收的,丢弃不应该接收的。其优点是可以在线离线使用,多站接收,即插即用。第二,其特别加强对数据安全的关注,满足正常系统和对数据要求更高的控制系统的需求。

2 系统的硬件电路设计

在现实生活中,电能表的种类很多,可分为感应式电能表、脉冲式电能表和全电子式电能表。感应式电能表因其价格低廉、测量准确而被广泛使用,其利用金属铝盘中由感应电流产生的磁场,与交流电固定线圈产生的磁场间的相互作用,从而产生驱动力矩进而带动铝盘旋转,从而获得消耗的累积电能。但是,由于感应式电能表没有防盗功能,在电力行业发展迅猛的驱动下,这种不足给电力行业带来的影响越来越突出。因此,在感应式电能表上,安装防盗功能具有重要的现实意义。

在感应式电能表的使用上,常见窃电方法有以下几种:

断开电能表的内部电压扣,使交流电流不通过固定线圈,不产生磁场,导致铝板不能转动,最后使电能表不能测量累计电量。电能表输入线与输出线接反,让铝盘反向旋转,减少电能表的计量值。用电能表外的导线将电表短接,可使电能表的计量值为实际耗电量的一半左右。

文章在分析电能防盗的基础上,介绍了一种具有电能防盗功能的新型智能电能表。该系统主要由光电转换电路、霍尔电流检测电路、PIC16F877A单片机系统电路、继电器控制电路、断电报警电路等组成。系统主电路框图如图1所示。

整个系统由上位机和下位机构成。上位机PC安装有组态软件,通过RS232协议向上位机的PIC16F877A单片机发送和接收数据,并由CAN总线网络向下位机的PIC16F877A单片机传输数据。统计电能时,发出十六位控制信号给单片机;下位机的PIC16F877A单片机借助CAN总线技术接收来自上位机的PIC16F877A单片机数据信号,PIC16F877A单片机根据源程序发送对应的数字逻辑信号,驱动并控制继电器实现盗电报警,或向上位机的单片机发送采集到的电能数据[1]。

2.1 PIC16F877A单片机

PIC16F877A是一种高性能军用级CPU,包括8K×14个程序存储器空间,368×8个数据存储器(RAM)字节,256×8个EEPROM字节,共有35条单字指令,40个引脚,14个中断源,支持在线串行编程(ISCP),工作电压2.0 V~5.5 V。其具有低功耗、抗干扰能力强、带负载力大、可靠性高、外围电路简单等优点[2]。

2.2 光电转换电路设计

光电转换电路的主要作用是将铝盘转速转换成脉冲信号,作为单片机的检测信号。感应式电能表的电磁系统为核心工作元件,并在电能表的铝盘表面印制一条黑色的分度线作为分度。为辨别出铝盘的正反转,首先顺时针增加分度线间隔的宽度,然后用反射式光电传感器的发射端发射出一束光,并根据分度线收集标记,再经光电转换电路,使铝盘的旋转速度与分度线的宽度成正比。这样,可以使电脉冲信号为单片机提供检测信号[3]。

电流检测电路主要由线性霍尔传感器UGN3501T、钳形冷轧硅钢片和信号处理电路组成,其电路如图2所示。

电路中的霍尔元件以夹子的形式被放置在冷轧硅钢片的缝隙中。当导线中有电流流过时,钳形环中就会产生磁场,其大小与流过导线的电流成正比。这个磁场作用在霍尔元件上,就会输出相应的霍尔电势,由运放放大。当电路中有电流流过时,放大器输出的高电平信号就会施加到单片机的定时器/计数器T1上,作为单片机的检测信号。

2.3 防盗电报警电路设计

该电路将光电信号加到单片机输入捕捉端INTO。其目的是利用T0定时器/计数器输入捕捉功能,检测光电转换电路的输出脉冲和脉宽变化,判断铝盘的旋转状态。电流检测电路的输出信号加到定时器/计数器T1的末尾,然后通过读取T1的电平值和T0对光电信号的捕获结果,可以判断是否存在盗窃行为。设计时应将P2.0口接继电器传输电路和蜂鸣器报警电路的相应端子。

2.4 CAN总线接口电路设计

控制器局域网(CAN—Controller Area Network)属于现场总线,其是一种有效支持分布式控制或实时控制的串行通信网络。其总线规范已被国际标准化组织ISO制定为国际标准,被公认为最有前途的现场总线之一。CAN总线的范围从高速网络到低成本的多线网络,广泛应用于控制系统中各种检测器和执行器之间的数据通信[4]。

2.4.1 SJA1000控制器介绍

SJA1000是一種独立控制器,用于汽车和一般工业环境中的局部网络控制。其是Phlips公司的PCA82C200CAN控制器(basic CAN)的代替产品。而且,其增加了一种新的工作模式(peli CAN),这种模式支持具有很多新特点的CAN2.0B协议。

2.4.2 PCA82C250/251收发器

PC82C250/251收发器是协议控制和物理传输路线之间的接口。如ISO 11898标准中描述的那样,其可以用高达1 Mbit/s位速率的两条有差动电压的总线电缆上传输数据。

这两个器件都可以在额定电源电压分别是12V(PCA82C250)和24V(PCA82C251)的CAN总线系统中使用,其功能相同,根据相关标准,可以在汽车和普通工业应用上使用。PCA82C250和PCA82C251还可以在同一网络中互相通讯,而且引脚和功能兼容。

2.4.3 MAX232通信芯片

MAX232芯片是低功耗、单电源RS232发送/接收器,适用于单片机与PC机通信接口的电平转换。在MAX232芯片内部集成有变压器,可以把输入的5 V电源更换成RS232所需的﹣10 V~10 V电压。所以,采用此芯片后,串行通信系统接口只要5 V电源就可以实现电平的转换。

2.4.4 CAN总线接口电路设计

SJA1000是电路中的总线接口芯片,能够实现上位机PIC单片机与下位机PIC单片机的数据通信。该电路的主要功能是通过CAN总线接收上位机PIC单片机采集到的数据,然后下载到下位机的控制电路中,执行控制功能。

当CAN总线接口接收到下位机的数据时,由微处理器产生中断,通过中断处理程序处理接收到每一帧的数据,并通过CAN总线传送至上位机,用于组态分析。PIC16F877A单片机是CAN总线接口电路的核心,其承担SJA1000的初始化、数据收发控制等任务。CAN总线接口框图如图3、图4所示。

3 电能集中自动抄表系统软件设计

系统的软件设计可以分为抄表的记数存储报警断电,以及PC机CAN总线发送接收数据两大部分,这样可以便于程序的编写和过程的调试。

该程序的主要功能是对外部脉冲进行计数,采集3个脉冲为一组,判断是否存在窃电问题。电表工作时,可根据捕获INTO端的输入信号,与T1口电平比较,再结合信号脉宽和连续3个脉冲信号的宽度比较,判断是否存在窃电问题。若检测到T1端为高电平,且定时器/计数器T0的捕捉结果为零(拨盘不转动)或脉宽逐渐减小,即拨盘反转时,表示存在窃电问题。这时,PIC16F877A单片机的P20端会输出继电器控制信号,断开电源,输出1 kHz报警信号,将其放大并使蜂鸣器发出警报。

CAN总线通信部分是当上位机需要统计电能时提出一个中断请求,单片机响应中断请求,并通过CAN总线网络将数据传输给下位机的单片机,使其从存储器中提出数据并发送给上位机的PIC单片机和PC机。系统主程序流程图如图5所示。

4 电能集中自动抄表系统的调试

在确信系统的硬件调试没有问题后,可以进行系统的软件调试。软件调试同样是根据从小到大、从局部到整体的原理进行调试。为了清楚地看到系统功能,在软件调试时,可以把电路分为两部分、两个步骤:将源代码输入到编程软件已经建好的工程文件中。然后,通过可烧将程序烧到PIC16F877A单片机里,再把单片机插到抄表模块,直接利用串口助手在PC机上调试,看功能能否得到实现,如脉冲计数、盗电时中断报警以及数据存储等。

在上一步中确信没有问题后,可以把CAN总线的接收和发送程序分别按照上面步骤记录到上位机和下位机的PIC单片机中。然后,利用CAN总线接口电路将抄表模块和PC机连接,调试其功能能否实现,如数据传送格式、在电脑上显示形式等功能。

5 结语

文章给出了基于PIC16F877A单片机的CAN总线电能集中自动抄表系统的设计过程,设计思路是在上位机与下位机数据通信、交互信息的基础上,实现电能统计与抄表过程中的相关功能。实际应用时,是基于感应式电能表的简单改装。所以,对用电户而言,该系统不仅节约经济,改装比较方便,而且系统中加入了防盗电和自动断电功能。

然而,在模块设计中难免存在缺陷,如系统精度不高的问题,可以适当提高成本,采用一些精度较高的元器件。如在光电转换电路中的发光和接收二极管,测量电流电路中的霍尔传感器,都可以采用精度较高的元件。在实际改装中,要特别注意光电转换电路部分。因为其中的发光和接收二极管,要按一定角度放在电表转盘附近,这样可以更精确地测量转盘的转数。在软件设计方面,要保证数据存储、传输以及接收的脉冲数与用电度数相对应。

参考文献

[1] 沈宏卫.单片机应用系统设计实例与分析[M].北京:北京航天大学出版社,2003.

[2] 冯建华,赵亮.单片机应用系统设计与分析[M].北京:人民邮电出版社,2004.

[3] 尚金球.单片机原理与接口技术[M].北京:清华大学出版社,2004.

[4] Andrew Bateman,Iain Paterson-Stephens.The DSP Handbook:Alogorithms,Application and Design Techniques[M].北京:机械工业出版社,2003.

猜你喜欢
CAN总线电能单片机
闪电潮汐转化仪
论网络通信技术
基于嵌入式的汽车辅助制动系统研究
CAN总线通信技术在电梯监控系统中的应用
基于CANoe的J1939协议在ECU通信中的应用
可输出电能的椅子
第11讲 电能与电功率专题复习
C8051F020与80C51单片机的异同点
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨