HESC V1 150v 600Amp VESC based motor controller

Hackey

1 W
Joined
Dec 20, 2018
Messages
51
hello folks,
I am working from sometime on Vesc based motor controller which can do 150volt and 600Amps at phase and 300 amps from battery. I am posting Schematics and features are as follows. Please have a look at them and Guide me if I am doing any thing wrong.

1.130v operation (150volt Mosfet ).
2. 600 phase amps and 300 battery amps (TO-247 x 4 FETS per leg Total 24 Mosfets).
3. PWM overlap elimination ( From PaltaTech/Axiom controller).
4. overcurrent latching protection ( From PaltaTech/Axiom controller).
5. HASS 600s or HASS 400s isolated openloop hall effect current sensor.
6. Separate brain board and power stage (for more flexibility).
7. isolated low propagation delay Mosfet drivers (ucc21520).
8. isolated DC-DC (from battery pack to controller).
9. liquid cooled casing for better heat dissipation.

View attachment schematics.pdf


Here is Power Stage.

View attachment power stage.pdf

Ignore the DC - DC converter in 3d image as I can't find model for it.

HESC v1.png

Here is layout of top and bottom layer.

pcb layout.png
 
I've been looking for something like this for a long time, 150v VESCs have been a long time coming, and the current is enough for a medium speed/lightweight motorcycle.
 
The schematic looks pretty decent (and big, it's a full blown VESC), but there a few things I'd change:

  • 20r looks a bit high for gate resistors for a high-speed power stage. Based on the gate capacitance, I'd probably use 5-10r.
  • PWM overlap elimination is unnecessary. The gate drivers do this themselves if you have rDT set up, which you do.
  • Isolated converters for the 5v and 3.3v rails add unnecessary size and cost. Isolated converter for HV to 12v is nice though.
  • Labels would make the schematic easier to follow

On the other hand, I really like your overcurrent detection method. Having the current (I assume you're using low-side shunts) directly turn off the gate drivers is the fastest and has the best chance of saving the FETs from a short on the phase wires. Be careful about the shunt power dissipation though, even at 10 millivolts they will dissipate 6 watts apiece at 600 amps. I'm using hall-effect current sensors in my design (MLX91220KDF with copper in parallel so they see ~10% of total current). Less losses and easier to code but short-circuit detection takes an extra microsecond or two compared to a shunt and a comparator.

The hardest part of this (and all ESC designs) is going to be the power stage. Getting the power, phase, and gate drive signals routed for low inductance / interference can be challenging, especially for 24 TO-247s. I would run two rows of 12 and parallel the phase outputs. The shunt resistance would be a lot less than the FETs so measuring just one side should give you an accurate measurement after you multiply it by 2. Even though it requires a bit more assembly, twisted pairs going to the FET gates wouldn't be a bad idea either.

Please take everything I've said with a grain of salt. I'm making good progress towards my own controller but haven't got it working 100% yet.
 
I don't think you'll need liquid cooling if you have a big enough heatsink. Check out https://www.heatsinkusa.com/4-600-wide-extruded-aluminum-heatsink/. I'm using the 2 inch version for my own controller prototype and it is quite effective. Even more after you add the ~50MPH airflow from the vehicle moving.
 
thorlancaster328 said:
The schematic looks pretty decent (and big, it's a full blown VESC), but there a few things I'd change:

  • 20r looks a bit high for gate resistors for a high-speed power stage. Based on the gate capacitance, I'd probably use 5-10r.

Ans: i will tune those resisters after getting PCB's.

  • PWM overlap elimination is unnecessary. The gate drivers do this themselves if you have rDT set up, which you do.

Ans: It is implemented so i can use this board with different types of power stages and also it costs only few dollar and handy to have feature.

  • Isolated converters for the 5v and 3.3v rails add unnecessary size and cost. Isolated converter for HV to 12v is nice though.
Ans: 5v uses mp1584(https://robu.in/wp-content/uploads/2017/05/5PCS-Ultra-Small-Size-DC-DC-Step-Down-Power-Supply-Module-3A-Adjustable-Buck-Converter-for.jpg_640x640.jpg) based non isolated buck converter and 3.3volt rail used a simple LDO regulator design.

  • Labels would make the schematic easier to follow
Ans: I will do that.

On the other hand, I really like your overcurrent detection method. Having the current (I assume you're using low-side shunts) directly turn off the gate drivers is the fastest and has the best chance of saving the FETs from a short on the phase wires. Be careful about the shunt power dissipation though, even at 10 millivolts they will dissipate 6 watts apiece at 600 amps. I'm using hall-effect current sensors in my design (MLX91220KDF with copper in parallel so they see ~10% of total current). Less losses and easier to code but short-circuit detection takes an extra microsecond or two compared to a shunt and a comparator.

Ans: i am using HASS-400S current sensor for phase current sensing so that i can also sense load short-circuit.( https://www.lem.com/en/hass-400s )

The hardest part of this (and all ESC designs) is going to be the power stage. Getting the power, phase, and gate drive signals routed for low inductance / interference can be challenging, especially for 24 TO-247s. I would run two rows of 12 and parallel the phase outputs. The shunt resistance would be a lot less than the FETs so measuring just one side should give you an accurate measurement after you multiply it by 2. Even though it requires a bit more assembly, twisted pairs going to the FET gates wouldn't be a bad idea either.

Ans: Design uses 3 high side Hall effect current sensors and power stage Layout is also Attached below.
Power Stage is not complete i am working on solder mask expose layer to add bus bars on pcb but will provide you general idea of the layout.
power stage layout.png
power stage.jpg
power stage back.jpg

Please take everything I've said with a grain of salt. I'm making good progress towards my own controller but haven't got it working 100% yet.
 
The gate drive traces running parallel to the high-power bus for several cm is going to cause voltage spikes on the gate due to inductive coupling. Based on oscilloscope measurements of my first controller, you'll likely run into spurious turn-on well before 600 amps. If you have to cross that much distance, use twisted pairs between the drivers and the FET gate / source terminals.

HESCLayout.jpg
The inductance in your power stage is too high for 600 amps. Those red arrows represent the path the high frequency current will have to travel when the PWM switches. The larger the loop area, the worse the inductance. Using a 4-layer board with the inner layers being the positive and negative power planes would significantly reduce inductance, but would add cost.

There's no room to fit the FETs once the bus bars are in the way. Fixing this would require a major power stage redesign. You might be able to make it work by putting the bus bars on the other side of the FETs (inside rather than outside). This would cut down on inductance as well.

Finally, if you plan on running anywhere near 600 amps, the front side of your power stage needs more copper to conduct the current. Even with 2oz copper, the phase traces would melt at around 200 amps of phase current. At high currents, the source legs of the FETs produce a good deal of heat due to the bond wire resistance. The FETs ratings are specified with heat being removed from the legs, not added to them. Zombiess has a Youtube video of this happening.

If you want I can PM you schematics of my board design. Having two of those power stages, one on each side of the board, would probably work. Only downside is you'd have to splice power and phase wires - it'd be like having two separate controllers synchronized in parallel.
 
A good place to start for tips on building a high-amp power stage is https://endless-sphere.com/forums/viewtopic.php?f=30&t=55641. Ideally, you will have two bus bars on opposite sides of the board with as much capacitance as close as possible. My implementation:

IMG_20210204_093543.jpg

The brown things along the side are 100v 1uf ceramic capacitors. It's hard to get any better than that. I made the mistake of not putting the caps on before I soldered the bus bars. If you epoxy the caps to the board first, you can solder the bus bars and caps in one go and it will look a lot neater.
 
your point seems to be valid i am switching to 4 layer board with this layout with IN-1 layer set as ground plane which will shield gate drive signals bottom layer will be for bus bars of battery input but these are moved to inner side, top side and IN-1, IN-2 will be for phase output .
i will also add connections for snubber between gate and source and power planes(vdc-gnd) so in case of ringing i can add snubber cap and resister.
attaching some images.
layout in1.png
layout new.png
layout t-b.png
layout in2.png
 
Your layout makes a lot more sense with a 4-layer board, but the decoupling could easily get a lot better. For 600 amps, you'll want a lot more electrolytics than you currently have. It looks like you have a bit of room between your existing caps, even after the bus bars. Making the bus bars thicker rather than wider will allow you to fit the caps in.

Also, you could massively decrease the high-frequency impedance of your decoupling by stringing 150 or so 1uf ceramic capacitors in parallel along the center of the board. For the voltage rating you need, your best bet is probably to use two 100v caps in series to reach a 200v rating. That 75uf of low-impedance ceramic capacitance will reduce voltage spikes quite a bit.

My only other concern is still the gate drive next to the phase trace but it doesn't look that bad with the gate drives no longer running on top of the power planes.. Putting solder pads in so that you can use twisted wires if needed isn't a bad idea.

I've never experimented with power stages laid out like this, so I can't give any further advice. I know some commercial manufacturers (Sabvoton?) use a similar layout though.
 
thorlancaster328 said:
Your layout makes a lot more sense with a 4-layer board, but the decoupling could easily get a lot better. For 600 amps, you'll want a lot more electrolytics than you currently have. It looks like you have a bit of room between your existing caps, even after the bus bars. Making the bus bars thicker rather than wider will allow you to fit the caps in.


ans: i have doubled the number of electrolytes.


thorlancaster328 said:
Also, you could massively decrease the high-frequency impedance of your decoupling by stringing 150 or so 1uf ceramic capacitors in parallel along the center of the board. For the voltage rating you need, your best bet is probably to use two 100v caps in series to reach a 200v rating. That 75uf of low-impedance ceramic capacitance will reduce voltage spikes quite a bit.

Ans: i am using 2 film capacitors(orange box in 3d render) per phase to overcome power stage impedance. they are more superior than ceramic ones in all category.
thorlancaster328 said:
My only other concern is still the gate drive next to the phase trace but it doesn't look that bad with the gate drives no longer running on top of the power planes.. Putting solder pads in so that you can use twisted wires if needed isn't a bad idea.

Ans: i will defiantly consider this option.

thorlancaster328 said:
I've never experimented with power stages laid out like this, so I can't give any further advice. I know some commercial manufacturers (Sabvoton?) use a similar layout though.

Ans: do you have some links or photos of such controllers. if yes please provide link I tried to find but couldn't find any useful info.
 
All I know about the board layout is based on photos I've seen on the internet. Do a Google image search for "Sabvoton board" and you'll get the idea. A good hi-res photo: https://ebike.nexun.pl/wp-content/uploads/2017/03/IMG_6943.jpg

You can see the two copper buses on one side of the board, which would mean that the phase traces would be on the other side, similar to your board. I also see that they are using IR2110, your gate drivers are superior to the ones they are using.

I am using 2 film capacitors(orange box in 3d render) per phase to overcome power stage impedance. they are more superior than ceramic ones in all category.
Even though film has better characteristics for larger capacitors, the size of larger film capacitors causes an unavoidable rise in inductance.

A large number of ceramic capacitors in parallel will always beat other decoupling strategies for high frequencies. 150 parallel / 2 series (300 total) of the decoupling capacitors I'm using will have around 85 micro ohms of impedance up to around 6 MHz, with below 1 milliohm until 60 MHz. Try doing that with larger-bodied film caps. Even if you put the pads in for the ceramic decoupling caps, you don't have to populate all of them. My controller prototype using just ceramic caps could do 30 amps easy with no electrolytics at all. Even then the ripple was at a frequency that the electrolytics could easily handle.

300 x 1uf 100v 1206 ceramics is only $8.07 total at Arrow. I don't think there's a more cost-effective way to decouple than this.
 
Hi. Many new controllers here!

Good to see Thor's comments. He's dealt with the inductance, gate bounce etc.

My only additions are:

Why are the rows of FETs so far apart? You could greatly reduce the inductance of your stage of you moved the legs together. For this design of power stage, the thickness of the board and the loop you create with that becomes important.

The pwm overlap protection and latching current detection are pointless. The stm32f405 has these functions built into the timer hardware. Use pin pb12, it has the timer1 break function. A few lines of code and you can set it to turn the pwm off all low instantly when that pin is pulled high or low (according to your choice). This will be more reliable than extra hardware circuitry to latch, once you've verified the code and function.

I wouldn't use those irfp4568 FETs/if you do be careful with them. The reverse transfer capacitance to input capacitance ratio is only 50 so they are likely to experience parasitic turn on if you start running near their rated voltage. If you do use them, you'll want very low gate resistors, and very low inductance return traces to the gate driver, and you'll probably want to use the old diode and two resistor arrangement to get a much harder pull down than up (slow turn on, harder faster turn off).
 
Also, why did you cut the holes in the ground plane below the output plane? I'd keep it continuous ground. Easy to add metal to strengthen the high current traces on the surface, much harder to deal with inductance, ground bounce etc... Issues.

You could just bend the left over FET legs over to strengthen the board for example.
 
back side of power stage
new back.png

front side of power stage with closely arranged mosfets with hope this would work.
front.png

in1 layer will be used as gnd plane for shielding gate drive traces. and it will have cutout in between for phase output as shown
in1.png

here are gate driver traces
gate drive traces over gnd plane.png

here is 3d image of front view
3d.png

here is 3d image of back view
Screenshot 2021-02-18 191856.png

@thorlancaster328 @mxlemming
 
The bus bars still appear to be in the way of the FETs. If you made them wider, they could be thinner (8x2mm copper) and still have less resistance than 6 AWG copper. That way you could place the bus bars under the FETs.

I see significant areas where VDC and GND are next to each other on the same layer - I'd still throw some ceramics in there. 2x100v in series, and as many as will fit in parallel. Cheap and if they aren't needed you can leave some or all of them out in the final version.

Your gate drive traces are still running under a current-carrying trace, but less so. From my experience, inductive turn-on might be an issue. I would use pairs of traces, right on top of one another, running to the gate and source pins. Have the VDD pin of the gate driver connected to the source pin, not directly to ground. Put the capacitor between VDD and GND and place a low-value resistor (2-4 ohm) in between your gate drive supply and VDD. Something like this:IMG_20210218_095331.jpg
I'm using twisted pairs for this (total and utter PITA) but you could achieve the same result with traces on adjacent layers.

Other than that it's looking really nice. If you select shorter electrolytic capacitors this controller would be pretty small for the watts it puts out. I'm thinking about putting the FETs horizontally (rather than vertically) on my next design as well. Would save a lot of space.
 
In general, I really like this concept. If I did through hole multi switch, this is how I would lay out the FETs.

Thor's comments basically stand.

Further the low inductance with a few other tips... It's probably already pretty good at this stage, but:
1) VDC and GND planes closer. No need to have a big gap.
2) Consider running the yellow GND plane through the switching node rather than using it to reinforce the phase . This blocks the magnetic field around the phase and VDC traces and the inductance will drop. The current carrying capacity of the 0.5oz copper is low, since it is not exposed to air, so heats up more.
3) I am really not convinced that polymer film caps are better than ceramics in all ways. For fast response time, this is clearly not the case - they are enormous and will have a significant inductance purely based on their size. I second the 100V ceramics, even if you only use a few close to the FETs and keep the polywhatsits..

Confirm:
1) Did you deal with the FETs reverse transfer capacitance and the parasitic switching situation? Find different FETs?
Consider : https://www.onsemi.com/pub/Collateral/FDH055N15A-D.PDF

2) Are you 100% sure you have the MOSFETs the right way round for bolting to your heatsink? I'm not quite sure of your intention, but I think you might have them backwards.

Further work:
1) Using the isolation of the gate driver to it's potential with starred ground for the logic
Add connector for attaching twisted pairs in worst case (think you will be OK actually with those gate traces, since you have the Mag field blocking ground plane, which Thor did not, but better make it easy for yourself in worst case).
2) All your DCDC power stuff - need to keep it away from the analog traces - especially the inductors, and especially pre amplification.
3) lots of tidying up, generally moving things to tidier positions.

I think you're onto something that should work quite nicely here. Good luck!
 
Another thing, on your controller side, did you filter the hall sensors? Read Thor's thread. Most of the things we discussed are applicable to you, you're each doing pretty much the same thing.

Did you have a good reason to use TO-247 instead of TO-220? There are generally far more TO-220 FETs, TO-247 is virtually defunct and expensive. TO-220 you can always find great deals on something, and since they are 50% narrower, you could literally just have 50% more of them... RS UK for example has 21 TO220 listings and 1 TO247 for <4mohm, 100-150V through hole.
 
I somewhat disagree with your statement that TO-247 is outdated and expensive. The 150-volt IRFP4568 is available for $2.77 apiece from Rochester Electronics with a minimum order of 91. RdsON is moderately good at 5 milliohms.

For 100 volts, stp310n10f7 looks like a pretty good choice at 2.7 mOhm, with negligible miller effect and only 200 nC reverse recovery charge. However, it's about half the performance as the IRF100p218 FET's that I can get from Digikey for less than twice the price.

Even though IRF100P218 (My current TO-247 FET) is obsolete, DigiKey has several thousand (4,652) left and no one seems to be buying them. The initial versions will still use that FET but future revisions will likely go to TO-220.

I'm guessing TO-220 has less inductance as well, allowing for faster switching times and less switching losses.
 
Rochester electronics are a company that specialise in manufacturing components that have gone end of line but are still used in significant volume. Once rochester start making it, you probably ought to think about designing it out.

4000 in digikey means if you bought the lot you'd be able to make and sell about 400 of your controllers. But you'll have to share with hackey.

Yeah there are more from more manufacturers. And it's not a lot of effort to change your layout for to220s if they truly do run out.

The one hackey put on his schematic was crap though. Needs swapping.
 
AFAIK Hackey isn't using the IRF100P218 so I could have all the FETs to myself. If we end up using the same FETs for a significant number of controllers, it would be considerably cheaper for us to do a group buy and save ~10% off buying half the amount each.

Given that they require hand-assembly, I don't expect to make and sell more than 50-100 controllers MAX over the summer. There will be plenty of IRF100P218 to go around for quite some time. But even at the low end that's $10,000 of profit :D and Hackey's controllers will probably have similar profit margins.
 
Hi, i am very intrested in this controller, I want to build my own power stage, but if someone offers a allready made solution I do not oppose it :D I want to use it on surron, so 100V/600Amps is sufficient. About your power stage, why not use SMD transitor ? On my previously build controller for e-trike i use IPB039N10N3 - package have a lot of source legs - so smaller inductance, can be driven like kelvin source - so its much easier to drive these fets, and if you design it right it will not heat up. On my tricycle is controler only component that doesnt heat :D My power stage is aprox 137x64mm 1mm thick board, on bottom layer is nothing, and its mounted throught silicone isolation pad to heatsink. Mosfet drivers are on separate board, Upper transistor drivers are isolated from logic by optocoupler and transformer for supply current - can be 100% duty for infinite time, Lower transitor drivers are also isolated by optocoupler from logic GND, and supply current for them is via chokes. It works well.
 

Attachments

  • hh.png
    hh.png
    83.8 KB · Views: 3,834
hello guys i was on trip so was not able to reply .
here is quick update on power stage.

I moved positive and negative power planes to front side and bottom side will be used for all the signals with 2 layer of ground plane shielding the traces on bottom side from any interference.
Screenshot 2021-02-25 223223.png

This also helped me to put some ceramics on bottom layer and i think it will reduce the inductance dramatically.Screenshot 2021-02-25 223355.png

what are your thoughts on this. I will desperately wait for your valuable suggestions.

And @thorlancaster actually i want to build this for 130volt practically usable specs, So those Fets would serve no purpose to me.i will try to tune gate resister to make it work with irfp4568 if it wont workout i will go for FDH055N15A.
 
Still liking this a lot
1) switch node interferes with power rails. Sort it, chance if generating shorts etc when soldering busbars etc.
2) what's going on with the switch node return to gate drive? Likewise for the ground node to gate drive, you might consider making it a separate net. You don't need 2 ground planes, I can't see 2 shielding any better than one so perhaps use that for the returns.
3) do you have bootstrap resistor and perhaps a Zener clamp? I think you might want that since everything could flail more than other designs just because it's so big and so high current.
4) did you implement the star ground and fully utilize the isolated gate drivers?
5) if your getting it smt'd, consider having balancing resistors on the series caps, 1Mohm pairs to keep the center node... Centered... Might not be necessary but they don't auto balance and small leakages in any one can result in one side taking all the voltage.

Tbh, this is pretty close to exactly how I'd do this, except I'd sidestep the MOSFET and parasitic turn on issue by just using a different (and to220...) FET. You might get some good feedback from @zombiess who actively enjoys playing with FETs that need Miller clamps if he's around. I'm outside my knowledge zone once you start playing with slow switching and all that. I'll also caveat the rest of my advice by saying this is probably 3x the power of anything I've designed so far.

My only other thought is whether you could inject the power mid board and thus shorten the power path
 
major inductance problem is in legs of package and bond wire in fet, so its a reason why powerfull controllers use so many fets in paralel, to lower amps by fet -> lower inductance spikes on them.
 
Back
Top