Modular, Multi-Platform, 300A ESC

Electric Motors and Controllers
Post Reply
badgineer   10 W

10 W
Posts: 81
Joined: Sep 21 2021 5:25am
Location: Transylvania

Modular, Multi-Platform, 300A ESC

Post by badgineer » Jul 24 2022 5:57pm

Hello ES

I've been working for the pas 2-3 month on an ESC and want to publish it here.
I am also grateful to mxlemming for his support - sometimes hands on, sometimes opinions and advice.
We're calling it the MP2 ESC. Multi Platform, Modular and Powerful ESC.

The design aims were the following:
  1. Modularity. Takes "pill" modules, instead of MCU as in bluepill, blackpill, etc. DC-DC are also modules.
  2. Wide compatibility. Should actually be able to take both pills, despite the slightly different footprints
  3. All standard footprint parts. No proprietary fancy parts. Part shortage? No problem, everything is easy to replace.
  4. Power. 18 to220 FETs, should, if everything is super well done, be able to take 300 Phase A for short periods of time.
  5. Low cost. Uses mostly low cost parts, or is low-cos-part compatible. PCB is 100mm wide, should be cheap on JLCPCB.
  6. DIY Friendly. Has SMDs on only one side, can be ordered with SMDs pre-assembled. Only TH parts need to be soldered by hand.
Additional features:
  • Easy to access debug pads for probes.
  • Hardware overvoltage protection vor VBus
  • Hardware overcurrent protection for phases
  • Designed for 20s 72V batteries.

And what is good hardware without good software?
So the nicest feature of all might just be the fact that the "multi-pill" compatibility should make it usable with quite a few existing open source projects.
  • VESC with GD32F303CG pill (Netzpfuscher mod, note CG)
  • EBICS with F103 Bluepill (Stancecoke)
  • SmartESC V3 (Casainho)
  • SmartESC V2 (Netzpfuscher/Koxx3)
  • MESC with F401 Blackpill (MxlemmingFOC)
  • STM32 Motor Control Workbench (F401, F103)
I think it is mostly done now, hopefully soon to exist physically. But im still fiddling with it. Cant. Stop. Microoptimising.

Link: https://github.com/badgineer/CCC_ESC

Here Some Pics.
MP2_PCB.png
MP2_PCB.png (109.32 KiB) Viewed 547 times
MP2_Front.png
MP2_Front.png (358.28 KiB) Viewed 547 times
MP2_Back.png
MP2_Back.png (202.38 KiB) Viewed 547 times
Feedback is appreciated.

Br,
Bad-gineer, bored-gineer.
Can't. Stop. Microoptimizing.

badgineer   10 W

10 W
Posts: 81
Joined: Sep 21 2021 5:25am
Location: Transylvania

Re: Modular, Multi-Platform, 300A ESC

Post by badgineer » Jul 24 2022 5:59pm

Reserved.
Bad-gineer, bored-gineer.
Can't. Stop. Microoptimizing.

badgineer   10 W

10 W
Posts: 81
Joined: Sep 21 2021 5:25am
Location: Transylvania

Re: Modular, Multi-Platform, 300A ESC

Post by badgineer » Jul 25 2022 12:17am

Reserved.
Bad-gineer, bored-gineer.
Can't. Stop. Microoptimizing.

mxlemming   10 kW

10 kW
Posts: 929
Joined: Jul 17 2020 7:56am

Re: Modular, Multi-Platform, 300A ESC

Post by mxlemming » Jul 25 2022 3:20am

I'm pretty happy with this as a first iteration. Hopefully should have one in hand within a few weeks to test.

I think the main thing we've all learnt over the last year is that part availability is crucial. I think that's the best thing about this board... There will always be to220 MOSFETs, always be soic14 quad opamps (though there are specific criteria for them), the gate drivers have the ir2181 pinout and there are replicas from on semi, Fairchild, diodes inc and various Chinese substitutes. The DCDC converters for 100V have plagued ESC stuff the last year, but this allows you to attach a wide range of modules with 4 wires and some double sided tape... And there's also 2 compatible isolated 160V modules that fit nicely.

The inductances on this are pretty tight. Essentially the only source of parasitic inductance is the FET legs themselves so I'm hoping for some decent switching. The sensing and gate drive lines are routed differentially and sympathetically to the high current paths, which are power planes reinforceable with large copper lumps.

The other thing to bear in mind is the cost. BoM estimates I put at about 40-50$ so it's like... 1/8th of a VESC 75100 or 100250, 1/4 as much as an equivalent Chinese decent controller (fardriver?) and about 2/3 the list price of a single axiom gate driver...

If you think of this as being basically 3x flipsky 75100 in parallel (the same MDP10N027 is the default recommended FET for this) you can guess at the realistic power rating.

Crossing my fingers for this one. Looking forward to porting my FOC code to it.
Hold my beer while I divide by zero :flame:

Jrbe   100 W

100 W
Posts: 145
Joined: Mar 23 2020 6:28pm
Location: CT USA

Re: Modular, Multi-Platform, 300A ESC

Post by Jrbe » Jul 26 2022 7:41pm

This looks really well thought out and well done. It's got to be one of the more power dense controllers for its size. The code flexibility is really great!

Things I'm seeing / not seeing:
- only ceramic capacitors?
- how do you solder the battery +/- ? Would it be worth adding a large plated hole for each?
- if you move the 5v trace away from the edge or to a different layer you might be able to use this in a card edge case without worrying about shorting the 5v trace out over time.
- are the 3 plated holes per phase for 3 wires each?
- would it be worth doing a larger plated through hole or a plated slot (that can fit the next sized wire up when ovaled) to allow larger phase wires to be connected?
- any worry about fet mounting hardware shorting out on traces / pads?
- would it be worth adding a smd pad next to the through hole resistors so you could easily swap between either method?
- worth renaming the test points so you don't have to hunt for what they are?
- worth adding a resistor per fet to leave options open if you find you need gate resistors on each? Can use 0R jumpers in the first batch.

There are some vias on / in pads and overlapping keep out areas. The via bump can cause a component to rock and not solder well. If it's a higher power device it won't make as good of a connection (through solder vs close copper to copper) as it would if it was just a flat pad. I'm not sure if it would do anything undesirable in a solder jumper pad.

There are a few ground plane dead ends / voids that probably aren't a big deal. They don't look too bad to clean up if it's worth it to you.

Googling
GD32F303CG pill Netzpfuscher mod
comes up empty. I had searched during the shortage and wasn't aware vesc could run on any other mcu's.

No need to reply, just a list of considerations (or my misunderstandings.)

I'm excited to see this come to life and progress!

User avatar
spinningmagnets   100 GW

100 GW
Posts: 12760
Joined: Dec 21 2007 10:27pm
Location: Ft Riley, NE Kansas

Re: Modular, Multi-Platform, 300A ESC

Post by spinningmagnets » Jul 27 2022 12:18pm

Excellent idea! Thanks for posting this on this forum.

badgineer   10 W

10 W
Posts: 81
Joined: Sep 21 2021 5:25am
Location: Transylvania

Re: Modular, Multi-Platform, 300A ESC

Post by badgineer » Jul 27 2022 3:58pm

Hi Jrbe!
Jrbe wrote:
Jul 26 2022 7:41pm
No need to reply, just a list of considerations (or my misunderstandings.)
Of course I will reply, that's why I posted in the first place. I love talking about it :)
And thanks for taking the time to look at it and for the feedback. So, point by point:
Jrbe wrote:
Jul 26 2022 7:41pm
- only ceramic capacitors?
definitely not. there is space on the upper front for 3 electrolytic caps, of max size about 18x30, so 3 470uF 100V should fit easily. You can also mount 2 longer caps, 2x 18x45 max size, so 2 1000uF 100v caps would probably fit too.
Jrbe wrote:
Jul 26 2022 7:41pm
- if you move the 5v trace away from the edge or to a different layer you might be able to use this in a card edge case without worrying about shorting the 5v trace out over time.
yes, but: this is designed for fets to be bolted in an aluminium plate/heatsink. finding a card edge case where the fets touch the bottom when the edge isin the slot will be challanging. So that was not a design target.
Jrbe wrote:
Jul 26 2022 7:41pm
- are the 3 plated holes per phase for 3 wires each?
- would it be worth doing a larger plated through hole or a plated slot (that can fit the next sized wire up when ovaled) to allow larger phase wires to be connected?
300A require a lot of wire. my initial thought was to split the large diameter phase wire in 3 strands and drive one through each hole. This way the resistance between the left most and right most fets and phase wire is smaller than in a single hole configuration. And the TH pads make the thing also pretty robust mechanically. Such a fat wire could have ripped the copper foil off the PCB in a pure surface pad configuration. You could of course also use 3 wires per phase for a total of 9 wires, at least until the connector to the vehicle phase wires
Jrbe wrote:
Jul 26 2022 7:41pm
- any worry about fet mounting hardware shorting out on traces / pads?
.
Actually I do. now that you say it i do even more. My main concern is the head of the screw + insulation will not fit in between the fet tab and PCB. that would make assembling fets + heatsink much harder. I could have measured but I have no plastic washers for to220 around, so lets see when we get it.
Jrbe wrote:
Jul 26 2022 7:41pm
- would it be worth adding a smd pad next to the through hole resistors so you could easily swap between either method?
2 things here, first - the TH resistors i used just for the footprint, the lower one is actually a NTC for the fets, the left one is a connector for an on off switch (that cuts power to the DCDC). But now that you say it, the left TH pads should all be used as sufrace mount only. because the part protruding on the other side will interfere with the FET positioning. (i hope to have all fets lying flat touching the PCB. TH pad bumps ruin that. Point taken for next design iteration.
Jrbe wrote:
Jul 26 2022 7:41pm
- worth renaming the test points so you don't have to hunt for what they are?
Definitely. For me, after so much fiddling with the design, it's clear what the TestPoints are by their position. But we haven't done it just for us, we've published it open source, didn't we? So that is a bad reason not to label them :). Also, we thought to remove them once testing is done, but i kind of like them now, and want to keep them around. Will do next iteration.
Jrbe wrote:
Jul 26 2022 7:41pm
- worth adding a resistor per fet to leave options open if you find you need gate resistors on each? Can use 0R jumpers in the first batch.
Honestly never understood why individual fet gate resistors would be needed. VESCs can do power without that... Mxlemming was also sceptical regarding the reasoning he saw mentioned around for this. If you do understand the benefits, please share :).
Jrbe wrote:
Jul 26 2022 7:41pm
There are some vias on / in pads and overlapping keep out areas. The via bump can cause a component to rock and not solder well
Hmm never thought of that. I did try to keep vias outside of pads (so solder doesn't get sucked inside causing bad connections) but never thought about bump. This is a concern only for the shunts i guess. Hmmm. need to think how else I could get that precious shunt current signal very precisely from the shunt pads. And need to see how big the via bumps actually are. I'm new to this stuff so didn't have much opportunity to notice via bumps.
Jrbe wrote:
Jul 26 2022 7:41pm
GD32F303CG pill Netzpfuscher mod comes up empty.
He's working on ESC firmware for the G32F303CG chip. Not explicitely for the GD bluepill, but that bluepill has that chip so :).
Have no Ideea where/if he shared this. Hope I did not spill the beans on a secret project :D
Jrbe wrote:
Jul 26 2022 7:41pm
here are a few ground plane dead ends / voids that probably aren't a big deal.
I did clean those up at least twice already, but then redesigned parts again and again and forgot to do a cleanup. Don't think its a big deal either.
Jrbe wrote:
Jul 26 2022 7:41pm
- how do you solder the battery +/- ? Would it be worth adding a large plated hole for each?
So i left this for last because it's the juicyest bit :)
First - SMD Pads, because the TH bump on the other side would force us to mout the FETs far from board - which is not what I hope.
Secondly.... Talk about the Dunning Kruger effect, only to discover it in the friggin mirror.
My ideea was to put the pads in the middle of the GND and VBAT bus bars. Reason being to split the battery current in 3, so each side sees battery current only for a group of fets.
Which is a downright retarded reason to do it! the bus bars see the whole friggin Phase Current, which in 95% of cases is much bigger than the battery amps. So a good way to do bus bars it is fat uninterrupted bus bars from first to last fet. VBat wires anywhere on/near the bus bars.
I realised this only after order for the first batch went out. But this has no real effect other than moving the "more vias" areas to the future SMT pads of the vbat wires, which is a minor thing. Will do it though for next iteration.

Thanks again for the feedback :)

Br,
Bad-gineer, bored-gineer.
Can't. Stop. Microoptimizing.

badgineer   10 W

10 W
Posts: 81
Joined: Sep 21 2021 5:25am
Location: Transylvania

Re: Modular, Multi-Platform, 300A ESC

Post by badgineer » Jul 27 2022 4:09pm

spinningmagnets wrote:
Jul 27 2022 12:18pm
Excellent idea! Thanks for posting this on this forum.
Hi!
Thanks!

ES gave me so much interesting and fun stuff to read about since ~2015 when I discovered the forum, so how could I not post to ES?

By the way - I discovered ES thanks to one of your articles on electricbike.com, so I take this opportunity to thank you for bringing me to this forum. Love it :).

Br,
Bad-gineer, bored-gineer.
Can't. Stop. Microoptimizing.

Jrbe   100 W

100 W
Posts: 145
Joined: Mar 23 2020 6:28pm
Location: CT USA

Re: Modular, Multi-Platform, 300A ESC

Post by Jrbe » Jul 28 2022 10:42am

Replying on my phone, there's no way I'll be able to format it well.

The first thing I thought of when I saw it was that you could mount the fets straight up and put a block of aluminum between them to get the heat out. This could then screw to a heatsink case top or bottom. If the fet legs make contact at the thick section I'd imagine they could supply a bit more power without the thin area acting like a fuse. Could open up some room for connections too.
The io connectors could be 90° and go through the end of the case. One of the strange / interesting things of designing things is other people see different uses / different ways of using / building it.
I have not built a 3 phase controller yet. My understanding of the gate resistors is to help balance out the turn on power to each fet. Using 1 resistor might mean that the first fet gets more turn on power than the last in line. Individual resistors might be unnecessary but for my first batch / my first build I'd include them just to be able to try them. I try to equate electricity to water. I see it like having a restrictor to the water supply a few houses down. Your water pressure at the far end would probably suffer. But maybe that's not the best analogy or this is close enough that it won't matter.

For the phase wires you could use a plated through hole that is surrounded by vias to help keep it attached to the board. I believe Kicad has these in the footprint library but they're in an odd spot (near the bottom of the list iirc.) The 3 wire method will probably be easier to solder too. Soldering thick wires is something I'd want to avoid, it's a pita.
There are some different options for board connections, copper pems, through hole, solder, press fit, etc. I think you have some room to poke through towards the fets a bit if you wanted to try different options to not have to solder. Then it's a cost / quality / value decision.

Via bumps can lift one pad / leg of a smt device and make the device and the other pads float / not make contact or intermittent contact. I don't see any that are likely problematic on this. Some are on the edge and likely ok. More a note for next time.

Someone should make a Lebowski controller in a blue/blackpill footprint to try!

mxlemming   10 kW

10 kW
Posts: 929
Joined: Jul 17 2020 7:56am

Re: Modular, Multi-Platform, 300A ESC

Post by mxlemming » Jul 28 2022 5:46pm

Jrbe wrote:
Jul 28 2022 10:42am

The first thing I thought of when I saw it was that you could mount the fets straight up and put a block of aluminum between them to get the heat out. This could then screw to a heatsink case top or bottom. If the fet legs make contact at the thick section I'd imagine they could supply a bit more power without the thin area acting like a fuse.
I've been wondering about this and a water block between the rows...
Jrbe wrote:
Jul 28 2022 10:42am
I have not built a 3 phase controller yet. My understanding of the gate resistors is to help balance out the turn on power to each fet. Using 1 resistor might mean that the first fet gets more turn on power than the last in line. Individual resistors might be unnecessary but for my first batch / my first build I'd include them just to be able to try them. I try to equate electricity to water. I see it like having a restrictor to the water supply a few houses down. Your water pressure at the far end would probably suffer. But maybe that's not the best analogy or this is close enough that it won't matter.
This is one we debated. The conclusion reached was that the MOSFETs actually have typically 1-3 ohm gate resistance internally so they have a moderate amount of balancing anyway. The differential routing essentially eliminates the track impedance between them but nevertheless it's one of the things I'll be looking out for.
Jrbe wrote:
Jul 28 2022 10:42am
Via bumps can lift one pad / leg of a smt device and make the device and the other pads float / not make contact or intermittent contact. I don't see any that are likely problematic on this. Some are on the edge and likely ok. More a note for next time.
Do you have an example of this? Genuinely interested. I've been absolutely plastering the mounting pads of smt MOSFETs with vias on other projects and I'll never be able to tell if there being lifted... Bare boards I've ever seen via bumps on.
Jrbe wrote:
Jul 28 2022 10:42am
Someone should make a Lebowski controller in a blue/blackpill footprint to try!
I wish but unfortunately lebowski requires phase shunts. Could still use the power stage with external sensors perhaps.

The VESC on gd32 blue pill is here
https://github.com/Netzpfuscher/VESC_GD32
It's not completely complete but getting close to having all the features.

It requires that you remove the stm32 chip from the blue pill and re solder a gd32f303cg chip. An easy mod for anyone with a hot air gun.

If you're not keen on hot air guns, the blue pill will still run the kind of VESC compatible smart esc v2 firmware which uses stFOC library.
Hold my beer while I divide by zero :flame:

Jrbe   100 W

100 W
Posts: 145
Joined: Mar 23 2020 6:28pm
Location: CT USA

Re: Modular, Multi-Platform, 300A ESC

Post by Jrbe » Jul 29 2022 12:02pm

Jrbe wrote:
Jul 28 2022 10:42am
Via bumps can lift one pad / leg of a smt device and make the device and the other pads float / not make contact or intermittent contact. I don't see any that are likely problematic on this. Some are on the edge and likely ok. More a note for next time.
mxlemming wrote:
Jul 28 2022 5:46pm
Do you have an example of this? Genuinely interested. I've been absolutely plastering the mounting pads of smt MOSFETs with vias on other projects and I'll never be able to tell if there being lifted... Bare boards I've ever seen via bumps on.
I couldn't find a reference of a via lifting / rocking a component. For clarity I meant it as 1 or a few vias in pads with the rest as just pads. It may have been in a Trinamic pdf but I couldn't find it. This may have been old school thinking before pcb manufacturers started filling, capping, and flattening vias in pads too.

In searching for a reference I found tombstoning, https://www.eurocircuits.com/pcb-assemb ... mbstoning/ they have a short video showing what can happen with a via too close to a pad. I was not aware of this unexpected behavior.
Also of interest is the note about a solder mask dam to help prevent this.

There's a note about "legend under component" that lifts a small component up quite a bit from the silkscreen thickness. This is similar to what I mentioned about vias rocking a component when the vias aren't polished flat - kind of illustrating what I posted but not at all apples to apples.
Thermal vias evenly under heatsink pads won't rock the component (should be roughly all elevated) but they can wick away solder if they are not capped, https://www.7pcb.com/blog/via-in-pad-guidelines.php
https://blog.screamingcircuits.com/2008 ... n-pad.html

These guys mention flattening & filling vias under pads but unfortunately they don't get into the why besides a generic mention of reliability https://www.protoexpress.com/blog/via-i ... facturing/ I've been trying to find an explanation of "reliability" without success. I'll keep looking randomly and post back if I can find a good (or maybe out of date) reference.

It wouldn't be too hard to spin up a next color pill board with a gd32f303cg chip. JLC has a bunch of these in stock currently. Maybe this will evolve in that direction once all the functionality is functional.

A Lebowski brain board that overhangs the blue/blackpill board outline but same pinout could work. 3 added connectors for external current sensors wouldn't be that bad.

I was originally seeing this as a 3kw controller, not the 30kw (25kw?) controller that it is. Water might be necessary, I guess you guys will find out soon enough. Galp had 2 computer fans on his 30kw controller. Not sure how capable those were keeping the controller cool in his setup but it seemed to work well.

amalik   1 µW

1 µW
Posts: 4
Joined: Jul 11 2022 3:35am

Re: Modular, Multi-Platform, 300A ESC

Post by amalik » Jul 30 2022 10:15am

For the noob in me….

Is this a controller project?

badgineer   10 W

10 W
Posts: 81
Joined: Sep 21 2021 5:25am
Location: Transylvania

Re: Modular, Multi-Platform, 300A ESC

Post by badgineer » Aug 05 2022 4:44pm

Hi Jrbe

We'll see about the via bumps very soon. The first board set arrived.
Jrbe wrote:
Jul 29 2022 12:02pm
I was originally seeing this as a 3kw controller, not the 30kw (25kw?) controller that it is. Water might be necessary, I guess you guys will find out soon enough. Galp had 2 computer fans on his 30kw controller. Not sure how capable those were keeping the controller cool in his setup but it seemed to work well.
Well 25kW sounds really optimistic to me. At 300A each tiny design mistake explodes in your face (maybe even physically). I expect more short bursts f 300A, before it overheats.
Jrbe wrote:
Jul 28 2022 10:42am
Using 1 resistor might mean that the first fet gets more turn on power than the last in line.
Hmm, if by this you meant that the difference in track length (and thus difference in track resistance) is the reason, then i find it unconvincing.
First of all, the difference in track length is about 11mm per fet. as in fet 2 has another 11 mm and fet 3 has another 22 mm compared to fet 1. that results according to a quick calculation (0.2mm track inner layer) in about 0.06 ad respectively 0.12 ohm which is tiny.
Then, the difference in track length will probably still be there in case of individual resistors, unless you do something about it.
And lastly, we can and maybe should also do something in our case too about this - make the track wider in between the FETs.

Anyway, not saying this can't be true, just because I don't understand how something is supposed to work, does not mean it does not work :D
amalik wrote:
Jul 30 2022 10:15am
Is this a controller project?
Yeah, ESC is a popular term for controller.


Br,
Bad-gineer, bored-gineer.
Can't. Stop. Microoptimizing.

mxlemming   10 kW

10 kW
Posts: 929
Joined: Jul 17 2020 7:56am

Re: Modular, Multi-Platform, 300A ESC

Post by mxlemming » Aug 05 2022 8:46pm

Well I'll be brief because it's kinda 2am... But...

The board works. I've only built it up with 6/18 MOSFETs but it's been spinning the motor. No little wires :lol:

With not enough MOSFETs the switching is brutal. 20ns rise time and ringing at 70mhz, though that's all damped out within 250ns. The extra capacitance of the other MOS should help a lot. It's all pretty clean though on the signal lines even with this and I haven't even started playing with snubbers yet. This is the first through hole board I've ever worked on (except sdobbie board I had a while back for a day or two) so crossing my fingers I can tame things.

Few notes from questions etc above...

You can't multiply 300A by the 100V MOSFET rating to get power. There's the headroom so max 84V/20s and the power is then given by battery amps which is always smaller than phase amps.

At max speed you might get 84Vx... 150,200...A battery. Maybe 15kW for short bursts.

It'll basically be 3/4 of galp's besc because... 3/4 as many MOSFETs. I don't think it's realistic to call the besc a 30kW controller, loaded with 150V FETs it might do that for a few seconds.

Anyways, looking promising.
Attachments
IMG_20220806_014527729_HDR.jpg
IMG_20220806_014527729_HDR.jpg (3.98 MiB) Viewed 76 times
IMG_20220805_201831784.jpg
IMG_20220805_201831784.jpg (3.28 MiB) Viewed 76 times
IMG_20220805_202412683.jpg
IMG_20220805_202412683.jpg (3.23 MiB) Viewed 76 times
Hold my beer while I divide by zero :flame:

Post Reply