Energiesparen mit MCUs Mikrocontroller-Schaltungen mit niedrigem Strombedarf

In den letzten Jahren ist der Energieverbrauch zunehmend ins Blickfeld von Entwicklern und Anwendern gerückt. Batterie- und Akkubetrieb sowie Energy-Harvesting verlangen nach sparsamen Lösungen. Aber auch bei netzgespeisten Geräten legen Entwickler zunehmend Wert auf geringen Verbrauch. Worauf ist beim Entwurf energiesparender Schaltungen mit Mikrocontrollern zu achten? Wo liegen die Einschränkungen?

Um Embedded Systeme wirklich auf niedrigsten Stromverbrauch zu trimmen, müssen Entwickler die Bauteile sorgfältig auswählen. Neben den Mikrocon-trollern sollten sie also alle relevanten Bauelemente in Betracht ziehen, da diese die Gestaltung, Bedienung und Funktion des Endprodukts maßgeblich beeinflussen. Im Folgenden einige Anregungen.

Tasten und Folientastaturen sind unkritisch, da nur während der Betätigung ein geringer Querstrom durch die notwendigen Pull-up- oder Pull-down-Widerstände fließt. Endschaltern und Reed-Kontakten, die dauerhaft im Ein-Zustand verharren können, ist jedoch Aufmersamkeit zu widmen. Oft können Pull-ups nicht so hochohmig gewählt werden, wie man es gerne hätte, da die Zuleitungen Störsignale auffangen.

Werden zur Störunterdrückung zusätzlich Kondensatoren an den I/O-Pins vorgesehen, kann sich gerade bei sehr hochohmigen Pull-ups ein schwer zu findendes Fehlverhalten einschleichen: Die Zuleitungen bilden aufgrund ihrer Induktivität zusammen mit solchen Kondensatoren Schwingkreise, die durch die plötzliche Entladung des Kondensators beim Betätigen der Taste zu Schwingungen mit einer Amplitude angeregt werden, die weit über der Versorgungsspannung liegt.

Die Amplitude wird dann zwar durch die Eingangsschutzdioden begrenzt, dies führt aber zu derart starken Impulsströmen, dass ein Latch-up am I/O-Pin ausgelöst werden kann. Sicherste Abhilfe ist ein Serienwiderstand am Eingangs-Pin, der den Strom in jedem Fall auf zulässige Werte begrenzt. Der Energieverlust durch Querströme lässt sich durch kurzzeitiges, periodisches Abfragen und anschließendes Abschalten der Tasten minimieren.

Für Potentiometer gilt ähnliches: nur Zuschalten zur Abfrage der Schleiferstellung, dann wieder einseitig trennen. Kapazitive Touch-Eingabe als Ersatz für Tastatur und Potis wird zunehmend populär. Da entweder ein Spezialbaustein oder der mit einer Softwarelösung programmierte Mikrocontroller in Betrieb sein muss, bietet es sich an, auch hier periodisch abzufragen. Dabei beschränkt man sich zunächst auf einen Kanal, der eventuell bereits auf Annäherung reagiert, und aktiviert den Rest nur bei Bedarf.

Die neuen Controller »SAM4L« von Atmel mit »Cortex-M4«-Core beispielsweise unterstützen hardwaremäßig kapaziti-ve Sensoren, wie man sie bereits von den 32-Bit-»AVRs« der »UC3L«-Serie kennt. Magnetische Winkel- und Lineargeber schieden bis vor kurzem aufgrund des durch das Hall-Prinzip bedingten Stromflusses für Geräte mit niedrigstem Strombedarf aus.

Neuere Entwicklungen machen sie wegen ihrer technischen Vorteile bei extrem gesenktem Eigenverbrauch auch hier interessant. Sensoren für chemische und physikalische Größen bilden ein weites Feld, sodass in diesem Rahmen nur kurz auf sie eingegangen werden kann. Zumeist gibt es zahlreiche Prinzipien, die miteinander zu vergleichen sind.

Bisweilen lässt sich das Erfassen einer Größe sogar mit Energiegewinnung verbinden, wie bei der Helligkeitsmessung über Fotozellen, der Messung von Strömungsgeschwindigkeiten mittels durch die Strömung selbst betriebener Kleingeneratoren, Messungen an Hochspannungsleitungen, wo dem Feld ausreichend Energie zum Betrieb autarker funkvernetzter Sensoren entnommen werden kann, oder der Schwingungserfassung über Piezo-Elemente.

Ist solches Energy-Harvesting nicht möglich, wird man sich auf periodisches Messen beschränken und ansonsten möglichst viele Komponenten deaktivieren. Auch sind die in der Regel erforderlichen analogen Bauteile sorgfältig auszuwählen; viele Hersteller bieten spezielle Low-Power-Analogprodukte an.

Optische Bauelemente

Aktive Displays wie TFTs und OLEDs verbieten sich aufgrund ihrer vergleichsweise hohen Stromaufnahme in vielen Fällen. Immerhin lässt sich Strom sparen, indem man die Bildschirme nur bedarfsweise ein- beziehungsweise hellschaltet. Um Größenordnungen sparsamer sind passive LC-Bildschirme, gegebenenfalls mit zuschaltbarer Hintergrundbeleuchtung. Diese Option setzt allerdings transflektive Typen voraus, die im Vergleich zu reflektiven im passiven Modus kontrastärmer sind. »Xmega« und »SAM4L«-Controller gibt es auch mit besonders sparsamen integrierten LCD-Controllern.

Elektrophoretische Displays (E-Paper) und die neuen bistabilen LCDs halten den letzten Bildinhalt auch ohne Stromaufnahme bis zum nächsten Bildwechsel. Während des Wechsels benötigt E-Paper mehr Energie als LCDs, auch gibt es noch Einschränkungen bei Geschwindigkeit und Temperaturbereich. Für Etiketten und Türschilder beispielsweise sind sie jedoch hervorragend geeignet.

Vorsicht ist geboten bei Displays für Warn- oder Freigabemeldungen, da bei Stromausfall Falschanzeigen möglich sind! Die Ansteuerung elektrophoretischer Displays ist komplex und erfordert spezielle Ansteuerchips oder damit bereits ausgestattete Controller. Beschränkt sich die Anzeige auf LEDs, so wählt man hocheffiziente Typen und wird diese möglichst nur kurz blinken oder aufblitzen lassen.

In letzterem Fall kann eine zusätzliche Induktivität die Spannung bei gleichzeitiger Strombegrenzung anheben, sodass auch aus niedriger Batteriespannung ein Betrieb möglich ist, ohne Energie in einem Vorwiderstand zu verschwenden. Rote LEDs haben eine geringere Durchlassspannung als andersfarbige. Dagegen ist das menschliche Auge im grünen Bereich am empfindlichsten und im blauen am unempfindlichsten.

Bistabile Relais benötigen nur während des Umschaltens kurze Strom-impulse. Es ist aber oft aus Sicherheitsgründen darauf zu achten, dass auch bei Stromausfall ein zuverlässiges Abschalten des Geräts gewährleistet bleibt. Bei Standardrelais kann mittels PWM der Haltestrom nach dem Umschalten abgesenkt werden. Ähnliche Techniken erlauben Ersparnisse bei Schrittmotoren im Haltebetrieb.

Auswahl des Mikrocontrollers

Zur akustischen Signalisierung bieten sich Piezo-Signalgeber an. Der Betrieb auf der Eigenresonanzfrequenz bewirkt besonders hohe Lautstärke. Hier kann eine relativ große Bauform vorteilhaft sein, damit diese Resonanz in einem auch von älteren Menschen gut hörbaren, nicht zu hohen Frequenzbereich liegt. NF/HF-Bausteine oder entsprechende Fertigmodule wie aktive »Tags« werden beispielsweise in den Bereichen Zugangskontrolle, Personenüberwachung und Diebstahlschutz eingesetzt.

Oft ist ein extrem sparsamer Wake-up-Receiver für das Langwellenband mit einem Transceiver für Hochfrequenz kombiniert. Gerade unter den Wake-up-Receivern findet man Ausführungen, die im aktiven, empfangsbereiten Zustand nur wenige Mikroampere aufnehmen. Allerdings gibt es erhebliche Unterschiede bei der Empfindlichkeit der Empfänger und anderen Merkmalen mit Einfluss auf die Energiebilanz.

Auf der HF-Seite beeinflussen unter anderem Frequenzbereich, Antenne und verwendetes Protokoll in hohem Maße den Energiebedarf. Aufgrund des Pflichtenhefts ergeben sich bereits zahlreiche Anforderungen an den Mikrocontroller. Maßgebend ist dabei nicht nur, dass es er die technischen Vorgaben und die eigentliche Aufgabe erfüllt.

Auch Faktoren wie Safety-Funktionen, vorhandene Bibliotheken, Vorerfahrung des Entwicklers mit der Controllerfamilie, Entwicklungsumgebungen, (Langzeit-)Verfügbarkeit, Qualität, Support durch Hersteller und Lieferant, Einsatz bei anderen Produkten und damit verbundene Lagerhaltung sowie eventuelle Preisvorteile durch Bündelung spielen eine Rolle. Und obendrauf kommt nun die Energieersparnis als Anforderung hinzu.

In manchen Fällen wird der Entwickler einen speziell auf niedrigsten Energiebedarf hin konstruierten Controller wählen (müssen). Oft jedoch reicht es aus, einen sparsamen modernen Standardbaustein einzusetzen und die Schaltung hard- und softwaremäßig zu optimieren. Wer extrem an Energie sparen muss und einen Spezialbaustein ins Auge fasst, sollte besonders sorgfältig vergleichen. Denn weil Entwickler heutzutage in puncto Energieverbrauch viel sensibler sind, haben sich manche Hersteller zu Marketingaussagen hinreißen lassen, die überzogene Erwartungen wecken könnten.

Hier ist gesundes Augenmaß angesagt. Liegt die geringstmögliche Stromaufnahme im Tiefschlaf eines bestimmten Controllers bei einigen Mikroampere, so ist das für Automobilanwendungen und im Industriebereich meist unerheblich. Für einen Langzeitdatenlogger dagegen, der über viele Jahre aus einer kleinen Batterie gespeist wird, ist das deutlich zu viel. Andererseits tappt in eine Falle, wer sich hier allein durch extreme Angaben von wenigen Nanoampere beindrucken lässt, wenn in der realen Anwendung eine auch nur geringfügig schlechtere Performance sich in einer Verlängerung der aktiven Phase niederschlägt und alle im Tiefstschlaf erzielten Nanowatt-Einsparungen zunichtemacht.

Nur wenn man Peripherie, Programmlaufzeiten und verfügbaren Energiesparoptionen genau betrachtet, lässt sich ein fairer Vergleich anstellen. Unbenutzte I/O-Pins sind als Eingänge zu konfigurieren, da so der Strombedarf etwas niedriger ist als bei offenen Ausgängen. Digitale Eingänge sollten mit einer Abweichung von weniger als 0,5 V auf Masse oder auf der Versorgungsspannung VCC liegen, was sich durch ihre externe Beschaltung oder durch Aktivierung der internen Pull-ups erreichen lässt.

Die Einhaltung der Logikpegel für High und Low reicht nicht aus! Die Pull-up-Widerstände sind im Reset-Zustand noch nicht aktiviert, da die zugehörigen Register noch ihre Initialwerte enthalten. Um auch in dieser Phase den Stromverbrauch zu minimieren, sind externe Pull-ups erforderlich. Mikrocontroller vom Typ »ATxmega« von Atmel beispielsweise haben auch Pull-down-Widerstände integriert.

Die Stromaufnahme ist bei CMOS-Stufen etwa proportional zur Taktfrequenz. Daher wählt man diese bei Dauerbetrieb nur so hoch, dass die benötigte Rechenleistung erzielt wird. Falls kein Dauerbetrieb erforderlich ist, zeitweise jedoch eine schnelle Abarbeitung benötigt wird, sollte man die verschiedenen Sleep-Modi nutzen. Dabei wird die CPU die meiste Zeit über vom Systemtakt getrennt, oder der Oszillator wird ganz abgeschaltet.

Bei Bedarf wird die CPU geweckt solange nötig, danach wieder schlafen gelegt. Steht ein externes Wecksignal wie Tastendruck oder ein Schnittstellensignal zur Verfügung, kann der Controller in den sparsamsten Sleep-Modus, den Power-down mit typisch 0,1 μA, versetzt werden. Soll der Controller von selbst aufwachen, muss ein Timer laufen - in der Regel der 32-kHz-Uhrenoszillator bei einer Stromaufnahme von 0,5 µA bis 10 μA. Solche Angaben sind typische Werte und beziehen sich auf eine Temperatur von +25 °C.

Die maximalen Werte können deutlich höher liegen. Hier empfiehlt sich ein Blick ins Datenblatt. Noch sparsamer sind moderne externe RTC-Bausteine, die auf Werte bis herab zu 130 nA kommen und sich so konfigurieren lassen, dass sie den Controller periodisch aufwecken. Eine Übersicht über die verschiedenen Sleep-Modi bei »AVR«-Controllern von Atmel geben Tabelle 1 und Bild 1.

Im Intervallbetrieb mit langen Schlafpausen und kurzen aktiven Phasen (Bild 2) ist es nicht gleichgültig, ob in den aktiven Phasen schnell getaktet und kurz gerechnet oder langsamer getaktet und dafür länger gerechnet wird. Kurze, schnell getaktete aktive Phasen sind etwas günstiger. Allerdings setzt die Betriebsspannung dem Grenzen, und die internen RC-Oszillatoren können bei vielen Controllern nur die halbe Maximalfrequenz erzeugen. Externe RC-Kombinationen ermöglichen höhere Frequenzen.

Sleep-ModusMain ClockRTCWakeupSPM & EEPROM Ready Wakeup
ADC Complete Wakeup
RTC Wakeup
sonstige Interrupt-Wakeups
Anmerkung
Idleeineinschnellja
ja
ja
ja
 
ADC Noise Reductioneineinschnelljajajaneinwie Idle, aber weniger Moudle aktiv
Power Downausauslangsamneinneinjaneinnur externes Wecken
Power Saveauseinlangsamneinneinneinneinwie Power Down, aber Selbstwecken möglich
Standbyeinausschnellneinneinneinneinwie Power Down, aber Main Clock an
Extended Standbyeineinschnellnein
nein
nein
neinwie Power Save, aber Main Clock an
Tabelle 1: Sleep-Modi bei »AVR«-Controllern von Atmel