Eltek/Volvo charger
Posted: Thu Oct 07, 2021 11:16 am
Here i think its best to post about Eltek and Volvo chargers
Bah! They are totally the same. Even protocol is the same. Difference is only in keep alive time between telegrams. On ip67 it is 800ms and on ip20 it is 200ms. And Volvo model has additional HV connector. Persumably to power the heater for battery heating.
If you use 96S the most affordable option would be outlander charger which has dcdc built in. 2 devices for price of one! Later you can add eltek charger for 2phase charging. I use outlander to pull in cp signal and is followed by eltek to 17A.
Are they from Volvo or Eltek? How dod you seal them from the enviroment? Any pics?
Yes I have got an outlander charger already but I ended up not needing it's dcdc and 3.3 kw is not enough. I would like to have at least 10 kw charging capability for public charging so I'm deciding on which route to take. I could get 3 eltek chargers or tesla gen2 or use a toyota prius inverter as a charger which I already have. Can eltek charger also pull in CP? You are having trouble with same CAN ids when using more than 1 eltek charger?
I heared about Elteks biting the dust in parallel. There was never any explanation. But i didnt wanted to take the chance and i reprogrammed one charger o have a different address. I hope this would be ok. I am now sending command at 150ms.m.art.y wrote: ↑Mon Oct 25, 2021 8:11 pm Yes I have got an outlander charger already but I ended up not needing it's dcdc and 3.3 kw is not enough. I would like to have at least 10 kw charging capability for public charging so I'm deciding on which route to take. I could get 3 eltek chargers or tesla gen2 or use a toyota prius inverter as a charger which I already have. Can eltek charger also pull in CP? You are having trouble with same CAN ids when using more than 1 eltek charger?
Code: Select all
//Charger flags
bool Charger1 = false; //flag for charger1
bool Charger2 = false; //flag for charger2
bool Charger3 = false; //flag for charger3
//Then i call function
checkButton();
Now function i declare with all options and debouncing
void checkButton()
{
buttonState = digitalRead(button);
if (lastButtonState != buttonState)
{
lastButtonState = buttonState;
//has the button been released (HIGH is not pushed)
if (buttonState == HIGH)
{
buttonCounter++;
if (buttonCounter == 1) {
Charger1 = true;
Charger2 = false;
Charger3 = false;
}
else if (buttonCounter == 2) {
Charger1 = false;
Charger2 = true;
Charger3 = false;
}
else if (buttonCounter == 3) {
Charger1 = false;
Charger2 = false;
Charger3 = true;
}
else if (buttonCounter == 4) {
Charger1 = true;
Charger2 = true;
Charger3 = false;
}
else if (buttonCounter == 5) {
Charger1 = false;
Charger2 = true;
Charger3 = true;
}
else if (buttonCounter == 6)
{
Charger1 = true;
Charger2 = false;
Charger3 = true;
}
else
{
buttonCounter = 0;
Charger1 = true;
Charger2 = true;
Charger3 = true;
}
}
}
}
//Now i can see all combinations and toggle code for CAN bus telegram
if(digitalRead(PP_pin) == LOW) { // if PP_pin senses EVSE
digitalWrite(PP_relay,HIGH); // turn on Cp_relay
if(millis()-lastime > myVars.transmitime) //Nominally set for 120ms - do stuff on 120 ms non-interrupt clock
{
if(Charger1 == true){
lastime=millis();
sendCANframeA();
printstatus();
digitalWrite(LED1_pin, HIGH);
}
else {
digitalWrite(LED1_pin, LOW);
}
if(Charger2 == true){
lastime=millis();
sendCANframeB();
printstatus();
digitalWrite(LED2_pin, HIGH);
}
else {
digitalWrite(LED2_pin, LOW);
}
if(Charger3 == true){
lastime=millis();
sendCANframeC();
printstatus();
digitalWrite(LED3_pin, HIGH);
}
else {
digitalWrite(LED3_pin, LOW);
}
}
}
else {
digitalWrite(PP_relay,LOW); // turn off PP_relay
}
They are wonderfull little chargers.boekel wrote: ↑Wed Feb 09, 2022 9:19 pm Hi @arber, no issues with 3x eltek on same canbus? or do they need individual canbus per charger?
I have to build a big charger for a boat, with sets of 3 chargers to enable for 16A / 32A and later even 63A three phase and have to decide what I'm going to use. (on a small budget)
I do already have 3x eltek in stock...
First you would need CAN controler that can spit out two msg IDs at asynchronus rate.