Download How can I reduce my standby power consumption?

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Wireless power transfer wikipedia , lookup

Power factor wikipedia , lookup

Current source wikipedia , lookup

Power inverter wikipedia , lookup

Islanding wikipedia , lookup

Electrification wikipedia , lookup

Electrical substation wikipedia , lookup

Variable-frequency drive wikipedia , lookup

Resistive opto-isolator wikipedia , lookup

Three-phase electric power wikipedia , lookup

Electric power system wikipedia , lookup

Rectifier wikipedia , lookup

Power MOSFET wikipedia , lookup

Triode wikipedia , lookup

Distribution management system wikipedia , lookup

Stray voltage wikipedia , lookup

Metadyne wikipedia , lookup

Power over Ethernet wikipedia , lookup

History of electric power transmission wikipedia , lookup

Power engineering wikipedia , lookup

Buck converter wikipedia , lookup

Surge protector wikipedia , lookup

Voltage optimisation wikipedia , lookup

Power electronics wikipedia , lookup

Mains electricity wikipedia , lookup

Switched-mode power supply wikipedia , lookup

Immunity-aware programming wikipedia , lookup

CMOS wikipedia , lookup

Alternating current wikipedia , lookup

AC adapter wikipedia , lookup

Opto-isolator wikipedia , lookup

Standby power wikipedia , lookup

Transcript
"How can I reduce my standby power consumption?"
The Atmel datasheets for AVR devices often quote low values for standby current which
are difficult to achieve in practice.
The Problem
Many applications of AVRs involve battery-powered devices with long standby periods,
perhaps waiting for a keypress or external event. The canonical example of this is a
remote control, where the batteries must last as long as possible, while at the same time
requiring a fast response to the press of a key.
The Atmel datasheets often quote very low standby currents, typically as low as 1uA.
Many people have had problems achieving anywhere even close to this level of power
consumption.
Common Causes
There are a series of common causes for this behaviour, some more easily dealt with than
others. Each one will be dealt with in turn, explaining the problem and offering a
solution.
Floating Inputs
This is by far the most common cause of high power consumption. CMOS inputs
consume very little power as long as the input voltage is a definite logic '1' or logic '0'. If
they are allowed to float, with no tie to a specific voltage, they will often oscillate
spontaneously or sit at a voltage which is neither a definite '1' nor a '0'. In each of these
cases, the extra current taken can be greater than the rated idle or power down current,
especially if several pins are left floating.
This can easily be remedied by pulling up any unused inputs. The best way to do this is
usually to enable the internal pullup resistors in the AVR itself, since it requires no
external components and can easily be applied to an existing design. Alternatively, pull
the inputs up through an external resistor - the exact value is usually not important.
Driven Outputs
Obviously, to reduce power consumption, you should not be driving any resistive loads.
This is so obvious it is sometimes overlooked. Check that any peripherals have CMOS
inputs, and that there are no pullups or pulldowns on output pins. (Input pins are OK.)
Inappropriate Sleep Mode
Selecting the appropriate mode for the SLEEP instruction has a big impact on standby
current.
The mode selected should reflect which peripherals are required to be active. If you are
only waiting for an external interrupt, then power-down mode is usually the right choice.
If you need to wake up every so often, but the exact time is not critical, using powerdown with the watchdog timer consumes less power than using idle mode with one of the
programmable timers.
Peripherals Still Active
Some peripherals can be turned on and off independently of the rest of the chip. Any of
these devices which are not required should be disabled before entering sleep mode.
Items which can be disabled where present include:

the analog comparator (bit ACD in ACSR)

the internal voltage references for the ADC (bits REFS1:0 in ADMUX)

the ADC itself (bit ADEN in ADCSR/ADCSRA)

the watchdog reset oscillator (bit WDE in WDTCR, WDTON fuse bit)

the brownout detector (BODEN fuse bit)
Premature Exit from Sleep
If everything seems to be set up OK, check that the AVR is staying in sleep mode for the
appropriate amount of time.
Noise on interrupt lines, or incorrect timer values may mean that the AVR is not staying
in sleep as long as expected, driving the average power consumption up. Toggling a spare
pin on wakeup can be a useful debugging aid here.
Other Devices
Other devices in the circuit can also have high leakage or standby current.
Electrolytic capacitors in particular may be an unexpected source of leakage current,
especially if used for board-level decoupling. Use low-leakage types (ceramic or
polyester) in low-power applications.
More Information
You can also find more information on page 44 of the ATMega128 Datasheet - the
advice for any particular feature also applies to any AVR possessing it.
Sean Ellis, March 200