One of the biggest hurdles I had with stepper motors was the differences with them. On the one hand, some motors seemed to need little more than a transistor to run (such as the ULN2003 Darington IC I used with this motor. On the other hand, sometimes the complexity is higher (like the part count on Ladyada’s motor driver board). So why the confusion?
In a nutshell, there are two major kinds of stepper motors, and they need radically different ways of control. To understand, consider a typical ‘ordinary’ motor. This motor is in an endless game of ‘catch-up’ – a coil inside turns on (‘energizes’), and the rotor in the center spins towards a magnet because of attraction. But as soon as it gets there, the current changes, and another coil is energized, causing it to go to the next magnet. By timing this on and off attraction, the typical motor is spun around, always attracted to the next magnet, but never actually getting there before the power switches. The reason why is simple: if the power stayed on, the rotor would rotate to the next magnet, and then stop cold, since it would be ‘locked’ in position by magnetic attraction. So for a normal motor to work, it MUST turn the power on and off as it rotates.
But imagine it didn’t: instead, a motor moved by turning on magnetic coils in a series, slowly ‘tugging’ the center rotor around in a circle. Now you have a stepper motor – slower since the tugging and stopping takes time, but more powerful, since the magnets actually ‘grab’ the center rotor and hold it. And unlike a regular motor, you know where the position of the rotor is at all times, because YOU turned on a specific coil to tug it into position.
So, a stepper motor has coils inside, and we turn power on and off in a pattern via a computer to make the rotor turn – but then what’s the Unipolar versus Bipolar issue?
The two types of motors have to do with how the internals are wired up. Without over complicating things, a Unipolar motor has two pairs of windings (electrical coils), and a Bipolar has one pair. The difference comes in handy when you connect them up: since a Unipolar has two groups of coils, you can wire one up for reverse, and one for forward. But a Bipolar has the single pair of coils, so you need outside help for forward/reverse.
(By the way, for those familiar with the two motor types, this may sound too simplistic – however, I read a lot of questions from people asking what the motors are all about. I could add yet another article on the Internet about windings, center tapping, 4 versus 6 wires, etc, but the ones out there aren’t helping some people – hence this simplified view).
Of course, a Unipolar motor can only activate one pair of its coils at a time (no use turning on forward AND reverse coils together of course!), so you end up with half the motor off at any given time. This means that a Bipolar motor of the same build is roughly twice as powerful, since all the wires in it are active. But as we see, you need more external circuitry to manage a Bipolar motor, since the outside circuit has to reverse the current to reverse the motor. This circuit, called an H-Bridge, is more complicated than the driver for a Unipolar (which basically is four transistors or other power drivers, one for each line of the coils). That’s why LadyAda’s board has more going on with it – it’s a Bipolar stepper driver.
So there’s your options: somewhat better performance for a Bipolar motor over Unipolar, but more complicated circuitry. The choice is yours; however, if you want to hedge your bets, you can often use a Unipolar motor on a Bipolar stepper motor driver. The reason is that those two pairs of coils are wired together, so if you know how they are wired, you can make the motor ‘look’ like a bipolar to the stepper motor driver. So, if you spend extra on a bipolar driver, you can usually use either motors. The reverse, however, is rarely true; a Bipolar motor on a Unipolar circuit will often just thrash around (if you can get it working), since it needs the circuit to reverse the current. One exception to this is if you only need to use a Bipolar motor in one direction; in that case, you CAN use a Unipolar stepper driver, since the current never needs reversing – however it’s rare you’ll want to use a stepper motor, yet never need to reverse it.
I hope this very brief overview of the two types helped clear them up: hopefully it gives you an idea of what they are, and will send you on your way researching them in more detail!