counter debounce problems

S

Sean Bartholomew

Guest
im using a 555 in monostable mode to debounce a momentary spst switch
for use with my cmos 4027 flip-flop hooked up as a 2 bit down counter
to run a 4052 multiplexer.
i have about 100ms of pulse time on the 555 which is great. problem is
i STILL have debouncing problems on release if i do so after the 100
ms. is there a cap or SOMETHING i could use to delay the pull back up
to Vdd on the 555? would that work? or is there something else i can
do. momentary spdt FOOTSWITCHES are RARE.
thanks.
 
On 24 Jun 2004 09:17:46 -0700, adrian@rivaband.com (Sean Bartholomew)
wrote:

im using a 555 in monostable mode to debounce a momentary spst switch
for use with my cmos 4027 flip-flop hooked up as a 2 bit down counter
to run a 4052 multiplexer.
i have about 100ms of pulse time on the 555 which is great. problem is
i STILL have debouncing problems on release if i do so after the 100
ms. is there a cap or SOMETHING i could use to delay the pull back up
to Vdd on the 555? would that work? or is there something else i can
do. momentary spdt FOOTSWITCHES are RARE.
---
Try this:

+--[CR1>]--+
+V | |
| +--+---[R1]---+---+--+
| | | |
O | | +--A
| | +---------+ | OR Y-->OUT
| <--O--+-+--|RET. MONO|----------B
| +---------+ |
[R2] [C1]
| |
GND GND

When the switch closes, the output of the retriggerable one-shot will
go high and drive the output of the OR high for one period of the one
shot for each positive transition of the bounce waveform, and that
period is chosen to be longer than the time between any two
consecutive rising edges due to bounce. The switch closing will also
charge C1 quickly through the diode, CR1, with the result that when
the one-shot times out after the switch stops bouncing, the switch
remaining in the closed position will keep OUT high and C charged for
as long as the switch is made.

Now, when the switch is released, C1 will discharge slowly through R1
and R2, but recharge quickly through CR1, with the result that OUT
will remain high during the time that the switch is bouncing after
it's released. The one-shot will also be active during the bouncing,
heeping OUT high as well. Then, once the switch stops bouncing and is
stably open, the one shot will time out, C1 will discharge to the
point where it can no longer keep OUT high, and OUT will go low.

The next time the switch is pressed, the cycle will start anew and a
new high-going edge will appear at OUT to drive your flip-flop.

Notice that the length of time the footswitch is pressed before it's
released is immaterial, and you'll always get a single high when it's
pressed and a single low when it's released. It's conceivable that
you could also keep OUT high if you could continually press and
release the switch fast enough, but with the proper time constants
chosen, I doubt it!-)

--
John Fields
 

Welcome to EDABoard.com

Sponsor

Back
Top