Go Down

Topic: using multiple digital potentiometers (Read 330 times) previous topic - next topic

transientmotion

Hi everyone, I'm currently designing a polyphonic synth for my dissertation at university. I have 4 input (possibly 8) controls that need to be distributed to 8 voice cards, so I was thinking of using digital potentiometers. I saw that only 2 digital potentiometers can be used at a time with an Arduino, but I was wondering if there's any way 32 (or possibly 64) potentiometers could be used. Is there any way the signal could be multiplexed so identical sets of the 4 inputs could be sent to each of the 8 cards?

Thanks for any help you can give

septillion

Yeah, you could multiplex it. But it really depends on the chip you (wan to) use and what kind of communication it uses. For SPI it's easy, you only need a CS pin for each chip. With I2C you probably need a I2C multiplexer because most chips only support a couple of addresses.

But a thing to note on digi-pots, most can't handle other voltages then between GND and Vcc. (And I actually don't know any who can.) So your audio signal may not exceed it and may not go negative. This can be done, but it's something to pay attention to.
Use fricking code tags!!!!
I want x => I would like x, I need help => I would like help, Need fast => Go and pay someone to do the job...

NEW Library to make fading leds a piece of cake
https://github.com/septillion-git/FadeLed

transientmotion

ah, I assumed that it could be a straight swap for the 1M potentiometers that would normally be used. This is proving to be the trickiest part of my project as all 8 cards need the same 4 input signals sending to each of them, and as I am using an Arduino for the midi and polyphony control I hoped I could use one to control the envelope inputs. I did have Vactrols suggested in place of the potentiometers as another way of them being centrally controlled, but they're quite expensive for what i need. 

Grumpy_Mike

Quote
With I2C you probably need a I2C multiplexer because most chips only support a couple of addresses.
The trick here is to use an Arduino output on each pot's address line. Make sure they are all normally low. The the one you want to use you put the appropriate output pin high, and then write to the pot at the address with the pot's address high. After writing to it you set the output low.

So you have a whole bunch of post at an address you don't use, and only one pot at a time at the address you do use.

No need to multiplex the I2C lines.

septillion

No, digi-pos are unfortunately not drop in replacements.

@Grumpy_Mike, yep, that's a smart solution as well. If the device supports changing it's address on the fly. Although I think (mumble something about assumptions and mother of...) most do.
Use fricking code tags!!!!
I want x => I would like x, I need help => I would like help, Need fast => Go and pay someone to do the job...

NEW Library to make fading leds a piece of cake
https://github.com/septillion-git/FadeLed

Grumpy_Mike

Quote
Vactrols suggested in place of the potentiometers as another way of them being centrally controlled, but they're quite expensive for what i need. 
Expensive! They should be dirt cheap there is nothing in them, you can make them yourself.

However they are no good for what you want as they very non linear.

Go Up