Digitale Strom-/Verbrauchs-Messung vom Raspberry

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich hab mir vor kurzem dieses nette Teil gegönnt: Adafruit USB Power Gauge Mini-Kit

    Das Teil mist den Strom/Volt/Watt die das angeschlossene Gerät schluckt/benötigt/zieht.

    Auf dem PCB ist ein kleiner ATtiny85 verbraut, den man über die ausgeführten ICSP Pins flashen kann. Der Quellcode wurde >> hier << veröffentlicht (besteht aus 3 Dateien die alle benötigt werden)

    &quot;adafruit_usbpowergauge.ino&quot;
    &quot;analog.cpp&quot;
    &quot;charlie.cpp&quot;

    Nun aber zu meinem Anliegen:

    Ich hab das USB-mini-Gauge Teil auf der einen Seite in eine USB-PowerBank gesteckt, und auf der anderen Seite in den microUSB meines RaspberryPI-B.
    Im Raspberry steckt ein Edimax WLAN Stick der auch aktiv ist, eine RaspiCam, und ein Arduino Mega2560.

    Nun hab ich den TX und GND des USB-mini-Gauge Teils in einen 2. RaspberryPI (also einen anderen!) gesteckt um die Ausgabe anzuzeigen:

    Und jetzt meine Frage:

    Müsste der PI bzw mein Konstrukt nicht viel mehr benötigen/schlucken?
    Misst das Teil mist?
    Kann man den Code irgendwie optimieren sodass das nicht mehr so arg schwankt?

    :helpnew:

  • Du erinnerst dich vielleicht, dass ich vor mehreren Monaten Mal (in einem anderen Thread/Zusammenhang) eine Strommessung des RasPi mit einem Digi-Oszi gemacht habe...

    Auf den Bildern ist schön die "zappelnde" Stromaufnahme zu sehen.
    Wenn dein Gauge jetzt zu langsam abtastet (Abtasttheorem), sehen die Werte zappelig aus... (Was sie eigendlich auch sind, da aber kein Oversampling stattfindet, tastest/siehst du zufällig ermittelte Werte im Stromverlauf).

    Eine Mittelwertbildung könnte schon helfen, oder die Abtastfrequenz (Probetime) erhöhen...

    Mein Oszi hat eine Samplingfrequenz von 100MHz, ich denke mal, der/das/die Gauge ist nicht so schnell...

    Mfg, Zentris


  • Du erinnerst dich vielleicht, dass ich vor mehreren Monaten Mal (in einem anderen Thread/Zusammenhang) eine Strommessung des RasPi mit einem Digi-Oszi gemacht habe...

    Auf den Bildern ist schön die "zappelnde" Stromaufnahme zu sehen.

    Dh. diese Schwankungen sind normal?

    Ist es denn auch normal das der Strom Bedarf so niedrig ist? Müsste der nicht viel höher sein?

    Mein Oszi hat eine Samplingfrequenz von 100MHz, ich denke mal, der/das/die Gauge ist nicht so schnell...

    Vermutlich, ja, der Gauge hat ja auch nur einen ATtiny85 mit 8MHz verbaut :D

  • "Mist das Teil misst?"

    wer misst misst Mist und wer viel misst misst viel Mist!

    EDIT
    Der Spruch stammt von meinem Ausbilder und soll sagen das man dem Gemessenen immer kritisch gegenüber stehen sollte, ohne die Bedingungen zu kennen und was man erreichen will ist Messen unmöglich.

    Ein PI z.B. macht einige hundert Millionen Operationen pro Sekunde und so wird sich mit jedem schaltenen Transistor im PI der Strom ändern, wie soll das mit wenigen 1000 Messungen pro Sekunde klappen? Dazu kommt das Strom und Spannung nicht zeitgleich gemessen werden was aber die Voraussetzung für das Leistungsprodukt ist, was soll Strom zur Zeit X mit Spannung zur Zeit Y multipliziert denn ergeben ausser Mist?

    (es gibt einen Meldebutton falls dir der Text nicht genehm ist, also unterlasse deine frechen PNs)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (10. Dezember 2014 um 11:23)

  • unterlasse du deine kommentare in meinen threads, dann unterlasse ich es das ganze über PN klären zu wollen.
    auch dein editierter beitrag ist schwachfug hoch 10. demnach sind sämtliche messungen falsch und absolut jeder misst mist - nur mit ausnahme von vermutlich dir, wa? *kopf meets tisch!*

    • Offizieller Beitrag

    jar
    Das ist "Off-Topic" und hilft nicht zur Problemlösung. Bitte unterlassen. Nachfolgender Offtopic wird kommentarlos gelöscht.

    Also zurück zum eigentlichen Problem und geht respektvoller miteinander um! ;)

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Einmal editiert, zuletzt von ps915 (10. Dezember 2014 um 11:49)


  • Und jetzt meine Frage:

    Müsste der PI bzw mein Konstrukt nicht viel mehr benötigen/schlucken?
    Misst das Teil mist?
    Kann man den Code irgendwie optimieren sodass das nicht mehr so arg schwankt?

    :helpnew:

    Hi,
    Der PI läuft ja nicht immer mit 100% Last. Dementsprechend wird auch die Stromaufnahme variieren. Dazu kommt dann noch die wahrscheinlich etwas größere Ungenauigkeit des Messmittels.
    Pack das mal an einen Verbraucher welcher Konstant einen definierten Strom zieht und schau mal wie ungenau das Teil ist.
    Ich habe auch ein paar "Schätzeisen" hier ;)

    Ansonsten nettes Teil für kleine Maus.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Hm naja der PI ansich müsste aber ja auch schon mit "nichts zu tun" umdie 600mA ziehen. :denker:
    Dann käme noch die RaspiCam mit ca. 150mA hinzu, der Edimax Stick mit ca. 100mA und der Arduino schluckt ja auch noch was (der hat auch was zu tun, woran auch haufenweise Sensoren angeschlossen sind)

    Deshalb wundere ich mich halt über einen Wert von nur ~600mA


    Mir fällt gerade kein USB-Verbraucher ein der einen Konstante Strombedarf hätte :s Und den ich auch habe...
    Vielleicht ein Arduino Nano der mir Star_Wars_-_The_Imperial_March.wav abspielt?

  • Siehst ja an meinen Messungen damals, wie gering der RasPi Stromverbrauch (incl. eines Edimax WLAN-Stick) ist... , die Stromstärke kann man ja am kalibrierten Oszi anzeigen lassen...

    Die Stromspitzen, die ich damals vermessen habe, kommen m.M. nach vom Edimax: da wird vermutlich in regelmäßigen Abständen was gesendet (Bake, Nutzlast, irgendwelches ARP Zeuchs) und wenn die Sendestufe einschaltet, dann braucht die halt ein paar mA...

    Wechselnde CPU Load hab ich damals auch vermessen... war aber nicht so dramatisch... wohl so um die +- 100mA zwischen "Leerlauf" und "100"% CPU Load... das Ganze ist hochdynamisch...

    Aber ja: der RasPi braucht nicht viel Strom, ein 700-1000mA NT tut locker, wenn es in der Lage ist, die Stromspitzen auszuregeln und dabei die Spannung nicht unter ca. 4,7V fällt... wir hatten schon längliche Threads dazu ;)

    Mfg, Zen


  • jar
    Nachfolgender Offtopic wird kommentarlos gelöscht.


    hast 3 Wochen Zeit alle meine 5,455 Beiträge zu löschen.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • OT: (kannst meinetwegen auch löschen, aber vielleicht leist es ja wenigsten einer :) )

    ps915 (aka Cheffe): Lass mal bitte den Dampf aus diesem Gezerre:
    Das jar so reagiert liegt, wie immer, nicht nur an ihm: Da gibt es auch noch mindestens einen weiteren Part (du weisst schon).

    Hier hat sich ein gegenseitiges Beschimpfen aufgeschaukelt, was diesem Forum nicht zuträglich ist.
    Aber das ist _nicht_ nur jar's Schuld, der Betreffende zeichne sich auch nicht gerade durch sozial durchdachte Umgangsformen aus. Ich hatte da auch schon so meine Theads...

    Und weil er nun offensichtlich deine Gunst hat, darf er sich alles erlauben?
    Schalt mal bitte zurück... mit deinen Löschdrohungen... das ist doch Kinderkram...

    Ich persönlich fände es SEHR schade, wenn jar das Forum verlassen würde: Seine Beiträge sind sehr hochwertig, er ist ein Bastler alter Schule...
    Mein Gott, habt ihr alle die Weisheit mit Löffeln gefressen? Auch irren muss mal erlaubt sein, ohne dass es Leute gibt, die einen gleich hämisch zutexten und bloßstellen...

    Hier sollte auf allen Seiten mal 2 Stufen Dampf abgelassen werden, einfach so. Etwas großzügiger im Umgang... Oder einfach mal die "Ignore" Maske über den Schirm...

    Naja,
    so jetzt kannste den OT wieder löschen... (Dampf ab)

    LG, Zen


  • ps915 (aka Cheffe): Lass mal bitte den Dampf aus diesem Gezerre:
    Das jar so reagiert liegt, wie immer, nicht nur an ihm: Da gibt es auch noch mindestens einen weiteren Part (du weisst schon).

    Soweit ich das mitgekriegt habe, gibts hier nur zwischen jar und mir "Gezerre". Wieso also in Rätseln schreiben und das Kind nicht beim Namen nennen?

    Es gab schon mehrere Anläufe dies zu beseitigen... Was letztlich aber leider (noch) nicht funktioniert hat.

    Die Betroffenen wissen mehr als Ihr Außenstehenden.
    Es gab unzählige Vermittlungsversuche usw wovon Du nichts mit gekriegt hast. Dennoch scheinst du zu denken diese Angelegenheit beurteilen zu können? (leider nicht neutral sondern auch voreingenommen)

    jar hat sogar zuletzt öffentlich geschrieben das er eine "administrative Anweisung dem anderen aus dem Weg zu gehen" hat... Nur leider hat jar genau das in einem meiner Thread abgelassen und damit eindrucksvoll unter Beweiß gestellt das Er sich daran nicht halten kann/will.

    Desweiteren stichelt er Mich die ganze Zeit an sobald ich mal irgendwas über Spannung/Strom schreibe, schreibt dann nur dass das was ich geschrieben hätte nicht stimmen würde aber er ansonsten dazu nichts weiter sagen wolle da ja bereits der Meister-der-Ströme (ich) dazu was geschrieben hätte ...

    Und ich glaube hier passt Deine Aussage recht gut zu: "Das [...] so reagiert liegt, wie immer, nicht nur an ihm"

    Es gäbe noch etliche Beispiele die ich auflisten könnte in denen aus meiner Sicht jar einen nicht zu verachtenden Teil dazu beiträgt das Wir nicht gut aufeinander zu sprechen sind...

    Von daher kann ich jetzt nicht wirklich nachvollziehen wieso Du (Zentris) mich nun als den alleinigen Sündenbock darzustellen versuchst?

    [...] der Betreffende zeichne sich auch nicht gerade durch sozial durchdachte Umgangsformen aus.

    Dieses "Lob" gebe ich an dieser Stelle gerne Zurück.

    Und weil er nun offensichtlich deine Gunst hat, darf er sich alles erlauben?

    Ich glaube nicht das ps915 sich überhaupt auf eine der Seiten stellen möchte. Jeder wird hier gleich behandelt. Jeder wird zurecht gewiesen wenn er sich "nicht fürs Forum zuträglich" benimmt.

    Auch irren muss mal erlaubt sein [...]

    Hier sollte auf allen Seiten mal 2 Stufen Dampf abgelassen werden, einfach so. Etwas großzügiger im Umgang...

    Diese Aussage gefällt mir (wirklich). Leider sehen das - selbst der Verfasser - nicht alle so, sondern sind zudem auch noch extrem Nachtragend...


    .... Nur schade das für sowas wiedermal einer meiner Threads missbraucht wird ....

  • Es ist doch immer wieder lustig zu sehen, dass sich seit FIDO-Zeiten nichts geändert hat. Immer noch liefern sich Regulars Flame-War's und fühlen sich wegen jeder Meinungsverschiedenheit angesickt anstatt sich auf rein sachlicher Ebene zu begegnen. Schade eigentlich ... Aber auch in gewisser Weise beruhigend [emoji6]

  • Da ja der "Adafruit USB Power Gauge Mini-Kit" aus dem ersten Beitrag nur das Anzeigt was das angeschlossene Gerät schluckt/benötigt/zieht, habe ich mich mir jetzt mal den 2.Teil meiner Adafruit Bestellung angeschaut:
    INA219 High Side DC Current Sensor Breakout - 26V ±3.2A Max

    Im Prinzip läuft es so ab das der INA219 in Reihe zwischen den Pluspol angeschlossen wird.
    Ein Kabel kommt vom PowerSupply, geht auf V+ am INA219 und V- geht dann zum Verbraucher. Also: V+ = Eingang von Batterie. V- = Ausgang zum Verbraucher. GND muss gemeinsam zusammengeführt werden.

    Wichtig ist dass das Modul mit nur 3V3 betrieben wird (VCC) da sonst die I2C Ausgänge nicht auch 3V3 ausgeben sondern 5V. Wenn man nur 5V für VCC zur Verfügng hat brauch mal also noch einen Levelshifter um es gefahrlos an den PI anschließen zu können!


    Da ich aber den RaspberryPI verwenden will, benötige ich also keinen Arduino-Sketch sondern etwas anderes. Da bietet sich Python an, was ich auch promt gefunden habe: https://github.com/scottjw/subfact_pi_ina219


    Als PowerSupply habe ich neue/frische 3x AAA Batterien (Panasonic Pro Power, 1.5V 1250mAh, LR03 über Amazon [Anzeige]) in diesem Batteriehalter [Anzeige] angeschlossen

    Um I2C verwenden zu können muss man zuerst noch die Kernel Module einrichten. Was dabei zu beachten ist wird >> hier << beschrieben.

    Wurden die i2c Module geladen, und das INA219 Modul unverändert angeschlossen, sollte es beim Ausführen von i2cdetect -y 1 mit der Standard Adresse 40 aufgeführt werden.

    Nun läd man sich über git die Python Scripts:

    Code
    git clone https://github.com/scottjw/subfact_pi_ina219 INA219
    cd INA219


    Zunächst als Verbraucher eine Grüne LED (mit 2 x 820 Ohm als Vorwiderstand)

    Jetzt sollte beim ausführen von zum Beispiel ina219_example.py folgende Ausgabe kommen:

    Code
    Shunt   : 0.640 mV
    Bus     : 4.608 V
    Current : 6.000 mA

    Shunt = Reads the voltage between V- and V+. This is the measured voltage drop across the shunt resistor.
    Bus = Reads the voltage between GND and V-. This is the total voltage seen by the circuit under test. (Supply voltage - shunt voltage).
    Current = Reads the current, derived via Ohms Law from the measured shunt voltage.


    Messung alle 0.5 Sekunden durchführen:

    Code
    while true; do python ina219_example.py; sleep 0.5; done


    Ausgabe:

    Spoiler anzeigen


    Schließe ich nun aber als Verbraucher einen nackten Arduino Nano an sieht die Ausgabe wie folgt aus:

    Hier verwirrt mich die hohe Current, die Batterien haben á nur 1250 mAh. Da die Batterien in Reihe geschaltet sind addiert sich doch nur die Volt :denker:

    Also wie kommen 11000 bis 14000 mA zustande :s


    :helpnew:


    //EDIT: Verwende ich als PowerSupply dieses Breadboard 3.3V/5V Power Supply Module [Anzeige] was auf 3V3 gejumpert ist und über den 2A Ausgang meiner PowerBank versorgt wird, sieht die Ausgabe so aus:

    Spoiler anzeigen

    Verbraucher -> LED:

    Verbraucher -> Arduino Nano v3:


    PS: Wenn kein Verbraucher an INA219 angeschlossen ist zeigt der "Adafruit USB Power Gauge Mini-Kit" einen Verbrauch von 11 bis 15mA an, was aber auch das Breadboard-PowerSupply beinhalten wird... Wenn ich die LED anschließe zeigt er ~140mA an. Schließe ich den Arduino an merkt man das kaum: 20mA

    Ist der Bedarf der LED vielleicht zu niedrig?

  • Das heißt meine PowerBank liefert über den 2A Port nur 2mA ? :D
    (siehe Spoiler nach dem EDIT)

    Trotzdem kanns doch nicht sein das die vollen Batterien dann nur 11mA liefern :huh:

  • Hm ... ich denke, das passt schon irgendwie ...
    11mA - warum nicht. Wenn nicht mehr verbraucht wird ...
    Andererseits sind 140 mA für eine LED schon ganz schön heftig :) ... ist das eine Halogen-LED :D

    Ich glaub, da wirst Du ein bisschen mit bekannten Verbrauchern und Werten experimentieren müssen.

    //EDIT: jetzt, nachdem ich's geschrieben hatte, fiel mir was ein: für die LED wäre 14 mA ein plausibler Wert. Hast Du da die Sourcen zu dem Programm? Kann es sein, dass da ein Kommaverschieber (Faktor 10) vorliegt?


    cu,
    -ds-

  • Da ich mich in letzter Zeit ein wenig mit elektronischen Bauteilen beschäftigen musste,
    traue ich mich mal hier einen Vorschlag zu machen:

    Würde ein entsprechend dimensionierter Kondensator zwischen Pi und Gauge nicht die Schwankungen ausgleichen?

    Nicht böse sein, wenns kompletter Schwachsinn ist.

    Kolja

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!