Key debounce

Discussion in 'The Projects Forum' started by James Gordon, Jan 13, 2015.

  1. James Gordon

    Thread Starter New Member

    Jan 13, 2015
    9
    0
    Hi!

    I've looked around for key debounce circuits online but can't find anything that fits the bill. I'm looking for a purely digital solution that can clear up key bounce on a single wire. Anyone able to suggest a solution please?

    Thanks
     
  2. ebeowulf17

    Active Member

    Aug 12, 2014
    678
    79
    In what way do the numerous well known debounce circuits not fit the bill?

    An RC filter removes bounce and if you need the output to be strictly digital, you can feed RC output through Schmitt trigger, comparator, etc.

    Would this fit the bill? If not, what's missing?
     
  3. ronv

    AAC Fanatic!

    Nov 12, 2008
    3,281
    1,232
    Or since your a digital kind of guy, you could do it in your micro with code. :)
     
  4. ebeowulf17

    Active Member

    Aug 12, 2014
    678
    79
    Wasn't sure if that's what he meant by digital, but that's certainly the easier route!
     
  5. ronv

    AAC Fanatic!

    Nov 12, 2008
    3,281
    1,232
    Yea, I was just being a smart ***. :rolleyes: Woke up that way this morning.
     
  6. jpanhalt

    AAC Fanatic!

    Jan 18, 2008
    5,675
    899
  7. Bernard

    AAC Fanatic!

    Aug 7, 2008
    4,170
    395
    This debounce solved OP's problem & was still on file. Does not require DPST switch. As suggested, can replace 555 with other schmitts; 40106, 74C14, 74C914. Thirty Sec. Pulser. 00000.jpg
     
  8. James Gordon

    Thread Starter New Member

    Jan 13, 2015
    9
    0
    One's I have found online have not fit the bill for the following reason: it is required that the solution uses only basic gates and flip-flops. In addition, the online solutions have not worked as I only have access to a single wire, I have attached potentially the worst diagram I have ever made, but I hope it gets the point across, where x represents the block that is to be replaced with only basic gates and flipflops in order to eliminate key bounce from any of the switches.

    Thanks for the replies, all most helpful.
     
  9. MaxHeadRoom

    Expert

    Jul 18, 2013
    10,507
    2,367
    Evidently no IC can be used for this!
    See duplicate thread!
    Max.
     
  10. jpanhalt

    AAC Fanatic!

    Jan 18, 2008
    5,675
    899
    Not quite sure how you "switch" a single wire. Please draw a complete circuit.

    John
     
  11. James Gordon

    Thread Starter New Member

    Jan 13, 2015
    9
    0
    John, the gates and flip-flops must replace block x, hope this is better.
     
  12. jpanhalt

    AAC Fanatic!

    Jan 18, 2008
    5,675
    899
    Where is your ground? It is two-wire and most of the suggestions made will work with appropriate modification.

    John
     
  13. James Gordon

    Thread Starter New Member

    Jan 13, 2015
    9
    0
    There are 3 switches like the one in the diagram, all coming from different sources. The bottom wire will go high when any of the three switches are pressed, I didn't think I could use two-wire as this would mean having to connect the other end of the 3 switches. Ground isn't featured in this section of circuitry, correct me if I am wrong.

    So say the setup below was used, and a voltmeter attached to the output to determine which key was being pressed, how would the debounce block be implemented please?

    I know this is a pain, sorry about that. Please know your efforts are most appreciated.
     
  14. ronv

    AAC Fanatic!

    Nov 12, 2008
    3,281
    1,232
    In order for the circuit to work you need to be able to place your voltmeter on the input and see a change. So you need another path, not just one wire in the air.
    Talk more about the circuit with the switches.
     
  15. eetech00

    Active Member

    Jun 8, 2013
    647
    110
    Hi

    Here's a Debounce circuit.
    One graphic shows circuit with bad values, the other show circuit with good values.

    eT
     
  16. crutschow

    Expert

    Mar 14, 2008
    12,986
    3,224
    To do a debounce circuit for a single pole switch requires a time delay of some form. If you need to do that digitally without any analog RC delays, then you must have a digital clock to generate the delay time.
    Can you use a clock in the solution?
     
  17. crutschow

    Expert

    Mar 14, 2008
    12,986
    3,224
    Does this need to be done in a CPLD/FPGA IC as the pulse generator in your other post?
     
  18. James Gordon

    Thread Starter New Member

    Jan 13, 2015
    9
    0
    It does yes
     
  19. tshuck

    Well-Known Member

    Oct 18, 2012
    3,531
    675
    This sounds like something you are supposed to figure for a lab assignment. Is that the case?

    What FPGA board are you using?

    Have you learned about state machines? Both of these circuits you are asking for are done with state machines.
     
Loading...