新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于ADE7755的带CAN总线的工业用电度表设计

基于ADE7755的带CAN总线的工业用电度表设计

作者: 时间:2011-09-13 来源:网络 收藏

电源电路的

  所用的+2.5V基准电压是用AD780实现的,其接口电路简单。5V的基准电源电路如图3所示:

  图3 5V基准电源电路

  经过此电路可以在电源模块MC7805的3端得到+5V的基准电源。其中R25为压敏变阻器。

  P87C591外围电路和部分

  通过P87C591电路可以实现指定时间内用电量的计算、数据存储、修改数值和通过图4所示的收发电路实现与上位机的通信。

  图4 收发电路

  连接P87C591和单片机之间的芯片是P82C250。图4这部分电路的原理可以参考有关CAN总线方面的资料,这里也不再阐述。

  软件部分设计

  本方案的软件部分主要由主程序和中断服务子程序组成。其中主程序完成的功能有芯片和CAN总线的初始化、进行电量的计算和存储。

  中断服务子程序完成的功能是利用CAN总线实现和主机之间的通信和电表初值的设定。其中电表初值设置由上位机完成,这样可以节省单片机的外围电路并且可以防止现场人为恶意的更改电量值。其中CAN总线的初始化程序如下:

  voidinit_can_controller()

  {

  //进入CAN控制器复位模式

  CANMOD=0x01; //将CAN控制器设置为复位模式以启动初始化

  //TXDCPort(P1.1)配置

  //管脚TXDC设置为推挽模式

  P1M2=P1M2|0x02;//P1M2.1=’1’,P1M1.1=’0’(默认)

  CANADR=BTR0; //BTR0和BTR1编程为125kbit/s@12MHz

  CANDAT=0x45;

  CANADR=BTR1;//TSEG1=12,TSEG2=3,SJW=2

  CANDAT=0x2B;//Sample=1->sample point~81%

  //验收滤波器的配置-- Bank1的滤波器1配置为接收ID=010.0000.0xxx

  CANADR=ACR10;//将地址设置到验收代码寄存器0(Bank1)

  CANDAT=0x50;//验收代码0用于滤波

  CANDAT=0xE0;

  CANADR=AMR10;//将地址设置到验收屏蔽寄存器0(Bank1)

  CANDAT=0x00;//bank1:验收屏蔽0

  CANDAT=0x0F;//bank1:验收屏蔽1只与高四位有关

  CANDAT=0xFF;//bank1:验收屏蔽2无关

  CANDAT=0xFF;//bank1:验收屏蔽3无关

  CANADR=ACFMOD;//将地址设置到ACF模式寄存器

  CANDAT=0x55;//单验收滤波器使用11位ID(SFF)

  CANADR=ACFPRIO;//将地址设置到ACF优先级寄存器

  CANDAT=0xFF;//所有滤波器都为高优先级

  结束语

  综上所述,由于是专用电量计量芯片,且具有抗干扰的优点,而P87C591及其外围电路也是当前成熟的技术,其可靠性和抗干扰性都得到了实际验证,所以本方案简单易行。

  本方案虽是针对改进电力机车而设计的。但由于电力机车工作于谐波污染严重工况,所以可以根据本方案针对实际情况作相应改动以适用于不同的工业场合。

电度表相关文章:电度表原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭