Following on from this thread
viewtopic.php?p=72895#p72895
and this post
viewtopic.php?p=72834#p72834
I am starting this thread to evolve a how-to for Eltek charger control. The focus will be on making things as explicit as possible.
I will spend the first few posts assembling information and listing sources. Then I will start trying to put it all together into a working implementation. If all goes according to plan I will create a wiki entry and link to it in the last post of this thread.
Eltek/Volvo charger control
-
- Posts: 155
- Joined: Fri Feb 25, 2022 3:16 pm
- Has thanked: 40 times
- Been thanked: 22 times
-
- Posts: 155
- Joined: Fri Feb 25, 2022 3:16 pm
- Has thanked: 40 times
- Been thanked: 22 times
Re: Eltek/Volvo charger control
Ok, I will update this thread as time allows.
Firstly, it is important to say that actually, this is a solved problem, and arber333 has done the bulk of this work, so all credit to him. I am simply not technically knowledgeable enough (yet) to follow his guidance. I am using this thread to basically assemble all his stuff in one place and then put the pieces together into a guide for dummies (me). My contribution, I hope, will simply be in assembling this into a guide.
Some links, harvested from this forum and arber's blog:
- Original thread for this component: viewtopic.php?t=1972
- IP20 version installation guide, with specs and pinout https://www.rec-bms.com/datasheet/EltekGuideIP20.pdf
- IP67 version installation guide, with specs and pinout https://leafdriveblog.wordpress.com/wp- ... 710111.pdf
- CAN protocol: https://www.rec-bms.com/datasheet/EVPow ... otocol.pdf
- Openinverter Wiki page for this charger (I will update this as I go): https://openinverter.org/wiki/Eltek_chargers
- tom91 has a GitHub repo for this charger, but no documentation https://github.com/Tom-evnut/Eltek-Charger-Programming
General specs:
1. Tested up to 415V
2. Provides 3kw of charging
3. Current tapers as target voltage approaches to stay within 3kw limit
4. IP67 version is water cooled - need to remove up to 220w of heat
5. Product codes 31394702, 30659929, 31453939
Technical Challenge
arber has documented CAN commands at these links -
- https://leafdriveblog.wordpress.com/202 ... 41121-030/
- https://leafdriveblog.wordpress.com/201 ... w-charger/
- viewtopic.php?p=32515#p32515
Miscellaneous info
- IP67 keepalive is 800ms, IP20 is 200ms
- CAN is the same
- Volvo version has additional HV connector
- CANBUS connector: Molex micro-fit fits fine, only the lock is on the wide side instead of on the short side.
- arber is connecting the Eltek directly to the battery, before the contactors.
- reason given is that Eltek runs a resonance circuit (no idea what that is) which can be detrimental is there is no load on the output side.
- the charger has a built-in 16A fuse
Out of scope
- Combining 3 chargers into one for 3 phase, 9kw charging. Refer to the original thread from this message onwards for details viewtopic.php?p=36709#p36709
- Technical documentation on running in parallel download/file.php?id=20899
Firstly, it is important to say that actually, this is a solved problem, and arber333 has done the bulk of this work, so all credit to him. I am simply not technically knowledgeable enough (yet) to follow his guidance. I am using this thread to basically assemble all his stuff in one place and then put the pieces together into a guide for dummies (me). My contribution, I hope, will simply be in assembling this into a guide.
Some links, harvested from this forum and arber's blog:
- Original thread for this component: viewtopic.php?t=1972
- IP20 version installation guide, with specs and pinout https://www.rec-bms.com/datasheet/EltekGuideIP20.pdf
- IP67 version installation guide, with specs and pinout https://leafdriveblog.wordpress.com/wp- ... 710111.pdf
- CAN protocol: https://www.rec-bms.com/datasheet/EVPow ... otocol.pdf
- Openinverter Wiki page for this charger (I will update this as I go): https://openinverter.org/wiki/Eltek_chargers
- tom91 has a GitHub repo for this charger, but no documentation https://github.com/Tom-evnut/Eltek-Charger-Programming
General specs:
1. Tested up to 415V
2. Provides 3kw of charging
3. Current tapers as target voltage approaches to stay within 3kw limit
4. IP67 version is water cooled - need to remove up to 220w of heat
5. Product codes 31394702, 30659929, 31453939
Technical Challenge
arber has documented CAN commands at these links -
- https://leafdriveblog.wordpress.com/202 ... 41121-030/
- https://leafdriveblog.wordpress.com/201 ... w-charger/
- viewtopic.php?p=32515#p32515
Miscellaneous info
- IP67 keepalive is 800ms, IP20 is 200ms
- CAN is the same
- Volvo version has additional HV connector
- CANBUS connector: Molex micro-fit fits fine, only the lock is on the wide side instead of on the short side.
- arber is connecting the Eltek directly to the battery, before the contactors.
- reason given is that Eltek runs a resonance circuit (no idea what that is) which can be detrimental is there is no load on the output side.
- the charger has a built-in 16A fuse
Out of scope
- Combining 3 chargers into one for 3 phase, 9kw charging. Refer to the original thread from this message onwards for details viewtopic.php?p=36709#p36709
- Technical documentation on running in parallel download/file.php?id=20899
-
- Posts: 155
- Joined: Fri Feb 25, 2022 3:16 pm
- Has thanked: 40 times
- Been thanked: 22 times
Re: Eltek/Volvo charger control
These are the steps I can think of right now. Please comment if you think I've left something, out, or if something is not actually possible or dangerous.
Prerequisites:
Configure an Arduino Due, get CAN transceivers working, install GV-RET, get started with SAVVY-CAN
Done - see https://openinverter.org/wiki/CAN_bus_with_Arduino_Due
Steps
1. How to wire up the charger to AC, DC, CAN
2. How to observe CAN messages from the charger, and interpret them
3. How to set the max / target voltage of the charger
4. How to set the max amps of the charger
5. How to use keepalive and can messages to actually get the thing to charge at your target voltage
Prerequisites:
Configure an Arduino Due, get CAN transceivers working, install GV-RET, get started with SAVVY-CAN
Done - see https://openinverter.org/wiki/CAN_bus_with_Arduino_Due
Steps
1. How to wire up the charger to AC, DC, CAN
2. How to observe CAN messages from the charger, and interpret them
3. How to set the max / target voltage of the charger
4. How to set the max amps of the charger
5. How to use keepalive and can messages to actually get the thing to charge at your target voltage
-
- Posts: 3544
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 130 times
- Been thanked: 327 times
- Contact:
Re: Eltek/Volvo charger control
1. Ok... wiring is described in this page IP67 version installation guide even the wire colors are there 2. I find that you can have DC permanently connected and then you connect AC and charger will come alive. You will see CAN reports from 0x3xx address charger is on currently. This and several other addresses are listed in CAN Protocol instrreuctions documentScrappyjoe wrote: ↑Tue Jul 16, 2024 8:21 am .......
Steps
1. How to wire up the charger to AC, DC, CAN
2. How to observe CAN messages from the charger, and interpret them
3. How to set the max / target voltage of the charger
4. How to set the max amps of the charger
5. How to use keepalive and can messages to actually get the thing to charge at your target voltage
In your case you will get charger report from...
0x301 address: interval 200ms
byte0 is status = 01 ... means idle, 02 charging
byte3 is DC current LSB
byte4 is DC current MSB
byte5 is DC voltage LSB
byte6 is DC voltage MSB
0x302 address: interval 200ms
byte0 is temp primary
byte1 is temp secondary
3. How to set the max / target voltage of the charger
Command telegram for charger ON is ID 0x2FF
byte0 01 for enable
Byte1 E8
Byte2 03 for the max power range 0 to 1000, 1000=100%, so 0000 to 03E8 in hex but reversed
Byte3 6E
Byte4 0F max voltage same coding as power. I suppose that for 395V send 0F 6E
Byte5 3C
Byte6 00 max current same coding as power. For 6 amp send 60 decimal so 00 3C hex in reverse
So you send ID 02 FF and Data 01 E8 03 6E 0F 3C 00
Send at rates from 500ms to 800ms
4. How to set the max amps of the charger
Max amps are up to 12A i think for 400Vdc version. This means 78 00 in hex
5. How to use keepalive and can messages to actually get the thing to charge at your target voltage
If you will send message ID 0x2FF at intervals from 500ms to 800ms you will keep the process alive.
Terminal voltage is noted in byte3 and byte4 and when charger reaches that it will taper off to 0A regardless of current request.
Now if you want to have another level of safety you can insert a conditional in code at byte0 if everything is good value of byte0 is 01 but if there is BMS alarm you change this to 00! Charger will stop.
Later on i will post the DUE code for this and its properties
EDIT: Very important!!! Do not connect charger behind main DC contactor. Rather i keep it connected directly to DC via one solar DC fuse 20A.
I destroyed one charger when i kept it connected behind DC contactor. I guess charger does not like quick succession of precharge and EVSE AC insertion on the primary. It released magic smoke... Dont forget charger does not use output diode!!!
-
- Posts: 155
- Joined: Fri Feb 25, 2022 3:16 pm
- Has thanked: 40 times
- Been thanked: 22 times
Re: Eltek/Volvo charger control
Thank you for this arber. I can see that it's all here, it is just the things that you think are obvious that have not been included - these are the things I will add by 'pretending' to be ignorant
Things like how to wire up a transceiver, how to actually use savvy can etc.
> Very important!!! Do not connect charger behind main DC contactor. Rather i keep it connected directly to DC via one solar DC fuse 20A.
To be explicit, what you are saying here is the DC side of the charger is permanently attached to the battery (with a 20A fuse), and it is not exposed to the voltage changes associated with the precharge circuit, because something about the precharge sequence damages the charger.
Correct if wrong, else we'll assume correct.

> Very important!!! Do not connect charger behind main DC contactor. Rather i keep it connected directly to DC via one solar DC fuse 20A.
To be explicit, what you are saying here is the DC side of the charger is permanently attached to the battery (with a 20A fuse), and it is not exposed to the voltage changes associated with the precharge circuit, because something about the precharge sequence damages the charger.
Correct if wrong, else we'll assume correct.
-
- Posts: 3544
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 130 times
- Been thanked: 327 times
- Contact:
Re: Eltek/Volvo charger control
Ok that is correct.Scrappyjoe wrote: ↑Tue Jul 16, 2024 1:59 pm To be explicit, what you are saying here is the DC side of the charger is permanently attached to the battery (with a 20A fuse), and it is not exposed to the voltage changes associated with the precharge circuit, because something about the precharge sequence damages the charger.
Correct if wrong, else we'll assume correct.
When i looked inside charger has NTC resistor inline with AC input. This should protect against a spark from the AC side. I didnt notice anything similar on DC side even though it should be there because when i connect DC side there is not much spark... its just the way LLC resonant design works that worries me with voltage jumps etc...
If you really need to connect behind contactor then use own charger relay AND delay on AC side so that DC side has time to adjust to voltage spike.
A lot of complexity which is why i rather just connect directly.
-
- Posts: 3544
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 130 times
- Been thanked: 327 times
- Contact:
Re: Eltek/Volvo charger control
I updated wiki on Eltek interface for Arduino DUE
https://openinverter.org/wiki/Eltek_chargers
https://openinverter.org/wiki/Eltek_chargers