Chademo Controller Development

Development and discussion of fast charging systems eg Chademo , CCS etc
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 »

Correct, the isolation test is indeed during the “Wait for confirmation” state.
7A9E425A-95AE-4999-836B-52C91A03430C.jpeg
Car contactors open and CHAdeMO contactors closed does not happen.
You need to send “car in charge enable” aka “ready to receive charge”. So at that point the car contactors are closed. Only further down the process the CHAdeMO contactors close. If you open the car contactors amd thus send “car not ready to receive charge” the process will abort. See process flow here https://www.evcreate.nl/chademo-fast-ch ... mo-process
Dusty4
Posts: 83
Joined: Tue Dec 25, 2018 12:41 pm
Location: Western Australia
Has thanked: 11 times
Been thanked: 7 times

Re: Chademo Controller Development

Post by Dusty4 »

Hello,
How does the web interface work with this board, I have flashed the board and I had a spare esp8266 for an inverter board I had. Do I need the flash the esp8266 with and updated web interface?
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 »

Dusty4 wrote: Sat Jan 08, 2022 11:32 pm Hello,
How does the web interface work with this board, I have flashed the board and I had a spare esp8266 for an inverter board I had. Do I need the flash the esp8266 with and updated web interface?
There may have been an 'official' ESP flash for fast charge at some point. Which board do you have exactly?

I put together an interface of sorts for a specific vehicle (Tesla pack and BMS) at one point. I'll see if I can dredge it up again, no promises :)

On a semi-related note, I'm having issues with proximity triggering. Pin 7 gets pulled low by the station upon plugging in, and this current is enough to trigger the relays on Damien's custom boards. But a standard relay (with coil resistance of ~75 ohms) will not trigger. I suppose a mosfet is in order here.
Does anyone have numbers on the current range? I'm seeing a resistor on the EVSE side in some diagrams.
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

This question may be dumb, but, well, I'm dumb.

Do I need to do anything to the ISA shunt to set it up for use? Right now I just wired it up and that's it.

I went and attempted to charge for the first time today, and it appears that the process failed right when the board started to need info from the shunt. Frankly, it was too cold to do other trouble shooting even though I had a CAN sniffer with me.
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
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 »

There is an initialization procedure in the library (it tells the shunt to send more things, changes timings, and changes endian-ness).

Assuming you're running one of the Due-based boards, the SimpleISA example has an initialization function triggered by pressing 'i' in serial monitor.
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

Isaac96 wrote: Sun Jan 16, 2022 2:49 am Assuming you're running one of the Due-based boards, the SimpleISA example has an initialization function triggered by pressing 'i' in serial monitor.
I'm using one of Damien's Chademo specific boards.
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
User avatar
Bratitude
Posts: 783
Joined: Thu Jan 02, 2020 7:35 pm
Location: Canada
Has thanked: 57 times
Been thanked: 168 times
Contact:

Re: Chademo Controller Development

Post by Bratitude »

P.S.Mangelsdorf wrote: Sun Jan 16, 2022 2:58 pm
I'm using one of Damien's Chademo specific boards.

One of the stm32 based boards?

I just soldered up my board, upon looking through the GitHub there’s :

https://github.com/damienmaguire/Chadem ... _HowTo.pdf

And

https://github.com/damienmaguire/Chadem ... /SimpleISA
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

Bratitude wrote: Mon Jan 17, 2022 1:59 am
P.S.Mangelsdorf wrote: Sun Jan 16, 2022 2:58 pm
I'm using one of Damien's Chademo specific boards.

One of the stm32 based boards?

I just soldered up my board, upon looking through the GitHub there’s :

https://github.com/damienmaguire/Chadem ... _HowTo.pdf

And

https://github.com/damienmaguire/Chadem ... /SimpleISA
I believe so. It was a complete and preprogrammed board.

I'll be honest, I've read through that several times and I'm not sure what I'm looking at, or more precisely how it helps. As I read it, the set up is done over CAN, is that correct?

I guess my next dumb question would be whether the current firmware does that setup itself or if I need to do it separately? And if the current firmware doesn't, is there a way to do so via the web interface?
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
User avatar
Bratitude
Posts: 783
Joined: Thu Jan 02, 2020 7:35 pm
Location: Canada
Has thanked: 57 times
Been thanked: 168 times
Contact:

Re: Chademo Controller Development

Post by Bratitude »

P.S.Mangelsdorf wrote: Mon Jan 17, 2022 2:19 am

I believe so. It was a complete and preprogrammed board.
small chip? then its an stm
Screen Shot 2022-01-16 at 10.33.14 PM.png
P.S.Mangelsdorf wrote: Mon Jan 17, 2022 2:19 am
I'll be honest, I've read through that several times and I'm not sure what I'm looking at, or more precisely how it helps. As I read it, the set up is done over CAN, is that correct?
yeah the isa shunts are programed over can.

P.S.Mangelsdorf wrote: Mon Jan 17, 2022 2:19 am
does that setup itself or if I need to do it separately? And if the current firmware doesn't, is there a way to do so via the web interface?
im guessing we have a few options here:

one is that the stm board dose has the initialize function in the firmware just like the due/sam based boards, so just like issac said we need to hit i in the serial console when we have the board plugged in via the serial port.


if this isnt the case maybe we can try compelling the sam/due based code onto a ardiuno due and use that as a "programer" for the isa. this seems crazy but should work just fine.

from what it looks like there isnt much in the way of a web interface for this.

ill be taking a crack at this shortly so we are in this together
https://bratindustries.net/ leaf motor couplers, adapter plates, custom drive train components
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

Ok I'm starting to wrap my head around this. A couple questions:

Johannes, if I just input "i" to the custom command input on the web interface, would that be the same as inputting it via serial? The wiki is unclear to me.
EDIT: I just tried this and got an "unknown command sequence" error. The wiki says that the custom command input can be used for terminal commands that haven't been brought out to the interface, whats the correct command/procedure to do that?

If not, can anyone tell me what I need to connect to the programming port so I can access via serial? I'm not seeing a part # on the BOM or a clear pinout on the schematic.

As a side note, I really appreciate the help on this, I've committed to taking the car on a week-long event starting February 6th, so I need to make this work.
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
User avatar
Bratitude
Posts: 783
Joined: Thu Jan 02, 2020 7:35 pm
Location: Canada
Has thanked: 57 times
Been thanked: 168 times
Contact:

Re: Chademo Controller Development

Post by Bratitude »

P.S.Mangelsdorf wrote: Mon Jan 17, 2022 1:50 pm
If not, can anyone tell me what I need to connect to the programming port so I can access via serial? I'm not seeing a part # on the BOM or a clear pinout on the schematic.
youll need to connect a stlink to the 3.3v, gnd, swclk and swdio pins on the programming port, i think on our boards its labeled as 'sdwprog"

stlinks are cheap: https://www.amazon.ca/CANADUINO-Compati ... B07B2K6ZPK
https://bratindustries.net/ leaf motor couplers, adapter plates, custom drive train components
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

Bratitude wrote: Mon Jan 17, 2022 5:13 pm
youll need to connect a stlink to the 3.3v, gnd, swclk and swdio pins on the programming port, i think on our boards its labeled as 'sdwprog"

stlinks are cheap: https://www.amazon.ca/CANADUINO-Compati ... B07B2K6ZPK
Got it. I've got one on order, and I think I've figured out the pinout of the programming port on the board. Should have more to report on Friday.
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
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 »

You could also use whatever other CAN board you have available to send the required messages.

These are just pasted from the SimpleISA library in current use on the Due-based Chademo boards.

STOP command:
<code>
outframe.id = 0x411; // Set our transmission address ID
outframe.length = 8; // Data payload 8 bytes
outframe.extended = 0; // Extended addresses 0=11-bit1=29bit
outframe.rtr=1; //No request
outframe.data.bytes[0]=0x34;
outframe.data.bytes[1]=0x00;
outframe.data.bytes[2]=0x01;
outframe.data.bytes[3]=0x00;
outframe.data.bytes[4]=0x00;
outframe.data.bytes[5]=0x00;
outframe.data.bytes[6]=0x00;
outframe.data.bytes[7]=0x00;
</code>

STORE command:
<code>
outframe.id = 0x411; // Set our transmission address ID
outframe.length = 8; // Data payload 8 bytes
outframe.extended = 0; // Extended addresses 0=11-bit1=29bit
outframe.rtr=1; //No request
outframe.data.bytes[0]=0x32;
outframe.data.bytes[1]=0x00;
outframe.data.bytes[2]=0x00;
outframe.data.bytes[3]=0x00;
outframe.data.bytes[4]=0x00;
outframe.data.bytes[5]=0x00;
outframe.data.bytes[6]=0x00;
outframe.data.bytes[7]=0x00;
</code>

And the settings command:
<code>
for(int i=0;i<9;i++)
{

Serial.println("initialization \n");

outframe.id = 0x411; // Set our transmission address ID
outframe.length = 8; // Data payload 8 bytes
outframe.extended = 0; // Extended addresses 0=11-bit1=29bit
outframe.rtr=1; //No request
outframe.data.bytes[0]=(0x20+i);
outframe.data.bytes[1]=0x42;
outframe.data.bytes[2]=0x02;
outframe.data.bytes[3]=(0x60+(i*18));
outframe.data.bytes[4]=0x00;
outframe.data.bytes[5]=0x00;
outframe.data.bytes[6]=0x00;
outframe.data.bytes[7]=0x00;

canPort->sendFrame(outframe);

if(debug)printCAN(&outframe);
delay(500);

sendSTORE();
delay(500);
}

</code>

You go STOP, settings command, then STORE.


The incrementing for 'i' in the settings command cycles through all 9 available readings, sets them all to cyclic, sets the bit ordering, and sets the interval.
I'm really not sure what the intervals are - they are set by bytes 2 and 3 but byte 3 gets modified by the value of i for some reason.
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

I'm trying to connect with the ST Link and hitting the limit of my knowledge. I have it wired up, and it appears in the ST Utility that it is seeing the device, but I cannot figure out how to get to the/a serial monitor.

Do I need to connect via the utility and then use something like putty? Has this already been answered somewhere?

Apologies for the dumb questions but I'm pretty far out of my depth here.
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
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 »

Um... Does the ST Link actually do USB-serial? I can't find anything about that in the datasheets.

Do you have a link to the firmware for these STM32 boards?
I have one myself, haven't ever used it.
User avatar
Bratitude
Posts: 783
Joined: Thu Jan 02, 2020 7:35 pm
Location: Canada
Has thanked: 57 times
Been thanked: 168 times
Contact:

Re: Chademo Controller Development

Post by Bratitude »

Isaac96 wrote: Sat Jan 22, 2022 5:52 am Um... Does the ST Link actually do USB-serial? I can't find anything about that in the datasheets.
I’m pretty sure I was reading the serial data from my Gen2 Tesla charger board with my stlink.
But now come to think of it… it was my ftdi board.

P.S.Mangelsdorf wrote: Sat Jan 22, 2022 1:03 am
Whoops. Sorry!

At least there cheap and now you can programs any stm32 board :)
Isaac96 wrote: Sat Jan 22, 2022 5:52 am
Do you have a link to the firmware for these STM32 boards?
I have one myself, haven't ever used it.
This I was puzzled about. I guess damien never released it publicly?
https://bratindustries.net/ leaf motor couplers, adapter plates, custom drive train components
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

Isaac96 wrote: Sat Jan 22, 2022 5:52 am Um... Does the ST Link actually do USB-serial? I can't find anything about that in the datasheets.
If not the ST Link, how do I get a serial connection to the board?

I'm trying to avoid the Due route, because there are some older libraries that are broken, where I don't have a good one, and it won't compile. Just to get a CAN sniffer I had to use Collin's updater program. See below, which was a discussion specifically of the CAN sniffer, but I have had the problem with the other CANDue libraries as well.
https://openinverter.org/forum/viewtopic.php?f=9&t=2140
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

Isaac96 wrote: Tue Jan 18, 2022 6:57 am You could also use whatever other CAN board you have available to send the required messages.
Ok, I am going to attempt to use Savvy CAN to send the messages.

Isaac and/or others, would you mind looking over what I have to make sure I've got it right before I send it? I think I may have screwed up the data because hexadecimal and I are not friends.

Initialize setup v1.0.PNG
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
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 »

18 decimal is 0x12 hex.

So for those incrementing bytes (data byte 3 counting from 0):
0x60
0x72
0x84
0x96
0xA8
0xBA
0xCC
0xDE
0xF0

That should match the original library's outputs. Not sure if those are desired values but it appears to be what works.

And perhaps a longer delay before sending the 'store' command -- I think the shunt needs time to save the values. Say 500ms? (Again copying the library.)

Otherwise all looks good!
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

Thank you!

I'm hoping to test tomorrow. Of course the one weekend I need good weather ends up being the one weekend we actually get snow in Raleigh.
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

Isaac, hopefully final dumb question:
Should I have seen a response over CAN after sending the initialization messages? Because I did not.

EDIT: I think I fixed my issue. It'd help if I had wired the shunt correctly. Now off to test.
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

Annnnddddd not yet fixed. Failed slightly later, by seconds. Previously, would fail immediately after both sides closed contactors and began charging, now it hangs there for a second or two before dropping.

Question for Damien (or others if they know): How many amps can the board provide the contactors? I have a feeling mine are drawing too much.

I'm also not certain all is well with the shunt, but I'm a bit burnt out of wrestling with it.
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
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 »

Could you send a screenshot of the current and voltage messages sent by the shunt? I can plug them in and verify that format is good.

Your shunt may be in the 'wrong' direction too, I really don't know if there is any customary way to orient it (and if the current is negative when it should be positive, then the code will probably be unhappy).
User avatar
Bratitude
Posts: 783
Joined: Thu Jan 02, 2020 7:35 pm
Location: Canada
Has thanked: 57 times
Been thanked: 168 times
Contact:

Re: Chademo Controller Development

Post by Bratitude »

P.S.Mangelsdorf wrote: Sun Jan 23, 2022 9:49 pm How many amps can the board provide the contactors? I have a feeling mine are drawing too much.
contactors are switched via one of the relays on the board.
PCH-112L2MH,000
5amp 12v

Do the contactors have a econimmizer ?
https://bratindustries.net/ leaf motor couplers, adapter plates, custom drive train components
P.S.Mangelsdorf
Posts: 753
Joined: Tue Sep 17, 2019 8:33 pm
Location: Raleigh, NC, USA
Has thanked: 89 times
Been thanked: 92 times

Re: Chademo Controller Development

Post by P.S.Mangelsdorf »

Isaac96 wrote: Sun Jan 23, 2022 10:14 pm Could you send a screenshot of the current and voltage messages sent by the shunt? I can plug them in and verify that format is good.
I'll try to get some screenshots and logs this evening or tomorrow.
Isaac96 wrote: Sun Jan 23, 2022 10:14 pm Your shunt may be in the 'wrong' direction too, I really don't know if there is any customary way to orient it (and if the current is negative when it should be positive, then the code will probably be unhappy).
Yeah, I had the shunt the wrong way; After I fixed it I did start to see some CAN traffic as a result.
If at first you don't succeed, buy a bigger hammer.

1940 Chevrolet w/ Tesla LDU - "Shocking Chevy" - Completed 2023 Hot Rod Drag Week
Post Reply