Electronics-Related.com
Forums

Simplest, cleanest, push button debouncer?

Started by Terry Pinnell September 12, 2018
On Thursday, September 13, 2018 at 5:56:39 AM UTC-7, George Herold wrote:
> 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?
> If you can do a double throw switch then there is a config that uses > an SR flip flop. (And others.. see AoE3.)
Yep, that's a good 'un. There's also Hall switches (or used to be) from Cherry, in keyboard-mountable form, that give good clean output and don't fail from dirty contacts. I'm not seeing any inexpensive such items nowadays, but have a box of the old ones somewhere.
On 9/13/18 3: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 >> > >  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 >>
7 parts is a lot for a debouncer. An RC lowpass and a tinylogic Schmitt will work fine. Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC / Hobbs ElectroOptics Optics, Electro-optics, Photonics, Analog Electronics Briarcliff Manor NY 10510 http://electrooptical.net http://hobbs-eo.com
On 9/14/18 6:25 AM, Rick wrote:
> > "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. > >
Four bucks in reels! Six 1-cent caps, six 0.3-cent resistors, one 8-cent 74HC14. Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC / Hobbs ElectroOptics Optics, Electro-optics, Photonics, Analog Electronics Briarcliff Manor NY 10510 http://electrooptical.net http://hobbs-eo.com
amdx <nojunk@knology.net> wrote:

>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 >>> >> >> &#4294967295;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 >>> >> >> &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295; Mikek >> > I guess I didn't read enough, it outputs a pulldown pulse.
Still an interesting circuit that I mean to try, thanks.
Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> wrote:

>On 9/13/18 3: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 >>> >> >> &#4294967295;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 >>> > >7 parts is a lot for a debouncer. An RC lowpass and a tinylogic Schmitt >will work fine. > >Cheers > >Phil Hobbs
True, but it always feels wasteful using only half a 14-pin IC, like a 4013 for example. And time-consuming terminating the unused inputs. But my interest in the SCR circuit is mainly because I have a bunch of ancient, low-power SCRs, maybe 40-50 years old. Terry, East Grinstead, UK
Jasen Betts <jasen@xnet.co.nz> wrote:

>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.
Thanks Jasen. No micros here. And just plain single pole buttons. Terry, East Grinstead, UK
George Herold <gherold@teachspin.com> wrote:

>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.)
Thanks. Mine is version 2 but I'll check it out.
> With a single pole I think you are stuck with a long >time delay... (Some RC thing ~10's of milli seconds.) > >George H.
Terry, East Grinstead, UK
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.
Thanks, but no micro hardware or software skills here. Terry, East Grinstead, UK
On 9/15/18 6:59 AM, Terry Pinnell wrote:
> Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> wrote: > >> On 9/13/18 3: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 >>>> >> >> 7 parts is a lot for a debouncer. An RC lowpass and a tinylogic Schmitt >> will work fine. >> >> Cheers >> >> Phil Hobbs > > True, but it always feels wasteful using only half a 14-pin IC, like a > 4013 for example. And time-consuming terminating the unused inputs. > > But my interest in the SCR circuit is mainly because I have a bunch of > ancient, low-power SCRs, maybe 40-50 years old. > > Terry, East Grinstead, UK >
Tiny logic is one gate per package. Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC / Hobbs ElectroOptics Optics, Electro-optics, Photonics, Analog Electronics Briarcliff Manor NY 10510 http://electrooptical.net http://hobbs-eo.com
Dimitrij Klingbeil <nospam@no-address.com> wrote:

>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.
Thanks Dimitrij, that looks like my favourite. (Sorry for delay; this post was my first reply, but I didn't spot it had somehow got stuck in the outbox.) Terry, East Grinstead, UK