Electronics > Projects, Designs, and Technical Stuff
Tear me apart: Relay Step Attenuator
BurnedResistor:
Hey All!
As a first foray into the world of Audio (coming more from a digital/embedded background), I am working on an Audio Relay-Step-Attenuator and input switcher
In a few bullet points:
• 7 stage / 128 steps
• 0,5db step
• “constant input impedance” design: Each divider represents an input load of 10k
• Relay Mute
• Fully passive, inputs isolated from each other
• Switching between 4 inputs
I have attached the schematic.
I would be very grateful if someone could just look over my work and tear me a new one. I can handle it. I promise.
I also have a few questions:
1: Are the Omron G6K-2F-Y-3VDC a good choice here?
I mostly picked them based of the small smd footprint and the 3v coil voltage saving me a second power rail. I am really not sure if there are any specifications I should be paying attention to for audio stuff? 50’000’000 Mechanical operations should last me a while? Are there any shielding concerns?
2: How important is the order of the attenuation stages?
I have seen both the stage with highest and lowest attenuation first, and as far as I understand the circuit it theoretically should not matter: Each stage represents (almost) the same input load. Would it make sense to reverse the order so the highest attenuation would come last? That way the signal would be a higher amplitude longer, possibly bettering SNR? Would changing the order of the stages make the attenuator more susceptible to changes in what the actual load it sees are?
3: Output load correction
This attenuator type is designed to expect to see an output load of 10k. However, the devices I will most likely connect to the output all have an input impedance of around 20-45k. I thought I would include an (adjustable) resistor at the output to increase the load to closer to 10k. I ran some simple simulations in python (see attached plot), it seems that as long as the load the attenuator sees is greater than 10k, the performance is good enough for me (steps are no longer 0.5db, but the attenuation always increases, meaning that there would be no jumps of volume in the opposite direction when changing volume).
4: How necessary is it to keep the signal grounds isolated?
Right now I am switching both the signal and ground of each input, meaning the grounds of the various input signals are not connected together. I admit this “fully passive, don’t touch the signal at all” mostly comes from being afraid of doing anything that could reduce signal quality. Also I am scared of ground loops between phono preamps, dacs, headphone amps etc. I can swallow the cost of 3 extra relays as this design is only for me, but how necessary is this?
5: How should I be grounding the metal case/ground plane?
As a tag along to the previous question. I am on an isolated 9vAC supply. If I keep switching the signal grounds, what should I be tying the metal case and possible ground fills around the audio signals too? To whatever signal ground Is currently selected? The ground reference point of my digital circuitry? Tie the ground plane to whatever is selected and the case to digital ground? It seems a little strange to be switching the tie point of the metal case…
6: Muting when unconnected
A single button is used to cycle between the inputs (I can’t really get more inputs from the user). I would like to avoid large amounts of noise when cycling past an input that is currently unconnected/floating. For the 3.5mm inputs I was able to deal with that using the switch in the jack, but there are no such switches in the RCA plugs. I thought about adding a small jumper to ‘terminate’ those inputs? Maybe tie the signal to gnd using a 1M-10M resistor (that seems like a bad idea thought). Any thoughts? Maybe I just have the MCU keep the signal muted for a second or two when changing inputs…
I hope this did not get too wordy!
And again: I am really doing this to learn, so please tell me if everything I am doing is naïve, stupid, and pointless :P
Thank you!
thm_w:
Possibly some ideas here:
youtube.com/watch?v=no6lPPVh6Ec
https://www.diyaudio.com/forums/equipment-and-tools/310334-at2380v1-2-channels-digitally-controlled-stepped-attenuator.html
--- Quote from: BurnedResistor on March 24, 2020, 09:25:39 pm --- Maybe tie the signal to gnd using a 1M-10M resistor (that seems like a bad idea thought). Any thoughts? Maybe I just have the MCU keep the signal muted for a second or two when changing inputs…
--- End quote ---
Sounds reasonable to me, maybe 10-100k resistor. But you said your input divider has a constant load of 10k, so shouldn't that be enough to pull the signal down?
BurnedResistor:
--- Quote from: thm_w on March 24, 2020, 11:18:52 pm ---
Sounds reasonable to me, maybe 10-100k resistor. But you said your input divider has a constant load of 10k, so shouldn't that be enough to pull the signal down?
--- End quote ---
Right... ofc... thank you :) |O
Prehistoricman:
Do the relays have consistent timing between each other?
What I'm thinking is that if you're switching from -32dB to -31.5dB that you may briefly have 0dB attenuation when K7 disconnects, but the other relays have yet to make contact.
I like how you have all the attenuation relays on the lower byte of a single port, so you can change the attenuation very easily in code.
duak:
There could be a problem because the release time of the relays is extended by the flyback diodes across their coils. If so, one of the ways to shorten the release time is to put a resistor in series with the flyback diode. Start with a value about the same as the series resistance of the coil.
Apparently, Mark Levinson used relays to switch the attenuators in some of their products. I haven't seen a schematic and some have said that ML used more relays than you would expect, probably to get around the 31.5 to 32 dB step problem. BTW, this is known in the digital to analog converter field and occurs when a number of things have to switch simultaneously and perfectly. Sometimes you can use a different binary code like the Gray code, but that won't work here. I think it comes down to the weighting of the individual stages & switches and the only way around it is to use more switches so that any error or glitch is not so obvious. However, that being said, it may not be a problem in the actual application.
I'm not sure these relays are the best choice for a low level application like this. Looking at the data sheet I see that although the manufacturer says they are signal relays, the contacts are a silver alloy and they are rated for 2 A. I'd consider this to be a dry circuit where the voltage is less than 1 V and the current is less than a few mA. Silver is likely to tarnish over time causing an increased resistance. Gold is generally used for contacts like this but I don't see a gold flashed version to be available.
Navigation
[0] Message Index
[#] Next page
Go to full version