(and .jpg) I put a well-known constant-current circuit (2 transistors,
2 resistors, current ~ Vbe/R3 ~ .7V/24ohms ~ 29mA) on the high side, with the intention of controlling current to several LED's with 1 CC circuit, rather than using several. I only turn on one LED at a time - red, green, or yellow.
Figure 70 in AT90S2313 pdf shows a drop of .6 to .7V when an output sinks 30mA and Vcc=5V; the CC circuit will drop about 1.4V; D1 drops .5 to .7V; which from 5.6V B1 leaves over only 2.8V, too low for my green LED, so I have B2 ~ 1.4V in series.
I haven't built this version yet, and would like to know if anyone sees any dumb problems with it. Also, when micro is in power-down sleep (drawing < 1 microamp) with PD0,1,2 high, how much leakage will there be through the LED's?
-jiw (posting w/ google while traveling)
Didn't find your answer? Ask the community — no account required.
G
gwaldby
[Re
formatting link
The 5.6 battery pack will wear out first (if both are installed new at the same time) so I'm not concerned much about that first problem. I'd rather not put a voltage regulator in the circuit for a couple of reasons - 1, extra current draw - I think I'd get only half the battery life. I measure
8 to 12 mA without a regulator (LEDs off) and about twice that with a low-dropout 5V regulator in circuit. LEDs are off about 90% of the time in my application. 2 - As shown in
formatting link
(which shows more of the whole circuit) I have a transistor controlling aux power to 16x2 LCD. When I turn off aux power and go into power-down sleep for a week between uses, current drops to less than a microamp. With a regulator in there, I would have to figure out a way to hibernate it also, or a way to bootstrap power, etc etc
The AT90S2313-4 is ok at 2.7 to 6.0V but the few hundred units I have on hand are AT90S2313-10's, spec'ed for 4.0 to 6.0V. Also, the green LEDs I have take over 3V to get enough brightness.
Battery pack B1 starts out around 6.2 volts, a little above the 6.0V spec for the AT90S2313. However I see now the spec shows an absolute max of 6.6V. Maybe I could get by without D1 in there to drop .5 - .7V, but it isn't a big deal.
I built several units with resistors to limit current, but LED's weren't bright enough over the whole range of battery voltages, and weren't matched well enough either.
I program them as in the AT90S2313s2 URL above, ie with ponyprog and parallel cable.
-jiw
O
Ostry
I has 2 batteries - it's rather unusual. It could be a problem when one of those is low and you don't know which one. I think you should use only 1 battery and voltage stabilizer. AT90S2313 can work at lower supply voltage, i.e. 3V, you could use just 2 AA batteries if these LEDs aren't white or blue. D1 and C4 are not needed. Is current source really needed? Use just 3 resistors (or even single resistor if only one LED is on at time) connected to VCC. You could add a simple reset circuit. Add ISP interface to simplify software develop.
Ostry
http://ostry.w.szu.pl
M
meow2222
so if you lose D1 you can lose B2?
You could replace Q2 with a diode, and could then look at what diode will giev you low drop if you want.
If your batteries are removable, dont forget a parallel diode across them, and preferably a fusible link as well.
You wont need C3
See micro's spec sheet for total consumption figure..That will include any LED i.
NT
E
ehsjr
Can you eliminate the CC? Then you can go with just B1, and use a single current limiting resistor for the LEDs.
Can you use a different green LED with a lower Vf? Ed
J
J W
[
formatting link
and
formatting link
]
...
I need constant current to get adequate LED drive for battery voltages from 4 to 6V and LED voltages from 1.6V up to say 3.6V. I've built and compared several units with and without CC circuitry. Anyhow, to concentrate the discussion on the CC circuit I drew a simpler version - see
formatting link
- leaving out the 2nd battery and the diode.
For this application (a compact, battery-powered speech timer with red, yellow, and green signal lights intended to be obvious up to
10m away)the important issues are LED brightness and good battery life. If a brighter LED has lower Vf, I can use it, but generally not vice versa.
-jiw
J
Jim Thompson
[snip]
Until the temperature changes ;-)
...Jim Thompson
| James E.Thompson, P.E. | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC\'s and Discrete Systems | manus |
| Phoenix, Arizona Voice:(480)460-2350 | |
| E-mail Address at Website Fax:(480)460-2142 | Brass Rat |
| http://www.analog-innovations.com | 1962 |
I love to cook with wine. Sometimes I even put it in the food.
B
Bob Monsen
Your constant current source requires at least two diode voltage drops, plus some. So, add the voltage across the LEDs to this, and you end up with current decreasing when the voltage gets to about 3.5V.
If you arranged things a bit differently, and added a couple of PNP transistors + a resistor, things would be much better:
vbatt----------o---------. | | 68R | | | e e .-b .----b (PNP Transistors | c | c | | | | '--o---' '--- LEDS & PORTS | '------------- YOUR CURRENT SINK
This arrangement will allow your vbatt to drop to about 2.5V before the LEDs start to dim. This means you can probably get rid of that
1.4V battery.
Note that if you make the current sink supply about 1mA, that will allow the LEDs to have 10mA. The 68 ohm resistor makes that happen.
Also, you should check the datasheet of your microcontroller to ensure that the ports stay high-impedance when sleeping. I'd guess they do, but you should check.
-- Regards, Bob Monsen
A prude is a person who thinks that his own rules of propriety are natural laws. You are almost entirely free of this prevalent evil.
J
J W
[re
formatting link
]
I was wrong to include D1 drop in the calculation, since it isn't in the LED current path. I'm more concerned about whether the CC circuit will work ok. See
formatting link
that removes the distractions of D1 and B2.
Q2 is an active part of the constant current circuit. If current thru R3 is below setpoint, Q2 partly shuts off, putting more current into base of Q3, causing it to put more current thru R3. If R3 current is too high, Q2 shunts more current, causing Q3 to wane, AIUI.
Do you mean as protection in case batteries are reversed?
Most currents are obvious -- eg 8-12mA with LEDs off, and 30-40mA with one LED on, and less than 1 uA to the micro in powerdown sleep. What I don't know is how much leakage there would be due to the about 2V difference between top of R2 and bottom of LEDs in
formatting link
. My application is a small, battery-powered speech timer with red, yellow, and green signal lights, intended to be bright and obvious up to 10m away. LED brightness, good battery life, portability, and no-mains operation are important. A set of alkaline AA's can power it for a few years (with an hour or two of on time per week). 100 uA of leakage during off time would cut battery life in half. (Power switch is electronic, to allow automatic shutoff if no buttons are pushed for an hour.)
Returning to the B1-B2-D1 question, I plan to try using 3 AA's rather than 4 for B1, 1 AA for B2, and leave out D1, because of no risk of exceeding 6V operating voltage. End of useful life battery voltage would be a little higher but that cost would be compensated by needing only 4 AA's rather than 5; and leakage (if any) lower due to 1.5V rather than 2V difference. In layout
formatting link
I put a header JP3 next to JP1 for easy battery/measurement hookups.
-jiw
J
J W
[
formatting link
or
formatting link
]
...
[snipped circuit]
Thanks for the PNP suggestion - I'll try it out. In looking around I've also seen some simple FET CC circuits I might try.
To the best of my knowledge, the data sheet (eg page 27 of
formatting link
) doesn't explicitly say that, except for "IO memory is retained". I've verified that pins set to be inputs retain their characteristics during powerdown sleep - either high-impedance or pulled high. [Before sleep I set most pins to be high-impedance ("tri-stated") inputs, and set PD2 (INT0) pulled high by its internal pullup. Wakeup by INT0 requires a low level on PD2, which I get by a switch to ground.]
For my circuit with a second battery, B2, where I was concerned about leakage, for some reason I forgot that I set most pins to inputs for sleep, i.e., was thinking of leakage from 7V on the CC high side to 5V on output pins rather than from 7V to high-impedance. Anyway, either case might be invalid because the Absolute Maximum Ratings (p. 72 in doc0839.pdf) require IO pin voltages between -1V and Vcc+0.5V.
-jiw
E
ehsjr
Here's a possible solution: use DC-DC converter chip to provide a regulated Vout of your choosing to drive the LEDs. Set the current limit with a resistor individually for each LED. Use diodes from pins 2,3 and 6 of your micro to bring the negative to the chip so that it runs only when you want a LED to light. You won't need B2, and the chip & components will fit easily in the footprint formerly dedicated to it.
I don't know if this applies to everyone - but I see a red led a lot more easily than a green or a yellow LED. My guess is that equal drive current through those colors will result in different perceived brightness. Is that acceptable for your device?
Ed
J
J W
[Re
formatting link
and
formatting link
] ...
My long range plan is to change to a 3V micro with a few more IO pins; use 2 C cells rather than 4 AA's; and use a micro-controlled switching power supply for LED power. The AT90S2313 has 15 IO pins, not quite enough to run a power supply along with keyboard, display, and lights. Specialized LED driver chips, eg LT1618 from a few years ago, look like they would work really well but cost a lot and be hard to get.
Among affordable ($.10-$1) 20-30mA LEDs I've tried, the brightest reds give around 20000 mCd; yellow, 8000 mCd; green, 12000 mCd. Brightness variation is undesirable but difficult to avoid at low cost. So, what I want to do is run high-brightness LEDs at about 25mA over a wide range of battery voltage. I've also tried a variety of optical arrangements for least light loss and best visibility (still researching that) and have used 2 yellows in series, white LEDs with color filters, & red-green combination LEDs. For example, see last picture at
formatting link
. With C or D cells I probably could move up to 350mA LEDs or parallel LED strings.
-jiw
M
meow2222
Its the temp diff between the 2 trs that would be the issue, and the LED's tr is only dissipating 75 mW or so max. @50C/watt thats 3.75C. If we subtract the 10% temp rise of the other tr, thats apx 3.4C temp diff. How much variation will that cause?
NT
M
meow2222
I had a brain fart re the voltage drops. Since youre using a silicon tr to supply the LEDs (I was thinking back to the old germanium implementations) you'd need either 2 diodes in series to replace your Q2, or one si diode with a ge tr, neither of which is as good as I was imagining.
yes, though of course I dont know what your battery arrangement is.
This is one of the reasons I suggested a single battery option. From the max specs quoted it appears you could happily run both micro and LEDs from the same 6v pack. In which case youre then in known guaranteed specs territory, and arent risking a failure rate, or premature battery depletion, due to unspecified operating conditions. Also it gives the advantage of a single battery. Again I dont know who your users are, but users can be very dense, and if you have 2 batteries runing out at different times, you will get unnecessary unit returns.
Re premature batt depletion, if you cant guarantee your current draw while off, and you need the system to run for so long on your cells, you have a problem. At any time you may get ICs that greatly exceed your max leakage specs under these conditions, then you have a whole batch of problem units. I dont like it.
what you could see from a 6v pack, so this issueful configuration shouldnt be necessary. IIRC the micro will cope with a bit more than
6v.
So a single batt pack looks better on all those points and more.
NT
M
meow2222
Now I'm going to suggest a different approach, see if its got legs. How about if you first use a fixed R to set i_LED to give you the i you need with your lowest V_batt and highest LED V_drop, then use the micro to modulate (chop) the LED drive when i_LED runs higher than this? I'm not familiar with the chip at all, so dont know if theres an A/D available, but if there is it should be fairly easy to do. An R senses i_LED, the micro chops the LED drive to give the desired average i_LED.
If your A/D needs a V to sense referenced to 0v, you can sense the whole circuit i instead of i_LED, as your task is only to approximately constantify the i_LED.
If theres no A/D, there are possibly ways round that, maybe.
It begs some questions, but does this go anywhere? If it does, you'd lose your V drop issues, and cut component count.
NT
J
J W
...
Each Vbe would shift about 2 mV/K (for silicon near room temperature obeying (kT/q)*ln(I/Is) equation) so a 3.4K difference gives about 7 mV or 1% deviation. I'm not concerned about variation that small, but if I were would use a 2-transistor die.
-jiw
J
Jim Thompson
Your math is flawed.
WITHOUT even a differential temperature, the variation from 20°C to
60°C (both devices at same temperature) is 21.34%
The dominating effect is delta-VBE = (kT/q)*ln(Iright/Ileft)
NOT the delta-VBE hand-waving rule-of-thumb you quote, which is valid only for devices at the same current.
...Jim Thompson
| James E.Thompson, P.E. | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC\'s and Discrete Systems | manus |
| Phoenix, Arizona Voice:(480)460-2350 | |
| E-mail Address at Website Fax:(480)460-2142 | Brass Rat |
| http://www.analog-innovations.com | 1962 |
I love to cook with wine. Sometimes I even put it in the food.
S
Spehro Pefhany
How much do you think the *load current* will change with a 3.4K temperature delta? It's also not all that stable wrt ambient temperature. Maybe good enough for LEDs.
Best regards, Spehro Pefhany
"it\'s the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
B
Bob Monsen
The problem is aggravated by the fact that I proposed him using his constant current source, which also has a terrible tempco. Thus, the difference from 0 to 100C is something like 3x.
At room temp, however, it works fine, and will allow him to dump the 1.5V battery and go with a 3AA solution that'll provide the LED a constant current until the battery voltage drops down to about 2.5V.
Using an opamp and a sense resistor with a small TC would overcome this problem, but the OP needs to determine if temp range matters to him.
Jim may also have a better solution using a few discretes. I recall him posting a 0 tempco current mirror at one point, but I don't remember the details. It might not have the compliance the OP needs.
Regards,
Bob Monsen
ONCE UPON a time there was a Martian named Valentine Michael Smith
S
Spehro Pefhany
A whisper of resistance in the other emitter will probably make it more than good enough for visual indicators. Something like 270R/20R. That only knocks the compliance down by a couple of hundred mV at 10mA load current.
Best regards, Spehro Pefhany
"it\'s the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.