Aus Raspberry Pi Geek 10/2022

Günstiger Strommesser auf Basis des Pi Pico im Eigenbau

© Adisak Ongsakun / 123RF.com

Verbrauchskontrolle

Bernhard Bablok

Der Chip INA219 misst über die I<+>2<+>C-Schnittstelle Spannungen und den DC-Stromverbrauch. Mit dem hier vorgestellten Aufbau analysieren Sie die Leistungsaufnahme Ihrer selbst entwickelten Schaltungen.

Für die kontinuierliche Messung von Spannung und Strom brauchen Sie kein teures Gerät wie das kürzlich vorgestellt SmartPower 3 [1]. Das dient zwar zusätzlich auch als stabile Stromversorgung, aber wenn Sie auf diese Funktion nicht angewiesen sind, dann geht es deutlich billiger. Dank fertiger Komponenten hält sich zudem der Lötaufwand in engen Grenzen. Ein Ziel des hier vorgestellten Strommessers war der Bau eines Messgeräts für kleine Lasten aus günstigen, verfügbaren Komponenten.

Der Artikel führt zuerst durch die Einkaufsliste, dann geht es an den Zusammenbau und die Installation der Software. Nachbauen ist zwar schön und gut, kreativer ist aber das Anpassen der Lösung an Ihre eigenen Bedürfnisse oder einfach nur an die Bauteile, die in der heimischen Bastelkiste herumliegen. Der letzte Abschnitt beschreibt deswegen die Funktionsweise der Software und zeigt, wo Sie bei Änderungen Hand anlegen müssen.

Shopping

Die Details zu den benötigten Komponenten finden Sie in der Tabelle “Einkaufsliste”. Die Angabe in der Spalte mit den Bezugsquellen bedeutet dabei nicht, dass es die Komponenten ausschließlich beim genannten Anbieter gibt.

Abbildung 1 zeigt den Aufbau auf einem Breadboard. Am linken Bildrand ist ein Trinkey QT2040 von Adafruit abgebildet, ein Raspberry Pi Pico in Minimalausführung. Adafruit reduziert hier die Schnittstellen auf eine I2C-Buchse (Stemma Qt), einen Button und ein NeoPixel. Wirklich empfehlenswert ist das Breakout nicht, mit einem echten Pico wären Sie flexibler. Für ein reines I2C-Projekt wie dieses eignet sich der QT2040 aber gut.

Komponente

Preis

Bezugsquelle

Pi Pico

4 Euro (Pico)

diverse Versender

INA219-Breakout

3,40 Euro (10,25 Euro bei Adafruit)

Berrybase

I2C-OLED-Display (128 x 64 Pixel, 0,96 Zoll)

6,50 Euro (einzeln), 3,50 Euro (im 5er-Pack)

AZ-Delivery und andere

SPI-TFT-Display (160 x 128 Pixel, 1,8 Zoll)

9 Euro (einzeln), 6 Euro (im 5er-Pack)

AZ-Delivery und andere

3×4-Touchpad mit MPR121

7 Euro

Paradisetronic (via Amazon Marketplace)

Abbildung 1: Der Projektaufbau auf Basis eines Raspberry&nbsp;Pi Pico und eines OLED-Displays mit 128&nbsp;x&nbsp;64&nbsp;Pixeln.

Abbildung 1: Der Projektaufbau auf Basis eines Raspberry Pi Pico und eines OLED-Displays mit 128 x 64 Pixeln.

In der Mitte des Bilds liegt das Breadboard. Links darauf sitzt das INA219-Breakout, dann eine Buchse für die Stromversorgung. In der Mitte sehen Sie einen OLED-Bildschirm mit 128 x 64 Pixeln. Rechts davon ermöglicht eine einfache Tastatur Eingaben.

Da die Software in CircuitPython implementiert ist, kann die Rolle des Pico auch ein ausgewachsener Raspberry Pi übernehmen. Der fällt zwar aktuell nicht in die Kategorie “verfügbar”, sollte aber bei den Lesern dieses Magazins vorhanden sein. Alternativ läuft das Programm auf allen ausreichend leistungsfähigen Mikrocontrollern mit CircuitPython-Unterstützung.

Die eigentliche Spannungs- und Strommessung übernimmt das erwähnte Breakout mit dem INA219-Chip. Der schleift einen 0,1-Ohm-Widerstand (auf 1 Prozent genau) in den Stromkreislauf ein und misst die Spannung vor und nach dem Widerstand. Aus dem Spannungsabfall berechnet er dann die Stromstärke. Das Breakout gibt es für wenig Geld, etwa bei Berrybase. Neben der einfachen Ausführung steht eine teurere Variante mit genauerem IC (INA219B) und mit zwei Stemma-Qt-Buchsen zur Auswahl (Abbildung 2). Ganz ohne Löten geht es trotzdem nicht ab, denn die Buchse für den Laststrom liegt nur lose bei.

Abbildung 2: INA219-Breakout von Adafruit zur Leistungs&uuml;berwachung.

Abbildung 2: INA219-Breakout von Adafruit zur Leistungsüberwachung.

Der Messbereich des Chips fällt abhängig vom verbauten Widerstand relativ groß aus. Bei 0,1 Ohm reicht er bis 32 Volt Spannung und 2 Ampere Stromstärke. Der Messwiderstand liegt prominent auf dem Breakout und lässt sich leicht austauschen. Für höhere Stromstärken benötigen Sie einen Widerstand von 0,2 Ohm. Bedenken Sie, dass die Genauigkeit des Widerstands die Genauigkeit der Messung limitiert. Bei solch kleinen Widerstandswerten ist darüber hinaus sauberes Arbeiten nötig.

Zur Ausgabe der Messwerte kommt ein kleines OLED-Display mit einer Auflösung von 128 x 64 Pixeln zum Einsatz, das über den I2C-Bus angeschlossen ist. Die Software unterstützt alternativ die nur wenig teureren 1,8-Zoll-SPI-TFT-Displays mit 160 x 128 Pixeln (Abbildung 3). Das I2C-Display lässt sich jedoch leichter verkabeln, und auch die Größe reicht völlig aus. Falls Sie einen RasPi statt eines Pico nutzen, brauchen Sie allerdings das TFT-Display, denn auf dem Raspberry Pi unterstützt CircuitPython die kleinen OLEDs noch nicht. Bei den Displays fällt kein Lötaufwand an, da die Breakouts in aller Regel schon eine eingelötete Pin-Leiste besitzen.

Abbildung 3: Die zwei Displays im Vergleich: links der I<sup>2</sup>C-OLED-Bildschirm und rechts das gr&ouml;&szlig;ere SPI-TFT-Display.

Abbildung 3: Die zwei Displays im Vergleich: links der I2C-OLED-Bildschirm und rechts das größere SPI-TFT-Display.

Die Steuerung des Aufbaus übernimmt eine kleine Tastatur. Die Wahl fiel auf eine 3×4-Touch-Tastatur mit MPR121-Chip (Abbildung 4). Der Sensor der Platine ist empfindlich genug für eine eigene, aufgeklebte Tastenbelegung. Eine Vorlage zum Ausdrucken gibt es im Repository des Projekts. Dank I2C ist der Anschluss ein Kinderspiel.

Abbildung 4: Das touchf&auml;hige 3x4-Keypad mit kapazitiven Tasten.

Abbildung 4: Das touchfähige 3×4-Keypad mit kapazitiven Tasten.

Bei dem orangefarbenen Block im oberen Teil von Abbildung 1 handelt es sich um einen Lastwiderstand. Er gehört nicht zur Schaltung und dient hier nur der Überprüfung der Messwerte. In realen Anwendungsszenarien sitzt an dieser Stelle die Schaltung oder Komponente, die gemessen werden soll. Haben Sie keinen Lastwiderstand zur Hand, müssen Sie vorsichtig sein, denn normale Widerstände sind nicht für große Leistungen spezifiziert.

Verkabelung

In der Variante mit I2C ist die Verkabelung sehr einfach: Sie verbinden alle SDA– und SCL-Pins, hinzu kommen Strom vom 3V3-Pin und der Masseanschluss. Mit vier Geräten am I2C-Bus braucht es noch ordentliche Pullup-Widerstände, denn die eingebauten Pullups des RasPi beziehungsweise Pico sind zu schwach. Beim Autor funktionierten 1K-Widerstände gut.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben