Maintaining led voltage with varying input voltage

Hi,

I have 5 LEDs in parallel together. They are powered by a 3.7V lithium ion battery whose voltage varies between 3.6-4.2V.

The LEDs are switched on and off using a single digital pin with a transistor. The LEDs have one resistor between them.

How can i maintain the output voltage and hence brightness of the LEDS as the battery voltage varies?

Thank you

Hi,

You could use a constant current circuit, a low dropout 3.3V regulator or possibly even use PWM and get the Arduino vary the duty cycle depending on the battery voltage (measured against its internal voltage reference).

Paul

Thanks for your response.

You could use a constant current circuit, a low dropout 3.3V regulator or possibly even use PWM and get the Arduino vary the duty cycle depending on the battery voltage (measured against its internal voltage reference).

Which of these would use the least power and be the most efficient?

Thanks

Well, it isn't voltage, but current you need to control for LEDs. Their characteristics change with temperature and they do heat up, so you need a constant-current driver. The problem here is that you have so little voltage you can afford to lose ("drop-out") in your control circuit and you need to lose some voltage across a resistor to measure the current and this resistor must be in series with your control device. The saturation voltage (minimum drop) of a transistor is about 0.2V and while FETs can saturate to a lower figure (so they can be used as very low-loss rectifiers), it is difficult to do so with a gate control voltage of only 3V or so.

This means that you actually need a quite complex circuit with a transistor as the control element and ...

Oh forget it! Just look at this page! Says it all!