Pop/click free HW-based relay attenuator

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi,

The attenuator needs a 10K termination resistor to maintain a 10K total attenuator impedance.
The output impedane varies between 0R and ~5k.
No matter how You ´terminate´.
If using a 10k termination from out to gnd the Zout still varies, just on a lower scale from 0R to ~3k3.
It´d be wishful if Zout would be lower (~1k) and constant to allow for a fully passive volume control.

jauu
Calvin
 
Hi,
The output impedane varies between 0R and ~5k.
No matter how You ´terminate´.
If using a 10k termination from out to gnd the Zout still varies, just on a lower scale from 0R to ~3k3.
It´d be wishful if Zout would be lower (~1k) and constant to allow for a fully passive volume control.

jauu
Calvin

If using the specified resistor values and a 10K termination resistor from output to GND, you will get a constant input resistance of ~10K and a Zout that varies between 0 and 5K06.

You could also configuere it with a constant Zout of 1K but then the input resistance would vary between 1K59 and 121K if you have a load of 100K. This would also require a small redesign of the board to do.

The reason for having a fixed input resistance and varying output resistance is simple a question of what is most convenient. Most people put a volume control at the input of their system and there it is wise to have a relatively high input resistance so as to not overload any source connected to the input/volume control.

What you propose require people to have source that is capable of driving below 2K loads and a lot of sources on the market are not happy about that.

If you have a source capable of driving such low loads or include some buffering before the volume control, it is an alternative, but for most people, it just is not an option.
 
Short explanation for the 10K termination resistor.

Looking at the attached picture, R1+R2 is the attenuator, R3 is the termination resistor.

R3 should be 10K and attached from the OUTPUT of the attenuator and to GND.

With the resistor values in the BOM, the termination resistor has to be 10K and this ensures that the total attenuator impedance stays at 10K and all 128 steps are 0.65dB.

If a lower/higher value termination resistor is used the total attenuator impedance will be lower/higher than 10K and the steps will no longer be 0.65dB(step size will vary between steps, not good)

So it is essential for correct operation of the attenuator, that the output of the attenuator always sees a load of 10K to GND.

The total attenuator impedance of 10K and the termination resistor value of 10K can be changed but it will require to replace R1-R28 with different value resistors.

EDIT : Just to add some real world experience. I am currently using a 15K termination resistor in my test setup and the step sizes seems good enough. But the optimal value is still 10K and that will also be what I will have in my final setup.
 

Attachments

  • Termination.png
    Termination.png
    11.2 KB · Views: 757
Last edited:
fwiw, amb and I also designed (and amb sells) a relay atten that works with our controller, the LCDuino. its been out for a few years now and its fairly click-free on most transitions. it does not use SMD parts and is all thruhole. see amb.org (delta1) for more info.

ours is controlled by motor pots or IR or rotary encoders and includes an lcd display as well as the option to integrate an in/out selector, as well.

code is all arduino-based and is open source.

fwiw (giving an alternative design for those that want an arduino and lcd based solution).
 
And takes up several times as much space, your boards are HUGE compared to my small 125 mm x 40 mm board. ;)

But for the people who are not comfortable with soldering small SMD components it is an option.

However, SMD is the future, better get used to it. :)
 
Last edited:
lol, size was not an issue when we designed it. buildability was an issue and while we could have gone SMD, we decided that most DIY builders would prefer thru-hole.

also, some people think (I am not 100% sure either way) that thicker resistors are lower noise than the smaller ones. so, people can pick from a large choice-space of resistor brands and sizes and we also provide a few hole LS's so you could fit different length resistor bodies there.

the board is meant to stack and have multiple vol controls (multichannel or balanced mode) and also have a stackable i/o selector, so its a whole system, just not a single attenuator and pot).
 
lol, size was not an issue when we designed it. buildability was an issue and while we could have gone SMD, we decided that most DIY builders would prefer thru-hole.

also, some people think (I am not 100% sure either way) that thicker resistors are lower noise than the smaller ones. so, people can pick from a large choice-space of resistor brands and sizes and we also provide a few hole LS's so you could fit different length resistor bodies there.

the board is meant to stack and have multiple vol controls (multichannel or balanced mode) and also have a stackable i/o selector, so its a whole system, just not a single attenuator and pot).

SMD resistors these days can be just as good as the best thru-hole resistors available.

Just remember that it has to be Thin Film and NOT Thick Film.

A Thin Film resistor series like Susmu RG, is an excellent low noise series of resistors, with excellent stability and precision.

On top of that, it is relatively cheap and the supply is plentiful.
 
Last edited:
I did not do any tests on various resistor types, but it seemed to make sense to let users pick what they want. I'd like to get some data on how noisy type A or B or C is (etc) on the same platform with the same config, but I never did that level of testing. maybe I will at some point since I have some larger 'sausage' (lol) looking fat resistors from vishay and some really thin ones from a lesser brand that were cheaper. that might give some data on the noise level, but then again, it could end up being that the noise of the resistors is not the limiting factor, here.

I recommend that vol controls like this always be close to the next stage or have a buffer in between if there is some distance and cabling between the preamp and amp. the buffer will probably be the noisier thing, even if you use the best you can get, today.

there was a rip-off project of ours (I saw some work done on the 'head-case' audio forum) and they essentially duplicated the same schematic but made it all smd-based. I have no idea how that version compared and was never given one to try out (even though it was a direct ripoff of our design). I don't think they made more than an initial run of the boards.

are you using latching or non-latching relays? I think non-latching; and we use latching ones (which makes the firmware a lot more complex but makes the psu a lot less and puts out less heat since relay state is 'stored' by the latchers).
 
I did not do any tests on various resistor types, but it seemed to make sense to let users pick what they want. I'd like to get some data on how noisy type A or B or C is (etc) on the same platform with the same config, but I never did that level of testing. maybe I will at some point since I have some larger 'sausage' (lol) looking fat resistors from vishay and some really thin ones from a lesser brand that were cheaper. that might give some data on the noise level, but then again, it could end up being that the noise of the resistors is not the limiting factor, here.

I recommend that vol controls like this always be close to the next stage or have a buffer in between if there is some distance and cabling between the preamp and amp. the buffer will probably be the noisier thing, even if you use the best you can get, today.

there was a rip-off project of ours (I saw some work done on the 'head-case' audio forum) and they essentially duplicated the same schematic but made it all smd-based. I have no idea how that version compared and was never given one to try out (even though it was a direct ripoff of our design). I don't think they made more than an initial run of the boards.

are you using latching or non-latching relays? I think non-latching; and we use latching ones (which makes the firmware a lot more complex but makes the psu a lot less and puts out less heat since relay state is 'stored' by the latchers).

Non-latching, if I were to use latching relays, the amount of digital logic needed would probably have to be doubled to control them.

I am going to use this attenuator for a "high-end" headphone amplifier.

Basically it would be like this :

Input buffer with gain > Attenuator > High current unity gain output buffer.

Input and output buffer will both be placed on the same small 70 mm x 40 mm, 4 Layer PCB.

Maximum output would be 10Vrms into 50 Ohm - 600Ohm loads, 9Vrms into 32 Ohm loads.

Everything built with SMD components, yes this means OP-AMPs are used as well. Like OPA1612, OPA827, OPA140, BUF634.

Total noise with x4(12dB) gain should be lower than -115dBv.

Totally DC coupled, output offset less than 120uV.

It will be dual mono, so I am going to use a 4-Pin XLR as output, this is done to eliminate crosstalk.

But I am not ready to share any more details at this moment. :)
 
Last edited:
what do you have in mind for control of this? just a single analog style pot?

amb designed a discrete follower buffer (a20 is his model #) and we recommend that as the follower. its also all thru-hole (the fets are not available in smd and neither are enough of the parts to justify it). low noise and low distortion was the goal, with modest gain ability (best built at unity, as a follower, but sometimes gain is useful, here).

input buffering can be useful, but also a problem. if you clip the input buffer, nothing you do after can undo that. the solid state vol control chips all benefit from input buffering but then again, they have max input levels and so staying under that on the front-end is not hard.

relays have no max input level. I've personally put over 60v thru mine (to test!!) and with no active pre-stage, there's no limit on dyn range. in that case, I don't usually recommend pre-buffering on relay attens.

are you going to open-source yours, assuming there's a software component to it?
 
what do you have in mind for control of this? just a single analog style pot?

amb designed a discrete follower buffer (a20 is his model #) and we recommend that as the follower. its also all thru-hole (the fets are not available in smd and neither are enough of the parts to justify it). low noise and low distortion was the goal, with modest gain ability (best built at unity, as a follower, but sometimes gain is useful, here).

input buffering can be useful, but also a problem. if you clip the input buffer, nothing you do after can undo that. the solid state vol control chips all benefit from input buffering but then again, they have max input levels and so staying under that on the front-end is not hard.

relays have no max input level. I've personally put over 60v thru mine (to test!!) and with no active pre-stage, there's no limit on dyn range. in that case, I don't usually recommend pre-buffering on relay attens.

are you going to open-source yours, assuming there's a software component to it?

Control is just a single analog pot, it could not be simpler.

There is no SW, that was the whole point of this design, everything is done the old way, with digital logic ICs.

Those who bought the PCB just have to order the components, mount them on the board, add a 12V DC power supply, add a potentiometer, make sure that there is a 10K termination resistor and they are good to go.

Input clipping could be an issue but in my own upcoming design, with a gain of x4(12dB), the input stage can handle up to 2.5Vrms input. That might seem low, but most DACs output around 2-2.5Vrms in single ended mode so it should not be an issue, besides, my own DAC design will have a 2Vrms output, so there is no problem there.
 
Last edited:
ok, so our goals are entirely different. our view is that a controller is useful here (for many many things) and your view is to keep it very simple with only a single knob for volume.

one thing we get from a software approach is to allow setting of 'windows'. meaning: you can define what the least point on the knob is (minimum value) as well as the max. in our software, you can define both and the min value is usually the mute value and the max value is what you set so that the volume at full right-turn of the knob won't have the neighbors complaining ;)

you can change inputs and the last-used volume value is recalled. there is remote control (which is not needed for headphone-only listening, of course) if you want to use it; or just ignore that and use the pot, only.

people have done builds using only a pot but you have the option of a full lcd display and IR remote control if you want it.

at any rate, there seem to be a lot of preamp and vol control designs going around these days. users have tons of choices now that they didn't have just a few yrs ago.

I wrote my software and opened it up as a result of the frustration I got from buying ebay/china kits and NOT having any ability to change things. it annoyed me enough that I wrote my own firmware and gave it away to the world, for free. there is really no reason to use the ebay/china boards anymore now that there are several open source (hw or sw) versions, really.
 
This is the great thing about DIY, people can build things exactly they way they want to do it.

I built this to my own specifications, for my own needs and if there is a few other people willing to buy a few boards from me, great.

Anyone is free to make their own layout from my schematic if they want to, for personal use only. But original PCBs, are only available from me.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.