Develop a QCA7000 board?

Development and discussion of fast charging systems eg Chademo , CCS etc
User avatar
celeron55
Posts: 776
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 28 times
Been thanked: 110 times
Contact:

Re: Develop a QCA7000 board?

Post by celeron55 »

Nice!

I have bad news. I think I fried my Clara's NCV8402 contactor drivers. When I set ActuatorTest to 3, the contactors clicked on, but when I set it to 0, they never opened. Then I noticed Clara was heating up a lot.

Now the contactors are powered even if ActuatorTest is 0, and at the same time the multimeter measures the contactor driver control pin at 0V.

The contactors are the classic uneconomized GV200s that you get from Model S battery packs - essentially the good stuff that everyone should be using for everything.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 413 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Hm, was assuming that the contactor drivers are able to protect theirself. Seems not. One possible topic: If the contactor is driven by PWM, the turn-off leads to high voltage (40V?), which is clamped by the driver. The driver is designed to do this, but of course it produces heat. The idea is to use a diode in parallel to the contactor coil, which carries the current while the driver in the off-phase of the PWM.

[Edit] The discussion was here: viewtopic.php?p=58680#p58680
User avatar
celeron55
Posts: 776
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 28 times
Been thanked: 110 times
Contact:

Re: Develop a QCA7000 board?

Post by celeron55 »

Well I certainly didn't add any diode. I think it should be on the board itself, if the board needs it for the features that it provides. It's very inconvenient to provide diodes externally.

EDIT: I now have two NCE6020AK MOSFETs waiting to be put on the board. One should be able to even drive both contactors in parallel or to burn the 10A or so fuse supplying this board and the contactors, in case of short circuit, so it doesn't need built-in protection. I just need to grab a freewheeling diode and see where it will fit on the board. 12V seems to be pretty far away from one of the transistors but close to the other one.

EDIT: Grabbed some US1Ms from a donor board for freewheeling diodes.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 413 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Well, the idea to NOT use free-wheeling diodes on the board was explained here: viewtopic.php?p=58526#p58526
I do not have an idea how to bring all aspects into one solution. Maybe a separate 12V for the high-power, which only is connected to on-board freewheeling diodes. Then it is up to the integrator to wire it correctly, that the freewheeling works and the unit is NOT powered reverse by the contactors.
User avatar
celeron55
Posts: 776
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 28 times
Been thanked: 110 times
Contact:

Re: Develop a QCA7000 board?

Post by celeron55 »

Yes that is going to be a problem in my V4 board when I add the diodes. However isn't the next version going to have an internal 12V switch (or regulator with shutdown capability) to power itself off even with permanent 12V connected (even if it's through contactors)?

I simply don't like the NCV8402. It's a very bad switch for the money. Just look at the on-state resistance, it's about 200mOhm which is simply bad for a low-side switch that costs almost a dollar.

EDIT: If I'm allowed to suggest a modern cheap MOSFET, look at the WSP6956. It's a Chinese chip available on JLC. You get two N-channel MOSFETs in one package, for $0.25, with 10A continuous rating and sub 20mOhm on-state resistance. And you can control it using 3.3V just fine, the resistance just goes a bit above 20mOhm. And even this one is excessive, as it can handle 60V, but at least it won't break if there are large spikes. There are similar western ones like SQ4946CEY (that's SO-8 vs. SOP-8 though... don't have time for browsing Mouser right now)

EDIT: Also, I should say, if you look at the overall system design and not just the BOM cost of this circuit board, a high side switch would be a much better design. It naturally allows not having the board powered by the contactors and you can connect the other side of the contactor coils to a chassis ground right next the contactors, reducing voltage losses in wiring and the cost and complexity of wiring. You also won't have to split the 12V at or after the fuse box to go separately towards this board and the contactors.

EDIT: Board is very officially mine now:
20240223_152132.jpg
20240223_152428.jpg
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1025 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

Oh, I wasn't aware of the ridiculous switching speed when I upped the PWM frequency to something unhearable.

Another cheap alternative is a TVS in parallel to the FET. Just limits the turn-off spike to whatever the FET can handle but doesn't back-feed into the circuit because only connected to GND
EDIT: never used TVS for PWM though - maybe they overheat? I will run some experiments

High side switch... meh... it's less jellybean then a simple FET
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
celeron55
Posts: 776
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 28 times
Been thanked: 110 times
Contact:

Re: Develop a QCA7000 board?

Post by celeron55 »

If you use a TVS, the off-cycle of the PWM will heat the TVS. It's inefficient and probably too much heat. When economizing a coil, you *want* a freewheeling diode, there's no other option. (well, aside from replacing the diode with a transistor, i.e. using a half bridge)

You can make a high side switch from a P-channel MOSFET, an NPN transistor to pull the gate to ground and four resistors. The freewheeling diode in a high side PWM switch will suck current from ground into the output, which is convenient as it doesn't mess with the supply voltage. The main cost here is that a good P-channel MOSFET can cost about double compared to the equivalent N-channel but that doesn't amount to much with these currents and voltages.

EDIT: But whatever, I'm fine with the low side switch. Just make it not break without external diodes. I don't want external diodes hanging/taking space in my HVDC junction box and I don't want to tape them up into the wiring loom either, and having a separate waterproof enclosure for two diodes is ridiculous. And requiring an external economizer would be silly too, having the option for directly driving uneconomized contactors is very useful. Makes for a physically neat, easy to install system with less breaking parts.

Anyway, I now have a succesful charging session at a Kempower CCS charger, with clara 05690998b7f4789de502720feb92d167eac5b224 and focci 4.1, with the 330ohm+5V PP fix.
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1025 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

celeron55 wrote: Fri Feb 23, 2024 4:56 pm f you use a TVS, the off-cycle of the PWM will heat the TVS. It's inefficient and probably too much heat
Yes, confirmed. Will publish some data later. I ran 400 mA current into an inductor and the TVS became smoking hot after 30s or so.
If you go the NMOS/PMOS route, what size pull-up resistor would you choose? It must be high enough to not dissipate too much power in always-on state and low enough to ensure decent switching time. Or would it be safer to deploy a push/pull gate driver?

EDIT: the high side driver that jrbe uses on the Nissan Gen3 board (TPS22810DBVR) is quite convenient and cheap but I'm not sure if its tiny SOT-23 package packs enough punch e.g. for Tesla relays?
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
jrbe
Posts: 287
Joined: Mon Jul 03, 2023 3:17 pm
Location: CT, central shoreline, USA
Has thanked: 99 times
Been thanked: 74 times

Re: Develop a QCA7000 board?

Post by jrbe »

You guys could look at drv120 or lm1949 solenoid / injector controllers and other options in these groups. Their reference designs will likely help this conversation as well.

Bosch uses a resistor in some of their relays. A resistor in line to a zener and maybe a small value 100v+ capacitor could possibly help.
I know the freewheeling diode has caused some power back feeding issues here. It would be great to understand them a bit more and use a freewheeling diode, I think it's the cheap and decent route if it won't back feed.

Inductive spikes in 12v automotive environments are expected to be around 80v without something to help keep them in check. I'm guessing celeron's driver stopped working from overvoltage from a turn off spike or 1 too many.
User avatar
celeron55
Posts: 776
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 28 times
Been thanked: 110 times
Contact:

Re: Develop a QCA7000 board?

Post by celeron55 »

We're not talking just about inductive spikes, those the NCV8402 can handle just about enough. The freewheeling required by PWM is what is the issue here. You cannot deal with that like inductive spikes, that way you lose way too much energy into heat.

The TPS22810DBVR might be beefy enough. I haven't measured and the datasheet is not totally clear about this, but I think the GV200s need about 3 A for pickup. Check out Gigavac's application note AN-016. The absolute maximum voltage is very low at 20V though. I'd make sure there's a TVS on the 12V line.

In other news, I tested chargers today. Still clara 05690998b7f4789de502720feb92d167eac5b224 and focci 4.1, with the 330ohm+5V PP fix:

- Delta (big one): Charged for some time but stopped abruptly. For some reason there was a BMW i4 charging at the nearby 200A Veefil instead...
- Tritium Veefil (200A model): Charged fine, but it only gave 127A
- Tesla v3: Charged fine
- Tritium Veefil (classic 125A model): Charged fine
- Ionity (the one with the black lighted horizontal ring above them, are they ABBs?): Charged fine
- Kempower: Charged fine, long 33kWh session
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 413 times

Re: Develop a QCA7000 board?

Post by uhi22 »

johu wrote: Fri Feb 23, 2024 3:50 pm Oh, I wasn't aware of the ridiculous switching speed when I upped the PWM frequency to something unhearable.
Can we go back to 100 Hz?
User avatar
celeron55
Posts: 776
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 28 times
Been thanked: 110 times
Contact:

Re: Develop a QCA7000 board?

Post by celeron55 »

Based on AN-016 the GV200 coils are 5.2 ohms and 18.5mH, so at 100Hz the current will pretty much stop and restart every pulse. Already at like 500Hz the coil will smooth the current to be more or less continuous. I don't think the contactors have been designed to handle a non-continuous coil current. I think it would cause the internal mechanism of the contactor to mechanically vibrate. This means a flyback diode and a frequency of at least 500Hz is required.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 413 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Basically agree. The 18mH and 5.2 ohms have a time constant tau around 3.6ms, this means after 3.6ms the current wents down to 63% of its start value. If we assume 100Hz and 50% duty, we have 5ms off-time, this is longer than the tau. Not good. I was assuming that the "big coils" have more inductance. So yes, 500Hz is better.
Do we have data sheets or measurements of other contactors, to derive appropriate PWM frequency (and duty cycle)?

At the moment with the "unhearable" frequency Clara's NCV8402 contactor drivers have no chance for digital switching, so they are somewhere in linear mode and produce a lot of heat. They have internal thermal protection, but this seems to be designed to turn-off if the gate is driven to high for a certain time. With the fast control, I think the protection circuit is not able to react accordingly, so the FET is killed by thermal overstress.
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1025 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

We can now use the version pin. If it is floating or indicating the current version and below we can switch to 500 Hz. It will be very acoustically disturbing so shouldn't be standard.
We could also decide that economizing isn't possible with the current version. In the next variant this can be fixed to work at 10 or 20 kHz
jrbe wrote: Sat Feb 24, 2024 1:25 pm It would be great to understand them a bit more and use a freewheeling diode, I think it's the cheap and decent route if it won't back feed.
Here's one of my stories:
In my VCU the freewheeling diode is connected to ignition 12V. For the longest time the relays were also connected to ignition 12V. Then this works without issues. When I installed the outlander charger I added a second 12V "charge" feed to the VCU and the relays were diode-ORed to ignition 12V and charge 12V. With the charge 12V becoming high, current would flow trough the relays, through the freewheeling diode into the various consumers on the ignition 12V and thereby turn on the relays immediately without precharge!

So bottom line is, as long as the relays are powered off the exact same 12V line as the controller that runs them, a freewheeling diode is fine. Maybe Foccci should just supply that 12V feed, two pins are still unused.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
celeron55
Posts: 776
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 28 times
Been thanked: 110 times
Contact:

Re: Develop a QCA7000 board?

Post by celeron55 »

Ok so can we pick the versioning resistor for the PWM-capable version already? I don't want to fry my contactors with a future clara update. That's expensive and dangerous

And it won't require other changes to my V4 board, right? Probably will with all the powersaving stuff and whatever.

Ok I'll just define a new resistor for my unique board ("V4 with PWM") and make a PR I guess
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1025 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

Here are the steps we defined for mini mainboard: https://openinverter.org/wiki/Mini_Main ... _detection
Of course values can be reused as inverter software won't run on Clara :)

EDIT: added the table to foccci also https://openinverter.org/wiki/Fully_Ope ... r_(FOCCCI)

Suggested a resistor for you.
celeron55 wrote: Mon Feb 26, 2024 9:02 am And it won't require other changes to my V4 board, right? Probably will with all the powersaving stuff and whatever.
No, the two pins that were added at the MCU (keep on and 12V enable) will just not be connected and do nothing
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
jrbe
Posts: 287
Joined: Mon Jul 03, 2023 3:17 pm
Location: CT, central shoreline, USA
Has thanked: 99 times
Been thanked: 74 times

Re: Develop a QCA7000 board?

Post by jrbe »

johu wrote: Mon Feb 26, 2024 8:58 am We can now use the version pin.
I just added a 3.3v voltage divider image and updated the wording to reflect the 3.3v and noted 5.3v on some other boards in the FOCCI wiki .

So bottom line is, as long as the relays are powered off the exact same 12V line as the controller that runs them, a freewheeling diode is fine. Maybe Foccci should just supply that 12V feed, two pins are still unused.
Thanks for explaining that. There are some automotive references that mention also a high side switch to guarantee turning the contactors off.

Have you guys looked at using a DRV103H? Could be ordered from JLC before ordering boards. Its a bit pricey but rated for 3A & easy.
https://www.ti.com/product/DRV103?keyMa ... secase=GPN
I'm not sure if its considered compatible with a high side switch or why some wouldn't be..

Zieg made a DRV103 version (2A) here, viewtopic.php?t=3636
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 413 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Just testing the newly arrived v4.2 boards. On first look, quite good, the SMD transformer works, demo-charging on the desk is fine. But: The intended improvements regarding PP and IPROPI went wrong, there are missing tracks. Seems I fully ignored the "unconnected" errors in the design rule check. Sh*t. Can be fixed with wires, but I do not propose to order more of the version 4.2.
Collected the currently known issues here: https://github.com/uhi22/foccci#v42-2024-02-06
User avatar
celeron55
Posts: 776
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 28 times
Been thanked: 110 times
Contact:

Re: Develop a QCA7000 board?

Post by celeron55 »

First rule of EDA: DRC is always right and the user is always wrong. Don't bet against the machine. :D
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1025 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

Oh I thought you were aware of that. The batch I ordered has them. Minor name clash: they are also called 4.2

But very happy to hear the transformer works
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: 413 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Oops :-D At least the version from your git shows "4.3" We need to work on the quality assurance process a little bit ;-)
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1025 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

You're right! Then it was just the wiki that WAS wrong. Corrected
So the wakeup version is 4.3 then. The one with the various oopsies corrected would be 4.4 or so
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1025 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

Who will work on the board now? I currently feel like overhauling it just want to make sure we don't do the same thing twice!

EDIT:
  • Move vias away from pads
  • Change relay drivers to high side drivers with freewheeling diode
  • Wakeup via posedge on CP
In that order
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: 413 times

Re: Develop a QCA7000 board?

Post by uhi22 »

For the moment I'll concentrate on testing and documenting what I find. So feel free to work further on the 4.3 follow-ups. I think merging is difficult (or impossible?), so just continuing on one branch is the best idea. This could be in your repository for now.
User avatar
johu
Site Admin
Posts: 5791
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1025 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

Ok, I'll continue on the wakeup branch
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
Post Reply