Relay based Audio 2 in, 1 out switch, how to stop click/pop?

Thread Starter

ShopRat59

Joined Nov 27, 2013
56
I have been working on a project that uses an Arduino to control the locking/unlocking of Jack and Jill bathroom doors. As part of this project I am using a DFplayer audio board to issue verbal warnings as to the door status - "Close Back Door", "Bathroom is Locked" etc. My goal is to issue these warnings over the speaker in the bathroom that is part of my whole house audio system. I tried this circuit: http://www.geofex.com/article_folders/cd4053/cd4053.htm. While it works fine, it requires a separate power supply and I would like to make one that works off of only a 5V trigger from the Arduino. Based on extensive internet searching I settled on a DPDT relay based system using a single TQ2-5V Relay. When I breadboarded this it worked perfectly, but when I went to production with a fab'ed board I got a loud pop when the relay switched from Music to Message. It does not pop when it switches from Message back to Music. I can't explain why the bread board worked but the production board did not? I suspect the pop only occurs on the music switch because it is always on (no way to mute it during switching) while the message is muted (via software) before/after each switch. Note, the inputs are stereo line level from either the DFplayer or the Whole home audio source and the output is to the whole home amp which has 40 watts/channel at 8 ohms. More internet research (many hours) led me to an RC based circuit. The attached is my current Eagle schematic. Finally, I am only switching the positive legs (seems like religion on whether or not negative legs have to be switched) because the DFplayer has its audio ground tied to system ground - thus there is no way to isolate the audio grounds from the system grounds.

After this (sorry so long) introduction I have the following questions:

1) Is this the right approach to eliminate pop?, if not please recommend another.
2) What are the correct values for the resistors and capacitors and why? I currently have breadboarded the same as recommended in the CD4053 design, but values recommended in my internet searches range from 2.2uF to 470uF and 100 ohms to 1M ohms. Please note the CD4053 design has the resstors going to a reference voltage while the relay design has them going to ground.
3) What is the correct orientation of the capacitors - in the CD4053 design they all have positive connected to the CD4053, but it seems logical to me that the input capacitors would be biased opposite the output capacitors?

Thanks in advance,

Tom
 

Attachments

AlbertHall

Joined Jun 4, 2014
12,346
If the pop is caused by different DC voltages being switched then your RC circuit should stop the pop. The value of the resistors is not critical and the values for the capacitors depend on the impedances of the inputs. If you find it lacking bass sounds compared to a direct connection then increase the capacitor values.

Check the voltage on pins 1 and 3 of each of J1, J2 and J3. If they are all positive voltages then the positive of the capacitor should be connected to those pins. I think you have them the other way round in your diagram but check because I am not familiar with US capacitor symbols (I am in UK).
 

RPLaJeunesse

Joined Jul 29, 2018
254
I'll guess you are not giving the message player enough time to power up before you select it. Your use of 510k pulldowns means it may take 10 seconds or more for the 2.2uF caps to settle out enough to not pop. The player probably has a low output impedance, change it's pulldowns to 2.2k and see what happens.
 

AlbertHall

Joined Jun 4, 2014
12,346
I'll guess you are not giving the message player enough time to power up before you select it. Your use of 510k pulldowns means it may take 10 seconds or more for the 2.2uF caps to settle out enough to not pop. The player probably has a low output impedance, change it's pulldowns to 2.2k and see what happens.
I don't think TS has built and tested this yet.
@ShopRat59 please confirm.
 

Thread Starter

ShopRat59

Joined Nov 27, 2013
56
Thanks for the quick responses, I should have given a little more detail in my original post but it was already LONG ;~).

Albert, I connected the positive (straight line side in US) of the capacitors to the relay, because that is the way it was done in the CD4053 design. I put the meter on the recommended pins and I am getting both pos and neg dc voltage readings - I think this makes sense? because they are attached to an audio signal which is a sinusoidal wave?

Also, I just breadboarded the circuit per the attached file - it is working fine (no pop). But my original relay only design worked perfect on the breadboard too? Thus, I was looking for input to ensure my solution is sound (no pun intended) before I spend some more money on having a board fabbed. Ordinarily I would just go with it, but since going to production caused my original solution to pop, I wanted an expert opinion before I ordered a new board. Additionally, since the internet advice was all over the map on cap and resistor values with NO explanation of why those values were chosen, I was hoping to learn something from you smart guys.

Tom
 

Thread Starter

ShopRat59

Joined Nov 27, 2013
56
With the caps in place per the above explanation:
For the inputs:
messages (J1) varies from -80 to -60 mV
music (J3) varies from -10 to -3 mV

For the output - amp (J2) varies from -10 to -6 mV

Doesn't make any sense as when i previously tested it i got both - and positive V but that's what I got just now
 

Thread Starter

ShopRat59

Joined Nov 27, 2013
56
OK thanks, i will try to mod my existing board to add just the resistors and see how that works, will get back to you this weekend.

Tom
 

Audioguru

Joined Dec 20, 2007
11,248
On a very high quality intercom system, signals were always muted when switching, to avoid POPs. Also, the turn off and turn on were ramped, not abruptly switched.
You might be switching during an audio loud peak voltage that causes a POP.
 

eetech00

Joined Jun 8, 2013
3,946
Hi

Try creating "make before break" (MBB) contact sets by using two separate relays and coding the relay drive so that each relay energizes before the other de-energizes. Ground the audio input with a high value resistor then use a MBB contact set to switch the audio output signal to the input.

eT
 

Thread Starter

ShopRat59

Joined Nov 27, 2013
56
Albert,
I added the resistors to my fabbed board per above and the pop from music to message went completely away - yeah! However, now on message to music, I now have a pop - all be it significantly quieter than the pop that was eliminated. I guess I could remove the resistors on the message side (since there was no pop here previously) and see if that helps?

Audioguru,
Based on my research, muting before switching is a common method to stop pops, but as I tried to explain above, while I have control of the message transmission and do mute it before switching, I have NO control of the music - it is always on. I am out of GPIO on my Arduino so adding a separate mute circuit for the music did not seem like an option to me.

eetech00,
I considered you idea as well but I am out of GPIO on my Arduino so I am unable to issue separate commands to two relays.

Thanks,

Tom
 
Last edited:

Thread Starter

ShopRat59

Joined Nov 27, 2013
56
Albert,

I tried 10k, did not see any change. I guess I will give up on this relay approach and use the CD4053, which I know works. Thank you for all your effort!

Tom
 
Last edited:
Top