Develop a QCA7000 board?

Development and discussion of fast charging systems eg Chademo , CCS etc
User avatar
muehlpower
Posts: 575
Joined: Fri Oct 11, 2019 10:51 am
Location: Germany Fürstenfeldbruck
Has thanked: 12 times
Been thanked: 103 times

Re: Develop a QCA7000 board?

Post by muehlpower »

I took another look at the LIM. According to the circuit diagram, PP is connected to pin 2 (A250-B2) in the CCS2 version. No resistor is shown in the charging plug. CCS1 has an additional jumper from pin 2 to pin 6. This pin 6 is connected to GND (PE) in the LIM via 2k7. This means: In EU no 2k7 to PE, in USA yes.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Foccci on alpitronic
Foccci on alpitronic
Foccci on alpitronic 2
Foccci on alpitronic 2
Mechanically the CCS2-to-SchuKo-adaptor is nearly finished, including integrated accu.
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1024 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

Sweet :)
I'll test the now built-in foccci soon
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
asavage
Posts: 329
Joined: Sat May 14, 2022 10:57 pm
Location: Oak Harbor, Washington, USA
Has thanked: 279 times
Been thanked: 103 times
Contact:

Re: Develop a QCA7000 board?

Post by asavage »

muehlpower wrote: Sat Jan 27, 2024 11:13 am I took another look at the LIM. According to the circuit diagram, PP is connected to pin 2 (A250-B2) in the CCS2 version. No resistor is shown in the charging plug. CCS1 has an additional jumper from pin 2 to pin 6. This pin 6 is connected to GND (PE) in the LIM via 2k7. This means: In EU no 2k7 to PE, in USA yes.
Yes, this has been documented on the LIM Wiki for some time.

20240127 Wiki entry BMW i3 LIM: PP-PE resistance
20240127 Wiki entry BMW i3 LIM: PP-PE resistance
20240127 Wiki entry BMW i3 LIM: PP-PE resistance
20240127 Wiki entry BMW i3 LIM: PP-PE resistance

Those entries could both use some cleanup, probably.
Al Savage
2014 RAV4 EV
NissanDiesel
shpub
Posts: 2
Joined: Fri Feb 02, 2024 9:38 am
Has thanked: 2 times

Re: Develop a QCA7000 board?

Post by shpub »

Great project and essential reading for me over the last couple of days.

The board looks a great solution for an EV conversion I am working on. Most charging will be AC type2 at home and CCS when away.

If AC is not supported then I might simply add a type2 socket and support it separately but it would be nice to use the CCS socket and that requires the board to somehow support it.

So does foccc9/clara recognise and support a Type2 AC connection?
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1024 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

shpub wrote: Fri Feb 02, 2024 10:06 am If AC is not supported then I might simply add a type2 socket and support it separately but it would be nice to use the CCS socket and that requires the board to somehow support it.
I currently also use two separate inlets. Foccci can distinguish between CCS and AC by the Duytcycle of the CP signal. But of course if you connect CP also to a charger you will get a sort of "bus collision" because both Foccci and the charger will do the 2k7 pull-down.

Maybe an interesting hardware mod? Make 2k7 switchable as well and leave it off when >> 5% duty cycle is seen?
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

The 2k7 must be there before the PWM starts, the charging station wants to see 2k7 to start the PWM. So I think it needs to be a design decision per car, whether the 2k7 is in the AC charger or in the Foccci. We could make it configurable via a parameter in Foccci, or, for the beginning, just desolder the Focccis 2k7 if there is another somewhere in the car.
Then the next question is how the AC charger is controlled. If it has its own CP handling (sensing the PWM and applying the additional resistor), it would work just "out of the box" by just connecting Foccci and the AC charger in parallel to the CP. An other option would be that Foccci cares for measuring the CP PWM and telling the ratio via CAN or analog to the AC charger. Many options, maybe just start with one and later add more.
Also for the PP there are several options.
shpub
Posts: 2
Joined: Fri Feb 02, 2024 9:38 am
Has thanked: 2 times

Re: Develop a QCA7000 board?

Post by shpub »

Thanks for that. The more I think about it, the more two sockets, one for AC and another for CCS is the way forward with an interlock that prevents both from being used at any one time. I have more than enough space as the sockets are behind a flip up number plate.

The problem is as you say the control handling. With my current AC interface I have an ESP32 that handles the PWM sensing and controlling the resistor pull down. It also handles the BMS functions and then uses the information including the PP to work out the max current and then programs the AC chargers appropriately over CAN. It is quite intelligent in that it will cope with changes in the PWM dynamically and adjusts the chargers as needed. If the charger or batteries get warm it throttles back. If they get cooler it ramps up and so on.

Keeping it simple I suspect would be the best approach at the moment.
User avatar
muehlpower
Posts: 575
Joined: Fri Oct 11, 2019 10:51 am
Location: Germany Fürstenfeldbruck
Has thanked: 12 times
Been thanked: 103 times

Re: Develop a QCA7000 board?

Post by muehlpower »

I only use one plug. To manage the AC charging I need a CAN output from clara with the EVSE and cable current carrying capacity. I would return the charging status via CAN so that clara can switch the 1k3 resistor and the lock and the LEDs display something meaningful.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Are there constraints how these signals are scaled? In detail:
- The cable current limit (defined by the PP resistance) could be transmitted on CAN as "PP_Resistance" or as "CableCurrentLimit" in amperes or tenth of amperes or whatever.
- The current limit (defined by the PWM) could be transmitted on CAN as "PwmRatio" or as "EvseCurrentLimit" in amperes or tenth of amperes or whatever.
- The two values above could be transmitted as separate signals, or as a combined "AcCurrentLimit".

The most flexible solution would be to define all these signals in the software, and let the user define with CAN-mappings, which of them is on CAN.

And for the other way: Is there a certain CAN definition for the 1k3, lock, LEDs?
User avatar
muehlpower
Posts: 575
Joined: Fri Oct 11, 2019 10:51 am
Location: Germany Fürstenfeldbruck
Has thanked: 12 times
Been thanked: 103 times

Re: Develop a QCA7000 board?

Post by muehlpower »

I can do it however I want. BMW outputs cable and EVSE limit in whole amperes and a few other things so that the AC charger knows what to do. I have attached the corresponding frame from the LIM.

Code: Select all

ID 03B4		
								
48/8	CHGNG_TYP_IMME	Laden_Typ_Aktuell
					00	Kein Ladeverfahren		8 bit enum
					01	AC-Laden mit Typ1-Stecker		
					02	AC-Laden mit Typ2-Stecker		
					03	DC-Laden nach CHAdeMO-Protokoll		
					04	DC-Laden mit DC-Pins über Typ1-Combo-Dose		
					05	AC-Laden-CN		
					06	AC-Laden über Typ1-Combo-Dose		
					07	AC-Laden über Typ2-Combo (Kern)-Ladedose		
					08	DC-Laden mit Kernpins über Typ2-Combo (Kern)-Ladedose		
					09	DC-Laden mit DC-Pins über Typ2-Combo (Kern)-Ladedose		
					0A	DC_Laden_mit_DC_Pins_nach_GB_T		
					FD	Schnittstelle ist nicht verfügbar		
					FE	Funktion meldet Fehler		
					FF	Signal_unbefuellt		
								
32/3	ST_PIL			Status_Pilot
					00	Kein Pilot erkannt erkannt (0V oder -12 V)		3 bit enum
					01	PWM 10-96%, keine Ladebereitschaft		
					02	PWM 10-96%, Ladebereitschaft		
					03	Fehler Pilotsignal		
					04	PWM 5%, keine Ladebereitschaft		
					05	PWM 5%, Ladebereitschaft		
					06	Statischer Pilot erkannt		
					07	Signal ungültig		
								
35/2	ST_DC_CHGWR_PLGD	Status_Gleichstrom_Ladeleitung_Steckt (Chademo)		
 					00	DC-Ladestecker nicht gesteckt		2 bit enum
					01	DC-Ladestecker gesteckt		
					10	Fehler		
					11	Signal ungültig		
	
								
26/2	ST_LOKG_CHGP		Status_Verriegelung_Ladestecker			
					0	Nicht verriegelt		2 bit enum
					1	Verriegelt		
					2	Fehler		
					3	Signal ungültig		
								
								
22/2	CHGNG_ENB	Laden_Freischaltung (Charge enable Leitung)
					0	Inaktiv		
					1	Aktiv		
					2	Fehler		
					3	Signal ungültig		
								
20/2	RQ_CHGNG_END	Anforderung_Laden_Ende
					0	Keine Anforderung		2 bit enum
					1	Laden beenden Fahrer		
					2	Laden beenden CSM		
					3	Signal ungültig		
								
18/2	ST_PUBU_ULOK_PLG	Status_Taster_Entriegeln_Stecker (nur Typ1)
					0	Taster nicht betätigt		2 bit enum
					1	Taster betätigt		
					3	Signal ungültig		
								
16/2	ST_CHGWR_PLGD	Status_Ladeleitung_Steckt	
					0	Kein Kabel gesteckt		2 bit enum
					1	Kabel gesteckt		
					2	Fehler		
					3	Signal ungültig		
								
8/8	MAX_I_WR			Maximal_Strom_Leitung
					0 ... 252 A	(HEX) [A]		uint 8
					253	Funktionsschnittstelle_ist_nicht_verfuegbar		
					254	Funktion_meldet_Fehler		
					255	Signal_unbefuellt		
								
0/8	MAX_I_GRID		Maximal_Strom_Netz	
					0 ... 252 A	(HEX) [A]		uint 8
					253	Funktionsschnittstelle_ist_nicht_verfuegbar		
					254	Funktion_meldet_Fehler		
					255	Signal_unbefuellt		
The control of the LED, the 1k3 resistor and the locking is done with a status signal. For example, initializing means locking and LED orange, charging means switching on 1k3 resistor and LED blue pulsating, unlocking end of charging and LED green, etc. This could be done in such a way that it behaves similarly to DC charging.

Code: Select all

20/4	ST_CHGNG	Status_Laden			0	Kein Laden		4 Bit Enum
					1	Initialisierung		
					2	Laden aktiv		
					3	Ladepause		
					4	Laden beendet		
					5	Ladefehler		
					15	Signal ungültig		
								
24/2	ST_CHGRDI	Status_Ladebereitschaft			0	Keine Ladebereitschaft		2 Bit Enum
					1	Ladebereitschaft		
					3	Signal ungültig		
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1024 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

uhi22 wrote: Mon Feb 05, 2024 12:34 pm The most flexible solution would be to define all these signals in the software, and let the user define with CAN-mappings, which of them is on CAN.
This this already works well for simulating CHAdeMO so will work likewise for these simple data items. The "evsevp" data item already exists and contains the CP duty cycle and of course it can be mapped to CAN like all others. evsepp is to be added. And we'd need a handler for evsecp > 5% i.e. AC charging. An enable data item we already have and it could serve the purpose of simply switching in the 1k3 resistor.
I'd avoid hard-coded CAN mappings as everyone needs something else
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

As starting point, implemented the measurement of the PP resistor. Connected a 100 ohm resistor for test, and this gives
image.png
image.png (3.33 KiB) Viewed 1065 times
So depending on the use case, it is possible to map the following data to CAN as wished: the raw AD value, the calculated PP resistance, or the calculated cable current limit.
For the PP resistance calculation I needed to introduce a new parameter, ppvariant, to be able to distinguish between the "old" Foccci with the 1k pull-up to 3.3V (which is selected by ppvariant=0), and the "new" (handwired) Foccci with 330 ohm pull-up to 5V (selected by ppvariant>0).

[Edit] Tested these possibilities PASS (from https://www.goingelectric.de/wiki/Typ2- ... codierung/)
image.png
image.png (3.96 KiB) Viewed 1063 times
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1024 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

uhi22 wrote: Mon Feb 05, 2024 8:25 pm For the PP resistance calculation I needed to introduce a new parameter, ppvariant, to be able to distinguish between the "old" Foccci with the 1k pull-up to 3.3V
Is anyone using the older foccci? I think it would be a good idea to have a version indicator on board and change it whenever there is a breaking change in hardware. So simply voltage divider to ADC pin like here: viewtopic.php?p=61949#p61949
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Yes, the "older" is the last spread one :-) So everybody uses it, potentially. Only mine is patched to the "officially specified" 330ohm/5V pull-up. Yes, a version indicator resistor is a very good idea, I'll put it on the todo list.
User avatar
muehlpower
Posts: 575
Joined: Fri Oct 11, 2019 10:51 am
Location: Germany Fürstenfeldbruck
Has thanked: 12 times
Been thanked: 103 times

Re: Develop a QCA7000 board?

Post by muehlpower »

johu wrote: Mon Feb 05, 2024 8:51 pm Is anyone using the older foccci?
I have the old foccci. If only the resistor needs to be replaced, I would simply resolder it.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

It's more:
- The value of the pull-up changes from 1k to 330ohms.
- The supply of the pull-up is moved from 3.3V to the 5V rail.
- An additional 47k to ground needs to be added, to create a voltage divider 2:1, which scales the now 5V PP voltage to be measurable with the 3.3V ADC range.
- Added also a 3k pull-down on the PP, to have the same situation as measured in my Ioniq.
For the moment I propose to support both variants, the "old" and the "new" in software, and configure it with a parameter. So we do not lock-out anybody just using the existing boards. This gives the freedom to everybody to either patch the hardware or to stick to the existing state.
User avatar
muehlpower
Posts: 575
Joined: Fri Oct 11, 2019 10:51 am
Location: Germany Fürstenfeldbruck
Has thanked: 12 times
Been thanked: 103 times

Re: Develop a QCA7000 board?

Post by muehlpower »

Changing was easy. Now it should also work with the Tesla charging points.
20240206_125558.jpg
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Perfect :-) Fortunately, the 5V is perfectly near to just solder the 330 ohms. The upper circle is the additional 47k I guess, this is difficult to see. And the 3k pull down? Maybe it works without.
User avatar
muehlpower
Posts: 575
Joined: Fri Oct 11, 2019 10:51 am
Location: Germany Fürstenfeldbruck
Has thanked: 12 times
Been thanked: 103 times

Re: Develop a QCA7000 board?

Post by muehlpower »

I have left out the 2k7 (3k) resistor for now, as it is not there at BMW either. If necessary, I solder a THT resistor to the underside of the board at the connector between pin A10 and A12
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

I think it is good to not populate it, to have tested also this scenario. My strategy would be to prepare the software in a way that it works with all possible combinations, to keep the hardware effort as low as possible.

[Edit] Software is ready to be tested with ppvariant = 2 for the case with no pulldown. This should show the correct resistanceProximityPilot and cableCurrentLimit.
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1024 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

I'm still surprised I could charge at Tesla with PP not connected at all. Now I have it pulled up to 12V with 10k. Will do more testing soon.
You can do a variant for people who removed the PP circuit completely. Just kidding ;)
I can no longer measure PP voltage but I have no use case anyway.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Yes, I also do not really believe it that there are different Superchargers. Definitely I got a connection without PP here:
https://www.goingelectric.de/stromtanks ... n-1/44134/
but here not:
https://www.goingelectric.de/stromtanks ... s-4/69557/ and after having the 4.5V also here it works. Both are V3 Superchargers. Really strange. Only Elon knows :-)
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Progress: Ready for AC charging:
- Clara provides the current limitation of the cable in cableCurrentLimit.
- Clara provides the current limit of the AC charging station in evseCurrentLimit.
- Clara receives the control for LEDs and 1k3 resistor in AcObcState. Clara only uses this, if a valid PWM was detected.
Still open:
- triggering of the connector locking and unlocking. For this, especially the unlocking, the strategy needs to be defined.
- switching back to DC mode. At the moment, a power-on of clara is needed to go back from AC mode to DC mode. This can be improved.
tom91
Posts: 1308
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 103 times
Been thanked: 216 times

Re: Develop a QCA7000 board?

Post by tom91 »

Does the Clara do the follow:
1. detect plugged in
2. determine the CP signal is 5% pwm for DC or above for AC
3. recieve request to charge or verify okay to start
3.lock motor
4. Enable EVSE via CP pull down
5a. stop because EVSE stops, info via CP
5b. stop because EV requests stop via CAN (or however this is implemented) Clara drops CP
6. Unlock unless there is an inhibit unlocking in place (via CAN I would say)
7. Plug removed
8.reset charging session assumptions and wait for plug detected.

How does the LED work?
The way I have mine working and I believe to some extent the BMW implementation
1. Idle/wake/ unlocked - White or Blue Constant
2. Plugged in and waiting + locked - Green Constant
3. Charging started + locked - Green Pulsing
4. Stopped and unlocked - White or Blue Constant
5. Error - Red Constant
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
Post Reply