ElectricMotorcycleForum.com

  • April 27, 2024, 10:26:33 AM
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

Electric Motorcycle Forum is live!

Pages: 1 2 [3] 4 5 ... 23

Author Topic: My homemade 'Supercharger' for a ZERO Version 2  (Read 31107 times)

wijnand71

  • Full Member
  • ***
  • Posts: 109
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #30 on: February 05, 2017, 07:49:15 PM »

So.. worked a lot last day's on the Arduino Controlled Eltek Flatpack Charger. Just had to dig in this matter. I use 2 flatpack's 2HE 2000 in series together with the code from Remmie posted earlier in this thread. This charger is for now a nice side project but I want to use it on a daily basis at my workspace where only one 16A single phase 230V is available.
Also want to use the charger on 11kW and 22kW 3 phase stations in the city's here. So I was very happy with the code wich alows you to step through 10A till 40A in steps of 10A, starting at 10A. This should give me the flexibility I want! I tweaked the code a bit here and there, but no substantial changes. Mostly conserning the display.
It all seems to runs smooth when testing, BUT.. things really depends on the charge state when you start charging. If you are starting the charge with a battery above the 65% all is fine. It nicely starts charging at 10A and keeps sitting here untill you press the button to raise it to 20A. All good.
But when you start charging the bike below this 65% charge the charger won't listen to the Amps set. It just gives it all. It runs in smoothly in and goes to the 10A, wait a 20 seconds or so and runs furher to max current. I just can't explain this behaveour.
Code is code right, so is this a thing of the charger ignoring the CAN messages? I'm puzzled..
Is the charger going into a Constant current mode when the SOC is low and so overriding the code?

« Last Edit: February 06, 2017, 01:11:36 AM by wijnand71 »
Logged

remmie

  • Sr. Member
  • ****
  • Posts: 318
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #31 on: February 06, 2017, 01:02:26 AM »

If the code works at higher charge levels, then there is no reason for the code itself to work differently at lower charge levels. So the code itself should not be wrong. This leads me to believe that the flatpack has some "safety" mechanism active at lower voltages.

As the flatpack is a charger for telecom use and not a rectifier perhaps it defaults to full current when below a certain voltage even though the maximum current is set lower.
I think it's easy to test.

Ride the bike until a low state of charge (20% for example). Use the charger on a charging station with enough capacity (22 kW) and set the current to say 10A. Because of this "safety mechanism" the current will be higher than the 10A. As the charge level rises, so will the output voltage. Keep notes on the current and the output voltage every few minutes (or every minute if you have the time :) ) at some point the charger would have to go to the set current of 10A or it tapers down from full current to 10A. Maybe there is a specific voltage at which this occurs. maybe 48 Volt (the nominal voltage) or 53.5 Volt (the default factory voltage).

I have no idea if this behavior is configurable in the flatpack. That would require a smart pack module and documentation from eltek and if it is hard coded into the flatpack there's no way around it using only the flatpack.
Another way would be to alter the code that when it is set to 10A and the output current exceeds this to lower the output voltage to counteract this. The output voltage is set every second in my code so can be altered. Or the other way around : start at a low voltage and raise the voltage until the current exceeds the threshold. Because the battery pack would rise in charge, the current would go back to 10A. Then raise the voltage again until the current rises above 10A etc etc.
It would help to have the current and voltage at different charge levels.

I havent ridden the bike since November and don't plan to until the weather improves (Yes, I am a fair weather rider  8) ) so no real way for me to test it.




Logged
Current : Red Premium Zero SR/F (ordered May 25, delivered August 23 2019) with Rapid charger for 12kW charging
Former : White Zero SR 2018 ZF14.4 kWh (17.500 km)
Former : Black Zero SR 2014 ZF11.4 kWh (25.000 km)
SR's outfitted with Homemade "Supercharger" 6x eltek Flatpack S (12 kW)

wijnand71

  • Full Member
  • ***
  • Posts: 109
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #32 on: February 06, 2017, 03:06:06 AM »

Well I can do it, I ride all year round.. 8)
I was also in doubt if it was the code, just because it works at higher levels.

I will check and post the data of the app on a 22kW station and see how Voltage, Amps and Charge % are developping while charging. And see the point when the Amps of the charger are starting to drop to 10A.
Couldn't it be the case that the rectifier wants to keep a certain ouput Wattage? So when battery voltage is low, he raises the amp's to reach for a certain power Wattage. Is that what Eltek is referring to with the term "Constant power"?
Logged

Lenny

  • Full Member
  • ***
  • Posts: 120
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #33 on: February 06, 2017, 03:15:19 AM »

I'm actually riding my FXS daily, but right now there's no time for further testing of my supercharger :-)

Wijnand I can offer you my very simplified code for testing just to make sure its not the code. I started charging at 45% SOC during my last and only test, and if remember correctly everything worked fine. I was connected to the Leonardo board with my laptop and uploaded the updated code to it when I wanted to change the current. Just changed variable names.

Code: [Select]
#include <mcp_can.h>
#include <mcp_can_dfs.h>
#include <SPI.h>

const int SPI_CS_PIN = 17;//Set CS pin to pin 17 (Leonardo)
MCP_CAN CAN(SPI_CS_PIN);// Set CS pin for CANBUS shield

void setup()
{

pinMode(23, OUTPUT);

START_INIT:
if(CAN_OK == CAN.begin(CAN_125KBPS))
{
}
else
{
goto START_INIT;
}

}

void loop()
{
digitalWrite(23, HIGH); //trigger LED to be able to see if CAN-board is active
delay(1000);
digitalWrite(23, LOW);

unsigned char loginRect1[8] = {0x12, 0x35, 0x71, 0x10, 0x05, 0x08, 0x00, 0x00}; //SerialNr. of rectifier 1
unsigned char loginRect2[8] = {0x12, 0x35, 0x71, 0x10, 0x16, 0x79, 0x00, 0x00}; //SerialNr. of rectifier 2
unsigned char loginRect3[8] = {0x14, 0x03, 0x72, 0x10, 0x98, 0x88, 0x00, 0x00}; //SerialNr. of rectifier 3

CAN.sendMsgBuf(0x05004805, 1, 8, loginRect2); //send message to rectifierX

unsigned char setV10i[8] = {0x64, 0x00, 0x44, 0x16, 0x44, 0x16, 0x3E, 0x17}; //10A charge current, 57V voltage
unsigned char setV20i[8] = {0xC8, 0x00, 0x44, 0x16, 0x44, 0x16, 0x3E, 0x17}; //20A charge current, 57V voltage
unsigned char setV30i[8] = {0x2C, 0x01, 0x44, 0x16, 0x44, 0x16, 0x3E, 0x17}; //30A charge current, 57V voltage
unsigned char setV40i[8] = {0xF4, 0x01, 0x44, 0x16, 0x44, 0x16, 0x3E, 0x17}; //40A charge current, 57V voltage

unsigned char setVpermanent[5] = {0x29, 0x15, 0x00, 0x44, 0x16}; //command for permanent voltage reprogramming

CAN.sendMsgBuf(0x05FF4005, 1, 8, setV40i); //set current, voltage, voltage protection and walk in period

//CAN.sendMsgBuf(0x05019C00, 1, 5, setVpermanent); //set permanent voltage

delay(2000);
}
Logged
Zero FXS 6.5 MY16

remmie

  • Sr. Member
  • ****
  • Posts: 318
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #34 on: February 06, 2017, 03:16:16 AM »

I don't think so because you can set 10A at 57 volts which is 570 Watts. If it's constant power it should be 570/48 = 12 A and not the full 41.7 Amps.

I think the term constant power comes from the fact that above 48 Volts the maximum current tapers down so the unit doesn't deliver more than 2000W.

So below 48 volt the flatpack outputs 41.7 Amps (it's maximum). above it maximum 2000W.

43 Volt : 41.7 Amps (1793 W)
48 Volt : 41.7 Amps (2000 W)
53.5 Volt : 37.4 Amps (2000 W)
57.6 Volt : 34.7 Amps (2000 W)
Logged
Current : Red Premium Zero SR/F (ordered May 25, delivered August 23 2019) with Rapid charger for 12kW charging
Former : White Zero SR 2018 ZF14.4 kWh (17.500 km)
Former : Black Zero SR 2014 ZF11.4 kWh (25.000 km)
SR's outfitted with Homemade "Supercharger" 6x eltek Flatpack S (12 kW)

wijnand71

  • Full Member
  • ***
  • Posts: 109
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #35 on: February 09, 2017, 04:42:42 AM »

So, to get more data of the chargeproces with the Elteks and to find a solution for the uncontrollable current in a low chargestate I did the following:
Today I rode the bike down to 25% and arrived in a workshop of a friend of mine where I can charge the bike with enough current.
I set up the charger and Iphone with the app so I can gather all data visually via the GoPro (timelapse 30secs) I let the bike on the whole charge.
Start:

end:


And later putting (almost) all in exel  :o
https://dl.dropboxusercontent.com/u/14638644/ChargeCurveMeasurement.xlsx

In the curve is a jump in current on about 50% (green line) this is the point where I can set and control the programmed current again. I putted it here on 20A to speed up the proces. The strange thing is that there's no real voltage change in that area where we could relate to in code.

Strange thing was that when the bike reaches its 100% the display of the motor started flashing and a soft beeping sound was heard. After removing the chargers from power and shutting down the bike all returned to normal.
« Last Edit: May 22, 2017, 04:00:18 AM by wijnand71 »
Logged

remmie

  • Sr. Member
  • ****
  • Posts: 318
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #36 on: February 09, 2017, 02:29:32 PM »

Hi Wijnand,

Excellent work on the Excel sheet !!!

I see a very distinct voltage  ;D

If you look at cell G6..G98 which is the voltage output of the Eltek you see that the entire time the current exceeds the set current of 10A the voltage remains about the same (around 47 volts). It seems to me that the Eltek overrides the set output current below 47 Volts. In cells G6:G98 the minimum voltage is 46.82 and the maximum 47.02.

I think that if you would have left the set current at 10A you would have seen a voltage rise from the point the current stays at the set 10A. The 3 minutes you left it at 10A is not enough to see this rise in voltage. You can however see that the blue line in the graph rises after that point (after you changed to 20A)

Once the Eltek voltage is above 47 Volt it seems to listen to the set output current. Due to the HIGHER set current of 20A the output voltage rises even more and it stays nicely on the set output current.

It looks like if we can't find a solution for this we would have to go and play with a PID controller on the arduino to achieve current control throughout the range. We would have to make it quite slow to avoid oscillation but it should be possible. There are some standard libraries for PID control.

The input of the PID controller should be the actual output current, the setpoint obviously the desired output current and the output of the PID the output voltage of the eltek.
Letting the output voltage rise slowly should counteract the "safety mechanism" the Eltek has to not allow voltages below 47 Volt (when set to 57.7 Volt)

One thing to test though before we embark on the use of a PID controller (which can be a pain) is to set the desired output voltage to a lower voltage (say 53 Volt) when using the current limitation. If that would work then we could change the code so that the output voltage is a (couple of) volt above the measured voltage.
This would test if the safety mechanism is at a fixed voltage (47 volts like we determined above) or for example 10 Volts below the set output voltage (57 - 10 = 47 Volt). If the latter would be the case it is much easier to alter the code to overcome this.

Good work Wijnand !







Logged
Current : Red Premium Zero SR/F (ordered May 25, delivered August 23 2019) with Rapid charger for 12kW charging
Former : White Zero SR 2018 ZF14.4 kWh (17.500 km)
Former : Black Zero SR 2014 ZF11.4 kWh (25.000 km)
SR's outfitted with Homemade "Supercharger" 6x eltek Flatpack S (12 kW)

Lenny

  • Full Member
  • ***
  • Posts: 120
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #37 on: February 21, 2017, 12:36:23 AM »

I've done a little investigation on the Flatpacks behaviour in the unlikely case of a contactor opening during charging for whatever reason and contacted Eltek with my questions. Seems like the Flatpack is pretty stable and fast. For a 90-10% load drop they propose max +5% which is regulated in less than 50ms according to the spec sheet, which I attached. Nevertheless I asked them about 100-0% measurements which they provided to me. If I understand the scaling of the diagram correctly, the spike is actually way lower than 5%, namely less than 1V. (one square equals 1V in the diagram according to the description). This would mean that a series of two flatpacks would spike up to ~116V when programmed to 114 (57V each), which seems pretty good. Additionally they mentioned, that values will look even way better if there's a little load remaining (50W), which would be the light bulbs if you charge with key on.

The Sevcon won't work above ~116V, but is safe up to 132V according to spec sheet. Pretty sure that other components will also withstand slightly higher voltages due to a spike. So I guess we don't have to worry too much with our Superchargers :-)
« Last Edit: February 21, 2017, 12:39:56 AM by Lenny »
Logged
Zero FXS 6.5 MY16

BrianTRice@gmail.com

  • Unofficial Zero Manual Editor
  • Hero Member
  • *****
  • Posts: 4014
  • Nerdy Adventurer
    • View Profile
    • Personal site
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #38 on: February 21, 2017, 10:53:19 AM »

Nice work. Do you think you could encapsulate all this into a procedure others could reliably reproduce? I might try but it'll take dedicated time to digest this thread properly.

FWIW I think from a few forum posts or hearsay, the Zero won't let the bike operate above 117V after the charge rate drops to zero, and 116V is where to aim for steady state, with 117V allowable during the charge (battery voltage effectively climbs while charging by about 1V for high powered charging). But it's best to aim for 116V during the CV/leveling phase for some margin of error (and also because supercharging right to the limit is less effective), and also to recalibrate the voltage sensor when ambient temperature changes a lot.
Logged
Current: 2020 DSR, 2012 Suzuki V-Strom
Former: 2016 DSR, 2013 DS

wijnand71

  • Full Member
  • ***
  • Posts: 109
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #39 on: February 21, 2017, 06:27:54 PM »

Great investigation Lenny. Good to know. In the meantime I testted a lot together with Remmie, who is the absolute codemaster behind this all. He added a so called PID regulation to the Leonardo code, wich solved the problem of uncontrolable current when having a low state of charge. On my double flatpack 2000 and on his quadpack S this is now kind of working. But still tweaking though.

We're getting so close to a perfect controllable QuadEltekSupercharger  ;D

This QuadEltekSupercharger you can now hook up to:
1 phase 16A (get as much from one single plug) : onboard + 2x10A = ~3,5 kW
3 phase 16A (get as much from one mennekes 11 kW station) : onboard + 2x30A = ~ 7,9kW
3 phase 32A (get as much from one mennekes 22kW station) : onboard + 4x1800W (full power) = ~8,5 kW

And, of course the
1 phase 6A (for example the socket on the capsite) : onboard only = ~1,3 kW

The charger is controlled with one pushbutton to set the current, starting with the 10A setting. A display shows Current Temps etc, see previous post. Now you can really charge everywhere and use the local power situation to the max. No matter what.  8) Soo cool
« Last Edit: February 21, 2017, 06:30:34 PM by wijnand71 »
Logged

remmie

  • Sr. Member
  • ****
  • Posts: 318
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #40 on: February 21, 2017, 07:24:47 PM »

For those interested : 2 Flatpack S units for sale on ebay (NOT FROM ME) :

http://www.ebay.nl/itm/241122-105-ELTEK-RECTIFIER-FLATPACK-S-48-1000-HE-NEW-/112242106413?hash=item1a2226a02d:g:i7EAAOSwux5YWB98

not really cheap but availability is also an issue.

EDIT : THESE ARE 1000 Watt units, NOT THE MORE POWERFULL 1800 Watt UNITS !! (SORRY, an oversight on my part)  :-[

And as Wijnand said : we are still tweaking the code to optimize the PID controller, but it is already workable now. For a single flatpack charger (set of 2 in series) it was fairly easy. Now the challenge is to extend the code for a quad (2S2P) flatpack with both "bottom" flatpacks connected through the CANBUS and regulating them both with a single arduino controller. Each would have their own PID controller for the output current.


« Last Edit: February 23, 2017, 08:22:22 PM by remmie »
Logged
Current : Red Premium Zero SR/F (ordered May 25, delivered August 23 2019) with Rapid charger for 12kW charging
Former : White Zero SR 2018 ZF14.4 kWh (17.500 km)
Former : Black Zero SR 2014 ZF11.4 kWh (25.000 km)
SR's outfitted with Homemade "Supercharger" 6x eltek Flatpack S (12 kW)

Neuer_User

  • Full Member
  • ***
  • Posts: 125
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #41 on: February 23, 2017, 12:18:04 AM »

Great work you are doing here. I am extremely interested in this, too.

I am looking for a simple fastcharging solution, which I can utilize for the rare events when I go on a day trip (which is very, very rare). We have nice mountains in about 100km distance. So the trip to and from them would use the full charge, so I need some way to fastcharge something into the bike to enjoy riding over the mountains.

The DigiNow supercharger is great, but much too expensive for me for a planned usage of 2-3 times a year.

I can get tweo HE2000 flatpacks for a good price (I think). Is there somewhere a bit of documentation of what I need else and how to build it together? I have some knowledge in electrics, but mostly on low voltage/currents. Therefore I rather follow your successful implementations than developing something on my own :D
« Last Edit: February 23, 2017, 02:06:37 AM by Neuer_User »
Logged

Erasmo

  • Hero Member
  • *****
  • Posts: 1116
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #42 on: February 23, 2017, 01:39:02 AM »

Just a warning, with fast recharging it won't stay at 2-3 times a year!
Logged

Neuer_User

  • Full Member
  • ***
  • Posts: 125
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #43 on: February 23, 2017, 02:04:25 AM »

 ;D well, let's say, you might be right. But in general I have also limited time, and most of my trips are in the close surroundings. I, so far, only used twice about 85% of the charge. Most other trips use between 20-50%.

But yes ,with fast charging ,this may also change  8)
Logged

Lenny

  • Full Member
  • ***
  • Posts: 120
    • View Profile
Re: My homemade 'Supercharger' for a ZERO Version 2
« Reply #44 on: February 23, 2017, 02:26:24 AM »

Nice work. Do you think you could encapsulate all this into a procedure others could reliably reproduce? I might try but it'll take dedicated time to digest this thread properly.

FWIW I think from a few forum posts or hearsay, the Zero won't let the bike operate above 117V after the charge rate drops to zero, and 116V is where to aim for steady state, with 117V allowable during the charge (battery voltage effectively climbs while charging by about 1V for high powered charging). But it's best to aim for 116V during the CV/leveling phase for some margin of error (and also because supercharging right to the limit is less effective), and also to recalibrate the voltage sensor when ambient temperature changes a lot.

I could write a How-To with parts list and everything, but obviously the major amount of appreciation is well deserved for remmie, as he has done most of the work. Maybe I will just write a first version and remmie/Wijnand could add a few more details. Nevertheless I won't have time for that until mid of march.

Concerning the max voltage: the flatpacks are programmed to 114V, I was just referring to potential spikes due to contactor closing, which might damage electronics. In between 114V and 116V the top up will be done by the onboard charger alone, as the flatpacks have tapered down to 0A.
Logged
Zero FXS 6.5 MY16
Pages: 1 2 [3] 4 5 ... 23