PowerPico: Wenn Open-Source-Hardware auf Präzisionsmesstechnik trifft – Die Geburt eines tragbaren μA-Strommessgeräts

Autor: DerSchneider


Einleitung: Ein unterschätzter Mess-Schmerzpunkt

In der Welt der eingebetteten Systeme und der Entwicklung von IoT-Geräten mit extrem niedrigem Stromverbrauch gibt es ein altes, aber hartnäckiges Problem: Wie misst man präzise Ströme im Mikroampere-Bereich (µA)? Herkömmliche Digitalmultimeter sind im Milliampere- und Ampere-Bereich hervorragend, aber an der empfindlichen µA-Grenze stoßen sie oft an ihre Grenzen – sei es durch den Eigenwiderstand des Messgeräts (Burden Voltage) oder durch mangelnde Auflösung und Genauigkeit. Die gängigen, preiswerten USB-Strommessgeräte vom Markt oder aus DIY-Projekten zeigen zwar oft beeindruckend viele Nachkommastellen an, doch diese sind in der Praxis häufig wenig aussagekräftig oder schlichtweg falsch, da ihnen ein durchdachtes Messkonzept fehlt.

Genau hier setzt das Open-Source-Projekt PowerPico an. Es ist weit mehr als ein einfacher USB-Strommesser. Es ist ein tragbares, hochpräzises Messinstrument für den Entwickleralltag, das µA-Ströme zuverlässig erfassen kann und gleichzeitig als programmierbare Spannungsquelle via PD/PPS-Stromversorgung fungiert. Dieser Artikel beleuchtet die technischen Hintergründe, die Entstehungsgeschichte und die Bedeutung dieses Projekts für die Entwickler-Community.


1. Das Herzstück: Eine dreistufige Messbrücke für höchste Ansprüche

Der entscheidende Unterschied zu einfacheren Strommessern liegt in der analogen Frontend-Schaltung. Während viele kostengünstige USB-Messgeräte lediglich einen einzelnen Shunt-Widerstand und einen einfachen Verstärker wie den INA226 verwenden, verfolgt PowerPico einen weitaus anspruchsvolleren Ansatz.

Die Kernproblematik bei der Strommessung ist der Zielkonflikt zwischen hoher Auflösung bei kleinen Strömen und geringem Spannungsabfall (und damit Verlustleistung) bei hohen Strömen. Ein einzelner, großer Shunt-Widerstand (z.B. 1 Ω) würde zwar µA-Ströme gut messbar machen, bei einem Strom von 1 A jedoch einen Spannungsabfall von 1 V verursachen – was völlig inakzeptabel ist. Ein sehr kleiner Shunt (z.B. 0,01 Ω) hingegen erzeugt bei µA-Strömen nur ein winziges Spannungssignal im Nanovolt-Bereich, das von einem einfachen Verstärker nicht mehr rauschfrei erfasst werden kann.

Die Lösung von PowerPico ist eine automatisch umschaltende, dreistufige Messschaltung. Diese verwendet mehrere Shunt-Widerstände unterschiedlicher Größe, die je nach Stromfluss per MOSFET umgeschaltet werden. Das schwache Signal wird dann von einem hochwertigen Instrumentenverstärker vom Typ INA190 verstärkt, der für seine extrem niedrigen Offsetspannungen und sein geringes Rauschen bekannt ist. Diese Kombination ermöglicht es, sowohl den Ruhestrom eines schlafenden Mikrocontrollers im Sub-µA-Bereich als auch den aktiven Betriebsstrom von mehreren Ampere präzise zu erfassen.

Messbereich (Beispiel)Eingesetzter ShuntVerstärkung (INA190)Erzielbare Auflösung
µA-Bereich (0 – 500 µA)Großer Widerstand (z.B. 100 Ω)Hohe Verstärkung< 0.1 µA
mA-Bereich (0.5 – 500 mA)Mittlerer Widerstand (z.B. 1 Ω)Mittlere Verstärkung< 0.01 mA
A-Bereich (0.5 – 3 A)Kleiner Widerstand (z.B. 0.05 Ω)Geringe Verstärkung< 1 mA

Die Umschaltlogik ist im Quellcode als Hysterese-Algorithmus implementiert. Dies verhindert ein unerwünschtes, schnelles Hin- und Herschalten (Oszillieren) zwischen den Messbereichen, wenn sich der Strom in der Nähe eines Schwellwerts befindet. Die Kunst liegt darin, diese Umschaltung „schnell, präzise und stabil“ zu gestalten – eine nicht-triviale Aufgabe, die der Autor durch die Offenlegung des Quellcodes zur Weiterentwicklung freigibt.


2. Mehr als nur Messen: Die PPS-Funktion als tragbarer Ersatz für Labornetzteile

Die zweite herausragende Eigenschaft des PowerPico ist seine Fähigkeit, als programmierbare Spannungsquelle zu fungieren. Dies wird durch den integrierten Chip FUSB302 ermöglicht, der den USB-PD-Protokoll-Stapel (Power Delivery) implementiert. Mit diesem Chip kann das PowerPico ein angeschlossenes USB-Netzteil aushandeln und in den PPS-Modus (Programmable Power Supply) versetzen.

PPS ist eine Erweiterung des USB-PD-Standards, die es erlaubt, die Ausgangsspannung in feinen Schritten (typischerweise 20 mV) und mit hoher Geschwindigkeit dynamisch zu verstellen. Das PowerPico nutzt dies, um dem Anwender eine einfache, aber effektive „Labornetzteil-Funktion“ zu bieten. Über die Tasten und das Display kann die gewünschte Spannung eingestellt werden, und das angeschlossene Netzteil liefert diese dann aus.

Ein wichtiger Sicherheitshinweis des Autors ist hier unbedingt zu beachten: Der Ausgang des Netzteils ist galvanisch nicht vom Eingang getrennt. Daher darf während der Nutzung dieser Funktion niemals ein teures Gerät wie ein Smartphone oder Laptop angeschlossen werden. Es besteht die Gefahr von Beschädigungen durch Überspannung oder versehentliche Kurzschlüsse. Diese Funktion ist ausschließlich für die Stromversorgung von Entwicklungsboards oder anderen, nicht kritischen Schaltungen gedacht.


3. Die Architektur: Ein durchdachtes System aus Hardware, Firmware und Software

Das PowerPico ist ein Paradebeispiel für modernes Systemdesign, bei dem Hardware, Firmware und eine PC-Software nahtlos zusammenspielen.

3.1 Die Hardware-Plattform

Das Herzstück bildet ein STM32F411CEU6 Mikrocontroller, der genügend Rechenleistung und Peripherie für die anspruchsvolle Aufgabe bietet. Die Kommunikation mit der PC-Software erfolgt über einen USB-CDC (Communications Device Class) Anschluss, der sich wie ein virtueller COM-Port verhält. Das Display ist ein 1,54 Zoll großer ST7789-basierter TFT-Bildschirm, der über eine SPI-Schnittstelle angebunden wird und mit der LVGL-Bibliothek eine moderne, grafische Benutzeroberfläche bietet.

Ein besonders durchdachtes Feature ist die duale Stromversorgung. Das PowerPico kann sowohl über den USB-Datenport als auch über den separaten Eingangsport mit Spannung versorgt werden. Eine Dioden-Verknüpfung verhindert dabei eine gegenseitige Beeinflussung. Der Autor weist jedoch explizit darauf hin, dass bei einer Versorgung über den Eingangsport der gemessene Ausgangsstrom nicht dem Eingangsstrom entspricht, da ein Teil der Energie vom PowerPico selbst verbraucht wird – ein wichtiger Punkt, der bei der Messung beachtet werden muss.

3.2 Die Firmware: Bootloader und App

Die Firmware ist in zwei Teile aufgeteilt: Einen Bootloader und die eigentliche App. Diese Architektur ermöglicht bequeme Firmware-Updates über den USB-Port, ohne dass ein spezieller Programmierer (wie ein ST-Link) benötigt wird. Der Bootloader belegt die ersten 48 kB des Flash-Speichers und prüft beim Start die Integrität der App. Die App selbst ist in einer übersichtlichen Struktur aus Hardware-Treibern (BSP), Echtzeit-Tasks (FreeRTOS) und der grafischen Benutzeroberfläche (GUI) organisiert.

3.3 Die PC-Software: PowerPico Client

Die eigens entwickelte PowerPico Client-Software, geschrieben in Python mit dem Framework PySide6, rundet das Paket ab. Sie bietet:

  • Echtzeit-Datenvisualisierung: Die vom PowerPico gesendeten Messdaten (Abtastrate 10 kHz) können grafisch dargestellt werden.
  • Datenaufzeichnung und -export: Messungen können protokolliert und für die weitere Analyse exportiert werden.
  • Geräte-Firmware-Update: Ein-Klick-Updates direkt aus der Software heraus.

Die Software ist in mehreren Sprachen verfügbar (Deutsch, Englisch, Japanisch, Chinesisch) und unterstreicht den internationalen Anspruch des Projekts.


4. Ein Blick in die Praxis: Messgenauigkeit im Test

Der Autor des Projekts hat die Genauigkeit des PowerPico mit einem hochwertigen SDM3055 6½-stelligen Labormultimeter verglichen. Die Ergebnisse sind beachtlich und belegen die Qualität des Designs. Die folgende Tabelle fasst die wichtigsten Werte zusammen:

Messwert SDM3055Messwert PowerPicoAbsolute AbweichungRelative Abweichung
52.03 µA52.05 µA0.02 µA0.4 %
518.84 µA518.4 µA0.44 µA1.0 %
5.22 mA5.29 mA0.07 mA1.3 %
469.3 mA482.7 mA13.4 mA2.9 %
1.78 A1.81 A0.03 A1.7 %
5.19 V5.24 V0.05 V1.0 %
15.20 V15.56 V0.36 V2.4 %
19.98 V20.17 V0.19 V1.0 %

Im unteren µA-Bereich, der für viele Low-Power-Anwendungen entscheidend ist, zeigt das PowerPico eine hervorragende Genauigkeit von unter 1 %. Auch im mA-Bereich sind die Werte für den praktischen Einsatz mehr als ausreichend. Die höheren Abweichungen im Ampere- und Hochvoltbereich sind für den Einsatzzweck akzeptabel, zeigen aber auch die Grenzen des Konzepts auf.


5. Herausforderungen und Fallstricke: Die Krux mit der Präzision

Der Autor weist in seiner Dokumentation offen auf mehrere Herausforderungen hin, die bei der Entwicklung und Nutzung eines solchen Präzisionsgeräts auftreten. Diese Ehrlichkeit ist ein Zeichen für ein ausgereiftes Projekt.

  1. Leckströme durch Kabel: Ein oft unterschätztes Problem sind Leckströme über die Kabel. Ein handelsübliches „USB-C auf Krokodilklemmen“-Kabel hat beispielsweise einen messbaren Widerstand zwischen der VCC- und der GND-Leitung, der zu einem konstanten, kleinen Fehlerstrom führt. Dieser muss entweder messtechnisch subtrahiert oder in der Software kalibriert werden.
  2. PCB-Verschmutzung: Bei Strömen im µA-Bereich können bereits kleinste Verunreinigungen auf der Leiterplatte, wie Flussmittelreste oder Staub, zu erheblichen Fehlern führen. Eine gründliche Reinigung der bestückten Platine mit Ultraschall und speziellen Reinigungsmitteln ist daher zwingend erforderlich.
  3. Mechanische Toleranzen: Die Passung zwischen PCB und dem 3D-gedruckten Gehäuse ist kritisch. Der Autor betont, dass nur eine Platinendicke von genau 1,6 mm verwendet werden darf, da sonst die Montage nicht möglich ist.

6. Fazit und Ausblick: Ein Werkzeug für die Community

Das PowerPico ist weit mehr als nur ein weiteres DIY-Projekt. Es ist ein durchdachtes, produktreifes Open-Source-Werkzeug, das einen echten Mehrwert für die Entwickler-Community bietet. Die Kombination aus hochpräziser µA-Strommessung, der praktischen PPS-Funktion und einer professionellen PC-Software macht es zu einem einzigartigen Hilfsmittel im Werkzeugkoffer eines jeden Embedded-Entwicklers.

Die vollständige Offenlegung der Hardware (Designfiles, Schaltplan) und der Software (Firmware, Client) unter der CC BY-NC-SA 4.0-Lizenz ermöglicht es anderen Entwicklern, von der Arbeit zu profitieren, eigene Erweiterungen zu bauen oder das System an ihre spezifischen Bedürfnisse anzupassen. Dies ist die Essenz von Open-Source-Hardware: Gemeinschaftliches Lernen und Fortschritt.

Die Zukunft des Projekts könnte durch die Integration von Funktionen wie einer automatischen Drift-Kompensation oder der Unterstützung weiterer Protokolle wie QC (Quick Charge) noch vielseitiger werden. Es bleibt spannend zu sehen, wie sich das Projekt in der Community weiterentwickelt.

Quellen:

  1. Projektseite von „no_chicken“ auf der Plattform OSHWHub: https://oshwhub.com/no_chicken/powerpico
  2. Persönliche Website des Autors „no_chicken“: https://no-chicken.com (für weitere Details, Client-Download und Hintergrundinformationen)
  3. Datenblatt des Operationsverstärkers INA190 von Texas Instruments.
  4. Datenblatt des USB-PD-Controllers FUSB302 von ON Semiconductor.
  5. Spezifikation des USB Power Delivery (PD) Standards, inklusive PPS (Programmable Power Supply).

Kommentar abschicken