| Hall of Disillusion
Here are pictures and descriptions of some of my previous designs. They all worked but with limited performance. There's nothing wrong with them per se, it's just that they didn't live up to my expectations. <sigh>
My first attempts were to drive a unipolar stepper motor. I was still dusting off my electronics knowledge of some 20 years ago at the time. PIC chips offered an easy way for me to get into microcontrollers as they needed only a very few external components. Having blinked enough LEDs I figured it was time to make something move.
I used a simple PIC controller to generate the full and half step sequences and fed these to a quad darlington driver chip. I figured that this would be a simple two chip solution. I wired up a prototype using a breadboard and, wow, it worked. The only problem was the performance was underwhelming. At best I could achieve 2 revs/sec which on the machine worked out to 7 inches of travel a minute. Pretty pokey. Nonetheless, I did use this machine to make parts for my next CNC.
At this point I learned about using power resisters inline with the motor windings so that you could overdrive the motor voltage but it was a crude solution. I yearned for better.
Current Chopping Stepper Drivers
Current chopping or PWM is the other way to handle overdriving the motor coils. You apply a voltage that is much higher than the motor's rating. Then, before the coil current can climb too high, you switch the voltage off. Repeat this 20K times a second and you have a current chopping driver. This method accomplishes the same job as the current limiting resistors used in previous generations but much more efficiently as the extra voltage doesn't have to be dumped as heat.
My first attempts to make such a chopping driver focused on the L6506, current chopping chip from ST Microelectronics. This chip handled monitoring the currents and turning the applied voltage on and off, as the situation demanded. I coupled this with the same quad darlington driver chip I'd used previously but the design never went anywhere. I had bipolar motors and I was itching to use them.
Bipolar Stepper Driver
Using a PIC chip, a L6506 and a L298 (dual H-bridge driver) I embarked on what I hoped would be my final design. Again, the PIC generated the full and half-step patterns, the L6506 monitored the coil currents via small sensing resistors, and the L298 applied power to the coils. I made a PCB using toner transfer and whipped up a prototype.
Again, the design did work but the performance was only marginally better that would I'd achieved with my very first attempt. I could approach 4 revs/sec before the motors would start running rough, torque would dwindle and then finally the motor would stall.
I was right in the middle of my next attempt, which would have implemented microstepping, when I stumbled upon THE reference design by Microchip and I saw the light.
Next Section: Doing It Better