First, we want to
explain how such a controller works and what’s involved. A bipolar motor
has two windings, and thus four leads. Each winding can carry a
positive current, a negative current or no current. This is indicated in
Table 1 by a ‘+’, a ‘–‘ or a blank. A binary counter (IC1) receives
clock pulses, in response to which it counts up or down (corresponding
to the motor turning to the left or the right). The counter increments
on the positive edge of the pulse applied to the clock input if the
up/down input is at the supply level, and it decrements if the up/down
input is at earth level.
The state of the counter is decoded to produce the conditions listed
in Table 2. Since it must be possible to reverse the direction of the
current in the winding, each winding must be wired into a bridge
circuit. This means that four transistors must be driven for each
winding. Only diagonally opposed transistors may be switched on at any
given time, since otherwise short circuits would occur. At ﬁrst glance,
Table 2 appears incorrect, since there seem to always be four active
intervals. However, you should consider that a current ﬂows only when a
and c are both active. The proper signals are generated by the logic
circuitry, and each winding can be driven by a bridge circuit consisting
of four BC517 transistors.
Two bridge circuits are needed, one for each winding. The
disadvantage of this arrangement is that there is a large voltage drop
across the upper transistors in particular (which are Darlingtons in
this case). This means that there is not much voltage left for the
winding, especially with a 5-V supply. It is thus better to use a
different type of bridge circuit, with PNP
transistors in the upper arms. This of course means that the drive
signals for the upper transistors must be reversed. We thus need an
inverted signal in place of 1a. Fortunately, this is available in the
form of 1d.
The same situation applies to 1b (1c), 2a (2d) and 2b (2c). In this
case, IC4 is not necessary. Stepper motors are often made to work with
12V. The logic ICs can handle voltages up to 15 to 18 V, so that using a
supply voltage of 12 V or a bit higher will not cause any problems.
With a supply voltage at this level, the losses in the bridge circuits
are also not as significant. However, you should increase the resistor
values (to 22 kΩ, for example). You should preferably use the same power
supply for the motor and the controller logic. This is because all
branches of the bridge circuit will conduct at the same time in the
absence of control signals, which yields short-circuits.