Electrical – 555 Timer in monostable mode with reset on the same momentary button

555debouncerelaytimer

I've been researching this problem for a few days. I have a 555 timer for controlling a car heated windshield, and I'd like to have a single button controlling it, and use that same button to cancel mid-timer, if the user doesn't need the full duration.

I've so far come up with the following schematic, and have been testing on protoboard:

http://i.imgur.com/ESYBRTA.png

It has a 555 timer with around a 5 minute timer (doesn't need to be exact), and the output switches a mosfet configuration which turns on a relay. This relay then changes which line the switch pulls to GND from trigger to reset.

My problem is that when I have this circuit built, pushing the button causes the relay to energise, which pulls reset low before I can release the button, so the relay vibrates on and off rapidly, which gives an unpredictable output.

I think I might need to debounce the switch, but I am not sure what the best way to do this is (other than just putting a capacitor in parallel), and also I may need to delay the pull-down of the reset pin on the 555 so I don't end up with this vibrating effect, which I think is unrelated to the debouncing.

I've found this link which seems to do what I want, but I don't think the schematic they used is noticably different to the one I've designed.

Appreciate any help.

Best Answer

Rather than trying to delay operation of the reset function, you're better off trying to delay the trigger function. It's not a bouncing issue, simply that as soon as the RESET input is activated, the relay turns off and the TRIG line is activated, turning the relay on and starting the cycle again. You've effectively made an oscillator.

The key difference between that circuit you found and yours is the capacitor on the RESET line. Pressing the button to turn the circuit off discharges that capacitor through the button, and it prevents the TRIG input from having any effect until it's charged back up again, and that doesn't start until the reset has taken place and the relay has switched.

The circuit will still oscillate, but much more slowly and controlled by the RC values used on the RESET input. One way to prevent this altogether would be to use a more complex circuit with the button used to clock a flip-flop, but I would think an RC delay of two or three seconds would probably be good enough for your application.