摘 要:论文介绍了基于电能计量芯片AD7755和CAN总线的一个电量远程监控系统的设计方案。具体介绍了该系统的功能结构、工作原理以及各个组成模块的基本特点,并且对上位机系统的软件组成模块进行了介绍。该系统不仅可以实现对楼宇各个房间的用电量进行管理和调度,而且可以实现监督从而达到节能的功效。
Design of Intelligent system of electricity long-rang control based on CAN Bus
0 引言
随着我国《电力法》的版本和电力市场的逐步形成,供电方在供电时必须保证供电质量和供电可靠性,这就要求有高度的自动化管理系统做保证。为此,作者开发了基于CAN总线的电量远程监控系统。该系统主要是对办公楼宇的各个房间进行远程电量监控。可以对各个房间用电参数进行实时监测,例如电压、电流、功率、电能、三相不平衡度等,并能实时向终端数据库上传数据,实现对各个房间用电负荷的监测和控制。
1 系统设计方案
该系统主要由用电参数采集部分和数据实时发布两大部分组成。用电参数采集部分主要是通过电能计量芯片AD7755和单片机80C51实现对用电参数的采集,可将一天分为48个时段,也就是每半个小时为一个时段,每个时段将电量采集结果发送一次,然后通过CAN控制器SJA1000和CAN收发器将数据传送到服务器中,然后服务器通过动态网页的形式将这些数据发布出去。用户可以通过网络访问实时的和历史的数据。
图 1 系统结构图
Fig.1 Diagram of System
2 系统硬件设计
2.1 电量采集电路设计
该电路以电能计量芯片AD7755为核心实现对办公楼各个房间用电的计量,并将电能信号转换成标准脉冲信号送到单片机处理电路。图2 为AD7755 的应用电路原理图。图中电流信号和电压信号分别通过其互感器送入各输入通道, 电压和电流通道上额定值要设计在最大输入电压的半刻度上, 使电表能满足过压和过流的要求。单片机对输入脉冲进行计数, 计数值的大小即反映电能消耗的多少。AD7755 的无负载门限和启动电流特性将消除电表中的漏电效应, 如果负载产生的输出频率低于AD7755 的规定最小输出频率,AD7755 将不会输出任何脉冲。
图 2 AD7755应用电路原理图
Fig.2 Application Circuit Diagram of AD7755
本系统利用AD7755 的功率处理功能,在单片机的辅助作用下,实现电能的测量,方法简便有效,有很高的实用价值。
2.2 CAN总线通信系统设计
CAN的通信协议主要由CAN控制器完成。CAN控制器主要由实现CAN总线协议的部分和实现与微处理器接口部分的电路组成。对于不同型号的CAN总线通信控制器,实现CAN协议部分电路的结构和功能大多相同,而与微处理器接口部分的结构和方式存在一些差异。
本系统CAN总线系统智能节点,采用89C51 作为节点的微处理器在CAN 总线通信接口中采用PHILIPS 公司的SJA1000 和82C250 芯片,SJA1000 是独立CAN 通信控制器,82C250 为高性能CAN 总线收发器。
SJA1000是一种独立CAN控制器,它是PHILIPS公司的PCA82C200 CAN控制器的替代产品。SJA1000具有BasicCAN和PeliCAN两种工作方式 , PeliCAN工作方式支持具有很多新特性的CAN 2.0B协议。
图3为系统智能节点硬件电路原理图。从图中可以看出,电路主要由四部分所构成:微控制器89C51、独立CAN 通信控制器SJA1000、CAN总线收发器82C250和高速光电耦合器6N137。微处理器89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。
图 3 系统智能节点硬件电路原理图
Fig.3 Hardware Circuit Diagram of System Intelligent Nodes
3 系统软件设计
3.1 数据库的选择
系统的数据量大,类别多。管理复杂数据,系统数据库的设计与管理是系统成败的关键。考虑到系统数据量的大小以及与操作系统的兼容性等原则,该系统选用SQL Server 2000。SQL Server价格低廉,易用性好,较大的数据库也非常容易维护,特别适合那些需要建立大中型数据库又不是很精通数据库平台的企业。表1列出了数据库选择的一般原则。
3.2 数据库表的结构设计
根据需求分析,系统数据库中重要表的结构设计如下:
员工信息表User_Infor记录用户的相关信息,如:员工ID、员工姓名、用户权限、用户密码、联系电话、部门ID等。
部门信息表Depart_Infor记录该部门的相关信息,如:部门ID、部门名称、负责人ID、部门代号等。
房间信息表Room_Infor记录该房间的相关信息,如:采集节点ID、房间ID、部门ID等。
时间段划分表Time_Divide记录一天时间段划分信息,如:时间段、时间段ID等。
电量功率表Elec_Power记录该房间的用电量和最大功率的相关信息,如:采集节点ID、日期、时间段ID、电量、最大功率等。
图4 电量管理系统的ER图
Fig.4 the ER diagram of Electricity Management System
3.3 登录模块设计
在任何数据库应用系统中,用户要进入这个应用系统并使用其中的功能模块,都要首先通过系统的身份认证,这个过程叫做登录。一般情况下,登录模块需要完成以下任务:a)根据用户输入的用户名和密码来判断是否允许该用户进入该系统;b)根据用户类型决定用户拥有的权限。
下面是登录模块的工作流程图。
图 5 登录模块流程图
Fig.5 Flow Chart of Login Module
3.4 查询模块设计
当用户登录成功后,就进入查询界面,用户可以通过选择日期和输入时间来选择查询不同时间段的电量信息,据此可以知道自己的用电情况。对于电量管理部门,也可以以此做为限制电量、收取适当费用、制定电量规划等的重要依据。
本模块主要通过VB和SQL数据库的完美结合来实现的。
利用ADO对象模型实现应用程序中对数据源的访问操作,包括增加、删除、查询、修改等常用操作。应用程序中的关键代码如下:
Private myConn As New ADODB.Connection
Private myRecord As New ADODB.Recordset
Dim mySQL As String
Set myConn = New ADODB.Connection
myConn.ConnectionString = “Server=localhost;Database=electricity;Trusted_Connection=yes"
myConn.Open
Set myRecord = New ADODB.Recordset
myRecord.Open “ electricity” , myConn, adOpenDynamic
mySQL = “SQL语句”
myConn.Execute mySQL
Adoc1.Refresh
Set DataGrid1.DataSource = Adodc1
4 结 论
本系统利用电能计量芯片AD7755和CAN总线技术实现了一个电量远程监控系统,由于CAN总线具有可靠性高、波特率高、采用多主节点通信方式等特点,实现了高速可靠的数据通讯,SQL数据库和VB的完美结合实现了电量信息实时发布出来,实验证明这个电量远程智能监控系统式可行的。