Trouble Debouncing With 74LS14

Thread Starter

dmarciano84

Joined Oct 1, 2023
36
I am trying to implement a debouncing circuit to test based on an article from DigiKey. The circuit they provided was this:
1700436086588.png

(Source: How to Implement Hardware Debounce for Switches and Relays When Software Debounce Isn’t Appropriate under the Hardware debouncing an SPST switch with an RC network section).

As they provided no specific values, I implemented the following (based on feedback I got from others a couple of weeks ago):
1700436192798.png

which you can see on this breadboard image:
1700436218013.png

However, I am not getting any output from the 74LS14. I did confirm when the button is not pressed there is a 5V potential which drops to 0V when pressed (test between the white and black wire hooked up to the switch). I also tested the output directly of the 74LS14 by connecting the input directly to 5V and GND and got the expected output of 0V and 4.15V, respectively.

However, when everything is hooked up as shown in the above images, the output is always in the 30mV range regardless if the button is pressed or not. I also tried without the 100k resistor from the output to GND as that wasn't in the DigiKey schematic (but was in a version that was suggested to me).

I went over the schematic several times and even tried rewiring everything but I can't seem to find the problem. I am sure I am missing something simple here that I am just not seeing so any help/guidance would be appreciated. TIA.
 

MrChips

Joined Oct 2, 2009
30,494
R1 and R2 values are too high for 74LS14 gate.
It would probably work with 74C14, 74HC14 and 74HCT14 gates.
For non-CMOS gates such as 74LS14, try
R1 = 4.7kΩ
R2 = 1kΩ
C3 = 10μF
 

Thread Starter

dmarciano84

Joined Oct 1, 2023
36
R1 and R2 values are too high for 74LS14 gate.
It would probably work with 74C14, 74HC14 and 74HCT14 gates.
For non-CMOS gates such as 74LS14, try
R1 = 4.7kΩ
R2 = 1kΩ

I actually was worried about these values being two high and did decrease them but not that much. I will give that a try and get back to you. I appreciate the suggestion.
 

Thread Starter

dmarciano84

Joined Oct 1, 2023
36
Worked like a charm! Seeing a nice clean signal on my scope.

From an engineering approach, you need to look up in the device data sheet for the input low and high currents.
I have been trying. Honestly, I am more of a programmer (web, Desktop, and PIC) and my electronics knowledge is really based around the PIC controller (e.g., talking with a computer, LCD screens, etc.) and/or HV (e.g., Tesla Coils). This is the first time I am working with a chip like this (as I have never really had a need) and honestly I am finding some of the datasheets confusing. This is why I have been experimenting on the breadboards with these chips because I need/want to learn them. Those values were recommended to me by someone so I assumed they were valid and I was doing something wrong.

Looking over the datasheet again I am guessing I should have been referencing the I_(I) value of 1mA, correct? Can you clarify them what the difference is between the I_(I), I_(IH), and I_(IL) values are?

Thanks again for the assist.
 

MrChips

Joined Oct 2, 2009
30,494
Let us take a look at the 74LS14 datasheet.

74LS14 datasheet.jpg

II = 0.1mA max for Vcc = MAX, VI = 7V
This is the leakage current into the input pin when Vcc = VI = 7V
We don't need to know this.

IIH = 20μA for VIH = 2.7V
This means that for a logic HIGH input, we need to source 20μA or more.
The maximum pull-up resistor Rpullup = (5V - 2.7V) / 20μA = 115kΩ
If we want the input to be about 4V,
Rpullup = (5V - 4V) / 20μA = 50kΩ or lower

IIL = -0.4mA for VIL = 0.4V
This means that for a logic LOW input, we need to sink 0.4mA
(The negative sign shown means that the current is coming out of the input pin.)
The maximum pull-down resistor Rpulldown = (0.4V) / 0.4mA = 1kΩ
Hence, we just made it with R2 =1kΩ
 
Top