Reducing switch pop in this CMOS-based latching relay driver circuit?

Started by aion, July 12, 2017, 05:32:16 PM

Previous topic - Next topic

aion

Thanks to the people who gave feedback in this thread, I came up with the following circuit that does pretty much exactly what I want it to do:



It uses a momentary switch to control a 5V latching relay, complete with power-on reset and power-off bypass. It works great, very stable, and I learned a lot while working on it.

But it has one problem: the switch pops when activated. Not too badly, but a little more than I'd like, and most importantly, more than a functionally-equivalent microprocessor-driven relay circuit (Jack Orman's DPDT switch) that I am using as a benchmark for comparison. Jack's relay driver has only the tiniest amount of pop, and this circuit I would un-scientifically peg at maybe 3 times louder. So while it's not completely unacceptable, it's bugging me that seemingly-equivalent circuits are behaving differently.

Here are the steps I've taken so far.

1. Isolating the effect's +V with a series Schottky diode, 10R resistor, and 100uF filter cap

2. Isolating the relay's +V with a series Schottky + 10R (no filter cap because it can mess with the relay cap's behavior)

3. Disconnecting the LED entirely (since sometimes the popping can be caused by the LED itself)

4. Adding a pulldown resistor to the effect input (although the benchmark unit using Jack's relay driver doesn't have one)

5. Using a different effect to test the switching (I was originally testing with a boost for simplicity's sake, but later swapped it out with an overdrive circuit)

6. Powering the relay-driver board with a different 9V wall wart, so its power and ground are fully separate from the main audio rails

7. Measuring the DC on the contact pins of the relays. On my testing unit, they measure less than 0.1mV in either state, and even my benchmark with Jack's unit is between 1 and 2mV and has far less of a pop - so I don't think the noise is due to DC on the contacts.

8. Using different brands of relays (all 5V latching DPDT type)

Each step was done one at a time, but cumulatively, so the end result has all of the troubleshooting changes together. But still the pop is unchanged, not the slightest reduction. So I'm not even really sure where to look next at this point. I was especially surprised at #6...

aion

Okay, so in programming, we are taught to provide "reduced test cases" when troubleshooting by eliminating as many variables as possible while still being able to demonstrate the issue.

In the spirit of this, I cut out the CMOS circuit entirely, and wired a DPDT switch as a polarity reversal for a regulated +5V and ground, so it toggles which pin has which. So, the simplest possible actuator for a single-coil latching relay

The relay still pops the same when I flip the switch back and forth.

In my test case the relay coils are running off a different supply than the main audio circuit. So the pop from the relay coils are somehow making it onto the audio lines despite being on different rails.

Is there something about the way a microcontroller actuates a relay that would suppress this pop? The fact that it supplies +V and GND from its own pins rather than sharing them with the supply? Or maybe it's caused by the microcontroller's limited available output current, whereas my DPDT switch allows the relay to suck as much current as it wants?

So that's where I'm at right now. Am I on the right track? How would I either limit the current to the relay coils or otherwise suppress the spikes caused by the relay actuating without using a microcontroller?

EBK

  • SUPPORTER
Technical difficulties.  Please stand by.

dschwartz

Microcontroller based bypass have a muting device that shunt the signal to ground while the switching is being done..the audio is then "muted" while switching. Most use an optocoupler or a mosfet for this.
The process that happens when pressing the switch is this:
1- mute the output
2- switch the relay
3- un-mute the output
This happens on a fraction of a second.
This very hard to achieve with analog circuits . I tried but failed. And the circuit was becoming more complex than the effect itself..
Maybe a couple of 555 maay allow you to trigger different things at different times, but you'll end up with a  big bypass board
----------------------------------------------------------
Tubes are overrated!!

http://www.simplifieramp.com

aion

Quote from: EBK on July 15, 2017, 06:04:56 PM
Try a reversed diode across your relay coil?

That works with either non-latching relays or 2-coil latching relays, but (in my understanding) not for a 1-coil latching, because the polarity goes in both directions depending on the state.

I have heard of two similar things people have tried for 1-coil latching relays, though. The first is to put a diode to +V on each side of the relay coil. I tried this - no effect in my case. The second is to put two 5.1V zener diodes across the coils, cathode to cathode, with the anodes to the two sides of the relay coil. Haven't tried this one yet since I don't have two 5.1V zeners on hand.

Quote from: dschwartz on July 15, 2017, 07:42:43 PM
Microcontroller based bypass have a muting device that shunt the signal to ground while the switching is being done..the audio is then "muted" while switching. Most use an optocoupler or a mosfet for this.
The process that happens when pressing the switch is this:
1- mute the output
2- switch the relay
3- un-mute the output
This happens on a fraction of a second.
This very hard to achieve with analog circuits . I tried but failed. And the circuit was becoming more complex than the effect itself..
Maybe a couple of 555 maay allow you to trigger different things at different times, but you'll end up with a  big bypass board

I'm using the AMZ relay board for this. It doesn't have an audio muting circuit, it just pulses the relay coils directly with 5V and then provides pads that connect directly to the relay. So, the only difference between the AMZ board and my test case is that on Jack's board the pulse is provided by the microcontroller, and in my test rig it's being provided from a 5V regulator directly (with no current limiting or anything else).

dschwartz

i would try the 5.1V zeners or try a better relay..
you have isolated the power supplies..but are the grounds isolated?
also try limiting the current through the cap with a small value resistor..
----------------------------------------------------------
Tubes are overrated!!

http://www.simplifieramp.com

aion

Quote from: dschwartz on July 16, 2017, 12:35:58 AM
i would try the 5.1V zeners or try a better relay..
you have isolated the power supplies..but are the grounds isolated?
also try limiting the current through the cap with a small value resistor..

Tried the back-to-back zeners... no luck :( Which cap are you referring to that I could add a resistor to?

Re: grounding, I tried it both ways, with grounds isolated and with shared grounds. They are plugged into the same power strip, so at some point they do share a ground either way, but that's any effects pedal setup.


aion

One last effort to reduce the test case: I used Jack's DPDT board but left off the microchip, and tried triggering the relay directly with the DPDT polarity-reversal switch. This means that they are wired up identically: same power/ground scheme, same wire lengths, same on-board 5V regulator, same filtering, same circuit being switched. The only difference is that the +5V and 0V signals are supplied by the microchip on one board, and by a DPDT switch on the other.

No difference. The microchip board had very little pop, the non-microchip board had the same pop as before.

Rixen

I have mentioned on other threads the generation of piezo electricity when operating mechanical switches. It wouldn't surprise me if some is present with relays also, although with less mechanical impact I would expect a lower level..

anotherjim

Coil Flyback diode might go cathode at the + plate of cap C2, since that is always operating same polarity. Not sure how effective that would be. A resistor across the coil can also snub the flyback, but it might have to be low value and that will degrade the operating pulse from C2.
Ground for the relay circuit control should be a separate path, not just the + supply.
Relay should be screened OR sensitive wires for the effect should be screened (inputs, pot leads).
If the frame of the relay has pcb mount tabs, you can try soldering those to ground.

Trivial point - I'm not sure if R8 is doing anything useful. 470k is bypassed by the the 10k R1.

amz-fx

If you want to use protection diodes with a single coil latching relay, you can use two zener diodes in series. The diodes should be oriented anode to anode, that is, they look to be pointed in different directions. Voltage ratings of the zeners should be no more than 5.1v

regards, Jack