Maker Pro
Maker Pro

2 stage switch design using mono-stable multivibrator circuit. HELP!

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!
 

KrisBlueNZ

Sadly passed away in 2015
It can be tricky to design circuitry to operate from a 3V supply. Low Vgs(th) MOSFETs are available, and transistors are always an option.

The other difficulty is the requirement for the circuit to be powered off completely between activations. This requires the circuit to have a timeout that's active while power is not present, which is possible but a bit tricky.

I've never heard of a CR123 cell. What are its other specifications (apart from the voltage)?

Can you describe what you want to achieve, in detail. It may be possible to make changes that make the design a lot easier without causing any operational problems.
 
Thanks for the reply Kris(?).

Firstly a review of some CR123 cells is probably helpful.

I've been thinking about this issue for some time (before and after posting about it) and I'm thinking that my physical solution is just easier from an implementation perspective.

However, there is a specific reason why I chose to pursue this path (space saving) so I'll forge ahead with trying to work out a solution and see what happens...

I have a small pocket light that utilizes the CR123 cells. It is a 'twisty' - it comprises of a battery tube and a head. The head screws onto the battery tube. When off, the light is screwed just loose enough that the battery cannot complete the electrical circuit (battery is not tight up against the driver +ve terminal). When screwed tight enough, the battery completes the circuit and the light activates.

If you tighten it enough for the light to turn on, it will do so in low mode. If you then loosen and tighten it again fast enough (less than 1s) it switches to a higher mode. Repeat this behavior and it will switch modes again. Any loosen/tighten than takes greater than 1s turns the light on low regardless of where it was before. In summary:

Low ---> loosen/tighten > 1s ---> Low
Low ---> loosen/tighten < 1s ---> High
High ---> loosen/tighten > 1s ---> Low
High ---> loosen/tighten < 1s ---> Low

A good example of this behavior is seen here.

That light (which I happen to also own) uses a micro-controller based driver and actually has hidden modes and so on. I'm trying to do something different.
 

KrisBlueNZ

Sadly passed away in 2015
Yes my name is Kris. Thanks for the links.

For others' information, the CR123 is a 3V Lithium cell used in cameras. It's shorter and slightly fatter than an AA cell.

I understand the control method. You've explained it very clearly. Turning the flashlight ON enables the LED at low brightness, unless you turn it OFF then ON quickly, in which case the LED runs at high brightness.

I've re-read your posts several times and I don't understand what you're trying to achieve. You already have a flashlight that has the behaviour you want and uses a microcontroller. You want to design a new circuit that doesn't have a microcontroller. I can't figure out WHY you want to do this.

Why do you want to do this, if you already have a flashlight that does it?

Why do you want to avoid the microcontroller?

Is this just an "I just want to see whether I can do it" quest?

Does the new circuit need to be a flashlight as well? Does it need to be compact?

Please explain more!
 
Oh sorry about that lol :eek:

I design flashlights. It's a hobby of mine. My skills lie mainly in the bodies (machining and mechanical design) however electronics has always been something I'm interested in. I even studied it for a few years at uni but my day job never really gives me the opportunity to use what I learnt much...to the point where I know nothing anymore, so am re-educating myself as I go.

uC based drivers are very common in flashlights. I recently designed a driver based around an ATMEL ATTINY 25V controller and a few linear regulators. It's simple enough to do and the driver is incredibly powerful.

The reason I want to try a uC-less design is for many reasons. Some of them easier to justify than others:

1) A potentially cheaper, and more reliable control scheme.

2) The thermal package is very small and very tight in the light design I am trying to get this working for. So much so that the control circuitry and the LEDs share the same 20mm in diameter Metal Core PCB. Single sided only just to make it even more difficult. The MCPCB will be copper core, and the whole assembly will be mounted to a small heat sink. despite my efforts to keep the temperature down, uC's don't like heat too much so having none is ideal.

3) It's different, and in my world different is a big plus. I already have a few people expressing interest in seeing what I come up with.

4) My mechanical solution works fine. In fact it is technically a little better because you half twist for low, and then full twist for high. This is a nicer user interface than the full on/off cycle described above. However the discrete circuit design will save me 5mm of length in the body and believe it or not, that is even more desirable.

5) If I can get this discrete design working the potential is there is increase the number of modes....though this likely not doable as the circuit complexity would be high.

Sorry if this seems stupid to you. the world of flashlights is crazy...

- Matt
 

KrisBlueNZ

Sadly passed away in 2015
1) A potentially cheaper, and more reliable control scheme.
A discrete solution is very unlikely to be cheaper. Possibly could be more reliable. Most importantly though, the microcontroller solution will be far more compact than any discrete solution. (I'm assuming you're using SMT micros.)
2) The thermal package is very small and very tight in the light design I am trying to get this working for. So much so that the control circuitry and the LEDs share the same 20mm in diameter Metal Core PCB. Single sided only just to make it even more difficult. The MCPCB will be copper core, and the whole assembly will be mounted to a small heat sink. despite my efforts to keep the temperature down, uC's don't like heat too much so having none is ideal.
Microcontrollers are no more sensitive to heat than any other type of semiconductor.
4) My mechanical solution works fine. In fact it is technically a little better because you half twist for low, and then full twist for high. This is a nicer user interface than the full on/off cycle described above. However the discrete circuit design will save me 5mm of length in the body and believe it or not, that is even more desirable.
I can see how 5 mm of length is worth saving, but I don't see how a discrete design would save space compared to a microcontroller-based design... I agree with you that half-turn/full-turn is a better user interface than the OFF-ON delay, but again I don't see how that issue relates to the unit's size.
5) If I can get this discrete design working the potential is there is increase the number of modes....though this likely not doable as the circuit complexity would be high.
That's a disadvantage, not an advantage.

Your goals don't seem stupid to me, not at all. If you want to make the most compact and cool flashlight ever, I think that's a worthy aim. But I don't see how a discrete design would be more compact than a microcontroller. More the opposite, really.

This has been an interesting discussion but I can't help, I'm afraid. Personally, I would implement some kind of three-position rotary switch - OFF, LOW, HIGH - and avoid ALL of the circuitry (apart from the dropper resistor).
 
I thought I responded to this last night...my bad.

You're right. There is no point in doing this, but that's why I posted - to weed out anything I had not thought of. I started with an idea, it's been explored, and now I've decided (with your help) it's not worth taking forward from this point.

Thank you for the assistance :)

On a side note, a rotary switch won't really work in this scenario because you don't really change modes by rotation - it's the lateral movement that dictates the mode. The rotating is just the way this movement is achieved (tightening the body/head bring the two halves closer together).

....although my head is now spinning with ideas that might work, though I'll have to look into rotary switches a bit more first.

Thanks again.

- Matt
 
Top