multi-fx internal switching - would this work? poplessly?

Started by Thomeeque, July 26, 2010, 04:39:24 PM

Previous topic - Next topic

Thomeeque

 Hi!

I'm trying to scheme out suitable internal switching for my modulation multi-fx project these days and I'm considering CMOS switching as one of possibilities. It seems to me that for buffered modulation multi-FX it would fit nicely, but I have never worked with CMOS swtiches before, so I'm just "armed" with my understanding of switching-related geofex articles (thanks R.G.! :)) and 4053 datasheet. Could you please revise this idea for me?



May I use CMOS switches this way, would this work?

Would it be popless?

How big could N (FX count) be without measurable/noticeable/audible degradation of the passing signal (I'm planning to have 6 switches there)?

How it would perform compared to relays solution?

Thanks a lot for your comments!

T.

Edit: I have updated the schemo to v1.1 (output decoupling from VCC/2 to GND level was missing)
Do you have a technical question? Please don't send private messages, use the FORUM!

amptramp

You can use CMOS switches but if you use the 4016 or 4066 type switches, the switching will be fast, resulting in a sudden switch from bypass to effect or vice versa.  This will probably cause a pop.  A better choice would be a 4007 using the circuitry shown in the Motorola databook for the MC14007 for an analog switch.  The difference?  The 4007 allows external control of the switching speed that results in a gradual change from bypass to effect and back.  This will avoid excessive pop.  Instead of using the internal inverter to control the p-channel and n-channel sections together as shown in the databook, use a D-type flip-flop and you can have toggling from a single switch with R-C filtering on the Q and /Q outputs to slow the switching.  You may want to have supercapacitor or battery backup in the unit to avoid having power glitches setting the controls to random positions.

The circuit is shown in this thread:

http://www.diystompboxes.com/smfforum/index.php?topic=83980.msg698817#msg698817

as:



It is possible to use one section of the D-type per switch with appropriate debouncing and it allows the use of an SPST switch.

Note that CMOS switches are not particularly linear, so you will not notice the effect with distortion but you may see distortion in bypass, especially with the number of switches you have in series.

There is one other problem: if you have an effect such as a flanger, echo, chorus with a noticeable delay, you may want to keep the input connected at all times so that you do not switch the effect on and have to wait for the signal to propagate through the delay while you have no output or only a dry signal output.  You have to decide whether you want to be able to switch something during a song or just between songs.

If you have a guitar tuner on the pedalboard, you may want to take a parallel output from the input buffer to run it.  It does not need to be in the signal chain.

diydave

I've currently have a cd4053 switching circuit on my breadboard, because I'm playing with the same idea. A multi-fx with only modulation fx, but without the 3pdt switches.

But I'm in doubt.

I got the pop (although really really quite) when switching. And I also noticed a faint and continuous 'hiss - high pitch wailing' sound, which I think can get to be the biggest problem.

But I have to admit that I didn't use the 1/2 supply thing (signal path hooked up to 1/2 voltage supply with the 510k resistors). I already have a lot of components on the board because of the control-circuit. So I will look in to it. Maybe this can help with the hiss (and pop).

My idea is/was to use 2 cd40106's with momentary switches to control in total 6 cd4053's, and thus 6 fx. For each momentary switch, I use 2 inverters. And since a cd40106 has 6 of them, I can control 3 cd4053's with 1 cd40106.

But if I'll be getting 6 times the accumulation of the hiss-problem from each cd4053... that's a lot. And therefore maybe unusable. Regardless of the question... will they pop.

Thomeeque

Quote from: amptramp on July 26, 2010, 09:29:14 PM
You can use CMOS switches but if you use the 4016 or 4066 type switches, the switching will be fast, resulting in a sudden switch from bypass to effect or vice versa.  This will probably cause a pop.

Hi Ron! Thanks for your reply!

As I understand it, pop is caused by:

A) sudden switch from one DC voltage level to another
B) transient performances on (mechanical) contacts
C) imperfect synchronization of two or more switches (if two or more switches are involved in given switching action) in some special cases - e.g. if one switch switches low/high sensitivity and another high/low volume level at one moment and there's an overlap leading to bursts of high volume at high sensitivity for short moment (I've been there too  :'(, but this is another story :icon_mrgreen:)..

I believe A and B should be eliminated here (even I'm not sure if I can expect exact VCC/2 at IC1A output) and for C there's maybe danger of very short moments of silence - would this cause pop? Hmmm, maybe it would.. Did you ever play with 4016 or 4066 type switches?

Thanks for the other hints as well!

Quote from: diydave on July 27, 2010, 05:06:38 AM
But I have to admit that I didn't use the 1/2 supply thing..

Hi Dave! Thanks for your reply as well!

I would say, that "the 1/2 supply thing" is pretty important part actually (wrong biasing may be cause of the hiss issue and the pop issue as well).. Could you please draft a snippet of your switch topology (without control logic, just analog path part, one fx)?

Did you try more brands/types of 4053? E.g. MAX4053A makes impression of "high-class" 4053..

Btw. I'm considering PIC microcontroller for the control logic part (with software debouncing) for the lowest possible part-count and versatility.

Cheers, T.
Do you have a technical question? Please don't send private messages, use the FORUM!

jasperoosthoek

Maybe I am missing something fundamental but why would you want make things more difficult with the 1/2 supply circuit biasing? Isn't it much easier to have your CMOS (for instance CD4066) operating on a dial power supply, say +/- 9 or +/-5 volts and just switch at 0 volts DC? This way you can simply connect all the effects as if you are using normal switches. No extra capacitors, no hassle. And you don't have to worry about switching speed. Normal passive switches switch almost instantaneously and they work fine without popping.
[DIYStompbox user name]@hotmail.com

Thomeeque

Quote from: jasperoosthoek on July 27, 2010, 06:38:28 AM
Maybe I am missing something fundamental but why would you want make things more difficult with the 1/2 supply circuit biasing? Isn't it much easier to have your CMOS (for instance CD4066) operating on a dial power supply, say +/- 9 or +/-5 volts and just switch at 0 volts DC? This way you can simply connect all the effects as if you are using normal switches. No extra capacitors, no hassle. And you don't have to worry about switching speed. Normal passive switches switch almost instantaneously and they work fine without popping.

Hi, thanks! But I would not say it's much easier actually. Symmetrical PSU approach means another supply branch (it would be fifth in my case), which may be pretty annoying complication (VCC/2 source is a simple job on the other hand). For VCC/2 approach there is only one extra capacitor in my design actually, C3, rest are in/out capacitors of given FX's - removed/added pull-down resistors are maybe "the biggest" issue, but not big deal as well. And I'm not sure, if you can control every 4053 by let's say +5V TTL logic, when 4053 is feeded symmetrically..?

T.
Do you have a technical question? Please don't send private messages, use the FORUM!

jasperoosthoek

I thought you used an extra set input capacitors for each effect. Which one is C3 btw? The point is that you cannot merely use the input and output capacitors of the effect unless if you have built everything yourself and taken that into account (You probably did). A lot of effects have bipolar capacitors so you would have to be very careful. They also sometimes have pull down resistors that will fight with yours. It wouldn't work on, for instance, an NPN fuzz face as the polarity of the input cap would be reversed. But if this is a single unit with everything soldered instead of connected by plugs your approach would be easier indeed as you don't need an extra supply. But if you want the effects to be outside the box connected by plugs then I would absolutely go for switching at 0VDC.

Why did you use ICb? If you just have two 2k2 resistors instead of the 4k7s and directly connect the 10uF cap the result would be similar. It seems very redundant to me.

I personally would refrain from using extra operational amplifiers in the signal path (ICa), especially close to the guitar. Opamps are gernerally noisy, maybe except if you use some sort of expensive type (OP27??). A much more elegant method would be to use a JFET buffer. Maybe that's just me but I like to have as little discrete components in my signal path as possible. Opamps easily add 30 transistors even though a single transistor would suffice (or even yield superior results).
[DIYStompbox user name]@hotmail.com

~arph

You can also take the uC route combined with a MAX395. That has eight analog switches in there. The most important thing is to have ALL contact points at the same bias (the 1meg to Vref works fine here) There is an article at GEO on using CMOS switches to do true bypass, that demonstrates how to do that too. I use the MAX in my delay project and switching is completely noiseless. If you combine two switches, you have four DPDT switches in one package. You bring down CS, shift in the required switch setting and then bring up CS again. Instantaniously setting all eight switches at the same time.

Thomeeque

Quote from: jasperoosthoek on July 27, 2010, 08:27:33 AM
I thought you used an extra set input capacitors for each effect.

I see, Cin and Cout represent original FX decoupling caps, but it's not really obvious from my symbol, I should have note it on the schemo somewhere clearly.

Quote from: jasperoosthoek on July 27, 2010, 08:27:33 AM
Which one is C3 btw?

Output decoupling cap - if you don't see it, try to refresh/reload this page (I have added C3+R18 lately, so you may have older version of schemo in browser's cache).

Quote from: jasperoosthoek on July 27, 2010, 08:27:33 AM
The point is that you cannot merely use the input and output capacitors of the effect unless if you have built everything yourself and taken that into account (You probably did). A lot of effects have bipolar capacitors so you would have to be very careful. They also sometimes have pull down resistors that will fight with yours. It wouldn't work on, for instance, an NPN fuzz face as the polarity of the input cap would be reversed. But if this is a single unit with everything soldered instead of connected by plugs your approach would be easier indeed as you don't need an extra supply. But if you want the effects to be outside the box connected by plugs then I would absolutely go for switching at 0VDC.

Good point, I agree.

Quote from: jasperoosthoek on July 27, 2010, 08:27:33 AM
Why did you use ICb? If you just have two 2k2 resistors instead of the 4k7s and directly connect the 10uF cap the result would be similar. It seems very redundant to me.

IC1B was redundant (I'm used to use dual op-amps and I've needed IC1A), this way it could be useful somehow (and properly terminated at the same time).

Quote from: jasperoosthoek on July 27, 2010, 08:27:33 AM
I personally would refrain from using extra operational amplifiers in the signal path (ICa), especially close to the guitar. Opamps are gernerally noisy, maybe except if you use some sort of expensive type (OP27??). A much more elegant method would be to use a JFET buffer. Maybe that's just me but I like to have as little discrete components in my signal path as possible. Opamps easily add 30 transistors even though a single transistor would suffice (or even yield superior results).

This will be modulation multi-fx only, there will be preamp at input always, not guitar directly.

My experience is that NJM4580 (op-amp I use mostly) in this configuration makes very transparent and almost noiseless buffer.

Anyway, thanks for your input - I'll consider it later yet, when the switching method it-self will be cleared up.

T.
Do you have a technical question? Please don't send private messages, use the FORUM!

Thomeeque

Quote from: ~arph on July 27, 2010, 10:09:48 AM
You can also take the uC route combined with a MAX395. That has eight analog switches in there.

Interesting chip, thanks!

Quote from: ~arph on July 27, 2010, 10:09:48 AM
The most important thing is to have ALL contact points at the same bias (the 1meg to Vref works fine here) There is an article at GEO on using CMOS switches to do true bypass, that demonstrates how to do that too.

Sure, that was my Bible ;)

Quote from: ~arph on July 27, 2010, 10:09:48 AM
I use the MAX in my delay project and switching is completely noiseless. If you combine two switches, you have four DPDT switches in one package. You bring down CS, shift in the required switch setting and then bring up CS again. Instantaniously setting all eight switches at the same time.

How many switches do you have in series in one signal path at the most?

Thanks, T.
Do you have a technical question? Please don't send private messages, use the FORUM!

diydave

Thomeeque,

This is what I currently drew up.


It's somewhat cluttered, but on the picture you can see that X and Y are for the signal path.
X1 and Y1 are "to" and "from" fx. X0 and Y0 are the dry signal.

The cd4053 I've used is from fairchild.
It's textbook geofex really.

Thomeeque

Quote from: diydave on July 27, 2010, 11:44:47 AM
It's somewhat cluttered..

Yep, a little bit :D

After some eye-torture ;) I can see that:

- IN is not decoupled by capacitor
- input IC3/X is not biased
   (drawing errors only?)

Besides that (and some part redundancies, e.g. C1+C3) it looks OK - why did you say that you "didn't use the 1/2 supply thing", it seems like you did (if Vref = VCC/2)..?

T.


Do you have a technical question? Please don't send private messages, use the FORUM!

Fender3D

@diydave
why waste a 4053 channel (Z) to drive LED when you must apply a control voltage to enable that channel (Z)?
the same control voltage will lit the LED... and the Z channel may better be used to forward GND to effect input when in bypass to avoid signal leakage whenever you have a high gain circuit.

@thomas
when I was a kid  ;D I used 4053 and similar switch-ICs to provide different potentiometers settings for my devices, you know we hadn't easy memory systems at the time  :icon_biggrin:


"NOT FLAMMABLE" is not a challenge

diydave

@thomas
I drew the bias-thing, but didn't use it on my breadboard to see if I could leave it out (not so it seems  :icon_mrgreen:)
Your other remarks are indeed drawing errors  :icon_redface:.

Did/do you have the 'hiss-problem' in your circuit?

I'll test my circuit again (one of these days), but with biasing the signal path to see if it does make a difference.

@Fender3D
I used the Z-channel for the led because I didn't saw a better use for it at the time, and because it's there. But your right that using it for grounding the fx-input when in bypass makes more sense.

@arph
Didn't know there are better ic's for it out there. Have to keep that in mind.

~arph

Quote from: Thomeeque on July 27, 2010, 11:36:34 AM
How many switches do you have in series in one signal path at the most?

Hard to say really, usually one I guess, but when you have infinite repeats... erm.. infinite switches..  :icon_rolleyes:
There are four parallel for playback and four parallel for feedback. I don't think the signal is degraded by the switches.

You can see a rough diagram in the Echodeck thread here.

http://www.diystompboxes.com/smfforum/index.php?topic=85946.20

Thomeeque

#15
Quote from: Fender3D on July 27, 2010, 12:21:30 PM
@diydave
why waste a 4053 channel (Z) to drive LED when you must apply a control voltage to enable that channel (Z)?

LED can represent significant load for control signal in some cases.

Quote from: Fender3D on July 27, 2010, 12:21:30 PM
the same control voltage will lit the LED... and the Z channel may better be used to forward GND to effect input when in bypass to avoid signal leakage whenever you have a high gain circuit.

Two switches should be able to handle switching & grounding.. if there's no some catch in case of 4053 switches of course.. :icon_rolleyes:

Quote from: Fender3D on July 27, 2010, 12:21:30 PM
@thomas
when I was a kid  ;D I used 4053 and similar switch-ICs to provide different potentiometers settings for my devices, you know we hadn't easy memory systems at the time  :icon_biggrin:

That's cool :) Do you remember some observations from that era which may be helpful here?

Quote from: diydave on July 27, 2010, 12:54:10 PM
Did/do you have the 'hiss-problem' in your circuit?

My circuit exists only as the gif you see above so far :icon_mrgreen: I'll try to build some prototype soon.

Quote from: ~arph on July 27, 2010, 01:41:52 PM
Hard to say really, usually one I guess, but when you have infinite repeats... erm.. infinite switches..  :icon_rolleyes:
There are four parallel for playback and four parallel for feedback. I don't think the signal is degraded by the switches.

Oh, I see :) Well, it looks like giving it a shot could be worthy :)

Thanks to all, T.
Do you have a technical question? Please don't send private messages, use the FORUM!

tysonlt

Quote from: ~arph on July 27, 2010, 10:09:48 AM
You can also take the uC route combined with a MAX395. That has eight analog switches in there. The most important thing is to have ALL contact points at the same bias (the 1meg to Vref works fine here) There is an article at GEO on using CMOS switches to do true bypass, that demonstrates how to do that too. I use the MAX in my delay project and switching is completely noiseless. If you combine two switches, you have four DPDT switches in one package. You bring down CS, shift in the required switch setting and then bring up CS again. Instantaniously setting all eight switches at the same time.

Hi,

This sounds really interesting for me. I want to create a loop/bypass box. Can you tell me how you would use spst to create a bypass?

Thanks

amptramp

There is a trick that can be used to make a 4066 CMOS switch work with minimal switch pop.  Suppose the switching is delayed until the voltage at the bypass and effect output was the same – then switching between them would create a slight noise due to the change in rate of change of the signal, but not a pop due to the signal suddenly going in a step function between one voltage and another.  Whereas the 4007 can pan between two inputs when operating as a SPDT panning switch, the 4066 is set up as four SPST switches, permitting the other sections to be made available for effect input grounding or other purposes.  The circuitry used will have some delay, so this can be counteracted by switching when the signals are approaching one another in voltage.  Anticipating the crossover allows switching to happen a short time later (within microseconds) when the signals are on top of each other.  It can be made bipolar with switch transfer occurring as the output approaches the input from either direction or monopolar, saving one gate package and one comparator.

tysonlt

Thanks. I guess I'm just a little confused about how to wire up an effects loop using spst...

tysonlt

Quote from: jasperoosthoek on July 27, 2010, 08:27:33 AM... if you want the effects to be outside the box connected by plugs then I would absolutely go for switching at 0VDC.

I am planning on using 4053's to switch external effects. Could you please explain this to me? R.G'S design uses caps but I would love it if bipolar power made things simpler.

I would need 5v for my pic and then +/-9v for the cmos. Could I drive all that from one 9v wall wart?

If I went bipolar power, would I then just connect the guitar signal straight to the cmos pins? I would prefer that.

Thanks so much, I have been trying to finalize a circuit for my fx switcher... too poor for relays but intimidated by cmos! :)