Stromverbrauch eines Boards ermitteln

Hallo,

womit kann man denn den Stromverbrauch eines Arduino/Adafruit-Boards mit angeschlossenen Sensoren, Funkmodul, SD-Kartenreader usw. am besten messen und ggf. protokollieren?

Bei Adafruit werden immer Bilder von einer "Power Tool"-Software gezeigt, welches auf diesem Power-Monitor-Hardwaresystem basiert: https://www.msoon.com/online-store

Ist allerdings nicht gerade kostengünstig. Gibt es andere Möglichkeiten?

Was hat es auch mit dem VOUT-Pin bzw. A0-Pin einiger Boards auf sich? Kann auch darüber der Stromverbrauch bestimmt werden?

Vielen Dank.

Wenn es nicht teuer sein darf, kaufst du dir ein preiswertes Vielfachmessinstrument, mit dem du den Strom deines Projektes messen kannst.

Für alles weitere kannst du entsprechende Stromsensoren einbauen und diese mit dem Arduino auslesen und die Daten auf eine SD-Card speichern.
Z.B. den ACS712.

Hi

Protokolieren - schwieriger - Du kannst aber eine bekannte Menge Strom - z.B. eine unter Aufsicht geladene Akku-Zelle - als Versorgung nehmen und den Arduino alle ms die aktuelle Laufzeit (in ms ... also millis() ) in einem FRam schreiben lassen.
Aus der Laufzeit kannst Du den Durchschnittsstrom berechnen.
FRam, weil Dieser 'sau schnell' ist, beliebig oft beschreibbar ist und auch ohne Spannungsversorgung die Daten behält - ähnlich einem EEprom, nur in Schnell und unkaputtbar.

Irgendwelche Peaks wirst Du eh kaum mit dem Arduino selber erfassen können - auch Du kannst nur dann einen Wert erkennen, wenn Du selber guckst - dem Arduino geht's nicht anders und in der Zwischenzeit, also zwischen den einzelnen Erfassungen, kann sonst was Strom fressen - Es wird Dir nicht auffallen.

MfG

Vielen Dank für die Infos und Ideen. Etwas Geld kann schon ausgegeben werden. Gibt es fertige Lösungen zum Messen und Protokollieren am PC wie beispielsweise der erwähnte Power-Monitor (https://www.msoon.com/online-store)? Wonach müsste ich suchen? Budget wäre bis 400 Euro. Eine fertige, möglichst einfach nutzbare Lösung ist uns an der Stelle lieber als eine Eigenentwicklung.

Gruß Tobias

t_0_b_1:
Budget wäre bis 400 Euro. Eine fertige, möglichst einfach nutzbare Lösung ist uns an der Stelle lieber als eine Eigenentwicklung.

Für 400 € kannst Du die Messung des Energiebedarfs wahrscheinlich als Auftragsarbeit erledigen lassen.

Deutlich günstiger kommst Du hin, wenn Du z. B. via Ebay ein High-End-Messgerät kaufst.

Wenn es ums Protokollieren geht, hilft evtl. mein Weekender zur Akku-Ladekurve.

Gruß

Gregor

Auftragsarbeit ist keine Option. Wir wollen die Möglichkeit besitzen, öfters Messen und Protokollieren zu können. Das Protokollieren ist daher schon wichtig, ansonsten würde wirklich ein günstiges Multimeter genügen. Wenn jemand Tipps für gute Geräte hat, nur her damit.

Gruß Tobias

Hallo Tobias,

"öfters messen und protokollieren" ist ein sehr dehnbarer Begriff.
Was sind denn die Erwartungen an das Messgerät?
Was muss es unbedingt können, was optional. (Ampere, Volt, SPS [Samples per Second], welche Größenordnungen, Genauigkeit) ...
Sind die Protokolle informatorisch, oder müssen die irgend einem Standard entsprechen.
Was ich rauslese ist, daß ihr mit dem Arduino o.ä. was baut, was gemessen werden muss.
Für einfache Sachen geht da sogar ein Arduino ...

Gruß André

t_0_b_1:
Auftragsarbeit ist keine Option. Wir wollen die Möglichkeit besitzen, öfters Messen und Protokollieren zu können.

Das ist natürlich ein gutes Argument.

In verhältnismäßig günstigen Volt-/Amperemetern (es gibt ziemlich billige Fertigmodule für Kfz) wird das AFAIK über einen Shunt gemessen. Soweit ich weiß, ist ein Shunt ein ziemlich kleiner Widerstand, der eine hohe Last verträgt. Es wird einfach gemessen, welche Spannung dort abfällt.

Mit einem Arduino sollte sich das hervorragend realisieren lassen. Aus den Messwerten ein Protokoll oder eine Kurve zu machen ist nur ein Klacks. Wenn es nicht um absolute Präzision geht sondern „nur“ um vergleichbare Kurvenverläufe, sollte das sehr einfach gehen.

Gruß

Gregor

PS: Vom gesparten Geld schaffst Du einen 3D-Drucker an und machst ein hübsches Gehäuse :slight_smile:

Hallo
Shunt ist schon mal richtig, allerdings soll ja eine möglichst kleine Spannung an den Shunt abfallen.irgendwas um die 0,1 Volt wäre sicher gut. Schliesslich geht das letztlich von der Spannung ab mit der du das zu messende Board versorgen willst.

Wenn der Messbereich jetzt sagen wir mal 200mA sein soll , muss der Shunt einen Widerstand von R=U/I 0.1/0.2 = 0.5 Ohm sein

Leistung des Widerstandes ist in dem Fall vernachlässigbar.

Damit der Uno mit seinem 5V Messbereich da was gescheites messen kann sollte man noch einen OP davor schalten der aus den 100 mV dann 5 Volt macht.

Für kleinere Ströme muß der Shunt Widerstand grosser werden . Die Verstaekung des OP würde ich nicht grosser machen ,das brummt dann nur.

die Messwerte kannst du dann mit dem Monitor aufzeichnen und mit Excell auswerten
Oder auch auf eine SD Karte schreiben .

Heinz

Danke für die Anregungen. Die Möglichkeit, sich selbst etwas zu "basteln", ist schon interessant und werde ich sicher irgendwann in Angriff nehmen aber aktuell ist mir eine fertige Lösung lieber.

Was ich rauslese ist, daß ihr mit dem Arduino o.ä. was baut, was gemessen werden muss.

So ist es. Letztlich wollen wir den Stromverbrauch erfassen und beispielsweise erkennen, wie hoch dieser ist, wenn ein Sensor angesprochen, per Funk Daten gesendet, oder auf SD-Karte geschrieben wird usw.. Letztlich mit dem Ziel, benötigte Akkukapazitäten abschätzen zu können. Wohlwissentlich, dass da auch andere Kriterien Einfluss darauf haben.

Das Gerät sollte daher mindestens Spannung und Stromstärke messen können. Ausgelegt auf Elektronik wie Arduinos, Feather, Raspberry Pi, ...

Mit den Genauigkeiten kenne ich mich nicht wirklich aus. Aber beim Anwendungsfall geht es denke ich nicht um super hohe Genauigkeiten. Die Protokolle müssen keinem Standard entsprechen. Ich denke Hauptsache die Daten werden aufgezeichnet, am besten lässt sich das auch Live am PC verfolgen und eventuell direkt mit Diagramm.

Gruß Tobias

Hi

Das wird mit digitaler Erfassung Nichts - gerade das Versenden einzelner Nullen und Einsen (also die Bits) geschieht so schnell, daß der Arduino Das nicht wirklich erfassen kann.
Vll. noch bei 9600 Baud - drüber aber wohl nicht wirklich. (~ 1ms pro Bit)

Du müsstest den Strom mitteln, also eine Schaltung dazwischen setzen, Die Dir Spikes mit einbezieht.
Gedanklich bin ich Da bei einem Spannungsfolger, Der einen Kondensator 'gemächlich' lädt (oder entlädt) - diese Spannung sollte das Äquivalent zu Deinem Shunt-Strom sein.

Ohne Shunt kann man auch per Hall-Sensor den Strom erfassen, Platinen dafür gibt's u.A. auf eBay, ACS712 5A Stromsensor Analog Current Hall Sensor
Dort wäre zu Prüfen, wie schnell die Sensoren sind, ob Die einen Peak erfassen oder gar bereits einen gemittelten Wert ausgeben (habe so Sensoren zwar hier rumliegen, aber noch nicht wirklich mit gespielt, sollen Mal an einen Solar-Akku).

Die gemittelte Spannung (=Strom-Äquivalent) dann regelmäßig (zu festen Zeiten) auslesen und aufaddieren.
Wenn Du eine Sekunde 1A misst, hast Du eine Kapazität von 1As 'gezählt'.
Bei entsprechend mehr Messungen pro Sekunde wird halt entsprechend weniger pro Durchgang aufaddiert.

MfG

Schau Dir mal diese Seite an, evtl. findest Du Anregungen.
Dass Du sowieso intergrativ (also über einen Zeitraum) messen musst, sollte klar sein.

Wenn Du bestimmte Zustände bewerten willst, dann darfst Du keinen Normalbetrieb messen, sondern den maximal möglichen Betrieb genau dieses Zustands.
Den kannst Du dann zu den anderen Zuständen in Relation setzen und daraus Verhältnisse ableiten.

Gruß Tommy