基于CAN总线的多用户电能表设计

出处:tyw 发布于:2010-08-16 11:29:03

     摘要:本文介绍了一种采用CAN总线的多用户电能表设计。首先介绍了CAN总线优点和电能表的特点以及硬件方案设计, 接着详细探讨了电能表主要模块功能。该电能表既可以计量多户家庭的用电情况, 还具有断电控制、实时处理速度快、性价比高的特点;尤其,增加可透支用电的设计,具有人性化的优点。

  0 引言

  在实际应用中, 越来越多像学校、工厂宿舍等用户密集场合,采用了一块表计量多个用户的多用户电能表,这种新型电能表对于降低人力与管理成本是显而易见的。然而,尽管采用通信方式种类繁多,多用户电能表系统的通信不稳定一直是难以解决的问题。在本设计中,采用CAN总线通信的方式设计新表,能满足通信稳定、实时准确的要求;而且该表增加可透支用电的设计,解决了众多多用户电能表欠费即断电,给不能及时缴费的用户带来不便的问题。

  1 CAN 总线与电能表的特点

  1.1 CAN 的优点

  CAN(controller area network)是一种应用在生产现场、在微机化测控设备之间实现双向串行多节点数字通信的现场总线。CAN与其他总线有明显优势:1. CAN总线具有非破坏性仲裁,支持竞争,通信采用“多主对等”方式;2.CAN总线组网非常灵活,通信速度可到1Mb/s;3.CAN总线采用CRC检验并有错误处理功能,当节点错误时,能自动关闭输出,使总线上的其它节点及通信不受影响。这些特点为电能表稳定通信提供了条件。

  1.2 多用户电能表的特点

  1、电力部门上位机通过RS232 接口转CAN 总线接入网络采集各电能表。通过上位机软件实时监控电能表,具有分时计费、对表设置缴费管理模式和修改参数等功能。

  2、该电能表有过载保护功能,当用户负载超过允用负载时,表自动对该用户断电。

  3、该表还具有透支模式,用户可现场操作,能提供定量的临时供电,为不方便及时缴费的欠费断电用户提供了便利。

  2 多用户电能表硬件设计

  电能表硬件系统结构如图1所示, 整个系统由7大部分组成: 选择及放大电路、A/D转换电路、断电控制模块、CAN通讯模块、LED显示、存储器FM1608,X5045和单片机AT89C52。当用户用电时,对应的CT(电流互感线器)和PT(电压互感线器)产生感应电压小信号,小信号由选择及放大电路选择通道和放大后,至A/D转换电路变为数字信号,由单片机(AT89C52)进行处理,将数据保存至FM1608/X5045中,同时由LED显示电量,当有通信时,单片机将数据经由CAN通信模块,上传至上位机。


图1 系统总体框图

  2.1 选择及放大电路设计

  选择及放大电路由多路选择电路和两级放大电路组成。单片机引脚P2.0片选一74HC377芯片控制5片CD4051芯片使能端,P0口放送一字节编码字,字节前5位片选5个CD4051的INH,后3位控制A/B/C引脚,选择其中一条电流或电压感应通路,而使其他通路处于断开状态。

  放大电路由两片LM358芯片级联,将所选的通路的小信号线性放大,放大到适应A/D芯片处理的采样信号,信号进入A/D芯片后,由模拟信号转化为数字信号,这样单片机才能进行数据处理。多路选择及放大电路如图2。


图 2 多路选择及放大电路

  2.2 A/D转换电路和存储电路的设计

  A/D转换电路选用AD574A芯片,它是一种快速12位逐次比较式A/D转换芯片,这里直接与8位AT89C52相连。不需要外接时钟和参考电压等电路就可以正常工作。

  在用户用电时,AD574A将感应的模拟信号转换为12位的数字信号,P2.2端口片选,控制AD574A的工作状态的读取数据,P0端口通过两次读取A/D芯片输出的12位数据。当32路中某一电流和电压感应数据读入MCU内部寄存器后,和参数进行乘法运算,得出能量数据,并累加在FM1608芯片相应地址中。

  FM1608芯片可万亿次以上的读写次数,掉电数据大于10年。MCU由RD、WR对其片选,P0通过锁存芯片,对FM1608寻址和读写数据操作,当数据累加达到0.1度时重新归零。

  X5045芯片有看门狗定时器和保存数据功能,当程序陷入死循环时,X5045 Rst引脚发出复位信号,使单片机复位重启,保障了电能表正常工作;X5045内部相应地址中保存了该表的通信地址,32户电量度数、用电模式、功率限制,还有感应线圈的调整参数等。

  开关K1-K3外接P1.2-P1.4,K1-K2设置表参数;K3为用户键,当LED显示某户电量时,长按K3超过5秒,MCU发给该户继电器闭合指令,实现电源供电。这部分的电路图如下图3。


图3 A/D转换和存储电路框图

  2.3 显示电路设计

  显示电路由两片MC1413P驱动数码管、一片CD4051芯片、2片74HC377芯片、及4个两位数码管组成。单片机由X5045中依次读取32户的用电数据,译码为数码管显示数字的字节,复用P1端口输出,经由两片74HC377锁存器锁存,再由CD4051芯片动态选择其中一路,通过MC1413P驱动数码管,送到a—g及DP上.对8位LED的动态扫描。前两位数码管显示用户编码,后面六位为用户用电总度数。

  2.4 断电控制模块设计

  该模块控制继电器的通断电,断电控制模块主要由AT89C2051、1片74LS138、8片74HC377,32片BH3023芯片和32个继电器组成。当存储电路X5045中管理通断电控制地址的数据发生变化时,AT89C52通过TXD向断电控制模块发送字节,断电控制模块根据字节,通过AT89C2051引脚P3.2-P3.4编码输出,由74LS138片选相关74HC377芯片,同时P1口对该锁存器输出一个字节,到达所在BH3023芯片,BH3023芯片对其管理的继电器发送命令,继电器做出通断反应。

  2.5 CAN通信模块设计

  CAN通信模块负责上位机与电能表的通信,当上位机下达指令时,通信模块译码并传给AT89C52;AT89C52根据指令内容,做出上传数据、修改参数或给断电控制模块发指令等。


图4 CAN模块电路框图

  通信模块主要由AT89C51、X5045、SJA1000、PCA82C250芯片组成。SJA1000是一个独立的控制器,有BasicCAN和PeliCAN两种不同的模式,SJA1000的内部功能模块主要有:接口

  管理逻辑、接收FIFO 队列、接收滤波器、发送缓冲器和CAN模块。CAN模块基于

  CAN2. 0B的协议执行对CAN帧的发送和接收。

  CAN通信模块中X5045芯片主要用途为看门狗定时器,当AT89C51陷入死循环时,X5045发出重启电平,使AT89C51复位重启,保障了CAN通信正常工作。模块框图如图4所示。

  3 多用户电能表软件设计

  该表软件采用模块化设计,*立分为计量存储显示、CAN 通信模块、断电控制模块三大主程序。为了实现每个主程序的功能, 又把各主程序划分为若干个相应功能子程序或小模块。主程序的作用是系统的初始化、中断管理以及各功能模块的调用等。

  3.1 计量存储显示程序设计

  计量存储显示模块硬件设计比较复杂,时序要求严格, CPU内程序存储器容量有限,所以软件采用汇编语言编制,以更好地控制时序和代码空间。整个程序采用模块化编程,主要包含初始化模块、电量采集模块、数据存储模块、信息显示模块、串行通信模块、供电控制模块等。

  软件设计过程中,考虑到采集数据不能出现错采、漏采等现象以及高可靠性要求,必须采用必要的软件抗干扰措施,如软件陷阱、指令冗余、程序运行监视、数据校验、数据备份、数据写入存储器判断等措施。其主程序流程设计思想如图5所示。


图5 计量存储显示主程序框图

  3.2 CAN通信模块程序设计

  CAN通信模块主程序包括看门狗的初始化子程序(X5045_Rstdog()); 串行通信初始化子程序(Serial_init()); SJA1000 初始化程序子设计(CAN_Init()); 发送程序子设计(CAN_Send_Trans()); 以及接收程序设计子程序(CAN_Rece_Trans())。

  CAN通信模块上电或复位后,先串行通信初始化程序负责设置波特率,读取电能表表号等;接着CAN初始化程序主要是对SJA1000寄存器的初始化,包括:定义BasicCAN、验收屏蔽码、总线的位速率、位周期内的采样点和采样数量、管脚RX0、TX0的输入输出模式和配置。这些完成后,要清除SJA1000的复位请求标志进入工作模式, SJA1000准备进行报文的发送和接收;程序进入循环等待中。当上位机有指令下达,引起中断,调用中断函数和相关的发送接收子程序。

  该主程序设计采用基于Keil C的C语言进行编程,调用基本库函数来实现各种功能。

  3.3 断电模块程序设计

  断电模块上电或复位后,程序先进行串行端口波特率初始化等,接着进入循环等待状态,串行中断发生时,调用串行通信中断函数,由P3.0端口接收数据并解码,对P3.2-P3.4端口赋值,接着等待74LS138反应时间后,对P0端口赋值,再等待外部芯片反应时间后,退出中断函数。

  结束语

  随着科学技术的发展,智能产品设计更注重于人性化的特点。本电能表设计形成产品后市场前景广阔, 对于我国电力市场的规划管理,小区生活品质提升将起到积极的作用。

  本文作者创新点:1.在多用户电能表中采用成熟的CAN总线通信技术;2.在硬件和软件方面增加了可透支用电的人性化设计。


  

参考文献:

[1]. RS232  datasheet https://www.dzsc.com/datasheet/RS232+_585128.html.
[2]. AT89C52 datasheet https://www.dzsc.com/datasheet/AT89C52_1064535.html.
[3]. 74HC377 datasheet https://www.dzsc.com/datasheet/74HC377_1811675.html.
[4]. CD4051 datasheet https://www.dzsc.com/datasheet/CD4051_1865305.html.
[5]. LM358 datasheet https://www.dzsc.com/datasheet/LM358_1060605.html.
[6]. AD574A datasheet https://www.dzsc.com/datasheet/AD574A_1055372.html.
[7]. FM1608 datasheet https://www.dzsc.com/datasheet/FM1608_329245.html.
[8]. MC1413P datasheet https://www.dzsc.com/datasheet/MC1413P_1055007.html.
[9]. AT89C2051 datasheet https://www.dzsc.com/datasheet/AT89C2051_810086.html.
[10]. 74LS138 datasheet https://www.dzsc.com/datasheet/74LS138_1054480.html.
[11]. AT89C51 datasheet https://www.dzsc.com/datasheet/AT89C51_810155.html.
[12]. SJA1000 datasheet https://www.dzsc.com/datasheet/SJA1000_609075.html.
[13]. PCA82C250 datasheet https://www.dzsc.com/datasheet/PCA82C250_542618.html.


关键词:CAN  CAN总线总线

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!