Hi all,
I’m trying to design a 2 level LED circuit, but specifically without the use of a micro-controller.
The LED is directly driven from the source, a single CR123 battery (3V fresh) and modes (low and high) are handled by alternate paths. The first path to the LED has a resistor which limits the current flowing to the LED (low) while the second path is just a straight through electrical connection – no practical resistance to the LED (high).
What I need is a way to switch between the two paths. I have a physical solution already but would prefer to implement the behaviour as a discrete circuit.
Actually initiating the path switching is handled by disconnecting and then reconnecting the battery source – no different to a switch. When the light is first turned on it must start in low mode, however if the light is turned off and then on again fairly quickly (less than 1 second) it must then switch on in high mode, and then stay on in high mode until the light is switched off again. Regardless of how long the battery is disconnected for, after high mode is turned off the light will always turn on in low mode.
Now I sort of have something to work with, but I can’t quite figure out how to make it work in my application. I’m thinking flip-flop circuits, particularly a mono-stable multivibrator.
My issue is I don’t know how to implement this solution. In a mono-stable multivibrator, the circuit will always turn on in the same (stable) state. A short, pulsed input on the non-stable half (as I call it) triggers a temporary change of state. The time of this change of state depends on the time constant of the RC pair contained within the mono-stable circuit.
However, if this pulse is a continuous input rather than a short burst, then the circuit will remain on in its alternate (non-stable) state. This gives me two modes, or at least a way to control a MOSFET (which is then used to open/close the alternate current path).
The question is, how can I trigger the state change? When the light is turned on it will start in the stable state at all times (which is what I want), but then I need it to change state after a short power disconnect. The way I see it potentially happening is that when power is connected it charges a capacitor (RC pair or something along those lines) that when the power is disconnected, this RC pair then discharges into the un-stable half of the mono-stable circuit, keeping this half ‘active’. If power is reconnected fast enough, the un-stable state could somehow be perpetuated. On the other hand, if the power is connected again after the capacitor has completely discharged, the light will resume on low mode.
A bi-stable circuit is an alternative solution however it needs a pulse to switch states in either direction, where as a mono-stable circuit will default to the same state regardless, and that is advantageous in this case.
Any ideas? I really have no idea how to progress this…
- Matt
PS. Sorry if the above is spanglish. I'll try my best to clarify anything that is confusing...its really hard to put it all into writing!
I’m trying to design a 2 level LED circuit, but specifically without the use of a micro-controller.
The LED is directly driven from the source, a single CR123 battery (3V fresh) and modes (low and high) are handled by alternate paths. The first path to the LED has a resistor which limits the current flowing to the LED (low) while the second path is just a straight through electrical connection – no practical resistance to the LED (high).
What I need is a way to switch between the two paths. I have a physical solution already but would prefer to implement the behaviour as a discrete circuit.
Actually initiating the path switching is handled by disconnecting and then reconnecting the battery source – no different to a switch. When the light is first turned on it must start in low mode, however if the light is turned off and then on again fairly quickly (less than 1 second) it must then switch on in high mode, and then stay on in high mode until the light is switched off again. Regardless of how long the battery is disconnected for, after high mode is turned off the light will always turn on in low mode.
Now I sort of have something to work with, but I can’t quite figure out how to make it work in my application. I’m thinking flip-flop circuits, particularly a mono-stable multivibrator.
My issue is I don’t know how to implement this solution. In a mono-stable multivibrator, the circuit will always turn on in the same (stable) state. A short, pulsed input on the non-stable half (as I call it) triggers a temporary change of state. The time of this change of state depends on the time constant of the RC pair contained within the mono-stable circuit.
However, if this pulse is a continuous input rather than a short burst, then the circuit will remain on in its alternate (non-stable) state. This gives me two modes, or at least a way to control a MOSFET (which is then used to open/close the alternate current path).
The question is, how can I trigger the state change? When the light is turned on it will start in the stable state at all times (which is what I want), but then I need it to change state after a short power disconnect. The way I see it potentially happening is that when power is connected it charges a capacitor (RC pair or something along those lines) that when the power is disconnected, this RC pair then discharges into the un-stable half of the mono-stable circuit, keeping this half ‘active’. If power is reconnected fast enough, the un-stable state could somehow be perpetuated. On the other hand, if the power is connected again after the capacitor has completely discharged, the light will resume on low mode.
A bi-stable circuit is an alternative solution however it needs a pulse to switch states in either direction, where as a mono-stable circuit will default to the same state regardless, and that is advantageous in this case.
Any ideas? I really have no idea how to progress this…
- Matt
PS. Sorry if the above is spanglish. I'll try my best to clarify anything that is confusing...its really hard to put it all into writing!