More Motor Shenanigans
Of course, I wanted to get the Arduino out of my motor control circuit. The Arduino is capable of controlling the stepper motor in an infinite variety of speeds, transitions and directions. However, I was running my stepper motor clockwise adjustable from zero to 40 RPM. Not a demanding control sequence at all. The Arduino was overkill.
This modest application called for the old reliable 555 timer circuit. I had an ST NE556N, which is two 555 timers in one 14 pin DIP package. Using the Astable Operation circuit schematic in the ST Microelectronics datasheet, I built a timing circuit to control the EasyDriver stepper motor controller. I installed a 10K potentiometer in place of RA to allow adjustment of the stepper motor speed. See the schematic from the STMicroelectronics datasheet, shown below.
I powered the ST NE556N and the EasyDriver from a 12v watt wart supply. At first, the circuit worked correctly. After a few minutes, the motor stopped spinning I observed that the ST NE556N IC had a spot on the top of the plastic DIP package. I replaced the ST NE556N and the circuit worked. Soon, I observed the top of the plastic DIP package deform while simultaneously, the motor stopped spinning.
Close inspection showed a deformity on the top of the NE556 IC. I fried a few of these and one Allegro 3967 motor driver chip as well before I determined the problem. In the photograph, notice the horizontal white line above the “VW” and to the left of the “G4012”. This is a crack in the IC case caused by my circuitry error overheating the 555 output stage. With stereoscopic vision, this little crack is quite noticeable. However it does not photograph well.
I compared my circuitry against the application notes for both the ST NE556N and the Allegro 3967. All seemed correct. Since I’m new to motor control, I consulted with my buddy Kevin, who has a good deal of experience with motor control circuits. After looking at things for 30 seconds, Kevin observed that I was controlling the Allegro IC with a 12v signal. So here’s the oops: the motor run at 12v, the NE556 runs at 12 v, and the EasyDriver runs at 12v, but the EasyDriver expects 5v control signals. By connecting the 12v output from the 556 to the EasyDriver Step input, I was overdriving the Allegro and frying my active components.
We remedied the situation by finding the 5v supply on the EasyDriver and powering the ST NE556N from the EasyDriver supply. No more problems. As I write this, the motor is in the lab, working happily in its intended application.