Hi,
I'm using the digital pot. MCP41HV51 for attenuation of each of the 2.1 channels of my amplifier like this:
It is working good without any glitches, pops or noise, very clear sound.
But the problem is that when I set the wiper of the digipot to 0x00, I still get a fair amount of signal on its output, it is not attenuating completely the sound...
Anyone knows how to have full attenuation with this device? or a similar one?
The complete project is here, if someone wants to check it, but the schematic on the blog is not updated yet: Class AB sound system: Part I – Main board schematic | Bruno AA
Thanks!!
I'm using the digital pot. MCP41HV51 for attenuation of each of the 2.1 channels of my amplifier like this:

It is working good without any glitches, pops or noise, very clear sound.
But the problem is that when I set the wiper of the digipot to 0x00, I still get a fair amount of signal on its output, it is not attenuating completely the sound...
Anyone knows how to have full attenuation with this device? or a similar one?
The complete project is here, if someone wants to check it, but the schematic on the blog is not updated yet: Class AB sound system: Part I – Main board schematic | Bruno AA
Thanks!!
Attachments
Last edited:
The internal analog switch has a non-zero resistance, so at 0x00 volume the wiper is not exactly at ground level. Did you try to open the analog switch at terminal A only when volume is at 0x00? or is there a way to do that with the chip? If you can't individually open the analog switches, you'll probably have to do it externally, by for example, a muting transistor, or a relay, that engages when the volume data is 0x00. It should be quite trivial with any micro controller.
You could try using the shutdown pin to turn it completely off.
The internal analog switch has a non-zero resistance, so at 0x00 volume the wiper is not exactly at ground level. Did you try to open the analog switch at terminal A only when volume is at 0x00? or is there a way to do that with the chip? If you can't individually open the analog switches, you'll probably have to do it externally, by for example, a muting transistor, or a relay, that engages when the volume data is 0x00. It should be quite trivial with any micro controller.
Yes, there is a register on the digipot (TCON) that allows the disconnection of each pin individually from the resistor network, and shutdown function like nigelwright suggested as well...
I'll do that tomorrow as you said, that should work... we would have a complete mute, but the minimum volume of the system would still too loud I think...🙁
... we would have a complete mute, but the minimum volume of the system would still too loud I think...🙁
Perhaps the overall system gain is much too high?
You should use an audio-oriented, logarithmic potentiometer like this one:we would have a complete mute, but the minimum volume of the system would still too loud I think...🙁
https://www.maximintegrated.com/en/...converters/digital-potentiometers/DS1882.html
The one you presently use is worthless in this application.
You would have the same problem with a traditional, mechanical pot
Perhaps the overall system gain is much too high?
The only gain in the circuit is on the output, which is a tda7293:

I've done as you suggested and it is mutting perfectly now. So the volume steps are like:
0x00 (terminal A disconnected) > 0x00 (terminal A connected) > 0x01 > 0x02...
I would like a lower level on the difference in sound level between terminal A disconnected and after connected because sometimes I hear some music at a really low volume, but ok, I can live with that... haha
You should use an audio-oriented, logarithmic potentiometer like this one:
https://www.maximintegrated.com/en/...converters/digital-potentiometers/DS1882.html
The one you presently use is worthless in this application.
You would have the same problem with a traditional, mechanical pot
Hi Elvee!
Good suggestion, but the board is already mounted, so I'll have to code the following table with the digipot:

..........
I would like a lower level on the difference in sound level between terminal A disconnected and after connected because sometimes I hear some music at a really low volume, but ok, I can live with that... haha
I see.
What is the V+/V- supply voltage? If you have not max-ed out at +/-18V, increasing the supply voltage can reduce the on-state resistance of the analog switches, and in turn reduce the residue signal level at 0x00.
***************** AVOID PHOTOBUCKET!!!!!! *****************
It now throttles output to force you into a paid account, it quickly blocks images for other viewers (us)
All I see is a black rectangle stating "Please update your account to enable 3rd party hosting" .... which would be any Forum member besides you, and maybe the first few viewers.
I suggest Imgur but there´stons out there.
Also avoid, say, google cloud or dropbox or anybody who forces viewer to become member.
It now throttles output to force you into a paid account, it quickly blocks images for other viewers (us)
All I see is a black rectangle stating "Please update your account to enable 3rd party hosting" .... which would be any Forum member besides you, and maybe the first few viewers.
I suggest Imgur but there´stons out there.
Also avoid, say, google cloud or dropbox or anybody who forces viewer to become member.
I see.
What is the V+/V- supply voltage? If you have not max-ed out at +/-18V, increasing the supply voltage can reduce the on-state resistance of the analog switches, and in turn reduce the residue signal level at 0x00.
I was using +-12V at the digipot and the output buffer, but I was seeing some noise, so I've decreased to +-5V and the noise has gone...
***************** AVOID PHOTOBUCKET!!!!!! *****************
It now throttles output to force you into a paid account, it quickly blocks images for other viewers (us)
All I see is a black rectangle stating "Please update your account to enable 3rd party hosting" .... which would be any Forum member besides you, and maybe the first few viewers.
I suggest Imgur but there´stons out there.
Also avoid, say, google cloud or dropbox or anybody who forces viewer to become member.
Sorry guys, I didn't know that photobucket do that... I was able to edit the first post, but not the others, can I do that? I didn't find the button...
The internal analog switch has a non-zero resistance, so at 0x00 volume the wiper is not exactly at ground level. Did you try to open the analog switch at terminal A only when volume is at 0x00? or is there a way to do that with the chip? If you can't individually open the analog switches, you'll probably have to do it externally, by for example, a muting transistor, or a relay, that engages when the volume data is 0x00. It should be quite trivial with any micro controller.
Yes it is the residual analog switch resistance. Page 35, data sheet lets you even calculate how much signal you will have left in 'all zero' setting.
But is it really a problem for the OP? Surely it is a setting you would never use anyway?
Jan
Yes it is the residual analog switch resistance. Page 35, data sheet lets you even calculate how much signal you will have left in 'all zero' setting.
But is it really a problem for the OP? Surely it is a setting you would never use anyway?
Jan
Hi Jan,
Yes I believe that I'll use. For example when I'm not alone at home, and inside my room with the door closed, the people on the other rooms will listen when the amp is at the lowest level....
I'll try to add a resistance in series before the digipot and see how the minimum volume will be...
Hi Jan,
Yes I believe that I'll use. For example when I'm not alone at home, and inside my room with the door closed, the people on the other rooms will listen when the amp is at the lowest level....
I'll try to add a resistance in series before the digipot and see how the minimum volume will be...
I don't know what pot resistance you use, but as the pot resistance goes up, the residual goes down. Maybe that helps a bit, if possible. Going from a 10k pot to a 100k pot lowers the residual 20dB because the switch R is the same.
But with the situation you tell, which seems that the sound is still too high with maybe 60dB attenuated, I think you should take a good look at your gain structure first.
Jan
Jan, the DigiPot is 50K...
I've soldered a 51K in series at the input of the pot, now the total resistance at the lowest level is ~100K, and the lowest level now is low enough for me...
So I think if I change the 50K digipot for the 100K version, I'd have the same results of this test... or am I missing something?
The audio of my camera is not good at all, but you can have an idea, the source is my PC at 100% of level output:
DigiPot as attenuator - test - YouTube
I've soldered a 51K in series at the input of the pot, now the total resistance at the lowest level is ~100K, and the lowest level now is low enough for me...
So I think if I change the 50K digipot for the 100K version, I'd have the same results of this test... or am I missing something?
The audio of my camera is not good at all, but you can have an idea, the source is my PC at 100% of level output:
DigiPot as attenuator - test - YouTube
.....
I've soldered a 51K in series at the input of the pot, now the total resistance at the lowest level is ~100K, and the lowest level now is low enough for me...
So I think if I change the 50K digipot for the 100K version, I'd have the same results of this test... or am I missing something?
Your video sounds good to me. By using a 100k digipot you can expect the same low level residue volume at 0x00 before mute, and predict a 6dB higher volume at all nonzero wiper codes than what is in the video. Before ordering the 100 kohm pots you can experiment the result a bit more closely at nonzero wiper positions with the setup in the video by doubling the input signal level.
Jan, the DigiPot is 50K...
I've soldered a 51K in series at the input of the pot, now the total resistance at the lowest level is ~100K, and the lowest level now is low enough for me...
So I think if I change the 50K digipot for the 100K version, I'd have the same results of this test... or am I missing something?
The audio of my camera is not good at all, but you can have an idea, the source is my PC at 100% of level output:
DigiPot as attenuator - test - YouTube
Are you sure you don't have too much volume in the rest of your chain? 'Gain structure' is the concept that you have no more gain in your chain than is needed for your max listening, to avoid having to turn it down too far and get this kind of issues. What is the pot position at your maximum listening level?
Jan
Jan, the DigiPot is 50K...
I've soldered a 51K in series at the input of the pot, now the total resistance at the lowest level is ~100K, and the lowest level now is low enough for me...
So I think if I change the 50K digipot for the 100K version, I'd have the same results of this test... or am I missing something?
The audio of my camera is not good at all, but you can have an idea, the source is my PC at 100% of level output:
DigiPot as attenuator - test - YouTube
I enjoy Alan Taylor as well. I think Jan has nailed it on the head, your gain budget is too high. If the 51k series resistor works for low setting, is it still too loud at full gain, then increase the value to say 82K else change to 39K
I questioned about the system gain in the first page of the thread and our OP seemed to have a good grip about it. In his video in post #16 there is no obvious distortion at 0xFF, which is 6dB down from maximum system gain by the setup. I think the system gain is well in the ball park.
- Status
- Not open for further replies.
- Home
- Amplifiers
- Solid State
- Digital potentiometer as gain control - problem