Head-Fi.org › Forums › Misc.-Category Forums › DIY (Do-It-Yourself) Discussions › Arduino based passive analogue input selection & volume control
New Posts  All Forums:Forum Nav:

Arduino based passive analogue input selection & volume control - Page 7

post #91 of 123
Quote:
Originally Posted by _atari_ View Post
The input attenuator is designed as a separate board, since some people will not like the PGA4311. It would add a lot of hassle to add it to the board (due to layout) - so I think a separate board is ok (for me).
If you look for a stepped attenuator check Twisted Pear's Joshua Tree attenuator.


The height of the boards is about 2.2 inch. The width of the input selector is roughly 4.2 inch.
The maximum component height is defined by the plugs & capacitors. I think something like 1cm (~0,4 inch) - perhaps a bit more. You should be able to use horizontal connectors if you have more space horizontally than vertically.

Did this answer your questions?

Yep, thanks!
post #92 of 123
Now that the attenuator is in a different board, it seems the passthrough connectors are the same as the other connectors. Now, how do we bypass the attenuator? (some inputs have built in volume control and others would require the attenuator)

Nice design!
post #93 of 123
Thread Starter 
Quote:
Originally Posted by glt View Post
Now that the attenuator is in a different board, it seems the passthrough connectors are the same as the other connectors. Now, how do we bypass the attenuator? (some inputs have built in volume control and others would require the attenuator)

Nice design!
The design is becoming to be nice - it is not as nice yet, as I want it to be.

I have rethought the bypass problem several times. I think the easiest approach would be either a protection board (which acts as bypass) and has input protection capacitors on it. Or a single bypass board.

I have left it out for the attenuator to make the design even more flexible.

What do you think?
post #94 of 123
Here is a simple way to configure:

All inputs are the same in the input selector board (ISB)

ISB1 is used to connect all the sources with no volume control
The output of ISB1 connects to attenuator board. The output of attenuator board connects to ISB2, other sources with volume control also connect to ISB2. Output of ISB2 connect to amp

Thus no changes to your design :-)
post #95 of 123

I2C addresses

I couldn't figure out how many I2C addresses will the board support, but 2 minimum for the "ladder" configuration I proposed
post #96 of 123
Thread Starter 
The 3 address pins enable the use of 8 devices on one I2C line. That should be enough before you have to get 'creative'.
post #97 of 123
Yeah 3 bits is plenty for addresses. Another observation to the attenuator board is that other designs use optoisolators for the digital control (not sure if it makes any real difference, but it is a cheap addition)
post #98 of 123
Thread Starter 
No problem if all digital components share the same ground and are driven by 5 volt. Opto isolators are definitvely protecting the inputs.
On the other hand - it is a very controlled environment.
I will consider this - but dont be astonished if I reject it. Never had problems that called for opto isolators.
It has its points if you are using switches
Dont know yet
post #99 of 123
I think some people worry about noise from the micro processor noise leaking into the volume attenuator, not so much level translation or input protection. The PGA chips have special gnd plane layout recommendations in order to avoid digital noise in the digital gnd contaminating analog gnd
post #100 of 123
it would be nice to have a nice 'same vs same' compare of using opto isolators vs leaving them out.

the protos I've built never had the optos and I'd love to know if they help and under what situations they help.

they seem like a good design choice but are they strictly *necessary* ?

perhaps if you totally (really really) isolate the 5v digital and analog grounds, then optos would be mandatory. but on common ground configs, I'm not sure optos help, to be honest. experimental data is needed, I think, to prove it one way or another.

another question: does anyone know if digital ground HAS to be tied to analog ground? I have not tried it (yet) but its on my TODO list.
post #101 of 123
Thread Starter 
I do not think it is necessary to use opto isolators.
You could use independent digital voltage supplies for the micro and the switching circuit. But I do not see the point in this. Since you will most probably have only on digital supply anyway - else you would need several transformers and I do not see any improvement in that.

But I suggest tie analog and digital ground together. You could omit it. The relays isolate it well enough. But there was recently a very interesting blog posting about floating grounds and their misbehavement:

My 2µF » Floating voltages and bad GND connections — getting zapped and worse
post #102 of 123
Thread Starter 

Single Ended to Balanced Converter

As prelimnary last board I present the single ended to balanced converter.
It is based on the DRV134 chip by TI. The schematic is very simple and more or less directly from the datasheet. Add a relay to circumvent the conversion for balanced signals, add an ATiny13 to control the relays (it will have a special firmware which does nothing else than ensuring that the relays are set to bypass the converter if the SE pin is low.

The board is again 2.2 inches high and as straight forward as the schematics:


This time I really need your help - since I am more familiar with digital circuits than analog ones. Is there anything I can do better (probably much)?
Are there big mistakes?

Thanks
post #103 of 123
Any updates atari?
post #104 of 123
fwiw, I've been using a PGA23xx chip 'behind' an i2c port expander chip for the past few weeks. seems to work and does not do bad things to the bus (lcd and other things still work).

so, I do suggest having whatever vol control chip you are using be behind a PE chip of some kind. I'm using a philips style PCF8574 and that seems to be cheap, easy to use and fast enough to do volume ramp/fades. I'm just bit-banging the SPI lines over i2c protocol. very very inefficient but its so simple and it works just fine.

Index of /arduino_libs/pga23xx is where a snapshot of my code is.

you can run the PGA chip directly from the arduino:

#ifdef USE_PGA_SPI
...

or you can run it from 'behind' an i2c chip:

#ifdef USE_PGA_I2C
...

the code is a bit rough but it does seem to work in both local and remote configs.
post #105 of 123
Can't wait till all these Arduino based projects are ready for the masses

Definitely lots of cool stuff going on.

Jeff
New Posts  All Forums:Forum Nav:
  Return Home
Head-Fi.org › Forums › Misc.-Category Forums › DIY (Do-It-Yourself) Discussions › Arduino based passive analogue input selection & volume control