Simple 555 PWM - disappointing performance

Pooh Bear <rabbitsfriendsandrelations@hotmail.com> wrote:

The only remaining 'disappointment' is that, even with the circuit
properly powered, torque at 50% duty cycle is poor. Low enough for me
to be able to stop the motor easily by hand. That's almost impossible
with the directly driven motor. Even with the original screwdriver (2
x 1.2V C-type Nicads), it's very hard to stop it. I'd assumed that PWM
would reduce speed, but virtually maintain torque? IOW, this add-on
circuit would let my curtains close at half their present speed, but
still do so reliably, overcoming the considerable friction. Now I
don't think that will be the case. So what *is* the effect of PWM on
torque?

Have you tried stopping the motor when driven with a DC voltage of 1.2V ? Is it
comparable to the 50% duty cycle ?
Didn't try as low as 1.2V. But my curiosity is now piqued generally
about this torque issue, and I'll try to do some more experiments.

As mentioned earlier, my assumptions about the effect of PWM on torque
were simplistic. Now I'd like to understand it better. Ideally, I'd
like to know how the torque compares to that from a direct DC supply,
Vm. The ratio must be a function of at least 3 factors:

- Source voltage for PWM
Typically it would be higher than Vm; I was planning 4.5 V compared to
my present direct supply of 3.6 V.

- Duty cycle
I'd wrongly assumed this was linear; Fred pointed out that it's ^2.

- Frequency
I hadn't thought about this until now, but John's post has prompted me
to investigate. I had arbitrarily tried 300Hz and 1.2 KHz, and
couldn't see any immediately obvious difference in torque, other
things being constant. But clearly the motor's inductance will
influence performance; how much I don't know. I wonder whether the
effect of F for a given motor of known inductance and series
resistance can be reliably calculated? Maybe trial and error would be
quicker in practice. Another area this prompts me to pursue is
simulation. Specifically, I'll try to discover what model CircuitMaker
uses. From this
http://www.terrypin.dial.pipex.com/Images/PWM-Sim1.gif
it looks as if it is purely resistive!

Presumably the torque ratio will also depend on the configuration,
being lower for the simple circuit under discussion and higher for
bridge types. Of course, all the above assumes a simple DC motor of
the kind under discussion.

Note that when the 2N3055 is off - the motor continues to rotate but acts as a
motor-generator and isn't it loaded by the 1N4004 ( as it is now ) . That is
likely to reduce both torque and power.
Understood. That was Ban's point too.

Half bridge would eliminate this effect.
I had intended to rebuild the present circuit a few months ago, using
a full bridge configuration and a PIC approach I'd found in EPE
magazine. I actually bought the PICAXE-18A in a fit of enthusiasm. But
a prerequisite is that I first need to complete my *basic* PIC
self-training. And that doesn't look like happening any time soon <g>.

Meanwhile, my own circuit is doing OK. Here are the two main sections:
http://www.terrypin.dial.pipex.com/Images/CurtainControllerBistables.gif
http://www.terrypin.dial.pipex.com/Images/CurtainControllerRelays.gif

--
Terry Pinnell
Hobbyist, West Sussex, UK
 
Terry Given <my_name@ieee.org> wrote:

Terry Pinnell wrote:
"Herbert Blenner" <a1eah71@aol.com> wrote:


Replace Q1 with a PNP transistor in common collection configuration.
Now this circuit can take advantage of the sizable current sink
capability of the 555 timer. Further since you are now switching
voltage across the motor, D1 is not needed.


Thanks, Herbert, but according to the LM555 datasheet, a 555 "output
can source or sink 200 mA."

--
Terry Pinnell
Hobbyist, West Sussex, UK

and besides, he is completely wrong about the "dont need the diode",
which of course you still do. The diode is placed to ensure the motor
current has somewhere to commutate to when the switch turns off. for a
pnp switch, the pnp collector goes to the motor and the cathode of the
diode; the other end of the motor and the diode anode are at zero volts.

advice like that you can live without.

BTW, the point Ban made is quite correct. The motor has some inductance,
Lmotor. This is what "forces" the current to keep flowing when the
2n3055 switches off. When the switch is on, current ramps up, current
slope = dI/dt = Vbattery/Lmotor. Eventually this current gets so high
the voltage drop across the winding resistance gets in the way (eg in a
relay, Rwinding sets Irelay). When the transistor switches off, the
voltage on the winding reverses (Lenz' law) forward biasing the diode
to, say, 1V. The inductor current now ramps down, dI/dt = Vdiode/Lmotor

Because Vdiode is small (1V cf 4V) the current ramps down slowly. This
will limit the performance you get from the machine. A simple fix for a
low power single-ended circuit is to add a zener in series with the
diode (or a few more diodes), but beware the losses!
Many thanks, much food for thought and experiment there.

BTW, if I measure the inductance L and DC resistance R of this motor,
do you reckon a simple series LR model should give realistic
simulation?

(I'll try it later today and report back.)

--
Terry Pinnell
Hobbyist, West Sussex, UK
 
In article <0ia791ppc5ce7iid61hkv5bjpt6uf4qka0@4ax.com>,
Terry Pinnell <terrypinDELETE@THESEdial.pipex.com> wrote:
[snip]
http://www.terrypin.dial.pipex.com/Images/PWM1.gif
There is something wrong with that collector waveform, it
doesn't look right, too flat on the top, etc. Is that an
artifact of some data clipping going on somewhere?

What is the main reason for its poor performance please? I didn't
get around to trying it, but would a cap (100nf?) across the
motor help? What other changes would get me closer to the
idealised result? (BTW, I do get that when I swap the motor for a
purely resistive load.)
A PM DC motor is not a resistive load, it's internal
back-emf controls everything.

Below is an LTSpice schematic (originally named terry.asc)
that gives a more accurate emulation of what you are doing.

Try the suggested runs at I1= .001A (no load) and at 0.5/1A
which represents the light loads of your fingers around the
shaft. Look at the averaged voltage across C1 for each
load condition and compare it with the (guessed) 1.9V Vbemf
for no load with 2.4V dc supply. You will see why the
motor's torque/speed is so pitiful at 50:50 duty cycle.

Version 4
SHEET 1 880 716
WIRE 160 80 480 80
WIRE 480 80 480 304
WIRE -400 608 -400 640
WIRE -400 640 160 640
WIRE 160 576 160 640
WIRE 160 656 160 640
WIRE -400 528 -112 528
WIRE -32 528 96 528
WIRE 320 432 320 384
WIRE 160 432 320 432
WIRE 0 384 0 432
WIRE 0 432 160 432
WIRE 160 432 160 480
WIRE 0 304 160 304
WIRE 160 304 320 304
WIRE 160 256 160 304
WIRE 480 384 480 640
WIRE 480 640 160 640
WIRE 160 160 160 176
WIRE 160 80 -224 80
WIRE -224 80 -224 144
WIRE -224 208 -224 432
WIRE -224 432 -144 432
WIRE -144 384 -144 432
WIRE -144 432 0 432
WIRE -144 304 0 304
WIRE 160 304 160 336
WIRE 160 400 160 432
FLAG 160 656 0
SYMBOL res 144 64 R0
SYMATTR InstName R1
SYMATTR Value .5
SYMBOL ind 144 160 R0
SYMATTR InstName L1
SYMATTR Value 3mh
SYMBOL res -16 288 R0
SYMATTR InstName R2
SYMATTR Value 3.8
SYMBOL cap 144 336 R0
WINDOW 0 49 29 Left 0
SYMATTR InstName C1
SYMATTR Value 2000u
SYMBOL current 320 304 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName I1
SYMATTR Value .001
SYMBOL diode -208 208 R180
WINDOW 0 24 72 Left 0
WINDOW 3 24 0 Left 0
SYMATTR InstName D1
SYMATTR Value 1N4148
SYMBOL npn 96 480 R0
SYMATTR InstName Q1
SYMATTR Value 2N3055
SYMBOL res -128 544 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R3
SYMATTR Value 100
SYMBOL voltage 480 288 R0
WINDOW 123 0 0 Left 0
WINDOW 39 24 132 Left 0
SYMATTR SpiceLine Rser=.1
SYMATTR InstName V1
SYMATTR Value 4
SYMBOL voltage -400 512 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value PULSE(.4 12 0 1u 1u 1.5ms 3ms 5000)
SYMBOL current -144 304 R0
WINDOW 0 -38 91 Left 0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName I2
SYMATTR Value .5
TEXT -440 40 Left 0 !.tran 0 .5 .49 10u
TEXT -1216 104 Left 0 ;R1= Total motor series resistance
TEXT -1216 144 Left 0 ;L1= Armature inductance
TEXT -1216 184 Left 0 ;I2//R2//C1//I1 = Torque loads and back-emf
simulator
TEXT -1216 240 Left 0 ;I2= Fixed friction torque load
TEXT -1216 272 Left 0 ;R2= Speed-dependant friction torque load
TEXT -1216 304 Left 0 ;I1= External torque load applied to shaft
TEXT -1216 336 Left 0 ;C1 represents the motor's time constant
TEXT -1216 376 Left 0 ;The resultant voltage across C1, plotted as
V(n005)-V(n004), represents the\nback-emf generated by the motor
when running. The average of this\nvoltage is a measure of the
motor's speed.
TEXT -1288 496 Left 0 ;From the brief description I have guessed
that the 2.4V screwdriver takes\nabout 1A on no-load and 5A at
stall. This gives some of the numbers above\nplus a guess that the
Vback-emf is about 1.9V on no load.
TEXT -1280 600 Left 0 ;By comparing the resultant voltage across C1
with that 1.9V we can\nguestimate the speed for various values of
external load, ie for I1.
TEXT -1280 672 Left 0 ;Do Runs with I1 set to 0.001A, 0.5A, and 1A.
Look at the average of\nV(n005)-V(n004) and compare with 1.9V.

--
Tony Williams.
 
In article <4d710428d0tonyw@ledelec.demon.co.uk>,
Tony Williams <tonyw@ledelec.demon.co.uk> wrote:

Below is an LTSpice schematic (originally named terry.asc)
that gives a more accurate emulation of what you are doing.

Try the suggested runs at I1= .001A (no load) and at 0.5/1A
which represents the light loads of your fingers around the
shaft. Look at the averaged voltage across C1 for each
load condition and compare it with the (guessed) 1.9V Vbemf
for no load with 2.4V dc supply. You will see why the
motor's torque/speed is so pitiful at 50:50 duty cycle.

I forgot something. Comparing stall torques.

Do a Run with C1 shorted in the LTspice circuit,
and plot I(L1). You should get an average of 1.75A.
This is a measure of the stall torque.

That same (0.5 ohm) motor, (with locked rotor and,
powered from a 2.4Vdc supply), will take a a stall current
of 4.8Adc..... that is 2.7x the stall torque on DC.

--
Tony Williams.
 
Tony Williams <tonyw@ledelec.demon.co.uk> wrote:

In article <4d710428d0tonyw@ledelec.demon.co.uk>,
Tony Williams <tonyw@ledelec.demon.co.uk> wrote:

Below is an LTSpice schematic (originally named terry.asc)
that gives a more accurate emulation of what you are doing.

Try the suggested runs at I1= .001A (no load) and at 0.5/1A
which represents the light loads of your fingers around the
shaft. Look at the averaged voltage across C1 for each
load condition and compare it with the (guessed) 1.9V Vbemf
for no load with 2.4V dc supply. You will see why the
motor's torque/speed is so pitiful at 50:50 duty cycle.


I forgot something. Comparing stall torques.

Do a Run with C1 shorted in the LTspice circuit,
and plot I(L1). You should get an average of 1.75A.
This is a measure of the stall torque.

That same (0.5 ohm) motor, (with locked rotor and,
powered from a 2.4Vdc supply), will take a a stall current
of 4.8Adc..... that is 2.7x the stall torque on DC.
Thanks a lot Tony, appreciate your going to the trouble. Very timely,
as I was pondering how to proceed with simulation in parallel with my
practical experiments, and didn't really know where to start. Will
study that circuit and simulation in detail.

I'll try to take the key measurements for this motor and plug them in.
I already measured two key ones earlier. According to my Atlas LCR,
the motor has a DC resistance of 0.2 ohms and inductance of only 14
uH, measured at 200 kHz. (The Atlas chooses its own test frequency.)
One odd point is that the DC resistance initially measured about 1.0
ohm, but after running the motor briefly that became 0.2! Same with
two identical motors.

Can't say I really see how some of those elements work (I1, I2, R2 and
C1), but I'll hold my queries until I've played with it.

FWIW, this morning I trying to rig up some method of doing rough
torque tests on this particular motor. Basically, I'm trying to
measure the 'max torque', i.e. just before it stalls. Much more
difficult than I expected!

--
Terry Pinnell
Hobbyist, West Sussex, UK
 
Terry Pinnell wrote:
FWIW, this morning I trying to rig up some method of doing rough
torque tests on this particular motor. Basically, I'm trying to
measure the 'max torque', i.e. just before it stalls. Much more
difficult than I expected!
Run a strap or cord over a pulley on the motor, and attach the
ends to two spring balances (scales). Adjust the tension in the
strap (by moving the clamps holding the scales) until the motor
is running at the speed you're interested in, then subtract the
two readings. The force difference times the diameter gives you
the torque.

Clifford Heath.
 
Clifford Heath wrote:

Terry Pinnell wrote:
FWIW, this morning I trying to rig up some method of doing rough
torque tests on this particular motor. Basically, I'm trying to
measure the 'max torque', i.e. just before it stalls. Much more
difficult than I expected!

Run a strap or cord over a pulley on the motor, and attach the
ends to two spring balances (scales). Adjust the tension in the
strap (by moving the clamps holding the scales) until the motor
is running at the speed you're interested in, then subtract the
two readings. The force difference times the diameter gives you
the torque.
Isn't 'high school' physics wonderful ! ;-)

Graham
 
Clifford Heath <no@spam.please.net> wrote:

Terry Pinnell wrote:
FWIW, this morning I trying to rig up some method of doing rough
torque tests on this particular motor. Basically, I'm trying to
measure the 'max torque', i.e. just before it stalls. Much more
difficult than I expected!

Run a strap or cord over a pulley on the motor, and attach the
ends to two spring balances (scales). Adjust the tension in the
strap (by moving the clamps holding the scales) until the motor
is running at the speed you're interested in, then subtract the
two readings. The force difference times the diameter gives you
the torque.

Clifford Heath.
Thanks. I need to buy another spring balance then - I've been trying
to do it with just the one (my 30 year old fishing scale, rarely used
to its 7 lb max!).

--
Terry Pinnell
Hobbyist, West Sussex, UK
 
In article <qqgb915u62pm4ecjn0iamg9i4rd58uqavi@4ax.com>,
Terry Pinnell <terrypinDELETE@THESEdial.pipex.com> wrote:

Thanks a lot Tony, appreciate your going to the trouble. Very
timely, as I was pondering how to proceed with simulation in
parallel with my practical experiments, and didn't really know
where to start. Will study that circuit and simulation in detail.
The model is still under development and I'd welcome
any corretions or additions.

I'll try to take the key measurements for this motor and plug
them in. I already measured two key ones earlier. According to my
Atlas LCR, the motor has a DC resistance of 0.2 ohms and
inductance of only 14 uH, measured at 200 kHz. (The Atlas chooses
its own test frequency.) One odd point is that the DC resistance
initially measured about 1.0 ohm, but after running the motor
briefly that became 0.2! Same with two identical motors.
That would be a stall current of 12A when directly powered
off the original battery. Be warned though Terry. I burned
out my B&D battery screwdriver doing some similar expts
about a year ago. Run the thing off a current-limited
supply if possible.

Can't say I really see how some of those elements work (I1, I2,
R2 and C1), but I'll hold my queries until I've played with it.
I2 and R2 are trying to account for the gearbox losses, which
was the 1A my B&D drew with no external load. I1 is supposed
to simulate the external load. C1 is supposed to acquire a
voltage across it that represents the motor's generated back
emf.

--
Tony Williams.
 
Tony Williams <tonyw@ledelec.demon.co.uk> wrote:

In article <qqgb915u62pm4ecjn0iamg9i4rd58uqavi@4ax.com>,
Terry Pinnell <terrypinDELETE@THESEdial.pipex.com> wrote:

Thanks a lot Tony, appreciate your going to the trouble. Very
timely, as I was pondering how to proceed with simulation in
parallel with my practical experiments, and didn't really know
where to start. Will study that circuit and simulation in detail.

The model is still under development and I'd welcome
any corretions or additions.

I'll try to take the key measurements for this motor and plug
them in. I already measured two key ones earlier. According to my
Atlas LCR, the motor has a DC resistance of 0.2 ohms and
inductance of only 14 uH, measured at 200 kHz. (The Atlas chooses
its own test frequency.) One odd point is that the DC resistance
initially measured about 1.0 ohm, but after running the motor
briefly that became 0.2! Same with two identical motors.

That would be a stall current of 12A when directly powered
off the original battery. Be warned though Terry. I burned
out my B&D battery screwdriver doing some similar expts
about a year ago. Run the thing off a current-limited
supply if possible.

Can't say I really see how some of those elements work (I1, I2,
R2 and C1), but I'll hold my queries until I've played with it.

I2 and R2 are trying to account for the gearbox losses, which
was the 1A my B&D drew with no external load. I1 is supposed
to simulate the external load. C1 is supposed to acquire a
voltage across it that represents the motor's generated back
emf.
Thanks for the follow-up. You didn't comment on that inductance? Can a
motor really have such a tiny value?

I managed to measure what I think is the stall torque. Motor (ex
HomeBase screwdriver) was allowed to pull a spring balance via a cord
fixed to a pulley of a little under 2 inch in diameter. The balance
registered about 7 lbs, and I was surprised to measure about 9.5 A. At
that point the voltage at the motor's terminals was a mere 1.0 V. At
the source, a set of 4 D-type Nicads, it had dropped from its unloaded
value of 5.0 V to 4.0V. Quite a lot of variation between successive
apparently identical measurements though. Had 10A at one point.

I'm I bit handicapped by not having a heavy duty variable voltage
power supply, but I'll see how much further I can get with batteries.
I can always get some variation with series diodes.

--
Terry Pinnell
Hobbyist, West Sussex, UK
 
Clifford Heath <no@spam.please.net> wrote:

Terry Pinnell wrote:
FWIW, this morning I trying to rig up some method of doing rough
torque tests on this particular motor. Basically, I'm trying to
measure the 'max torque', i.e. just before it stalls. Much more
difficult than I expected!

Run a strap or cord over a pulley on the motor, and attach the
ends to two spring balances (scales). Adjust the tension in the
strap (by moving the clamps holding the scales) until the motor
is running at the speed you're interested in, then subtract the
two readings. The force difference times the diameter gives you
the torque.

Clifford Heath.
My initial attempt with that technique (albeit with a suspended fixed
weight substituting for one of the spring balances) met with a major
snag. The continuous slipping of the cord on the pulley meant that the
balance was oscillating over a wide range! I've returned to a fixed
cord pulling one balance for now.

--
Terry Pinnell
Hobbyist, West Sussex, UK
 
Terry Pinnell wrote:
Terry Given <my_name@ieee.org> wrote:


Terry Pinnell wrote:

"Herbert Blenner" <a1eah71@aol.com> wrote:



Replace Q1 with a PNP transistor in common collection configuration.
Now this circuit can take advantage of the sizable current sink
capability of the 555 timer. Further since you are now switching
voltage across the motor, D1 is not needed.


Thanks, Herbert, but according to the LM555 datasheet, a 555 "output
can source or sink 200 mA."


--
Terry Pinnell
Hobbyist, West Sussex, UK

and besides, he is completely wrong about the "dont need the diode",
which of course you still do. The diode is placed to ensure the motor
current has somewhere to commutate to when the switch turns off. for a
pnp switch, the pnp collector goes to the motor and the cathode of the
diode; the other end of the motor and the diode anode are at zero volts.

advice like that you can live without.

BTW, the point Ban made is quite correct. The motor has some inductance,
Lmotor. This is what "forces" the current to keep flowing when the
2n3055 switches off. When the switch is on, current ramps up, current
slope = dI/dt = Vbattery/Lmotor. Eventually this current gets so high
the voltage drop across the winding resistance gets in the way (eg in a
relay, Rwinding sets Irelay). When the transistor switches off, the
voltage on the winding reverses (Lenz' law) forward biasing the diode
to, say, 1V. The inductor current now ramps down, dI/dt = Vdiode/Lmotor

Because Vdiode is small (1V cf 4V) the current ramps down slowly. This
will limit the performance you get from the machine. A simple fix for a
low power single-ended circuit is to add a zener in series with the
diode (or a few more diodes), but beware the losses!


Many thanks, much food for thought and experiment there.

BTW, if I measure the inductance L and DC resistance R of this motor,
do you reckon a simple series LR model should give realistic
simulation?

(I'll try it later today and report back.)
it depends on how the inductance changes (with current and rotor angle),
but yes it will.

The technique I use to measure L is as follows:

gear:
1 x whopping great cap + 1k resistor to DC psu
1 x current probe (or 10 1R resistors in parallel)

- charge up the cap. slap a scope probe across it, to measure Vcap

- with the current probe in series (usually I use the R's and another
scope probe), slap the choke across the cap, and measure I-vs-t. For a
perfect inductor, the current ramps up in a straight line, to infinity
(well, ok, stray R's limit this value) *until* the cap discharges "too
much".

- the slope of the current-vs-time curve = dI/dt = Vcap/L

- L = (dI/dt)/Vcap (if you measure dV = dI*Rs, convert to dI)

- to check an L at a known I, ensure 0.5CV^2 >> 0.5LI^2

oops, need to kinda know L,I first. Nah, all we are saying here is that
the energy in the cap is large compared to the energy in the choke. As
long as Vcap doesnt change by more than about 10%, this assumption is
valid (hence measuring Vcap)

The series R of the L will cause this ramp to roll off like an RC charge
curve - ie a decrease in slope

saturation of the inductor is seen by an *increase* in slope. For an
iron-cored inductor, you will see a shallow slope at first (permeability
is high at low B), then a moderate slope, then a sharp increase in slope
as it saturates (at which point it becomes air-cored).

- I have a digital scope (along with half-a-dozen analogue scopes), so
capturing the waveform is easy. I have also made a repetitive tester
with a 555 & a FET, that works nicely on an analogue scope (its a
production tester, and to date has tested 20,000 gapped cores).

Cheers
Terry
 
Terry Pinnell wrote:
Pooh Bear <rabbitsfriendsandrelations@hotmail.com> wrote:


The only remaining 'disappointment' is that, even with the circuit
properly powered, torque at 50% duty cycle is poor. Low enough for me
to be able to stop the motor easily by hand. That's almost impossible
with the directly driven motor. Even with the original screwdriver (2
x 1.2V C-type Nicads), it's very hard to stop it. I'd assumed that PWM
would reduce speed, but virtually maintain torque? IOW, this add-on
circuit would let my curtains close at half their present speed, but
still do so reliably, overcoming the considerable friction. Now I
don't think that will be the case. So what *is* the effect of PWM on
torque?

Have you tried stopping the motor when driven with a DC voltage of 1.2V ? Is it
comparable to the 50% duty cycle ?


Didn't try as low as 1.2V. But my curiosity is now piqued generally
about this torque issue, and I'll try to do some more experiments.

As mentioned earlier, my assumptions about the effect of PWM on torque
were simplistic. Now I'd like to understand it better. Ideally, I'd
like to know how the torque compares to that from a direct DC supply,
Vm. The ratio must be a function of at least 3 factors:

- Source voltage for PWM
Typically it would be higher than Vm; I was planning 4.5 V compared to
my present direct supply of 3.6 V.

- Duty cycle
I'd wrongly assumed this was linear; Fred pointed out that it's ^2.

- Frequency
I hadn't thought about this until now, but John's post has prompted me
to investigate. I had arbitrarily tried 300Hz and 1.2 KHz, and
couldn't see any immediately obvious difference in torque, other
things being constant. But clearly the motor's inductance will
influence performance; how much I don't know. I wonder whether the
effect of F for a given motor of known inductance and series
resistance can be reliably calculated? Maybe trial and error would be
quicker in practice. Another area this prompts me to pursue is
simulation. Specifically, I'll try to discover what model CircuitMaker
uses. From this
http://www.terrypin.dial.pipex.com/Images/PWM-Sim1.gif
it looks as if it is purely resistive!

Presumably the torque ratio will also depend on the configuration,
being lower for the simple circuit under discussion and higher for
bridge types. Of course, all the above assumes a simple DC motor of
the kind under discussion.


Note that when the 2N3055 is off - the motor continues to rotate but acts as a
motor-generator and isn't it loaded by the 1N4004 ( as it is now ) . That is
likely to reduce both torque and power.


Understood. That was Ban's point too.


Half bridge would eliminate this effect.


I had intended to rebuild the present circuit a few months ago, using
a full bridge configuration and a PIC approach I'd found in EPE
magazine. I actually bought the PICAXE-18A in a fit of enthusiasm. But
a prerequisite is that I first need to complete my *basic* PIC
self-training. And that doesn't look like happening any time soon <g>.

Meanwhile, my own circuit is doing OK. Here are the two main sections:
http://www.terrypin.dial.pipex.com/Images/CurtainControllerBistables.gif
http://www.terrypin.dial.pipex.com/Images/CurtainControllerRelays.gif
Two comments re. your circuits.

Firstly, you brute! 100nF slapped on the output of poor old CMOS gates.
Still, rise time is slow, around 300ns IIRC, so I = C*dV/dt =
0.1uF*13V/0.3us = 4A, IOW it'll take a month of sundays to rise, and
frighten the pants off of the cmos gate. I would have slicer R3,R4 in
half, and popped the caps in there.

Secondly, the caps across the 2 switches. These will, at turn-on, pull
4001-6 and 4001-13 high (actually it will be an exponential spike, time
constant 10ms). Whether or not this is an issue, I leave as an exercise
to the reader (IOW I didnt check) but its something to be aware of.

Cheers
Terry
 
Terry Pinnell wrote:
My initial attempt with that technique (albeit with a suspended fixed
weight substituting for one of the spring balances) met with a major
snag. The continuous slipping of the cord on the pulley meant that the
balance was oscillating over a wide range! I've returned to a fixed
cord pulling one balance for now.
You need to experiment with different materials (nylon works well)
and have a very smooth pulley. I've only seen it done with quite
small motors though, <10W.
 
Herbert Blenner wrote:
Terry Given wrote:

Terry Pinnell wrote:

"Herbert Blenner" <a1eah71@aol.com> wrote:



Replace Q1 with a PNP transistor in common collection configuration.
Now this circuit can take advantage of the sizable current sink
capability of the 555 timer. Further since you are now switching
voltage across the motor, D1 is not needed.


Thanks, Herbert, but according to the LM555 datasheet, a 555 "output
can source or sink 200 mA."


--
Terry Pinnell
Hobbyist, West Sussex, UK

and besides, he is completely wrong about the "dont need the diode",
which of course you still do. The diode is placed to ensure the motor
current has somewhere to commutate to when the switch turns off. for a
pnp switch, the pnp collector goes to the motor and the cathode of the
diode; the other end of the motor and the diode anode are at zero volts.

advice like that you can live without.


Connecting the emitter to the motor places the pnp transistor in a
common collector configuration. Hence the transistor approximates a
voltage switch. The current however will slew between on and off due to
the inductance of the motor.
thats a fairly piss-poor description, indicative of a deep lack of
understanding.


---+-- +4V
|
[motor]
|
|
|
|/e
555--[R]-----| pnp
|\c
|
---+-- 0V


Dont forget the 555 runs from +15V.

When the 555 o/p pulls low, the motor turns on, but where does the
substantial base current required come from? As the emitter pulls down,
the voltage across Rbase drops, so Ibase drops, so PNP turns off.
Besides, even if we magically required almost no base current (eg
darlington, Ibase = 3A/10,000 = 300uA) the emitter will *always* be Vbe
above the base, losing a large chunk of the available 4V supply. The
reducing base drive "feature" of this POS *forces* the transistor to
dissipate far more power than it would if switched properly.

When the 555 o/p goes to +15V, where does the motor current flow to? by
Lenz' law, the emitter voltage will rise, until the base-emitter diode
is forward biased (IOW about 15.7V) at which point the pnp will turn on,
shunting the motor current to 0V. Of course Vce = 15.7V, with 3A across
it, ramping down to zero in time t = Lmotor*Ipeak/15.7V. dissipation
acros the pnp is thus 23.5W for however long it takes. The motor current
ramps down a lot faster than it ramps up, as it has almost 3x the
voltage across it.

If D1 is left connected across the motor, this turn-off behaviour does
not happen, as motor current commutates thru D1, keeping about 0.7V
across the motor (so current downslope is about 5-6 times *slower* than
the up-slope)

I did a simple simulation in Simetrix, using an MJD2955 and a 1mH
inductor (no winding R), chopped at 100Hz with 15V square-wave base
drive. Peak current is controlled *entirely* by Rbase (ergo by Hfe, so
all over the show with time, temperature and type of transistor). To get
2.5A, I needed Rb = 50 Ohms, and Vcesat actually pulls right up to the
supply rail! The turn-off current commutation behaviour is as described.

In conclusion, this is a *terrible* idea, and will not work.

BTW, the point Ban made is quite correct. The motor has some inductance,
Lmotor. This is what "forces" the current to keep flowing when the
2n3055 switches off. When the switch is on, current ramps up, current
slope = dI/dt = Vbattery/Lmotor. Eventually this current gets so high
the voltage drop across the winding resistance gets in the way (eg in a
relay, Rwinding sets Irelay). When the transistor switches off, the
voltage on the winding reverses (Lenz' law) forward biasing the diode
to, say, 1V. The inductor current now ramps down, dI/dt = Vdiode/Lmotor


In common emitter configuration the 2N3055 approximates a current
switch. Now switching the current produces voltage spikes and
necessitates the diode.

Herbert


Because Vdiode is small (1V cf 15V) the current ramps down slowly. This
will limit the performance you get from the machine. A simple fix for a
low power single-ended circuit is to add a zener in series with the
diode (or a few more diodes), but beware the losses!

Cheers
Terry
 
Herbert Blenner wrote:

Hence the transistor approximates a voltage switch.
Oh dear.

Pls explain the difference between a *voltage* switch and a *current* switch.
A switch is a switch is a switch....

Graham
 
Terry Given <my_name@ieee.org> wrote:

Terry Pinnell wrote:

BTW, if I measure the inductance L and DC resistance R of this motor,
do you reckon a simple series LR model should give realistic
simulation?

(I'll try it later today and report back.)


it depends on how the inductance changes (with current and rotor angle),
but yes it will.

The technique I use to measure L is as follows:

gear:
1 x whopping great cap + 1k resistor to DC psu
1 x current probe (or 10 1R resistors in parallel)

- charge up the cap. slap a scope probe across it, to measure Vcap

- with the current probe in series (usually I use the R's and another
scope probe), slap the choke across the cap, and measure I-vs-t. For a
perfect inductor, the current ramps up in a straight line, to infinity
(well, ok, stray R's limit this value) *until* the cap discharges "too
much".

- the slope of the current-vs-time curve = dI/dt = Vcap/L

- L = (dI/dt)/Vcap (if you measure dV = dI*Rs, convert to dI)

- to check an L at a known I, ensure 0.5CV^2 >> 0.5LI^2

oops, need to kinda know L,I first. Nah, all we are saying here is that
the energy in the cap is large compared to the energy in the choke. As
long as Vcap doesnt change by more than about 10%, this assumption is
valid (hence measuring Vcap)

The series R of the L will cause this ramp to roll off like an RC charge
curve - ie a decrease in slope

saturation of the inductor is seen by an *increase* in slope. For an
iron-cored inductor, you will see a shallow slope at first (permeability
is high at low B), then a moderate slope, then a sharp increase in slope
as it saturates (at which point it becomes air-cored).

- I have a digital scope (along with half-a-dozen analogue scopes), so
capturing the waveform is easy. I have also made a repetitive tester
with a 555 & a FET, that works nicely on an analogue scope (its a
production tester, and to date has tested 20,000 gapped cores).
Thanks, good stuff. Will study over weekend.

As you've no doubt seen, since posting that question Tony has kindly
published his proposed simulation model, which looks rather more
complex.

Did you see my query about the value of 14 uH measured by my Peak
'Atlas LCR' instrument? And that odd inconsistency of R?

--
Terry Pinnell
Hobbyist, West Sussex, UK
 
Terry Pinnell wrote:
Terry Given <my_name@ieee.org> wrote:


Terry Pinnell wrote:


BTW, if I measure the inductance L and DC resistance R of this motor,
do you reckon a simple series LR model should give realistic
simulation?

(I'll try it later today and report back.)


it depends on how the inductance changes (with current and rotor angle),
but yes it will.

The technique I use to measure L is as follows:

gear:
1 x whopping great cap + 1k resistor to DC psu
1 x current probe (or 10 1R resistors in parallel)

- charge up the cap. slap a scope probe across it, to measure Vcap

- with the current probe in series (usually I use the R's and another
scope probe), slap the choke across the cap, and measure I-vs-t. For a
perfect inductor, the current ramps up in a straight line, to infinity
(well, ok, stray R's limit this value) *until* the cap discharges "too
much".

- the slope of the current-vs-time curve = dI/dt = Vcap/L

- L = (dI/dt)/Vcap (if you measure dV = dI*Rs, convert to dI)

- to check an L at a known I, ensure 0.5CV^2 >> 0.5LI^2

oops, need to kinda know L,I first. Nah, all we are saying here is that
the energy in the cap is large compared to the energy in the choke. As
long as Vcap doesnt change by more than about 10%, this assumption is
valid (hence measuring Vcap)

The series R of the L will cause this ramp to roll off like an RC charge
curve - ie a decrease in slope

saturation of the inductor is seen by an *increase* in slope. For an
iron-cored inductor, you will see a shallow slope at first (permeability
is high at low B), then a moderate slope, then a sharp increase in slope
as it saturates (at which point it becomes air-cored).

- I have a digital scope (along with half-a-dozen analogue scopes), so
capturing the waveform is easy. I have also made a repetitive tester
with a 555 & a FET, that works nicely on an analogue scope (its a
production tester, and to date has tested 20,000 gapped cores).


Thanks, good stuff. Will study over weekend.

As you've no doubt seen, since posting that question Tony has kindly
published his proposed simulation model, which looks rather more
complex.
I dont use LTSpice, alas.

Did you see my query about the value of 14 uH measured by my Peak
'Atlas LCR' instrument? And that odd inconsistency of R?
ten bucks says 14uH is bullshit. at 200kHz, the stray capacitance will
significantly alter the measurement. try it at 1kHz, betcha the result
is different.

say 1mH - at 200kHz thats 12578 Ohms. You measure 14uH = 17.6 Ohms,
which would be 12578 Ohms paralleled with 17.84 Ohms. Were that a cap,
it would be 44nF, which is bugger all really.

These numbers tend to suggest the inductance is a lot higher, and that
you have a few tens of nF of capacitance.

Another way to "prove" this. Dismember the motor, and guesstimate/count
the number of turns. do the calcs for an air-core solenoid of roughly
the same dimensions as the motor, the answer will be a *lot* more than
14uH (mostly because there are a hell of a lot of turns)


as for the R, dont forget that this DC machine has a commutator, which
can easily bollocks up your measurement as a function of rotor position.


Cheers
Terry
 
In article <de9c91l8bj8g4ng5op152pj3lga8ubs39j@4ax.com>,
Terry Pinnell <terrypinDELETE@THESEdial.pipex.com> wrote:

Thanks for the follow-up. You didn't comment on that inductance?
Can a motor really have such a tiny value?
I've just measured the motors in a 2.4Vdc high
powered multi-tool thingie. The screwdriver motor
measured 0.3ohm/0.16mH and the drill motor was
0.3ohm/0.06mH. Both sets of measurements did not
change for any positions of the rotor. So your 0.1mH
could be ok. After all, there is an air gap in each
magnetic path.

The LTspice simulation had a 3mH guess. The change
to 0.1mH (and to 0.3 ohms) drastically changes the
L/R time constant. At 300Hz there is now no
integration effect from the L and the motor current
just bangs on and off.

With a base-current of 112mA the generic 2N3055 in
LTspice pulls out of saturation at Ic= 2.4A, and
this makes a nonsense of everything.

--
Tony Williams.
 
Herbert Blenner wrote:
Terry Given wrote:

Herbert Blenner wrote:

Terry Given wrote:


Terry Pinnell wrote:


"Herbert Blenner" <a1eah71@aol.com> wrote:




Replace Q1 with a PNP transistor in common collection configuration.
Now this circuit can take advantage of the sizable current sink
capability of the 555 timer. Further since you are now switching
voltage across the motor, D1 is not needed.


Thanks, Herbert, but according to the LM555 datasheet, a 555 "output
can source or sink 200 mA."



--
Terry Pinnell
Hobbyist, West Sussex, UK

and besides, he is completely wrong about the "dont need the diode",
which of course you still do. The diode is placed to ensure the motor
current has somewhere to commutate to when the switch turns off. for a
pnp switch, the pnp collector goes to the motor and the cathode of the
diode; the other end of the motor and the diode anode are at zero volts.

advice like that you can live without.


Connecting the emitter to the motor places the pnp transistor in a
common collector configuration. Hence the transistor approximates a
voltage switch. The current however will slew between on and off due to
the inductance of the motor.

thats a fairly piss-poor description, indicative of a deep lack of
understanding.


---+-- +4V
|
[motor]
|
|
|
|/e
555--[R]-----| pnp
|\c
|
---+-- 0V


Dont forget the 555 runs from +15V.

When the 555 o/p pulls low, the motor turns on, but where does the
substantial base current required come from?


If my memory is correct, the output stage of the 555 has an open
collector and grounded emitter. In this case a second resistor from
the 4 volt supply to the base of the pnp transistor would ensure prompt
turn off.
Alternately if the output stage of the 555 has active source and sink
stages then you must reconnect the timer to a lower voltage and omit
the second resistor.
Incorrect, its always been a totem-pole output stage (which is why 555's
draw 300mA current spikes on each switching edge, as both totem-pole
transistors momentarily conduct, hence the need for a hefty bypass cap
right across the pins of the device). The totem-pole output can sink
much more than it can source, for much the same disappearing Ibase
reason as this terrible idea.


I am not discussing turn off here at all, merely turn on. As the pnp
turns on, the emitter voltage falls, therefore so does the base,
therefore so does the voltage across the 555-to-base resistor.

my simulation shows this clearly, and I use an ideal voltage source (ie
one that can sink and source many trillions of amps)

As the emitter pulls down,
the voltage across Rbase drops, so Ibase drops, so PNP turns off.
Besides, even if we magically required almost no base current (eg
darlington, Ibase = 3A/10,000 = 300uA) the emitter will *always* be Vbe
above the base, losing a large chunk of the available 4V supply. The
reducing base drive "feature" of this POS *forces* the transistor to
dissipate far more power than it would if switched properly.


You forget that bipolar transistors are not the only kind.
*you* said "Replace Q1 with a PNP transistor"

please explain to me how I can have a pnp transistor that is *not* bipolar?


When the 555 o/p goes to +15V, where does the motor current flow to? by
Lenz' law, the emitter voltage will rise, until the base-emitter diode
is forward biased (IOW about 15.7V) at which point the pnp will turn on,
shunting the motor current to 0V. Of course Vce = 15.7V, with 3A across
it, ramping down to zero in time t = Lmotor*Ipeak/15.7V. dissipation
acros the pnp is thus 23.5W for however long it takes. The motor current
ramps down a lot faster than it ramps up, as it has almost 3x the
voltage across it.


You should never allow Vbe of a pnp transistor to go positive. This is
especially true for power transistors, whose base-emitter junctions
have low reverse breakdown voltages.
read it again. I said "until the base-emitter diode is forward biased"
which of course means Ve > Vb for a pnp. This is implicit in the "about
15.7V" statement immediately thereafter.

although it is possible, depending on stray capacitances and the 555
dV/dt, to apply a momentarily high reverse voltage across the
base-emitter junction. yet another reason not to do it this way.

If the output stage of the 555 has active source and sink stages then
connecting the timer supply to four or five volts ensures proper
biasing of the transistor.
I should mention that, unless the 555 has output clamp diodes (or a FET
output stage) the pnp wont work at all, as all base current has to flow
*into* the 555 output when it is high. An LMC555 will do that just fine
(FETs dont care which way the current goes) but I cant recall OTTOMH
what the vanilla 555 output stage looks like. They probably do have
clamp diodes, and its probably *not* a good idea to bung more than a few
mA thru them, lest you trigger the internal SCR which sits across the
device supply rails (thereby shorting out the 15V supply thru the 555,
and cooking it quick-smart).

changing the supply voltage to 4V does not change the circuit behaviour,
only the voltage at which the pnp turns on again (Ve = 4.7V or so), and
of course the rate-of-change of motor current. Its still a ratshit
circuit, which explains why *nobody* does this.

the magical disappearing base current alone is enough to consign this
POS to the wastepaper basket, where it truly belongs :)


If D1 is left connected across the motor, this turn-off behaviour does
not happen, as motor current commutates thru D1, keeping about 0.7V
across the motor (so current downslope is about 5-6 times *slower* than
the up-slope)

I did a simple simulation in Simetrix, using an MJD2955 and a 1mH
inductor (no winding R), chopped at 100Hz with 15V square-wave base
drive. Peak current is controlled *entirely* by Rbase (ergo by Hfe, so
all over the show with time, temperature and type of transistor). To get
2.5A, I needed Rb = 50 Ohms, and Vcesat actually pulls right up to the
supply rail! The turn-off current commutation behaviour is as described.

In conclusion, this is a *terrible* idea, and will not work.


I suggest doing the circuit analysis. You will find that switching
current in an inductance produces voltage spikes. By contrast switching
voltage across the inductance gives a continuous change in current with
slope discontinuity. Voltage switching in inductive circuits is not an
idea, instead it is standard practice in electromechanical controls
systems.

Herbert
I'd love to see your circuit analysis of this. Admittedly I dont know
much about pissant little motors (definition: anything a human can lift
unaided), but my calculus is OK. yes, V=dLambda/dt = LdI/dt (if and only
if L is constant, otherwise add in an IdL/dt term) so dI/dt = V/L.

all that happens in this case (apart from the appallingly low
efficiency, due to piss-poor base drive and linear operation) is that
the pnp transistor functions as the clamp diode, but in a much more
lossy fashion. For Vcc(555) = 4V, 0.7V is dropped across the motor
(exactly the same as with D1) *but* the C-E voltage of the pnp
transistor is 4.7V, so it dissipates 4.7/0.7 = 6.7 times more power than
D1 would in the same situation.


BTW, the point Ban made is quite correct. The motor has some inductance,
Lmotor. This is what "forces" the current to keep flowing when the
2n3055 switches off. When the switch is on, current ramps up, current
slope = dI/dt = Vbattery/Lmotor. Eventually this current gets so high
the voltage drop across the winding resistance gets in the way (eg in a
relay, Rwinding sets Irelay). When the transistor switches off, the
voltage on the winding reverses (Lenz' law) forward biasing the diode
to, say, 1V. The inductor current now ramps down, dI/dt = Vdiode/Lmotor


In common emitter configuration the 2N3055 approximates a current
switch. Now switching the current produces voltage spikes and
necessitates the diode.

Herbert



Because Vdiode is small (1V cf 15V) the current ramps down slowly. This
will limit the performance you get from the machine. A simple fix for a
low power single-ended circuit is to add a zener in series with the
diode (or a few more diodes), but beware the losses!
Cheers
Terry
 

Welcome to EDABoard.com

Sponsor

Back
Top