Mit der zunehmenden Verbreitung des IoT/IIoT, der großen Vielfalt an Anwendungen und dem Einsatz an entlegenen Orten, ist die Verwendung von Batterien zur Stromversorgung von Edge-Geräten zur Norm geworden. Aus technischer Sicht ist die Verwendung einer Batterie eine bequeme Möglichkeit, ein System mit Strom zu versorgen. Die Herausforderung besteht jedoch darin, zu wissen, wie viel Batteriekapazität erforderlich ist, um das Gerät für eine bestimmte Dauer zu betreiben.
Eine Knopfzelle liefert genug Energie, um einen Ultra-Low-Power-Sensor viele Jahre lang mit Strom zu versorgen, aber irgendwann müssen sie ausgetauscht werden. Die Arbeits- und Reisekosten stehen in keinem Verhältnis zu den Batteriekosten und die Verwaltung von Hunderten von Geräten wird unrentabel. Wiederaufladbare Batterien und Techniken zur Energiegewinnung, wie zum Beispiel ein Solarpanel, sind zwar sehr hilfreich, haben aber Auswirkungen auf die Größe des Geräts.
Daher ist es von entscheidender Bedeutung, das Stromverbrauchsprofil des Geräts zu verstehen, um die Lebensdauer der Batterie und die erforderliche Kapazität vorhersagen zu können. Das Profil ist eine dynamische Größe mit Leistungsspitzen und -tiefs und kein reiner Umgebungswert.
Einige Batterien sind aufgrund ihrer chemischen Zusammensetzung nicht so schnell in der Lage, sich von Stromverbrauchsspitzen zu erholen wie andere. Daher ist es wichtig herauszufinden, was diese Spitzen verursacht. Sobald die Ursache für die Stromspitzen und der Ruhestrom ermittelt sind, können Sie diese Werte mit Hilfe von Softwaremaßnahmen senken, zum Beispiel indem Sie den Mikrocontroller in einen Ruhezustand versetzen und die Zeitplanung von Aufgaben ändern.
Stromverbrauchsmessung im Embedded-Design
Wenn man versucht, einen drahtlos verbundenen IIoT-Sensor während des Betriebs mit einem Digitalmultimeter zu messen, erhält man zwar einen durchschnittlichen Stromverbrauch, aber kein genaues Bild. Im Datenblatt eines typischen drahtlosen Mikrocontrollers mit niedrigem Stromverbrauch, der in einem IoT-Gerät zum Einsatz kommen könnte, finden Sie einige Angaben zu den Strombereichen.
Der Mikrocontroller (MCU) und der drahtlose Transceiver bestehen aus zwei großen Funktionsblöcken. Die meisten Hersteller bieten die Möglichkeit, die Funktechnik getrennt von der MCU abzuschalten. Nehmen wir zum Beispiel den Silicon Labs EFR32BG22 Series 2 Bluetooth Wireless SoC.
Der höchste Stromverbrauch beträgt 8,2 mA und tritt auf, wenn der Transmitter eine Ausgangsleistung von 6 dBm liefert. Wenn sich der SoC im EM4 Tiefschlafmodus befindet, sinkt der Verbrauch auf nur 0,17 µA. Bei einem so großen dynamischen Stromverbrauch, der innerhalb von Mikrosekunden etwa 50:1 betragen kann, wird das Ausmaß der Herausforderung deutlich. Peripherieschnittstellen und GPIO verbrauchen im Betrieb ebenfalls Strom, genauso wie die zugehörigen Funktionen des IoT-Geräts, so dass eine ganzheitliche Betrachtung notwendig ist.
Bei der Messung des Stromverbrauchs eines Geräts wird in der Regel ein Shunt-Widerstand mit einem niedrigen Ohmwert und einer hohen Toleranz, typischerweise ein Prozent, in die Stromversorgungsschiene des Embedded Systems eingefügt. Durch die Messung der Spannung über dem Shunt-Widerstand lässt sich der durch ihn fließende Strom berechnen. Es gibt einen optimalen Wert für die Effizienz des Widerstands. Wenn er zu hoch ist, verursacht er eine hohe Bürdenspannung und senkt die Versorgungsspannung für den Mikrocontroller. Ein zu niedriger Wert erschwert die Messung sehr kleiner Ströme.
Das Konzept des Power Debugging tauchte erstmals vor über zehn Jahren im Bereich des Embedded Designs auf. Standard J-TAG Debugger sind jetzt mit einer Strommessfunktion erhältlich. Viele gängige Embedded-Toolchains und IDEs unterstützen sie, aber in der Regel bieten sie nicht den hohen Dynamikbereich oder die Messgenauigkeit, die für die heutigen Embedded Systeme erforderlich ist. Ein Gerät wie das Qoitech Otii Arc erfüllt die Anforderungen an eine präzise Echtzeitmessung des Stromverbrauchs eines Geräts.
Embedded Echtzeit-Strommessung
Der Qoitech Otii Arc besitzt eine programmierbare Stromversorgung und einen Analysator und ist in einem einzigen kompakten und tragbaren Gehäuse untergebracht. Die Benutzeroberfläche des Otii Arc ist eine umfassende Softwareanwendung, die für alle gängigen Betriebssysteme verfügbar ist. Der Otii Arc kann Strom in Echtzeit mit Nanoampere-Genauigkeit anzeigen und aufzeichnen und hat eine maximale Abtastrate von 4 ks/sec.
Zudem verfügt er über einen hohen dynamischen Bereich der Strommessung von einigen Nanoampere im Zehntelbereich bis hin zu 5 A und qualifiziert ihn für den Einsatz in Embedded-System-Designs. Der System verfügt außerdem über eine programmierbare Stromsenke zum Entladen einer Batterie und zur Aufzeichnung ihres Profils. Otii kann dann das gespeicherte Batterieprofil mit seiner primären Ausgangsspannung emulieren. Um diese Funktionen nutzen zu können, benötigen Sie eine optionale Softwarelizenz für die Otii Battery Toolbox.
Otii Arc im Detail
Die Stromversorgung des Otii Arc kann entweder über ein USB-Netzteil oder ein externes Gleichstromnetzteil erfolgen. Die Ausgangsspannung für das zu testende Gerät (DUT) ist von 0,5 bis 5 VDC in 1 mV-Schritten programmierbar. Der Otii liefert einen Dauerausgangsstrom von 2,5 A und einen Spitzenstrom von bis zu 5 A. Für höhere Ströme als die, die über einen USB-Anschluss zur Verfügung stehen, ist eine externe Stromversorgung erforderlich.
Der Otii Arc verfügt über eine UART-Schnittstelle, zwei GPIO-Eingänge, zwei GPIO-Ausgänge und zwei Spannungsmesspins. Über die UART-Schnittstelle werden neben den Echtzeit-Strommessungen auch Debug-Meldungen des Messobjekts angezeigt. Mit dieser UART-Funktion kann der Embedded-Entwickler Aufgaben oder Watchpoints in seinem Code markieren, um bestimmte Anwendungsfunktionen zu kennzeichnen. Anhand der UART-Meldungen kann der Anwendungscode mit der Echtzeit-Strommessung synchronisiert werden.
Mit der Otii Arc Software lassen sich Echtzeitsitzungen aufzeichnen und speichern. Diese Funktion ist besonders hilfreich, um die Auswirkungen von Code-Verbesserungen oder Hardware-Erweiterungen während der Prototyping-Phasen der Embedded-Entwicklung zu vergleichen. Über die GPIO-Pins können die Statuspins des Messobjekts in Echtzeit auf dem Arc-Display angezeigt werden, was den Debugging-Prozess weiter unterstützt.
Mit den Sense-Pins etwa können andere Stromschienen des Messobjekts gemessen oder die primäre Stromversorgungsspannung des Messobjekts über vier Leitungen überwacht werden.
Mit Otii Arc kann ein Embedded-Entwickler schnell herausfinden, wie und wann sein Prototyp Strom verbraucht. Dies gibt nicht nur Aufschluss darüber, wie die Ruhemodi eines Mikrocontrollers eingestellt und Peripheriefunktionen abgeschaltet werden können, sondern bietet auch die Möglichkeit, andere stromsparende Lösungen zu untersuchen. Ein Beispiel hierfür ist die Entscheidung, welches Wireless-Protokoll verwendet werden soll. Die meisten Edge-basierten drahtlosen IoT-Sensoren müssen nur sehr wenige Daten wie beispielsweise Temperatur- und Luftfeuchtigkeitswerte alle 15 Minuten übermitteln. Bei einigen drahtlosen Protokollen, Netzwerk-Routing und Datensicherheitsverfahren kann eine 40-Byte-Nachricht schnell auf mehrere Kilobyte anwachsen.
In einer kürzlich erschienenen technischen Fachpublikation von Qoitech wird deutlich, wie stark die Wahl des drahtlosen Protokolls den Stromverbrauch beeinflusst. Abbildung 5 veranschaulicht die zusammengefassten Ergebnisse einer Reihe von Tests, die mit einem NB-IoT-Funkmodul mit verschiedenen Protokollen und Sicherheitseinstellungen durchgeführt wurden.
Analyse des Stromverbrauchs eines IoT-Geräts
Die Bestimmung der Batterielebensdauer eines Embedded IoT-Systems ist problematisch. Ohne eine genaue Messung des Stromverbrauchs ist die vorhergesagte Batterielebensdauer bestenfalls eine Schätzung. Die Datenblätter für drahtlose SoCs geben einen guten Anhaltspunkt, berücksichtigen aber nicht die Dynamik, die zum Beispiel beim Aufbau einer drahtlosen Verbindung und beim Senden von Daten entsteht. Verbrauchsspitzen wirken sich auch auf die langfristige Batterieleistung aus. Daher ist es entscheidend, das wahrscheinliche Verhalten des Systems modellieren zu können.
Mit dem bei Mouser erhältlichen Qoitech Otii Arc können Entwickler die Stromversorgung kontrollieren, den Verbrauch in Echtzeit analysieren und den Debug-Code in einem einzigen kompakten Gerät synchronisieren. Dadurch ist das Gerät prädestiniert, zu einem festen Bestandteil auf dem Labortisch in einer Entwicklungsabteilung zu werden.