[sdiy] digitally controlled potentiometers
Heiko van der Linden
hjvanderlinden at hotmail.com
Sun May 6 19:01:09 CEST 2007
Hi All,
I have been working recently on digitally controlled potentiometers.
The idea is to be able to use these potentiometers as drop-in replacements
for cloning projects and new synth projects. The potentiometers will be
controlled by a rotary encoder on the panel of the synth or by MIDI and a
supervisory microcontroller. This will make it possible to make real analog
synths
that have patch memory and will be able to dump the movements of the knobs
as automation tracks via MIDI.
Looking into existing solutions I did not really find anything that I liked.
Motorized potentiometers would be really nice to have but these are
really expensive ! Another option would be the digital potentiometer
ICs that are prevalent on the market. But most of these ICs have standard
values and a much too low resolution. I am looking at 12 bits or higher and
would like to go to 16 bits to allow very accurate tracking of the movements
of a potentiometer.
So... I have started to take my own approach to these potentiometers.
The approach is pretty standard I guess. Basically I have a number of
resistors in series or parallel and their values increase in a binary
fashion.
The lowest resistor is R, than 2R, 4R, 8R etc. I want to use digitally
controlled
switches to bypass the resistors and thus increase or decrease the
resistance
according to a digital value. The problem that I have found thus far is that
I could not find suitable switching components to allow a truely bipolar
signal (10Vpp)
to pass through the bypass switches. If I use BJTs and MOSFETs these will
undergo unwanted conduction during the negative cycle of a signal. (Hence
my earlier question about switching of audio signals).
One option that I can see at the moment is using reed relays, but these have
slow switching speeds which do not allow the potentiometer to follow rapid
knob
movements. And of course the reed relays are expensive, make switching noise
and
the method is patented.
Another option was suggested by Ian Fritz: to use to mosfets connected
together
by the sources. http://www.zetex.com/3.0/appnotes/design/dn3.pdf
And a furtherl method was suggested by ASSI. He suggested to use control
gates like
the DG4xx series. I can see problems with both methods. The first method
will result
in a voltage loss due to the forward diode drop over the substrate diode and
probably
also in deterioration of the sound passed through this circuit. The second
method
has the problem that the Ron of the switched in the control gates is quite
high (60 Ohm).
If I want to make potentiometers with a high resolution the lowest
resistance value (R)
is (very) low (in the range of 1 to a few Ohms). So this will not work.
Finally I have a third option which would be to voltage shift the incoming
signal such that
the signal stays positive during the entire cycle. Then I would not need to
use switching
solutions , which allow bipolar signal processing. But such a solution would
mean that the
potentiometer is not truely bidirectional. Feeding a signal through the
potentiometer in one
way would work, but not in the other way since the levelshifter opamps work
only one way.
Am I doing things the wrong way and are there good commercial (and cheap)
alternatives
to make digital potentiometers or is it just hard ? ;-) I really would like
to make these
components because I think they will be very interesting for the
construction of analog
synths and would be a nice addition to the pool of circuits for synths
already floating on
the net !
Heiko
P.S. I forgot to mention that I know that MOSFETs can be used as linear
resistors if driven
with a small signal, but this hardly seems viable to act as a drop-in
replacement for pots in
existing synths. I also know that vactrols have been used as some sort of a
voltage controlled
potentiometer, but they seem to be too non-linear and also not the real
drop-in solution.
_________________________________________________________________
Exercise your brain! Try Flexicon.
http://games.msn.com/en/flexicon/default.htm?icid=flexicon_hmemailtaglineapril07
More information about the Synth-diy
mailing list