Simplest, cleanest, push button debouncer?

Started by Terry Pinnell September 12, 2018
Is there any consensus on the neatest circuit to take a noisy push
button signal and output a clean rectangular pulse?

Searching through my ancient (paper) files I found dozens, but my
scribbled notes on many show that when tested I'd found lots failed,
allowing some noise to reach the output. My starting assumption is a
simple CR filter in front of a Schmitt. But before I head for the shed
and start bread boarding I'd much appreciate any recommendations please.

Terry, East Grinstead, UK
On 2018-09-12 18:54, Terry Pinnell wrote:
> Is there any consensus on the neatest circuit to take a noisy push > button signal and output a clean rectangular pulse? > > Searching through my ancient (paper) files I found dozens, but my > scribbled notes on many show that when tested I'd found lots failed, > allowing some noise to reach the output. My starting assumption is a > simple CR filter in front of a Schmitt. But before I head for the > shed and start bread boarding I'd much appreciate any recommendations > please. > > Terry, East Grinstead, UK
The good old 555 timer works nicely in this application. It has a very wide hysteresis (from 2/3 of Vcc to 1/3 of Vcc) that makes the circuit immune to noise and unwanted re-triggers. There is a push-pull logic output available as well as the open-collector "discharge" one, and everything apart from the 3 timing-related passives is integrated. For CMOS logic compatibility from 1.5 V supply and up, there's the LMC555.
On 2018-09-12, Terry Pinnell <me@somewhere.invalid> wrote:
> Is there any consensus on the neatest circuit to take a noisy push > button signal and output a clean rectangular pulse?
If a microcontroller is involved do it it in software If the button is dual throw wire NO/NC across the logic supply and put a small capacitor on the output (C)
> My starting assumption is a simple CR filter in front of a Schmitt
yeah, thats the third option. -- &#1578;
On Wednesday, September 12, 2018 at 12:54:50 PM UTC-4, Terry Pinnell wrote:
> Is there any consensus on the neatest circuit to take a noisy push > button signal and output a clean rectangular pulse? > > Searching through my ancient (paper) files I found dozens, but my > scribbled notes on many show that when tested I'd found lots failed, > allowing some noise to reach the output. My starting assumption is a > simple CR filter in front of a Schmitt. But before I head for the shed > and start bread boarding I'd much appreciate any recommendations please. > > Terry, East Grinstead, UK
If you can do a double throw switch then there is a config that uses an SR flip flop. (And others.. see AoE3.) With a single pole I think you are stuck with a long time delay... (Some RC thing ~10's of milli seconds.) George H.
On 9/12/2018 11:54 AM, Terry Pinnell wrote:
> Is there any consensus on the neatest circuit to take a noisy push > button signal and output a clean rectangular pulse? > > Searching through my ancient (paper) files I found dozens, but my > scribbled notes on many show that when tested I'd found lots failed, > allowing some noise to reach the output. My starting assumption is a > simple CR filter in front of a Schmitt. But before I head for the shed > and start bread boarding I'd much appreciate any recommendations please. > > Terry, East Grinstead, UK >
Here's one I came up I came up with that worked in a very noisy product we had. I've posted it many times never got any response, good or bad. It uses an SCR.
>
http://photobucket.com/gallery/http://s395.photobucket.com/user/Qmavam/media/Debouncejpg.jpg.html Mikek
On 9/13/2018 2:25 PM, amdx wrote:
> On 9/12/2018 11:54 AM, Terry Pinnell wrote: >> Is there any consensus on the neatest circuit to take a noisy push >> button signal and output a clean rectangular pulse? >> >> Searching through my ancient (paper) files I found dozens, but my >> scribbled notes on many show that when tested I'd found lots failed, >> allowing some noise to reach the output. My starting assumption is a >> simple CR filter in front of a Schmitt. But before I head for the shed >> and start bread boarding I'd much appreciate any recommendations please. >> >> Terry, East Grinstead, UK >> > > &nbsp;Here's one I came up I came up with that worked in a very noisy > product we had. I've posted it many times never got any response, good > or bad. > It uses an SCR. >>
http://photobucket.com/gallery/http://s395.photobucket.com/user/Qmavam/media/Debouncejpg.jpg.html
>> > >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mikek
>
I guess I didn't read enough, it outputs a pulldown pulse.
On Wed, 12 Sep 2018 17:54:46 +0100, Terry Pinnell wrote:

> My starting assumption is a simple CR filter in front of a Schmitt.
Yup, that's probably the simplest and cheapest effective way. But if you need more buttons to be debounced, a uC solution might be more scalable and simpler so that the filter could be implemented in software virtually using no components other than the minumum necessary to have the uC run.
"asdf" <asdf@nospam.com> wrote in message 
news:pnem1h$1184$1@gioia.aioe.org...
> On Wed, 12 Sep 2018 17:54:46 +0100, Terry Pinnell wrote: > >> My starting assumption is a simple CR filter in front of a Schmitt. > > Yup, that's probably the simplest and cheapest effective way. > But if you need more buttons to be debounced, a uC solution might > be more scalable and simpler so that the filter could be > implemented in software virtually using no components other > than the minumum necessary to have the uC run.
Look at the MC14490. Works great.
On Fri, 14 Sep 2018 05:25:58 -0500, Rick wrote:

> Look at the MC14490. Works great.
Never heard of that chip, looks interesting. Thanks.
On Thu, 13 Sep 2018 21:49:37 +0000 (UTC), asdf <asdf@nospam.com>
wrote:

>On Wed, 12 Sep 2018 17:54:46 +0100, Terry Pinnell wrote: > >> My starting assumption is a simple CR filter in front of a Schmitt. > >Yup, that's probably the simplest and cheapest effective way. >But if you need more buttons to be debounced, a uC solution might >be more scalable and simpler so that the filter could be >implemented in software virtually using no components other >than the minumum necessary to have the uC run.
A uP doesn't need hardware or software debouncing. Just sample the switch state 10 times per second and use what you see. It could use emi/esd protection, but that's just one capacitor. -- John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com