4QD-TEC: Electronics Circuits Reference Archive
Stepper Motor as Encoder
It is quite possible to use a small stepper motor as a rotary encoder. Here's a circuit I knocked up when, I was designing automatic welding machine controls, as a feasibility study. In fact the idea was never used, so I never designed logic to process the signals.
It uses a bipolar stepper (with two windings, or 'phases'). Only one phase of the stepper is shown here - you will need to duplicate this circuit for the second winding.
The problem with a stepper (or any other motor) used as a generator is that at very slow speeds it gives virtually no output - so there is a problem with slow speeds. You have to make some sort of trade off between high speed and low speed performance. Proper encoders use optical switches which work at any speed. Of course their problem at slow speeds can be jitter.
The circuit is a simple op-amp but with two diodes (the transistor b-e junctions in the feedback to split the feedback for positive and negative outputs. On positive output from the stepper coil the top transistor tuns on, on negative, the bottom. One or other LEDs lights for each polarity.
Resistor R can be omitted: its function is to allow a dead band at the centre/low frequency. Without it one or other LEDs is always on. With it, output C will be at centre point for very low rotation or stopped stepper.
In the original we had R at 100K and C as 470n: the circuit responded as low as 1/3 r.p.m. You will have to reduce C for higher output frequencies.
If you use a scope in X-Y mode with Y deflection on one circuit output 'Z' and X on the other circuit, you can clearly see the states of the 'encoder' as in the state diagram below. At A both outputs are high, and at C both are low. At rest (with R present) it is at state O. When rotating the points A,B,C,D can all be seen and will occur in one direction for clockwise rotation or reversed for anticlockwise.
© 1996-2011 4QD-TEC
Page's Author: Richard Torrens