How to make relais volume control - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 30th July 2003, 01:27 PM   #1
Banned
 
Join Date: Apr 2002
Location: Germany, Clausthal
Default How to make relais volume control

I built the volume control from
http://www.passlabs.com/pdf/aleph/apserv10.pdf
with the ADC0804.

I donīt like the clicking noise when tuning the volume.

Does anyone have a hint how to program the controler for a click avoiding microcontroler relais volume control?
http://www.passlabs.com/pdf/aleph/apserv17.pdf

I want to use a PIC, should it be like

if OldVol (not =) newVol then:
[
- search for the lowest bit toggeled to 0 and write it if found one.
- search for the lowest bit toggeled to 1 and write it if found one.
- if none found quit.
loop for 7 times [
- search for the next bit toggeled to 0 and write it if found one.
- search for the next bit toggeled to 1 and write it if found one.
- if none found quit. ]
oldvol:=newvol
]

whats a better way? this would make large jumps when going from 1000 to 0111 or so.
  Reply With Quote
Old 30th July 2003, 04:21 PM   #2
diyAudio Member
 
jan.didden's Avatar
 
Join Date: May 2002
Location: Great City of Turnhout, Belgium
Blog Entries: 7
There are two sources of clicks:

- Mechanical. Solution: get a better relay or put sound insolation around it;
- Electrical. Solution: Make sure that there is no DC across the relay when switching, because that is 99% the cause.

- General solution: look up the other threads where this has been discussed ad nauseatum

Jan Didden
  Reply With Quote
Old 30th July 2003, 04:38 PM   #3
Banned
 
Join Date: Apr 2002
Location: Germany, Clausthal
- the relais are very good

- there is no DC (coupling cap)

- the noise is because the ADC0804 from alephp1.0 switches from 0to1 and 1to0 bits at the same moment, so there is a timespan during switching all the contacts are flying. Solution is a switching algorythm to avoid this, like in alephp 1.7.

I did not find the algorythm to do like alephp1.7 volume control.
  Reply With Quote
Old 30th July 2003, 07:43 PM   #4
diyAudio Member
 
jan.didden's Avatar
 
Join Date: May 2002
Location: Great City of Turnhout, Belgium
Blog Entries: 7
Well, looks to me that you don't really know what causes it, but you have already a solution. Suits me, but in case it doesn't solve it:
Coupling cap doesn't mean there is no DC. What about the other side of the relay stuff, the side that carries the amp bias current? You have a schematic you can post?

Jan Didden
  Reply With Quote
Old 30th July 2003, 07:56 PM   #5
Banned
 
Join Date: Apr 2002
Location: Germany, Clausthal
I know exactly what causes it. In the moment i change the byte that is writen to the relais from one old value to a new one, lets say 00010000 to 00001111, the ADC circuit simply switches from one value to the other and the relais contacts change according to this. In the time the contacts fly from on position to the other there is no contact, so there is a very large change in resistance of my ladder beween these 2 values 00010000 and 00001111. This very strong change inbetween the both defined states causes the click.

The circuit is linked above, you can see it in apserv10.pdf.

instead of the alephp gainstage i use a BOZ gainstage at the moment, the bias is not affected by this relais, there is of corse a C from drain of my gain Fet to the volume control and output.

The reason for the clicking noise is exatly the same reason that made passlabs change the way of control the relais from rev 1.0 to rev. 1.7.

All i need is a flowchart how i have to programm the microcontroller so it doesnīt pop that much when changing volume.
  Reply With Quote
Old 30th July 2003, 08:15 PM   #6
diyAudio Member
 
Steve Eddy's Avatar
 
Join Date: Sep 2002
Location: Sacramento, CA
Quote:
Originally posted by till
I know exactly what causes it. In the moment i change the byte that is writen to the relais from one old value to a new one, lets say 00010000 to 00001111, the ADC circuit simply switches from one value to the other and the relais contacts change according to this. In the time the contacts fly from on position to the other there is no contact, so there is a very large change in resistance of my ladder beween these 2 values 00010000 and 00001111. This very strong change inbetween the both defined states causes the click.
A simple change of resistance shouldn't cause clicking. If you've music playing, it should only result in a change of volume. If you've no music playing, it shouldn't result in anything.

So if you're getting the clicking even if you've no signal present, then you've probably got some DC current flowing through the switches and when they're changed, you get a bit of an inductive voltage kick due to the inductance of the wiring.

This will also result in clicking while the signal is present.

Contact bounce can make the clicking worse, but again, only if there's some sort of current flowing through the contacts when switched.

The way other digitally controlled analog attenuators deal with this (such as the Crystal CS-3310) is they use zero crossing detection of the input waveform so that the switching is done when there is effectively no voltage present and subsequently no current with which to cause the inductive voltage kick.

se
  Reply With Quote
Old 30th July 2003, 08:35 PM   #7
Banned
 
Join Date: Apr 2002
Location: Germany, Clausthal
No, there is of corse no noise when no signal / music goes trough the volume control and i turn the volume up and down.

I know the PGA2310 etc. switches in the "Nulldurchgang" sorry, donīt know the english word(zero crossing?).

But in the PGA there are no relais, and relais contacts are real world material and so they are somewhat slow compared to a silicon switch.

It would make no sense to programm a zero crossing detection with the microcontroller, because the relais contact needs some mor time to change position that the audiosignal to be not anymore at zero crossing. And i donīt want to use a PGA,. i have one, its working, controlled by the PIC. I want relais and i want this special, mentioned by Nelson, kind of make before break but different characteristic to switch the relais.

If you donīt belive there is a good reason, (the noise) why donīt you look in the both alephp service manuals, the change they made is exactly because of this reason i point on.
  Reply With Quote
Old 30th July 2003, 08:46 PM   #8
jwb is offline jwb  United States
diyAudio Member
 
jwb's Avatar
 
Join Date: Mar 2002
Location: San Francisco, USA
Send a message via AIM to jwb
Make-before-break circuits with relays are tricky. With my two-bank realy volume control (one for the top three bits and another for the bottom three bits) there are many cases where making before breaking would result in the volume spiking up 10dB. This is bad. So one solution I came up with was to have two lookup tables. One table is for going up, the other table is for going down. Each row of the table contains 8 bytes for my four banks of relays. The first four bytes engages relays for make-before-break, if appropriate. The second four bytes turns off the relays from the previous volume level. So the flow looks like this:

Code:
if (up) 
  command <- table.up.level
else
  command <- table.down.level

send command[0 .. 3]
sleep 10ms
send command[4 .. 7]
You may be interested in the hardware make-before-break circuit used by ftorres in his volume control

However, in the end I just let the contacts fly wherever they want and don't worry about make-before-break. There's no audible transient from this.
  Reply With Quote
Old 30th July 2003, 08:52 PM   #9
Banned
 
Join Date: Apr 2002
Location: Germany, Clausthal
Thank you very much!

finaly someone understands my point. Thats exactly what i need, information how others solved this, before i spend some manyears with software that doesnīt work like it should...
  Reply With Quote
Old 30th July 2003, 09:29 PM   #10
jleaman is offline jleaman  Belgium
Banned
 
Join Date: Apr 2002
Send a message via AIM to jleaman
i would like to start this kinda project too.. soon.
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Volume control on DVD player remote. Lose resolution at low volume? Circlotron Digital Source 2 10th June 2011 08:20 PM
How do I make a volume control for a electret mike Caleb Chia Solid State 9 13th September 2008 12:50 AM
i need preamp schematics w/o tone control or volume control hernanstafe Parts 7 30th January 2008 04:12 AM
"Start me up..." AlephX with relais control and powermanagement. joho Pass Labs 26 22nd December 2005 03:47 PM
remote control motorised control for volume pot/knob CharlesY Parts 0 25th July 2005 12:12 PM


New To Site? Need Help?

All times are GMT. The time now is 05:47 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright Đ1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2