An economical Hi Amp DIY BLDC controller

Alan B said:
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.

Not really true, I'm afraid, apart from one small condition that's rarely met in practice. The PWM duty cycle does go to 100% with the motor running under no-load, maximum rpm, conditions, but under pretty much all other load conditions full throttle doesn't give 100% duty cycle. At all other times applying full throttle won't give 100% duty cycle, as the current limit circuit will kick in to reduce the PWM to a safe limiting level.

Jeremy
 
Jeremy Harris said:
Alan B said:
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.

Not really true, I'm afraid, apart from one small condition that's rarely met in practice. The PWM duty cycle does go to 100% with the motor running under no-load, maximum rpm, conditions, but under pretty much all other load conditions full throttle doesn't give 100% duty cycle. At all other times applying full throttle won't give 100% duty cycle, as the current limit circuit will kick in to reduce the PWM to a safe limiting level.

Jeremy


For the motors we run Jeremy, that holds true. For the frock-crew with mega BEMF and crap winding resistance, I think they generally reach 100% PWM for the last 1/3rd of RPM or so if they matched the voltage/motor choice decently. The exception being the guys running the x5302's and similar, which are unlikely to ever leave PWM mode.
 
I guess so for those running very high L/R motors at very high rpm, although the L/R would have to be mighty high to limit the current adequately at the commutation frequency encountered at normal road speeds. The highest L/R motor seems to be around 2mS or so, which implies that commutation frequency alone would act as a current limit from around 500Hz or so. That's pretty fast for a hub motor I'd have thought. 20mph on a 26" wheel is around 388 rpm, so to adequately current limit at commutation frequency alone you're looking at a motor with maybe 60 to 80 pole pairs - seem high to me.

I'd have said your estimate might be off by a bit, although it may be that at fairly high speeds multi pole hub motors with a very high L/R can adequately current limit without the controller intervening.

Jeremy
 
The motor models show a kink in current where PWM stops and Back EMF / Resistance / Inductance take over. The top 1/3 of the speed range sounds about right for hub motors I've modelled.

Even if it only happened unloaded it would not be appropriate for the controller to blow up in that case, so the design must handle it in some manner.
 
Alan B said:
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.

That is not right, it does matter which FET gets the PWM signal. You can't do it the way you described previously, you must PWM the high-side and not the low-side.

If we call the FETs AH for phase A high side, AL for phase A low-side, etc. For a A-B commutation you need to apply PWM to AH and turn BL continuously on. The freewheeling current path is then from the diode in AL through BL. As you said, in many cases it's better to use synchronous rectification, in which case you would apply inverse PWM to AL, but BL must still remain on continuously.

If we do what you said, which is apply PWM to BL, this blocks the freewheeling current path and will force the motor inductance to dump its stored energy into that FET. Besides being a completely different mode of operation, this will also cause avalanche failure in very short order and that FET will pop.
 
rhitee05 said:
Alan B said:
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.
That is not right, it does matter which FET gets the PWM signal. You can't do it the way you described previously, you must PWM the high-side and not the low-side.
I think it is possible to switch the FETs as Alan suggests, which would effectively put the evil freewheeling diode current though the opposite high side FET if synch rect is not used.
 
Jeremy Harris said:
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

I am just waiting for a kit like this will be so great to learn how thing work and building pieces by pieces with instruction will be a dream came true for me
 
Don't have much time, but wanted to thank Alan and Eric for the capacitor analysis in Alan's thread, as well as ZapPat and rhitee05 on the commutation 'debate' on this one. Will await further enlightenment. I am more confident that 'enough' capacitance will fit on the board though. :)

Alan; as to board area, and I'm likely to get flamed for this, as I expect you and the other engineers who have mentioned that they are designing controllers on these threads are probably buffering all I/O.
I'm assuming a 28 pin processor, and other than the shunt buffers, I would be tempted to use nothing more than R/C filters, (which would be SMT), on various I/O. I've hooked PICs to the outside world through resistors to all sorts of things, including the 120v rms ac (for crude zero crossing detect). I would be tempted to use 3 resistors and a transistor to build the serial interface, but have to agree it SHOULD be isolated, and it wouldn't cost much board space. The hall sensors shouldn't require any special conditioning beyond an R/C filter should they? Of course the 5V regulator and associated filtering.

Jeremy, thanks for the link to LFP's new thread, they're always interesting. And of course thanks to LFP for the thread.
I I haven't found any 220uF, 100V Rubycon ZL in the US (haven't put much time into it), but I did find 20 for $10 plus $5 shipping, from Istanbul, on ebay (under about a dozen ebay names/countries). I think I would want the first batch sent to Luke for 'confirmation' of their esr.
What should they cost?
I finally found that 680uF 100V cap that I listed at the beginning of this thread. It has 27mOhm IMPEDANCE (@ 100khz), not ESR is why my subsequent searches failed.

(I'm going backwards through the thread, in case you haven't guessed.)

Alan, I would probably leave the diode on the board, in case someone thought they needed it. (Not every space will be populated, for every configuration.) Shane uses it in his controller is what caused me to think about it, and I think IR wanted one right across the gate in their early mosfet manuals (haven't seen one in 15 or 20 years).
The LVC on that IC is 12 an 13.5V. Assuming a similar part in Shane's controller, he may have felt the zener was needed because of his high gate drive voltage (I think 15v). I wouldn't think it would be necessary with a regulated supply, even as high as 16v.

I still think an economical version of this could be built for little more than $50 (75v/75a, or possibly even 100/100?)
But, what I want to see is one with copper water blocks, gold plating on the FETs, PCboard, and water blocks, (where current flows in and out of them), and air across the (4 layer) FET and driver boards. What does it take to melt that source lead's internal wire, or to melt the solder?!
Not what I meant to ask was it. :? How much current can we flow WITHOUT meltdown, if we really try and pull the heat off?

LFP mentioned a ferrite bead on the lead. At first (last week)I considered one on the gate lead between boards (for rf suppression), but decided it would fall into the same class as the zener. More questions ????

Bob
 
ZapPat said:
I think it is possible to switch the FETs as Alan suggests, which would effectively put the evil freewheeling diode current though the opposite high side FET if synch rect is not used.

Hmmm, you're right. I stand corrected - my apologies Alan. I do believe the high-side PWM method is better though, since you don't have to worry about depleting the bootstrap supply during long commutation periods.
 
rhitee05 said:
ZapPat said:
I think it is possible to switch the FETs as Alan suggests, which would effectively put the evil freewheeling diode current though the opposite high side FET if synch rect is not used.

Hmmm, you're right. I stand corrected - my apologies Alan. I do believe the high-side PWM method is better though, since you don't have to worry about depleting the bootstrap supply during long commutation periods.

No worries. Great discussion, we're all learning something and this is all is part of that. Or at least many of us are. And thanks to those contributing here who "already know it" for helping the rest of us learn. Each of us bring different skills and experience to the discussion and have different ways of looking at the same things.

One good thing about the hardware designs we are doing here is that the PWM can be on either the high side or the low side by just changing some software. Some designs don't have that flexibility. This flexibility will allow us to try things (and make them better) without re-spinning the hardware.

Hopefully the cpu chip chosen in this thread also has six PWM outputs...
 
oldswamm said:
...

Alan; as to board area, and I'm likely to get flamed for this, as I expect you and the other engineers who have mentioned that they are designing controllers on these threads are probably buffering all I/O.
I'm assuming a 28 pin processor, and other than the shunt buffers, I would be tempted to use nothing more than R/C filters, (which would be SMT), on various I/O. I've hooked PICs to the outside world through resistors to all sorts of things, including the 120v rms ac (for crude zero crossing detect). I would be tempted to use 3 resistors and a transistor to build the serial interface, but have to agree it SHOULD be isolated, and it wouldn't cost much board space. The hall sensors shouldn't require any special conditioning beyond an R/C filter should they? Of course the 5V regulator and associated filtering.

...
Bob

Not flamed by me. Design decisions are always tradeoffs and you have to make your own choices. I don't plan to buffer the CPU excessively either as component minimization is one of my goals. I do plan to use optical isolation on the serial lines but not everywhere, and resistors can be very capable protection devices if properly deployed. Part of the reason I plan optical isolation on serial lines is to protect my laptop which is a lot more valuable than the controller's micro. It just depends on the robustness we want our system to have. It makes sense to list the events the controller should be able to handle without failure and look at the design elements required to make that happen.

One of my thoughts on the hall inputs is to protect against shorting to motor windings. That will require some thought and perhaps more than just passive parts. I note here that Justin blew out two of his epoxy encapsulated custom controllers the day before his trans-Canada trip due to shorts in his Golden motor. I think motor shorts of all types are a common risk and if possible would like to protect against them. It is up to each designer what to protect against and evaluate the cost and space required to do that. In the end it is not practical to protect against everything.
 
Alan B said:
One good thing about the hardware designs we are doing here is that the PWM can be on either the high side or the low side by just changing some software. Some designs don't have that flexibility. This flexibility will allow us to try things (and make them better) without re-spinning the hardware.

Hopefully the cpu chip chosen in this thread also has six PWM outputs...

Agreed. Synchronous operation is pretty much a freebie with very little downside, and that would require all 6 PWMs.

Alan B said:
One of my thoughts on the hall inputs is to protect against shorting to motor windings. That will require some thought and perhaps more than just passive parts. I note here that Justin blew out two of his epoxy encapsulated custom controllers the day before his trans-Canada trip due to shorts in his Golden motor. I think motor shorts of all types are a common risk and if possible would like to protect against them. It is up to each designer what to protect against and evaluate the cost and space required to do that. In the end it is not practical to protect against everything.

One possible option is to put a fast analog monitoring circuit on the FET board to protect against overcurrent. By "fast" I mean substantially less than a PWM period, maybe a microsecond or two reaction time. You could either have this circuit trigger an interrupt on the MCU to cut off the drive signals, or have on-board logic to do it without involving the MCU (probably faster). I have a little schematic laying around somewhere that I drew up for this purpose, it's a pretty simple thing to do, just adds a few components. I'm not sure what else you could do to provide meaningful protection against some of those "$&@% happens" failure modes, like a shorted winding.
 
A lot of FET driver chips have a disable pin that should come in handy here. One issue is that some tri-state the drivers, you depend upon a pull-down resistor to shut off the FET. This can be a rather slow response. For those drivers, better would be hardware AND gates on the input.
 
Alan B said:
One of my thoughts on the hall inputs is to protect against shorting to motor windings. That will require some thought and perhaps more than just passive parts. I note here that Justin blew out two of his epoxy encapsulated custom controllers the day before his trans-Canada trip due to shorts in his Golden motor. I think motor shorts of all types are a common risk and if possible would like to protect against them. It is up to each designer what to protect against and evaluate the cost and space required to do that. In the end it is not practical to protect against everything.

I remember having a vague thought when I read that, that the controller should have been better protected. Do I remember it when I start trying to design one?No. Have to think about that one. I would like it to be able to use 150 or even the 200V FETs.......

The only way I've located to get low esr electrolytics above 100v is with massive uF. Anybody know of low esr 220 or 250V (ok, or 160 or 200V) electrolytics?

Thanks again,
Bob
 
rhitee05 said:
...

Alan B said:
One of my thoughts on the hall inputs is to protect against shorting to motor windings. That will require some thought and perhaps more than just passive parts. I note here that Justin blew out two of his epoxy encapsulated custom controllers the day before his trans-Canada trip due to shorts in his Golden motor. I think motor shorts of all types are a common risk and if possible would like to protect against them. It is up to each designer what to protect against and evaluate the cost and space required to do that. In the end it is not practical to protect against everything.

One possible option is to put a fast analog monitoring circuit on the FET board to protect against overcurrent. By "fast" I mean substantially less than a PWM period, maybe a microsecond or two reaction time. You could either have this circuit trigger an interrupt on the MCU to cut off the drive signals, or have on-board logic to do it without involving the MCU (probably faster). I have a little schematic laying around somewhere that I drew up for this purpose, it's a pretty simple thing to do, just adds a few components. I'm not sure what else you could do to provide meaningful protection against some of those "$&@% happens" failure modes, like a shorted winding.

The ATMega32M1 micro I've chosen has hardware onboard for exactly that. It has a comparator and a DAC to set a battery current threshold that when tripped drives some logic that places the PWM outputs into a user defined safe state without waiting for the CPU. Hardware abort. That's the advantage of using a CPU that is designed for motor control. It has the right stuff to dramatically lower the parts count and provide advanced features. I've heard there is a PIC chip that does this also.
 
Alan B said:
Hopefully the cpu chip chosen in this thread also has six PWM outputs...

Forgot to respond to this one. I don't think this controller will ever be built unless I gain a collaborator to write the firmware, in which case he/she would chose the processor. But, the motor control is why I would chose the 18f2431 from the 8 bit PICs. Motor control module with 6 PWM out with programmable dead time. Pretty much the minimum, I figure.

Saw your latest post. Microchip doesn't tell much about motor control in their selection guides anymore. Probably, (if it were up to me :) ), I would go through their ap notes starting with the latest and see what processors they mention. Otherwise you have to download the datasheet to find out whether it has a motor module.

Bob
 
Atmel has motor control application notes and they mention the chips there, also motor control development boards, see what chips those have on them if Microchip has similar offerings. Or just ask the PIC experts here. You could narrow it down to a list of chips that have the hardware you want and let the programmer pick from that. You need to have some idea how many I/O's etc you want and it needs to have.

Atmel has sample programs that you can use. So without writing any significant code you can probably get something working if your hardware is similar enough to the sample boards.
 
rhitee05 said:
You've got that backwards. Block commutation is usually applied to the low-side FETs and PWM to the high-side. ... The low-side can be driven indefinitely, and PWM-ing the high-side limits the on-time as I outlined earlier.

I was reading Atmel application notes and they recommend PWM drive to the high side, consistent with your argument. Thinking about it further, it is a bit safer since in the one problem case where at full throttle the PWM may go away the commutation is at a high rate. So as long as the high side driver has enough capacitance to bootstrap at this commutation rate this technique should be inherently safe. Additionally the software could limit the PWM to some value just under 100% and this would insure that the bootstrap capacitor would be reset at the commutation rate.
 
I edited my first post, including my latest drawings.

Someone in an earlier post said they had a circuit for shoot through detection and shutdown. Can't remember who, mentioned it, but I would love to see it. I can't get my head around how to tell a shoot through from a normal turn on, let alone quickly enough to do anything about it! :?
Probably obvious, like so many things, once I see it. (I have a hard time understanding circuitry unless I SEE it. Verbal descriptions, or even a well written theory of operation, are difficult for me without a schematic.)

Alan, I could plod along and maybe make it work, with effort, and using canned routines, but my point is that I don't want the aggravation that always goes with software development. And, it wouldn't be optimized, from anyone's point of view.
What it needs is someone who actually wants to build and program it, but that's not me, at least not this winter. I'd be glad to give all the help I could, though.

If the hardware design is worthy of further work, then surely someone would want to contribute. If not, then it should be dropped. I would like to see more specific suggested changes to the hardware, it the design is salvageable.

It JUST occurred to me that I could put 3 DC-DC converters on my board for high side power, plenty of space, just need to cut a trace if you opt to use them. Solves the problem from my point of view (hardware design). :D

Bob
 
Shoot through will get caught by the shunt overcurrent trip hardware that should be there anyway. The question is will it be fast enough!

Two things help with shoot through - using a PWM generator that is designed to prevent it (programmable dead times, etc), and using a hi/low driver that detects/prevents it. These measures prevent shoot-through from lasting too long - only the turn on/off time differences remain to overlap. The programmable dead time on the PWM generator is then dialed to prevent the overlap plus a safety margin.

I wonder if a DC-DC converter could be applied to these bootstrapped drivers? Apply the output across the bootstrap capacitor.

I don't see much need for three converters on a six FET board. Maybe when operating $200 each puck FETs, but that is another package anyway. One should suffice, with appropriate capacitors near the converter and each driver.
 
Alan B said:
I wonder if a DC-DC converter could be applied to these bootstrapped drivers? Apply the output across the bootstrap capacitor.

I don't see much need for three converters on a six FET board. Maybe when operating $200 each puck FETs, but that is another package anyway. One should suffice, with appropriate capacitors near the converter and each driver.

To the first, I'm using an external diode for the bootstrap anyway, but yes. With that type of driver it would be a backup or supplemental supply, as you couldn't remove the diode.....

I think the Idea of individual power supplies is that it can float with the driver and maintain current through the whole cycle.

Bob
 
Three independent DC-DC converters is best, but a close second is a DC-DC with a three winding output transformer. The outputs are not TOTALLY isolated from each other (you can get some back-coupling of noise on the outputs) but will work just fine.

I have used a hand wound toroid core transformer with the primary driven by a TC428 FET driver. I put a DC isolation cap on each of the driver outputs, connect the inputs together, and drive it with a 40 KHz signal. DC conversion and regulation can range from single diode/cap/zener to bridge/cap/three-terminal regulator.
 
texaspyro said:
Three independent DC-DC converters is best, but a close second is a DC-DC with a three winding output transformer. The outputs are not TOTALLY isolated from each other (you can get some back-coupling of noise on the outputs) but will work just fine.

I have used a hand wound toroid core transformer with the primary driven by a TC428 FET driver. I put a DC isolation cap on each of the driver outputs, connect the inputs together, and drive it with a 40 KHz signal. DC conversion and regulation can range from single diode/cap/zener to bridge/cap/three-terminal regulator.
Thought about that, even to the point of using whatever drivers I was using (so as not to confuse the assembler), to drive a hand wound toroid! :lol: Didn't think as far as how to TRY and isolate them, after I realized the extent of the problem. :)

I might design my driver board so they can be set up with individual DC-DC, or bootstraping, at the option of the kit assembler, choice of best or cheapest. :) That combined with separate optoisolators and the way I have it drawn now, would make it compatible with a huge selection of dip8 single drivers, FETs, and design philosophies. 1-1/2 to 13A (would have to sink heat from the big ones somehow, but for the big industrial blocks...?..).

Thanks,
Bob
Or even small ones. Does anybody know of any small block type FETs, such as SO227 or TO274?
 
It seems to me we are applying megawatt design technique to a kilowatt design. All three converters outputs will be tied to the same wideband low impedance +V rail that we're building. It would make sense if there was more inductance between the FETs, such as there might be with large pucks and longer distances between parts, but with six TO247 FETs nearly touching it is not clear that triple converters is necessary or likely to make any discernible difference in performance that we can measure.

Am I missing something here?
 
Alan B said:
It seems to me we are applying megawatt design technique to a kilowatt design. All three converters outputs will be tied to the same wideband low impedance +V rail that we're building. It would make sense if there was more inductance between the FETs, such as there might be with large pucks and longer distances between parts, but with six TO247 FETs nearly touching it is not clear that triple converters is necessary or likely to make any discernible difference in performance that we can measure.

Am I missing something here?
But the high side driver power supply is tied to the phase output, and is switching from B+ to B-. What creates the problem in the first place, and makes the bootstrap work, but makes it hard to build a power supply that isn't dependent on the caps.
 
Back
Top