Need help with BLDC Controller PCB Layout

HacknMod

10 W
Joined
Oct 13, 2011
Messages
74
I modified an existing BLDC design posted previously on E.S. by Jeremy Harris. I had a few questions regarding the layout that I was hoping someone could answer:

1. Currently, all layers are 3oz copper and my layer stackup is:

- Top: VCC_BATTERY, connection from mosfet driver to mosfet gates
- 2nd: GND
- 3rd: Signals from external microcontroller, VCC12v0
- Bottom: FETS, misc.

"FETS" is the net name connected to the source pin on the low-side MOSFETs. "FETS" is connected to GND through a .005 ohm shunt resistor. Do you think it would be best to place "FETS" or GND on the bottom layer of the board (in regards to signal integrity and heat dissipation)?

2. I've used polygons throughout the board instead of narrow traces. I think they are large enough to dissipate heat and ensure signal integrity, but please let me know if this is not the case.

Thank you!

View attachment Board and Schematic.zip

Schematic:

Ucfk6.png


Board:

EHAwy.png
 
I could not read the .sch file in Eagle. What software are you using?

From the partial pictures that I can see, I think this is close to the controller brawn that I made from jeremys schematic. The controller part works ok, although I never tested it with enuf current to break it. The battery pack that I had at the time would cap out at about 10-15A.

I learned a lot about controller brains and brawn by building this circuit. A couple things come to mind

1. High side gate drivers need to generate a voltage above vcc. Typically they use a simple charge pump. Jeremys ckt uses an isolated dc-dc converter. while it works just fine, but it's not economical. A regular IRC high-side driver would have worked just fine.

2. As I was told several times by jeremy, the Caps are critical. They are NOT to increase the current to the drive, but to protect the FETs from overvoltage. The Rubycons electrolyics paralleled with very fast acting caps are critical. All good controller have both.

3. The TO=235's are supposed to provide a lot of current. I think the real issue is heat and forward resistance. Putting several TO-220s in parallel is probably more efficient for high current, but you need to deal with switching.

4. Analog monitoring of current is tricky -- need to be able to monitor current in both directions. Best to carefully copy a successful implemetation.

5. As you may expect, brawn boards are tremendously noisy.

6. The brains needs to be well thought out. I'll be happy to supply the successful software work i've done with the PIC 18F2431, and was able to drive down the street. It seems like this PIC it has everything... but is just short one analog input pin to be perfect. The SMT version would be perfect, but you need to burn it onto a pcb to find out.


Best of luck.
Mark.
 
Looks fine to me. Mark has already made the important points.

The high side drive can work OK with the bootstrap option for the NCP5181, but not with the simple MC33033 chip I used. The bootstrap needs a pulse at power on to charge the cap so that the top FETs can turn on, and it's random as to whether or not it gets one, I found. More often than not I'd need to spin the motor to get it to start, just by cycling through a couple of Hall transitions, so charging the bootstrap caps. I did a lot of playing around to try and get the controller to start reliably before getting frustrated and resorting to the DC-DC converters. These fixed the start up problem for good.

If you want to drive the board with another "brain board" then you can use the bootstrap option (see the NCP5181 datasheet) and get rid of the DC-DC converters, as you can programme in the right outputs at power on to make sure the bootstrap caps get charged.
 
hardym said:
I could not read the .sch file in Eagle. What software are you using?

I'm using Eagle 6.1.0 - Maybe you're using an older version?

1. High side gate drivers need to generate a voltage above vcc. Typically they use a simple charge pump. Jeremys ckt uses an isolated dc-dc converter. while it works just fine, but it's not economical. A regular IRC high-side driver would have worked just fine.

I believe I have fully implemented this, but let me know if this is not the case. I think you're just saying I don't need the isolated dc-dc converter?

2. As I was told several times by jeremy, the Caps are critical. They are NOT to increase the current to the drive, but to protect the FETs from overvoltage. The Rubycons electrolyics paralleled with very fast acting caps are critical. All good controller have both.

I've spec'd these caps with an ESR of .047 ohms. I think they will work? Do they need to be paralleled with additional caps (they are already paralleled with a few caps, as shown in the schematic)?

3. The TO=235's are supposed to provide a lot of current. I think the real issue is heat and forward resistance. Putting several TO-220s in parallel is probably more efficient for high current, but you need to deal with switching.

Not sure what you're trying to tell me with this? Use several TO-220 MOSFETS in parallel instead of the TO-235?

4. Analog monitoring of current is tricky -- need to be able to monitor current in both directions. Best to carefully copy a successful implemetation.

Not sure what you're trying to tell me. Are the shunt resistors a bad/poor choice?

5. As you may expect, brawn boards are tremendously noisy.

Suggestions on how to reduce this noise besides the parallel caps you mentioned? Or is this just a undeniable fact of any brawn board?

6. The brains needs to be well thought out. I'll be happy to supply the successful software work i've done with the PIC 18F2431, and was able to drive down the street. It seems like this PIC it has everything... but is just short one analog input pin to be perfect. The SMT version would be perfect, but you need to burn it onto a pcb to find out.

For now, I'm just using the MC33033 like Jeremy did. That should work just fine, right?

________________________________________________________________________________________

Jeremy Harris said:
The high side drive can work OK with the bootstrap option for the NCP5181, but not with the simple MC33033 chip I used. The bootstrap needs a pulse at power on to charge the cap so that the top FETs can turn on, and it's random as to whether or not it gets one, I found. More often than not I'd need to spin the motor to get it to start, just by cycling through a couple of Hall transitions, so charging the bootstrap caps. I did a lot of playing around to try and get the controller to start reliably before getting frustrated and resorting to the DC-DC converters. These fixed the start up problem for good.

Ah, so I do need the dc-dc converters after all. Thanks.

________________________________________________________________________________________

I appreciate your help thus far! I hope you can provide some answers/clarification to my questions above. Thanks!
 
Bump :)

Mod Edit: We don't typically "bump" on this board. Please don't make it a habit. Threads carry themselves or not.
 
hi jerremy,

i have been working on a power stage based on your design (with the dc-dc converters) to use with the controller chip from lebowski.

but i keep blowing (3 so far) the high-side driver on the ncp5181 driver chips. the low side part of the driver is still working

i was wondering if you have come across the same problem, because i have no idea what is blowing the chips.
on the bench the drivers work fine, and all the signal lines look clean on the scope, no weird peaks or anything.
but then i go testing outside, and put some load on the controller and the driver will blow after a few runs.

Niels
 
I've never managed to blow one of those drivers, no matter what I've done, so I'm a bit puzzled as to why you should be having problems. The drivers are pretty well protected, so all I can think of is that somehow there is something odd going on. One thing I've spotted is that you've added 0.001µF capacitors at the inputs to the NCP5181 for some reason. This will slug down the rise and fall times and add a phase shift - maybe this is the cause of the problem? The driver inputs need to be fed with reasonably clean pulses, although they do have schmitt trigger inputs to give a bit better noise immunity.
 
the layout above is from hacknmod, i do not have the 1nf caps installed. i do have a 17v zener and a 10k or 20k resistor beteween G-S
 
nieles said:
the layout above is from hacknmod, i do not have the 1nf caps installed. i do have a 17v zener and a 10k or 20k resistor beteween G-S

OK, my mistake, I assumed it was the circuit above.

Any chance you could post your circuit? Why do you need a 17V zener and the resistor between G and S? The NCP5181 is a full bidirectional driver that can sink and source a fair bit of current, so all that should be needed is a low value series gate resistor (around 10 ohms is fine if the layout is good).
 
no problem! i should have made it more clear!

the zener is there to ensure there are no voltage spikes going to the driver.

the resistor is there to ensure the fets are really shut off.

i lack the knowledge to know if i really need them, or if they could have caused the problem.i used them because i read other people used them. i can remove them and see if this will stop the problem (will be a week or so, i do not have any drivers left so need to order them)
 
The only time I was blowing up FET driver chips was when the ground reference was actually bouncing about Vcc for the chips, which I wouldn't have believed was possible until I scoped it and found extremely short duration reverse polarity 40v spikes hitting the part. This was an extreme application with >500amp loads.
 
liveforphysics said:
The only time I was blowing up FET driver chips was when the ground reference was actually bouncing about Vcc for the chips, which I wouldn't have believed was possible until I scoped it and found extremely short duration reverse polarity 40v spikes hitting the part. This was an extreme application with >500amp loads.

Nice story, but can you give comments or suggestions to the files I've posted?
 
4. Analog monitoring of current is tricky -- need to be able to monitor current in both directions. Best to carefully copy a successful implemetation.

Not sure what you're trying to tell me. Are the shunt resistors a bad/poor choice?

You have the shunt in there but no circuitry to shown to convert it to something useful. I"ll try to dig up a couple controller jpgs of analog monitoring ckts. The isense will drive negative with respect to ground on regen... so, it's complicated.

In my implementation, I have a PIC brain driving this ckt thru a long ribbon cable. I also have a 12 switcher supply on the brawn board (which you dont). At first, the 12v switcher was making so much noise that it was causing inadvertant fet switches. I added a few caps there that helped alot. I also found that with a long (6") ribbon cable between brain and brawn, I would get noise on the fet control leads into the NCP5181 drivers. Fortunately I was able to find this on the bench, and fixed with a couple of .01 caps at the inputs. I see that you've used .001 which would probably also be ok.
If all the input lines have the same cap, there shouldn't be any timing problem. Suggest you change the input caps of the NCP5181 to tantalum .01 or even .1 to isolate the problem. I was only able to drive about 20A thru this ckt with the battery that I had at the time.

I'm not smart in this area, but I could envision a significant amount of noise generated by running the NCP5181 input lines right by the C17 and C18 caps, rather than routing the other way.

Having said all that, I'm not sure that the NCP5181 would be 'blowing' if there was some noise on the data line input. Rather, could be noise on the voltage input lines, but it looks like you have the right design and layout for that. You could try a 14v zener on the high side NCP5181 power inputs to help isolate the problem.

Edit: Attached is a schematic for a Shenzhen controller. You may be interesting in the current monitoring components.

Mark.
 
HacknMod said:
Nice story, but can you give comments or suggestions to the files I've posted?

Sorry, I know nothing about multi layer board stuff, I only ever make single layer boards using a CAD programme. The circuit I worked on works fine the way it is, the current limiting works OK, the gate drives are fine the way I had them (not with your added input capacitors that will slug them down as I've already pointed out), the commutation capacitors I used do their job OK, not sure about yours, it's up to you to check it out and see (there's no easy way to determine in advance that you've got it right, as I found).

I believe your questions have been pretty much answered, the only thing I'd add is that multiple small package FETs is not the best way to go, as it adds gate capacitance, they don't tend to share peak current well and they are thermally pretty poor internally.

[edited to fix a bad typo....]
 
Thanks for the input Hardym and Jeremy!

hardym said:
You have the shunt in there but no circuitry to shown to convert it to something useful.
The isense is going to the brain board where it's being inputted into the MC33033. I copied this from Jeremy's schematic. See an image of my the MC33033's configuration on my brain board here: http://i.imgur.com/Tb1nD.png - Will this work?

hardym said:
Fortunately I was able to find this on the bench, and fixed with a couple of .01 caps at the inputs. I see that you've used .001 which would probably also be ok.
Would it be "better" to use .01?
 
The isense is going to the brain board where it's being inputted into the MC33033. I copied this from Jeremy's schematic. See an image of my the MC33033's configuration on my brain board here: http://i.imgur.com/Tb1nD.png - Will this work?
Probably. I've not used the MC33033, but I think Jeremy had some success. This is a very basic chip without regen, so your current sense may work.

Would it be "better" to use .01?
I dont know, but it probably wont hurt. I was responding to your PM, and tyring to apply a few lessons learned from my old project, to your reported NCP5181 failures, so it's just a guess. I didn't have the same types of failures that you are having, so I'm not sure of the problem.
 
Current sense on the MC33033 is excellent, far, far, faster than on ebike controllers. It does cycle-by-cycle limiting on each pwm pulse, as it uses a comparator on the sense input, not a voltage amplifier. If the sense input goes over 100 mV, then the controller terminates the pulse. This is why there is some simple filtering on the sense connection, to take out narrow noise spikes. Because of the cycle-by-cycle limiting, a bit of noise tends not to be too big a problem, as most of the electrical noise comes from the phase surrent being turned off, the event that is triggered on over-current by the current limit comparator.
 
Hi guys,

I'm using the IR2181 ( for HI-LO side Gate driver), I did the connections as indicated in the datasheet but, even with unconnected Hi-input and Lo-input signals I see Vcc at those pins, I would like to know if a blowed the chip or how should a connect a signal in those pins, since with the current condition I can't even drive the Lo-side output.
 
Back
Top