Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Supercharger protocol for diy CHAdeMO adapter

This site may earn commission on affiliate links.
nlc: I believe you have reversed the connections from your receive interface to the AVR-CAN on pins EXT2-6 and ext2-20.

Oupss !! You are right, here is the good wiring :

20140426_191533.jpg




I have a question about the code used in your setup:
- How much time does the Model S receive the 5% 1KHz Pilot before it goes into digital signalling mode?
Do you send a burst of 5% then just wait, or what?
- How does the car indicate the state change to digital?

I don't measured exactly, but it's very fast :
When connecting to the car, the EVSE is in state A, and the car ask for state B. The EVSE sends the 5% PWM, and very quickly the car switches to state C, to tell the EVSE to switch to CAN digital communication. At this step your EVSE must set the CP line to -12V continuous. You have approx 1s to detect the car switched to state C and set -12V on CP line before it sends the first CAN frame.


- What is the circuit that you use in your CAN-enabled EVSE that sends the CAN ACK bit? (Is this the additional circuit you published earlier?)
Yes, that's this schematic :

20140414_111914.jpg


Surrounded parts are components I added for the CAN interface. In my case the microcontroller of my EVSE box doesn't support CAN, thus I used another board, but that's the same schematic, CAN_TX and CAN_RX just go on another board in my case (with common GND of course).

I'd like to try to duplicate your results before I move on to connecting to a SuperCharger.

You are right that's a good idea !
 
Thanks nlc and wk057. I'm going back to the J1772 spec to assess the electrical meaning of the various State's, adding hardware and software to emulate the EVSE's end of the connection to the AVR-CAN, then test. I already have in place in the trunk a 3-wire connection to the charging port wiring for CP/PP/GND pins. Will likely report results in a few days.
 
I see it like this. You've managed to trigger the digital DC-charging protocol by following J1772/IEC61851-1 procedure. It then switches to CAN-based communication. Who says that communication isn't standards compliant as well? Possibly IEC 61851-24 since this is a european MS. Or J2931.

- - - Updated - - -

One more thing. Since you have the raw CAN data, maybe you can use wireshark for analysis. It should be CAN capable...

For anyone interested:
http://www.google.se/url?sa=t&rct=j...9C7r7MLmSWhLoX5HCaxd6fw&bvm=bv.65397613,d.bGE

It may be just me but afaik, the proximity resistor value of 1500 ohm to signal DC combo mode is not widely known...

Edit: Better link
http://www.beama.org.uk/download.cfm/docid/C9067952-7A8B-463B-99847A4F91BA30D7
 
Last edited:
This is certainly a workable solution. Personally, I'm not afraid of cutting into insulation and soldering a tap in place, then applying the suitable amount of electrical tape over the connection. This way I'm assured of a good connection and very little chance of unintended consequences. I've been doing this sort of stuff for year with never a problem. However, much of this is as much personal preference as it is anything else. I expect we'll all be using this connection for a considerable period. There's a lot to be learned here, and it's an iterative process. In my last project like this, I logged more than 300 sessions over a 3 year period. To each his own... for what it's worth. :)
 
Is it realistically possible to convert the DC CHAdeMO into AC charging? Being able to charge at 18KW for us Roadster owners would be awesome for trips. But I have not been able to find a good way to do this. Thanks to those better brains out there.
 
Is it realistically possible to convert the DC CHAdeMO into AC charging?
CHAdeMO does not support AC in any form (there are no connections for AC), so I'm pretty sure the answer is no. That is, unless you have an inverter and transformer in between to convert DC to 240V AC, which is going to be bulky and unlikely to be something you can easily carry around.

And even the linked document by matbl shows that even the Combo socket is strongly recommending not allowing dual AC/DC on the same pins.
 
Yes it's possible but need to open my plug, and change the resistor, not really fun :redface:

But it gives me an idea, is someone can measure the PP resistor value on a supercharger !? That's really easy, just to put an ohmmeter between PP signal and GND on the supercharger plug before you connect it to charge your car !
 
This evening I tried with a SoC ~37% (last session was at ~68%) :

Frame 0x312 is exactly the same, and because it's a 1Hz rate as the VIN frame, it's probably an identifier, I don't give it here.

Frame 0x302 changed, but the first frame was the same the last log session I done :

Code:
ID:0x0302 REMOTE:0 LEN:5 DATA: 0x00 0x00 0xb5 0x40 0x06 
ID:0x0302 REMOTE:0 LEN:5 DATA: 0x00 0x00 0x68 0x40 0x06 
ID:0x0302 REMOTE:0 LEN:5 DATA: 0x00 0x00 0x68 0x40 0x06 
...

As if an internal variable is updated only at the begin of the supercharger session. In the first frame it seems it was the value of the last session.

Same behavior for frame 0x202, first frame contains the value of the previous session :

Code:
ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff 
ID:0x0202 REMOTE:0 LEN:4 DATA: 0x85 0x12 0xde 0xff 
ID:0x0202 REMOTE:0 LEN:4 DATA: 0x85 0x12 0xde 0xff 
ID:0x0202 REMOTE:0 LEN:4 DATA: 0x85 0x12 0xdd 0xff 
ID:0x0202 REMOTE:0 LEN:4 DATA: 0x85 0x12 0xe0 0xff                                                         
ID:0x0202 REMOTE:0 LEN:4 DATA: 0x85 0x12 0xdf 0xff                                                         
ID:0x0202 REMOTE:0 LEN:4 DATA: 0x85 0x12 0xe0 0xff                                                         
ID:0x0202 REMOTE:0 LEN:4 DATA: 0x85 0x12 0xde 0xff                                                         
ID:0x0202 REMOTE:0 LEN:4 DATA: 0x86 0x12 0xdf 0xff
...

Same behavior for 0x112 frame :

Code:
ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00 
ID:0x0112 REMOTE:0 LEN:8 DATA: 0x85 0x12 0x00 0x00 0x00 0x00 0x00 0x00 
ID:0x0112 REMOTE:0 LEN:8 DATA: 0x85 0x12 0x00 0x00 0x00 0x00 0x00 0x00                                     
ID:0x0112 REMOTE:0 LEN:8 DATA: 0x85 0x12 0x00 0x00 0x00 0x00 0x00 0x00                                     
ID:0x0112 REMOTE:0 LEN:8 DATA: 0x86 0x12 0x00 0x00 0x00 0x00 0x00 0x00                                     
ID:0x0112 REMOTE:0 LEN:8 DATA: 0x85 0x12 0x00 0x00 0x00 0x00 0x00 0x00                                     
...

Frame 0x102 is exactly the same :

Code:
ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00 
ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00

- - - Updated - - -

Byte 3 of the frame 0x302 seems to be the SoC !!??
0xFF ---> 100%
0xB5 ---> 70.9%
0x68 ---> 40.7%
:)
 
nlc: To answer your question about the resistance between the PP-to-GND pins of an
idle (not yet powered-up) SC, the answer is 450 ohms. I didn't think to press the
button to get the "signalling" resistance. I can do that shortly if you really want to
know. There's a good possibility that this SC will come to life in several weeks. It
appears that the charger stalls are fully wired. However, when it's up I'll measure
again and report the results.

As you probably already know, the EVSE-connected measurements are 450 ohms for the
40A-max version (that comes with the car at delivery) and is 150 ohms for the 80A-max
version delivered separately when one purchases the extra car-installed charger.

My AVR-CAN hardware/software is now fully functional for collecting a complete
charging session. What I haven't done yet is added the Pilot signal driver and the
software needed
to generate the 1 KHz PWM signal, mostly because I don't CONVENIENTLY have -12V
available inside the car, and the resistor ladder needed to signal EVSE state changes.
To make this all work, I'm going to have to make a DC-to-DC converter. (Did I say that
I'd like this to work without any connections external to the car?) Given the results
you're getting, I suspect the curiosity will get the better of me (while I wait for
the SC) and I'll finish building the additional pieces.

Something else I've noticed is that the GND pin in the charge connector, when the
connector is unoccupied, does not measure continuity to the car chassis (like to the
disk brake plate in the rear wheel). I'd be interested to know if you're seeing the
same measurement. At my next charging session, I'm going to measure this resistance
again, to see if there's a contactor in the line.
 
A last tidbit on the topic of the "Resistance to GND" paragraph above: While charging, I'm measuring 2176 ohms between the ground pin in the charge connector and the brake disk plate on the wheel nearest the connector. There is neither any DC or AC measurable. Hmmmm. Methinks there's some GFI sensing present here.
 
My AVR-CAN hardware/software is now fully functional for collecting a complete
charging session. What I haven't done yet is added the Pilot signal driver and the
software needed
to generate the 1 KHz PWM signal, mostly because I don't CONVENIENTLY have -12V
available inside the car, and the resistor ladder needed to signal EVSE state changes.
To make this all work, I'm going to have to make a DC-to-DC converter.

Try it with just 0V/+12V - there are some dodgy EVSE around that only do that, and Tesla might have made themselves compatible. Saves you some work if so...

Something else I've noticed is that the GND pin in the charge connector, when the
connector is unoccupied, does not measure continuity to the car chassis (like to the
disk brake plate in the rear wheel). I'd be interested to know if you're seeing the
same measurement. At my next charging session, I'm going to measure this resistance
again, to see if there's a contactor in the line.

This is surprising, since the ground in the cable is meant to be a safety ground for the vehicle chassis, and half the point of the pilot circuit is to verify the integrity of that ground.

Maybe your brake disc isn't in fact a good contact to the main chassis (bearings etc. in the way)?
 
Try it with just 0V/+12V - there are some dodgy EVSE around that only do that, and Tesla might have made themselves compatible. Saves you some work if so...
Absolutely, normally there is a diode in the car, the negative voltage only permit to the EVSE to detect is the diode is present or not.
But if you want +/-12V you can reuse the schematic I use in my EVSE :
Capture-43.png
Capture-42.png



This is surprising, since the ground in the cable is meant to be a safety ground for the vehicle chassis, and half the point of the pilot circuit is to verify the integrity of that ground.
You are right, the GBD pin of the port charge is normally in full connection with the chassis, will do a measure to verify
 
Regards my comment earlier about the brake disk showing 2Kohms to GND in the charge connector:
The observation was indeed a red herring. When measuring, for example, to pin 4/5 in the OBD connector under the dash, the charge connector GND pin shows direct connection. Surprising what stray grease will do! :) I stand corrected.
 
nlc: Thanks for the schematics. I knew about the 7660, which dates to the MAX232 family of level shifters. Unfortunately, my junkbox doesn't contain any. Most of my parts are older, so I have to make do with what I have.

A new SC is about to come online. I'm ready to record its operation simultaneously with the 500 KHz CAN buss that's on the OBD connector. I've found in the past the correlating data from multiple sources leads to a more complete understanding of what's going on inside a black box.

Does anyone know what protocol is in use on pins 6-14 of the OBD connector?