Low Power Bipolar Stepper
I found my little stepper at a surplus electronics store in my area. I try to get over there as often as I can and I like to support their efforts. This motor was less than 3 bucks and was totally a spontaneous purchase. I probably would not have done this project if I had not spotted it there. I think it’s great that there is still a store like this in the area.
Of course, it came with no datasheet. I believe the foam carton it was resting in had been marked “9V Stepper Motor” with a black marker. But I’m not sure of that anymore. Maybe it was “6V”. The only number on the motor is “A87DT”. I have turned up references to NEMA motors with “A87#” as some part of a number, but those motors are definitely not this one. Eventually I decided to try it first with a 5V supply, and that worked well enough for demonstration purposes.
4-Wire Stepper Basics
You can find plenty of articles about driver hardware and theory of operation on the internet. But it seems really difficult to find a comprehensive description of bipolar stepper construction. The diagrams and descriptions seem to have been simplified too much. The best overviews of bipolar stepper construction seems to be on YouTube. This video is among the best descriptions of bipolar stepper topology. I’m going to go ahead and give a quick description of stepper construction/operation.
Fig. 1a below is about the simplest depiction of stepper motor construction possible. Imagine that a voltage across A+ and A- is such that the winding on the right creates a N pole at its left end. The rotor (arrow) is assumed to be a S pole at its pointed end. The rotor is drawn to the position shown. The opposite end of the rotor will be a N pole and the winding on the left will generate a S pole at its right end, reinforcing the pull on the rotor. To make the rotor turn clock-wise, we stop energizing the A+/- windings and energize the B+/- windings so that the bottom winding generates a N pole at its top end, and the top winding generates a S pole at it bottom end pulling the rotor to a new position, pointing down. To take the next step clock-wise, we de-energize the B+/- windings and energize the A+/- winding again, but this time with reversed polarity from the previous time. The rotor now swings to point to the left. Finally, we de-energize the A+/- windings and reverse energize the B+/- windings and the rotor swings clock-wise to point straight up. We go back to the first step to complete one revolution. This is a 4-position per turn stepper. Not a very realistic one. But keep in mind the driving of each set of windings with variable polarities and the different magnetic poles created by those changing polarities.
Ufortunately, Fig. 1a is not how a bipolar stepper motor is constructed. There is no South/North poles on the rotor to consider. Thinking of the rotor this way is just confusing. Refresh your memory by reviewing the video referenced above. I try to clarify next.
A Slightly Better Illustration
The illustration of Fig. 1b is much closer to representing the topology of our 4-wire stepper motor. A real motor has more coils on the stator and more poles on the rotor. The outer ring (stator) is composed of multiple coils connected to A+/- and B+/-. As in Fig. 1a the coils are wound so that each alternate one generates a magnetic pole opposite in polarity to the one before and after. Additionally, the coils on A+/- are interleaved with the coils on B+/-.
The rotor, for the purposes of this discussion, will consist of all South poles. (See the video mentioned above for clarification of this. We assume we are looking at end-plane of the motor.) Note that there are 8 poles on the stator but only 6 poles on the rotor. Unfortunately, this distorts the operation of the motor. The rotor should have two MORE poles than on the stator. We’ll just have to make-do with this situation.
We first drive the motor so that the coil labeled “Phase 1” is a North pole on the end closest to the rotor. This will attract the nearest South pole on the rotor and it will be aligned as shown in Fig1.a. But what about the A-windings that are generating South poles. Doesn’t that repel the rotor poles? Yes, it does. So look at the A-winding labeled “Phase 3” and the A-winding directly across from it. See how the rotor poles at these locations are evenly split on each side of these windings? The repulsion holds the rotor in this position just as well as the “Phase 1” winding attracts the South rotor pole.
Now we want to make a step in the clockwise direction. We stop driving the “Phase 1” A coil and drive the B coil to the right so that its inward facing pole is a North pole. This will attract the South pole of the rotor magnet that is aligned with the Phase 1 winding and the motor steps clockwise to align with the B winding. The situation with the B South poles is the same as we saw with the A South poles — the rotor poles are repelled but they are equally spaced on each side of the B South poles. We want to step clockwise again. Now we stop driving the B windings and reverse the A drive polarity in the 1st step and the rotor pole is attracted from the B pole to the next A clockwise located pole. The geometry and polarity of poles work in exactly the same way as when the rotor pole was at the top of the diagram. This sequence continues over and over.
Driving a 4-Wire Stepper
The above discussion described “Wave” or “Single-Phase” operation of the motor. The sequence is A1, B1, A2, B2. For “Full-Step” or “Two-Phase” stepping, the sequence is A1+B1, B1+A2, A2+B2, B2+A1. This applies more force to the rotor and generates more torque than single-phase stepping. Two-phase stepping is the most often used method of driving the motor. Another method is “One-Two-Phase” or “Half-Stepping”. This combines single and two-phase stepping. The sequence is: A1, A1+B1, B1, B1+A2, A2, A2+B2, B2, B2+A1. Full-step and half-step methods are described in my video. Microstepping is beyond the circuitry we are playing with here.
I have presented no real design info for the H-bridge. If you are interested in that subject, check-out this page. Since I’m only running this motor on 5V and using small signal transistors, it’s almost impossible to damage anything here. However, I am running about 190mA thru the coils of the motor. The motor warms-up some after about 5 minutes. You might try putting 100ohn or so resistors as collector loads of the driver transistors. I was going to try that, but it’s 8 more resistors and I just did not want to upset the layout. It would be better to play with the bias anyway. I did not want to take the time for that on just a little demo project. But you can see that there are a lot of benefits to using a dual H-bridge IC over this discrete H-bridge.
So here is the code plus schematic pdf in a zip and tar. Sorry, no C code this time.
Download Bipolar Stepper Project: - TAR: bipolar.tar
Download Bipolar Stepper Project: - ZIP: bipolar.zip
And here is the schematic:
The components in this H-bridge are just a “back-of-the-envelope” design. When ‘on”, there is a little less than 190mA flowing through each coil. This is about 800mW. This is probably too much current for long term operation. I only run this for no more than about 5 minutes at a time. Collector resistors could be added to the drivers (4 or 8 more resistors!) or the current could be reduced by changing the bias resistors. I don’t really expect anyone to build this. It’s really just to demonstrate the concept, present a detailed picture of the electronics required, and to demonstrate to you why you should really use a dual H-bridge IC for your design.
An IC sized to your application also has the benefits of simpler control signals, protection from illegal states, power conditioning/monitoring, and some ICs provide rise-time control, which this design could benefit from.