The Lithiumate BMS (rev 1.25 and up) interfaces with a single Eltek Valere PowerCharger charger through the CAN bus.
Connect the CANH and CANL lines of the BMS to the CANH and CANL lines of the charger.
The CAN bus needs two terminations, one at each end of the bus.
The BMS has an internal termination. The charger does not.
The charger is factory preconfigured to operate with the BMS.
Configure the BMS to operate with the charger.
- Turn on sending messages to this charger:
- Rev 1.32 and older:
- Turn off messages to other chargers: Home / Set-up / More / CAN bus / Communication with other devices / (other chargers) / No
- Turn on messages to this charger: Home / Set-up / More / CAN bus / Communication with other devices / Eltek charger / Yes
- Rev 1.33 and newer:
- Select messages to this charger: Home / Set-up / More / CAN bus / Communication with other devices / Chargers / Eltek
- Rev 2.00 and newer:
- Select messages to this charger through the GUI, Configure tab, Communication sub-tab, Chargers section, select Eltek Valere with the pull down menu
- Set up receiving the charger current from this charger:
- Set-up charger current CAN messages: Home / Set-up / Current sense / Source current / CAN message / ...
- ... ID: set to 305h
- ... 1st data byte: set to 3
- ... Length: set to 3: low-hi (little-endian)
- ... Offset: set to 0
- ... Units: set to 100 [mA/count]
- ... Direction: set to Yes: + = into battery
- Reset the BMS controller for this to take effect (power down, & power up, or Home / 6/ 7)
- If required, change the CAN speed to match the CAN speed of the charger:
- Home / Set-up / Set-up / More / CAN bus / Can Bus rate
Eltek Valere chargers are not able to be controlled as a single unit.
(Other charger manufacturers allow their chargers to be controller as a single unit by making one of them the master, and the other ones follow the master; then, the system only needs to talk to the master, and listen to the master).
Yes, multiple Eltek Valere chargers can all listen to the same message (such as the broadcast message, at CAN ID 2FFh), and be controlled by it.
Controlling them on and off is not the problem.
The problem is controlling the output current: if the system says "10 A", all the chargers will put out 10 A, so the total current will be 10 A times the number of chargers (e.g.: for 3 chargers, 3 * 10 A = 30 A), not just 10 A.
The other problem is that they also all talk at the same time, and the system does not know which message to listen to; if they all use the same CAN ID, then the system may get confused by conflicting data, and will not add up the current reported by each charger.
If they use different IDs, then the system can only listen to one of them.
Therefore, multiple Eltek Valere chargers require a special device that acts as a master for the chargers.
That charger master is programmed for the specific application, based on the number of chargers that are in use.
That charger master must:
a) Get the desired current from the system, divide it by the number of chargers, and send the result to each charger; and
b) Receive the status from each charger, at separate CAN IDs, and combine those data into a single message, to send to the system.
This is an issue with the way the Eltek Valere chargers are designed (it is not a problem with other CAN-enabled chargers);
it is a problem regardless of which BMS you use (it is not related to the Lithiumate Pro).
There are two possible solutions:
- Operate the chargers as dumb chargers:
Do not use the CAN bus of the chargers.
a) Let the BMS turn them on (at full power) and off through hardware
b) Use a current sensor to tell the BMS the value of the charger current
c) Configure the BMS to tell it that the chargers are dumb, to avoid a fault if the current exceeds the requested current
- Make your own charger master.
Get an off-the-shelf ECU and design software for it to make it act as a chargVr master.
This is something that Eltek Valere should design and sell; but, since they don't, the clients will have to do it.
If your vehicle already has an VCU (Vehicle Control Unit) that is powered whenever the vehicle is plugged in the AC power, you can add that charger master function to the VCU.
If enabled (see above), the Lithiumate interfaces seamlessly with a Eltek Valere charger.
Notes:
- Multi-byte values are little-endian: the MSB (Most Significant Byte) is in the higher numbered data byte (the right most byte in the following tables)
ID
| Bytes
| Byte 0
| Byte 1
| Byte 2
| Byte 3
| Byte 4
| Byte 5
| Byte 6
|
2FFh
| 7
| Enable (1)
| Max power (2)
| Max voltage (3)
| Max current (4)
|
Notes:
- Control flags. Only 1 bit is used, all others are 0:
- Bit 0: 1 to enable charging; 0 to disable charging
- Maximum power [0.1 %] little-endian
- Maximum DC output voltage [100 mV] little-endian
- Set to the pack voltage when all the cells are full and balanced (Max cell voltage x number of cells in series)
- Maximum DC output current [100 mA] little-endian
The BMS controller looks for battery current information on the CAN bus from a single charger.
(If multiple chargers are used, and they use different CAN IDs, the BMS can only read current from only one charger.)
ID
| Bytes
| Byte 0
| Byte 1
| Byte 2
| Byte 3
| Byte 4
| Byte 5
| Byte 6
| Byte 7
|
305h
| 8
|
| Current (1)
|
|
Notes:
- [100 mA], + = into battery, little-endian.
Eltek did not implement a master-slave solution to handle multiple chargers (as other charger manufacturers have), and has indicated that it does not intend to.
Therefore, it is not possible to interface directly through the CAN bus between a BMS and multiple Eltec chargers:
while it is possible to use a broadcast message to turn on and off multiple chargers, it is not possible to set the total current from all chargers, and it is not possible to read the total current from all chargers.
This is a limitation of Eltek's implementation, and affects all BMSs (it is not a limitation of the Lithiumate BMS).
To use multple Eltek chargers, a CAN gateway must be added which does the following:
- Is configured to know how many chargers are used, and the CAN ID of each charger
- Get the desired current from the BMS, divide it equally by the number of chargers used to get each charger's current, and send it to the chargers
- Get the current reading from each charger, add the values to get the total current, and send it to the BMS