Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
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.)
- 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)
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.
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.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
-
- 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)
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
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

- Attachments
-
- polestar2-discharging.zip
- (24.24 KiB) Downloaded 431 times
- 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)
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.
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.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
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.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.
- 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?
- Does Arduino code are as the same as this project? https://www.instructables.com/Arduino-E ... g-Station/
- what is this 89A252M?
- what kind of resistor in the picture?
- what kind of 3 squares in the Circuit diagram?
- 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)
Image hosting sites die off all the time (see: PhotoBucket).
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
Thanks for reminds that. I have edited it as attachment.
- 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)
For the discussion of the hardware basics, created an separate thread, to avoid that we loose the focus here.
viewtopic.php?t=5116
viewtopic.php?t=5116
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
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.
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.
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.
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.
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
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.

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.
-
- 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)
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
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
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

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
- 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)
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.
@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.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
- 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)
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
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
- 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)
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.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
I ordered a used dLAN 200 AVplus meanwhile, I thought that's the better option. Did I get this wrong?
- 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)
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
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
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
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.
- 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)
10 euros for a used pair plus shipping: https://www.kleinanzeigen.de/s-anzeige/ ... 6-225-9134
[Edit] some more: https://www.kleinanzeigen.de/s-sortieru ... -pa4010/k0
[Edit] some more: https://www.kleinanzeigen.de/s-sortieru ... -pa4010/k0
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
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.
- 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)
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".
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
-
- 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)
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.
Full logs and captures attached.
Anyone got any ideas?
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"
}
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
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
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!
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!
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
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.
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
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
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:
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.
Re: Drawing power out of CCS port (V2x, inverse charging, bidirectional CCS)
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. 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...
Here's an image showing the same. 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...