Making a hifi amp/preamp without ANY moving parts (pots, switches etc)

Status
Not open for further replies.
Don't you own a sound-card -external or internal? Using the free "REW" software, it will make you a distorsion analyser.

//

I don't yet have a working distortion meter - I have a National VP-7721 lined up for refurbishment but that'll take a while. Certainly I couldn't hear any distortion, the end customer for this is a vinyl user so perhaps his source eclipsed the volume control's distortion.



I don't have the aversion to moving parts the OP does. But I'd guess some kind of touch panel might do the trick. At a bare minimum, up/down volume functions from skin resistance sensing with interleaved PCB fingers?
 
Where would you get the control signal for a VCA from when you don't use any moving parts?

Touch pad into a microcontroller. Normally I use a rotary encoder but that violates the
'no moving parts' rule. Of course an infrared or RF remote could run it just fine with the same
microcontroller. Do the buttons on the remote violate the 'no moving parts' rule? They're not in the preamp.

The noise and distortion of a PGA2311/CS3310 are very low and the channel balance is excellent.
They're very easy to load with an Arduino. Want some sample code? It also controls tone
control chips. You could adapt the code to different chips quite easily.

Control Voltage for the THAT chips could come from DACs loaded by the micro. I didn't read the
data sheet. How accurate is gain vs control Voltage? THAT makes good stuff so it's probably
quite good.

 
Last edited:
The switches are usually CMOS pass gates, which is jargon for a PMOS switching transistor in parallel with an NMOS switching transistor - similar to a 4066.

Beware of chips like the 4066 as the resistance of the gate varies with the signal Voltage. Analog Devices has some very low
on resistance chips. They also vary with signal level but when the difference is 5-7 ohms variation the
distortion would be very low.

Of course you could achieve extremely low distortion by putting the switch into a transimpedance amplifier so that there is no
Voltage change across the gate. Even inexpensive chips like a 4051/4052 would be in the 0.00 something distortion.

The preferred way to do that would be unity gain buffers on all inputs so that the source impedance becomes a constant.
Without the buffers the signal level would change because source impedance will add to the input resistor.

ADI chips are typically not cheap but I wouldn't have an issue with the price. Single piece from DigiKey is $11.07 for a
dual 4:1 or a single 8:1 ADGS1408 8:1 or ADGS1409 dual 4:1

OR another way is to use opamps with an enable input and only turn on what you want and sum the multiple amps
together and use no 'switches' at all.

Sounds like a fun project.

 
Well, I don't think that digital volume control IC convert the sound to digital and after attenuating it, they convert it back to analog.. Or do they?

It sounds like a PGA2311. The gain control is loaded digitally but the audio is never converted to digital.
It's just a resistor ladder for 95.5dB of attenuation followed by up to 31.5dB of gain. 255 steps of 0.5dB.
Since it is linear in dB you can do 'balance' by simply offsetting the control numbers. You just need
to 'clip' the binary values so they stay between 0 and 255.

The PGA is pin and software compatible with the Cirrus CS3310 I.E. pick the one you like. I got CS3310s
for $2 each. Needed 3, bought 5. They are very easy to load from an Arduino.

 
It sounds like a PGA2311. The gain control is loaded digitally but the audio is never converted to digital.
It's just a resistor ladder for 95.5dB of attenuation followed by up to 31.5dB of gain. 255 steps of 0.5dB.
Since it is linear in dB you can do 'balance' by simply offsetting the control numbers. You just need
to 'clip' the binary values so they stay between 0 and 255.

The PGA is pin and software compatible with the Cirrus CS3310 I.E. pick the one you like. I got CS3310s
for $2 each. Needed 3, bought 5. They are very easy to load from an Arduino.


Then why would I care about other attenuation methods?... This is the best solution. Ultra low distortion, signal never gets digital, easy and cheap to use. Now if I want even more attenuation, I can program my mcu to disable all the input selector jfets when I reach volume level 0, in order to cut the signal completely. What about LDR for attenuating?
 
Then why did someone told me that I have to use a vca...

I suggested that conditional on my understanding of you wanting as analog as possible a path for your signal. But perhaps in your own meaning, digital isn't a matter of degree - to my way of thinking switches are more digital than transistors (which are used to build VCAs). Hence my suggestion of a VCA rather than something built from switches.

If you want to go the LDR route, there's a long thread about the Lightspeed preamp : Lightspeed Attenuator a new passive preamp

@TNT - I own a soundcard or two but don't have one installed in my PC. I use an SD card recorder if I want to capture signals for analysis, but that's moderately inconvenient.
 
Last edited:
I suggested that conditional on my understanding of you wanting as analog as possible a path for your signal. But perhaps in your own meaning, digital isn't a matter of degree - to my way of thinking switches are more digital than transistors (which are used to build VCAs). Hence my suggestion of a VCA rather than something built from switches.
Yes, maybe it didn't clarify what I meant by 'as analog as possible'. I meant that I wanted to avoid at all costs analog to digital conversion. I don't mind of the controls are operated digitally, as far as they don't digitalize the signal. And VCA s have too much distortion compared to volume control ICs, so I think I'll follow the latter route.
 
Then why would I care about other attenuation methods?... This is the best solution. Ultra low distortion, signal never gets digital, easy and cheap to use. Now if I want even more attenuation, I can program my mcu to disable all the input selector jfets when I reach volume level 0, in order to cut the signal completely. What about LDR for attenuating?

I suspect but don't know that LDRs may be somewhat temperature sensitive. I do know that as with all analog units,
there is variation from piece to piece which can be calibrated out - to a degree. If that can be done with software
rather than manually doing it it would be OK. If it's fast enough it could be done every time it powers up but things
tend to drift a bit on warm up. Personally I find the PGA/CS chips to be very good performers with no quirks - my
favorite kind of operation.

 
> LDRs may be somewhat temperature sensitive

Not so I noticed in any room I'd care to work in.

Unit-to-unit variability is an annoyance.

Small 3rd order distortion as levels rise- at 2.8V output even I could hear less-clean relative to another unit peaking at 0.2V.
 
Of course, when you either use an output transformer or a tube that is big enough to handle the headphone's signal current without a transformer. What is the headphone's impedance, few hundred ohms or a few dozen ohms?

dt 990 pro 250 ohm , they're very easy to drive. Even by my desktop's integrated sound card. Currently listening to Sgt. Pepper's Lonely Hearts Club Band😀
but i want it to be able to drive any headphones
 
Status
Not open for further replies.