跳转到主要内容

电源类CAN协议标准

为了更好的兼容不同设备,我们规范了CAN协议的标准,使得同类型不同型号设备能无缝切换,自动被ROS识别并直接使用,方便更换硬件时候的软件移植工作。以下为电源使用的专用CAN协议。

请先确保阅读了CAN协议构架说明再开始以下内容

请注意使用设备CANID替换表中XX部分

电源类设备的大类ID为 06


电源指令总表

此表展示了专用指令的所有指令内容,方便快速查询和定位

指令集

 

反馈集

重要性

说明

设备对象

命令内容

大类

(00~1F)

型号

(00~FF)

编号

(00~FF)

功能

(00~FF)

 

大类

(00~1F)

型号

(00~FF)

编号

(00~FF)

功能

(00~FF)

反馈内容

周期性

电池

/

/

/

/

/

 

06

xx

xx

B1

BMS状态信息

周期反馈

必备

 

/

/

/

/

/

 

06

xx

xx

B2

BMS数据反馈

周期反馈

必备

 

充电站

充电站设置

06

xx

xx

13

 

06

xx

xx

B3

充电站状态信息

周期反馈

必备

 

/

/

/

/

/

 

06

xx

xx

B4

充电站数据反馈

周期反馈

必备

 

数字电源

数字电源设置

06

xx

xx

15

 

06

xx

xx

B5

电源数据反馈

周期反馈

必备

 


1. BMS状态信息 

用于带有BMS功能的电池包的数据采集

BMS状态信息

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 06 XX XX B1

4

1000

数据位

功能

数据类型

说明

byte[0]

工作状态

unsigned int8

0x00: 正常 / 0x01: 警告 /0x02: 保护

byte[1]

警告状态

unsigned int8

警告状态表

byte[2]

保护状态

unsigned int8

保护状态表

byte[3]

充电标识

unsigned int8

0x00: 未充电 / 0x01: 充电中

byte[4~7]

/

/

/

警告状态表

说明

bit[0]

0: 正常 / 1: 警告

电池过压警告

bit[1]

0: 正常 / 1: 警告

电池欠压警告

bit[2]

0: 正常 / 1: 警告

电池高温警告

bit[3]

0: 正常 / 1: 警告

电池低温警告

bit[4]

0: 正常 / 1: 警告

放电过流警告

bit[5]

0: 正常/ 1: 警告

充电过流警告

bit[6]

0: 正常 / 1: 警告

低电量警告(SOC<20%)

bit[7]

/

/

保护状态表

说明

bit[0]

0: 正常 / 1: 触发

电池过压保护

bit[1]

0: 正常 / 1: 触发

电池欠压保护

bit[2]

0: 正常 / 1: 触发

电池高温保护

bit[3]

0: 正常 / 1: 触发

电池低温保护

bit[4]

0: 正常 / 1: 触发

放电过流保护

bit[5]

0: 正常 / 1: 触发

充电过流保护

bit[6]

0: 正常 / 1: 触发

低电量保护(SOC<10%)

bit[7]

0: 正常 / 1: 触发

短路保护

电池包必须带有BMS才能使用该功能

举例: 型号0x01 编号0x02 的BMS 充电中。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

/

/

/

/

/

上位机

0x06 01 02 B1

数据帧

扩展帧

4

00 00 00 01


2. BMS数据反馈 

用于带有BMS功能的电池包的数据采集

BMS数据反馈

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 06 XX XX B2

8

500

数据位

功能

数据类型

说明

byte[0]

SOC

unsigned int8

范围 0~100

byte[1]

SOH

unsigned int8

范围 0~100

byte[2]

电池电压低8位

unsigned int16

单位:0.01V

byte[3]

电池电压高8位

byte[4]

电池电流低8位

signed int16

单位:0.1A

byte[5]

电池电流高8位

byte[6]

电池温度低8位

signed int16

单位:0.1℃

byte[7]

电池温度高8位

电池包必须带有BMS才能使用该功能

举例: 型号0x01 编号0x02 的BMS 满电48V反馈。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

/

/

/

/

/

上位机

0x06 01 02 B2

数据帧

扩展帧

8

64 64 C0 12 00 00 68 01


3. 充电站设置 

用于配套的自动充电站的设置

充电站设置

发送方

接收方

CAN ID

数据长度

周期(ms

外部

本设备

0x 06 XX XX 13

5

/

数据位

功能

数据类型

说明

byte[0]

工作模式

unsigned int8

0:自动(默认) /1:手动

查看工作模式功能表

byte[1]

手动开关设置(仅手动模式有效)

unsigned int8

0:断开(默认) /1:连接

查看工作模式功能表

byte[2]

蜂鸣器使能(报警无法关闭)

unsigned int8

0:关闭 /1:开启(默认)

byte[3]

再充电压差值(与满电电压的压差)

unsigned int8

单位:0.1V(默认1.0V)

byte[4]

充电截至电流

unsigned int8

单位:0.1A(默认0.2A)

byte[5~7]

/

/

/

充电站状态信息

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 06 XX XX B3

7

500/接触触发(看备注)

数据位

功能

数据类型

说明

byte[0]

工作模式

unsigned int8

0:自动 /1:手动

byte[1]

充电站探测状态

unsigned int8

0:未接触 /1:已接触

byte[2]

工作状态

unsigned int8

0: 断开/ 1:连接 / 2:已充满(低电流) / 3:错误

byte[3]

错误状态

unsigned int8

查看错误状态表

byte[4]

蜂鸣器使能状态

unsigned int8

0:关闭 /1:开启(默认)

byte[5]

再充电压差值

unsigned int8

单位:0.1V(默认1.0V)

byte[6]

充电截至电流

unsigned int8

单位:0.1A(默认0.2A)

byte[7]

/

/

/

错误状态表

字节

状态值

说明

byte[3]

0x00

无错误

0x01

电源过压

0x02

充电过流

0x03

短路保护

工作状态指示表

工作状态

LED状态

蜂鸣器状态

断开(未接触)

无灯

断开(已接触)

绿灯闪烁

连接

红绿交替

已充满

绿灯常亮

错误

红灯常亮

按规定的错误发声模式

工作模式功能表

工作模式

探测状态

手动开关

工作状态

自动

未接触

无效

断开

接触

无效

连接

手动

未接触

无效

断开

接触

连接

连接

断开(默认)

断开

一般反馈周期为500ms,如果出现充电站探测变化则立即发送充电站状态信息帧

再冲电电压差指完成第一次充电后,如果电池电压下降超过设置的压差值,会再次启动充电

举例: 型号0x02 编号0x03 的充电站 手动控制连接。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

0x06 02 03 13

数据帧

扩展帧

5

01 01 00 0A 02

上位机

0x06 02 03 B3

数据帧

扩展帧

7

01 01 01 00 00 0A 02


4. 充电站数据反馈

用于配套的自动充电站的充电数据反馈

充电站数据反馈

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 06 XX XX B4

4

500

数据位

功能

数据类型

说明

byte[0]

充电电压低8位

unsigned int16

单位:0.01V

byte[1]

充电电压高8位

byte[2]

充电电流低8位

signed int16

单位:0.1A

byte[3]

充电电流高8位

byte[4~7]

/

/

/

举例: 型号0x02 编号0x03 的充电站48V 1A充电。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

/

/

/

/

/

上位机

0x06 02 03 B4

数据帧

扩展帧

4

C0 12 0A 00


5. 数字电源设置

用于专用的数字电源

数字电源设置

发送方

接收方

CAN ID

数据长度

周期(ms

外部

本设备

0x 06 XX XX 15

8

/

数据位

功能

数据类型

说明

byte[0]

电源通道ID

unsigned int8

1~255

byte[1]

模式

unsigned int8

1:恒压模式 / 2:恒流模式

byte[2]

反馈周期

unsigned int8

单位ms

byte[3]

/

/

/

byte[4]

输出电流或最大电流

unsigned int16

单位 mA
恒压模式为最大电流

byte[5]

byte[6]

输出电压或最大电压

unsigned int16

单位 mV
恒流模式为最大电压

byte[7]

数字电源数据反馈

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 06 XX XX B5

8

按设置周期

数据位

功能

数据类型

说明

byte[0]

电源通道ID

unsigned int8

1~255

byte[1]

模式

unsigned int8

1:恒压模式 / 2:恒流模式

byte[2]

错误码

unsigned int8

查看错误状态码

byte[3]

/

/

/

byte[4]

输出电流或最大电流

unsigned int16

单位 mA
恒压模式为最大电流

byte[5]

byte[6]

输出电压或最大电压

unsigned int16

单位 mV
恒流模式为最大电压

byte[7]

错误状态表

字节

状态值

说明

byte[2]

0x00

无错误

0x01

电源过压

0x02

电源过流

0x03

电源过温