'PICLIST Digest - 2 Sep 1999 to 3 Sep 1999'
|My apologies, but I just cannot resist the temptation to comment on
some of the messages about H-bridges on this list. (Especially since
it gives me an opportunity to take on so many of the experts at the
same time (:-) - Let's see if I survive it.) Also, perhaps I can reduce
some confusion on the issue.
First of all, I would like to compliment Terry and Sean for the nice
ideas and instructive examples! I agree with Terry that an SMPS
controller could make a very nice motor controller. As Paul
indicated, motor driver are very close to SMPS, and in fact, many of
the key issues for SMPS design apply to motor driver design as well.
However, a motor driver has many more pathological noise/transient/etc
cases one needs to consider for a good design. (For a few years, I have
had as a kind of hobby collecting Good Methods of How to Destroy a
DC-Motor Driver, and my, that list is pretty long by now...)
I like Sean's example, because it is deceptive, but (or rather,
therefore) very instructional. Calculations appear correct, but
the conclusion is a bit odd. There is a tacit assumption in the
example, which seems not to have received any attention so far.
Sean Breheny wrote:
That something is funny here is clear if we consider the following
case, the idea of which I think somebody touched upon in a response:
Suppose we drive the motor with just under 2 Volts steady. Although
this consumes 4 W, it isn't enough to overcome the friction, and
efficiency is 0%. However, let's now use 12 V PWM to switch on the
current on for sufficiently long periods, so that the maximum current
through the rotor ramps up to just above 2 A, and so the motor just
barely overcomes the friction and moves a trifle. The average power
during the on cycle will obviously be less than 24 W. Let the
OFF-period be nine times as long as as the ON-period. Clearly, the
duty cycle is less than 10%, total power consumption less than 2.4 W,
but the PWM efficiency is still >0%, while linear voltage control
gives a solid 0% efficiency even at 4 W.
So, what is the problem?
Several writers have commented on the type of load. Although
frictional load contributes to the seemingly paradoxical result, I
woudn't say that it is the most important thing here. An inertial
load would represent more of a worst case from the driver
designer's point of view (cf. below).
Instead, IMHO, the key word is "average". Sean wrote: "we need an
average current..." It is important to think of how the the current
behaves, or is supposed to behave, in the rotor winding. The current
wants to stay the same and goes to great lengths and voltages to do
just that. If we have a current which varies greatly, we are using too low
switching frequency. The current shouldn't be left in peace for too
long or it freaks out.
The analogy with SMPS is useful here. For maximum efficiency of an
SMPS, we want to keep the current through the energy store choke on a
constant level. Large excursions will increase resistive losses. The
voltage is generated by the ripple on top of this current. It is the
same thing for a DC-motor. We want to keep a relatively constant
current through the rotor. ON periods push the current up a little
bit, OFF periods pull it down a little bit. If the current is allowed
to go to zero or saturate the core, the PWM frequency is too low, and
we will have such effects as Sean described. A key feature of PWM
is to let the motor inductance even out the pulse variations.
A small example. Escap's coreless DC-motor 23DT12-216P has the
following data: Nominal 9 V, Imax (cont) 1.76 A, Max temporary torque
80 mNm, Torque constant 12.4 mNm/A, Terminal resistance 2.6 ohm, Rotor
inductance 0.2 mH. We have u = L*di/dt, where u is the voltage over
the coil minus back emf (near zero at low speed) and resistive drop.
For a continuous current of 1.76 A, low speed, and a max ripple of
10%, we have that the maximum ON-period is roughly dt < di * L/u =
0.176 * 0.0002/(9 - 1.76*2.6) = (approx) 8 us. For the OFF-period, u
equals the resistive voltage drop, so dt < 0.176 * 0.0002/4.4 =
(approx) 8 us. Together this means a switching frequency of at least
1000/(8+8) > 60 kHz.
> With a switcher,however,we could forget PWM and just supply a continuous
> variable voltage to the motor. The current would stay the same and the RPM
> would linearly follow the voltage. The efficiency would not change much
> over the whole RPM range.
Paul Webster wrote:
> [Sean's] analysis regarding motor performance is correct. Implementation
> of switchmode control as you describe essentially consists of using PWM
> whilst providing a series inductor and commutation diode. The
> commutation diode(s) may already be part of an H-bridge or if the FETs
> may be operated "backwards", they may function as such.
I would say as a conclusion rather that with sufficient switching
frequency, PWM is only marginally worse than linear control from a
resistive losses aspect. (There are of course also switching losses,
and I haven't said it is _easy_ to implement such fast switching. Only
that high resistive losses are not an inherent PWM property :-)
For low speeds and such frictional load as Sean describes, PWM becomes
superior. There is still a reason, however, for driving a DC-motor
with the output from an SMPS. The coil on the SMPS is stationary and
can be bulky, without adverse effects. The DC-motor cannot afford such
a big and bulky rotor coil. A smaller choke has lower inductance and
would require higher switching frequency than the SMPS, if PWM driven.
John Payson wrote:
Well, it is a power hog only if the PWM frequency is so low
that the winding current changes substantially during one PWM cycle.
John also wrote:
> very well. Nonetheless, it may sometimes be useful to add a sinking
> transistor; this is to allow for rapid changes in motor speed. If
> the motor has little mechanical loading, there will be no way for it
> to slow down quickly absent a sinking transistor. If the "active
> high" output is equivalent to a car's gas pedal, the "active low"
> output is the brake. Although braking should be minimized when it's
> not needed, it's hard to slow down or stop without it.
This is really very important, and I wonder why it is so rare to find
such a shunt included in published circuits! A not too exceptional
case is where the motor runs full speed one way, and the driver then
reverses to full speed the other direction. The motor will then act
as a generator, and pull twice its stall current.
Bob Blick wrote:
> drop is more like 2 volts. If you think about how a DC motor works, you'll
> see that there is no way to operate a 12 volt motor with 12 volts and 5
> amps at high speed. If you had a motor like this, it would draw much more
> than 5 amps at low speed, and destroy the H-bridge. At low speeds, it
If you also consider rapidly reversing direction, the motor will draw
twice the stall current at full speed and full supply voltage. This
current will be sustained if there is large inertia on the rotor.
Scott Dattalo wrote:
>I am a bit confused here: why would the FETs require more precautions? The
>only thing I can think of would be that the power dissipation for a FET
>goes as the second power of current,and for a darlington/BJT, as the first
>power of current. Granted,this makes a big difference as current goes to
>infinity, but in certain cases, you might burn up the BJTs way before the
>FETs if the RDSon of the FETs is really low.
and Bob responded:
> It's actually even worse than that. The R of the MOSFET increases with
> temperature and current, so unless you go overkill or have protection you
> have a big problem. With comparable devices, the bipolar will usually take
> a lot more abuse(assuming it has enough drive current). Generally in a
> small application it's easy enough to use a larger MOSFET, but I've
> designed 1200 amp motor controllers and it makes sense to put in good
> protection so you can use fewer MOSFETs.
I guess Bob has had a lot of bad experiences with MOSFETs... One of
the primary obstacles with fast MOSFET switching is that it causes a
zillion of noise and transient problems. Due to the high speed, it can
be extremely difficult to debug a MOSFET switching circuit. MOSFETs
also sometimes have a peculiar property of going on working and
appearing alright for a while, although they are fatally wounded.
Otherwise, AFAIK, the two main problems with BJTs as compared to
MOSFETs are 1) Current concentration and thermal runaway, and 2)
Secondary breakdown. Some other problems are: Slow switching,
switching time temperature dependent, difficult to interpret SOA and
derate for various parameters, complex drive circuitry, and power
consumption of driver circuit itself.
Martin Nilsson http://www.sics.se/~mn/
Swedish Institute of Computer Science E-mail: sics.se (current) mn
Box 1263, SE-164 29 Kista, Sweden bigfoot.com (permanent) Dr.Nil
Tel: +46-8-633-1574 Fax: +46-8-751-7230
> John also wrote:
> > very well. Nonetheless, it may sometimes be useful to add a sinking
> > transistor; this is to allow for rapid changes in motor speed. If
> > the motor has little mechanical loading, there will be no way for it
> > to slow down quickly absent a sinking transistor. If the "active
> > high" output is equivalent to a car's gas pedal, the "active low"
> > output is the brake. Although braking should be minimized when it's
> > not needed, it's hard to slow down or stop without it.
> This is really very important, and I wonder why it is so rare to find
> such a shunt included in published circuits! A not too exceptional
> case is where the motor runs full speed one way, and the driver then
> reverses to full speed the other direction. The motor will then act
> as a generator, and pull twice its stall current.
A case in point:
Portable battery powered electric drills.
Ever considered using the motor windings as a crude speaker ?
If the PWM is heard as an audible whine then it may be possible to PWM
an abusive audio message through the windings in cases of user abuse.
Not as useful as a brake, definitely more amusing.
More... (looser matching)
- Last day of these posts
- In 1999
, 2000 only
- New search...