Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Development and discussion of fast charging systems eg Chademo , CCS etc
p477d343
Posts: 24
Joined: Wed Jun 12, 2024 3:58 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by p477d343 »

Hello, I am working on a project from pyPLC with EvseMode hardware. I have a tp-pa4010(same as this:viewtopic.php?p=59745#p59745) teardown, arduino nano, Raspberry Pi ready. But I don't quite know how to connect all hardware together and do the resistor wire things. Can you show me a picture of your final hardware looks like? Or a list of things that I need to buy (resister, other things, etc.)
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by uhi22 »

The overall block schematic is here: https://github.com/uhi22/pyPLC/blob/mas ... vseMode.md, added also some photos of my setup there.
The raspberry (or windows laptop) running pyPLC connects with an ethernet cable to the tp-pa4010. The tp-pa4010 and the arduino are powered by 5V from an USB power bank (in my case the light-green 18650 accu and the taped USB electronics).
The most work is the PWM generation. The schematic is linked in the github, it is this: https://www.instructables.com/Arduino-E ... ng-Station We need +12V and -12V, this is solved in the original schematic with a voltage converter, and in my case I use two separate 5V-to-12V converters, one to create the +12V, the other to create the -12V. Example B0512S-1WR3 from https://de.aliexpress.com/item/10050048 ... ry_from%3A


For showing the status, my Arduino uses two WS2812 full RGB LEDs, which only need one pin on the Arduino, instead of the three conventional LEDs in the original design. And I added a poti (between 5V and ground) which feeds an analog input of the Arduino, to be able to adjust the generated PWM ratio. In case the box shall never do AC charging, the poti can be replaced by a bridge from the analog input to ground, which will lead to fix 5% PWM ratio.
The PP resistor of 1k5 is directly contained in my self-made plug, and the CP and PE just use a simple twisted pair from the plug to the box, this is the yellow cable which can be seen in the video from Augsburg Linux day.
Griffigroen
Posts: 4
Joined: Fri Mar 08, 2024 1:19 pm
Been thanked: 1 time

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by Griffigroen »

Hi,
Today I was able to do the light bulb test on the Polestar 2. With the DC/DC converter I mentioned earlier, supplied it with 12v and set it to 580v (voltage drops a bit to around the requested voltage when the car is measuring voltage, as this converter is unregulated), only needed it to pass precharging. After that I could switch the separate power of and the vehicle kept discharging for 1 hour, possibly more but this was all the time I had. After disconnecting the setup the cooling fans kicked on and the SoC updated by dropping to 74% after switching to drive.
This is a very good sign for discharging these vehicles for V2x and that will be my next test with goodwe gw10k-bt and a decent cable.
Here is the video: https://youtu.be/dzOr7A8TZGg
And the log below :D
Attachments
polestar2-discharging.zip
(24.24 KiB) Downloaded 431 times
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by uhi22 »

Wow, great.
Decoded log stored here: https://github.com/uhi22/pyPLC/blob/mas ... ecoded.txt

Regarding the test setup, just a small reminder of the risks:
1. Touching the 400V with both hands has a good chance to kill a person. So best one hand in the pocket, use only the other. Or/and wearing of well-isolating shoes, clothes and gloves minimizes the risk.
2. A short between DC+ and DC- will lead to a lot of gaseous metal flying around, with the good chance to damage the skin and eyes, and to cause fire of clothes and of the surrounding things. And it will be loud, risk for ear damage.
Summary: Triple check the isolation and protection before connecting. In best case, there should be DC-capable fuses added directly inside the plug.
p477d343
Posts: 24
Joined: Wed Jun 12, 2024 3:58 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by p477d343 »

uhi22 wrote: Sat Jun 15, 2024 7:31 pm The overall block schematic is here: https://github.com/uhi22/pyPLC/blob/mas ... vseMode.md, added also some photos of my setup there.
The raspberry (or windows laptop) running pyPLC connects with an ethernet cable to the tp-pa4010. The tp-pa4010 and the arduino are powered by 5V from an USB power bank (in my case the light-green 18650 accu and the taped USB electronics).
The most work is the PWM generation. The schematic is linked in the github, it is this: https://www.instructables.com/Arduino-E ... ng-Station We need +12V and -12V, this is solved in the original schematic with a voltage converter, and in my case I use two separate 5V-to-12V converters, one to create the +12V, the other to create the -12V. Example B0512S-1WR3 from https://de.aliexpress.com/item/10050048 ... ry_from%3A


For showing the status, my Arduino uses two WS2812 full RGB LEDs, which only need one pin on the Arduino, instead of the three conventional LEDs in the original design. And I added a poti (between 5V and ground) which feeds an analog input of the Arduino, to be able to adjust the generated PWM ratio. In case the box shall never do AC charging, the poti can be replaced by a bridge from the analog input to ground, which will lead to fix 5% PWM ratio.
The PP resistor of 1k5 is directly contained in my self-made plug, and the CP and PE just use a simple twisted pair from the plug to the box, this is the yellow cable which can be seen in the video from Augsburg Linux day.
Thanks for adding more detail pictures to the GitHub. I have now modified my TP-PA4010 and working on other steps. I try to list electric unit that this project needed. Sorry for having so much question. I am quite new to doing physical electric things.
  • light-green 18650 accu
  • 2 * B0512S-1WR3 voltage converter
  • what kind of bridge that can replace potentiometer?
  • what kind of cable that connect to PEV ? 3D printed module that plug into PEV charging port
  • what kind of capacitance you used in this project?
  • what is this 89A252M?
pYRBpir.png
pYRBpir.png (84.9 KiB) Viewed 13600 times
  • what kind of resistor in the picture?
NoLMlfv.png
tr3meus.png
  • what kind of 3 squares in the Circuit diagram?
jXD48US.png
jXD48US.png (32.87 KiB) Viewed 13600 times
User avatar
asavage
Posts: 371
Joined: Sat May 14, 2022 10:57 pm
Location: Oak Harbor, Washington, USA
Has thanked: 356 times
Been thanked: 117 times
Contact:

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by asavage »

image.png
Please use forum's native attachment schema rather than hotlinking.

Image hosting sites die off all the time (see: PhotoBucket).
Al Savage
2014 RAV4 EV
NissanDiesel
p477d343
Posts: 24
Joined: Wed Jun 12, 2024 3:58 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by p477d343 »

asavage wrote: Wed Jun 19, 2024 3:06 pm image.png

Please use forum's native attachment schema rather than hotlinking.

Image hosting sites die off all the time (see: PhotoBucket).
Thanks for reminds that. I have edited it as attachment.
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by uhi22 »

For the discussion of the hardware basics, created an separate thread, to avoid that we loose the focus here.
viewtopic.php?t=5116
Timvb
Posts: 2
Joined: Sun Mar 10, 2024 6:36 pm
Been thanked: 4 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by Timvb »

Hey all, little update on the polestar project.

We were successfully able to configure the inverter to work without a BMS (lead acid battery mode).
Here a little picture of a big load connected. The car just kept it's contactors closed for over an hour.
original.jpg
I have worked together with Griffigroen on this as an educational research project at an institution. Sadly the project is now ending, and we are not able to finish the system (adding HV contactor; automating the voltage setting on the precharge circuit; putting it in a nice safe enclosure etc.). Also thanks for the headsup on the risks @uhi22. We were aware of the risks and besides being NEN9140 certified, also under supervision. But you can never be careful enough.

Anyways, I (or Griffigroen) might return some day on this forum. I have some energy storage related ideas left in my head, but that might take a few years to be able to start on :)

Thanks for building pyPlc! It is truely amazing what the open source community can come up with.
classic24
Posts: 4
Joined: Sun Jun 30, 2024 10:04 am
Has thanked: 2 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by classic24 »

Hi, I stumbled across this project on accident and it looks pretty promising, thanks to everyone putting work into it so far. As I'm also interested in giving it a try with my ID Buzz, I'd want to ask if there's bare minimum version to get it working? I know it's kind a pretty lazy request and I could probably work it out on my own by spending a few days into everything but why wasting that time if something similar exists already? :) University time with it's very basic programming lectures is already several years back and I never really spend time into programming more sophisticated.
I don't have an equipped lab with all these standard components available, so I'd need to buy them all. Also I don't have a garage so I'd need to set everything up out on the street. What I do have is basic soldering skills with the required equipment (also power supplies, multimeter, Arduino Uno R4 Minima etc), the ID Buzz, heater fans as load (might need to supply the fans from external in case they don't like to run vom DC voltage) and CCS cables (if I'm not mistaken this saves me the 1k5 resistor from PP to PE the plug has it built in, yet). No I don't steal those CCS cables, I actually work in the industry, so I got access to those. ;)
Would be great if there was some rookie recipe to get it working quickly with minimum trail&error. Thanks.
WillTurner
Posts: 2
Joined: Sun Oct 08, 2023 12:11 pm
Location: Brisbane, Australia
Has thanked: 1 time
Been thanked: 1 time

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by WillTurner »

G'day Everyone, I have watched everyone having lots of fun in this post and I thought I just had to get in on the action.

By way of introduction, I have a 2019 Kona and the plan is to connect it to a hybrid inverter to both charge during the day and then discharge at night. I already have a moderate size home battery connected to the house, but there are times when a little extra energy/power would be handy, and some more solar connected to charge the car would also be helpful. Plus, knowing the SOC of the battery will be useful for my home automation.

My setup so far is a Raspberry Pi 3, a cut down TP-PA4010, and a ESP8266 based PWM generator. After a little side adventure with some fake LF353 chips, the hardware side has gone together pretty well. Everything is just powered by the 5V power supply for the Pi which seems to be ok.

Things I have learned so far;
- Much like MarkG-PE's BMW iX3, I needed to adjust the cpdc->EVSEMaximumVoltageLimit.Value down to 400V to get under the 421.4V that the car had. https://github.com/uhi22/pyPLC/issues/1 ... 1895574418
- You need an actual plug, or a thin screwdriver blade or something to trick the locking pin into believing a plug is present in the socket. It must expect to hit the edge of the plug or something, but if you don't have anything in there it will over travel and cycle the locking pin and fail. My ultimate plan is to buy a DC charging plug for the final setup (with HRC fuses inside for uhi22, and also because I have seen people burnt from battery banks before and it's nasty), which should solve my plug problem but I am not sure if I am confident enough that this is going to work just yet :lol:

Anyway, I managed to get the contactors to close and liven up the port for about a second tonight, before it errored out, so I will need to dig through the logs and find out why, but I will keep you posted if I get stuck or make progress.

Thanks uhi22 for writing some sweet software, and even more thanks for hanging around to support it.

Cheers

Will
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by uhi22 »

Interesting, that the Kona checks the physical plug. My 2018 Ioniq does not. You could use your type2 AC cable, to trick it, I think.

@classic24: Looking forward to see the Buzz talking. You could start to obtain the TL-PA4010 homeplug modem and an arduino Nano, and flash the software to it. I think I will provide the list of components in my GitHub.
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by uhi22 »

Done: The schematic, BOM and 3D models of the miniEVSE are now on Github, at the end of chapter https://github.com/uhi22/pyPLC/blob/mas ... d#hardware
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by uhi22 »

classic24 wrote: Sun Jun 30, 2024 10:19 am CCS cables (if I'm not mistaken this saves me the 1k5 resistor from PP to PE the plug has it built in, yet)
Yes, if your plug already contains the 1k5 then it is fine, and you only need CP and PE to connect to the miniEVSE board. You could measure with a multimeter to be sure.
classic24
Posts: 4
Joined: Sun Jun 30, 2024 10:04 am
Has thanked: 2 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by classic24 »

I ordered a used dLAN 200 AVplus meanwhile, I thought that's the better option. Did I get this wrong?
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by uhi22 »

The best proven-in-use is the TL-PA4010, no matter whether with or without suffix P.
The dLAN 200 AVplus has the benefit that it can sniff both sides of the SLAC communication (the TL-PA4010 can only listen to one side, depending on the configuration). This is very helpful for just sniffing. But I do not know whether it was used in EvseMode. You can just try.
The pros and cons are described here: https://github.com/uhi22/pyPLC/blob/mas ... ardware.md
classic24
Posts: 4
Joined: Sun Jun 30, 2024 10:04 am
Has thanked: 2 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by classic24 »

Hmm ok I got that wrong then, my bad. If the Devolo won't work, did anyone buy a set of the TP Link and wants to sell the second adapter? Preferably located in Germany. Just wondering to avoid electronic waste.
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by uhi22 »

classic24
Posts: 4
Joined: Sun Jun 30, 2024 10:04 am
Has thanked: 2 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by classic24 »

Hi, I received my Devolo dLAN 200 AVplus meanwhile. Turns out it looks very different from inside or am I missing something. Just FYI. I guess I'll continue with the TP-Link TL-PA4010 then.
Attachments
Bildschirmfoto 2024-07-06 um 14.47.47.png
Bildschirmfoto 2024-07-06 um 14.47.15.png
Bildschirmfoto 2024-07-06 um 14.48.27.png
User avatar
uhi22
Posts: 1084
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 187 times
Been thanked: 604 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by uhi22 »

Oh, there seem to be quite different versions, this is from 2009 (date code points to week 41 in 2009). My part (pictures here: https://github.com/uhi22/pyPLC/blob/mas ... 200-avplus) is from 2010, it is a "single board" design without the "daughter board".
WillTurner
Posts: 2
Joined: Sun Oct 08, 2023 12:11 pm
Location: Brisbane, Australia
Has thanked: 1 time
Been thanked: 1 time

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by WillTurner »

Well, I am stumped.

I 3D printed a plug shell to give the Kona something to lock on to, and that seems to be working well.

It will close the battery contactors and the plug pins are live, however it will only stay live for a second before it fails.

It sends a single current request and then falls over.

Code: Select all

[72480ms] [EVSE] from 4 entering 4
[SNIFFER] EXI from 15118 to 51163 (22bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 11 60 00 40 80 00 01 93 90 08 00 
[SNIFFER] EXI from 15118 to 51163 (22bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 11 60 00 40 80 00 01 93 90 08 00 
[72981ms] [EVSE] In state WaitForFlexibleRequest, received (28bytes) = 01 FE 80 01 00 00 00 14 80 9A 02 00 40 80 C1 01 41 81 C2 11 32 22 00 00 08 80 00 00 
[72984ms] [EVSE] {
"msgName": "PowerDeliveryReq",
"info": "20 bytes to convert", 
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0102030405060708",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ReadyToChargeState": "1",
"ReadyToChargeState_Text": "true",
"ChargingProfile_isUsed": "0",
"EVPowerDeliveryParameter_isUsed": "0",
"DC_EVPowerDeliveryParameter_isUsed": "1",
"EVReady": "1",
"EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"EVRESSSOC": "34",
"BulkChargingComplete_isUsed": "1",
"BulkChargingComplete": "0",
"ChargingComplete": "0",
"EVCabinConditioning_isUsed": "1",
"EVCabinConditioning": "0",
"EVRESSConditioning_isUsed": "1",
"EVRESSConditioning": "0",
"debug": "Gram118Line5615Gram119Line5651Line3032Line9057Line9090Line9169Line9226Line9260Line3052Gram4Line472"
}
[72986ms] [EVSE] Received PowerDeliveryReq. Extracting SoC parameters
[72990ms] [EVSE] responding (26bytes) = 01 FE 80 01 00 00 00 12 80 9A 02 00 40 80 C1 01 41 81 C2 11 40 04 20 40 00 00 
[72994ms] [EVSE] {
"msgName": "PowerDeliveryRes",
"info": "18 bytes to convert", 
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0102030405060708",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "1",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "1",
"EVSEStatusCode_text": "EVSE_Ready",
"DC_EVSEStatus.NotificationMaxDelay": "0",
"DC_EVSEStatus.EVSENotification": "0",
"debug": "Line478"
}
[72998ms] [EVSE] from 4 entering 4
[SNIFFER] EXI from 51163 to 15118 (20bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 11 32 22 00 00 08 80 00 00 
[SNIFFER] EXI from 15118 to 51163 (18bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 11 40 04 20 40 00 00 
[SNIFFER] EXI from 15118 to 51163 (18bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 11 40 04 20 40 00 00 
[73891ms] [EVSE] In state WaitForFlexibleRequest, received (53bytes) = 01 FE 80 01 00 00 00 2D 80 9A 02 00 40 80 C1 01 41 81 C2 10 D1 00 00 04 40 40 60 14 01 02 87 B1 00 04 06 1A 01 E2 00 18 10 74 17 80 C0 82 70 4C 08 14 31 86 C0 
[73895ms] [EVSE] {
"msgName": "CurrentDemandReq",
"info": "45 bytes to convert", 
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0102030405060708",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"DC_EVStatus.EVReady": "1",
"DC_EVStatus.EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"DC_EVStatus.EVRESSSOC": "34",
"EVTargetCurrent.Multiplier": "-1",
"EVTargetCurrent.Value": "10",
"EVTargetCurrent.Unit": "A",
"EVMaximumVoltageLimit_isUsed": "1",
"EVMaximumVoltageLimit.Multiplier": "-1",
"EVMaximumVoltageLimit.Value": "4214",
"EVMaximumVoltageLimit.Unit": "V",
"EVMaximumCurrentLimit_isUsed": "1",
"EVMaximumCurrentLimit.Multiplier": "-1",
"EVMaximumCurrentLimit.Value": "2000",
"EVMaximumCurrentLimit.Unit": "A",
"EVMaximumPowerLimit_isUsed": "0",
"ChargingComplete": "0",
"EVTargetVoltage.Multiplier": "-1",
"EVTargetVoltage.Value": "3526",
"EVTargetVoltage.Unit": "V",
"debug": "Line9057Line9090Line9169Line9226Line9260Line436"
}
[73897ms] [EVSE] EV wants EVTargetVoltage 352.6
[73906ms] [EVSE] responding (36bytes) = 01 FE 80 01 00 00 00 1C 80 9A 02 00 40 80 C1 01 41 81 C2 10 E0 00 40 80 00 01 82 87 08 10 18 18 00 84 00 C0 
[73910ms] [EVSE] {
"msgName": "CurrentDemandRes",
"info": "28 bytes to convert", 
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0102030405060708",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "1",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "1",
"EVSEStatusCode_text": "EVSE_Ready",
"DC_EVSEStatus.NotificationMaxDelay": "0",
"DC_EVSEStatus.EVSENotification": "0",
"EVSEPresentVoltage.Multiplier": "0",
"EVSEPresentVoltage.Value": "353",
"EVSEPresentVoltage.Unit": "V",
"EVSEPresentCurrent.Multiplier": "0",
"EVSEPresentCurrent.Value": "1",
"EVSEPresentCurrent.Unit": "A",
"EVSECurrentLimitAchieved": "1",
"EVSEVoltageLimitAchieved": "0",
"EVSEPowerLimitAchieved": "0",
"EVSEMaximumVoltageLimit.Multiplier": "0",
"EVSEMaximumVoltageLimit.Value": "0",
"EVSEMaximumVoltageLimit.Unit": "h",
"debug": "Line442"
}
[73914ms] [EVSE] from 4 entering 4
[SNIFFER] EXI from 51163 to 15118 (45bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 10 D1 00 00 04 40 40 60 14 01 02 87 B1 00 04 06 1A 01 E2 00 18 10 74 17 80 C0 82 70 4C 08 14 31 86 C0 
[SNIFFER] EXI from 15118 to 51163 (28bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 10 E0 00 40 80 00 01 82 87 08 10 18 18 00 84 00 C0 
[SNIFFER] EXI from 51163 to 15118 (45bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 10 D1 00 00 04 40 40 60 14 01 02 87 B1 00 04 06 1A 01 E2 00 18 10 74 17 80 C0 82 70 4C 08 14 31 86 C0 
[74701ms] [EVSE] In state WaitForFlexibleRequest, received (28bytes) = 01 FE 80 01 00 00 00 14 80 9A 02 00 40 80 C1 01 41 81 C2 11 30 22 00 00 08 80 00 00 
[74705ms] [EVSE] {
"msgName": "PowerDeliveryReq",
"info": "20 bytes to convert", 
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0102030405060708",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ReadyToChargeState": "0",
"ReadyToChargeState_Text": "false",
"ChargingProfile_isUsed": "0",
"EVPowerDeliveryParameter_isUsed": "0",
"DC_EVPowerDeliveryParameter_isUsed": "1",
"EVReady": "1",
"EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"EVRESSSOC": "34",
"BulkChargingComplete_isUsed": "1",
"BulkChargingComplete": "0",
"ChargingComplete": "0",
"EVCabinConditioning_isUsed": "1",
"EVCabinConditioning": "0",
"EVRESSConditioning_isUsed": "1",
"EVRESSConditioning": "0",
"debug": "Gram118Line5615Gram119Line5651Line3032Line9057Line9090Line9169Line9226Line9260Line3052Gram4Line472"
}
[74708ms] [EVSE] Received PowerDeliveryReq. Extracting SoC parameters
[74712ms] [EVSE] responding (26bytes) = 01 FE 80 01 00 00 00 12 80 9A 02 00 40 80 C1 01 41 81 C2 11 40 04 20 40 00 00 
[74717ms] [EVSE] {
"msgName": "PowerDeliveryRes",
"info": "18 bytes to convert", 
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0102030405060708",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "1",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "1",
"EVSEStatusCode_text": "EVSE_Ready",
"DC_EVSEStatus.NotificationMaxDelay": "0",
"DC_EVSEStatus.EVSENotification": "0",
"debug": "Line478"
}
[74721ms] [EVSE] from 4 entering 4
[SNIFFER] EXI from 51163 to 15118 (20bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 11 30 22 00 00 08 80 00 00 
[SNIFFER] EXI from 15118 to 51163 (28bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 10 E0 00 40 80 00 01 82 87 08 10 18 18 00 84 00 C0 
[SNIFFER] EXI from 15118 to 51163 (18bytes) = 80 9A 02 00 40 80 C1 01 41 81 C2 11 40 04 20 40 00 00 
[74951ms] [EVSE] In state WaitForFlexibleRequest, received (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 40 80 C1 01 41 81 C2 11 F0 
[74954ms] [EVSE] {
"msgName": "SessionStopReq",
"info": "13 bytes to convert", 
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0102030405060708",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"debug": "Line544"
}
[74962ms] [EVSE] {
"msgName": "SessionStopRes",
"info": "14 bytes to convert", 
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0102030405060708",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"debug": "Line550"
}
Full logs and captures attached.

Anyone got any ideas?
Attachments
EV Plug Test Shell.stl
(883.38 KiB) Downloaded 416 times
240710 - Kona.zip
(28.52 KiB) Downloaded 432 times
TeslaTap
Posts: 1
Joined: Mon Jul 29, 2024 8:31 pm

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by TeslaTap »

Hi everyone!
I am quite new to this topic, and also trying to make some research in CCS discharging.
My setup is Raspberry Pi and modified PA4010. It take me some time to make progress, but all my steps take some long time, because I dont have enought components to make everything work as i want.
Few days ago i test my setup with 1000v boost conevter, and i failed. Tesla Model 3 drain all power from it, and i cant make fake precharge, all I get is 130v, wich not enougth. 450v 1000uF capacitor make it better, but with that boost converter it takes around 10 min to charge it. But now it can close fast charge contactors. On third try, i guess, it stays close for around 3 min 50 sec. without any load on HV line.
For now I am waiting for 70w boost converter, that will make precharge faster.
With my capacitor setup, sadly i cant make contactors close, when car have 390+ volts on battery, for longer than 2-3 sec.
With lower voltage (around 350v) it works ok.
In next step i will try deliver power to solar inverter.

Thank you guys for your researches here and special thanks for uhi22!
User avatar
mhpev
Posts: 38
Joined: Fri Jul 28, 2023 2:18 pm
Has thanked: 50 times
Been thanked: 12 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by mhpev »

Today I was able to test with 2 EVs in the US using CCS1 - Chevy Bolt and Kia Ev6 I was able to close contactors (EV expects voltage during pre-charge at the DC terminals - so I used a similar flyback that another member had used for the Polestar2 discharge.
The Bolt kept contactors closed for 50sec before erroring out, while the Kia Ev6 kept the contactors open for 10sec. before stopping charge.

Attaching the Wireshark traces. Next, I am thinking I'll send a periodic ping of HV on the terminals - this flyback cannot really have charge current so only voltage may be something with really tiny current.

Any ideas appreciated... want to see if I can trick the EVs to keep the contactors closed for longer.

Any other folks in US have had discharge success with any other EVs using CCS1/NACS please let me know.
Attachments
bolt_qcom_close_contactors_20240829.zip
(22.08 KiB) Downloaded 381 times
kiaev6_qcom_close_contactors_20240829.zip
(10.07 KiB) Downloaded 365 times
User avatar
mhpev
Posts: 38
Joined: Fri Jul 28, 2023 2:18 pm
Has thanked: 50 times
Been thanked: 12 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by mhpev »

one update - I was able to collect traces from a real 350kW charger and have updated the OpenV2Gx code to reflect the params from there. The charger is giving much higher voltage and other params in the ChargeParameterDiscoveryRes - as below:
image.png
Hence I've updated the code to reflect these values and will try the discharging experiment once again with these updated higher voltage values (1000V v/s 450V), etc.


mhpev wrote: Thu Aug 29, 2024 9:44 pm Today I was able to test with 2 EVs in the US using CCS1 - Chevy Bolt and Kia Ev6 I was able to close contactors (EV expects voltage during pre-charge at the DC terminals - so I used a similar flyback that another member had used for the Polestar2 discharge.
The Bolt kept contactors closed for 50sec before erroring out, while the Kia Ev6 kept the contactors open for 10sec. before stopping charge.

Attaching the Wireshark traces. Next, I am thinking I'll send a periodic ping of HV on the terminals - this flyback cannot really have charge current so only voltage may be something with really tiny current.

Any ideas appreciated... want to see if I can trick the EVs to keep the contactors closed for longer.

Any other folks in US have had discharge success with any other EVs using CCS1/NACS please let me know.
User avatar
mhpev
Posts: 38
Joined: Fri Jul 28, 2023 2:18 pm
Has thanked: 50 times
Been thanked: 12 times

Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)

Post by mhpev »

Based on the changes in my prior message comparison, I was able to close contactors on the Kia EV6 and discharge at close to 800V. Since the charger emulated up to a 1000V the EV allowed direct access to the 800V battery without going thru the DC-DC/boost convertor.

Here's an image showing the same.
image.png
image.png
Only issue I'm having with are Teslas that have NACS connector and support CCS1 using the NACS <-> CCS1 convertor. Once the charger is connected these Tesla Model Y (and in the past Model S) - via this NACS-CCS1 connector don't see any L2 GreenPHY or above v2G messaging on the wire...
Post Reply