Ultra low power: Unterschied zwischen den Versionen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(38 dazwischenliegende Versionen von 27 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Ultra low power''' Anwendungen auf Mikrokontrollern.
Zunehmend spielt der Stromverbrauch bei der Entwicklung von [[Mikrocontroller]]hardware eine Rolle. Moderne Prozessoren sind immer besser in der Lage, von Batterien über lange Zeit versorgt zu werden. Es kann gelingen, den über eine lange Zeit gemittelten Stromverbrauch unter 1 mA zu halten, bis hin zu einem Verbrauch unter 1 µA. Bei Strömen im Umfeld von 1 µA tauchen spezielle Probleme auf, die gesondert betrachtet werden müssen.
Zunehmend spielt der Stromverbrauch bei der Entwicklung von µC Hardware eine Rolle. Moderne Prozessoren sind immer besser in der Lage von Batterien über lange Zeit versorgt zu werden, da es gelingen kann den über eine lange Zeit gemittelten Stromverbrauch unter 1 mA zu halten bis hin zu einem Verbrauch unter 1 µA. Bei Strömen im Umfeld von 1 µA tauchen spezielle Probleme auf, die gesondert betrachtet werden müssen.


=== Hardware Tips für die Entwicklung ===
=== Hardware-Tipps für die Entwicklung ===


* Den Prozessor finden der einerseits den Anforderungen genügt, aber andererseits im Vergleich den geringsten Stromverbrauch hat. Hier ist zu beobachten daß es einen Trend gibt hin zu immer geringerem Stromverbrauch, daher loht es sich ständig auf dem Laufenden zu bleiben.
* Den Prozessor finden, der einerseits den Anforderungen genügt, aber andererseits im Vergleich den geringsten Stromverbrauch hat. Hier ist zu beobachten, daß es einen Trend gibt hin zu immer geringerem Stromverbrauch. Daher lohnt es sich, ständig über neue Mikrocontroller auf dem Laufenden zu bleiben.
* niedrigst-mögliche Betriebsspannung wählen
* Möglichst niedrige Betriebsspannung wählen.
* möglichst niedrigsten Prozessortakt wählen und beispielsweise bei zeitkritischen Programmteilen dann nur vorübergehend den Takt hochfahren und nach der Berechnung wieder herabsetzen.
* Möglichst niedrigsten Prozessortakt wählen und nur bei zeitkritischen Programmteilen vorübergehend den Takt hochschalten und nach der Berechnung wieder herabsetzen, siehe auch [[Sleep Mode]].
* periphere Hardware (externe AD-Wandler, Speicher) vom Prozessor aus entweder direkt oder über Schalttransistoren nur für den Moment des Zugriffs einschalten.
* Periphere Hardware (externe AD-Wandler, Speicher) vom Prozessor aus entweder direkt oder über Schalttransistoren nur für den Moment des Zugriffs einschalten.
* manche Kondensatoren die zur Stützung der Betriebsspannung oder aus EMV Gründen zwischen Betriebsspannung und Minus geschaltet sind, können ärgerliche kleine Ströme bewirken, insbesondere Elektrolytkondensatoren, hier manchmal erst nach einer Weile (Alterung).
* Manche Kondensatoren zur Stützung der Betriebsspannung oder aus EMV Gründen, können ärgerliche Leckströme bewirken, insbesondere Elektrolytkondensatoren. Hier sogar manchmal erst nach einer Weile (Alterung).
* Bei nicht batteriebetriebenen Geräten ist es manchmal so daß die Spannungsregelung alleine 90% des Stromverbrauchs verursacht. In den letzten Jahren gibt es jedoch ein immer größer werdendes Potential an stromsparenden Reglern.
* Bei nicht batteriebetriebenen Geräten kann es sein, dass die Spannungsregelung alleine 90% des Stromverbrauchs verursacht. In den letzten Jahren gibt es jedoch eine immer größer werdende Auswahl an stromsparenden Reglern, siehe auch [[Versorgung aus einer Zelle]].


=== Einfluss von Software auf Stromverbrauch ===
=== Einfluss der Software auf den Stromverbrauch ===


* Den Prozessor möglichst lange in einen sleep - Zustand versetzen und jeweils nur kurz aufwecken.
* Den Prozessor möglichst lange in einen [[Sleep Mode]] versetzen und jeweils nur kurz aufwecken.
* unnötige "NOP" Warteschleifen oder "delay" Routinen vermeiden
* Unnötige Warteschleifen oder "delay" Routinen vermeiden.
* Look-up Tabelle statt höherer Mathematik. Beispiel Cosinus und Sinus bei DFT/FFT.
* Eine Wertetabelle statt aufwändige Mathematik zur Berechung verwenden. Beispiel Cosinus und Sinus bei DFT/FFT.
* integrierte zusätzliche Hardware wie AD-Wandler, UART usw nur für den Zeitraum einschalten in dem sie benötigt werden. Möglicherwesie kann Strom gespart werden wenn man bei einer AD-Wandlung den Prozessor in einen sleep Zustand versetzt und ihn über den Interrupt der ausgelöst wird wenn die Wandlung beendet ist, aufwachen lässt.
* Integrierte zusätzliche Hardware wie AD-Wandler, UART usw. nur für den Zeitraum einschalten in dem sie benötigt werden. Möglicherweise kann Strom gespart werden wenn man bei einer AD-Wandlung den Prozessor in einen [[Sleep Mode]] versetzt und ihn über den Interrupt am Ende der AD-Wandlung aufwachen lässt.
* Statt Schalterzustände zu "pollen" lieber einen Interrupt auslösen lassen.
* Statt Schalterzustände abzufragen (pollen) lieber einen Interrupt auslösen lassen.
* kurze Macros werden schneller als entsprechende Unterprogramme abgearbeitet
* Kurze Macros werden schneller als entsprechende Unterprogramme abgearbeitet.
* manche Mikroprozessoren (z.B. Atmel) bieten die Möglichkeit interne pull-up Widerstände zu schalten, diese können auch in einem sleep-Zustand zu einem unerwartet hohen Stromverbrauch führen.
* Manche Mikroprozessoren (z. B. Atmel) bieten die Möglichkeit interne Pull-Up Widerstände zu schalten. Diese können an beschalteten Pins auch in einem [[Sleep Mode]] zu einem unerwartet hohen Stromverbrauch führen.


=== Probleme ===
Achtung:
Die Pull-ups bei unbenutzten Pins EIN-zuschalten spart laut einer Application Note von Atmel Strom:
"To remove some power consumption, we will enable pull-ups on unused I/O pins to get a defined logical level and avoid unnecessary switching."


* Das Abschalten von UARTs kann zu einem "break" auf dem Empfangsseite führen.  Hier ggf die Leitung auf hi-Pegel hochziehen und den UART-Ausgang als input konfigurieren bis zur nächsten Benutzung. Es kann auch vorkommen, daß der UART abgeschaltet wird während noch ein Zeichen gerade übertragen wird. Bei niedriger Baudrate dauert das Senden eines Zeichens ja recht lange. Daher sollte vor dem Abschalten geprüft werden ob die Übertragung noch läuft.
Aus AVR4013: picoPower Basics
* Zur Kontrolle des Stromverbrauchs ist es manchmal schwierig direkt den Strom zu messen. Der Innenwiderstand gängiger Multimeter kann bei kleinen Strommessbereichen so hoch werden, daß die Schaltung Fehlfunktionen zeigt. Dies gilt insbesondere für die kritischen Einschaltmomente. Daher sollte man zunächst im Einschaltmoment das Amperemeter kurzschliessen. Oder man fügt einen 100 Ohm Widerstand (oder 1 KOhm) in die Verbrauchsleitung ein uns schliesst diesen Widerstand in den ersten Sekunden kurz. Es kann auch vorkommen daß eine Schaltung beispielsweise 2µA verbraucht, jede Sekunde 1 ms lang der Verbrauch 1 A beträgt. Die Summe wäre dann aber 2µA + 1000µA = 1002 µA (1mA). Die Entladung der Batterie folgt aber nun in diesem Fall nicht der normalen 1 mA - Entladekurve, sondern erfolgt viel früher (siehe Peukert'sche Regel). Hier kann man nur in tagelangen Versuchen die Entladung schätzen indem man mit mehreren gleichartigen Batterien und verschiedenen Lastwiderständen einen "äquivalenten" Strom findet, der dem Stromverbrauch dieser Schaltung in etwa entspricht.
http://www2.atmel.com/Technologies/lowpower/design_examples.aspx
* Manche Hersteller empfehlen im Schlafzustand Leitungen als output zu definieren, dies kann aber zu einem höheren Stromverbrauch führen. Ausprobieren geht über studieren.
* Das An- und Abschalten von externen Bauteilen, die zur Stützung einen eigenen Kondensator haben führt zu kurzen Blindströmen die nicht genutzt werden können.
* Manche externen Bauteile funktionieren paradoxerweise auch ohne eigene Stromversorgung, es reicht ein hi - Pegel an einer der Inputs dieser Chip um sie am Laufen zu halten, was zu einem erheblichen Stromverbrauch führen kann. Beispiel: serieller Eingang des FT232BM von FTDI.  
* Oft ist die maximale Betriebsdauer fast nur durch die Selbstentladung der versorgenden Batterie bestimmt, dann war allerdings die Entwicklung (bis vielleicht auf die Batteriewahl) perfekt.


=== spezielle Probleme im Bereich 1µA oder darunter ===
=== Allgemeine Probleme ===
 
* Das Abschalten von UARTs kann zu einem "break" auf der Empfangsseite führen.  Hier ggf. die Leitung mit einem exteren Pull-Up Widerstand auf HIGH-Pegel ziehen und den UART-Ausgang als Eingang konfigurieren bis zur nächsten Benutzung. Es kann auch vorkommen, dass der UART abgeschaltet wird während noch ein Zeichen gerade übertragen wird. Bei niedriger Baudrate dauert das Senden eines Zeichens ja recht lange. Daher sollte vor dem Abschalten geprüft werden ob die Übertragung noch läuft.
* Zur Kontrolle des Stromverbrauchs ist es manchmal schwierig direkt den Strom zu messen. Der Innenwiderstand gängiger Multimeter kann bei kleinen Strommessbereichen so hoch werden, dass die Schaltung Fehlfunktionen zeigt. Dies gilt insbesondere für die kritischen Einschaltmomente. Daher sollte man zunächst im Einschaltmoment das Amperemeter kurzschließen. Oder man fügt einen 100Ω Widerstand (oder 1 KOhm) in die Verbrauchsleitung ein uns schließt diesen Widerstand in den ersten Sekunden kurz.
* Es kann auch vorkommen, daß eine Schaltung beispielsweise 2µA verbraucht, jede Sekunde jedoch 1 ms lang der Verbrauch 1 A beträgt. Der Mittelwert wäre dann
 
::<math>\frac{2 \mu A \cdot 999ms + 1A \cdot 1ms}{1s} = 1002 \mu A </math>
 
:Die Entladung der Batterie folgt aber in diesem Fall nicht der normalen 1 mA - Entladekurve, sondern erfolgt viel früher, siehe Peukert'sche Regel ([http://www.amplepower.com/pwrnews/beer/ Amp Hours and Beer]). Hier kann man nur in tagelangen Versuchen die Entladung schätzen, indem man mit mehreren gleichartigen Batterien und verschiedenen Lastwiderständen einen "äquivalenten" Strom findet, der dem Stromverbrauch dieser Schaltung in etwa entspricht.
* Manche Hersteller empfehlen im Schlafzustand I/O Ports als Ausgang zu definieren, dies kann aber zu einem höheren Stromverbrauch führen. Ausprobieren geht über studieren.
* Das An- und Abschalten von externen Bauteilen, die zur Stützung einen eigenen Kondensator haben, führt zu Lade- und Entladeströmen, die nicht genutzt werden können.
* Manche externen Bauteile funktionieren paradoxerweise auch ohne eigene Stromversorgung (Stichwort "interne Schutzdioden"). Es reicht ein HIGH-Pegel an einer der Eingänge dieser ICs um sie am Laufen zu halten, was zu einem erheblichen Stromverbrauch führen kann. Beispiel: serieller Eingang des FT232BM von FTDI.
* Oft ist die maximale Betriebsdauer fast nur durch die Selbstentladung der versorgenden Batterie bestimmt, dann war allerdings die Entwicklung perfekt (bis vielleicht auf die Batteriewahl).
 
=== Spezielle Probleme im Bereich 1µA und darunter ===


Die Schaltung kann hier merkwürdige Effekte zeigen:
Die Schaltung kann hier merkwürdige Effekte zeigen:
* geladene Kondensatoren lassen die Schaltung auch ohne Versorgung noch eine Weile funktionieren.
* geladene Kondensatoren lassen die Schaltung auch ohne Versorgung noch eine Weile funktionieren.
* Stützkondensatoren verbrauchen mitunter mehr Strom als die Schaltung
* Stützkondensatoren verbrauchen mitunter mehr Strom als die Schaltung (Leckströme)
* Z-Dioden sind mit Vorsicht zu gebrauchen ! In Sperrichtung geschaltete Dioden können auch den Stromverbrauch erhöhen.
* Z-Dioden sind mit Vorsicht zu gebrauchen, weil auch weit unterhalb der Z-Spannung ein Stromfluss im oberen µA-Bereich erfolgt! In Sperrichtung geschaltete Dioden können auch den Stromverbrauch erhöhen (Sperrstrom, besonders hoch bei Schottky-Dioden).
* Signalpegel von aussen können die gesamte Schaltung zum Laufen bringen.
* Signalpegel von aussen können die gesamte Schaltung zum Laufen bringen.
* starke EMF (Handy) oder Rundfunksender (eingekoppelte HF durch lange Anschlussleitung) schalten die Schaltung ein, können sogar zu einer Überspannung und Zerstörung führen.
* starke elektromagnetische Felder (Handy) oder Rundfunksender (eingekoppelte HF durch lange Anschlussleitung) schalten die Schaltung ein, können sogar zu einer Überspannung und Zerstörung führen.
* Batterie- oder Akkuspannung steigt nach dem Einschalten (vorübergehend) an.
* Batterie- oder Akkuspannung steigt nach dem Einschalten (vorübergehend) an.
* die Schaltung wird empfindlich für elektrostatische Aufladungen, die dann gerne einen reset auslösen, allerdings gibt es bewährte Lösungen für diese Probleme.
* Die Schaltung wird empfindlich für elektrostatische Aufladungen, die dann gerne einen Reset auslösen. Allerdings gibt es bewährte Lösungen für diese Probleme.
* Selbstentladung von Batterien/Akkus beachten !
* Selbstentladung von Batterien/Akkus beachten!


Die Frage des Schutzes einer Schaltung vor EMF und statischer Aufladung sollte in einem anderen Artikel ausführlich beleuchtet werden.
Die Frage des Schutzes einer Schaltung vor elektromagnetischen Feldern und statischer Aufladung sollte in einem anderen Artikel ausführlich beleuchtet werden.


=== geeignete Stromquellen ===
=== Geeignete Stromquellen ===


* Li-Knopfzellen (z.B. 3V CR2032) . Haben eine sehr flache Entladekurve und hohe Energiedichte, gefürchtet bei Tauchern weil sie dann plötzlich bei Entladeschluss ausfallen.
Siehe auch [[Versorgung aus einer Zelle]]
* Alkali-Mangan Primärzellen: besser als Zink-Kohle.
* NC Akkus (sollte man eigentlich inzwischen vergessen)
* Li-Knopfzellen (z.&nbsp;B. 3V CR2032) haben eine sehr flache Entladekurve und hohe Energiedichte, gefürchtet bei Tauchern weil sie dann plötzlich bei Entladeschluss ausfallen.
* Nickel-Metallhydrid Akkus. Leider niedrigere Spannung als Primärzellen.
* Alkali-Mangan (LR) Primärzellen sind besser als Zink-Kohle (R).
* kleine Solarzellen gekoppelt an Goldcaps oder Akkuzellen.
* Nickel-Cadmium Akkus sollte man eigentlich inzwischen vergessen (Memoryeffekt,  giftiges Cadmium)
* Nickel-Metallhydrid Akkus haben leider eine niedrigere Spannung als Primärzellen (1,2V anstatt 1,5V).
* Kleine Solarzellen gekoppelt an Goldcaps oder Akkuzellen.
* Stromerzeugung durch Bewegung der Schaltung.
* Stromerzeugung durch Bewegung der Schaltung.
* Goldcaps. Goldcaps haben leider oft hohe Innenwiderstände und die Entladekurve ist natürlich nicht flach.
* Goldcaps haben leider oft hohe Innenwiderstände und die Entladekurve ist natürlich nicht flach.
* durch äusseres elektromagnetisches Wechselfeld, siehe RFID-chips.
* Stromversorgung durch ein äusseres elektromagnetisches Wechselfeld, siehe RFID.
* Lithium Primärzellen, wie z.&nbsp;B. CR123 oder CR2 (Fotobatterien 3V). Die Entladespannung ist recht stabil und bricht erst bei Entladeende stark ein.
 
Hinweis:
* Mikro (AAA/(L)R03) Primärzellen haben etwa 500-1300 mAh.
* Mignon (AA/(L)R06) Primärzellen haben etwa 900-3000 mAh.
* Lithium CR123 hat etwa 1600 mAh, bis etwa 1A belastbar, Puls 2-3 A.
* Lithium CR2 hat etwa 800-1000 mAh, bis 1A belastbar, Puls 2-3 A
* Knopfzellen, z.B. CR2032, sind nur mit geringen Strömen belastbar, maximal 5-20 mA Dauerstrom. (<- Woher stammt diese Angabe? Standard-Knopfzellen mit Lithium-Mangandioxid-Technologie erlauben einen Nenn-Entladestrom von 200µA um die Nennkapazität aus der Batterie entnehmen zu können, siehe z.B. http://biz.maxell.com/files_etc/9/catalog/en/CR_12e.pdf Hohe/Höhere Ströme beeinträchtigen die Lebensdauer der Knopfzellen signifikant.)
 
Die Entladekurve von Primärzellen ist in etwa eine Gerade. Eine volle Zelle hat etwas mehr als 1,5 V und bei 0,8 bis 1,0 V ist Schluss.
Akkus haben dagegen eine Klemmenspannung, die zu Beginn deutlich abfällt, dann einigermaßen stabil bleibt um schliesslich recht plötzlich abzufallen.
Die Kapazität ist vom Strom selbst abhängig, siehe Peukert`sche Regel. Bei hohen Entladeströmen nimmt die zur Verfügung stehende Energiemenge ab (gilt vor allem auch für hohe Pulsströme).
 
=== Thema Selbstentladung von Batterien (Primärzellen) ===
 
Wir können in etwa von einer Selbstentladung von 1-5% der Kapazität pro Jahr ausgehen. Dabei ist noch zu beachten, daß Batterien aber nicht ewig benutzbar sind und bei der Lieferung schon eine gewisse Zeit gelagert waren. Daher ist es seriös davon auszugehen, daß eine Batterie bei Betriebsbeginn nur noch die Hälfte der theoretischen Kapazität hat. Über diesen Wert und mit Hilfe von mittlerem Stromverbrauch + Selbstentladung kann man dann bei Zimmertemperatur etwa die maximale Betriebsdauer abschätzen.
 
Beispiele:
 
AAA/LR03/Micro Zelle mit 1000 mAh. Selbstentladung angenommen 5%/Jahr. Der "virtuelle" Entladestrom wäre dann circa 6µA.
 
CR2032 Lithium Mangandioxid mit 235mAh. Selbstentladung 1%/Jahr. Selbstenladestrom: 235mAh * 1% / 1yr = 0,27µA
 
=== Selbstentladung von Akkus ===
 
Sekundärzellen entladen sich sehr viel schneller als Primärzellen. Bei Bleisäurezellen liegt der Verlust bei ca 5% im Monat.
Nickel-Metallhydridzellen können 10 bis 30 % pro Monat verlieren, am meisten innerhalb der ersten 24 Stunden. Nach 3 Monaten können 80% der Ladung nicht mehr zur Verfügung stehen. Faustformel: '''1% / Tag'''. Hohe Temperaturen erhöhen die Selbstentladung. NiMH der nächsten Generation (z.&nbsp;B. Panasonic eneloop) haben deutlich geringere Selbstentladung, ca. 15 % pro Jahr.
 
=== Weblinks ===


=== Thema Selbstentladung von Batterien ===
* http://www.batteryuniversity.com/
* [http://candlepowerforums.com/vb/showthread.php?t=79302 NiMh Battery Shoot Out]
* [http://www.joretronik.de/Oszillatoren/Oszillatoren.html Ultra-Low-Power-Oszillator z.B. für Ladungspumpe]
* [http://www.mikrocontroller.net/topic/265367#2771241 Forumsbeitrag]: Aktive Nachbildung einer HV-Z-Diode, Linearregler für 2kV/2µA
*[https://web.archive.org/web/20131030102143/http://www.elektronikwissen.net/spannungsversorgung/2-stromsparende-versorgung-fuer-batteriebtriebene-geraete.html Spannungsversorgung für batteriebetriebene Geräte]
* [http://www.ganssle.com/reports/ultra-low-power-design.html#cr2032behavior CR2032 behavior], Low power Tips für Knopfzellen


Wir können in etwa von einer Selbstentladung von 3-5% der Kapazität pro Jahr ausgehen. Dabei ist noch zu beachten daß Batterien aber nicht ewig benutzbar sind und bei Bestellung schon eine gewisse Zeit gelagert waren. Daher ist es seriös davon auszugehen daß eine Batterie bei Btriebsbeginn nur noch die Hälfte der theoretischen Kapazität hat. Über diesen Wert und mit Hilfe von mittlerem Stromverbrauch + Selbstentladung kann man dann (bei Zimmertemperatur) in etwa die maximale Betriebsdauer abschätzen.
[[Kategorie:Spannungsversorgung und Energiequellen]]

Aktuelle Version vom 3. September 2023, 07:14 Uhr

Zunehmend spielt der Stromverbrauch bei der Entwicklung von Mikrocontrollerhardware eine Rolle. Moderne Prozessoren sind immer besser in der Lage, von Batterien über lange Zeit versorgt zu werden. Es kann gelingen, den über eine lange Zeit gemittelten Stromverbrauch unter 1 mA zu halten, bis hin zu einem Verbrauch unter 1 µA. Bei Strömen im Umfeld von 1 µA tauchen spezielle Probleme auf, die gesondert betrachtet werden müssen.

Hardware-Tipps für die Entwicklung

  • Den Prozessor finden, der einerseits den Anforderungen genügt, aber andererseits im Vergleich den geringsten Stromverbrauch hat. Hier ist zu beobachten, daß es einen Trend gibt hin zu immer geringerem Stromverbrauch. Daher lohnt es sich, ständig über neue Mikrocontroller auf dem Laufenden zu bleiben.
  • Möglichst niedrige Betriebsspannung wählen.
  • Möglichst niedrigsten Prozessortakt wählen und nur bei zeitkritischen Programmteilen vorübergehend den Takt hochschalten und nach der Berechnung wieder herabsetzen, siehe auch Sleep Mode.
  • Periphere Hardware (externe AD-Wandler, Speicher) vom Prozessor aus entweder direkt oder über Schalttransistoren nur für den Moment des Zugriffs einschalten.
  • Manche Kondensatoren zur Stützung der Betriebsspannung oder aus EMV Gründen, können ärgerliche Leckströme bewirken, insbesondere Elektrolytkondensatoren. Hier sogar manchmal erst nach einer Weile (Alterung).
  • Bei nicht batteriebetriebenen Geräten kann es sein, dass die Spannungsregelung alleine 90% des Stromverbrauchs verursacht. In den letzten Jahren gibt es jedoch eine immer größer werdende Auswahl an stromsparenden Reglern, siehe auch Versorgung aus einer Zelle.

Einfluss der Software auf den Stromverbrauch

  • Den Prozessor möglichst lange in einen Sleep Mode versetzen und jeweils nur kurz aufwecken.
  • Unnötige Warteschleifen oder "delay" Routinen vermeiden.
  • Eine Wertetabelle statt aufwändige Mathematik zur Berechung verwenden. Beispiel Cosinus und Sinus bei DFT/FFT.
  • Integrierte zusätzliche Hardware wie AD-Wandler, UART usw. nur für den Zeitraum einschalten in dem sie benötigt werden. Möglicherweise kann Strom gespart werden wenn man bei einer AD-Wandlung den Prozessor in einen Sleep Mode versetzt und ihn über den Interrupt am Ende der AD-Wandlung aufwachen lässt.
  • Statt Schalterzustände abzufragen (pollen) lieber einen Interrupt auslösen lassen.
  • Kurze Macros werden schneller als entsprechende Unterprogramme abgearbeitet.
  • Manche Mikroprozessoren (z. B. Atmel) bieten die Möglichkeit interne Pull-Up Widerstände zu schalten. Diese können an beschalteten Pins auch in einem Sleep Mode zu einem unerwartet hohen Stromverbrauch führen.

Achtung: Die Pull-ups bei unbenutzten Pins EIN-zuschalten spart laut einer Application Note von Atmel Strom: "To remove some power consumption, we will enable pull-ups on unused I/O pins to get a defined logical level and avoid unnecessary switching."

Aus AVR4013: picoPower Basics http://www2.atmel.com/Technologies/lowpower/design_examples.aspx

Allgemeine Probleme

  • Das Abschalten von UARTs kann zu einem "break" auf der Empfangsseite führen. Hier ggf. die Leitung mit einem exteren Pull-Up Widerstand auf HIGH-Pegel ziehen und den UART-Ausgang als Eingang konfigurieren bis zur nächsten Benutzung. Es kann auch vorkommen, dass der UART abgeschaltet wird während noch ein Zeichen gerade übertragen wird. Bei niedriger Baudrate dauert das Senden eines Zeichens ja recht lange. Daher sollte vor dem Abschalten geprüft werden ob die Übertragung noch läuft.
  • Zur Kontrolle des Stromverbrauchs ist es manchmal schwierig direkt den Strom zu messen. Der Innenwiderstand gängiger Multimeter kann bei kleinen Strommessbereichen so hoch werden, dass die Schaltung Fehlfunktionen zeigt. Dies gilt insbesondere für die kritischen Einschaltmomente. Daher sollte man zunächst im Einschaltmoment das Amperemeter kurzschließen. Oder man fügt einen 100Ω Widerstand (oder 1 KOhm) in die Verbrauchsleitung ein uns schließt diesen Widerstand in den ersten Sekunden kurz.
  • Es kann auch vorkommen, daß eine Schaltung beispielsweise 2µA verbraucht, jede Sekunde jedoch 1 ms lang der Verbrauch 1 A beträgt. Der Mittelwert wäre dann
[math]\displaystyle{ \frac{2 \mu A \cdot 999ms + 1A \cdot 1ms}{1s} = 1002 \mu A }[/math]
Die Entladung der Batterie folgt aber in diesem Fall nicht der normalen 1 mA - Entladekurve, sondern erfolgt viel früher, siehe Peukert'sche Regel (Amp Hours and Beer). Hier kann man nur in tagelangen Versuchen die Entladung schätzen, indem man mit mehreren gleichartigen Batterien und verschiedenen Lastwiderständen einen "äquivalenten" Strom findet, der dem Stromverbrauch dieser Schaltung in etwa entspricht.
  • Manche Hersteller empfehlen im Schlafzustand I/O Ports als Ausgang zu definieren, dies kann aber zu einem höheren Stromverbrauch führen. Ausprobieren geht über studieren.
  • Das An- und Abschalten von externen Bauteilen, die zur Stützung einen eigenen Kondensator haben, führt zu Lade- und Entladeströmen, die nicht genutzt werden können.
  • Manche externen Bauteile funktionieren paradoxerweise auch ohne eigene Stromversorgung (Stichwort "interne Schutzdioden"). Es reicht ein HIGH-Pegel an einer der Eingänge dieser ICs um sie am Laufen zu halten, was zu einem erheblichen Stromverbrauch führen kann. Beispiel: serieller Eingang des FT232BM von FTDI.
  • Oft ist die maximale Betriebsdauer fast nur durch die Selbstentladung der versorgenden Batterie bestimmt, dann war allerdings die Entwicklung perfekt (bis vielleicht auf die Batteriewahl).

Spezielle Probleme im Bereich 1µA und darunter

Die Schaltung kann hier merkwürdige Effekte zeigen:

  • geladene Kondensatoren lassen die Schaltung auch ohne Versorgung noch eine Weile funktionieren.
  • Stützkondensatoren verbrauchen mitunter mehr Strom als die Schaltung (Leckströme)
  • Z-Dioden sind mit Vorsicht zu gebrauchen, weil auch weit unterhalb der Z-Spannung ein Stromfluss im oberen µA-Bereich erfolgt! In Sperrichtung geschaltete Dioden können auch den Stromverbrauch erhöhen (Sperrstrom, besonders hoch bei Schottky-Dioden).
  • Signalpegel von aussen können die gesamte Schaltung zum Laufen bringen.
  • starke elektromagnetische Felder (Handy) oder Rundfunksender (eingekoppelte HF durch lange Anschlussleitung) schalten die Schaltung ein, können sogar zu einer Überspannung und Zerstörung führen.
  • Batterie- oder Akkuspannung steigt nach dem Einschalten (vorübergehend) an.
  • Die Schaltung wird empfindlich für elektrostatische Aufladungen, die dann gerne einen Reset auslösen. Allerdings gibt es bewährte Lösungen für diese Probleme.
  • Selbstentladung von Batterien/Akkus beachten!

Die Frage des Schutzes einer Schaltung vor elektromagnetischen Feldern und statischer Aufladung sollte in einem anderen Artikel ausführlich beleuchtet werden.

Geeignete Stromquellen

Siehe auch Versorgung aus einer Zelle

  • Li-Knopfzellen (z. B. 3V CR2032) haben eine sehr flache Entladekurve und hohe Energiedichte, gefürchtet bei Tauchern weil sie dann plötzlich bei Entladeschluss ausfallen.
  • Alkali-Mangan (LR) Primärzellen sind besser als Zink-Kohle (R).
  • Nickel-Cadmium Akkus sollte man eigentlich inzwischen vergessen (Memoryeffekt, giftiges Cadmium)
  • Nickel-Metallhydrid Akkus haben leider eine niedrigere Spannung als Primärzellen (1,2V anstatt 1,5V).
  • Kleine Solarzellen gekoppelt an Goldcaps oder Akkuzellen.
  • Stromerzeugung durch Bewegung der Schaltung.
  • Goldcaps haben leider oft hohe Innenwiderstände und die Entladekurve ist natürlich nicht flach.
  • Stromversorgung durch ein äusseres elektromagnetisches Wechselfeld, siehe RFID.
  • Lithium Primärzellen, wie z. B. CR123 oder CR2 (Fotobatterien 3V). Die Entladespannung ist recht stabil und bricht erst bei Entladeende stark ein.

Hinweis:

  • Mikro (AAA/(L)R03) Primärzellen haben etwa 500-1300 mAh.
  • Mignon (AA/(L)R06) Primärzellen haben etwa 900-3000 mAh.
  • Lithium CR123 hat etwa 1600 mAh, bis etwa 1A belastbar, Puls 2-3 A.
  • Lithium CR2 hat etwa 800-1000 mAh, bis 1A belastbar, Puls 2-3 A
  • Knopfzellen, z.B. CR2032, sind nur mit geringen Strömen belastbar, maximal 5-20 mA Dauerstrom. (<- Woher stammt diese Angabe? Standard-Knopfzellen mit Lithium-Mangandioxid-Technologie erlauben einen Nenn-Entladestrom von 200µA um die Nennkapazität aus der Batterie entnehmen zu können, siehe z.B. http://biz.maxell.com/files_etc/9/catalog/en/CR_12e.pdf Hohe/Höhere Ströme beeinträchtigen die Lebensdauer der Knopfzellen signifikant.)

Die Entladekurve von Primärzellen ist in etwa eine Gerade. Eine volle Zelle hat etwas mehr als 1,5 V und bei 0,8 bis 1,0 V ist Schluss. Akkus haben dagegen eine Klemmenspannung, die zu Beginn deutlich abfällt, dann einigermaßen stabil bleibt um schliesslich recht plötzlich abzufallen. Die Kapazität ist vom Strom selbst abhängig, siehe Peukert`sche Regel. Bei hohen Entladeströmen nimmt die zur Verfügung stehende Energiemenge ab (gilt vor allem auch für hohe Pulsströme).

Thema Selbstentladung von Batterien (Primärzellen)

Wir können in etwa von einer Selbstentladung von 1-5% der Kapazität pro Jahr ausgehen. Dabei ist noch zu beachten, daß Batterien aber nicht ewig benutzbar sind und bei der Lieferung schon eine gewisse Zeit gelagert waren. Daher ist es seriös davon auszugehen, daß eine Batterie bei Betriebsbeginn nur noch die Hälfte der theoretischen Kapazität hat. Über diesen Wert und mit Hilfe von mittlerem Stromverbrauch + Selbstentladung kann man dann bei Zimmertemperatur etwa die maximale Betriebsdauer abschätzen.

Beispiele:

AAA/LR03/Micro Zelle mit 1000 mAh. Selbstentladung angenommen 5%/Jahr. Der "virtuelle" Entladestrom wäre dann circa 6µA.

CR2032 Lithium Mangandioxid mit 235mAh. Selbstentladung 1%/Jahr. Selbstenladestrom: 235mAh * 1% / 1yr = 0,27µA

Selbstentladung von Akkus

Sekundärzellen entladen sich sehr viel schneller als Primärzellen. Bei Bleisäurezellen liegt der Verlust bei ca 5% im Monat. Nickel-Metallhydridzellen können 10 bis 30 % pro Monat verlieren, am meisten innerhalb der ersten 24 Stunden. Nach 3 Monaten können 80% der Ladung nicht mehr zur Verfügung stehen. Faustformel: 1% / Tag. Hohe Temperaturen erhöhen die Selbstentladung. NiMH der nächsten Generation (z. B. Panasonic eneloop) haben deutlich geringere Selbstentladung, ca. 15 % pro Jahr.

Weblinks