Control accurate incremental voltage steps with a rotary encoder

Experimenting with an HF oscillator, I needed to control the varactor diode voltage in precise increments over a 2V-10V range. A buffered potentiometer was the obvious choice, and connecting two pots in series to give coarse/fine control (or using a multi turn pot) would offer improved control over the varactor voltage. However, this approach still didn’t allow me to generate uniform increments and decrements of the control voltage in a reliable, repeatable manner. I needed a solution that would provide the necessary precision together with complete flexibility over the size of the voltage increments.

I eschewed a microcontroller-DAC arrangement as this would require specialized components and the voltage increments would be dependent on the DAC resolution (and I was too lazy to write the code anyway). A digi pot with up-down control was another possibility: this would offer a non-volatile solution like the DAC approach, but again, the increments would be entirely dependent on the pot’s resolution.

The solution documented in this Design Idea can be assembled using inexpensive, readily available components, and the voltage increments are user-definable. An inexpensive rotary encoder is used to control the output voltage – a single step of the encoder increments or decrements the voltage by a precise amount, providing easy up/down control like a conventional pot.

The outputs of an incremental encoder typically consist of two signals in quadrature (i.e., phase-shifted by a quarter period), which produce a specified number of pulses per shaft revolution, each pulse corresponding to an increment of rotation. Internally, the encoder has two switches connected to a common terminal. This terminal is usually connected to ground, and the two outputs are connected to pull-up resistors (R1, R2). R3/C1 and R4/C2 provide contact de bouncing, with IC1a and IC1b producing squared-up signals at points A and B. The encoder should be connected so that when it is rotated clockwise, the rising edge of signal A leads the rising edge of signal B by a quarter period; conversely, when it turns counterclockwise, signal B leads A by a quarter period:

C3, R6, and IC1c implement a conventional digital differentiator or mono stable which generates a narrow, negative-going pulse whose width is dependent on the C3-R6 time constant. This pulse is generated on the rising edge of signal B and is used to enable analog switch IC2a by means of the INHIBIT input. Whenever this input is high, the analog switch is completely open-circuit and no current flows through integrator resistor R7. When the output of IC1c pulses low, the switch closes, and R7 is momentarily connected to either the positive supply rail or ground, depending on the UP/DOWN input. The state of the UP/DOWN signal when the analog switch is enabled depends on the rotation direction of the encoder.

Read More: Control accurate incremental voltage steps with a rotary encoder

Leave a Comment

Your email address will not be published. Required fields are marked *