I'm trying to figure out a way to design an On/Off circuit that uses very l ittle power when off and requires holding the push button for two or three seconds before it accepts the change. A pair of CMOS gates/inverters can p rovide the low power two state circuit and a push button connected with a s imple capacitor/resistor arrangement will default to off on power up and al low toggling on the button press, but I can't seem to get it to delay prope rly.
It works ok if you allow enough time between button presses, but the charge on C2 acts as a memory recording the time since last activation. The butt on hold time is a lot less if you just changed states. Actually, must of t his seems to be from a bias current into the CMOS inverter. I'm guessing t his current is not as in a real part since it seems to be a resistor of 100 Mohm.
Version 4 SHEET 1 880 1380 WIRE -784 576 -800 576 WIRE -768 576 -784 576 WIRE -800 608 -800 576 WIRE -480 608 -560 608 WIRE -256 608 -480 608 WIRE -80 608 -176 608 WIRE 192 608 -80 608 WIRE -800 704 -800 672 WIRE -752 704 -800 704 WIRE -704 704 -752 704 WIRE -560 704 -560 608 WIRE -560 704 -624 704 WIRE -448 704 -560 704 WIRE -288 704 -368 704 WIRE -144 704 -176 704 WIRE -16 704 -144 704 WIRE 48 704 -16 704 WIRE 192 704 192 608 WIRE 192 704 160 704 WIRE -800 736 -800 704 WIRE -560 752 -560 704 WIRE -144 752 -144 704 WIRE -800 816 -800 800 WIRE -560 880 -560 832 WIRE -512 880 -560 880 WIRE -480 880 -512 880 WIRE -272 880 -304 880 WIRE -144 880 -144 832 WIRE -144 880 -272 880 WIRE -16 880 -144 880 WIRE 192 880 192 704 WIRE 192 880 48 880 WIRE -112 944 -128 944 WIRE -96 944 -112 944 WIRE -128 976 -128 944 WIRE -480 1072 -480 880 WIRE -432 1072 -480 1072 WIRE -304 1072 -304 880 WIRE -304 1072 -352 1072 WIRE -128 1072 -128 1056 WIRE -368 1136 -368 1120 WIRE -416 1168 -416 1120 WIRE -416 1216 -416 1168 WIRE -416 1328 -416 1296 FLAG -128 1072 0 FLAG -112 944 Vdd FLAG -368 1136 0 FLAG -416 1328 0 FLAG -480 608 PWROFFn FLAG -512 880 SW FLAG -272 880 CAP FLAG -80 608 PWRON FLAG -416 1168 SWcntl FLAG -16 704 PWROFF FLAG -800 816 0 FLAG -752 704 CAP2 FLAG -784 576 Vdd SYMBOL voltage -128 960 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value PULSE(0 15 50ms 20ms 20ms 118.5s 119.5) SYMBOL cap -16 896 R270 WINDOW 0 32 32 VTop 2 WINDOW 3 0 32 VBottom 2 SYMATTR InstName C1
SYMBOL res -160 736 R0 SYMATTR InstName R4 SYMATTR Value 470k SYMBOL res -160 592 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R5 SYMATTR Value 10Meg SYMBOL res -576 736 R0 SYMATTR InstName R6 SYMATTR Value 3.3Meg SYMBOL sw -336 1072 M270 WINDOW 0 43 31 VLeft 2 WINDOW 3 44 117 VLeft 2 SYMATTR InstName S1 SYMATTR Value MYSW SYMBOL voltage -416 1200 R0 WINDOW 0 38 39 Left 2 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V2 SYMATTR Value PULSE(0 5 4.9s 20ms 20ms 4s 24s) SYMBOL CD4000\\CD4049B 96 640 R0 SYMATTR InstName U3 SYMBOL CD4000\\CD4049B -240 640 R0 SYMATTR InstName U2 SYMBOL cap -816 736 R0 SYMATTR InstName C2
SYMATTR SpiceLine Rser=1 SYMBOL res -608 688 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R1 SYMATTR Value 100k SYMBOL diode -784 672 R180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D1 SYMATTR Value 1N4148 SYMBOL voltage -464 704 M90 WINDOW 0 -31 94 VRight 2 WINDOW 3 20 21 VLeft 2 WINDOW 123 0 0 Left 0 WINDOW 39 -30 25 VLeft 2 SYMATTR InstName V3 SYMATTR Value 0 SYMATTR SpiceLine Rser=0 TEXT -18 800 Left 2 !.tran 100 TEXT -432 792 Left 2 !.include cd4000_v.lib TEXT -200 1152 Left 2 !.model MYSW SW(Ron=30m Roff=1G Vt=1 Vh=-0.1) TEXT -456 960 Left 2 ;Momentary\nPush Button RECTANGLE Normal -224 1376 -544 928 1