5
\$\begingroup\$

I'm currently working on a small circuit, which I intend on running off a CR2032. The intent is to have the circuit last at least 2 weeks (the longer the better), pulsing a green LED every 3 seconds, with a DIP switch to toggle power. I'm planning to use a 555 timer with a generic green diffused LED, but I feel like there's an IC that may accomplish this more efficiently. What's the most energy efficient, small (the PCB is going to have a surface area no larger than 1"), simplest way to pull off this circuit with a CR2032 or comparable? Thanks guys!

\$\endgroup\$
  • 1
    \$\begingroup\$ You can start by using a CMOS version of the chip, like 7555. That's substantially less hungry and the components that define timing can be optimized too. Don't know if it will be enough for your 2 week requirement. Another option would be a small microcontroller (eg. ATtiny13) that spends its time mostly in sleep mode. \$\endgroup\$ – jippie Feb 15 '15 at 8:30
  • \$\begingroup\$ Not an expert on the matter, but most commentary on the 555 claims that it is power hungry. \$\endgroup\$ – dmckee --- ex-moderator kitten Feb 15 '15 at 16:16
  • \$\begingroup\$ Overkill perhaps...I mean...think of the flexibility...but I've always been curious about the ATtiny43U, a micro with integrated boost converter. Works down to 0.7 V, so you can power it off a single alkaline cell which have anywhere from 2x (AAA vs CR2032) to 8x (AA vs CR2032) the energy. \$\endgroup\$ – Nick T Feb 15 '15 at 17:08
  • \$\begingroup\$ With regard the calculations of @WoutervanOoijen it seems as if a calculator size solar cell will do a lot for you. You could put it on the housing of your device. I think they give ~1mA@3.3V usually. But yeah, your cell can't be charged so you need a ML2032 or VL2032 as far as I know. \$\endgroup\$ – WalyKu Feb 16 '15 at 17:34
7
\$\begingroup\$

The most efficient LED flasher by far was the National Semiconductor LM3909. This chip is no longer manufactured, but you can still buy it online.

It can flash an LED for years based on a 1.5-V "D" cell. One key to its high efficiency is that it uses the charge accumulated in the timing capacitor to help light the LED, rather than just dumping it to ground and wasting it.

\$\endgroup\$
  • \$\begingroup\$ With a (MAX) operating current of 0.75 mA is doesn't look bad, but a C555, which does 1Hz with a 100nF cap (in other words: the charge wasted is negelctible), looks better, and a PIC10F200, which can sleep waiting for its watchdog on ~ 10 uA (if I read the datasheet correctly) is much better still. \$\endgroup\$ – Wouter van Ooijen Feb 15 '15 at 16:01
  • \$\begingroup\$ If we're going to mention actual micros, then the MSP430 can sleep with its clock still running and draw 1uA - and that was using a 32kHz crystal. Running the internal oscillator will be even less. \$\endgroup\$ – Dave Branton Feb 16 '15 at 3:32
  • \$\begingroup\$ What about using just a raw RC circuit to achieve the "breathing" effect? If a binary on/off is not desired/required, wouldn't this theoretically be almost as efficient as a LM3909? Speaking of the LM3909 though, they can still be had (probably new old stock) on eBay if you're willing to shell out ~$5/chip \$\endgroup\$ – Doktor J Feb 16 '15 at 6:19
  • \$\begingroup\$ @DoktorJ: What exactly is "just a raw RC circuit", and how would that be used to blink an LED? Perhaps you should write that up as a separate answer, including an analysis of its power budget. \$\endgroup\$ – Dave Tweed Feb 17 '15 at 15:46
  • \$\begingroup\$ @DaveTweed sorry, the circuit I was thinking of does involve a transistor: cappels.org/dproj/simplest_LED_flasher/… . My (faulty) memory recalled the resistor and capacitor in the schematic, but not transistor. Doh! \$\endgroup\$ – Doktor J Feb 17 '15 at 20:53
10
\$\begingroup\$

A CR2032 has a capcity of ~ 200mAH. For 2 weeks, this gives you an average current budget of ~ 500 uA. A plain 555 has a supply current of a few mA, so you'll need to use a cmos 555, which has a supply current of (max, @ 5V) 250uA. Use the highest value you can use for the timing resistor.

Assuming your LED current is 2mA, and the LED is on for 3/10 of a second, the LED will add an average of 200 uA. That brings the total to 450 uA, which makes your idea just about feasible. But forget the 'generic' 555, and a high-efficiency LED would be a better idea than your generic 20mA LED. Also don't go for a bargain-quality battery.

Reducing the LED on-time will make a big difference, as would using a well-programmed microcontroller. Or a fatter battery.

\$\endgroup\$
  • \$\begingroup\$ What about chopping the LED input, so that you get it on (but dimmer) for less than 3/10 of the time? \$\endgroup\$ – WalyKu Feb 16 '15 at 10:11
  • \$\begingroup\$ I think (but am am not an expert) that it does not matter whether you have the LED on for 33% (PWM) over 300 ms, or 100% over 100 ms. \$\endgroup\$ – Wouter van Ooijen Feb 16 '15 at 14:32
  • \$\begingroup\$ I meant that for example even the 100ms flash can be used with 33% or 50% duty cycle. It all depends on how bright the flash should be. \$\endgroup\$ – WalyKu Feb 16 '15 at 17:21
  • \$\begingroup\$ I meant that a 100ms flash with 33% duty cycle will draw as much power, and will be as vislble, as a 33ms flash with 100% duty cycle, so why bother with PWM? \$\endgroup\$ – Wouter van Ooijen Feb 16 '15 at 18:32
0
\$\begingroup\$

The battery life target is feasible. Size too. I did a similar PCB some 20 years ago, but with a red LED as an XMAS toy. Estimated battery life was around 1 month and I know the battery indeed survived about that long, but spread over a number of years.

I'll try to recover some design highlights from memory:

  • I used a low power 555, probably the CMOS 7555 mentioned in a comment. It was impressingly low power!

  • Use resistors in Mega-ohm class and small capacitors, use as few electrons as possible. Using a CPU chip is total waste, just the CPU oscillator itself will use more energy than this simple RC timer.

  • Use a very short blink, like 10-100 us. The human eye is very fast and once detected, it's overkill to add more fotons. Test how short blink you can use...

  • Short blink means you can skip the series resistor for the LED. You want all battery energy to go into the LED and a short pulse will not build enough current to destroy it due to wire inductance.

  • I think is was possible to discharge the RC timer capacitor of that 7555 through the LED! That means recycling the electrons just used to measure the time, for producing the light too, effectively doubling battery life. A bonus advantage is that the slow charging of the capacitor makes negligible loss from the batterys inner resistance, while the capacitor has very low reistance and can feed most of its charge into the LED.

\$\endgroup\$
  • \$\begingroup\$ 'using a CPU chip is a total waste' is nonsense, unless you make the (totally wrong) choice to use it with a crystal. That would be about as stupid as using the standard 555. \$\endgroup\$ – Wouter van Ooijen Feb 15 '15 at 22:26
  • \$\begingroup\$ Exactly. At least one microcontroller can sleep with its clock still active and draw less than 1uA. You'd use the built-in PWM hardware and only have it wake up to change the duty cycle. Power consumption of the micro will be truly negligible compared to that of the LED. \$\endgroup\$ – Dave Branton Feb 16 '15 at 3:30
  • 1
    \$\begingroup\$ @jmn how would you beat the complexity of a PIC10F200 + resistor + LED + battery? \$\endgroup\$ – Wouter van Ooijen Feb 16 '15 at 14:35
  • 2
    \$\begingroup\$ @WoutervanOoijen using a CPU chip is a total waste if this is a one-off circuit and you find yourself buying a $10-$100 programmer to program a 50¢ chip to do a job that parts with a total BOM of ~$2 can do. \$\endgroup\$ – Doktor J Feb 17 '15 at 6:38
  • 1
    \$\begingroup\$ @DokotorJ: jmn's original argument was that using a uC was a waste of energy. debunked. Then he switched to such a solution being more complex. debunked. Your argument is yet anotyher one, and under the circumstances that you describe (one off, no progammer available) valid. \$\endgroup\$ – Wouter van Ooijen Feb 17 '15 at 7:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.