Stromversorgungsquelle unterscheiden

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Zur hilfreichsten Antwort springen
  • Wenn du an beide Eingänge Spannung anlegst, wird sich der Pi auch über beide Strom holen.
    Wenn du sie wechselweise irgendwie abschaltest, solltest du ja wissen, wo Strom her kommt.
    Wenn du zwei Quellen parallel benutzt und ggf. erkennen willst, ob eine ausfällt, müsstest du den Strom messen, der über beide Quellen fließt und daraus bestimmen, welche Quelle gerade wie stark belastet wird bzw. ob eine ausgefallen ist und somit dort kein Strom fließt. Mit einem Strommessmodul (INA219) sollte sowas machbar sein.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Ich weiß schon wo der Strom herkommt, aber weiß es auch der Pi? :)

    Hintergrund: Ich messe die Spannung eines Akkupacks, das den Pi über GPIO mit Strom versorgt. Fällt dort die Spannung unter einen Grenzwert, wird der Pi automatisch heruntergefahren. Wenn ich an der Anwendung entwickle, versorge ich den Pi mit einem Netzteil über Micro USB. In diesem Fall wird keine Spannung vom Akkupack geliefert und der Pi fährt brav wieder runter. Deswegen würde ich gern die Anwendung so schreiben, dass sie es erkennt, woher der Strom kommt.

  • Ich nehme an, du hast ein Programm dafür geschrieben, das im Hintergrund läuft.

    Der INA ist ja eigentlich zum Strommmessen da - die Spannungsmessung ist eher ein Nebeneffekt.

    Ich bin nicht sicher, ob das Vorgehen überhaupt sinnvoll ist ohne weitere Überlegungen.

    Wenn du den Akku über den INA219 so anschließt und der relativ leer ist und du schließt gleichzeitig eine USB-Stromversorgung an, dann wird der Akku geladen - aber ohne Laderegler oder irgendwas dazwischen... ob das sinnvoll ist?

    Bräuchtest Du nicht eher eine Art Umschalter, der den Akku trennt, wenn USB eingesteckt ist? Oder eine intelligentere Schaltung, die den Akku geregelt auflädt, wenn USB dran steckt und wenn nicht, eben ggf. runterfährt?

    Einfacher ist es, wenn du tatsächlich den Akku und USB nur jeweils exklusiv verwendest, also nie beides gleichzeitig angeschlossen ist. Dann genügt es ja, die Spannung zwischen 5V und GND direkt am Pi zu messen. Knickt die ein, dann sollte der Pi runterfahren. Dafür eignet sich aber weniger der INA, sondern eher ein ganz normaler AD-Wandler.

    Notbehelf: Wenn der Ina am Akku eine Spannung über 4,9 misst, wird nicht runtergefahren. Wenn er < 4,9 misst, aber > 0, dann wird runtergefahren. Wenn er 0 V misst, ist wohl kein Akku dran, dann wird auch nicht runtergefahren (weil dann wohl USB dran hängt).

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Na, wie gesagt: 0 Volt (oder fast 0 Volt) heißt, dass er an UBS hängt und nicht runterfahren soll - das ist doch recht einfach zu lösen.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Der INA219 hat doch eine I2C-Schnitstelle. Eine Strommessung ist auch möglich.

    Für Python gibt es eine oder mehrere Bibliotheken:

    https://pypi.org/project/pi-ina219/

    Ich würde einfach die Strommessung mit Akku und ohne externe Versorgung machen.

    Dann extern versorgen und den Akku dran lassen und noch mal den Strom messen.

    Es sollte ein Unterschied erkennbar sein.

    Negative Ströme sollten auftreten, wenn der Akku entladen wird.

    Falls er geladen wird, sollte der Strom positiv sein.

    Da ich den Controller nicht habe, kann ich es leider nicht selbst testen.

  • Was nützt dir denn die Strommessung? Du brauchst doch die Spannung.

    Und du hast gesagt, dass du ENTWEDER den Akku ODER USB anschließt.

    Alles, was du brauchst, ist doch die Messung der Spannung vom Akku.

    Akkuspannung ok = normal

    Akkuspannung zu niedrig = runterfahren

    Akkuspannung ~ null = kein Akku dran, also nicht runterfahren.

    Wo ist das Problem?

    Welchen Controller hast du nicht? Den INA? Na, dann besorg dir einen, bevor du hier lange rumtheoretisierst.

    Und wie gesagt - noch einfacher: Miss die Spannung, die der Pi zur Verfügung hat zwischen den Pins 5V und GND - wenn die zu niedrig wird, fährst du runter - egal ob der Akku lahmt oder das Atomkraftwerk nicht genug Power in deine Siedlung liefert. Zu wenig Spannung ist zu wenig Spannung und das heißt: runterfahren. Egal, was die Ursache ist.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Welchen Controller hast du nicht? Den INA? Na, dann besorg dir einen, bevor du hier lange rumtheoretisierst.

    Ich arbeite selbst an einem Akku-Projekt mit ähnlicher Problematik nur noch etwas komplexer.

    Mein Modul muss sich automatisch abschalten, wenn der Akku entladen wird und die 10 % Ladung erreicht hat.

    Ob entladen oder geladen wird, weiß ich aufgrund des Vorzeichens beim Strom.

  • Die relevanten Antworten sind ja schon gefallen.

    Da ich die Problematik schon von hier etwas genauer kenne, möchte ich nochmals (vor allem für die Helfenden) auf einige Details eingehen:

    • Der TO nutzt eine Battery Pack Expansion Board Power Supply [Anzeige] zur Versorgung des Raspberry mit dem Akku
    • Der TO hat für die Füllstandserkennung eben den INA219 [Anzeige] verwendet. Damit wird die Spannung des Akkus gemessen
    • Das Battery Board hat einen Anschluss, an dem man die Akkuspannung einfach abgreifen kann.
    • Für eine Strommessung müsste man den Akkustrom irgendwo unterbrechen

    Wie Gnom aber schon sehr deutlich "gesagt" hat, ist eine Strommessung nicht notwendig, da ohne Akku auch keine Spannung anliegt und wenn der Pi trotzdem läuft, dann muss es wohl eine andere Spannung sein.

    Was mir aber nicht eingeht: Warum verwendet stecktst überhaupt herum? Man könnte das Board wie vorgesehen nutzen: Schalter zum Ausschalten verwenden, wenn Raspberry herunter gefahren wurde. Zum Einschalten ebenfalls den Schalter nutzen. Und wenn man entwickeln möchte einfach den dafür vorgesehenen LadeInput verwenden, damit der Akku nicht entladen bzw. sogar geladen wird? Da beim Laden die Akkuspannung immer etwas steigt, dürfte der PI auch nicht so wenig Spannung messen, dass er runter fährt. Bis er hochgefahren ist und die Spannungsmessung aktiv werden kann, wird ja der Akku auch schon etwas geladen?

    EDIT:

    Und wie gesagt - noch einfacher: Miss die Spannung, die der Pi zur Verfügung hat zwischen den Pins 5V und GND - wenn die zu niedrig wird, fährst du runter

    Die 5V Messung hat keinen Sinn - da liegen immer 5V an bzw. sind die von einer Sekunde auf die andere weg, wenn das Board eine Unterspannungserkennung hat oder der Akku die notwendige Energie nicht mehr liefert. Wurde hier schon erklärt.

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

    Einmal editiert, zuletzt von VeryPrivat (17. Oktober 2020 um 10:38)

  • Hallo VeryPrivat,

    danke, dass Du Dich auch hier meiner annimmst :)

    Beim Entwickeln ziehe ich den Akku immer ab

    Du hast - mal wieder - Recht: Natürlich ziehe ich das Battery Pack beim Entwickeln nicht nicht immer ab, sondern schalte ihn über den Ein/Aus-Schalter einfach aus. Die Aussage im Zitat war mein Fehler, ich saß gerade vor dem offenen Gehäuse.

    Es gilt aber trotzdem...

    der Pi ist also entweder am Strom (beim Entwickeln) oder am Akku (beim Benutzen).

    Ich kann tatsächlich entwickeln und gleichzeitig das Battery Pack über den Ladeinput laden, da die Peripherie und meine Anwendung weniger Strom brauchen, als fürs Laden zur Verfügung steht.

    Jetzt mag es sein, dass ich übervorsichtig bin, aber ich habe Sorge, dass mir dadurch Ladezyklen verloren gehen und die Akkus vorzeitig altern, weswegen ich beim Entwickeln das Netzteil an den Micro USB des Pis stecke.

    Ist die Sorge um die Akkus unbegründet?

    Einmal editiert, zuletzt von Tripmaster (18. Oktober 2020 um 22:56)

    • Hilfreichste Antwort

    Eher schon. Viel wichtiger ist, dass Du den Akku weder weder entlädst noch ständig am Netzteil lässt.

    Selbst wenn Du es mal schaffen solltest, dass der Akku mal kaputt ist, wird es wohl kaum an den Ent-/Ladezyklen liegen sondern schlicht am Alter des Akkus.

    Aber wenn es Dir lieber ist,kein Problem. Miss die Akkusspannung und wenn die unter 3V ist, dann ignoriere den Wert und lass den Pi laufen: In diesem Fall hängst Du wohl am Netzteil...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

Jetzt mitmachen!

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