The subject of stepper motors is clearly very popular, with many reader responses to every published article. A design for a unipolar controller appeared in the May 1999 issue, and now we present a bipolar version. 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 first glance, Table 2 appears incorrect, since there seem to always be four active intervals. However, you should consider that a current flows 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 12 V. 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.