Build Your Own Rotary Encoder

The cheaper variety of rotary encoders, including those from Bourns, are mechanical devices rarely capable of generating more than 25 pulses per revolution (ppr). If more ppr are desired, an optical encoder is usually a better alternative. Devices exist in this class with up to 256 ppr but then the price is well beyond the reach of the hobbyist. A mechanical (pulley/string) transmission to increase the ppr of mechanical encoders is possible in theory but at the cost of an awkward amount of torque. Also, the simplest solution (apparently) of turning the mechanical encoder faster than usual is not viable as it will stress the device beyond its limits. Another alternative is to turn a small stepper motor into an encoder. After all, a stepper motor has permanent magnets inducing voltages in the rotor coils. Without going into too much detail, a stepper motor requires two signals with a phase difference of 90 degrees. The voltages generated per coil can then be said to represent a ‘Gray code’, that is, two voltages 90 degrees out of phase.

Circuit diagram :

Build your own rotary encoder-Circuit Diagram

Build Your Own Rotary Encoder Circuit Diagram

Smaller motors salvaged by the dozens from old printers and flatbed scanners are particularly suited to our purpose as they usually turn smoothly and have a small cogwheel attached allowing a larger wheel to be driven. A 1:10 transmission for example easily results in a rotary encoder with 150 or so ppr, which may be very suitable for tuning a receiver in 100 Hz steps. Some printers and flatbed scanners have stepper motors with 1- or 2-wheel gear reductions on the spindle. The motor used by the author gave an effective reduction of 1:13 using two wheels. A 6-mm spindle was provisionally mounted on the second cog-wheel, and turning the spindle resulted in 180 pulses per revolution.

In this circuit, voltages supplied by the coils in the stepper motors are converted into square wave signals having TTL levels. As with a ‘real’ Bourns encoder, Gray encoded signals are output at 90 degrees phase difference. The two opamps inside the TL072 case are configured as comparators. Thanks to their high gain, even small voltages are reliably processed, enabling your logic to respond when the spindle is turned slowly.

The additional hysteresis created with R1 and R2 is required in view of the ‘output’ signals typically supplied by the stepper motor. This simple circuit is the poor man’s equivalent of a very reliable, high resolution rotary encoder and may also be used to decode speed and direction of fast turning spindles on, for example, electric motors. Mechanical encoders simply aren’t suitable for that purpose.

Author :Gert Baars - Copyright : Elektor