Functional Description
Last updated
Last updated
The Helot series communication protocol is based upon a predicate protocol initially developed for Zeva's BMS Modules. Hence, Helot modules are designed to be drop-in replacements.
The module's standard bus speed is 250kbps, frame format is CAN 2.0B using 29-bit ID's.
There are a total of five (5) different frame types:
– One (1) request data frame.
– Four (4) response data frames.
The master/controller sends the BMS100 series module a 2-byte request containing the desired shunt voltage in 16-bit big endian format.
The module will inhibit shunting if the internal 1s timer elapses between CAN messages, or if the master/controller sends a requested shunt voltage of 0.
After receiving a request data frame from the master/controller, the BMS100 series module will send four response frames in succession.
The first being 8 bytes in size, containing the sampled 16-bit voltages 1 to 4, in millivolts -- big endian format.
The second being 8 bytes in size, containing the sampled 16-bit voltages 5 to 8, in millivolts -- big endian format.
The third being 8 bytes in size, containing the sampled 16-bit voltages 9 to 12, in millivolts -- big endian format.
The fourth being 2 bytes in size, containing the sampled 8-bit temperatures, with a +40C offset.
The master/controller logic must subtract 40 from each temperature for actual values.
The same request/response packet structure is used across all variants.
For variants <12S, the unused bytes are zeroed.
The module will enable shunts across cells that exceed the requested shunt voltage received from the master/controller.
This will continue until the internal 1s timer elapses between CAN messages or until the cell voltage is below the requested shunt voltage.
A master/controller request rate of 2 Hz is recommended for reliable continuous balancing.
PACKET/BYTE | 12S | 10S | 8S | 6S |
---|---|---|---|---|
ID
module_address + 0
BYTE 1
shunt voltage in millivolts, high byte
BYTE 2
shunt voltage in millivolts, low byte
ID
module_address + 1
BYTE 1
cell 1 voltage in millivolts, high byte
BYTE 2
cell 1 voltage in millivolts, low byte
BYTE 3
cell 2 voltage in millivolts, high byte
BYTE 4
cell 2 voltage in millivolts, low byte
BYTE 5
cell 3 voltage in millivolts, high byte
BYTE 6
cell 3 voltage in millivolts, low byte
BYTE 7
cell 4 voltage in millivolts, high byte
BYTE 8
cell 4 voltage in millivolts, low byte
ID
module_address + 2
BYTE 1
cell 5 voltage in millivolts, high byte
BYTE 2
cell 5 voltage in millivolts, low byte
BYTE 3
cell 6 voltage in millivolts, high byte
BYTE 4
cell 6 voltage in millivolts, low byte
BYTE 5
cell 7 voltage in millivolts, high byte
BYTE 6
cell 7 voltage in millivolts, low byte
BYTE 7
cell 8 voltage in millivolts, high byte
BYTE 8
cell 8 voltage in millivolts, low byte
ID
module_address + 3
BYTE 1
cell 9 voltage in millivolts, high byte
BYTE 2
cell 9 voltage in millivolts, low byte
BYTE 3
cell 10 voltage in millivolts, high byte
BYTE 4
cell 10 voltage in millivolts, low byte
BYTE 5
cell 11 voltage in millivolts, high byte
BYTE 6
cell 11 voltage in millivolts, low byte
BYTE 7
cell 12 voltage in millivolts, high byte
BYTE 8
cell 12 voltage in millivolts, low byte
ID
module_address + 4
BYTE 1
temperature 1 in degrees celcius (+40)
BYTE 2
temperature 2 in degrees celcius (+40)
module_address + 1 / 1
cell 1 H
cell 1 H
cell 1 H
cell 1 H
module_address + 1 / 2
cell 1 L
cell 1 L
cell 1 L
cell 1 L
module_address + 1 / 3
cell 2 H
cell 2 H
cell 2 H
cell 2 H
module_address + 1 / 4
cell 2 L
cell 2 L
cell 2 L
cell 2 L
module_address + 1 / 5
cell 3 H
cell 3 H
cell 3 H
cell 3 H
module_address + 1 / 6
cell 3 L
cell 3 L
cell 3 L
cell 3 L
module_address + 1 / 7
cell 4 H
cell 4 H
cell 4 H
cell 4 H
module_address + 1 / 8
cell 4 L
cell 4 L
cell 4 L
cell 4 L
module_address + 2 / 1
cell 5 H
cell 5 H
cell 5 H
cell 5 H
module_address + 2 / 2
cell 5 L
cell 5 L
cell 5 L
cell 5 L
module_address + 2 / 3
cell 6 H
cell 6 H
cell 6 H
cell 6 H
module_address + 2 / 4
cell 6 L
cell 6 L
cell 6 L
cell 6 L
module_address + 2 / 5
cell 7 H
cell 7 H
cell 7 H
0
module_address + 2 / 6
cell 7 L
cell 7 L
cell 7 L
0
module_address + 2 / 7
cell 8 H
cell 8 H
cell 8 H
0
module_address + 2 / 8
cell 8 L
cell 8 L
cell 8 L
0
module_address + 3 / 1
cell 9 H
cell 9 H
0
0
module_address + 3 / 2
cell 9 L
cell 9 L
0
0
module_address + 3 / 3
cell 10 H
cell 10 H
0
0
module_address + 3 / 4
cell 10 L
cell 10 L
0
0
module_address + 3 / 5
cell 11 H
0
0
0
module_address + 3 / 6
cell 11 L
0
0
0
module_address + 3 / 7
cell 12 H
0
0
0
module_address + 3 / 8
cell 12 L
0
0
0