custom design (open source) 48V BLDC controller

PhoenixOSU

100 W
Joined
Jun 20, 2009
Messages
168
Location
Corvallis Oregon
I've been working on a 48V BLDC motor controller to use in my moped project (because I think I can do a pretty good job and its fun). The goal is to get it working and integrate the 12V dc-dc into the controller and have the design be a prototype for a 72V design down the road. My hope is to get it to handle a peak output of 6-8 kW, and 4kW continuous, which should not be to hard, its all about the right FETs and PDB layout (I've seen some utterly vile layouts of MOSFET arrays).

I've broken it into 5 pieces
1: FET bridge consisting of 6 FETs and 6 diodes
2: FET driver probably using LT4444s
3: PIC 24F series micro controller to control everything
4: Internal power supply for 12V and other logic rails
5: misc input signal processing and protection circuitry

I plan on using the IRFS3006-7PPBF MOSFETs as they are rated to 60V (I can protect them with a TVS), and some nice high recovery speed diodes for the bridge. A lot of people seem enamored with the IRF 4110 and similar FETs, why is this? Is it becuse people like the TO-220 package for easy heat sink mounting? I'm a fan of surface mount parts because you get more flexibility in layout and can use the PCB itself to help with heat issues, I'll still mount a big old copper heatsink on it.

For drivers I'm divided and would like some input, I like the LTC4444 because it is well documented and has a spice model that I trust, but there are other options out there that can outperform it, such as the FAN7390M, which has little to no documentation which makes me more nervous about it.

I am curious about the PWM frequencies that people are using for BLDC motors, I plan on using something around 80KHz, low for a switcher, but above the range of human hearing, the lower you go the less loss you have due to switching times, and less need for a massive driver, and I've noticed that some controllers use 18 FET arrays (3 parallel), which seems to indicate a low PWM frequency. I have developed an excel table for comparing FET efficiencies, I wouldn't use it for accurate power loss estimates, but for rough numbers, and to compare FETs in "all else being equal" situations, and also to see which parameters have a bigger effect on efficiency. Paralleling FETs halves the on resistance but doubles the gate capacitance, a trade off that may or may not work in my favor depending on several things mentioned earlier.

I don't plan on selling my design, just using it and giving the design files to anyone who wants them.
 

Attachments

  • newer fet eff.xls
    20.5 KB · Views: 567
This is a good idea. Some thoughts/questions/suggestions:

My gut feeling is that surface mount FETs don't offer the same thermal performance as through hole equivalents. I also think the highest performance FETs are made in TO220/TO247 or similar packages. IRFx4110 can alone handle >10kW in an ideal situation. It is also quite cheap.

C compilers from Microchip are not free. PICs are therefore not the best choice for open source projects, in my opinion. avr-gcc is free. There are a few application notes on sensorless brushless controllers on Atmels website. I don't know if ATmega performance is as good as PIC24 though.

My understanding is that 80 kHz is very high for high power switching. 20 kHz is enough to make it silent. IGBT motor drives usually use only a few kHz (because of the Miller effect). I think RC brushless (MOSFET) controllers usually use 16 kHz to 32 kHz. I've been simulating bridges with parallelled IRFB4110. Switching losses are dominant even at 20kHz with 10 ohm gate resistors.
 
Hello,

I've been doing some searching for (open source) controllers, more out of curiosity than necessity at the moment. And I really didn't come up with too many hits for good plans. I hope to do a hub high power bike/motorcycle at some point with clean powerplant. Its currently conceptual drafting and stuff. So this will be cool to follow and learn something from.

Couple questions and suggestions. Is it worth the time putting one together from a kit or parts list versus a finished product with support? And why.

If its open, is it possible to maybe make this... open to a variety of voltages and amperages? Like perhaps some of the following ideas.

A separate circuit board/housing for just the chip. (I'm trying to think back to why I thought this was such a good idea earlier.)
Scalable FET and capacitor so user adds only the amount needed for specific voltage, can add more if upgrades battery. Is there some way to configure the board to have room for expansion or use jumpers or something if the full capacity isn't needed?

I don't know maybe we can come up with a list of specs and features. I was hoping for 120+ volt 100 amp.

I like the dc-dc converter built in. Makes me think maybe that could integrate horn, turn signals and such into the chip section of the controller, multiple tentacled brain box :p

Can a charger be integrated into a motor controller? After all it takes from the batteries. What I mean is can a charger utilize some of the components that take from the battery instead of just packaging a charger in the same housing.

Sorry If this is lame, just thought if the work was being done on a DIY controller for electric bikes that perhaps it should be flexible for a wide range of riding style. Fast start high energy zoomers, to soft granny trike low voltage. I'm learning so bear with me.

jsplifer
 
Actually, modular system integration is an important foundation for good design scalability. I like having separate boards where it is cheep to do so, but by open source I mean I'll share all my files and schematics and any app notes I write. I think if you design it right it should be fairly simple to change just a few parts to change the ratings. It is not a good idea to design for 100V and then use it for a 50V system, because the higher voltage designs will be a bit less efficient (this is why modern CPUs have 1.8V supplies).

Having more than one board is nice, but also more expensive for an at home build, each 4-layer PCB is $66 from 4pcb.com. I plan on spending lots of time on schematic and concept before going into layout because I want to have all the information I can before I start that stage, layout can make or break a design and having 12 FETs all in a straight line is a pour layout for a bridge.

I want to use the LT3810 to make a 240W buck converter that can take in 36V - 72V battery voltages, this is doable and the chip is very well documented, LT even has a demo board and component placement info for their demo board, this would make things easy since if I want to redesign later on for 72V I don't have to tweak this piece, and the remaining rails can be created from the 12V or battery voltage.

There is a student version of the PIC C compiler that is free, but I could use the Atmel parts as well, that is what I used in my undergrad (EE).

20K PWM eh? This makes things easier, since at lower frequencies RDSON is a more dominant factor, and from the searches I've done on Digi-Key the surface mount FETs are the best for specs. Also surface mount FETs have great thermal characteristics becuase you lay out the PCB with a large copper plane connected to the exposed pad of the FET, this allows the board itself to help the FET dissapate heat in addition to a heatsink mounted on the other side. My plan with the layout is to create and array of FETs on the bottom of the board and use plated holes with nut and bolt screw terminals (bolt heads soldered onto the exposed copper on the bottom of the PCB. This way a heatsink is on the bottom of the PCB giving the FETs lots of heat dissipation area and the bolts stick up the top and allow for any size wire to be bolted in without having to re solder all the time.

Thinking about it, if I wanted to partition the design into "multiple PCBs" I could design for a split where the micro controller and its stuff is one one board and only digital signals go from board to board. This can be done, but I like to keep things one one PCB myself as it improves signal integrity. I've noticed a lot of people seem to be using 1 or 2 layer PCBs for their controllers, is there a reason for this? I prefer to use 4 layers, where one internal is for ground, a plane that joins to the battery minus terminal would be the best way of doing this, it can be split between digital and analog if done very carefully, otherwise extensive filtering of power lines is needed, which is easier to do. The other internal layer is good for more power planes and internal routing. One other good thing about surface mount is lower contact resistance from pin to power plane, if I were to use a through hole part I would have to use 2 layers to be happy about contact area.
 

Attachments

  • Drawing1.jpg
    62.4 KB · Views: 2,493
  • bridge.JPG
    bridge.JPG
    3.3 KB · Views: 7,767
Hi PhoenixOSU,

First off, I wish you luck on your controller. I've been working on my own BLDC controller for some time now myself, check out this thread if you are curious to see some of my old designs: New in town - Some of my 3 phase brushless experiments (not updated for some time now... :| ). ES member DirtyD also started designing one but I think he gave up after blowing a number of FETs and jumping up and down on his circuit board!

As for using the IR3006-7 surface mount Dpack, it's true it has superior Rds to the TO-220 version by about a half milli-ohm because of the number of source legs + extra bonding wires. But if you do mount it on your PCB you may have trouble sucking the heat out of it fast enough at these power levels. A good part though, much better indeed than the 4110 at lower voltages (60V rated, but at 20oC it can take 65V). Try to avoid having to use TVS to protect your FETs (use good layout instead, and don't switch faster than it will allow you to without excessive Vds ringing). Remember that motherboards are different from ebikes, as switching losses dominate strongly in MB's, but much less so in ebike apps at 10-20kHz. BTW, your 80/45ns rise fall tiumes in your excel sheet might be a bit optimistic unless extreme care is taken in the layout (which is sometimes hard to combine with good cooling).

And why use a 2 layer PCB instead of a 4 layer? Cost, and maybe also the fact that home made PCB's are limited to two layers (with the toner resist method). Ebike designs aren't usually complex enough to justify a 4 layer PCB, IMHO.

There are many basic reference designs for BLDC controllers,specially the hall based ones. Microchip offers a number of good ones, and infinion also has some good stuff.

Good luck!
Pat
 
The reason IRFB4110s are popular is because we are modifying existing controllers that are made with TO-220 devices. If you are starting from scratch, you don't have this constraint.

All the high performance RC controllers use surface mount transistors. Lots of them in parallel. If you have a low enough combined Rds, there isn't much heat to get rid of.

There may be a clever way to have a bunch of thermal vias under the FETs and mount a heat sink straight to the bottom of the board with an insulator.

As far as switching frequency goes, keep in mind that our inductor in this case is a motor winding, not some ferrite core optimized to be an inductor thing. Due to the iron laminations in the motor core, you don't want the switching frequency to be too high as you will start heating up the motor with hysteresis losses in the core. Depending on the motor, you should probably keep it just barely above the audible range, like 22khz. A motor with very few turns and low inductance may need a higher frequency.
 
If the surface mount FETs are the highest profile part on their side of the PCB then I can mount a large copper heatsink to them, add some bolt holes around the PCB to hold the heatsink to them, and use AS5 as a thermal conduction medium to it. This is how the old "slot" processors like some Pentium 3s would mount their heatsinks. I also plan on sanding down the surfaces of both to a smoother finish for better thermal conductivity. The other side of the PCB is probably not the best place for a heatsink since this means a larger amount of the heat has to pass through it, and potentially to other components.

I personally Like 4-layer PCBs as it gives freedom to have a ground plane inside, and allows me to place the FET drivers directly under (over) the FETs and reduce trace length (also makes the design symmetrical to a greater degree). The internal ground plane can protect to some degree the driver chip from the EMI of the FETs. If I want to add things like the 12 dc-dc for lights, more signal parts, etc then 4 layers can be helpful and at $66 its not going to break the bank either.

I like going at lower frequencies, if this works well then it means I don't need as powerful of a driver as before and may be able to parallel my FETs, one option would be to layout for parallel FETs each with their own driver and populate just one side on each, if heat is an issue I can add the 2nd set.

There are a few ad hoc ways of de-soldering surface mount parts easily, but they are also a bit messy. You can use a toaster oven and set the board upside down so the parts fall off (very messy), or get a heat gun and aim it at the part. I have taken SMT power FETs off of PCBs with just a normal Weller soldering iron at something like 750 degrees, it was a pain but not impossible.

Right now I'm mostly agonizing over getting the right driver circuit, There are about 3 or 4 good half bridge drivers out there and only 2 external components that I need to select and am not totaly sure of yet. The boost capacitor and the FET gate resistor need to be specified still. What gate drive currents are other designs using and what seems like a reasonable bet for gate current with the FETs i've decided to go with?

edit: does anyone have a link to a BLDC reference design schematic in PDF or related material? I have one for an implementation using an igloo FPGA but thats about it for decent reference material.
 
Here are two schematics for the bridge and bridge driver setups. I still need to spec the diode and capacitor for the boost supply to the upper FETs, any help on this would be appreciated.
 

Attachments

  • driver.jpg
    driver.jpg
    14.9 KB · Views: 7,653
Here is my bridge layout concept using surface mount FETs, I will populate half of them for a 6 FET run and later can add the other 6 if I need to. The holes are for bolt connections to the motor and battery wires, which will be crimped with compatible ends.
 

Attachments

  • bridge layout.JPG
    bridge layout.JPG
    35.8 KB · Views: 7,575
What's the purpose of the diodes?
They seem to be standard silicon ones, so their forward voltage drop will probably be higher than Vf of the body diode of the FETs. Neither do they seem to have a low reverse recovery charge, which i thought was the purpose before I looked in the datasheet.

I think schottky diodes are more appropriate because of their low reverse recovery charge and low forward voltage drop.
 
For your bootstrap cap selection, you might want to go with MLCC's. They are cheap, have excellent high frequency response, and very low ESR. Just make sure you get X7R or similar dialectric, and choose a working voltage higher than what you want and/or a higher capacity than you want. I say this because their capacity drops with DC bias, loosing around 70% of their rated capacity when operated at their maximum rated voltage.
 
On the old Crystalyte controllers, the bootstrap capacitor is a 22uf aluminum electrolytic. If you use a MLCC for the bootstrap cap, you might get away with 10uf.
The bootstrap diode can be about anything since it doesn't have to take a lot of current. I'd suggest something with at least a 1 amp rating though.
The MOSFETs have a built in diode that most commercial controllers utilize instead of adding an external one. I'm not sure how much adding another one will help, but it won't hurt.
 
fechter said:
On the old Crystalyte controllers, the bootstrap capacitor is a 22uf aluminum electrolytic. If you use a MLCC for the bootstrap cap, you might get away with 10uf.
The bootstrap diode can be about anything since it doesn't have to take a lot of current. I'd suggest something with at least a 1 amp rating though.
The MOSFETs have a built in diode that most commercial controllers utilize instead of adding an external one. I'm not sure how much adding another one will help, but it won't hurt.
Using electrolytics as boot straps is a pretty bad choice, since they have very high ESR at high frequecies (lots of inductance), plus have pretty high leakage currents usually, which can be a problem under full-throttle situations. In this situation, the bootstrap cap has to sustain the FET's gate voltage for a relatively long time, making bootstrap cap leakage a possible issue. I am currently using a 2.2uF 16V MLCC on my own controller. You might use a 25V one instead which will effectively give you more usable uF's, or stay at 16V and get a higher uF value. One important thing about these is also their size, because even millimeters are a nuissance when you're aiming for high speed switching.

For the bootstrap diode, leakage can be an issue (same as for the cap above), and also the switching time is to be checked. At low duty cycles, an overly slow diode might not let your bootstrap cap charge up enough. As Fechter suggests, a 1A one would be ample for a fairly large bootstrap cap value, but you might get away with less. I use a 300mA one without it heating up much.
 
Good point on the Vf of those bridge diodes, I've selected newer ones based on the MOSFET diode characteristics. I want to try to use an external diode becasue the internal one isn't always reliable, its not actually a diode but a property of the MOSFET having n-type and p-type semiconductor interfaces within its internal structure, and a "diode" exists at this interface. IRF might be putting in a secondary diode on their package, which would not be a bad idea for a power FET, and I would like this, but I haven't checked if that is what they did or not.

For a bootstrap cap, would a low ESR 47uF tantalum (35V) work? I have a whole bag of 100 of them that a company converting to RoHS threw out.
 
Another disadvantage of the internal diode is the high reverse recovery charge. If dV/dt of the turnon is high then there will be a high current spike at turnon when the reverse recovery charge is discharged, (The spike may be hundreds of amps.) The FET:s will take the spike, but the current will ring in stray inductances. If using low Vf schottky's the internal diode may not start to conduct, so there will be no reverse recovery charge to remove.
 
The schotky would need to be able to handle a fair chunk of current, and while I've found diodes that work great, they tend not to have very high average rectified current numbers.

On my IRF 4010 FETs the diode Vf is 1.3V according to the datasheet, so anything at about 1V or less Vf should keep the internal diode turned off.

This diode looks good for it
ES3D-13-F
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=ES3D-FDICT-ND

There may be some other ways to dampen the ringing caused by turn on/off a bit more. I may have to do some more research on this....

I am slightly concearned about ringing of the FET gates during turn on/off, but I think a small gate resistor of 1-4 Ohm should keep them quiet, I did the math and simulation and it killed all oscillations in the worst case situation I could simulate without going for the impossible 100A driver.
 
I think what needs to be compared is the FET Vsd graoh to the diode Vf graph.

http://www.irf.com/product-info/datasheets/data/irfs4010-7ppbf.pdf
Fig. 7

http://www.diodes.com/datasheets/ds14003.pdf
Fig. 2

The diode got a Vf of 1V @ 10A, 25°C while the FET got a Vsd of 0.65V @ 10A, 25°C.

The low Vsd @ high current is hard to match. I've been comparing to some MBR-schottkys. The schottkys have lower Vf at small currents, but the FET Vsd is lower at high currents.
 
This seems to show that the FET diode voltage goes up as current thorugh it (reverse drain current) goes up, it is about .5V normally, so I should go for a .5V or less schottky then....

UPS3100E3 seems to fit the bill, but it has a nasty 200uA reverse leakage.
 
Schottkys with higher reverse breakdown voltage got lower leakage, but they probably also got higher Vf.
Also, the schottkys must have a higher reverse breakdown voltage than the FETs, otherwise they will conduct inductive voltage spikes instead of the FETs.
 
Ok, I've been taking the time to re read this thread a bit to understand what you are saying about bridge diode selection.

1. They aren't "necessary" but helpful to remove ringing.

2. They should have a higher reverse breakdown voltage than the max VDS of the FETs, this isn't hard to achieve, 200Vr diodes are common.

3. They should be fast, as the point is to conduct the spike current from turnon and turnoff.

4. They should have a lower forward voltage than the FETs, this way they conduct before the FETs

Correct me if I'm wrong on any of these points.

Shouldn't they be set up with lower Vf than the FETs as low currents especially, so they remove the ringing, but don't try to absorb the full punch and blow out?

And lastly, should there be one diode per phase or one per FET?
 
This might be interesting. Click on "Basics -> PWM" then scroll down a bit to synchronous rectification. Using this scheme, there is no need for fancy low drop diodes.

http://rmmx.gmxhome.de/bldchv/english/start.html
 
Yes there is, because there has to be a deadtime between turning on the upper part off the bridge to turning on the lower part and vice versa. In that time the freewheeling diodes will start to conduct. If those diodes are slow to turn off, like the built in ones, there will be a current spike when the FET turns on. (If I'm not mistaken.)
 
Here are my schematics thus far. Not totally complete, but getting there.

Any comments welcome.
 

Attachments

  • Batt_Input.pdf
    71.5 KB · Views: 376
  • Conn.pdf
    69.7 KB · Views: 283
  • FET_Bridge.pdf
    217.7 KB · Views: 412
  • Phase_Current.pdf
    78.9 KB · Views: 335
  • Signal_Input.pdf
    73.3 KB · Views: 301
  • Controller.pdf
    122.3 KB · Views: 445
bearing said:
Yes there is, because there has to be a deadtime between turning on the upper part off the bridge to turning on the lower part and vice versa.

I'll have to look into that :)


Phoenix, I believe you only need 2 current sensors on the phases. Just do a little math to figure out the remaining phase wire current.
 
Back
Top