Pi 3 über Li-Ion Akku / Low Battery

  • Hallo,

    in einem aktuellen Projekt versorge ich einen Pi 3 B aus LiIon Akkus über ein Adafruit Powerboost 1000C Board. Das Powerboost Board hat einen LBO (Low Battery Out) Pin der zwischen 3,2 und bis zu 4,2V ausgibt (der Pin hängt direkt am JST Connector des Boards, schleift also die Spannung des Akkus durch). Erkennt das Powerboost Board 'Low Voltage', dann fällt der LBO Pin auf 0V ab.

    Das ich den LBO Output des Boards nicht direkt an einen GPIO des Pi 3 B anschließen kann ist klar. Daher die Frage: Wie bekomme ich die (bis zu) 4.2V des LBO Pins so unter Kontrolle, dass ich sie an einen GPIO des Pi hängen kann um den Pi dann - sagen wir bei 3,3V - automatisch herunterfahren zu lassen?

    Einmal editiert, zuletzt von doing (4. Oktober 2016 um 17:35)


  • Wie bekomme ich die (bis zu) 4.2V des LBO Pins so unter Kontrolle, dass ich sie an einen GPIO des Pi hängen kann um den Pi dann - sagen wir bei 3,3V - automatisch herunterfahren zu lassen?


    Wenn Du Werte zwischen 3,3V und 4,2 V unterscheiden willst, so wirst Du um eine Art Komperator oder Analogmessung nicht umhin kommen. Vielleicht gelingt ein Konstrukt mit einem Schmitt Trigger oder OP...
    Willst Du lediglich zwischen 4,2V/3,2V<->0V unterscheiden, dann wäre der einfachste Weg ein Vorwiderstand mit 3,2V Zenerdiode. Ähnlich einem Spannungsteiler geschaltet, zieht die Diode die Spannung auf 3,2V runter, der Strom wird durch den Widerstand begrenzt. Allerdings fließt aber eben ein gewisser Strom, der den Akku auch leernuckelt.


  • Wenn Du Werte zwischen 3,3V und 4,2 V unterscheiden willst, so wirst Du um eine Art Komperator oder Analogmessung nicht umhin kommen.

    Dann sollte das doch mit einem Logic Level Shifter und einem MCP3008/MCP3208 gehen um die LBO Werte mit dem Pi auszulesen, den Zustand des Akkus über LED anzuzeigen und den Pi bei erreichen eines definierten Wertes herunter zu fahren. Oder übersehe ich etwas?

  • Irgendwas mit dem Powerboost 1000C ist eigenartig... :(

    Laut Doku soll der LBO Pin zu BAT hochgezogen werden. BAT wiederum soll direkt am JST Connector des Akkus hängen.

    Zitat

    LBO - not a leveraged buy out! this is the Low Battery Output. By default it is pulled high to BAT but when the charger detects a low voltage (under 3.2V) the pin will drop down to 0V. You can use this to signal when its time to shut down or alert the user that the battery is low. There is also a red LED connected to this pin.

    Zitat

    BAT - this is the battery input, connected directly to the JST connector. For most Lithium batteries, this will range from 3.0V when near-dead to 4.2V when fully-charged. Higher voltages will let you draw more current and in general, are more efficient. Try to keep the wires going to this pin nice and short - 3" or less is best!

    Messe ich den LBO Output mit dem Multimeter, dann hat der unerwartete 4,80V - der BAT Output hingegen 3,8V (was ja mit dem Akku am JST Connector passen würde).

    Um die Spannung des Akkus mit dem Pi auszulesen werden ich dann wohl BAT nutzen müssen.

  • Was ich auch nicht peile:

    An einem Logic Level Shifter habe ich auf der High Seite 5.0V als Referenzspannung anliegen (vom Powerboost Output, der ja auch den Pi mit Strom versorgt) und auf der anderen Seite des Logic Level Shifters die 3.3V vom Pi, die ich am Ende für die GPIO brauche. Auf der High Seite des Level Shifters kommen aktuell noch 3.62V vom BAT Output des Powerboost an. Auf der Low Seite des Level Shifters liegen aber immernoch 3.34V an und kein schwächerer Wert (entsprechend der Differenz zwischen Referenz- und Eingangsspannung des Level Shifters auf der High Seite)...

    :s

  • Ich setze das hier mal auf erledigt.

    Nicht das mein Problem wirklich erledigt ist, aber ich hatte Zeit den Strombedarf meines fertigen PiBrick nochmal zu überschlagen (besser spät als nie). Die Kombination aus Pi 3 B (bis zu 700 mAh wenn er was zu tun hat), RaspiDisplay (~500 mAh), RaspiCam (~250 mAh), onOboard WiFi und Blauzahn (auch gerne mal ~100 mAh) sowie ein paar anderer Kleinigkeiten wie Status LED etc. benötigt bis zu 1500 mAh. Das bekommt das Powerboost 1000C Board leider nicht gebacken... mal sehen wo ich das verbraten kann.

    Aber: Vielleicht kennt einer von Euch ein Board mit Charger und StepUp das mit mindestens 1000 mAh (gerne auch mehr) laden und bis zu 2500 mAh liefern kann (entsprechendes Netzteil vorausgesetzt)?

    Einmal editiert, zuletzt von doing (6. Oktober 2016 um 17:56)

  • Die Kombination aus Pi 3 B (bis zu 700 mAh wenn er was zu tun hat), RaspiDisplay (~500 mAh), RaspiCam (~250 mAh), onOboard WiFi und Blauzahn (auch gerne mal ~100 mAh) sowie ein paar anderer Kleinigkeiten wie Status LED etc. benötigt bis zu 1500 mAh. Das bekommt das Powerboost 1000C Board leider nicht gebacken... mal sehen wo ich das verbraten kann.

    Ich weiß, das Thema ist schon lange auf dem Friedhof, die Suche zeigt es aber relativ weit oben an, wenn man nach "adafruit powerboost" sucht. Daher noch kurz drei Worte dazu, da man den letzten Beitrag meiner Meinung nach so nicht stehen lassen sollte.

    Der Powerboost 1000C kann bei 5,1V Ausgangsspannung bis zu 1,8A liefern, aber den Akku lädt er mit maximal 1A (daher vermutlich der Name). Ruft man mit dem Pi und allen angeschlossenen Komponenten mehr als ~0,8A Strom ab, wird die Ladespannung entsprechend reduziert. Liefert das Netzteil nicht genug Strom, wird zusätzlich Energie aus dem Akku abgerufen.

    Meiner Erfahrung nach verbraucht ein Pi selber nur selten 0,7A, daher sollte ein Setup wie das beschriebene durchaus gut funktionieren und auch genug Strom zum Laden des Akkus vorhanden sein.

  • ... daher sollte ein Setup wie das beschriebene durchaus gut funktionieren und auch genug Strom zum Laden des Akkus vorhanden sein.

    Hast du es probiert? Mit den genannten Komponenten und ohne den netten Blitz da oben rechts auf der GUI? Ich habe es probiert und ich kann dir sagen, es funktioniert nicht - sonst hätte ich es nicht so geschrieben... ;)

    P.S. Ja, es geht darum was passiert wenn der Pi 3 B alle genannten Komponenten aktiv hat und unter Last steht. Idle geht das knapp, keine Frage.

  • Das Maximum, das ein Powerboost liefern kann, habe ich vorher tatsächlich nicht ausprobiert. Ich war damit zufrieden, dass er mein Setup versorgt bekommt und habe mich ansonsten auf das Datenblatt verlassen.

    Extra für dich habe ich aber mal eben kurz mein Handy zum Aufladen an den Pi gehangen und ein Script gezimmert, das einfach nur vier Endlosschleifen startet. Einen Monitor habe ich nicht am Pi, ich muss mich daher auf die blinkende Power LED verlassen.

    Laut USB Stromtester ziehe ich mit dem Aufbau 1,46 A (bei 5,2 V) aus dem Netzteil - und die rote LED blinkt nicht. Das reizt den Powerboost also offensichtlich noch nicht aus. Ich habe daher noch ein weiteres USB Gerät angeschlossen - dann fängt die rote LED an zu blinken, der Pi geht aber nicht aus und der Stromverbrauch steigt auch nicht. Ich gehe deswegen davon aus, dass sie blinkt weil ich die USB Ports überfordere. Um ganz sicher zu gehen, habe ich noch ein Multimeter an den 5Vo Pin des Powerboost (und GND) geklemmt. Es zeigt 5.15V an während die rote LED blinkt. Der Strom bricht also nicht zusammen.

    Ich bleibe bei meiner Aussage: Der Powerboost sollte dein Setup versorgen können.

    2 Mal editiert, zuletzt von e-nighthawk (20. Januar 2018 um 00:13)

    • Offizieller Beitrag

    Ich gehe deswegen davon aus, dass sie blinkt weil ich die USB Ports überfordere.

    Nö, soweit ich weiß bedeudet rote LED blinken zu wenig Saft! :conf:

    Wie lasten die Schleifen die die CPU aus? ps -eo pcpu,pid,user,args | sort -r -k1 | less

    Und wie ist die Ausgabe von: lsusb -v?

    • Offizieller Beitrag

    dann fängt die rote LED an zu blinken

    und ohne den netten Blitz

    Und selbst dadorzwischen liegen noch einige mA(s). Wenn die Rote blinkt ist der RPi kurz vorm abk...en.

    :2cents:

  • Nö, soweit ich weiß bedeudet rote LED blinken zu wenig Saft! :conf:

    Ja, darum geht es doch hier, oder? Ich dachte, der rote Blitz hat die selbe Bedeutung und ist nur eine andere Art der Signalisierung?

    Wie lasten die Schleifen die die CPU aus? ps -eo pcpu,pid,user,args | sort -r -k1 | less

    Code
    99.9  7826 root     python powerloop.py
    99.8  7825 root     python powerloop.py
    99.5  7827 root     python powerloop.py
    99.3  7828 root     python powerloop.py
    %CPU   PID USER     COMMAND
     1.5  7824 root     python powerloop.py
     0.9  7811 pi       -bash
     0.8  7803 root     sshd: pi [priv]

    Und wie ist die Ausgabe von: lsusb -v?

    Da kommt sehr viel - wonach suchst du genau?

    Ich erkenne da einen gewaltigen Unterschied ( Akku vs. Netzteil ).

    Das habe ich in der Tat überlesen bzw. anders verstanden, nämlich das du den Pi auch im Akkubetrieb betreiben willst, nicht ausschließlich. Da mich das aber nun auch interessiert, habe meinen Versuchsaufbau kurz etwas geändert und den Stromtester an den Powerboost angeschlossen. Ich habe dann das Netzteil abgezogen, den Pi gebootet, langsam den Stromverbrauch gesteigert und beobachtet, was passiert. Ich muss dir zustimmen - aus den Akkus alleine bekomme ich vom Powerboost nicht mehr als 0,96A geliefert. Steigere ich meinen Verbrauch über diese Grenze hinaus, blinkt die rote LED. Die Akkus (2x 18650) sind mit jeweils 10 A angegeben - auch wenn das am Ende durch den Boost Converter, Übergangswiderstände, Wirkungsverluste usw. sicher nicht mal annähernd herauskommen würde, sollte mehr als 1 A auf jeden Fall möglich sein. Die Grenze muss also im Powerboost liegen.

    Da ich nun sowieso schon am Messen war, habe ich auch gleich noch geprüft, wie viel mein Pi sonst so an Strom verbraucht.

    Idle liegt der Verbrauch bei 0,17 A, mit 100% Last auf allen vier CPU Cores bei 0,67 A. Das ist inkl. Wifi, aber ohne USB und ohne HDMI.

    USB (ohne Geräte) erhöht den Stromverbrauch um 0,06 A, HDMI (ohne Monitor) um 0,01 A.

    Deine Angabe, dass es bei deinem Aufbau Idle noch knapp reicht, sobald der Pi etwas zu tun bekommt aber nicht mehr, kommt also tatsächlich hin.

    • Offizieller Beitrag

    HDMI (ohne Monitor) um 0,01 A

    Mit Monitor wird sehr wahrscheinlich wieder Strom über das HDMI-Kabel zugeführt. Das hatten wir hier schon mal irgendwo. Wenn Du Lust hast, kannst Du mal danach suchen. Andreas hattte eine Liste erstellt, in der Threads mit dem Mysterium stehen. Evtl. hast Du auch die Möglichkeit einen Moni anzuschließen und zu messen? Das würde mich jetzt auch interessieren. :denker:


    Da kommt sehr viel - wonach suchst du genau?

    Habe ich jetzt nicht genau vor Augen, in der Art von usb_max_power oder so ähnlich. Das könnten wiederum Herstellerangaben sein, also nur geschätzte Werte.

  • Mit lsusb -v soll wohl der MaxPower Wert von Interresse sein. Da hätte ich eine Zwischenfrage, wenn es erlaubt ist. Ist der MaxPower Wert ein ausgelesener, gemessener oder was anderes Wert? Hier mit Pi3 (stretch) wird die angeschlossene Cerry Tastatur mit 100mA angezeigt. Auf dem Hersteller Label steht aber max. 50mA. Was ist nun richtig, bzw. wie muss ich das deuten?

  • Deine Angabe, dass es bei deinem Aufbau Idle noch knapp reicht, sobald der Pi etwas zu tun bekommt aber nicht mehr, kommt also tatsächlich hin.

    Sonst hätte ich es auch nicht so formuliert - der Powerboost 1000C ist nicht in der Lage stabile 1,5 A vom Akku zu liefern, ohne das sich der Pi 3 B mit blinkender LED und Blitz Symbol auf der GUI beschwert.

    Adafruit ist da in der Beschreibung auch ziemlich eindeutig:

    Zitat

    2A internal switch (~2.5A peak limiting) means you can get 1000mA+ from a 3.7V LiPoly/LiIon battery. Just make sure your battery can handle it!

    In meinem Aufbau habe ich das jetzt so gelöst, das ich den Powerboost 1000C nur noch nutze um den Akku zu laden, wenn der PiBrick am Netzteil hängt. Ziehe ich das Netzteil ab und wechsele auf Akkubetrieb übernimmt ein anderer StepUp (Pololu U3V50F5) die Stromversorgung des Pi 3 B und der verbauten Komponenten. Verkabelt ist der Pololu StepUp mit den BAT / GND Pins des Powerboost 1000C, die wiederum direkt am JST Connector hängen.

    Zitat

    BAT - this is the battery input, connected directly to the JST connector. For most Lithium batteries, this will range from 3.0V when near-dead to 4.2V when fully-charged. Higher voltages will let you draw more current and in general, are more efficient. Try to keep the wires going to this pin nice and short - 3" or less is best!

    Der letzte Satz ist Wörtlich zu nehmen. Längere Kabel oder welche mit zu geringem Querschnitt bringen das Problem zurück auf Anfang. Auch wichtig: Man sollte den Pi 3 B über beide 5V Pins und das 7" Pi Display nicht über den Pi sondern direkt vom StepUp versorgen.

  • Mit Monitor wird sehr wahrscheinlich wieder Strom über das HDMI-Kabel zugeführt. Das hatten wir hier schon mal irgendwo. Wenn Du Lust hast, kannst Du mal danach suchen. Andreas hattte eine Liste erstellt, in der Threads mit dem Mysterium stehen. Evtl. hast Du auch die Möglichkeit einen Moni anzuschließen und zu messen? Das würde mich jetzt auch interessieren. :denker:


    Habe ich jetzt nicht genau vor Augen, in der Art von usb_max_power oder so ähnlich. Das könnten wiederum Herstellerangaben sein, also nur geschätzte Werte.

    Ich habe keinen Monitor mit HDMI Anschluss, aber ich habe einen HDMI auf DVI Adapter. Schließe ich damit einen Monitor an, ändert sich der Stromverbrauch des Pi nicht. Würde der Pi durch den HDMI Anschluss mit Strom versorgt, müsste nach meinem Verständnis entweder der Stromverbrauch über USB sinken oder es gäbe Magic Smoke.

    Die MaxPower Angabe von lsusb -v finde ich irrelevant. Da steht bei meinem Handy 500 mA obwohl ich es definitiv mit >1 A laden kann.

    Sonst hätte ich es auch nicht so formuliert - der Powerboost 1000C ist nicht in der Lage stabile 1,5 A vom Akku zu liefern, ohne das sich der Pi 3 B mit blinkender LED und Blitz Symbol auf der GUI beschwert.

    Adafruit ist da in der Beschreibung auch ziemlich eindeutig:

    "2A internal switch (~2.5A peak limiting) means you can get 1000mA+ from a 3.7V LiPoly/LiIon battery. Just make sure your battery can handle it!"

    Den Satz verstehe ich so, dass auch mehr geht solange der Akku es hergibt. Der Step-Up kann maximal 2A liefern und ich hätte gedacht, dass bis zu den Regionen dann auch Strom aus den Akkus entnommen werden kann. Falsch gedacht. ;)

Jetzt mitmachen!

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