push-button on/off switch
Arthur Harrison
theremin1 at worldnet.att.net
Wed Dec 30 05:43:22 CET 1998
Unless you have a "bounceless" contact in the switch (mercury, for example),
you must pre-condition the switch with a hysteretic comparator before going
to
the FF. There are many approaches, but for metal-gate CMOS, a section of a
CD40106BE hex Schmitt inverter is handy. The CD4013BE FF is also nice for
the storage element, but a neat one-IC trick is to use a CD4024BE counter,
which has built-in hysteresis, giving you debounce and storage in one part.
The CD40106BE plus three CD4013BE packages, on the other hand, provide
six independent bounceless on-off switches with both Q and Qnot outputs.
A typical circuit with one section of a CD40106BE and half of a CD4013BE is
at:
http://home.att.net/~theremin1/debounce.gif
A related circuit, specifically designed for the Big Briar "Etherwave"
theremin is at:
http://home.att.net/~theremin1/circuitlibrary/mute.html
An often-ignored requirement for reliable switching is the switch contact.
For low-level
currents, such as in this application, it is best to use a switch with
gold-plated contacts
and a "snap" mechanism, or better yet, a magnet-actuated dry reed switch
(expensive!).
Typical silver-plated contacts used in switches rated in the ampere range
may form
resistive oxides over time which do not readily clean away with a few
milliamperes of
current, causing unreliable operation.
Another type of bounceless switch are the hybrid types which contain a
magnet,
Hall-effect transducer, and IC. I've seen these used in some FX pedals.
-Art
-----Original Message-----
From: Rob <cyborg0 at GlobalEyes.net>
To: synth-diy at mailhost.bpa.nl <synth-diy at mailhost.bpa.nl>
Date: Tuesday, December 29, 1998 2:55 PM
Subject: push-button on/off switch
>Just wondering if anyone has had any problems using push button switches
>to trigger flip-flops.. Basically, routing QNOT to D, and switching clk
>on and off.. One hit is on, one hit being off..
>Rob
More information about the Synth-diy
mailing list