Communicate and control Eltek Flatpack 2 HE

Development and discussion of fast charging systems eg Chademo , CCS etc
aairon
Posts: 3
Joined: Mon Nov 28, 2022 2:39 am
Has thanked: 4 times

Re: Communicate and control Eltek Flatpack 2 HE

Post by aairon »

Thank you so much for responding I have this device, I'm thinking Savvycan will work I will find out by the end of the week, thank you again.

https://www.amazon.com/Adapter-Converte ... 737&sr=8-7
User avatar
bexander
Posts: 834
Joined: Tue Jun 16, 2020 6:00 pm
Location: Gothenburg, Sweden
Has thanked: 63 times
Been thanked: 89 times

Re: Communicate and control Eltek Flatpack 2 HE

Post by bexander »

johu wrote: Mon Nov 28, 2022 6:32 pm Is it possible to put flatpack into some kind of sleep mode over CAN?
I'm using it for my solar storage and it consumes around 15W when idling - that is 130 kWh per year!

So I'd like to turn it off during the night. Otherwise I'll just cut power with a relay.
Not that I know of.
130kWh per year is a lot. Using a relay is a reliable and simple solution.
User avatar
ritsch
Posts: 1
Joined: Tue Apr 04, 2023 10:38 am
Location: Pichla
Contact:

Re: Communicate and control Eltek Flatpack 2 HE

Post by ritsch »

Thanks for the thread and write-up of protocol.

FYI: Just followed this thread and wired 2 Flatpak 2 48V/1800W connected a non isolated CAN bus (Olimex A20-CAN with MCP 2551) via an Olimex A20 to the first, then the second and it worked.

Then I connected both on with only CAN-L and CAN-H on the second, and the MCP2551 burned. I ordered now an A20-CAN-ISO from Olimex.

I do not know is it because of having a non isolated or anyway both CAN-L and CAN-H are at 57.1V difference before connect.

Anyhow, maybe somebody has a recommendation:
Since I only have one Controller with CAN controller on the embedded computer, I want both on the same bus:
a) Is there an easy way for isolation on the CAN-Bus side, e.g. with an ADM isolator chip.
b) Can I drive 2 CAN transceivers on the controller side with one CAN Bus ?
ArthurDent
Posts: 1
Joined: Mon Jul 17, 2023 3:30 pm

Re: Communicate and control Eltek Flatpack 2 HE

Post by ArthurDent »

Hello,
Has anyone had experience load sharing with the Eltek Flatpack 2HE Front End?

I have a couple of the Flatpack2 Front End Rectifiers with FCI/Berg style connector.
One of the pins is ISHARE, which apparently: "Systems use the CAN bus to load share digitally." (from Eltek Document 2127557, Issue 1 Published 17-May-12) V series Rectifier documentation (from 2018) expands a little upon this: "All rectifiers ISHARE pins are tied together on the system backplane to support load sharing. This connection may be terminated between rectifiers or left un-terminated in systems where load share is not required."

Does anyone know how this works ?

Thanks in advance.
TomHC
Posts: 4
Joined: Sun Aug 27, 2023 7:18 pm
Been thanked: 1 time

Re: Communicate and control Eltek Flatpack 2 HE

Post by TomHC »

bexander wrote: Mon Nov 28, 2022 6:20 pm Sorry, totaly missed your post. :(

You need to send at least 0x05FF4004 (or 05) repeatedly after login is complete.
In my case I send login message (0x05004804) with serial number followed by 0x05FF4004 with desired data every 1 second.

To set default voltage I send login followed by 0x05019C00 with data as per your post for 48,00V then power off FP. When restarted it should go to defaut voltage of 48,00V after walk-in is complete (should take approx 5s or 60s).
Hello, having the same issue, I'm suspecting locked configuration, but struggling with identifying correct frame ID. Any ideas?
Attachments
Eltek-Flatpack2-CAN.png
Eltek-Flatpack2-unlock.png
User avatar
bexander
Posts: 834
Joined: Tue Jun 16, 2020 6:00 pm
Location: Gothenburg, Sweden
Has thanked: 63 times
Been thanked: 89 times

Re: Communicate and control Eltek Flatpack 2 HE

Post by bexander »

The datasheet is for at EV Powercharger and not the Flatpack 2 HE. I have not heard of any locked configuration for the Flatpack.

What message are you sending and at what frequency?
TomHC
Posts: 4
Joined: Sun Aug 27, 2023 7:18 pm
Been thanked: 1 time

Re: Communicate and control Eltek Flatpack 2 HE

Post by TomHC »

bexander wrote: Mon Aug 28, 2023 6:59 am The datasheet is for at EV Powercharger and not the Flatpack 2 HE. I have not heard of any locked configuration for the Flatpack.

What message are you sending and at what frequency?
0x05004804 followed by 0x05019C00 after 100ms. Also tried 0x05009C00, with no success. Sending 0x05004804 is working nice, though, so I don't suspect communication issues.

Code: Select all

          - canbus.send:
              use_extended_id: true
              can_id: 0x05004804
              canbus_id: eltek
              data: [0x06, 0x31, 0x71, 0x01, 0x60, 0x38, 0x00, 0x00]
          - delay: 100ms
          - canbus.send:
              use_extended_id: true
              can_id: 0x05019C00
              canbus_id: eltek
              data: [0x29, 0x15, 0x00, 0x40, 0x15]
TomHC
Posts: 4
Joined: Sun Aug 27, 2023 7:18 pm
Been thanked: 1 time

Re: Communicate and control Eltek Flatpack 2 HE

Post by TomHC »

BTW, anyone interested in Home Assistant /ESPhome control of Flatpack2, here's the code - https://github.com/taHC81/Eltek-Flatpack2-ESPhome
User avatar
bexander
Posts: 834
Joined: Tue Jun 16, 2020 6:00 pm
Location: Gothenburg, Sweden
Has thanked: 63 times
Been thanked: 89 times

Re: Communicate and control Eltek Flatpack 2 HE

Post by bexander »

TomHC wrote: Mon Aug 28, 2023 8:49 am 0x05004804 followed by 0x05019C00 after 100ms. Also tried 0x05009C00, with no success. Sending 0x05004804 is working nice, though, so I don't suspect communication issues.
Aha, you are trying to change the default voltage, correct?
Using 0x05009C00 have always worked for me. Try without the 100ms delay between the two messages.
Are you shure you are using the correct serial nr?

This is my latest code for changing default voltage. Reads the serial nr sent from the FP via can.

Code: Select all

// Include libraries
#include <mcp_can.h>
#include <SPI.h>

// Constant declaration
boolean savedSerial = false;
uint8_t serial[8];


// Set pin number
//const uint8_t dummy = 10;
const uint8_t SPI_CS_PIN = 10;


MCP_CAN CAN(SPI_CS_PIN);	// Set CS pin

// Variable declaration


void setup()
{
  //pinMode(dummy, OUTPUT);

	Serial.begin(115200);

  delay(50);

  while (CAN_OK != CAN.begin(MCP_STDEXT, CAN_125KBPS, MCP_16MHZ))	// init can bus : baudrate = 125k
  {
		Serial.println("CAN BUS Shield init fail");
    Serial.println("Init CAN BUS Shield again");
    delay(100);
  }
  Serial.println("CAN BUS Shield init ok!");

  CAN.setMode(MCP_NORMAL);  // Set operation mode to normal so the MCP2515 sends acks to received data.

  // Read serial number from FP
  while(!savedSerial)
  {
    static uint32_t lastMillis = millis();
    uint32_t rxId;
    uint8_t len;
    uint8_t rxBuf[8];
    
    if(CAN_MSGAVAIL == CAN.checkReceive())    // check if data is coming
    {
      CAN.readMsgBuf(&rxId, &len, rxBuf); // read data,  rxId: message ID, ext: flag extended ID, len: data length, rxBuf: data buf
      rxId &= 0x1FFFFFFF; // Remove bits outside of the 29-bits ID

      if((rxId == 0x05014400) || (rxId == 0x05024400))
      {
        for(int i=0; i<8; i++)
        {
          serial[i] = rxBuf[i];
          Serial.print(serial[i], HEX);
          Serial.print(" ");
        }
        savedSerial = true;
        Serial.println();
      }
    }

    if(millis() - lastMillis > 10000)
    {
      lastMillis = millis();
      Serial.println("Time out");
    }
  }

  // Send permanent voltage setting to FP
  CAN.sendMsgBuf(0x05004804, 1, 8, serial); // Send message to log in
  byte stmp2[5] = {0x29, 0x15, 0x00, 0x76, 0x16}; // Set rectifier permanently to 57.50 (16 76)
  CAN.sendMsgBuf(0x05009C00, 1, 5, stmp2); 

  Serial.println("Done!");
}

void loop() 
{

}
When it prints "Done!", cycle the input power to the FP and it should set the desired voltage after 4s.
TomHC
Posts: 4
Joined: Sun Aug 27, 2023 7:18 pm
Been thanked: 1 time

Re: Communicate and control Eltek Flatpack 2 HE

Post by TomHC »

Will give a try later. I'd like to go low with default voltage, to not harm anything when the connection is lost :) But can't use Arduino, as I've got ESP32 and SN65HVD230 instead of MCP2515.

SN must be correct, otherwise I can't change CC/CV settings, right? And I've used SN from broadcast message.
User avatar
bexander
Posts: 834
Joined: Tue Jun 16, 2020 6:00 pm
Location: Gothenburg, Sweden
Has thanked: 63 times
Been thanked: 89 times

Re: Communicate and control Eltek Flatpack 2 HE

Post by bexander »

The equipment used should not matter and yes the SN must be correct to change other settings.

A run 43,7V as default, in case com is lost.
mrigi
Posts: 1
Joined: Thu Oct 19, 2023 5:50 pm

Re: Communicate and control Eltek Flatpack 2 HE

Post by mrigi »

bexander wrote: Fri Jan 15, 2021 4:28 pmThis default voltage can be set by sending first login and then a message with ID: 0x05009C00.
Byte 0 = 0x29, Byte 1 = 0x15, Byte 2= 0x00.
For 43.7V translate 4370 to HEX => 0x1112, separate into 2 bytes and place as byte 3 & 4.
...
Voltage can be set between 43.5V and 57.5V. Current can be set between 0 and max 62.5A for a 3000W FP.
Can you please elaborate a bit more what these "Byte 0 = 0x29, Byte 1 = 0x15, Byte 2= 0x00" do?
These translate to 54.17. What value is that?
Overall I want to set default current limit. Can't find what command I need to execute.
Thanks.
User avatar
bexander
Posts: 834
Joined: Tue Jun 16, 2020 6:00 pm
Location: Gothenburg, Sweden
Has thanked: 63 times
Been thanked: 89 times

Re: Communicate and control Eltek Flatpack 2 HE

Post by bexander »

I don't know what bytes 0-2 do, they just work with the given values. Byte 3-4 sets the default voltage.
I don't know if it is even possible to set a default current limit.
bashers36749
Posts: 1
Joined: Sun Sep 17, 2023 4:03 pm

Re: Communicate and control Eltek Flatpack 2 HE

Post by bashers36749 »

TomHC wrote: Mon Aug 28, 2023 8:53 am BTW, anyone interested in Home Assistant /ESPhome control of Flatpack2, here's the code - https://github.com/taHC81/Eltek-Flatpack2-ESPhome
I have the unit set to limit its voltage to 48V for my batteries
It successsful tails off the charge power as it reaches its target voltage, but then gives it full throttle every few minutes
Ive edited your code only to amend the serial number and it logs in frequently and changes set voltage, but i still seem to have full throttle applied regularily

I note from your github page:
note that PSU is reverting to the default voltage with no current limit while the communication is lost
Any thoughts how i can prevent it disconnecting?
image.png
marcelvo73
Posts: 1
Joined: Sat Dec 30, 2023 11:24 am

Re: Communicate and control Eltek Flatpack 2 HE

Post by marcelvo73 »

Hi, thanks for sharing this, got it to work, but found that by setting "Current in dA (Ampere times 10) in HEX with low byte first. ", the current is not actually limited, it simply runs up to max when loading. (set at 4A @ 56 volt). Is there another setting to be activated in order to get current limiting to work ? Thks Marcel.

johu: excessive quote redacted
User avatar
bexander
Posts: 834
Joined: Tue Jun 16, 2020 6:00 pm
Location: Gothenburg, Sweden
Has thanked: 63 times
Been thanked: 89 times

Re: Communicate and control Eltek Flatpack 2 HE

Post by bexander »

How do you load it to test set current limit?
It will only limit set current down to 47V and below that the current is only limited by max output power.
With a battery connected this is usually not a problem but if using other loads it can be a severe limitation.
Post Reply