Lifelong Learning Knowledge should be uncompromisingly sought after and freely given away.

6Oct/090

Saving Power With an AVR

I've been consumed lately with saving power with my designs and I decided to focus my obsession on my new "FakeFireLEDDriver" design I got inspired to build from this example. I knew that I wanted to hand out Halloween gifts, in this case Jack-O-Lantern fake fire boards to my family who always pacify my obsessions du-jour. I knew that the first version worked and worked quite well, but I couldn't stand the thought that it was definitely a battery hog. Much could be done to improve upon it's energy consumption. Knowing that AVRs are known for their power saving design, I set out to figure out how to squeeze out more efficiency from this design. What is attached below is my first attempt at power savings with the "FakeFireLEDDriver" design. I've basically implemented a WDT (Watchdog Timer) to tell the system to wake up (if the system is asleep) every ~8 seconds and check the photocell, if it's dark, flicker away, if not, go back to sleep. This simple change in logic should save considerable energy. My next step is to only give power to the photocell during that check, which is about as much energy as I can see saving with this design. Check out the attached code and as always, feedback is most welcomed!

AVR Power Saving Example
Title: FakeFireDriver1.2 (442 clicks)
Caption: AVR Power Saving Example
Filename: fakefiredriver1-2.zip
Size: 2 KB

AVR Power Saving Example
Title: FakeFireDriver1.2 (442 clicks)
Caption: AVR Power Saving Example
Filename: fakefiredriver1-2.zip
Size: 2 KB

Comments (0) Trackbacks (1)
  1. The only addition I was thinking of implementing was to use PWM rather than constant power for the LEDs during the 5ms of sleep. You should save a fair bit of juice from that.

    I like the auto-on in the dark addition – I’m lazy & the less user intervention the better ūüėČ


Leave a comment