Inductance What is it what does it do? Collosus has 8uH!

circuit said:
So you will have a maximum voltage difference of 25V and 31,25µs duty. Lets say winding's resistivity is 0 (usually the lower the better).
Current of and inductor is: I=V*t/L = 25*31,25µ/10µ=78,125 A.

See, this is how the china controllers work but not how you can use the 6 PWM channels of a PIC.

I made this drawing to explain what I mean .... ? I only drew 1 out of 3 motor windings and 2 of the 3 half-bridges.

 
circuit said:
Lebowski,

Here is a video on SVPWM that I filmed a while ago on my DIY BLDC controller.
http://youtu.be/aKtDlISbxlw

Yould you, please don't lecture me on SVPWM. No matter how fancy your PWM is, it is still PWM.

Oh man how much more pictures can I draw ..... :shock:

Do a search on audio class D amplifiers and Bridge Tied Load, maybe someone has explained it better than me....
 
Thanks guys.
Lebowski I am building my own controller using a microchip for this very reason. I am going so far as Learning how to build a complete controller from scratch, I am Learning the C programing language from scratch, and Learning about the C language programing with microchips, I have rewound this motor, I have purchased a second oscilloscope with 4 CH, and purchased 2 inductance meters, I also have researched the best mosfets I could find and some pretty good IGBTs.
The controllers all my testing has been with are cheep chinese controllers with NO PHASE AMP MONITERING.
Lebowski, All the research I can find on low inductance permanent magnet AC motors they still need a minimum inductance for a controller to run them, CSRIO says min 110uH a phase, The last controller I linked says min 50uH a phase. Most the other controller companies say ~100uH minimum per phase. There is a reason for this.
If you just shorten the PWM on time to keep the phase amps with in limit (higher frequency) then you have more switching losses. Why don't you tell me how much more heat and punishment the mostfets endure during switching times then the steady on-time? Remember this Colossus motor needs 31.875 x more switching events (or 31.875x higher frequency) then a controller running a X5304 hub motor . So that is a controller with 31.875 times more switching losses, One might even venture to say ~ 30 times less efficient of a controller! And more then likely 30 x more heat. And my bmx controller gets warm already!
 
Lebowski said:
circuit said:
Lebowski,

Here is a video on SVPWM that I filmed a while ago on my DIY BLDC controller.
http://youtu.be/aKtDlISbxlw

Yould you, please don't lecture me on SVPWM. No matter how fancy your PWM is, it is still PWM.

Oh man how much more pictures can I draw ..... :shock:

Do a search on audio class D amplifiers and Bridge Tied Load, maybe someone has explained it better than me....
:) hear ya go:
http://i.imgur.com/rbPUa.jpg
http://i.imgur.com/hMJFb.jpg

This is a 4.1 class-D car amplifier (120Wrms total) that I have designed some tome ago, when I was 18 years old. This also includes 400MHz DSP for audio processing.
So I do know something about class D and inductors and bridges etc.

Mine's bigger than yours. :)

Re-study everything and think again. Especially READ and watch what I've posted. The video explains it quite well. That is exactly what you are screaming about.
 
I think Lebowski is just describing a neat method of of applying very short pulses (minimum 33ns), without the need to run impossibly high pwm rates.

Because the pulses can be so short, the controller should be better able to control the current into a low inductance load.

Burtie
 
Circuit, you have some good points in your post, but some info is not correct.

circuit said:
So, current will ramp up to ±78A with no load at all

Actually, with a ripple of 78A, currents at zero load will ripple between +-39A. With Lebowskys method, the currents will be 0.
With a load of 39A it will ripple between 0 and 78A. With Lebowskys method, it will be the same, ripple between 0 and 78A. You can't change that.

circuit said:
only around 61W.
61 W is not what i would call "only" =)
That is super much heat for a TO220 to handle IMO. If it really was 61W continously it would blow up if it didn't have liquid cooling of similar to keep the chip cool.


but peak current is ±78A and this blows them up.
The ONLY solution for this is decreasing this current. You could do this either by increasing inductivity or frequency.
I think you could simply oversize the power stage. If you make a powerstage which can handle hundreds of amps continously, then a ripple of 78A is easy.

And you can't increase freaquency due to losses in motor's core.
Are you sure? this sounds like a myth to me. The losses from a big ripple with a low switching frequency is probably bigger than than a smaller ripple at a higher frequency.

I've came to conclusion that the only way to solve this problem is to design a custom controller running at like 200-300kHz and including three-phase LC filter.
Switching tens of kW at 200kHz seems very hard. Maybe with the new gallium nitride (GaN) FETs.

I'm not convinced that low inductance is a huge problem though. Motors with low inductance has it because they have few turns of thick wire. That means they are made to handle high currents. With high currents flowing, the ripple current will be relative small.
 
Burtie said:
I think Lebowski is just describing a neat method of of applying very short pulses (minimum 33ns), without the need to run impossibly high pwm frequencies.

Because the pulses can be so short, the controller should be better able to control the current into a low inductance load.

Burtie
Yeh thats what Im gathering from it. So this might help (see edit)???
EDIT: lower switching losses?
 
Alan B said:
Very interesting technique Lebowski. Similar to the technique of differential threads to get precise motion control. Not much help to those using commercial controllers though.

Correct, not much help to those wanting to stick to commercial controllers. But I know
Arlo is busy with his PIC controller project so it's something he can use to run his Colossus....
 
circuit said:
The only thing Lebowski's described method is good for, is to have a simple way of getting very narrow pulses and very low minimum rpm of the motor. Nothing else. This is nothing new, SVPWM is quite old technique.

SVPWM is nothing new under the sun, you're correct there. Not everybody knows about it though or
(apparently) understands how it can be used to keep the currents in a low inductance motor under control.

It has nothing to do with 'very low minimum rpm' ...
 
OT: Did anyone try this on a 3-phase controller?
http://powerelectronics.com/mag/711PET22.pdf

edit: OT
 
Lebowski said:
circuit said:
The only thing Lebowski's described method is good for, is to have a simple way of getting very narrow pulses and very low minimum rpm of the motor. Nothing else. This is nothing new, SVPWM is quite old technique.

Correct, nothing new under the sun. But not everybody knows about it or understand how
it can be used to keep the currents in a low inductance motor under control.
Lebowski there is a a Kelly controller or two that can run colossus at low power but with out some more inductance the mosfets will just heat up from switching losses during hi power applications! So even when I get my controller done or working it will not ba able to run the power I want with out finding a way to add inductance!
 
You can control the current more accurately - yes.
You can keep current low on low inductance motor - NO.

An example: 50V power supply, motor spins at 10k rpm at 50V. If it spins 5000 rpm, you will have to feed it with 25V "effective" voltage, meaning 50% PWM. No matter the algorithm, inductance _will_ have to be fed with 50% PWM. This means part of time it will get 50V, remaining time it will be shorted to 0V. With low inductance this causes problems.
Or are you saying that using this technique you are able to maintain low duty cycle at higher PWM frequency? Remember core losses.
 
Whats the inductance of your ironless motor Lebowski?
Since it's ironless i would guess it is low. You may get pretty high ripple currents later when you run it at constant voltage. In the videos I've watched, the "battery voltage" varied with RPM, which meant it had relative low ripple currents. Worst case is what Circuits is using, when EMF is half battery voltage.

By the way, how is it possible that the Collosus has such a low inductance?
A few loops of wire in the air would give more inductance than 8uH. (Sorry, I haven't read the entire thread, I'm sure there is an explanation somewhere.)
 
bearing said:
Whats the inductance of your ironless motor Lebowski?
Since it's ironless i would guess it is low.
I've missed this point. For ironless motor, you can drive it at really high frequency PWM. But the inductance will be very low as well.

bearing said:
By the way, how is it possible that the Collosus has such a low inductance?
A few loops of wire in the air would give more inductance than 8uH. (Sorry, I haven't read the entire thread, I'm sure there is an explanation somewhere.)
Turnigy CA120 has something ~6µ (don't remember exact numbers, but I measured it with serious equipment). Ant there is no controller I am aware of that can run this motor due to inductance.
 
bearing said:
By the way, how is it possible that the Collosus has such a low inductance?
A few loops of wire in the air would give more inductance than 8uH. (Sorry, I haven't read the entire thread, I'm sure there is an explanation somewhere.)
So i have a couple ideas. One it seams there is a relation between rpm max kw and inductance with a motor but i might ber wrong.
2 when you take your windings in air and put them in a strong magnetic feild the inductance will drop i think i found. Colossus lost 60% of its inductance when i put the stator back inside the magnets!
3 the long stator meens the turns of windings are not a tight circle!

One other thing to note the magnetic feild the windings are sitting in from a stand still is oposite of what they try to produce when they are energized!
 
circuit said:
You can control the current more accurately - yes.
You can keep current low on low inductance motor - NO.

An example: 50V power supply, motor spins at 10k rpm at 50V. If it spins 5000 rpm, you will have to feed it with 25V "effective" voltage, meaning 50% PWM. No matter the algorithm, inductance _will_ have to be fed with 50% PWM. This means part of time it will get 50V, remaining time it will be shorted to 0V. With low inductance this causes problems.
Or are you saying that using this technique you are able to maintain low duty cycle at higher PWM frequency? Remember core losses.

You're correct on your 2 points. But the main thing I want to point out to Arlo is that there's
other ways to use PWM as the simple china controllers do and that it's possible to keep the
currents under control. PWM frequency will always be a trade-off between not letting
the current explode on one side and the switching losses at the other side.

Taking your 0/25/50V, with 20 kHz PWM and 8uH, once the system has settled the currents
will have a triangular shape with the peaks at 19.5 Amps (11 Amps RMS, 1.2W in 9.3 mOhm),
not too bad I would say.

The switching frequency your output stage can handle strongly depends on the FET drivers it uses
and the power supply for them. At the moment I use FET's without cooling, just hanging in the
breeze as it were. 20 kHz doesn't produce any noticable temperature increase. 50 kHz PWM
will get them nicely warmed up (remember, no heat sink !). 100 kHz PWM still works but
FET's get warmer and warmer. Above that (200 kHz) the driver circuit gives up and overheats.

The simple china controllers use a few discrete transistors (high side) or maybe the internal
driver of the 33033 (just using the 33033 as an example). PWM is limited to 20 kHz or less
because the drivers just cannot deliver enough current. The numbers in the previous paragraph
I got with 2 Amp dedicated FET drivers (TCA4426, 4427) in single FETs.

Any electronics design is an optimisation. 'Slightly warm' at 50kHz PWM means a larger power loss
in the FET / FET drivers but this is counteracted by less dissipation in the motor windings due to the
lower motor current ripple. (to name some example numbers) 1 Watts extra spent in the drivers versus
3 Watts less losses in the motor windings should be worth it. Doubling again to 100 kHz may not give
you an advantage anymore, may even get more losses, these types of trade-off is what engineering
is about :D
 
Lebowski said:
Taking your 0/25/50V, with 20 kHz PWM and 8uH, once the system has settled the currents
will have a triangular shape with the peaks at 19.5 Amps (16 Amps RMS, 2.4W in 9.3 mOhm),
not too bad I would say.

What magical math did you use to figure that out? It's not possible to say what the "settled" current will be (average, RMS, peak, take your pick) without the resistance being specified - which he didn't give. The average current (after an arbitrarily long number of PWM pulses) will be just Iavg = V/R. We control the average current by varying the duty cycle, which changes the value of V.

The formula for the ripple current is really simple. Starting with V = L*di/dt, we get deltaI = V * dt / L. Real easy. To decrease deltaI you either decrease dt or increase L. One or the other or both. Doesn't matter what scheme you use to generate it, PWM is still pulses and this equation still applies. The maximum current is then Imax = Iavg + deltaI/2.

There are a lot of issues with making the switching frequency higher. Switching losses go up linearly with f, which can start to get really significant. At some point, the turn-on/-off times will start to be a significant fraction of your PWM period, which limits the maximum duty cycle. To fix that, you reduce the turn-on/-off times which brings up all sorts of issues with gate drive that are complex and difficult to deal with. There is a trade-off in FET selection between Rdson and Qg, which means there is a trade-off between resistive losses and switching losses. Power electronics have generally tended to prefer lower resistive losses.

While switching at a higher PWM frequency will reduce the peak current and thus reduce the I^2*R losses somewhat, it's not going to be a linear reduction. 2x higher switching frequency will not reduce the I^2*R losses by a factor of 2x, so there is a net cost to making the PWM faster. The deltaI will be half, but that won't make the RMS current half (since the ripple current should be relatively small, it will be a small difference).
 
Lebowski, you are right here. I'll try to summarize what we have now discussed:

1. there are different algorithms for transistor switching. Most chinese ebike anr RC motor controllers use the simplest and worst algorithm. Don't know why, maybe software gets a bit simpler and you can pull it off with lowest end MCU. The fact is that SVPWM, the one that Lebowski uses (and I used in my DIY controller) is far more superior, allowing not only mimic motor's BEMF, but also lowering I²R losses in controller and motor. How? In chinese crappy controllers, only two of the six transistors are operating (lets say 10mΩ each) and only two motor's windings are used (again, let's say 10mΩ each). This gives us a total resistance of 40mΩ. Meanwhile, in SVPWM, three transistors ale always open at any time. And all three motor's windings are used. This gives us a total resistance of 30mΩ. 30mΩ instead of 40mΩ means you are able to push 33% more amps in the same motor and thus get 33% more torque and power. Only a software thing, but improvement is significant.

2. correct me if I'm wrong, but we have at last came to the conclusion that some inductance is necessary to avoid high losses, unreliable operation and possible blowups.

3. the only way to work this out is to increase controller's PWM frequency (actually to make a new controller) and, if necessary (and I'm sure it is) mount LC filters between motor and controller. Other way to avoid filters would be to implement one in the motor, by manufacturing a ferrite core. But let's not go in that area...
 
rhitee05 said:
Lebowski said:
Taking your 0/25/50V, with 20 kHz PWM and 8uH, once the system has settled the currents
will have a triangular shape with the peaks at 19.5 Amps (16 Amps RMS, 2.4W in 9.3 mOhm),
not too bad I would say.

What magical math did you use to figure that out? It's not possible to say what the "settled" current will be (average, RMS, peak, take your pick) without the resistance being specified - which he didn't give. The average current (after an arbitrarily long number of PWM pulses) will be just Iavg = V/R. We control the average current by varying the duty cycle, which changes the value of V.

He specified the back-EMF of the motor is 25V and that 50% dutycycle combined with a 50V source is used as a supply -> delta_V = 0 -> I_dc = 0
20 kHz PWM, centre alligned, modeling the motor as a single inductor with a 25 V back-emf (as in the picture I posted), this results in
a square wave across the inductor of +25V for 12.5 usec, -25 for 12.5 usec etc etc. i = (V/L) * 12.5u = 39 amps. Since I_dc = 0 the 39 Amps
means it starts at -19.5 Amps and rises to +19.5 Amps (for +25V, opposite for -25V).

Also, remembe we're only interested in the ripple current due to PWM here because this is a 'useless' current which increases
dissipation but doesn't do any actual 'work'. So the I_dc (or better said, the slow moving current component which is in phase with
the back-emf) is not of interest here as it's doing the 'work'.

see, no magic involved :D
 
circuit said:
3. the only way to work this out is to increase controller's PWM frequency (actually to make a new controller) and, if necessary (and I'm sure it is) mount LC filters between motor and controller. Other way to avoid filters would be to implement one in the motor, by manufacturing a ferrite core. But let's not go in that area...

You have to keep in mind though that any extra external inductance messes up the timing above a certain
motor speed and that you have to keep this into account in your motor controller algorithm. Also extra external inductance
carries with it extra resistance and therefore will give more losses. Again, it's an optimisation where you
also have to consider the stronger / more power hungry FET driver if you decide not to add the external inductor.

My feeling keeps being that the better FET drivers is the way to go, I got a strong McGyver-lets-fix-it-with-some-ducktape feel
about adding external inductance... but if that makes you happy, go for it :D
 
Lebowski said:
circuit said:
3. the only way to work this out is to increase controller's PWM frequency (actually to make a new controller) and, if necessary (and I'm sure it is) mount LC filters between motor and controller. Other way to avoid filters would be to implement one in the motor, by manufacturing a ferrite core. But let's not go in that area...

You have to keep in mind though that any extra external inductance messes up the timing above a certain
motor speed and that you have to keep this into account in your motor controller algorithm. Also extra external inductance
carries with it extra resistance and therefore will give more losses. Again, it's an optimisation where you
also have to consider the stronger / more power hungry FET driver if you decide not to add the external inductor.

My feeling keeps being that the better FET drivers is the way to go, I got a strong McGyver-lets-fix-it-with-some-ducktape feel
about adding external inductance... but if that makes you happy, go for it :D
Yes, too much inductance is bad, as well as too low. This is why 'standard' inductance is around 100µH. And if it is too high, it is far simpler to compensate in software than too low.

With high ripple current, keep in mind that it is flowing not only through mosfets, but also the motor. And it is actually badly lowering motor's efficiency and power output. Motors are limited by maximum winding current and with high ripple level you are using big fraction of it's limits without doing any useful work.
Yet another example. This is a motor I've designed and assembled (it uses some scrap parts from turnigy:
5cXxG.jpg


It is wound for high rpm and has low inductance - only ~3µH per winding. I use crappy lyen 18fet controller which is running at 16 kHz. I feed it from 70V A123 pack. And guess what. Current ripple is so high, that it not only does not leave room for useful current, but actually exceeds motor's current capability and smokes it - motor overheats without doing any useful work. Ripple current on this motor is: Ipp = 70V/(16kHz*2*6µH) = 365A; Ip = ±182A; Irms = 105A. The motor is capable of 100A total.
On top of that, these chinese controllers work not like your's does: one thansistor is open and the other one is switching between on/off. This means that half the time controller's I²R losses are only on thansistor's open channel, and other half on one transistor's backwards diode. So total power dissipation on one transistor (lets say its 3mΩ) is 105A²*0,01= 33W, but on the other one it is: (33W+105A*1V)/2 = 69W.
Here you go, total of 102W of waste power in controller itself, and this is without switching losses. If motor's overall resistance is 10mΩ, you have additional heat of 110W in the motor.
Let's say you are drawing 420W from your battery. 210W transforms to heat in motor and controller and remaining 210W does actual work. Here, you have yourself an outstanding 50% overall system efficiency. Taking into account friction, switching losses, mosfet drivers, battery's Ri... You will get like 35% at most.

let's say this was not enough for you. OK, let's do some calculations with colossus motor. It's inductance is claimed to be 8µH. Long-term current limit is, let's say, 200 A (very optimistic, with good cooling). And let's say we have a 70V lyen setup, running at 16 kHz. RMS current on windings is: 79A. WITHOUT doing any useful work. This is more than one third of overall motor's current capability, so you are losing 40% of motor's power.
Is that convincing enough?
 
Back
Top