I want to replace with a discrete speed controller. I have an old
Philips cassette recorder with a controller that looks sophisticated but
originally didn't work because the AC127 germanium npn leaked like a
sieve. But I can't see some of how it works anyway, which is annoying.
The current sense resistor seems to be very low in value; only 17 mV
across it. OK, all of and change in it gets to the emitter of the npn,
through the diode level-shifters, but the gm of the Ge npn is not all
that high at Ie = 4.5 mA. I don't see very much loop gain. This is what
it looks like (use Courier font):
+------1 kohm----------+
| e BC328 |
+ 7.5 V (batt) o--------+----\_/---+--6.5 ohm--+---+------+
9,0 V (mains) | | | |
+-||-+ 4.7 nF BA315 V |
| BA315 V |
+-100 ohm-+ | |
| | | Motor
360 ohm | | |
| |/ AC127 | |
Speed adj. 100 ohm pot---|\e Ge npn | |
| | | |
620 ohm +----------+ |
| 560 ohm |
0 V o--------------+--------------------+------+
The motor takes 26 mA at 3.7 V off load, which is almost the same as I
want for the turntables, but I have a 14 V supply available. The BA 315
diodes look like ordinary double-plug diodes, nothing special.
With a 'good' AC127, it holds the motor current and voltage within close
limits from 6 V to 12 V applied, but I can't get it to work with a
silicon npn and a suitably adjusted 360/100/20 pot chain to allow for
the larger Vbe; that is the major problem. I'm not surprised; Philips
didn't put a Ge device in there for no reason. I suppose I'm missing
something obvious.
--
Regards, John Woodgate, OOO - Own Opinions Only. http://www.jmwa.demon.co.uk
Interested in professional sound reinforcement and distribution? Then go to
http://www.isce.org.uk
PLEASE do NOT copy news posts to me by E-MAIL!
The circuit is sufficiently obscure for such a simple circuit that it
seems best just to look at the physics of what is to be accomplished.
The voltage across a permanent magnet motor is Em=I*R+w*Ke where I is
current, R is internal resistance, w is angular velocity and Ke is the
generator constant of the motor. Because T=I*Kt where T is torque and Kt
is the torque constant of the motor, I can write Em=T*R/Kt+w*Ke. It
happens that Kt and Ke are directly proportional (equal in MKS units) so
that the right hand term, w*Ke, dominates in low friction situations
whenever Kt is sufficiently large. So for constant speed, without
tachometer feedback, the best you can do is a constant voltage source.
Perhaps looking at it that way will help.
Chuck
--
... The times have been,
That, when the brains were out,
the man would die. ... Macbeth
Chuck Simmons chr...@webaccess.net
Two points:
(1) If you measure the DC resistance of the motor you can make the
voltage regulator have a compensating negitive resistance. This is
actually fairly easy to do.
(2) If you use a PWM circuit to power the chip, you can measure the back
EMF of the motor when the power is off and regulate that to control the
speed. This is harder than option (1).
--
--
kens...@rahul.net forging knowledge
>So for constant speed, without
>tachometer feedback, the best you can do is a constant voltage source.
>Perhaps looking at it that way will help.
Thank you. However, all these motors do seem to have current sensing. I
suppose the brush gear creates a fluctuating torque (or maybe resistive
loss variations) that would cause speed changes.
>(1) If you measure the DC resistance of the motor you can make the
>voltage regulator have a compensating negitive resistance. This is
>actually fairly easy to do.
Do tell! (;-)
I am not sure I can help with debugging your circuit, but I have another one,
very similar, and which uses only Si transistors. Beside the values of the Rs,
the most notable difference is that the upper leg of the pot chain is
connected to the Collector, not Base of the power bjt. I can post it on the
Web if you're interested.
Thanks.
A.Iakovlev
Could you please e-mail it to me at jmw(at)jmwa(dot)demon(dot)co(dot)uk?
>I am not sure I can help with debugging your circuit, but I have another one,
>very similar, and which uses only Si transistors. Beside the values of the Rs,
>the most notable difference is that the upper leg of the pot chain is
>connected to the Collector, not Base of the power bjt. I can post it on the
>Web if you're interested.
That's IT! I guessed it was something obvious. The Philips came with a
schematic, but one drawn by an artist, and when I re-drew it, I
connected the pot chain to the base instead of the collector of the pass
transistor. So the corrected circuit/schematic is: (use Courier font):
+------1 kohm----------+
| e BC328 |
+ 7.5 V (batt) o--------+----\_/---+--6.5 ohm--+---+------+
9,0 V (mains) | | | |
+-||-+ 4.7 nF BA315 V |
| | BA315 V |
100 ohm | | |
| 360 ohm | Motor
| | | |
AC127 \|_100ohm pot | |
Ge npn e/| | Speed | |
| | control | |
+--- | --------------+ |
620 ohm 560 ohm |
0 V o-------------------+---------------+------+
But it also works with a silicon npn; of course, there's no reason why
it should not. You just have to increase the base voltage with the speed
pot.
A replacement for the AN6652 might well be very useful to others, so
I'll do some more work on it. A red LED instead of the diodes looks
good.
If you redraw this as an opamp and resistors (forget about the level
shifting diodes), you will find that this circuit has the motor in a
bridge. The bridge is approximately nulled for the resistance of the
motor and there is negative feedback from the generator voltage. Since
the open loop gain is low, the bridge null can be approximate and still
work well. This might help you compute optimum resistors for different
motors. The emitter of the lower transistor is the minus input of the
overall amplifier and the base is the plus input.
> > +------1 kohm----------+
> > | e BC328 |
> > + 7.5 V (batt) o--------+----\_/---+--6.5 ohm--+---+------+
> > 9,0 V (mains) | | | |
> > +-||-+ 4.7 nF BA315 V |
> > | | BA315 V |
> > 100 ohm | | |
> > | 360 ohm | Motor
> > | | | |
> > AC127 \|_100ohm pot | |
> > Ge npn e/| | Speed | |
> > | | control | |
> > +--- | --------------+ |
> > 620 ohm 560 ohm |
> > 0 V o-------------------+---------------+------+
> >
> If you redraw this as an opamp and resistors (forget about the level
> shifting diodes), you will find that this circuit has the motor in a
> bridge. The bridge is approximately nulled for the resistance of the
> motor and there is negative feedback from the generator voltage. Since
> the open loop gain is low, the bridge null can be approximate and still
> work well. This might help you compute optimum resistors for different
> motors. The emitter of the lower transistor is the minus input of the
> overall amplifier and the base is the plus input.
I think you are right. Since this is a Philips circuit
it may be the one in the original Philips speed-control
patent, that Bill Sloman mentioned a few months back.
John, below is a later Ferranti circuit that is more
flexible and probably easier to tune for different
motors.
+-----+----|<|------+----------------+--6v
| | +|100uF |
RV1\ \ R3 === \
100/ /1 | 22/
\ \ -+-0v \
| | |
B2<--+ +----------+---+---+ /|\ +-+-+
| | | | | | | |
| | | | | Vc | |
| [Motor emf] | \_|_ \ \|/ |/e e\|
| | === /_\ /<-------| pnp |--<B2
R1 \ | 0.1| | \200 |\ /|
330/ [Motor Ra ] | | |RV2 | |
\ | +---+---+ | |
| | | +-----+ |
+-----+ \ | \ |
| |220pF 270/ | 680/ |
\| === \ | \ |
npn|----+--------------|-------+ | |
e/| | | |
| | | |
--+--------------------+-------------+---+--0v
They used a longtailed pair to look at the bridge,
(RV1, R3, R1, Motor). I've drawn the motor as two
components, resistance Ra, and the back emf at the
required speed. The unmarked zener is a ZN423 (1.2v).
There are two pots, one to set the control stability,
and the other to set the speed. The Ferranti sums
seem to say;
For stability; R1*R3 = RV1*[Motor Ra] <--- Adj RV1.
For the speed; Voltage Vc = [Motor emf] <--- Adj RV2.
Notice that unbalance voltage Vc. It explains those
two BA315 diodes in the Philips circuit.
--
Tony Williams.
> For the speed; Voltage Vc = [Motor emf] <--- Adj RV2.
Oh buggerit! You sit there, admiring your elegantly
liquid prose, then the typo reaches out and smacks
you in the face........
Voltage, Vc = [Motor emf]*RV1/(R1+RV1).
Which means that RV1 must be adjusted first, for
control stability, then RV2 for the req'd speed.
That sum for Vc is also the proof that [Motor emf],
is kept constant, which is also motor speed.
To optimise the circuit for a particular motor it
is obviously useful to measure the motor's resistance,
and the generated emf at the required speed.
--
Tony Williams.
>I read in sci.electronics.design that Ken Smith <kens...@rahul.net>
>wrote (in <amfepv$go2$1...@samba.rahul.net>) about 'Speed control for small
>d.c. motors', on Fri, 20 Sep 2002:
>
>>(1) If you measure the DC resistance of the motor you can make the
>>voltage regulator have a compensating negitive resistance. This is
>>actually fairly easy to do.
>
>Do tell! (;-)
Hi John,
Here is a link I posted before:
-----------------------------------------------------------
-----------------------------------------------------------
Another idea, purely in the analog domain, is shown in this
application note:
http://www-s.ti.com/sc/psheets/sboa043/sboa043.pdf
A *perfect* motor, run at constant voltage, will run at a
constant speed. This is because the back emf is what limits
the current. The motor will speed up until the back emf
equals the applied voltage. As soon as you try to slow it
down with an external load, the back emf drops, and it takes
more current, has more torque, and so speeds up again.
This is all for a perfect motor; real ones have winding
resistance so that this does not work perfectly. The circuit
in the application note compensates for the winding
resistance by adding an equal "negative resistance", so that
the behavior approaches the ideal. In fact, if the negative
resistance added is too much, the motor will speed up under
load!
-----------------------------------------------------------
-----------------------------------------------------------
HTH!
--
John Devereux
Note that you may measure the motor's torque constant with a torque
watch and a constant current source, From the torque constant, the
generator voltage at any speed is immediatly known.
>Since this is a Philips circuit
> it may be the one in the original Philips speed-control
> patent, that Bill Sloman mentioned a few months back.
I recall that, but of course the article has expired here. I wonder when
it was patented. In any case, I doubt that Philips would find it
worthwhile to sue me!
>
> John, below is a later Ferranti circuit that is more
> flexible and probably easier to tune for different
> motors.
Thank you very much.
Thank you very much.
>Note that you may measure the motor's torque constant with a torque
>watch and a constant current source, From the torque constant, the
>generator voltage at any speed is immediatly known.
Noted; I do have some torque watches, but not in the required torque
range. (8-(
As an aside, on a customer evaluation board that I designed, I use 4
LM1877 stereo power amplifiers and a couple of LT1215 opamps for motor
power drivers for small motors. Two are configured as transconductance
amplifiers (current feedback) to drive linear voice coil motors. One is
configured as a voltage driver (output voltage proportional to input
voltage). The last is jumper configurable as a voltage amp, a
transconductance amp or a BEMF driver. Each LM1877 is connected as an
"H" driver to get 20 volts p-p available for the motors. The BEMF driver
configuration adds two resistors to complete a bridge in which the motor
and the resistor used for current sense in transconductance mode form
one leg. Two jumpers are used to change the configuration of the
(1/2)LT1215 feedback amplifier/level shifter since the sign of the
feedback changes between transconductance configuration and BEMF
configuration. There is a third jumper which disconnects the (1/2)LT1215
output for voltage drive configuration. Voltage mode also requires a
change in the local feedback on the "master" side of the LM1877 "H"
power amp. Note that the goal of the evaluation board is to allow
customer evaluation of a set of ASIC chips in a fully operational system
configuration including customer provided electromechanical and other
parts. The various configurations of the one amplifier are needed to
support mechanics we have seen.
I know the feeling. I helped a friend install a 26.5 inch telescope at a
customer site. We had just balanced the 'scope with the safety clutches
completely loose using fish scales. After tightening the clutches, he
wanted to know if they were right. He depressed the 'scope near the
horizon and I strolled to the end of the truss and lifted myself off of
the ground without the telescope moving at all. We decided the clutches
were fine. A few weeks later, the owner of the telescope severely
damaged an ill placed ladder with the telescope. I think we could have
eased up on the clutches a bit. :-)
> +-----+----|<|------+----------------+--6v
> | | +|100uF |
> RV1\ \ R3 === \
> 100/ /1 | 22/
> \ \ -+-0v \
> | | |
> B2<--+ +----------+---+---+ /|\ +-+-+
> | | | | | | | |
> | | | | | Vc | |
> | [Motor emf] | \_|_ \ \|/ |/e e\|
> | | === /_\ /<-------| pnp |--<B2
> R1 \ | 0.1| | \200 |\ /|
> 330/ [Motor Ra ] | | |RV2 | |
> \ | +---+---+ | |
> | | | +-----+ |
> +-----+ \ | \ |
> | |220pF 270/ | 680/ |
> \| === \ | \ |
> npn|----+--------------|-------+ | |
> e/| | | |
> | | | |
> --+--------------------+-------------+---+--0v
I'm not happy about that 22 ohm tail resistor. Too
much tail current. It is what the app note says, but
maybe it should be 220 ohm. The need for at least
some CMV into the lt-pair might also explain that
diode up in the top rail.
--
Tony Williams.
The problem is that if you make the 22 into a 220, you have to increase
R3 to get futher off of the rail. This reduces efficiency. In any event,
you have to change the values if you use a different motor. The circuit
above is not a "one size fits all" kind of thing.
> > > +-----+----|<|------+----------------+--6v
> > > | | +|100uF |
> > > RV1\ \ R3 === \
> > > 100/ /1 | 22/
> > > \ \ -+-0v \
> > > | | |
> > > B2<--+ +----------+---+---+ /|\ +-+-+
> > > | | | | | | | |
> > > | | | | | Vc | |
> > > | [Motor emf] | \_|_ \ \|/ |/e e\|
> > > | | === /_\ /<-------| pnp |--<B2
> > > R1 \ | 0.1| | \200 |\ /|
> > > 330/ [Motor Ra ] | | |RV2 | |
> > > \ | +---+---+ | |
> > > | | | +-----+ |
> > > +-----+ \ | \ |
> > > | |220pF 270/ | 680/ |
> > > \| === \ | \ |
> > > npn|----+--------------|-------+ | |
> > > e/| | | |
> > > | | | |
> > > --+--------------------+-------------+---+--0v
> The problem is that if you make the 22 into a 220, you have to increase
> R3 to get futher off of the rail. This reduces efficiency. In any event,
> you have to change the values if you use a different motor. The circuit
> above is not a "one size fits all" kind of thing.
The CMV of the lt-pair is the diode drop, plus
the voltage across R3, plus "Vc", OR... the diode
drop, plus V(RV1).
The motor in the Ferranti circuit is not specified,
but the s/c current looks to be about 100mA, and
it may be around 2-4V nominal voltage (wild guess).
This makes Ra around 20 to 40 ohms, say 30.
In turn that makes RV1 around 11 ohms and V(RV1)
60 to 120mV. With a tail resistor of 22 ohms
that would make the tail current about 2.7mA to
5.4mA.
Yes you are right.... I could live with half of
that flowing in the 680+npn(base-emitter)
--
Tony Williams.
I've made the modified Philips circuit work quite well with the
Matsushita motors. Mods are trivial, mainly using a silicon npn instead
of Ge, and a red LED instead of two diodes. The pot-chain resistors have
to change a bit to allow for the silicon Vbe.
What you say about Ra seems a little off. As it happens Ra/R3 should be
near R1/RV1. That is, I would expect Ra to be about 3.3 ohms. I don't
have any brush motors here but I have a Sankyo brushless DC motor that
is very small and apparently intended for 6 to 12 volts. The motor
resistance is about 2 ohms from a coil lead to the Y center. I have
another brushless motor that has about 1 ohm coils but it is intended
for high speed and high torque (it will do about 10,000 RPM with a 12
volt supply while the Sankyo does about 3000 RPM at 12 volts).
> What you say about Ra seems a little off. As it happens Ra/R3 should be
> near R1/RV1. That is, I would expect Ra to be about 3.3 ohms.
A 3.3 ohm Ra would make the tail current even worse
than first estimated.
RV1 is a 100-ohm pot, so 3.3 ohms is the minimum
value for Ra. If RV1 has (say) a useable adjustment
range of 10 to 100 ohms, that would allow for an Ra
ranging from 3.3 to 33 ohms.
The original comment about the 22-ohm tail resistor
was based on measured Ra's [see below]. A guessed Ra
of 6 ohms was assumed, which would give RV1= 55 ohms.
(Which is nicely near the centre of a 100 ohm RV1.)
At 5v max across the bridge that would be about 0.7V
across the 22-ohm tail resistor... 32mA tail current,
which does seem excessive.
If (as originally suggested) the "22" was a typo, the
first thought was 220 ohms, but I now see that 82 is
another possibility. With Ra=6, this would give max
tail currents of 3.2mA (220R) and 8.5mA (82R).
I think that 8.5mA (82R) tail current is more in
keeping with the base current needed to drive the npn
output transistor.
> I don't have any brush motors here.....
[snip]
I've measured the resistance (at stall) of three
6v to 12v, mini-drill type of brushed motors. They
were roughly 5, 8 and 8 ohms.
--
Tony Williams.
I don't understand your calculation at all. When the motor is running,
the BEMF dominates the drop across the motor. A motor with a 3.3 volt
winding might have a current of 100ma flowing and a voltage drop of 4
volts. The resistive part of the voltage would only be 0.33 volts while
the motor's generator voltage is the rest. In my 4 volt drop example,
there is about a 1 volt drop on RV1 and maybe 18ma in the 22 ohm
resistor.
The idea of the circuit is that Ra and R3 are one leg of a bridge and R1
and RV1 are the other. The resistors are chosen so that the bridge is
very near balanced for the motor resistance. When this is done, RV2 sets
the desired BEMF of the motor and thus the speed. Though not shown so,
if RV1 is a variable resistor, the circuit will accomidate a range of
motor resistances with the minimum being 3.3 ohms. For a 6.6 ohm motor,
RV1 would be adjusted to about 50 ohms.
Sorry, Tony. I reread your post and you are saying the same thing I am.
I use a circuit that is the same in principle but is more complex
because it is configurable for torque, speed or voltage control. It uses
(1/2)LT1215 and all of an LM1877. The application is really position
control but there is often no feedback so dead reckoning is used (since
desired position is always known). I currently use voltage control
because it is the best behaved of the three modes. I would prefer speed
control in the high friction situation but cheap motors have very poor
commutators which introduce unpredictable behavior at low speeds with
BEMF control. Torque control was very dissapointing in the face of high
and variable friction. Voltage control is far more predictable with
cheap motors.
> I don't understand your calculation at all.
[snip]
> In my 4 volt drop example, there is about a 1 volt drop
> on RV1 and maybe 18ma in the 22 ohm resistor.
+-----+----|<|------+----------------+--6v
| | +|100uF |
RV1\ \ R3 === \
100/ /1 | 22/
\ \ -+-0v \
| | |
B2<--+ +----------+---+---+ /|\ +-+-+
| | | | | | | |
| | | | | Vc | |
| [Motor emf] | \_|_ \ \|/ |/e e\|
| | === /_\ /<-------| pnp |--<B2
Look closer, at that diode in series with
the +ve line to the bridge. It's drop is
roughly the same as the Vbe of the pnp.
It makes V(22 ohm) = V(RV1) approx.
I(22 ohm) = 45mA when V(RV1) = 1V.
--
Tony Williams.
I have an old
> Philips cassette recorder with a controller that looks sophisticated but
> originally didn't work because the AC127 germanium npn leaked like a
> sieve.
>
> +------1 kohm----------+
> | e BC328 |
> + 7.5 V (batt) o--------+----\_/---+--6.5 ohm--+---+------+
> 9,0 V (mains) | | | |
> +-||-+ 4.7 nF BA315 V |
> | BA315 V |
> +-100 ohm-+ | |
> | | | Motor
> 360 ohm | | |
> | |/ AC127 | |
> Speed adj. 100 ohm pot---|\e Ge npn | |
> | | | |
> 620 ohm +----------+ |
> | 560 ohm |
> 0 V o--------------+--------------------+------+
The Iceo of the Germanium will be a substantial beta*Icbo, but,
nonetheless, I cannot see how it is competitive with an effective 1K to
GND in the PNP base circuit anyway. The BC328 should be saturated at all
times for this current level.
That schematic is wrong and I posted a corrected on, with the pot chain,
but not the 100 ohm, connected to the collector of the pnp. It's then a
bridge voltage- controller, more primitive that Chuck's but good enough
for hi-fi. (;-)
Actually, this has been quite an interesting thread. It turns out the
thread was quite useful. I measured the winding resistance of a bunch
sledge motors and tray motors for commercial DVD players and writers.
Sledge motors in the types not using steppers were 3 to 6 ohms and
depended on mechadeck manufacture date. The newer ones have high
resistance motors that are so cheap I fear to touch them. Tray motors
were pretty much 5 to 6 ohms and equally cheap. I had a surprise with
spindles. It seems the supplier changed spindle motors on me without
telling me. I have one batch of decks that will spin up to about 12,000
RPM loaded and another batch from the same company that look identical
but can only just reach 8,000 RPM. The newer motors have a higher torque
constant which is not the direction I wanted them to go. The speed of
the spindles (DC brushless motors) is controlled by means of BEMF from
two leads. The BEMF is extracted and turned into logic by a comparator.
The pulse times are measured with a counter and compared to an ideal
count. BEMF is used because at some future time, during my copious spare
time, I am supposed to eliminate the hall sensors - something that was
done in hard drive spindles 15 years or so ago.
> Sorry, Tony. I reread your post and you are saying the same thing I am.
I wondered if we were at cross purposes.
> I use a circuit that is the same in principle but is more complex
> because it is configurable for torque, speed or voltage control. It uses
> (1/2)LT1215 and all of an LM1877. The application is really position
> control but there is often no feedback so dead reckoning is used (since
> desired position is always known). I currently use voltage control
> because it is the best behaved of the three modes.
I've only done two or three dc motor controllers,
all analogue, one with a tacho. So am no expert.
> I would prefer speed control in the high friction situation
> but cheap motors have very poor commutators which introduce
> unpredictable behavior at low speeds with BEMF control.
One of those 8-ohm motors had an Ra that was much
higher (>50 ohms) at low current. Which is why I
noted the measurements as being "at stall". It
was as though the commutator needed a significant
wetting current.
--
Tony Williams.
That's typical, yes.
This seems to have to do with the rotation angle of the commutator. The
only brush motor I have at home (I am drowning in DC brushless motors)
is a 24 volt servo motor with a 1024 line encoder with index. It is
about 20 ohms but at various rotational positions, as high as 150 ohms
can be measured. This shows why the some of the highest quality servo
motors you can get DC brushless types.
The variability of resistance with angle in brush motors is less of a
problem with spring loaded carbon brushes than it is with wire brushes.
The problem I have seen with BEMF control with small cheap motors is
that with little inertial load and at low speeds, the motor torque
ripple causes large speed variation anyway. A turntable or the like has
high enough inertia to reduce the speed ripple due to torque ripple to
very small values. Of course, a lot of small DC brushless motors have
far less torque ripple than brush motors of comparable size.
Unfortunately, brushless motors require more support circuitry. The
drive circuit I currently use uses a Unitrode (TI) UC3625 for
commutation and safety circuits and 6 MOSFETs for up and down drivers. I
developed much of my spindle drive code with a simpler DC brushless
motor driver using junk box NPN and PNP transistors for up and down
drivers and a few gates to decode hall switch states into coil states.
As I recall, one or two 7486s will decode all required states and some
inverters drive the transistors.