I have a question about using a 555 timer as a flip-flop?

I have it set up so that I get an out put signal that goes High for about 1/2 second, and then goes low for about 1.33 seconds. The problem is that the output is to go through 2 LEDs, the one is supposed to light when the signal goes high, and the other when it is low, since I have the other leg of each LED tied to ground or source respectively. IF you are really familiar with how LED's work, you probably see the problem I have already. When the signal goes high for the first time, the LED tied to ground, lights....and stays lit. The source provides current whether there is a signal out or not.

Is there ANY way around this, without me having to scrap this and redesign it for a 556 ?

NOTE: I've replaced the stock pic with a partial schematic of my circuit

Picture of I have a question about using a 555 timer as a flip-flop?
sort by: active | newest | oldest
maestro87 years ago
If the 555's output alternated between a perfect source and a perfect sink, your circuit would work as drawn. Being that the 555 uses transistors to switch its output (take a look at the data sheet for the internals), you've got to work this fact into your design. Take this as a rule of thumb for circuit design: there are no perfect sources or sinks. Read up on Thévenin's theorem for more information. As you've already discovered, trying to use a single pin as both a source and a sink is asking for a headache. Pick one and stay with it. You'll likely need an additional transistor and resistor, but the resulting circuit will actually work.
Goodhart (author)  maestro87 years ago
When the output is Hi, D2 lights, and D1 shuts off (most of the way), however, when output is low, D1 lights (brighter), but D2 stays on, this is because the path to power is open through D1. This allows both LEDs to be on in one state and only one in the other.
AndyGadget7 years ago
Just off to work so no time to draw piccies, but I'm a bit confused as to your circuit. What you should have is a LED with resistor from positive rail to the output (to light on output low) and a LED with resistor from output to ground (to light on output high). IIRC, the 555 can sink or source up to 300mA.
Do you have enough overhead on your supply voltage to drive the diodes?
Goodhart (author)  AndyGadget7 years ago
I discovered what is happening, and can not seem to get it to NOT happen - When the out put is low D1 lights, and when the output is high D2 lights - however, when D2 lights, it presents D1 with another path to ground, and stays lit. *sigh*
Did you try it with a normal signal diode (or 2) in series with R1 / D1? I still think it's what I suggested below. If the output went all the way to 9V then there wouldn't be a problem. There'd be 0V across D1 when the output is high. At it is it only goes to around 7.6V (from the datasheet) so there's 1.4V across R1/D1 which is enough to turn on the LED. Put the diode in!
Goodhart (author)  AndyGadget7 years ago
I would have to rebuild it (and I may do that eventually), so I will keep your info with my notes in case. I tore it apart (desoldered it) in frustration (I can have a short fuse at times), so I can't test your theory just yet. But THANKS very much for the info. If I do try again, I will be sure to use it to see what I get.
Goodhart (author)  AndyGadget7 years ago
Do you have enough overhead on your supply voltage to drive the diodes?

What is happening now is that one blinks on, and stays on, then drops in brightness a little, while the other blinks on, then the second one turns off as it should. I see the problem, the the positive connection is channeled through the other LED directly through to ground. Actually, at this point, I am perplexed as to how the one side turns off unless the (low) signal from the 555 is overriding the ground. Let me see if I can quickly draw what is happening and post that above.
Goodhart (author)  Goodhart7 years ago
PS: I am using a 9v NiCad for power....freshly recharged :-)
Hmmmm..... That's the circuit I described earlier. I think the problem is this - I guess you're using red LEDS. Looking at the datasheet, at 10V supply and 25 degrees C, 20mA current (about right for a LED) the output voltage will be rail minus 1.4V. This is enough to make a red LED glow. Try putting a normal diode in series with the top LED / resistor. Or changing to the CMOS version of the 555 may work - I think they switch to nearer rail. (Now tell me you're using blue or white LEDs ;¬)
Do you have a voltmeter? The way to prove this is to measure the 9V supply to the output of the 555 when the output is high. (Slap in a bigger capacitor to give things a chance to settle.) If that voltage is more than the forward voltage drop (Vf) of your diodes, what you described will happen. The same doesn't happen with the bottom LED as the 555 drops to about .3v in a low state. Not enough to turn anything on.
miiwii37 years ago
i personally thik it would b easier to use a NPN and PNP transistor to turn two LED's on and off at high and low points. i'll post link later. plus you only need one 555 timer.
Goodhart (author)  miiwii37 years ago
Well, at this point, I am using only one 555, and although I have both a high and a low output signal, because of the common connection of the two LED's to that output, I am getting a direct path from ground to source, lighting both LEDs at the same time at the point of the signal going high.
Goodhart (author)  Goodhart7 years ago
Do you think a bipolar (three legged type) LED could solve this? I might give this a try if I have a chance before going to work today.
Goodhart (author) 7 years ago
Ooo, ooo, I think I might have already figured it out......can anyone confirm? I THINK I wired the LED's in series using the point in between them as the place to add the output signal......if this is the case, maybe flipping one of the LED's around will do the trick. I am not at home, so I can't test this.....but I will tomorrow for sure ! :-)
Goodhart (author)  Goodhart7 years ago
Rats, I just ran through a diagram....that won't work....BOTH LEDs will remain on then. :-(