当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于CAN总线数据采集的远程抄表系统设计

本文主要提出一种小区电能表自动抄表的系统设计方案。
随着智能化建筑在许多国家应运而生。自动抄表系统是大力发展中的智能建筑、楼宇自动化的重要组成部分,是家庭自动化的必然,因而日益受到关注。与传统抄表方式相比,智能抄表系统具有方便快捷、节省人力物力、提高工作效率、精确度高等优点。

系统构成

如图1所示,自动抄表系统主要由电能表、数据采集器、集中器、数据传输通道和后台管理服务器等组成;其中电能表主要是在传统机械式电表基础上将转盘适当改造,以便能将其转动圈数被数据采集器采集转化为电脉冲数,以达到数据采样的目的;采集器主要完成将电表用电量转换成电脉冲信号以完成数据的采集,同时还具备将采集的数据保存、通过CAN总线传输给集中器转发给后台管理系统、显示用户剩余电度数以及根据情况切断用户电路等功能。数据集中器则是通过CAN总线收集各用户电表上传数据,并通过无线GSM网络传送给后台管理服务器系统,同时数据集中器亦可将后台管理服务器各项命令转发给对应电表数据收集器,并完成相应控制。通过以上功能基本可以实现抄表管理收费一体化等工作。

图1 系统集成示意图

数据采集器硬件组成

数据采集器硬件原理如图2所示,数据采集器主要包括数据采集电路、数据保存电路以及数据传输CAN总线节点电路,同时根据其他功能扩展(如预付费功能)增加了剩余电度数显示以及通过继电器对用户电路切断和接通电路。


图2 远程抄表数据采集器硬件原理图

采集器采用单片机89C51,其内部有4KB的ROM,128字节的RAM以及32个I/O口。P1口与串行器件24C02和显示、继电器电路连接。其中的显示模块采用串行方式进行通信,分别采用P1.0、P1.1、P1.2模拟时钟信号线和数据信号线。24C02用来存储用户电度表不同时段消费电度数和用户电度表采集器编号(CAN节点标号)。P0口主要用来与CAN总线控制器SJA1000相连,用作数据线。监控电路采用DS1232芯片,它是看门狗定时器,功能是上电和掉电时给89C51、CAN控制器SJA1000产生复位信号;看门狗对系统进行监控,防止死机不能恢复。日历时钟电路采用时钟芯片PCF8583完成,由于系统中需要对用电实行分时按峰、谷、平不同时段进行节计费,因此系统中必须建立不间断供电(电池供电),以便提供实时钟。

数据采集电路采用开关型霍尔传感器A44L对加装过小磁铁的电表转盘进行将所转的圈数转化为数字信号,传感器A44L工作原理如图3a所示,集成霍尔开关是由稳压器A、霍尔电势发生器(即硅霍尔片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。(1),(2),(3)代表集成霍尔开关的三个引出端点。在输入端(1)输入电压Vcc,经稳压器稳压后加在霍尔发生器的两端。根据霍尔效应原理,当霍尔片处于磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会有一个霍尔电势差VH输出,该VH信号经放大器放大以后送至施密特触发器,使触发器整形,成为方波输送到OC门输出。当施加的磁场达到“工作点(即Bop)”时,触发器输出高电压(相对于地电位),使三极管导通,此时,OC门输出端输出低电压,通常称这种状态为“开”。当施加的磁场达到“释放点(即Brp)”时,触发器输出低电压,三极管截止,使OC门输出高电压,这时称其为“关”态,这样两次高电压变换,使霍尔开关完成了一次开关动作。Bop与Brp的差值一定,此差值Bh=Bop-Brp称为磁滞,在此差值内,Vo保持不变,因而使开关输出稳定可靠。其输出特性如图3b和图3c所示。


图3 霍尔传感器工作原理及输出特性图

CAN总线采用一种串行数据通信协议,它是一种多主总线,数据长度为8个字节,不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法可使网络内的节点个数在理论上不受限制,因此非常适合远程抄表控制系统。CAN总线控制电路如图2所示,主要由控制器89C51、CAN通信控制器SJA1000、CAN总线驱动收发器82C250组成,单片机89C51对CA控制器接收到的数据进行读取和数据发送等程序处理,为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0并不直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82C250相连,很好地实现了总线上各节点间的电器隔离。82C250的CANH和CANL引脚各自通过一个5欧姆的电阻与CAN总线相连,起到一定的限流作用,保护82C250免受过流冲击。CANH、CANL与地之间并联了两个30pF的电容,可以滤除总线上的高频干扰并起到一定的防电磁辐射的能力。另外,两根CAN总线输入端与地之间分别接防雷击管,起到一定的保护作用。

数据采集器软件设计

主程序流程

数据采集器在整个系统中有喂狗、计表、时钟校时、用户通断电、CAN总线数据发送和接收、数据存储与读取以及显示等功能,其中喂狗、计表和数据存储及CAN总线数据接收分别采用定时终端、计数中断和外部中断实现,显示功能则为预付费功能而备(本文不作要求),CAN总线数据发送采用查询方式和其他程序功能在主程序中实现。主程序流程如图4所示。


图4 主流程序图
[!--empirenews.page--]
数据采集程序说明

数据采集是将电表转盘每转一圈转化为一个周期电脉冲,单片机将此脉冲累加,从而测得电表消费度数。为了避免停电时造成计数丢失,造成电力公司损失,每计0.1度电时便将累计数据保存于24C02中;根据电度表量程,保存电表计数数据占用3个字节,前2个字节保存整数部分,后1个保存小数部分。同时考虑到24C02擦写寿命,在24C02中开辟240字节专门用于存储电表技术以轮回写入,防止将数据频繁写入固定地址而造成损坏。单片机采用定时计数器中断进行数据采集,以3000r/KWH为例,每转300圈(0.1度)采样一次并保存,程序如下:

void count0() interrupt 1 using 2

{

//工作在16位计数定模式,每计数300个脉冲中断一次,晶振使用12Mhz

tl0=0xD4;

th0=0xFE;

DOTCOUNT++;// 记录小数点后的数据,无符号字符型

if(DOTCOUNT>=10){

COUNT++; //记录整数部分,无符号整型

DOTCOUNT=0;

}

Write24C02(COUNT, DOTCOUNT,2);//2-表示保存数据为电表度数(1-用电高峰时间段设置)

//在此自程序中完成不同时间段(不同计价)分类存储。

}

CAN总线数据收发程序说明

数据采集器数据传输内容较为简单,发送出去的数据主要包括电表度数(占5个字节),接收到的数据多为命令(1-4个字节),而CAN总线每次数据可传输8个字节,因此每数据传输采用1帧即可完成。本设计采用PeliCAN工作模式(29位表示码),利用查询方式发送数据,利用外部中断0接收数据。

数据的发送由CAN控制器根据CAN协议规范自动完成。首先CPU必须将要发送的数据报文传送到CAN控制器发送缓冲器中,并置位命令寄存器中的发送请求标志,程序流程如图5所示。


图5 数据发送流程图

数据接收采用外部中断0接收,CAN控制器接收到一帧数据后,产生中断触发信号,CPU立即响应,将收到的报文接收到字节的接收缓冲器,并置位命令寄存器的释放缓冲区标志RRB。单片机根据接收数据进行命令解析,并做出相应执行。部分程序代码如下:

void INT0( ) interrupt 0 using 1

{

BYTE Length; // CAN 数据长度代码

BYTE i; //下标

bit FF //0 :标准 CAN帧 1:扩展帧

CANDR=RBF; //地址指向SJA1000接收缓冲区

ReceiveMessage[0]=CANDAT; // 读取并保存你帧报文字节

FF=ReceiveMessage[0]&0x80;

//取出帧格式

Length=ReceiveMessage[0]&0x0F;

//取出报文长度

if(Length>0x08) Length=0x08;

ReceiveMessage[1]= CANDAT; //保存报文标识码1

ReceiveMessage[2]= CANDAT; //保存报文标识码2

if(FF){

ReceiveMessage[1]= CANDAT; //保存报文标识码3

ReceiveMessage[2]= CANDAT; //保存报文标识码4

}

For(i=0;i< Length;i++) ReceiveMessage[i+3]= CANDAT; //保存帧数据

CANCON=0x04 // 释放接收缓冲区

}

数据集中器设计方案

数据收集器主要起到转发后台管理服务器和各节点间的数据传输功能,如图6所示。CAN总线控制器模块主要用来向各节点发送或接收相关数据,各节点地址通过程序设置均已被包括在对应报文29位表示码中,数据集中器可以通过广播或点对点向各用户节点发送命令数据。由于用户节点比较多,数据集中上传比较多,因此需要较多的数据接收缓冲区保存,然后通过GSM转发给后台管理服务器完成远程数据交流,因此采用有512字节内存的单片机STC89C51对CAN控制器和GSM模块进行控制。单片机控制GSM模块在Text模式下接收手机短信,短信的收发是通过向串口以文本模式发送AT指令来实现的,其编码转换格式简单,并有较高的转换速率。


图6 数据集中器示意图

结束语

本文主要以电能表为例介绍了远程抄表系统数据采集和转发的设计方案,在此基础上只要稍加修改就可开发出不同抄表系统,如预付费电表系统、远程燃气抄表系统、远程水表抄表系统等。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘要:目前,我国的沙漠及荒漠化面积仍然较大,沙漠地带的植被种植情况并不能够被很好地监测。针对这一问题,设计了一种防风固沙装置,该装置的核心为Arduino主板及辅助传感器组件,具有数据采集及显示功能,能够采集土壤湿度、环...

关键字: 防风固沙 数据采集 数据显示

摘要:针对我国智慧建筑中能耗数据远程采集的问题,将无线485数据通信模块与移动通信网络数据采集模块相结合应用于建筑能耗仪表数据采集过程中,在对《户用计量仪表数据传输技术条件》和《多功能电能表通信协议》进行研究的基础上,开...

关键字: 建筑能耗 多网融合 数据采集

大家好,我是鲏。认识我的朋友都知道,我是一个实践派,相比研究枯燥的理论知识,我更喜欢做自己想做的项目,用技术来实现自己的想法的感觉真的很棒。所以从大学期间一直到现在,除了工作中的项目外,我依然保持着自己做项目的习惯,有坚...

关键字: 系统设计 技术选型 需求分析

无锡2022年9月28日 /美通社/ -- 近日,江苏省工业和信息化厅公示2022年(第9批)省级软件企业技术中心拟认定名单,经企业申报、各市推荐、形式审查、专家评审等程序,浪潮卓数大数据产业发展有限公司(简称浪潮卓数)...

关键字: 软件 数据流 数据安全 数据采集

摘要:为了实现对不同品牌机器人的实时监控以及集中管理,实现机器人的互通互联,设计了一套基于NC-Link的机器人远程监控系统。NC-Link适配器通过机器人的二次开发接口对机器人进行数据采集,然后将采集到的数据通过htt...

关键字: 工业机器人 数据采集 远程监控

在数据采集领域,RC滤波器是最常见的信号调理电路,以前我介绍过RC低通滤波器,今天介绍下与之对应的RC高通滤波器,二者结构对比见下图。

关键字: 数据采集 RC滤波器 高通滤波器

汽车电子系统架构发生了颠覆性变化。它已经持续了近十年,现在正在加快速度。这主要发生在 BEV 初创公司中,因为它们没有历史限制或根深蒂固的喜爱设计,并且可以从电子架构的零基础开始。

关键字: CAN总线 电动汽车

(全球TMT2022年8月30日讯)近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部件的最...

关键字: 系统设计 英特尔 数据中心 生态系统

北京2022年8月30日 /美通社/ -- 近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部...

关键字: 系统设计 英特尔 数据中心 电量

摘要:近年来,受人类活动的影响,各大水域的水质污染问题越来越严重,大部分水资源受到严重污染,水质处理问题亟需解决。分析水体污染情况对改进水质有着重要意义,目前水质监测主要采用人工或无人船的方式。人工监测方式工作量大,影响...

关键字: 水质监测 无人机 系统设计

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭