An economical Hi Amp DIY BLDC controller

oldswamm

100 W
Joined
Aug 21, 2010
Messages
169
Location
Bethel, Alaska
<edit of 2/2, changed drawings><and again on 2/6 and 2/8>
<edited Jan 31 2011> (First post after 'completing' hardware design. Any suggestions would still be easy to implement.)
<edit of 2/8/11> General description.
It's a 3 board stack. The bottom board is the MPU. The next board up is the driver board, and also contains the high voltage to driver voltage (12-15) regulator, which can also supply nearly 5A externally for lights and other circuitry, such as the handlebar unit. The top board is designated the FET board. It contains all the high current parts. FETs, low esr caps, current shunt(s). The largish heatsinks in the sketch should only be needed for sustained high current use (up mountains at full throttle, or pulling trucks?) :) Sketch:
DIY controller.jpg
Designed so anyone who can successfully build a kit should be able to assemble a kit based on these boards if they read and follow directions (all semi conductors through hole, and SMT are relatively large.)

Hi,

In this design, the FET board is for hi current, period. I assumed from the start that copper wire would have to be soldered to the board to carry the current! (A 6oz trace would have to be 1.5" wide to carry the current I'm hoping for). The driver board will have the high voltage to 12-15v regulator, as well as provision for a very wide variety of drive currents to suit any applicable FET. All along I’ve been trying to design a set of boards that could be built into a WIDE variety of controllers. Versatility is the second objective after ease of assembly.

I’ve decided on the Microchip dsPIC30f4011. Why? It’s the most powerful through hole processor I could find with a minimal motor controller. The 40 pin version because the 28 pin simply doesn’t have enough in/out (they use 8 of the 28 for pwr/gnd). 30 mips. 24 bit program, 16 bit data. One cycle 16bit mem to 40 bit accumulator multiply (using 2 data busses), with provision for a barrel roll, and ‘programmable’ rounding to a 16 bit register. 4 parallel sample and holds with 1mhz ADC. It can monitor phase current at 120khz and phase voltage at 200khz, at the same time. Can do 80khz PWM at 8 bit resolution. It might not be fast enough for SOME motors, but FEW would need a faster processor.
There IS a free c compiler. Look for ‘student edition’. I’m still a student?! Really 60 day ‘shareware’. After 60 days you lose use of 3 modules. I think the linker, simulator, and one other, but not the compiler.

In an effort to maximize current capability, the drain leads are cut flush with the transistor case, and all drain current flows through the ‘tab’/heat spreader. The wide part of the Source lead is installed solid to the copper trace as suggested by lfp, and there is provision for copper wire soldered directly to them and the trace. I’m assuming, at least for high current, that the high side batt lead, and phase leads would be connected to the appropriate heat spreaders rather than the circuit board. Any heat produced at the connections would then pass directly to the heat spreaders rather than the pc board. The gate lead passes right on through to the driver board. I’m told this can’t be done, but not why not…. I see lots of designs that have longer traces than that extra 12mm of gate lead (which in my builds, will have a ferrite bead, thanks, lfp).

Anyway, here’s my latest. Drawn with FreePCB. I fought with killyourselfCAD for 2 days, then downloaded FreePCB, and had a drawing in a few hours.
The copper, top and bottom, for all 3 boards, and the FET board, with and without soldermask cutouts and silk screen. The copper graphics are 5% resized from the output of GerbMagic, and the ones with the SM cutouts and SS are screen captures from the same program.
MPU top.jpg
MPU bottom.jpg
Driver top.jpg
Driver bottom.jpg
FET top.jpg
View attachment 7
FET bottom.jpg
FET bottom with SM and SS.jpg
There is a ‘buss bar’ of up to 1/16 X 5/8” copper soldered from the first current sensor ‘output’ to the ‘input’ side of the other 2 phase sensors. The (12ga?) wire that wraps around the 8ga negative battery lead, is soldered to both sides of the current sensor, then can be bent up to form a short 1/4” to 5/8" loop, which can then be soldered to the ‘buss bar’, for a potentially higher hardware current limit. There is provision for a wire soldered to both low side source leads of each pair, and to the ‘buss bar’ for phase U, and directly to the current sensor outputs, for V & W. For higher currents, shunts across the Hall sensors for phases V & W could be soldered to the ‘buss bar’ and to the junction of the current sensors and the wires mentioned in the last line. I hope I described it adequately, but it would make for very low board impeadence/heating. If set up for 400A, with the first shunted for 800A, the resistances would be 25uOhm for the first and 50uOhm for the other two.

When I first decided to go with HALL current sensors, I was thinking 1, OR 2, with jumpers in the unused positions. Then after reading Ricky’s controller thread (which I didn’t find till he moved it), I realized there might be an advantage if the first could be left in and used primarily for the hardware over current shutdown in a high amp version. It could be shunted for 600+ amps while leaving the other 2 at ‘only’ 400 for more precise phase current measurement. I should mention that I intend to solder wires (twisted) to the HALL sensors, with connectors that connect to the MPU board, keeping signals off the high current board.

Note provision for heavy wire buildup from the high side sources to the area of the board in contact with the low side heat spreaders in the view with the solder mask cutouts, that carry the phase current.

There are up to seven .62” electrolytic, and provision for as many as 14 MLCC of different sizes (yea, I went a little wild, but for 400A+, they’re good to have).

This is a schematic of the driver/fet stage. Variety of options, hence the doted lines. I provided for a second cheap optoisolated driver to be used as a one part optoisolator, for use with non isolated high side drivers. Would seldom be used, and only by people who aren’t going to worry about the extra $6 or $8…… The bootstrap diode coincides with the DC-DC converter on the board, for ‘either/or’.
Driver.jpg

The phase voltage/zero crossing detector schematic… Comments? Can be configured with comparators, or with op amps to ADC in. Also a sketch of how the delta/wye sense resistors might be arranged on the MPU board. (FreePCB wouldn’t let me use angles other than 90 degrees, so I couldn’t arrange the resistor in delta/wye like shown) :(
Phase voltage input.jpg

I can’t find a HI voltage switch mode regulator, let alone through hole and rated for below freezing. The circuit with the 8v zener would provide startup current to the processor, and would effectively shut off after startup. Once the processor is up, it can control preregulation to the LM317 using a spare PWM output and an ADC input. Wouldn’t have to be very accurate, so wouldn’t require any critical processor time. The driver would be the same as others used on the board to avoid confusion. Quiescent current consumption could be reduced with a reduction In available voltage range, by choosing different resistors. Also provision for connection to the serial in/out, so it can be turned on remotely (the PWM would be stopped to shut off). With a better FET, and an LM350, would be good for 5 amp, most of which could be used externally.
HV PS.jpg

All along I’ve been assuming that an ebike controller should fit in the frame, therefore I’ve tried to keep at least one dimension minimal. The FET board is 1.7” X 6.5”, so this controller, so with no finned heat sinks (just the aluminum case) could be around 50mm X 60mm X 170mm. I wanted to keep the length under 1/2 light-nanosecond, but thought it better to make it little longer rather than wider. :D

My plan is to get a home etched version made (in the next month or two), using a very basic sensored setup, THEN hope someone will want to join me and help with the software for sensorless, FOC, sine, etc. I can’t afford the $50 worth of components right now, let alone the $150 or so to have (real) boards made, but am 'working' on it (might sell an ebike if I could find someone who wants one this time of year). :|

I don’t see any reason why an ebike controller can’t be completely open source. My model is the megasquirt. Where would IT be if the SW was proprietary. In this case, different software modules could be in development by different people. If dozens (or more) people could study the source, at least SOME of the suggestions would surely be of value, so hopefully the various software modules would be more robust, and versatile, as well as being more compatible with each other as a result of the exposure. I agree that the software is more work than the hardware, and while I’m willing to donate my time, I can see where some would want compensation. Does anyone know if the paypal donation links that are associated with some freeware actually provide any income? Perhaps that would be a way to keep the SW open source and still allow you to make some money…..

I figure we could get 5 sets of boards made for around $30 per set, (1oz). If that’s upped to only qty. 15, (so each board is on a different panel), that would drop to about $25, (or $30 with 5 oz copper on the FET board, overkill in most cases (the vias are still 1oz)). If there was sufficient demand, quantity should get it under $10.

And I want to reiterate that this is supposed to be a project that anyone who has successfully assembled a kit could assemble. ALL semiconductors are through hole (believe me, that makes it MUCH harder to find components)! All resistors and caps (except electrolytic) are largish surface mount, which almost anyone should be able to handle if they can read and follow instructions.

There’s provision for measuring phase voltage and/or current, phase zero crossing for sensorless operation, a 5 or 12v bit bopped serial interface, and there’s even a CAN interface if you want it.

A couple things that are beyond this project, for me, at least at this point in time, but that I’ve been thinking about a little, (but haven’t honestly researched/studied very thoroughly).

Variable timing. If we program each of 3 16 bit timers to drive the commutation instead of the usual input, and instead use the ‘normal’ input to start the timers wouldn’t that take care of the time critical part? Then the actual time programmed into the timers could be set with a relatively low priority main loop subroutine. Changing motor speed should be easy to deal with. The delay (360e-revolution, less the advance) could be interpolated from a table to save time. Said table could be manually programmed, and/or the result of a ‘learning’ routine.

Sine wave (or other shapes such as the so called trapezoid). Why can’t this also be table driven? Said table adjusted according to feedback from the phase current and/or voltage sensors

Slightly off subject:
I intend to also design a matching set of boards, all for serial com. The bike’s wiring harness will consist of Batt minus (ground?), the serial line, batt+ and/or 12V (no need for HV at the handlebars if 12V is available).

While the controllers will be designed so they can interface directly with the controls (throttle etc.), I personally don’t plan on using them that way (perhaps set up so I could do a ‘hot wire’ if one controller survives a mishap..) I expect to have 2 controllers (2 motors), a combination display/control interface (handlebar mounted), multiple lighting controllers, and interfaces to the BMS and charger, at the minimum, all interconnected via the serial interface. I would also like to design my own boards to control servos, connected to derailleurs (more radicalism, I want a ‘jack shaft’ with a third derailleur, for greater range of speeds, one ‘shift’ button, (the controller knows which way)). I would ALSO like electromagnetic brakes controlled in conjunction with the regen. My point with the last 2, is that I would like the system to be easily expandable, through the serial interface, for yet undreamed of uses. The serial interface also allows far more than the standard '3 way' switches, by far. I intend to have multiple 'user modes', such as youth, road legal, off road, AND multiple '1wd/2wd modes', as well as a standard '3way' control available in each mode.

I might dedicate a unit to traction control, rather than impose it on the handlebar or a controller processor. Would receive throttle info etc, from the HB unit, and based on wheel rpm/wheel acceleration/g force?/tilt?/tip?/steering angle?/??, decide what throttle info to send to each controller. Would be tiny, so could be connected/mounted anywhere. With electronic brake control, would also provide anti skid.

For the display, I intend to use the DE-DP14112 from Sure Electronics, or some similar multicolor LED display. Large (5”X2.5” display area) (almost too large, but would be readable riding snogo trails in the snow or rain), Bright (for day/night/adverse weather), and will work in the cold (I want everything to be rated for -40, but at least it should work below -20F). I am willing to put up with the low resolution of 32X16 dots, but the HB unit should also be designed to work with a variety of LCD displays, alphanumeric or graphic.

Since the lights on/off/hi, turn signals, 3way, cruise button, throttle, brake, etc. are just inputs to the handlebar processor, they could easily be used to navigate through menus, for field parameter programming, without an extra keyboard (your setup would depend on what controls you actually have, obviously, but could get by with throttle (up), brake (dn), and the display mode button (select).

For the BMS, I think I’m inclined to use a low current shunt during charge type balancer, with a microprocessor monitoring them and controlling charge current. If this setup costs significant charging time (while balancing), then you should cure the problem. IOW, if there is a regular imbalance, it indicates a weak (or leaky) cell, and your battery capacity will be limited to that of the weak cell anyway.

I suppose I could give a brief description of the ebike I’m planning for next summer. Frame welded mostly from heavy (cheap) bicycle frames. Homemade swingarm (I’m thinking of using Heim joints for the pivot points). Good dbl air shock (I would also like an overload arrangement for cargo or a passenger). 2WD designed for ‘all conditions'. The front motor will tentatively be a 9C laced to a motorcycle front wheel, probably 21", and will be mounted in a light, air over, dampened motorcycle front end. The rear motor would be an x5 or 9c, laced to a fairly wide 17" MC wheel (I'm looking at the new Crystalyte motors). I'm thinking of using a second front crank with the cranks cut off/removed, as a jack shaft. 18 evenly spaced gears. Gives me the ability to pedal from under 5mph (think about a 100# bike with dead batteries), all the way to 38mph+, at a cadence of 60rpm, and almost exactly the same cadence change for each shift

I want to be able to ride snogo trails, summer and winter. . Anti spin will be a high priority. I want to be able to load it in a boat and take it anywhere (boats, airplanes, and snogos are the only way in or out of town). Could hang both hind quarters of a moose across the top tube, and walk along with the left hand on the seat and the right on the throttle, Ho Chi Mien trail style (If you've ever had to carry a moose a mile, you would understand). I've also decided a sound system is necessity. When riding a MC or snogo, or even walking, bear will hear you coming, and will hide (and hide her cubs), but I fear I would be in danger of riding up on them on an ebike.

Well, I probably covered about half of what I’ve thought about posting here over the last 2 months, enough for now.
Bob


From the original post:
To begin with, let me make it clear that I'm not claiming expertise in controller design. Virtually everything I know about BLDC motors and controllers I've learned in the last couple months on ES.
Also, I sometimes make statements when I should be asking questions, so consider apparent 'statements of fact' to be opinions or better yet, questions.
Anything I publish here will be true open source, and anyone who contributes to this thread should consider their contributions to be in the public domain. What I mean by 'open source', is that you, or anyone else can use this design, or any portion of it in any way. They can build it, change it, even sell it, about the only thing you can't do is copyright or patent it, unless of course you can show prior usage, and/or....

As this evolves I will come back and edit this post, so this SHOULD contain current info.
All that said, with help, I think I/we can design an inexpensive controller that anyone who can assemble an electronics kit could build. I think we can buy all the parts for a basic 100A+ controller for less than $50, not counting the boards, which only 'cost' pennies if you make them.

In keeping with the DIY theme, the ICs and transistors should all be through hole. I have access to an SMT rework station, and SMT would make the driver board so much easier, but I really think there’s a ‘market’ for a simple DIY controller project.
I do use some ‘larger’ surface mount resistors, capacitors, and maybe diodes, but nothing any skilled electronics hobbyist couldn’t handle safely (safe to the parts that is).

I see this project as much more do it yourself than BBC or Alan's 'commuter controller', as well as wanting it to be potentially ready to PUSH THE LIMITS of a '3 legged' fet design. It could be expanded to 12 fets, but I think trying to find a single fet that will do the job is really the way to go.
(edit 1/31/11) Can't find the FETs I want for a 300A+ 6 fet, so expanded to a 12 fet design.)

If we used DS1822 type temp sensors, as an option, we could use as many as we want, and it would only cost us 1 cpu pin. Epoxy them to the fets, the heat spreaders, the heat sinks, the pc board, the caps, etc., especially for the prototype stage, (with some minimal logging of course). Know just what was getting hot just before the smoke came out.


Yet another thought. This could be used to control up to 3 dc motors with no hardware mods couldn’t it? Maybe replace one fet with a diode . Or 2 motors with one reversible. Not a comment on this one either?

Thanks for looking, and for reading through my ramblings!
Let me know if you think this is worth pursuing. And by all means point out my mistakes and misconceptions. (Did you notice I managed not to use the word cheap?)
Bob
 
Bravo, Bob!

By complete coincidence, I'm working on something similar and also fully intend to make it fully open source.

My spec is 100A, 100V, and capable of being built by a novice. I've opted not to use a micro controller, primarily to open the design up to those who don't wish to get involved with programming etc.

I think the design point you've chosen is pretty close to being optimal for most high-power users at the moment, and the 6 FET design is probably a very sensible way to go.

I won't mess up your thread, but will post details of my own spin on this approach in a few days, once I've done some testing.

Jeremy
 
Thanks Jeremy!
I can't imagine your comments 'messing up' the thread. Any and all would be MOST welcome and encouraged, but of course I can wait a few days as well.
Bob
 
I would look a lot more closely at the AVR chips instead of the PICs. They have MUCH better compiler/development support and performance than the PIC chips (i.e. they don't divide the clock by 4 before executing instructions and don't have a bank switched memory architecture that was obsolete 50 years ago).

Look at Shane Colton's work for ideas on FET drivers and shoot-through protection. Good, reliable high-side drive boils down to isolated high-side gate drive power supplies powering good gate drive chips. I abhor those integrated high-side gate driver chips... but you might just be able to get them to work.

I think you can get capacitor isolation of the high-side gate driver to work, but opto is certainly a very good choice. You need to design shoot-through protection into the FET driver inputs, no matter what you do.

I don't think doing it without a micro is a good idea. Once it has been developed, a micro is just another part that can be bought and soldered down (or stuck in a socket). There is no need for the average builder to have to program it or mess with the code. Those that can code, can have endless fun finding new and improved ways of generating MOSFET plasmas. :twisted:
 
texaspyro said:
Good, reliable high-side drive boils down to isolated high-side gate drive power supplies powering good gate drive chips. I abhor those integrated high-side gate driver chips...

Amen.
 
Since Shane Colton's name has been brought up, his thesis is available and has a great deal of information in it. I was particularily appreciative that he did implement sine commutation. His email said 'you cannot believe how quiet the motor runs and how cogging is minimized'. Of course, this is somewhat motor design dependent (he designed his own axial flux motor), and not the subject of this discussion. My earlier point was that the current micros that do BLDC are not necessarily the best part if sine commutation is going to be implemented. Again, read Shanes thesis to better understand why. All in all, I support your approach for multiple PCBs with segmented functionality. I am more interested in seeing the schematic of the FETs and associated driver circuitry. I would want to make my own decision as to the micro I use. I have spent more than 15 years with PIC parts and, yes, I have been disappointed at times, but, overall I would not complain. Of course, I prefer to use assembly coding anyway. I am encouraged by all of this discussion regarding controller designs. Good luck with this project.
Kenkad
 
<edit> Guess I'm a little blunt, sorry, but but it's true.

I know I don't know s**t about controller design. If this is 'MY' controller design, it wont get done.
That is especially true of the fet drivers. I thought maybe if I posted schematics that I knew wouldn't work, and asked for alternatives, maybe I could stimulate someone to correct them or post an alternative. In all this controller debate, I haven't seen a single schematic or layout drawing posted for discussion. I'm sure that everyone who's posted to this thread has a far better understanding of mosfet drivers than I do. Is there a reason why you don't want to post schematics? I would like to come up with a working design and build something! It doesn't have to be 'my' design, others could contribute. I don't honestly expect to completely understand it till after it's done (my usual learning curve).

Software. I don't have the math, nor the understanding of motor control theory to have any hope of writing it. If I 'had' to, maybe, but again, if the SW is up to me, it won't get done. If someone says 'I would like to help with the prototype software, and this is my processor of choice', good, we'll discuss it. As a mater of fact, the people who volunteer to write the software will choose the processor, not me.
I personally would rather not open this thread up to another 'which processor is better' discussion unless it's between the people who are actually going to do the programing. The processor that the people who volunteer to write the SW choose, will be FINE, and as has been said, it will be easy to use a different processor board, even a dedicated motor controller like Jeremy is thinking about.

As to my drawings, I've about decided the board should be lengthened from 4" to maybe 5-1/2 or 6", at least for a performance version. Allows better head dispersion, especially with copper heat spreaders. By using the + side copper heat spreader for the primary supply rail, that trace can be minimized, so it would be no problem to cut 1/4" off both sides of the 'standard' board, which would make the controller 1/2" narrower. (would fit my 3-3/8" heat sinks almost perfectly. :) )

Thanks for the interest and suggestions. (Still haven't found shane's thesis, MIT won't let me look, but there's a good chance it would be beyond me at this point anyway.)
Bob

Kenkad, I would think (hope) that the waveform would be programmable, at least at some point in time. Actually, when you spin the wheel, (so the controller can detect the phases), it should be able to 'see' the waveform generated, and possibly just 'copy' it, couldn't it? Wouldn't mater whether it's a sine wave or how wide or distorted the so called trapazoidal wave is. Anybody by any chance have an oscope pic of the waveform generated by an x5? (speaking of off subject).
 
Oldswamm,
I have attached the Shane Colton Thesis PDFand the link to his website is http://scolton.blogspot.com/search/label/3ph. I am not a controller designer either. Once I see a schematic, it is easier for me to understand why the particular choice of components. My discussions with Shane were because of the design of his AF PM BLDC motor. As his work demonstrated, sine commutation is not simple and can be computational intensive unless the processor has the appropriate facilities. This has nothing to do with the FET and FET driver issue. As you have suggested in separating the various functionality, that is important in the ability to use different micro architectures. That is all I was trying to point out, and, I also have no interest in arguing processor architectures or types.
Kenkad
 

Attachments

  • shanecoltonthesis.pdf
    3.6 MB · Views: 488
We have insane batteries, we have insane motors! Now we need more people understanding the controler!!
 
Kenkad, thanks a lot for the link! Looks to be written so even a college dropout could glean info from it.
Arlo, at first glance I read:
We have insane batteries, we have insane motors! Now we have insane people trying to understanding the controller!! :lol:
Don't worry, we sanity deprived are trying to understand the motor and batteries too!
Bob
 
I find it quite inspiring to flip through the documentation of Elmo Motion Control; for instance the digital Solo Whistle or Solo Guitar or the simpler analogue Ocarina. Would be nice to be able to add a higher current power stage whilst keeping all the candies which are already integrated and tools available...
 
I would like to find a driver like the HCPL-J312, only with separate outputs like the MAX4451 and it's pin equivalents, so I could control the turn on and turn off currents separately (without a diode).

My latest drawings, top side copper only this time (for some reason I can't get visio to fill with solid color :roll: :) ). Caps between the FETs, drawn 1" to allow for big ones (can be specified at construction). One on each pair, and up to 3 across the power input (cut off part of the board it one's enough. :) Board and FETs screwed to the 1/4" copper or aluminum heat spreaders. The + lead would be soldered to the high side spreader if using copper. Trying to put as much current through the tab as possible, and take as much heat from the Source lead as I can at the same time. I think the source leads should be folded against the copper to dissipate heat into it? The drain leads toward current? I would try and allow for a variety of low esr snubber/caps on the bottom of the board.
View attachment 1
The driver board is now almost full size (2"), and under the FET board component side up. Would require some careful routing (most if not all of the cpus have their motor outputs bunched anyhow), but there's plenty of real estate for the cpu, buffers, etc. What's shown (the drivers) could be shifted a bit to make room without compromising gate routing. I still think a separate driver board is the way to go unless the FET drivers are on the 4 layer FET board.



Specific questions I would like someone to answer:

Nobody likes the bootstraped high side PS. I take it that it's nothing that can be solved with voltage or better capacitors?
Suggestions for DC to DC converters that I could afford 3 of (or even 6), without eliminating the second word from the title (probably will anyway :roll: )?

What specifically are we worried about with shoot through? One shorted mosfet? A shorted driver? That the processor 'got confused' and turned on both at once? Noise causing a driver to trigger?

Don't zener diodes have a lot of capacitance? Is this something else we have to carefully specify?

Shunts? (Nobody pointed out my order of magnitude mistake on the first post) :oops: Would copper work if large enough that it didn't heat significantly (<.2mOhm)? Twisted pairs and careful op amp selection.... Wouldn't be to hard to temperature compensate with a temp sensor on or near them either.

Is this ok other than the PS?
high side drvr.jpg
<edit> Enlarged, corrected, and clarified. :) R2 would only be used if I could find an optoisolated driver with separate high and low outputs, so I could use different gate resistances on and off. <endedit>
Drawn with hcpl-j312, but could be used with an isolated version of the MAX4451, if one exists (I expect it does, and I just haven't found it.)


Is anyone interested in building this controller, or helping me with the design, or am I spinning my wheels here? I think this is a good quick way to see just what we can get out of these big mosfets, which would only benefit Alan and Kingfish's projects.
If you do want to help, or if you would like to take it over, let me know, PM or public.

I haven't found one open source controller that was designed online. Virtually all (that I found) were designed by one or two people, taking suggestions, but not showing schematics or board designs till they were complete, then releasing it to the public. Seems to me that if these things were discussed (with an end in mind), that we would come up with the better circuit and board design than just one (or two) people could.
Bob
 
oldswamm said:
Nobody likes the bootstraped high side PS. I take it that it's nothing that can be solved with voltage or better capacitors?
Suggestions for DC to DC converters that I could afford 3 of (or even 6), without eliminating the second word from the title (probably will anyway :roll: )?

I seem to be in the minority, but I think bootstrapping should be the method of choice. There's a reason that just about every driver IC has a built-in bootstrap circuit. The main problem with bootstrapping is that it can't hold the high-side on indefinitely... but in a 3-phase motor the commutation guarantees the FETs will be switching even if the throttle is pegged at 100%. There are a few other issues that can arise, but mostly in very high-current designs and they can be compensated for. In our cases a bootstrap circuit will be simpler and cheaper than isolated supplies with identical functionality. Seems like an easy choice.

oldswamm said:
What specifically are we worried about with shoot through? One shorted mosfet? A shorted driver? That the processor 'got confused' and turned on both at once? Noise causing a driver to trigger?

This is a pretty big can of worms and suitable for a thread all its' own. Some causes of shoot-thru could be noise/transients, insufficient delay for turn-on/-off, and dv/dt-induced turn-on. The first should not be a problem in a properly-designed circuit, and some half-bridge drivers protect against the 2nd. Careful design is necessary to prevent #3.

oldswamm said:
Don't zener diodes have a lot of capacitance? Is this something else we have to carefully specify?

I can't see your circuit well enough to tell where the zener is. Yes, they tend to have a fair amount of capacitance, and you generally don't want them as part of the gate drive circuit. There's not much reason they should be needed.

oldswamm said:
Shunts? (Nobody pointed out my order of magnitude mistake on the first post) :oops: Would copper work if large enough that it didn't heat significantly (<.2mOhm)? Twisted pairs and careful op amp selection.... Wouldn't be to hard to temperature compensate with a temp sensor on or near them either.

I think you should be fine using a copper section as a shunt, with an appropriate amplifier circuit. You'd need to be careful with the op-amp design since it's a noisy environment. You'd also probably need to make it possible to calibrate the shunt. I don't think it'd be very accurate with the shunt tolerance, tolerance on the amp gains, offsets, etc, but calibration isn't a big deal for a one-off custom design. You could potentially even integrate the shunt into the circuit board copper layer.
 
oldswamm said:
<snip>
Board and FETs screwed to the 1/4" copper or aluminum heat spreaders. The + lead would be soldered to the high side spreader if using copper. Trying to put as much current through the tab as possible, and take as much heat from the Source lead as I can at the same time. I think the source leads should be folded against the copper to dissipate heat into it? The drain leads toward current? I would try and allow for a variety of low esr snubber/caps on the bottom of the board.
<snip>

Bob
There's so little heat being conducted through the source lead (compared to the drain tab) that, IMHO, it's not worth the trouble of soldering the lead to the copper bar. A well flooded PCB can easily take away the small amount of heat being conducted out the source leads.
 
rhitee05 said:
I can't see your circuit well enough to tell where the zener is.
Good thing, it was in the wrong place anyway. Redrew and enlarged it. (haven't actually looked)

CamLight, you misunderstood. The source lead would be soldered to the pc copper, trying to lower its temperature. The leads seem to be the limiting factor for current in these higher amperage to264s etc., so I figure lowering the temperature of the only lead left carrying current is the next step after carrying the actual fet heat away. I referred to soldering the + battery lead to the high side copper heat spreader, which may have confused you. (I'm good at confusing people) :(
Bob
 
If the concern about boostrapping is the lack of continuous ontime for the high side FET, there are a couple of solutions. For one, the drivers usually have a sensor for drive voltage, so if it decays too far the driver will open the FET. Another is that the CPU can insure that doesn't happen in the first place with appropriate code avoiding long commutation times and even resetting with a short cycle if desired, or shutting down since the motor is apparently stalled if commutation switching time is too long. Note that if sine commutation is being done then all FETs are driven with PWM which also avoids the problem.

Choosing a chip with the right motor support hardware helps with the shoot-through by providing easily controllable delays between off/on transitions allowing the one side to turn off before the other side comes on.
 
The drivers I'm looking at do have a lo V cutoff (about 9V if I remember, to lazy to look right now) :D
They wont turn on if the voltage is below 12v or so. One of the things that caused me to re spec at 16V. Also, I've been thinking 12V was to low ever since I found out that's what the infineons ran at. I 'm sure some fets do work better at low gate voltages than others. Unless I'm mistaken, IR FETs tend to work with a lower gate voltage than the IXYS FETs. I'm half assleap, and cant think of any basis for that statement, but will look at data sheets in the morning and see...........

Yep, to the comments about code and CPU.

Bob
 
oldswamm said:
CamLight, you misunderstood. The source lead would be soldered to the pc copper, trying to lower its temperature. The leads seem to be the limiting factor for current in these higher amperage to264s etc., so I figure lowering the temperature of the only lead left carrying current is the next step after carrying the actual fet heat away. I referred to soldering the + battery lead to the high side copper heat spreader, which may have confused you. (I'm good at confusing people) :(
Bob
Ahhh...nevermind. :)
Thanks for the explanation!
 
oldswamm said:
Good thing, it was in the wrong place anyway. Redrew and enlarged it. (haven't actually looked)

Now that I can see the zener, I repeat my previous statement that it's not needed and probably would hurt the driver function more than help. Even if you use a driver with only a single output, you can just add a fast diode to get the separate rise/fall control.

Alan B said:
If the concern about boostrapping is the lack of continuous ontime for the high side FET, there are a couple of solutions.

I would argue that this scenario will never come up to begin with. The only situation that would pose an issue is at 100% throttle and with the motor completely stalled. Any controller that wants to survive more than a few seconds will implement current limiting in this situation, so the duty cycle will be (significantly) less than 100% and there's no issue. By the time you reach a speed where current is no longer being limited, the commutation rate will ensure that the FETs are being switched at a fast enough rate that there is also no issue. This problem is completely avoided without putting in any special protective measures, just by the operating conditions of the controller.

oldswamm said:
The drivers I'm looking at do have a lo V cutoff (about 9V if I remember, to lazy to look right now) :D
They wont turn on if the voltage is below 12v or so. One of the things that caused me to re spec at 16V. Also, I've been thinking 12V was to low ever since I found out that's what the infineons ran at. I 'm sure some fets do work better at low gate voltages than others. Unless I'm mistaken, IR FETs tend to work with a lower gate voltage than the IXYS FETs. I'm half assleap, and cant think of any basis for that statement, but will look at data sheets in the morning and see...........

Anything over 9-10V is fine for the gate drive, and you won't see very much benefit from going higher (except as needed to satisfy the UVLO for the drivers). The FETs are pretty well saturated at that point and don't gain very much from higher voltages. Most FETs have a max gate voltage of 20V and it's a good idea to leave a fair amount of headroom to allow for ringing on the gates. They're very sensitive to too much gate voltage and will pop if you exceed the spec even during a brief transient.
 
You've got that backwards. Block commutation is usually applied to the low-side FETs and PWM to the high-side. You can't PWM the low-side FETs due to the freewheeling currents - the FET needs to stay on to allow the currents to flow. (Other schemes are possible, but you still have to allow the free-wheeling currents to flow) The low-side can be driven indefinitely, and PWM-ing the high-side limits the on-time as I outlined earlier.
 
Good morning all.
I need to respond to some posts, and do a little editing, but I also need to take a work break, so not till evening.
I'm thinking of another general rearrangement. I want to build a hi current controller. The more current, the lower the esr needed. There's a basic trade off between v, esr, cost, and size. Keeping the cost down, and/or pushing the current limit, means big caps. The caps are drawn as 1-3/8" x 2", but you could fit 1-1/2" in.
The big change would be to move the MPU to the end.
2010-11-10_092832.jpg
I would like to see one of these built from the 350A150V or 240A200V mosfets. :twisted:
Till later,
Bob
 
Bob, You might want to take a look at this thread: http://endless-sphere.com/forums/viewtopic.php?f=30&t=22582 where LFP has been measuring the ESR of some capacitors. What was a bit surprising was that the correlation between size and ESR doesn't always hold - some of the smaller caps Luke tested were actually pretty good.

I'm building something not dissimilar to you, and have opted to use a lot of smaller caps (220uF, 100V Rubycon ZLs) distributed all over the board, which has made layout a bit more flexible. I should have a collective ESR of around 6 - 7mohm, which I'm hoping should be OK for the 100A I'm aiming for as a starting point.

Jeremy
 
rhitee05 said:
... Block commutation is usually applied to the low-side FETs and PWM to the high-side. You can't PWM the low-side FETs due to the freewheeling currents - the FET needs to stay on to allow the currents to flow. (Other schemes are possible, but you still have to allow the free-wheeling currents to flow) The low-side can be driven indefinitely, and PWM-ing the high-side limits the on-time as I outlined earlier.

PWMing should go away at full throttle. All that is left is commutation on both hi and low sides. Unless the throttle is not allowed to go 100% on.

I think the freewheeling problem is the same regardless of which side is PWM switched, and it gets handled by the inherent diode in the opposite side FET. This is also a major source of heating in the controller so it is better to use synchronous operation where the opposite side FET is actually fed complementary PWM so it uses the FET instead of the diode to shunt the freewheeling current.
 
oldswamm said:
Good morning all.
I need to respond to some posts, and do a little editing, but I also need to take a work break, so not till evening.
I'm thinking of another general rearrangement. I want to build a hi current controller. The more current, the lower the esr needed. There's a basic trade off between v, esr, cost, and size. Keeping the cost down, and/or pushing the current limit, means big caps. The caps are drawn as 1-3/8" x 2", but you could fit 1-1/2" in.
The big change would be to move the MPU to the end.

I would like to see one of these built from the 350A150V or 240A200V mosfets. :twisted:
Till later,
Bob

Very nice packaging. I wonder if the processor board has enough space for all the through hole components there.
 
Back
Top