Chademo Controller Development

Development and discussion of fast charging systems eg Chademo , CCS etc
User avatar
jalovick
Posts: 95
Joined: Mon Mar 11, 2019 10:14 am
Location: Sydney, Australia
Has thanked: 10 times
Been thanked: 6 times

Re: Chademo Controller Development

Post by jalovick »

Do you think it would be possible to add CHAdeMO to a Renault Zoe ZE40?
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 1 time
Contact:

Re: Chademo Controller Development

Post by Isaac96 »

Possible, yes. Easy, probably not.
OEM EV's have battery pack contactors which must be closed in order to charge the batteries, so first you need to make sure those are closed. Turning the car on might do the trick, or even just hacking into the wiring to force them on.
Next, you need battery voltage and cell readings so you don't overcharge.
Then there's the possibility that the car will complain if it gets 125A into the battery pack when it isn't 'charging'.
I'm working on adding CHAdeMO to a RAV4 EV and am dealing with all these issues (albeit slowly).
It's quite a pain, but if CHAdeMO improves the usability of the car then it might be worth it.

-Isaac
arber333
Posts: 3241
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 74 times
Been thanked: 223 times
Contact:

Re: Chademo Controller Development

Post by arber333 »

celeron55 wrote: Tue Aug 18, 2020 8:23 pm It's actually not 100% necessary to measure current to get chademo working, as it's not transmitted to the charger. Goes against the spec I guess, but still. The charger will tell you what current it's putting out.

Same applies for voltage, but that's going into "how to make your batteries explode" territory.

The ISA shunt is really handy for both current AND voltage measurement, but customization allows getting rid of extra components. Personally I get my chademo charge voltage measurement from the Leaf inverter on canbus, in addition to my bms.
I am back at this since i consider using isolated analog voltage and current reading.
I cant get the ISA shunt just yet and in my EV it is a bit redundant because i already have SOC and Voltage measurement/display in a closed system.
What i need is a capable conventional charger controler with CAN bus and chademo charging capability.
Isaac96 wrote: Tue Aug 18, 2020 8:47 pm That should work, using the throttle input on Leaf VCU. However you'd need to edit the code quite a bit -- I'm considering abstracting away the I/O from the main code, to support different sensors. Might also need to add amphour counting functionality, which is another layer of annoyance.
Also not sure how good the resolution will be.
Isaac, what if i used an ISO124P opamp with isolated supply and feed its signal to VCU on throttle input? I think this would be a linear input easily setup in a code. Would you be willing to input that possibility in your code? If Throttle would be pulled down priority would go to ISA shunt and data through CAN bus whereas if there would be voltage on throttle line you could use it to determine voltage. Since current is not so important we could get by with only voltage? Or i can still make a use of 5V LEM sensor.
I am thinking of using chademo VCU as AC charger and DCDC controler also and i need to know inputs.

tnx
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: Chademo Controller Development

Post by Jack Bauer »

Ok, if we want to start speculating and designing a different version then please start a new thread:) I want to keep this ISA version thread as "clean" as possible as the original JLD505 got so hacked up it was unusable at the end.
I'm going to need a hacksaw
User avatar
larsrengersen
Posts: 101
Joined: Tue May 28, 2019 9:42 am
Has thanked: 8 times
Been thanked: 22 times

Re: Chademo Controller Development

Post by larsrengersen »

Jack Bauer wrote: Fri Oct 16, 2020 3:06 pm Brilliant! I'll be in touch to order two and I'll pop the controllers in the webshop so hopefully will generate more orders from that.
An update on the signup.
Assume you will be opting for the 1000A version Damien?
Other signups are
1x 500A
1x 1000A
So not very much.
I'll be away for a week and then I'd like to close the group buy round on November 10th and place the order.
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 1 time
Contact:

Re: Chademo Controller Development

Post by Isaac96 »

I'd like to sign up for a 1000A (for a Tesla RAV4 I'm throwing Chademo into).

-Isaac
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: Chademo Controller Development

Post by Jack Bauer »

Sorry will be in touch today.
I'm going to need a hacksaw
User avatar
SlavaFlash
Posts: 1
Joined: Thu Nov 05, 2020 11:40 am

Re: Chademo Controller Development

Post by SlavaFlash »

larsrengersen wrote: Thu Oct 29, 2020 4:10 pm
Jack Bauer wrote: Fri Oct 16, 2020 3:06 pm Brilliant! I'll be in touch to order two and I'll pop the controllers in the webshop so hopefully will generate more orders from that.
An update on the signup.
Assume you will be opting for the 1000A version Damien?
Other signups are
1x 500A
1x 1000A
So not very much.
I'll be away for a week and then I'd like to close the group buy round on November 10th and place the order.

I want to sign up for 500A unit. Which one should be used with the developed controller - CAN 1.0 or CAN 2.0?
User avatar
larsrengersen
Posts: 101
Joined: Tue May 28, 2019 9:42 am
Has thanked: 8 times
Been thanked: 22 times

Re: Chademo Controller Development

Post by larsrengersen »

larsrengersen wrote: Thu Oct 29, 2020 4:10 pm I'll be away for a week and then I'd like to close the group buy round on November 10th and place the order.
So back in town and I have e-mailed everybody. Did you join and not receive an e-mail, please check your spam folder and send me another e-mail. Tomorrow 10th of November 18:00 Amsterdam time I'll close the round and will proceed to ordering.
In parallel while awaiting delivery from ISA I will finalize the discounts and add the shunts and connector kits to my webshop.
Then I'll create discount vouchers and send them individually by e-mail so you can place the order online (payment via paypal) so the whole process of creating shipping labels and administration goes via my automated system.
User avatar
larsrengersen
Posts: 101
Joined: Tue May 28, 2019 9:42 am
Has thanked: 8 times
Been thanked: 22 times

Re: Chademo Controller Development

Post by larsrengersen »

And to make sure everyone is on the same page in terms of what we will be getting. It's
a) The 500A = IVT-500-U3-I-CAN2-12
b) The 1000A = IVT-1K-U3-I-CAN2-12
So this means:
- 500A or 1000A nominal
- 3 channels (probably will not be used in most setups, but perhaps gives more flexibility in the future)
- No CAN termination (it's easier to add if needed than be stuck with it if you don't)
- 12V nominal
Image

Update: wrote earlier that the non 3-channel version might be an option but it is not so 3-channel it is (thanks Damien for your input).
User avatar
larsrengersen
Posts: 101
Joined: Tue May 28, 2019 9:42 am
Has thanked: 8 times
Been thanked: 22 times

Re: Chademo Controller Development

Post by larsrengersen »

Ok, guys, I have placed the order at ISA and received an update on price and availability.
The good news is there is a discount and the 1000A is in stock. The bad news is the 500A is not in stock.
I have chosen to split the order into two shipments.
The 1000A is expected to arrive at my place in a week, the 500A is expected in the first week of December.
The discount I can provide for the 500A = 29,30 and for the 1000A = 23,62
I have rounded the 5% kickback for Johannes and Damien to 10 per shunt. So the 500A is overpaying a bit, but these got more discount.
So that means:
500A = 192,15 + 6 for the connector kit = EUR 198,15 ex VAT
1000A = 208,42 + 6 for the connector kit = EUR 214,42 ex VAT
Obviously they cost more in my webshop so I will individually e-mail vouchers so you bottomline pay the above price (+shipping).
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: Chademo Controller Development

Post by Jack Bauer »

Thanks Lars:)
I'm going to need a hacksaw
User avatar
larsrengersen
Posts: 101
Joined: Tue May 28, 2019 9:42 am
Has thanked: 8 times
Been thanked: 22 times

Re: Chademo Controller Development

Post by larsrengersen »

The 1000A IVT's are in and the connector kits are ready.
IVT-1K-U3-I-CAN2-12_24.jpg
IVT-1K-U3-I-CAN2-12_24.jpg (19.01 KiB) Viewed 4014 times
I have e-mailed the people who have ordered the 1000A version and provided a voucher so you pay the above price.
I have dedicated stock reserved for the group buy so you can place a backorder (if the shop says there is no stock) and I will be able to ship yours out.
User avatar
larsrengersen
Posts: 101
Joined: Tue May 28, 2019 9:42 am
Has thanked: 8 times
Been thanked: 22 times

Re: Chademo Controller Development

Post by larsrengersen »

Another update. There is good news and there is bad news.
Let's start with the good news: the 500A shunts are in
The bad news: I've shipped the wrong connectors with the 1000A orders :(

I've been bouncing around with the connectors before. Do we need 5, do we need 6?
Turns out I've been mixing up datasheets and models.
The old model has 6 connectors and uses JST.
The new model has 5 connectors and uses Molex.
Image
And I've bought a bunch of JST not realizing the new ones need different ones.
Will dive into it and get back to you with a solution (refund/extra delivery/....).
User avatar
Jack Bauer
Posts: 3563
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 87 times
Contact:

Re: Chademo Controller Development

Post by Jack Bauer »

Just an fyi for people waiting on chademo vcus I am waiting on the 32way connectors which are due back in stock around the 15th Dec. Seems to have been a global shortage of 32 and 40 way modice me mx headers for some reason.
I'm going to need a hacksaw
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 1 time
Contact:

Re: Chademo Controller Development

Post by Isaac96 »

Makes sense. I hope you bring some with you when you retire to Lanzarote on the profits.
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 1 time
Contact:

Re: Chademo Controller Development

Post by Isaac96 »

I'm reviewing the software again, hoping to wring out more bugs without actually testing anything.

Fortunately(?) I found a fairly nasty one in the first few minutes.

Code: Select all

    if (Count == 20)
    {
      if (evse_status.presentVoltage > settings.targetChargeVoltage - 1) //All initializations complete and we're running. We've reached charging target
      {
        if (settings.minChargeAmperage == 0 || carStatus.targetCurrent < settings.minChargeAmperage) {
          //put SOC, ampHours and kiloWattHours reset in here once we actually reach the termination point.
          chargeAmpHours = 0; // Amp hours count up as used
          chargeKilowattHours = settings.packSizeKWH; // Kilowatt Hours count down as used.
          chademoState = CEASE_CURRENT;  //Terminate charging
        } else
          carStatus.targetCurrent--;  //Taper. Actual decrease occurs in sendChademoStatus
      }
      else //Only adjust upward if we have previously adjusted downward and do not exceed max amps
      {
        if (carStatus.targetCurrent < settings.maxChargeAmperage) carStatus.targetCurrent++;
      }
    }
This gets run every 500ms.

carStatus.targetCurrent is set according to the maximum current available from EVSE.
settings.maxChargeAmperage is the maximum current configured via serial interface.

So this part of the code ends up overriding the EVSE's maximum current declaration! That will not make the EVSE happy.
Time to add more variables. This will also allow for easier charge current limiting via CAN.

Oh and I just saw another one -- line 5 in that block should not check minChargeAmperage (though that value should never actually be zero in the interest of charging times).

Updated version will be uploaded once it's tested. New variable is carStatus.maxCurrentRequest -- it is the maximum current the EVSE is willing to provide, minus one (for compatibility).

This update should improve current limiting behavior - especially with lower-current chargers.

-Isaac
User avatar
larsrengersen
Posts: 101
Joined: Tue May 28, 2019 9:42 am
Has thanked: 8 times
Been thanked: 22 times

Re: Chademo Controller Development

Post by larsrengersen »

Isaac96 wrote: Mon Dec 14, 2020 4:10 am This update should improve current limiting behavior - especially with lower-current chargers.
-Isaac
Isn't that in place already in the handleCANFrame section of the code?
Line 346

Code: Select all

   if (tempAvailCurr < carStatus.targetCurrent) carStatus.targetCurrent = tempAvailCurr;
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 1 time
Contact:

Re: Chademo Controller Development

Post by Isaac96 »

Well... sort of. But that is only run when a CAN frame is received -- so in some edge cases (when limiting is very important) it might not do its job.

I've effectively replaced tempAvailCurr with carStatus.maxCurrentRequest -- making it (hopefully) more readable and a little simpler, as well as breaking that rather important number out of the CAN area and more into the logic area.
Also I managed to misplace one version of the code -- oops, had to pull the edits back in to my working version.

I am trying to simplify the code some more in the interest of readability and simplicity, working in the direction of minimum required to meet the CHAdeMO spec.
I will add other CHAdeMO functionality once I or someone else can do some actual testing, ideally with multiple chargers -- I have a new motor-transmission coupler coming in tomorrow, might be able to go test fairly soon.

-Isaac
th1nkagain
Posts: 1
Joined: Wed Dec 23, 2020 1:28 am

Re: Chademo Controller Development

Post by th1nkagain »

Following this project with interest.

I've been working on a Chademo retrofit for a 2011 Think City -- writing my own code and designing my own hardware, since I thought the JLD505/its variants were abandoned. I've got my project mostly done and been able to get it to start up a charge and shut down, but no actual charging even though everything looks fine. So I'm comparing what you all have done with my design to figure out what I'm missing on the CHAdeMO side :) really nice to have all your excellent work to check myself!

I'm happy to share anything I know from my project, but I suspect you all are more experienced than I am. I do have a copy of the Chademo standard, but it's something I found online and I definitely shouldn't just share it (you might be able to find it yourselves, if you wanted -- but that might be problematic for releasing something open-source, I'm not sure. If I get my code/software working, I think I'd buy the standard just to be safe before I release my code/hardware that's been based off the standard as open source.)

Mostly just saying thanks and keep up the great work, but I may also be interested in doing some testing with a slightly modified version of your hardware/software--at least if I cannot get my code/hardware working. If I can't, maybe I'll jump over to this project and work on testing it more and porting a version specifically for the Think City and its battery.

(Just one thing I noticed today when looking through the code that's currently on the Github--it looks like the bDoMismatchChecks variable for voltage and current deviation sensing is never set to anything except 0? I'm guessing that's just because it's not absolutely necessary right now so not implemented.)

Cheers!
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 1 time
Contact:

Re: Chademo Controller Development

Post by Isaac96 »

A bootleg copy of the standard? What a surprise! Yes, I'd like to avoid using official standards, lawyers always cause issues.
bDoMismatchChecks gets set to 1 at line 131, so it does run - currentMillis is an extern and gets updated in the main loop.

Best of luck with your system!
-Isaac
User avatar
larsrengersen
Posts: 101
Joined: Tue May 28, 2019 9:42 am
Has thanked: 8 times
Been thanked: 22 times

Re: Chademo Controller Development

Post by larsrengersen »

larsrengersen wrote: Thu Dec 03, 2020 8:39 pm Another update. There is good news and there is bad news.
Let's start with the good news: the 500A shunts are in
The bad news: I've shipped the wrong connectors with the 1000A orders :(
Took a while since the small connectors were out of stock everywhere but I have a few now and will contact the people who signed up for a 500A IVT and send the correct connector kits to the 1000A orders that were already shipped.
User avatar
New Electric Ireland
Posts: 172
Joined: Sun May 31, 2020 12:22 pm
Location: Ireland
Been thanked: 1 time
Contact:

Re: Chademo Controller Development

Post by New Electric Ireland »

larsrengersen wrote: Fri Jan 08, 2021 12:54 pm Took a while since the small connectors were out of stock everywhere but I have a few now and will contact the people who signed up for a 500A IVT and send the correct connector kits to the 1000A orders that were already shipped.
If you have any orders for the UK it might be worth holding off shipping for a while. Several ferry companies have withdrawn ships today because of the delays at ports and the UK's deputy prime minister said that he expects "significant disruption for several weeks".
In Ireland we undertake training & open source RND for the New Electric group, 5 companies converting boats, buses, cars and trucks to electric drive since 2008.
User avatar
larsrengersen
Posts: 101
Joined: Tue May 28, 2019 9:42 am
Has thanked: 8 times
Been thanked: 22 times

Re: Chademo Controller Development

Post by larsrengersen »

New Electric Ireland wrote: Fri Jan 08, 2021 6:45 pm
larsrengersen wrote: Fri Jan 08, 2021 12:54 pm Took a while since the small connectors were out of stock everywhere but I have a few now and will contact the people who signed up for a 500A IVT and send the correct connector kits to the 1000A orders that were already shipped.
If you have any orders for the UK it might be worth holding off shipping for a while. Several ferry companies have withdrawn ships today because of the delays at ports and the UK's deputy prime minister said that he expects "significant disruption for several weeks".
Thanks for the warning! Yes, Brexit is a pain (as expected). I have suspended UK as a shipping location.
So indeed, sorry for the folks in the UK that signed up for one.
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 1 time
Contact:

Re: Chademo Controller Development

Post by Isaac96 »

I've got my car on the road for now and just installed the Chademo hardware (for the fourth time.)
I've got v0.6 on there I believe but it worked well for the 2 minutes of charging before the pack got full. I'll drive more tomorrow and see how a longer session goes, maybe try the latest version if all goes well.
I got up to 44Kw for a minute :)
(actually a little weird, I requested 125A but at 392v, 44Kw is only 112A. I'll look at that I guess. It might be a station limitation, EVGo is the only one I have access to here.)

-Isaac
Post Reply