Stromsparschaltung für Raspberry Pi & Co

Der Low/No-Power-Schalter

12. Mai 2016, 11:00 Uhr | Ralf Higgelke
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Echtzeituhr optimieren

Als wichtigstes Kriterium gilt, die Zusatzschaltung muss weniger Leistung beanspruchen, als das zu schaltende System im Schlafmodus selbst. Zentrale Einheit der Schaltung ist dabei eine Echtzeituhr (Real Time Clock, RTC). Außerdem werden mindestens eine Energieversorgung − etwa ein Akku − sowie ein Schaltelement benötigt, was im einfachsten Fall ein Transistor sein kann.

Weil die Echtzeituhr dauerhaft mit Strom zu versorgen ist, gilt der Stromaufnahme dieser Komponente zunächst die größte Aufmerksamkeit. RTCs gibt es von zahlreichen Herstellern und sie verfügen, je nach Typ, über Schnittstellen (Serial, SPI, I²C), Register und RAM sowie möglicherweise über zusätzliche Funktionen (Countdown Timer, Alarmfunktionen). Einige Hersteller spezifizieren ihre Echtzeituhren als Ultra-Low-Power-RTCs. Nachfolgende Tabelle sind einige Typen mit ihrem minimal möglichen Betriebsstrom angegeben. Dieser ist im Wesentlichen vom Taktgeber (Quarz, RC-Oszillator) abhängig, wobei der Quarztakt genauer ist, dafür jedoch mehr Strom erfordert, beispielsweise 55 nA statt 14 nA.

Anbieter zum Thema

zu Matchmaker+
HerstellerAmbiq MicroAbraconMicro CrystalNXPEpsonMaxim
TypAM08XXAB018X5RV-1805-C3PCF2123RX6110SADS1307
Betriebsstrom14 nA14 nA17 nA100 nA130 nA200 µA
Versorgungsspannung1,5 V bis 3,6 V1,5 V bis 3,6 V1,5 V bis 3,6 V1,1 V bis 5,5 V1,6 V bis 5,5 V2,0 V bis 5,5 V
SchnittstellenI²C, SPII²C, SPII²CSPII²C, SPII²C
GP-RAM256 Byte256 Byte512 Byte-128 Bit56 Byte
GehäuseQFN-16QFN-16C3-PackageTSSOP1414 Pin SOP8 Pin DIP/SO

 

Tabelle: RTCs mit geringem und üblichem Stromverbrauch


Eine Echtzeituhr muss natürlich eingestellt werden, wofür meist ein Mikrocontroller mit der passenden Schnittstelle zum Einsatz kommt. Dies macht eine Programmierung erforderlich. Prinzipiell eignet sich hierfür ein Raspberry Pi oder eine ähnliche Plattform, mit der die Zeit in der RTC gesetzt wird. Interessanterweise stellen die Hersteller solcher Echtzeituhren selbst kaum einen brauchbarer RTC-Beispielcode zur Verfügung, genauso wenig wie sie Evaluationsboards anbieten. Daher wird man insbesondere bei solchen Firmen fündig, die Komponenten für Arduino und andere »Bastlersysteme« anbieten, die allerdings altbekannte Typen (z. B. DS1307, PCF8583) mit relativ hohem Strombedarf verwenden.

Bild 2: Interner Aufbau und Signale der Echtzeituhr »AB18X5« von Abracon
Bild 2: Interner Aufbau und Signale der Echtzeituhr »AB18X5« von Abracon
© Abracon

Meist verfügen Echtzeituhren über mehrere Ausgänge, an denen sie Takt- (CLKOUT), Interrupt- (IRQ, TIRQ) und Ausgangssignale (FOUT) zur Verfügung stellen (Bild 2). Diese sind chipintern unterschiedlich über die Registereinstellungen zu programmieren und dementsprechend zu nutzen.

Gut kopiert und integriert

Bild 3: Echtzeituhren lassen sich recht komfortabel mit der Cymbet-Lösung unter Windows oder Linux programmieren
Bild 3: Echtzeituhren lassen sich recht komfortabel mit der Cymbet-Lösung unter Windows oder Linux programmieren
© Cymbet

Die inzwischen wieder aktive Firma Cymbet hat früher Echtzeituhren der Firmen Ambiq, Micro Crystal und NXP mit ihren »EnerChip«-Akkus inklusive der dazugehörigen Ladeelektronik zu eigenen Chips (z. B. CBC34813) kombiniert und dazu passende Evaluationboards inklusive einer recht komfortablen Windows/Linux-Software für die Programmierung angeboten. Die neueren Kits bestehen jeweils aus zwei zusammengesteckten Platinen (Bild 3).

Bild 4: In den Cymbet-Chips werden »nur« herkömmliche RTCs (hier »AM0813«) mit einem Cymbet-Speicher (»CBC005«) und dem dafür notwendigen Regler (»CBC910«) kombiniert
Bild 4: In den Cymbet-Chips werden »nur« herkömmliche RTCs (hier »AM0813«) mit einem Cymbet-Speicher (»CBC005«) und dem dafür notwendigen Regler (»CBC910«) kombiniert
© Cymbet

Auf der einen (links) ist die batteriegepufferte Echtzeituhr mit einer Steckerleiste zum Abgreifen einzelner Signale sowie ein E²PROM vorhanden, auf der anderen (Platinenrückseite) sind der bekannte USB-Schnittstellenchip der Firma FTDI (FT2232D) sowie ein USB-Anschluss für die Verbindung mit einem PC vorhanden. Beide Chips kommunizieren über SPI, das USB-Signal setzt der FTDI-Chip auf SPI um (Bild 4). Das E²PROM enthält die Ressource-Daten für den FTDI-Chip, damit sich die Platine als ein bestimmtes Cymbet-Device für die USB-Initialisierung ausgibt und nicht nur als gewöhnliches FTDI-Board. Als USB-Treiber kommt grundsätzlich der Standardtreiber von FTDI zum Einsatz.

Auch wenn die Boards und Chips von Cymbet nicht mehr erhältlich sind, eignen sich die Schaltungen und insbesondere die Software, die mittlerweile frei zugänglich ist, hervorragend für eigene Applikationen. Statt eines Cymbet-Chips − der RTC und Energiespeicher kombiniert − wird stattdessen lediglich die Echtzeituhr des jeweiligen Herstellers eingesetzt. Ein gewöhnlicher Akku mit Ladeelektronik oder auch eine Knopfzelle eignen sich als Energieversorgung. Wenn die Applikation mit dem USB eines PCs verbunden ist, lässt sich die RTC mit der Windows-Software einstellen und gleichzeitig ein eingebauter Akku aufladen. Eine andere Möglichkeit findet sich weiter unten.


  1. Der Low/No-Power-Schalter
  2. Echtzeituhr optimieren
  3. Einfach mal abschalten
  4. Einfachste autarke Spannungsversorgung

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!