Save power on a led driver

Hi,

I was thinking about using an architecture with several STP16 to drive a large number of LED, like in this Ledcube project http://www.hownottoengineer.com/projects/lc.html. But in my case the LED are almost all the time off.

My project work with a battery and every micro-amps saved could be a good thing.. so after testing, i realize that my STP still need about 100uA when they do nothing!

I still have few output on my Atmega328, so i was thinking of using one to drive a switch and cut the power of my STP drivers when i am not using them. So i am trying to find the best way to do that in low energy.

As i understand there is 3 solutions : a relais, a transistor or a Mofset (maybe others??) A relais seems quiet heavy and big for doing so few, and i think a transistor has always a little current passing through no?

Anyone has some advice on this kind of process? I couldn't find any tutorial, maybe i don't use the good words...

Thanks a lot :)

jeanot1314: i think a transistor has always a little current passing through no?

Only when switched on. Should be practically zero when switched off.

jeanot1314: Anyone has some advice on this kind of process?

Tell us more. What is the project? How many LEDs in total, how many LEDs on at any time, what are the specifications of the LEDs to be used?

Please include the full name of a part when talking about it. There are about 40 devices that start with STP. After some digging about I think it is the STP16CPS05MTR you are talking about.

i realize that my STP still need about 100uA when they do nothing!

That is remarkable because the data sheet says a typical consumption with all the outputs off is 5mA so you are doing quite well.

so i was thinking of using one to drive a switch and cut the power of my STP drivers when i am not using them.

You have to be very careful about that to avoid latch up. Before you remove the power you need to make all the outputs driving the chip into inputs. Then switch off the power. When you restore things turn on the power and re initilise the driving pins to be outputs again.

Thanks for such quick answer!! :slight_smile:

PaulRB
I attached a schematic of this part. If i use a NPN and i set my atmega pin to 1 through a resistor (not sure which one because i didn’t select my transistor…) it will power the STP16CPS05. If now i set my atmega pin to 0 it will block the power. There is almost no leak of electricity in this case?

I want to use 2 STP16CPS05 to build a clock surrounded by 30 LED, and i was thinking of turning on some LED every hour for exemple (probably one or two LED every hour for 10 seconds). And i didn’t want to use multiplexing for now

Grumpy_Mike

Sorry, i wasn’t precise enough! You are right, i want to use STP16CPS05 (i am not sure if MTR or XTTR, depending of the space on my future board :s)
I made a test with one arduino UNO, one STP16CPS05MTR, one 1K resistor to R_EXT and three LED, when i switch them off the intensity was around 120uA. I red the datasheet as well and i was surprise…

For the latch up, would it be a good idea to pull it down? Do you have any courses or tutorial explaining this problem?

I am not sure what the diagram is supposed to be and what that 1K resistor is doing in the anode of all the LEDs. It is not

one 1K resistor to R_EXT

because it is not on the R_EXT pin.

For the latch up, would it be a good idea to pull it down?

No it is the signals from the arduino that cause the latch up.

Try this http://en.wikipedia.org/wiki/Latchup

when i switch them off the intensity was around 120uA.

Do you mean current instead of intensity?

Hi, yes you can use an NPN as in an "emitter follower" configuration as a high-side switch like that. You won't need a resistor on the base because the current will be naturally limited. However, you may find this approach drops too many volts to power your STP16CPS05s correctly. If so, you may be better off using a mosfet. A PNP driven by an NPN might also do the trick.

Using 2 driver chips to drive one or 2 LEDs at a time seems to be a strange decision, given your need to maximise battery life!

You could charlieplex 30 LEDs with only 6 arduino outputs, a few resistors and optionally some NPNs.

Why don't you want to use multiplexing?

However, you may find this approach drops too many volts to power your STP16CPS05s correctly.

The data sheet says the minimum supply voltage is 3V. Check on the Vsat of that transistor doing the switching, you might loose too much there.