Chademo Controller Development
- Bigpie
- Posts: 1597
- Joined: Wed Apr 10, 2019 8:11 pm
- Location: South Yorkshire, UK
- Has thanked: 75 times
- Been thanked: 306 times
Re: Chademo Controller Development
Zero motorcycles dropped development on chademo, chargers not fully implementing the spec was one of the reasons, https://chargedevs.com/features/zero-mo ... ity-testin
Maybe you could use the buck boost from a prius to accept the higher voltage from chademo and buck it down to your needs?
Maybe you could use the buck boost from a prius to accept the higher voltage from chademo and buck it down to your needs?
VW Beetle 2003
Outlander front generator
Prius Gen 3 inverter (EVBMW logic board)
Outlander charger
3x Golf GTE batteries
Chademo Charging
Outlander water heater
Outlander front generator
Prius Gen 3 inverter (EVBMW logic board)
Outlander charger
3x Golf GTE batteries
Chademo Charging
Outlander water heater
-
- Posts: 656
- Joined: Sat Oct 05, 2019 6:50 pm
- Location: Northern California, USA
- Been thanked: 1 time
- Contact:
Re: Chademo Controller Development
Buck charging is a possibility. Official spec requires operation down to 125v, and iirc Damien charged a 144v pack a while back? It seems to depend on the charger.
Re: Chademo Controller Development
hopefully these newer chargers support low voltage systems. Buck is option but it is complicate. It requires space, cooling mechanisam ...
I dont like that...
But in our country tere is no fast charging before 2016.y , as I remember, I can also say before 2017
I dont like that...
But in our country tere is no fast charging before 2016.y , as I remember, I can also say before 2017
Re: Chademo Controller Development
Official CHAdeMO specification mandates 50V as a minimum, and I tested charging of ~60V battery on Efacec charger.
- 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
If you want to discuss chademo chargers please start a new topic. This thread relates to the design and development of a vehicle side controller.
I'm going to need a hacksaw
Re: Chademo Controller Development
Hi All,
Amazing collaboration going on here. I have been lurking on this thread for the last couple of months and I would like to volunteer as a beta tester?
I have been wanting to fit CHAdeMO to my race bike (s) and have a 10kW single phase portable CHAdeMO charger ready to go. I built the battery with an ISA IVT-MOD fitted, as well as the additional contactors. I just need to mount the receptacle somewhere.
I've been thinking about the integration with BMS and other vehicle safety systems. Looking at the code (I am not a software guy but I do write pseudo code/ flow diagrams in control schemes occasionally) with the max V hard coded and the activate/deactivate appears to occur as the controller is powered up and the CHAdeMO charger is connected?
From this it looks as through the BMS needs to interrupt the 12V supply if the battery gets hot of some other issue occurs? Or have I missed some important point?
Also, on the schematic, R69 120R resistor for CAN termination, shouldn't this short between pin 6 and 7 on IC3? At the moment it just seems to siting parallel on Pin 6.
Great job and I can't wait to buy a demo board.
Amazing collaboration going on here. I have been lurking on this thread for the last couple of months and I would like to volunteer as a beta tester?
I have been wanting to fit CHAdeMO to my race bike (s) and have a 10kW single phase portable CHAdeMO charger ready to go. I built the battery with an ISA IVT-MOD fitted, as well as the additional contactors. I just need to mount the receptacle somewhere.
I've been thinking about the integration with BMS and other vehicle safety systems. Looking at the code (I am not a software guy but I do write pseudo code/ flow diagrams in control schemes occasionally) with the max V hard coded and the activate/deactivate appears to occur as the controller is powered up and the CHAdeMO charger is connected?
From this it looks as through the BMS needs to interrupt the 12V supply if the battery gets hot of some other issue occurs? Or have I missed some important point?
Also, on the schematic, R69 120R resistor for CAN termination, shouldn't this short between pin 6 and 7 on IC3? At the moment it just seems to siting parallel on Pin 6.
Great job and I can't wait to buy a demo board.
-
- Posts: 656
- Joined: Sat Oct 05, 2019 6:50 pm
- Location: Northern California, USA
- Been thanked: 1 time
- Contact:
Re: Chademo Controller Development
Awesome! Great to have more testers (I'm still waiting on an ISA shunt, it's coming all the way from Estonia).IanG wrote: ↑Mon Aug 17, 2020 4:24 pm Hi All,
Amazing collaboration going on here. I have been lurking on this thread for the last couple of months and I would like to volunteer as a beta tester?
I have been wanting to fit CHAdeMO to my race bike (s) and have a 10kW single phase portable CHAdeMO charger ready to go. I built the battery with an ISA IVT-MOD fitted, as well as the additional contactors. I just need to mount the receptacle somewhere.
I've been thinking about the integration with BMS and other vehicle safety systems. Looking at the code (I am not a software guy but I do write pseudo code/ flow diagrams in control schemes occasionally) with the max V hard coded and the activate/deactivate appears to occur as the controller is powered up and the CHAdeMO charger is connected?
From this it looks as through the BMS needs to interrupt the 12V supply if the battery gets hot of some other issue occurs? Or have I missed some important point?
Also, on the schematic, R69 120R resistor for CAN termination, shouldn't this short between pin 6 and 7 on IC3? At the moment it just seems to siting parallel on Pin 6.
Great job and I can't wait to buy a demo board.
You are correct -- so far, there's no BMS interlock at all. Once I can get more testing done I will add it over CAN or digital, but Damien wants the simplest possible code for the beta.
Max voltage can be edited via serial interface, but there are hard coded defaults too (for first startup and then in case of corruption).
-Isaac
Re: Chademo Controller Development
OK, Cool, makes a lots of sense, getting the charger to respond reliably and consistently is going to be the biggest challenge.
I think a single I/O (Go/No Go) from the BMS is all the feedback that is necessary at this point.
I think a single I/O (Go/No Go) from the BMS is all the feedback that is necessary at this point.
-
- Posts: 3270
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 80 times
- Been thanked: 238 times
- Contact:
Re: Chademo Controller Development
A question if I may regarding of current sensor.
Could we use an analog 5V hall current sensor with leaf VCU? I have two LEM automotive sensors here. One from Ampera battery and the second is similar. Also I have a bunch of different 5V Tamura sensors from different projects.
It's just to cover all bases.
Tnx
A
Could we use an analog 5V hall current sensor with leaf VCU? I have two LEM automotive sensors here. One from Ampera battery and the second is similar. Also I have a bunch of different 5V Tamura sensors from different projects.
It's just to cover all bases.
Tnx
A
- celeron55
- Posts: 776
- Joined: Thu Jul 04, 2019 3:04 pm
- Location: Finland
- Has thanked: 29 times
- Been thanked: 110 times
- Contact:
Re: Chademo Controller Development
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.
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.
-
- Posts: 656
- Joined: Sat Oct 05, 2019 6:50 pm
- Location: Northern California, USA
- Been thanked: 1 time
- Contact:
Re: Chademo Controller Development
Absolutely. I'll add that once basic functionality is confirmed.
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.arber333 wrote: ↑Tue Aug 18, 2020 6:28 pm A question if I may regarding of current sensor.
Could we use an analog 5V hall current sensor with leaf VCU? I have two LEM automotive sensors here. One from Ampera battery and the second is similar. Also I have a bunch of different 5V Tamura sensors from different projects.
It's just to cover all bases.
Tnx
A
Also not sure how good the resolution will be.
-Isaac
-
- Posts: 656
- Joined: Sat Oct 05, 2019 6:50 pm
- Location: Northern California, USA
- Been thanked: 1 time
- Contact:
Re: Chademo Controller Development
Totally - the car handles all the mismatch measurements (happened to me with a shunt, off by a factor of 4). Mismatch detection is only there for liability reasons.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.
-
- Posts: 3270
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 80 times
- Been thanked: 238 times
- Contact:
Re: Chademo Controller Development
Ok great!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
Usually different sensos use different mV/A maybe that should be one variable that we will have to set.
So i propose to add three variables. We do have a settings interface dont we?
1. is it a CAN msg sensor or analog 5V?
2. if analog, what is the mV/A ratio?
3. What is the sensor 0A reading? Some centers may read 0A at 2.5V some at 2V or some at 3V...
Resolution should be to tenth of A. With Chademo charging at 50A mistake of 1A means very little voltage rise on battery. What is the resolution on chademo station side?
I think we should use up to 200A sensors anyway.
-
- Posts: 656
- Joined: Sat Oct 05, 2019 6:50 pm
- Location: Northern California, USA
- Been thanked: 1 time
- Contact:
Re: Chademo Controller Development
CHAdeMO current readings are accurate to 1A, so no more than that is needed. 200A is a good limit for CHAdeMO only, though of course more is needed if one wishes to use the sensor for general instrumentation.arber333 wrote: ↑Tue Aug 18, 2020 9:24 pm Ok great!
Usually different sensos use different mV/A maybe that should be one variable that we will have to set.
So i propose to add three variables. We do have a settings interface dont we?
1. is it a CAN msg sensor or analog 5V?
2. if analog, what is the mV/A ratio?
3. What is the sensor 0A reading? Some centers may read 0A at 2.5V some at 2V or some at 3V...
Resolution should be to tenth of A. With Chademo charging at 50A mistake of 1A means very little voltage rise on battery. What is the resolution on chademo station side?
I think we should use up to 200A sensors anyway.
Resolution should be good with a +-200A range over 12 bits - that should be accurate to about 0.1A.
However, I'd like to hold off on the additional sensors until the original setup works -- glad to add more functionality at that point, but adding more to the code is a recipe for confusion when debugging.
-Isaac
-
- Posts: 3270
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 80 times
- Been thanked: 238 times
- Contact:
Re: Chademo Controller Development
Yes with my EVdisplay i use 1000A sensor, but its reporting is internal. Chip can send pwm signal to the SOC dial or serial report out of the Bluetooth port. Other than that i will have to use another sensor for Chademo anyway.Isaac96 wrote: ↑Tue Aug 18, 2020 9:46 pm CHAdeMO current readings are accurate to 1A, so no more than that is needed. 200A is a good limit for CHAdeMO only, though of course more is needed if one wishes to use the sensor for general instrumentation.
Resolution should be good with a +-200A range over 12 bits - that should be accurate to about 0.1A.
However, I'd like to hold off on the additional sensors until the original setup works -- glad to add more functionality at that point, but adding more to the code is a recipe for confusion when debugging.
-Isaac
But if station is content with only CAN reports and since i already use simpBMS i dont see a problem if i could use SimpBMS CAN report for amps and SOC as well as some sort of fault signal?
- 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
Folks please at this point no modifications. Once we have one system proven to work everyone will be free to fork it off and make their own version.
I'm going to need a hacksaw
-
- Posts: 656
- Joined: Sat Oct 05, 2019 6:50 pm
- Location: Northern California, USA
- Been thanked: 1 time
- Contact:
Re: Chademo Controller Development
ISA shunt has arrived, of course I forgot to order connectors for it. They should be here in 3 days or so COVID willing.
I'll do the HV wiring first. Need to make more space in the HV box.. Oh well. I should be testing full power charging next week (unless my house burns down).
-Isaac
I'll do the HV wiring first. Need to make more space in the HV box.. Oh well. I should be testing full power charging next week (unless my house burns down).
-Isaac
-
- Posts: 656
- Joined: Sat Oct 05, 2019 6:50 pm
- Location: Northern California, USA
- Been thanked: 1 time
- Contact:
Re: Chademo Controller Development
I built a new contactor box, finally incorporating the ISA shunt. Connectors for the shunt are on their way from Digikey, arriving Tuesday.
Time to mount the CHAdeMO port -- it will probably go in the exhaust area a la Damien.
If charging works properly I will get to work on adding different current sensors.
-Isaac
Time to mount the CHAdeMO port -- it will probably go in the exhaust area a la Damien.
If charging works properly I will get to work on adding different current sensors.
-Isaac
- arturk
- Posts: 146
- Joined: Wed Oct 02, 2019 3:58 am
- Location: United States, MD
- Has thanked: 1 time
- Been thanked: 2 times
Re: Chademo Controller Development
Thanks for the update. Awesome work!
1998 Jaguar XJR, GS450h drivetrain, 48kWh/96s BMW battery
-
- Posts: 656
- Joined: Sat Oct 05, 2019 6:50 pm
- Location: Northern California, USA
- Been thanked: 1 time
- Contact:
Re: Chademo Controller Development
ISA shunt arrived, only took 3 hours to get it set up with the VCU. I had to disable more things in the ISA library - specifically EEPROM writes.
I'm actually going to strip all that out of the ISA library, since it's only caused me issues and I'm already using EEPROM to store CHAdeMO settings. So the revised version (which I'll rename) will be required for CHAdeMO usage.
-Isaac
EDIT Library rewritten and stripped of the garbage (eeprom writes, internal configurations, odometer and such). It's on my Github now https://github.com/Isaac96/SimpleISA.
Tested with IVT-500, reads correctly (so far). Also the example no longer fails to compile. CHAdeMO software is being migrated right now.
I'm actually going to strip all that out of the ISA library, since it's only caused me issues and I'm already using EEPROM to store CHAdeMO settings. So the revised version (which I'll rename) will be required for CHAdeMO usage.
-Isaac
EDIT Library rewritten and stripped of the garbage (eeprom writes, internal configurations, odometer and such). It's on my Github now https://github.com/Isaac96/SimpleISA.
Tested with IVT-500, reads correctly (so far). Also the example no longer fails to compile. CHAdeMO software is being migrated right now.
- 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
Excellent work Isaac. fyi there is a "initialise" function in the isa.cpp files that needs to be ran to configure the can messages but I guess you found that:)
I'm going to need a hacksaw
-
- Posts: 656
- Joined: Sat Oct 05, 2019 6:50 pm
- Location: Northern California, USA
- Been thanked: 1 time
- Contact:
Re: Chademo Controller Development
Yup I did that first. But I wasn't getting any data back, so I then poked around at the signals for a while, checking power delivery, and then remembered that I took mailbox stuff out of the library. So I put that in the sketch and it worked. But it was freezing past 500 frames due to the EEPROM writes built into the library. Fixed that and here we are.
If I can get my car back together today I will go plug in and see if I can get some power out (there's a persistent leak in my coolant reservoir, so the whole trunk smells like antifreeze).
-Isaac
If I can get my car back together today I will go plug in and see if I can get some power out (there's a persistent leak in my coolant reservoir, so the whole trunk smells like antifreeze).
-Isaac
- Jack Bauer
- Posts: 3563
- Joined: Wed Dec 12, 2018 5:24 pm
- Location: Ireland
- Has thanked: 1 time
- Been thanked: 87 times
- Contact:
-
- Posts: 656
- Joined: Sat Oct 05, 2019 6:50 pm
- Location: Northern California, USA
- Been thanked: 1 time
- Contact:
Re: Chademo Controller Development
Good evening ladies and gents,
I'd like to report a successful quick charge with Damien's hardware and my software.
I went to the EVGo station today with the port all wired up, ISA installed, and Leaf VCU in the trunk of my car. I plugged in the connector, swiped my credit card, and off she went, ramping current up to a cool 100 amps (99.73 reported by ISA). When the voltage hit 400, the car shut off and the charger did as well. 0.3KWh was delivered (started with a mostly full pack), with a maximum of 39.7Kw output.
So we have a working system!!!
Thanks Damien and EVTV!
Some things to note:
--The first attempt gave a 52 error code because V was set to 395 and my battery voltage was already that high. So if you get that error, check your MAXV and V settings.
--If MAXV is set to the same point as V, you will get error codes from the VCU, if not from the EVSE, when you reach that point. And current will not be ramped down. MAXV is an absolute maximum, intended to be a failsafe for both sides, and not actually reached.
--I haven't tested rampdown yet because of the above behavior - just need to run down the pack for a few miles and then it should manifest itself.
The working code is attached, SimpleISA library at https://github.com/Isaac96/SimpleISA-- due_can, Wire_EEPROM, due_wire, and due_timer are also needed.
I'm going to be adding and testing BMS signaling for my own system (I created the BMS so it's got a custom protocol). If anyone needs help setting it up for their system, let me know and I'll work on it.
If anyone else wants to do some more testing that would be great, we can see how it works with different setups and different chargers.
Damien, how do you think the software should be released? Maybe a barebones version and then other versions available for different BMS systems? I'd prefer to avoid a complex configuration interface if possible.
-Isaac
I'd like to report a successful quick charge with Damien's hardware and my software.
I went to the EVGo station today with the port all wired up, ISA installed, and Leaf VCU in the trunk of my car. I plugged in the connector, swiped my credit card, and off she went, ramping current up to a cool 100 amps (99.73 reported by ISA). When the voltage hit 400, the car shut off and the charger did as well. 0.3KWh was delivered (started with a mostly full pack), with a maximum of 39.7Kw output.
So we have a working system!!!
Thanks Damien and EVTV!
Some things to note:
--The first attempt gave a 52 error code because V was set to 395 and my battery voltage was already that high. So if you get that error, check your MAXV and V settings.
--If MAXV is set to the same point as V, you will get error codes from the VCU, if not from the EVSE, when you reach that point. And current will not be ramped down. MAXV is an absolute maximum, intended to be a failsafe for both sides, and not actually reached.
--I haven't tested rampdown yet because of the above behavior - just need to run down the pack for a few miles and then it should manifest itself.
The working code is attached, SimpleISA library at https://github.com/Isaac96/SimpleISA-- due_can, Wire_EEPROM, due_wire, and due_timer are also needed.
I'm going to be adding and testing BMS signaling for my own system (I created the BMS so it's got a custom protocol). If anyone needs help setting it up for their system, let me know and I'll work on it.
If anyone else wants to do some more testing that would be great, we can see how it works with different setups and different chargers.
Damien, how do you think the software should be released? Maybe a barebones version and then other versions available for different BMS systems? I'd prefer to avoid a complex configuration interface if possible.
-Isaac
- Attachments
-
- LeafVCUChademo06.zip
- (12.4 KiB) Downloaded 154 times
- 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
Excellent work. Let's keep everything nice and simple. We can release on your github or mine and let others fork off from there and do what they please. I want one working golden version that doesnt get messed up. That's what killed the original jld505. I'll do a specific hardware version of the Leaf vcu for chademo and release on my github and webshop.
What we then need to do is get a steady supply of the isa shunts organised.
What we then need to do is get a steady supply of the isa shunts organised.
I'm going to need a hacksaw