Totally silent switching circuit update and PIC programming stage

Started by tempus, May 10, 2009, 03:39:45 PM

Previous topic - Next topic

tempus

Hey all;

Last week I posted this totally silent switching circuit:



cpm made this comment:

QuoteAlso, if used as a building block for a spdt or a/b sort of switch, being the output put to ground, you cant just tie two outputs together from complementary switching blocks, as it would result in the output being always grounded

I had a chance to draw it all out on paper today, and, sadly, he was right. However....

This has (hopefully) led to an even simpler implementation. I'm thinking that I could have just 1 MOSFET to select the input and 1 to select the output (in the usual Boss style bypass system). Now, instead of using the 2nd (shunt) MOSFET on the output of each individual MOSFET switch, I could put one shunt MOSFET at the output at the very end of the signal chain to ground the signal momentarily while the switching occurs. This way, no matter which combination of switches I have going on or off (I need to switch among 4 effects, plus amp channel and volume boost), the switching should be silent. Also, parts count would be reduced considerably (which means less soldering time for me - yay).

Which takes us to the next step - switching with a PIC. This is the sequence of events that I would need (e.g. to turn on FX1 and FX2)

1. momentary switch engaged
2. shunt MOSFET on
3. (not) MOSFET for all FX switched on (to reset everything to bypass from whatever the previous setting was)
4. (not) FX1 MOSFET switched off
5. FX1 MOSFET switched on
6. (not) FX2 MOSFET switched off
7. FX2 MOSFET switched on
8. shunt MOSFET off

I don't know if that makes sense, but would this type of switching be possible to accomplish using a PIC? I've never used a PIC, but from what I've read, it shouldn't be a problem. Also, would the MOSFET shunt switch have to be engaged for so long while all these instructions are executed that there would be a noticeable dropout in the signal? Again, my understanding is that there shouln't be, since the PIC is zipping along so quickly.

Anything else I should consider? I know that sooner or later I have to suck it up and just order the parts I need and actually try this stuff out, but I'd like to have a pretty solid idea of what I'll need to order first (I'd rather not have a ton of parts that I don't need, nor do I want to have to place 3 or 4 separate orders - I hate paying $8 for shipping for $2 worth of parts).

Thanks

MetalGuy

QuoteI don't know if that makes sense, but would this type of switching be possible to accomplish using a PIC?

Of course it can be done but I'm afraid your design is unnecessarily complicated. You can use only a P-channel FET like J174 or an LDR to achieve the same results.
It usually takes 5-10ms for a relay to switch on/off. So the sequence is:

1/ Press footswitch
2/ J174 ON for 20-50 ms shunting signal to ground
3/ Realys switching during 2/
4/ J174 OFF
 
And that's it. No further complications are necessary. If you're using it in tube amps and you're switching a grids add one more J174 there.

tempus

That switching sequence is easier, but a PIC can't control a relay directly, and the relays make an audible noise when switching. I'd rather avoid using relay drivers and just go with the solid state switching.

Thanks


David

Quote from: tempus on May 10, 2009, 10:08:45 PM
That switching sequence is easier, but a PIC can't control a relay directly, and the relays make an audible noise when switching. I'd rather avoid using relay drivers and just go with the solid state switching.

Thanks



True.  However, it CAN drive a transistor, which can drive a relay nicely.  Also, there are those PCB-sized relays which are perfect for this application.  IIRC, there is something at GEO which shows how to drive a relay from a PIC.

MetalGuy

QuoteThat switching sequence is easier, but a PIC can't control a relay directly, and the relays make an audible noise when switching. I'd rather avoid using relay drivers and just go with the solid state switching.

Driving relays from a PIC is easy - you need a general use transistor and a resistor to it's base from PIC's output. If you have several lines/channels/relays you can use an ULN2003 or similar.
Using this sequence will get you totally silent switching no matter how many relays you have because they will be switching during that ms interval when signal is shunted to ground. All this is not just theory - it's working prefectly in practice.

tempus

I realize that it's possible to do with a relay, but I'd still like to keep it solid state for a couple reasons:

1. current consumption is much less of an issue
2. you can hear relays switching; this isn't true of solid state switches.

As for it being simpler to implement, by the time you get the relay and the relay driver in there, there's not really any advantage as far as simplifying the switching goes. Using solid state, a PIC would drive 2 MOSFETS per effect. Using relays, a PIC would drive a relay and a relay driver per effect.