Preventing 555 timer fire for x time.

Thread Starter

Zerth

Joined Dec 21, 2022
14
I have been working to design a circuit that uses a 555 timer as a pulse width source.

The circuit I have made works well but if the button gets held down the 555 just continuously fires. And then eventually starts to oscillate weirdly.

I would like the 555 timer to fire only once regardless of if the button is held down. The button must be released and pressed again x ms after the first pressing. Doing some digging I found that I could capacitively couple the trigger so that it will only do one momentary pulse when the button is pressed. But I have a feeling I need to incorporate some sort of RC delay component that prevents the button from firing again until the RC component has charged. I am not sure how to go about that and can't seem to find any resources via searching.

555timer.png
S1 activates the system. S2 changes the time duration of the first 555 in monostable.

I would like to make it so S1 can only be activated again 5 seconds after it has been pressed. Or some fixed amount of time.
Can I simply adjust C5/R6+R1 time constants?
 

dl324

Joined Mar 30, 2015
16,839
Welcome to AAC!
I would like to make it so S1 can only be activated again 5 seconds after it has been pressed. Or some fixed amount of time.
You'd need to use another timer to hold the trigger input of the first timer at a voltage above Vcc/3 for the lockout period.
Can I simply adjust C5/R6+R1 time constants?
No. The one shot output can't go LOW until the timer times out and the trigger input is above Vcc/3. The resistor values you're using are too low and the capacitor is too large.

1671639531555.png
 

AnalogKid

Joined Aug 1, 2013
10,986
Give us some numbers.

What are th4e two output pulse widths of A1, for the Space switch open and closed?

What is the other (refdes not readable) 555 oscillator frequency?

Do you see a problem with those numbers?

What is it you are trying to achieve?

To disable the input to a monostable for a time period that is different from its own usually takes another monostable. The 555 does not lend itself to the logic you want to implement. Consider discrete gates.

ak
 

Thread Starter

Zerth

Joined Dec 21, 2022
14
Give us some numbers.

What are th4e two output pulse widths of A1, for the Space switch open and closed?

What is the other (refdes not readable) 555 oscillator frequency?

Do you see a problem with those numbers?

What is it you are trying to achieve?

To disable the input to a monostable for a time period that is different from its own usually takes another monostable. The 555 does not lend itself to the logic you want to implement. Consider discrete gates.

ak
The two output pulses of A1 are 70ms and 280ms monostable. A2 is running at 70ms 50% duty cycle astable.
S2 selects 70ms or 280ms and then that is powering the reset of the second timer.
So mode 1, a single 70ms pulse. Mode 2 70ms on, 70ms off, 70ms on, 70ms off.

It must not be able to be held down. Button should only act as a momentary impulse regardless of how long it is pressed down. I have all that working in the sim and on my breadboard. But now I must add a customizable delay for when the button can be pressed down again.

I assumed I would be able to add some sort of RC delay. Discharges a capacitor when switch is pressed, holds line open until the capacitor is charged at which point the button can be pressed again and the capacitor will need to charge again and then once charged will close the line allowing the button to be pressed again. I would prefer a discrete analog solution and not rely on more counters/timers.
 

Thread Starter

Zerth

Joined Dec 21, 2022
14
So the accuracy of this delay is not critical?
No only the timing of the 555s is critical. But I already have that working within tolerances.

The delay itself is just to prevent the user from firing repeatedly. It is not time accuracy critical. But would preferably be variable so I can play around with what delay length feels the best.
 

Thread Starter

Zerth

Joined Dec 21, 2022
14
No. The one shot output can't go LOW until the timer times out and the trigger input is above Vcc/3. The resistor values you're using are too low and the capacitor is too large.
Cap was incorrect in schematic. I updated with correct one.

I was originally using larger resistors but It was making the first impulse of my 555 longer than it should be. I think the large resistance was messing with the internal voltage divider. So I had to either use buffers or make the resistance smaller. But I didn't have any buffers so I used the 125 ohm resistors which didn't negatively impact the timing of the 555s.
 

dl324

Joined Mar 30, 2015
16,839
I didn't have any buffers so I used the 125 ohm resistors which didn't negatively impact the timing of the 555s.
It still looks silly to use such small value resistors. Signetics invented the 555 timer and they show that 1nF and 10k are sufficient.
 

Thread Starter

Zerth

Joined Dec 21, 2022
14
It still looks silly to use such small value resistors. Signetics invented the 555 timer and they show that 1nF and 10k are sufficient.
If I use a 10k resistor there my initial pulse is like 120ms not 70ms. Any pulse after the first one works fine. But the first on is always longer than desired. I've tested it on both sim and breadboard with oscilloscope.

But that is beside the point and is not related to the question.

I want to hold the switch S1 open for x time after being pressed. You said this can't be done by adjusting the RC constant of R1/R6 and C5. Therefor the solution lies in some with other components I do not possess yet. Do you know of any solution that would achieve that or only another 555?
 

sghioto

Joined Dec 31, 2017
5,376
This version using a second 555 as the delay timer may work for you. When S1 is pressed the 5 second delay timer starts and a pulse is sent to the timer IC2 but cannot resend a pulse until delay timer IC1 times out indicated by the LED. Further pressing S1 during the 5 second delay will restart the delay timer.
1671643235900.png
 
Last edited:

Thread Starter

Zerth

Joined Dec 21, 2022
14
This version using a second 555 as the delay timer may work for you. When S1 is pressed the 5 second delay timer starts and a pulse is sent to the timer IC2 but cannot resend a pulse until delay timer IC1 times out indicated by the LED. Further pressing S1 during the 5 second delay will extend the delay time.
View attachment 283545
Thank you very much. I will give this a try. Appreciate your help.
 

dl324

Joined Mar 30, 2015
16,839
If I use a 10k resistor there my initial pulse is like 120ms not 70ms. Any pulse after the first one works fine. But the first on is always longer than desired. I've tested it on both sim and breadboard with oscilloscope.
The width of the trigger pulse isn't critical. The comparator on the trigger input will react to the pulse provided by a 10k resistor and 1nF cap (though I usually use 10nF or 100nF).
I want to hold the switch S1 open for x time after being pressed. You said this can't be done by adjusting the RC constant of R1/R6 and C5. Therefor the solution lies in some with other components I do not possess yet. Do you know of any solution that would achieve that or only another 555?
I already mentioned that you'd need another one shot to prevent the existing one shot from being triggered before the lockout period.
 

Thread Starter

Zerth

Joined Dec 21, 2022
14
The width of the trigger pulse isn't critical. The comparator on the trigger input will react to the pulse provided by a 10k resistor and 1nF cap (though I usually use 10nF or 100nF).
I already mentioned that you'd need another one shot to prevent the existing one shot from being triggered before the lockout period.
Interesting, I wonder why I am seeing the effects that I am then. I will do some experiments and try to get to the bottom of that.

Thank you for your help. I will try building another one shot to perform that.
 

sghioto

Joined Dec 31, 2017
5,376
Here's another version of the 5 sec delay timer. Holding the switch down does not restart the delay but will send a pulse every 5 seconds.
1671645648385.png
 

Thread Starter

Zerth

Joined Dec 21, 2022
14
Here's another version of the 5 sec delay timer. Holding the switch down does not restart the delay but will send a pulse every 5 seconds.
View attachment 283551
Thank you very much.

Maybe you would be able to answer another question for me as well.

The first cycle of my A2 timer is about 1.5 times the width that it should be.

My understanding is this is due to the fact that the capacitor within the 555 timer needs to charge up the first time which causes the initial pulse to be longer than the rest of the Astable pulses. I've read that I can build a voltage divider circuit to precharge the A2 capacitor to 1/3 VCC so that it is precharged before the first firing attempt.

I can not figure out which pin the capacitor is actually attached to though and where I would need to deliver that 1/3VCC to.

Is this something you are familiar with?

555withdelay.png
 

Thread Starter

Zerth

Joined Dec 21, 2022
14
Here's another version of the 5 sec delay timer. Holding the switch down does not restart the delay but will send a pulse every 5 seconds.
View attachment 283551
Also if I attempt to simulate this it does nothing. LED never lights and never see any output from IC1. Aren't TRI and THR supposed to be isolated in a one shot? TRI on VCC and DIS and THR together instead?
 
Top