Issuu on Google+

Mechanical Engineering and Design December 2012, Volume 1, Issue 1, PP.14-17

Research on CAN Bus System for Batteries Charger Bingwen Hao, Sheng Zheng

Department of Information Engineering, Taiyuan University of Technology, Taiyuan 030024, China #Email: 18635161232@126.com

Abstract Situations concerning that since we are not able to monitor the charging status on traditional batteries charger, which leads overcharge or lack of charge and a single batteries charger is not capable to offer enough power where there needs large charging power. Demonstrating a project adding the CAN Bus system on batteries chargers which will connect with the battery management system and that will achieve the aim of real-time monitoring without any overcharge and lack of charge. This project also results in multi-charger network which makes chargers coordinate to work with avoiding the fact of limited output power. And illustrates details in the processing of the designation of both hardware and software of the CAN Bus system. Keywords: Batteries charger; CAN bus system; Real-time monitoring; Network

充电机的 CAN 总线系统研究 郝秉文、郑晟 (太原理工大学 信息工程学院,山西省 太原市 030024) 摘

要:针对传统充电机在充电过程中,由于不能实时监测电池充电状态,而导致的电池过充或充不满;在需要很大充电

功率的地方,单台充电机不能满足功率需求等现象。提出了在充电机上加入 CAN 总线系统的设计方案,实现与电池管理 系统的接口,实时监控充电机,避免发生过充或充不满等现象;而且可以实现多台充电机组网,使多台充电机协同工作, 来弥补单台充电机功率受限的缺陷。并详细介绍了这种 CAN 总线系统的软硬件设计流程。 关键词:充电机;CAN 总线;实时监控;组网

引言 随着电动汽车的发展,以及电池管理系统(BMS)的应用,随之对配套使用的充电机的要求也是日 益提高。传统的充电机不具备与电池管理系统通信的功能,在实时性和可靠性要求较高的今天,这无疑 成为它走向没落的主要原因之一。而数字技术的飞速进步,充电机智能化必将成为其发展的主要趋势。

1

CAN 总线技术简介 CAN 控制器局部网(Controller Area Network)是 BOSCH 公司为现代汽车应用领域推出的一

种多主机局部网,由于其卓越的性能,受到了全球各大汽车生产厂商的青睐。 CAN 总线提供高速数据传送, 在短距离(40m)条件下具有高速(1Mbit/s)数据传输能力,而在最大距 离 10000m 时具有低速(5kbits/s)传输能力,极适合在高速的工业自控应用上 [1]。CAN 是一种多主方 式的串行通信总线, 多个节点同时发送时,依据报文的优先权而不是节点的优先权进行总线访问控制[2]。

2 系统总体结构方案 图 1 给出了多台充电机在协同工作时与电池管理系统(BMS)和电池组的连接关系。每台充电机都 有自己确定而且唯一的地址,每台充电机实时接收 BMS 发送的数据,根据 BMS 要求调整工作状态。图 中充电机之间的连线代表充电机输出是并联在一起,120R 是 CAN 总线的两个 120 欧姆匹配电阻。这里 -14www.ivypub.org/med


的挂在 CAN 总线上的充电机数量可以是一台,这样就成为了点对点的通信,也可以是多台,可达 110 个节点[3]。 BMS

电池组

CAN 总线

120R

CANH CANL

#1 充电机

#2 充电机

……

#n 充电机 充电机输出

图 1 充电机组网连接图

图 2 给出了充电机的 CAN 总线系统的总体结构。从图中可以看出,整体的方案由充电机输出、微控 制器、CAN 控制器、光耦隔离和 CAN 收发器这 5 个部分组成,这样就可以实现充电机的智能化,增加 了灵活性,和安全性。

充电机 输出

CAN 控 制器

微控制 器

光电隔 离

图 2 充电机 CAN 总线系统总体结构图

CAN 收 发器 CAN 总线

3 系统硬件设计 实现这一系统离不开硬件的支持,而对于上面给出的充电机输出部分同过去的传统充电机没有本质 区别。下面就余下的 4 个部分进行阐述。 首先是微控制器,主要完成数据的采集、转换,以及控制充电机工作,这里采用了 Atmel 公司生产 的 8 位微控制芯片 ATmega16,其内部自带了 8 路 10 位的 AD 转换器,用来采集充电机工作时的电压, 电流,温度等模拟量,实现充电机过压、过流、过热等保护功能。 CAN 控制器采用飞利浦公司的 SJA1000。SJA1000 有 2 种不同的工作模式: BasicCAN 模式和 PeliCAN 模式,这里为了与 BMS 通讯协议接口,采用 PeliCAN 模式[4]。 CAN 收发器使用的是 TI 的 ISO1050,可以说它是集 CAN 收发器与隔离于一体的器件,与采用光耦 隔离相比,ISO1050 可将系统级功耗降低 38%,超低的电磁辐射(EME)可支持工业传感器等高灵敏度 模拟应用。 所以,这里使用的 ISO1050 即完成了隔离的工作,也实现了 CAN 收发器的功能[5]。电源隔 离采用的是 B0505S-1W 的 DC/DC 隔离电源。 图 3 是充电机 CAN 总线系统的部分硬件原理图。图中给出的仅是 ATmega16 与 SJA1000、ISO1050 的连接图,其中 VCC 是隔离侧的供电电源,GD 是隔离侧的公共地。

4 系统软件设计 实现通信的基础是通信协议的统一。在 CAN2.0B 的版本协议中有两种不同的帧格式,不同之处 为标识符域的长度不一致,拥有 11 位标识符的帧称之为标准帧,而含有 29 位标识符的帧被称为 扩展帧,扩展格式是 CAN2.0B 协议新增加的特性 [8] 。在本设计中采用的就是扩展帧,29 标识符。 CAN2.0B 规范仅定义了 OSI 模型的数据链路层和物理层,在构建 CAN 总线通讯网络时, 用户可以根据 -15www.ivypub.org/med


控制系统的具体需求,在现有的 CAN 底层协议之上来开发用户应用要求的高层协议,所以说 CAN 总线 是一种协议相对开放的总线结构[6]。 VCC 8 CANH 7 CANL 6 5

VCC 2 1

IN+ OUT+ B0505S INOUT-

GND

V5 4 3 GD

XTAL1 XTAL2 TX0 RX0 TX1 CLOCKOUT RX1 Vss1 Vss2 Vss3 MODE Vdd1 Vdd2 Vdd3 SJA1000

GND

GD

9 10 13 19 14 7 20 8 21 15 11 22 18 12

RST AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 ALE CS RD WR INT

17 23 24 25 26 27 28 1 2 3 4 5 6 16

40 41 42 43 44 1 2 3 11 13 14 15 12

PB0 6 PB1 RESET PB2 PB3 28 PB4 GND 5 PB5 VCC 29 PB6 AREF 27 PB7 AVCC 7 PD2 XTAL2 8 PD4 XTAL1 PD5 PD6 PD3(INT1) ATmega16-16AI

VCC2 VCC1 CANH TXD ISO1050 CANL RXD GND2 GND1

V5 1 3 2 4

图3 充电机CAN总线部分硬件原理图

作者在设计实际案例时使用的是GB/T 27930-2011 电动汽车非车载传导式充电机与电池管理系统之间 的通信协议[7],协议详细的规定了CAN总线系统的传输方式,以及传输数据的含义。 本设计的软件设计主要包括:微控制器ATmega16初始化,CAN控制芯片SJA1000的初始化。每台充电 机在总线上的地址按照协议分配,还有就是对充电机的检测与控制部分,包括开、关机,故障检测;电压、 电流、温度等模拟量的采样处理等。 CAN总线的通信包括发送数据和接收数据,发送采用定时发送,将充电机当前工作时的电压、电流等 状态量,通过微控制器AD采样,转化,定时发送到总线上以实现实时监控。接收也有两种方式,可以使 用查询接收,也可以使用中断接收。因为SJA1000有INT引脚,它在SJA1000开接收中断情况下,当SJA1000 接收完一个完整的报文后,会产生一个中断信号,将此引脚拉为低电平,故将SJA1000的INT引脚接在 ATmega16的外中断1(INT1)引脚上,这样就可以“高效”地控制CAN通信了。图4给出了单台充电机完整 的控制流程图。

图4 控制流程图 -16www.ivypub.org/med


在多台充电机组网协同工作的情况下,总线上发送的报文分为广播报文和对特定地址发送的报文。广 播报文要求总线上的每台充电机都要接收,而特定地址的报文只是针对特定充电机。所以,在软件设计时 要对这些报文进行区分。 在组网工作时,只要将每台机器连接在CAN总线上,根据接收到的数据来确定工作状态,由于每台充 电机都有自己独立的地址,不属于本地址的数据不会接收,这样大大提高了系统的可靠性。

5 总结 本设计在传统的充电机上加入 CAN 总线系统,通过电池管理系统(BMS)对其进行控制,可以使充 电机的组网协同工作,弥补单台充电机功率不足的缺陷,又达到了充电机的智能化,与电池的结合也更加 紧密,保证了在无人值守的情况下,也可以安全、可靠的为电池充电,大大提高了自动化水平。本设计已 在充电机上得到广泛使用,效果良好,有很高的参考价值。

REFERENCES [1]

Li Zhenghua,Zhang Jian.“CAN bus easy entry and practice.”In Beijing:Beijing University of Aeronautics and Astronautics Press.9-10,2011

[2]

Ye Min, Kong Degang, Cao Binggang.“Energy Management System for Electric Vehicle Based on CAN Bus.” Computer Measurement & Contro.1428-1431,2010,18(6)

[3]

Chen Wei. “ Design of CAN Intelligent Communication Board Based on MSP430. ”

Instrument Technique and

Sensor.July,54-56,2010 [4]

Li Yufeng,Lu Zhenyang,Liu Jia,Chen Shujun.“Research on CAN bus system for digital controlled welding machine.” Electric Welding Machine,17-73,2010

[5]

Wang Qiang, Zhang Jianxi.“Design of connection between RS232 communication network and CAN bus communication network.” Computer Technology and Its Applications, 9(36):158-160,2010

[6]

Zhang Shouhui, Yu Huishan, Ji Xiaokua, Liu Xinjian,“Fuzzy PID tension control system based on CAN bus.”Manufacturing Automation,21-23,2012

[7]

GB/T 27930-2011 The communication protocol between the non-vehicle conductive charging of electric vehicles and battery management system.

[8]

Philips Semicondutors.SJA1000 Stand alone CAN controller.2000.1

【作者简介】 1

郝秉文(1989-),男,蒙古族,

硕士研究生,电力电子与嵌入式,

2

郑晟(1964-),男,汉族,硕士,副教授,智能控制

及装置,Email:haobii002@126.com。

Email:18635161232@126.com 。

-17www.ivypub.org/med


Research on CAN Bus System for Batteries