LiPo Akkuzustand messen

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Guten Tag zusammen,

    mein aktuelles Projekt soll als Stromversorgung LiPo ''https://www.berrybase.de/lp-503562-lith…pin-jst-stecker'' verwenden, Akku soll einen esp8266 versorgen, und zwar die verbrauchte Wassermenge zählen und in einem festen Intervall die Daten über MQTT/WIFI schicken.

    Nur habe ich keine Ahnung wie man den Akkuzustand "messen" kann, ich habe Gestern mittels Voltmeter die Spannung des Akkus gemessen und es kamen solche Ergebnisse:

    15Uhr28: 3,822 V

    15Uhr45: 3,814 V

    15Uhr50: 3,804 V

    1600Uhr: 3,803 V

    16Uhr11: 3,800 V

    16Uhr27: 3,792 V

    16Uhr38: 3,790 V

    über einen ADC des esp8266 kann ich ja auch die Spannung messen, nun möchte ich den Akkuzustand in Prozent anzeigen lassen, bzw. ob es bei 70% ist oder 10% oder wie auch immer, ich weiß leider nicht wie ich das durch die Ergebnisse interpretieren kann.

    habt ihr Ideen:)?

    danke

    Gruß

  • Über eine normale Spannungsmessung wirst du nicht viel über den Ladezustand aussagen können.

    Für die LiPo-Zellen gibt es Battery Gauges bzw. auch Batteriemanagement genannt.

    Die Controller erstellen von der Zelle ein Modell und erlernen das Verhalten beim Laden/Entladen.

    Ich bin momentan mit einem Projekt zugange, in dem dieser Controller eingesetzt wird.

    Eins vorweg, das Dingen ist ein Monster und bisher habe ich auch keine Bibliothek dafür gefunden.

    Ich wünschte, wir hätten diesen Controller genommen:

    Besser/einfacher ist dieser Controller: https://www.adafruit.com/product/4712

    Doku der Bibliothek für Circuit-Python: https://docs.circuitpython.org/projects/lc709203f/en/latest/

    Einfache Implementierung für Micropython: https://github.com/scopelemanuele/Micropython-LC709203F

    Beitrag im Forum: https://forum.micropython.org/viewtopic.php?t=12283&p=66694

    Nachtrag: Ich habe noch ein anderes Projekt gefunden, dass Python und einen ADC verwendet, um das Modell zu erstelllen. Aber das ist für Python gedacht und funktioniert mit Micropython so nicht.

  • Du solltest dir keine zu großen Gedanken machen.
    Die typische Entladekurve eines Lipo Akkus sieht ungefähr so aus:

    Wenn du mit dem ADC die Spannung misst und bei 3,2 Volt eine Warnung ausgibst, reicht das allemale.
    Die verbleibende Restkapazität in % ist kaum zu ermitteln, weil die Kurve sehr flach verläuft und je nach Strombedarf, Temperatur usw. auch etwas variieren kann.

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

  • Die typische Entladekurve

    Die gezeigte Entladekurve ist unter hoher Last (6C) entstanden. Von typisch würde ich da nicht reden, da es halt auf die Last ankommt. Bei sehr geringer Last tendiert die Entladekure eher zu einer "linearen" Linie zwischen 4,2 bis 3,5V und je nach Qualität geht es dann schnell bergab (typisch für Lipo). Dieses ausgeprägte Plateau wie in der Grafik entsteht bei höheren Lastzuständen.

    Bei dem Projekt vom Threadersteller geht es eher um eine schwache Last:

    0,032 Volt Spannungsabfall in 70 Minuten, sprich ca. 15 bis 20 Stunden Laufzeit vom Lipo (4,2V bis 3,7V).

    jesuisla

    Eine Lipozelle ist mit 4,2 Volt voll, mit 3,85 Volt ca. bei 50% und mit 3,7 Volt (Lagerspannung) zu ca. 15% gefüllt. Ohne Last lässt sich somit der Ladezustand grob in Prozent ausdrücken (wobei ich von einer Angabe in Prozent bei Akkus kein Fan bin).

    Grundsätzlich kann man auch unter Last dazu eine Aussage machen, aber es hängt dann von zwei Faktoren ab:

    • Qualität der Zelle / Innenwiderstand | Beeinflusst dadurch den Spannungsabfall unter Last
    • Die Höhe der Last beim Messen | um so höher die Last, um so schwieriger wird es einen zuverlässigen Ladezustand zu ermitteln

    Wenn die Last niedrig ist, könnte man schauen, wie die Spannung bei verschiedenen Spannungszuständen vom Lipo unter der üblichen Last und ohne Last sich verhält. Das müsste man nur einmal durchgehen und das im Skript hinterlegen.

    Lipos haben eine Eigenart. Sie halten bis auf den letzten Drücker noch irgendwie die Spannung und brechen dann aber sehr schnell ein. Speziell Spannungen unter 3V schaden aber dem Akku. Hier ist es wichtig, dass man den Punkt, wo man den Lipo von der Last befreit, nicht zu spät zu wählt.


    Mit dem Wissen zum Spannungsverhalten eines Lipos kannst du doch eher auf die Prozentangabe verzichten und einfach nur die Spannung anzeigen lassen, sowie dir mehrere Warnschwellen (z.B. 3,6V; 3,4V; 3,3V) einbauen.

    Viele Grüße,

    Peter

  • EDIT: Meine Aussagen betreffen einen LiFePo4 - KEINEN LiPo

    Die Aussage von Gnom kann ich empirisch bestaetigen. Anbei der intern gemessene VCC eines ESP12F

    Die laengere Luecke im Juni ergibt sich weil in der Zeit das ESPNow Gateway nicht funktionierte und keine MQTT Werte liefern konnte.

  • der vordere Bereich der Kurve ist doch eh wenig relevant. Bei sehr schwacher Belastung läuft die Kurve jedenfalls auch sehr flach, zieht sich noch länger nach rechts, weil der Akku Zeit hat, sich zu regenerieren, und stürzt dann am Ende umso steiler ab. Die Gesamtkapazität, also vielmehr die Ausnutzung, steigt dabei sogar noch. Spielt aber alles keine so große Rolle - entscheidend ist, dass man bei einer geeigneten Spannung die Notbremse zieht und den Akku läd oder austauscht. Eine aufwändige Kapazitätsbestimmung steht doch hier in keinem Verhältnis. Natürlich kann man mal die Messungen täglich dokumentieren und schauen, ob es eine vernünfitge Orientierung hergibt, aber viel Aufwand würd ich da nicht treiben.

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

  • Bei sehr schwacher Belastung läuft die Kurve jedenfalls auch sehr flach

    Nein, nicht wirklich. Deine Kurve reißt nach 7% der Laufzeit schon satt die 3,7V-Marke und liegt mit ihrem Plateau bei über 50% der Laufzeit zwischen 3,6 und 3,5 Volt. Dieses Verhalten liegt an der Last, gepaart aber auch mit einer relativ schlechten Lipozelle.

    Ich empfehle hier mal Gerd Giese und seine Tests von Akkus aller Art.

    Z.B. => https://www.elektromodellflug.de/sls-xtron-40c.php

    Dort gibt es rechts ein Diagramm, wo man das Verhalten eines Lipos schön sehen kann.

    Die Lipos werden massiv belastet (10C bis 25C) und reißen die 3,7V-Marke erst bei über 50% der Laufzeit.

    Man muss aber dazu sagen, dass es sich um Lipos für den Modellbau handelt, die z.B. beim Multikopter solche Entladeraten zeigen müssen, da dort vier, sechs oder acht Motoren am Lipo saugen. Da sind bei Vollgast problemlos 20C und mehr zu erreichen.

    Beim Threadersteller sind es nur magere 1/15C, bei deiner Kurve 6C, was wiederum schon dem 90-fachen entspricht. Bei 1/15C reißt es die Spannung beim Start (vollgeladen 4,2V) nicht sofort runter, sondern der bleibt bei 4,1V, zieht dann eine lineare Linie über 15 Stunden auf ca. 3,4V runter und bricht dann irgendwann schnell ein.

    entscheidend ist, dass man bei einer geeigneten Spannung die Notbremse zieht und den Akku läd oder austauscht

    Da bin ich voll bei dir. Nichts ist schlimmer als den Lipo "verhungern" zu lassen.

    viel Aufwand würd ich da nicht treiben

    Auch hier bin ich voll bei dir. Ich würde da die Spannung auslesen und anzeigen lassen. Dann weiß man direkt wo man steht.

    Viele Grüße,

    Peter

  • Moin

    Ich würde einmal für einen kompletten Zyklus, bei deiner typischen Anwendung, die Spannungen und Zeiten protokolieren. Dann erhälst eine Entladekurve die genau auf deinen Akku und deine Anwendung zugeschnitten ist. Dann die Kurve in 10 gleiche Zeitabschnitte teilen und die Spannungen ablesen.

    Dabei ist die Temperatur nicht ganz unwichtig. Ich hab sowas in der Art versucht, mit LiFePo Akkus bei Außentemperaturen. Nach mehreren Monaten try and error hat sich dann ergeben, das ich mit der Spannung viel besser die Außentemperatur als den Ladezustand messen kann.

    Viel Spass

    Jan

  • EDIT: Meine Aussagen betreffen einen LiFePo4 - keinen LiPo

    Deine Grafik verstehe ich nicht.

    K = Kilo und die Werte sind die Vcc Rohdaten die in mV geliefert werden. Der Punkt ist ein Dezimalpunkt (englische Notation)

    Da bin ich voll bei dir. Nichts ist schlimmer als den Lipo "verhungern" zu lassen

    Da sieht man dass ich noch nacharbeiten muss :blush: Der Code schickt aktuell den ESP in den größtmöglichen Deepsleep wenn Vcc < 2500 mV und man sieht dass dann die Messwerte stottern. D.h. er erwacht immer Mal nach der längsten Deepsleepzeit und sendet wieder Werte ? Er muss sich aber dann sofort wieder schlafen legen.

    Auch muss ich Mal im Grafana die Benachrichtigung bei zu geringer Spannung konfigurieren damit ich das rechtzeitig mitbekomme und den Akku wieder aufladen kann.

    :no_sad: ... Kein Backupkein Mitleid ... :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft 💥 gehst wie ein HB Männchen :)

    Einmal editiert, zuletzt von framp (27. Juli 2022 um 17:05) aus folgendem Grund: Irrtumskorrektur

  • mV

    Ok, so habe ich mir das schon gedacht, aber die 3,65V am Anfang (Start der Aufzeichnung) haben mich irritiert. Da war er ja fast schon leer. Warum gehst du nicht auf 4,2V rauf?

    Bei dem geringen Verbrauch müsste der Lipo vollgeladen (4,2V) doch ewig halten, oder?

    rechtzeitig mitbekomme

    Die 2,25V sind wirklich hart für den Lipo. Damit schädigst du bei jedem Mal die Zelle. Da würde ich eher bei 3V die Grenze ziehen.

    Viele Grüße,

    Peter

  • EDIT: Meine Aussagen betreffen einen LiFePo4 - KEINEN LiPo

    aber die 3,65V am Anfang (Start der Aufzeichnung) haben mich irritiert.

    Die Ladeschlussspannung liegt bei dem Akku bei 3.65V.

    Die 2,25V sind wirklich hart für den Lipo

    2.5V sind es aktuell. Ich ändere das Mal auf 3.0V wenn ich den anderen o.g. Bug fixe.

    :no_sad: ... Kein Backupkein Mitleid ... :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft 💥 gehst wie ein HB Männchen :)

    Einmal editiert, zuletzt von framp (27. Juli 2022 um 17:06) aus folgendem Grund: Irrtumskorrektur

  • Man kann alls übertreiben...

    Dei Kurve war exemplarisch gemeint - ob die nun etwas steiler oder flacher abfällt, spielt doch keine Rolle bei einem Popelsensor, der ein halbes Jahr lang daten Funkt und dann 4 Wochen früher oder später den Geist aufgibt. Entscheidend ist: Man hat einen über weite Strecken relativ flachen Verlauf, der es schwierig macht, aus der Spannugn verlässlich auf die verbleibende Energiemenge zu schließen.
    Die Spannung bleibt lange über 3,3-3,4 Volt und bricht dann am Ende des Entladens relativ schnell ein. Da man einen Lipo Akku nicht unter 3 Volt entladen sollte und die Kurve zwischen 3,2 und 3.0 Volt eh schon sehr steil ist, macht man üblicherweise spätestens bei 3,2 Volt Schluss und läd den Akku wieder auf.

    Alles andere ist doch hier akademisch und an der Realität vorbei. Beim Elektroauto ist es schon entscheidend, ob ich noch 25 oder 45 Km weit komme. Aber ob der Akku eines Temperatursensors nach 1/2 Jahr Laufzeit noch eine Woche oder zwei hält... da sind ja die chinesischen Reissackumfallstatistiken interessanter...

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

  • Die Ladeschlussspannung liegt bei dem Akku bei 3.65V.

    Was hast du für einen Akkutyp? Ein LiPo ist es nicht. Der hat als Ladeschlusspannung 4,2V.

    Kurve war exemplarisch gemeint

    Das mag ja sein, passte aber nicht zum Problem des Threaderstellers.

    der ein halbes Jahr lang daten Funkt

    Dann passt es auch nicht zum Threadersteller, da sein Lipo schon nach 15 Stunden leer ist.

    über weite Strecken relativ flachen Verlauf

    Nein, das ist und bleibt falsch, egal wie oft du das wiederholst.

    Ich habe dir das oben näher ausgeführt und es versucht für dich nachvollziehbar zu erklären.

    Wenn du durchweg 6C an einem Lipo saugst, ist das eine sehr hohe Last, die Spannung reißt es sofort runter und der Lipo ist in 10min leer. Da hast du dann einen "relativ flachen Verlauf" (bei deinem Beispiel hauptsächlich zwischen 3,5V bis 3,7V).

    Hier saugt aber niemand mit 6C, sondern nur mit 1/15C (1/90 deiner 6C!). Wenn ich dein Beispiel von "einem halben Jahr" zugrunde lege, reden wir sogar nur von 1/4320C (1/25920 deiner 6C). Kurzum, die Last auf dem Lipo ist so gut wie nicht vorhanden. Wenn der Lipo also voll ist, sprich 4,2V, geht der beim Anklemmen der Last gar nicht in die Knie und die Spannung verringert sich nur in sehr kleinen Schritten (weitestgehend linear zwischen 4,2 Volt runter auf 3,7V).

    Viele Grüße,

    Peter

  • Was hast du für einen Akkutyp? Ein LiPo ist es nicht. Der hat als Ladeschlusspannung 4,2V.

    Oh man - wer lesen kann ist im Vorteil :wallbash: Mea culpa. :blush: Ich nutze einen LiFePo4 und hier im Thread geht es um einen LiPo :-/ . Ich denke ich kann jetzt alle meine Beitraege hier im Thread loeschen da sie bzgl ThreadThema bullshit sind ;(

    Da ich den direkt als Vcc fuer meinen ESP12F nehme laege der LiPo mit 4.2V schon ausserhalb der erlaubten Versorgungsspannung fuer den ESP und fiel damals beim Evaluieren der moeglichen Akkuversorgungsmoeglichkeiten flach.

  • Peter0311
    Du begründest deine Aussage mit den von dir selbst berechneten 15 Stunden... Das ist lustig!
    Und wenn jesuisla wirklich einen Wassververbrauchszähler baut, der alle 15 Stunden einen Akkuwechsel braucht, dann ist der gesamte Thread obsolet. Dann kann er den Verbrauch nämlich auch gleich selbst zweimal am Tag ablesen, statt einen Akku zu wechseln.

    Ich tippe eher, dass der Zähler (noch oder testweise) ohne Sleepmode läuft - wer will schon für die Kapazitätsmessung 1/2 Jahr aufwenden. Insofern sind schon die gemessenen 0,032 Volt nicht realistisch.
    Du proklamierst bei hoher Last einen schnellen Einbruch und eine flache Kurve bei 3,7 bis 3,5 Volt. Bei geringer Last proklamierst du einen linearen Abstieg von 4,2 auf 3,7 Volt. (Und danach eine flache Kurve oder was?) Das schließt sich nicht aus und entspricht genau dem, was ich gesagt habe. In beiden Fällen liegt der größte Teil der Kurve in einem relativ flachen Bereich um 3,5-3,7 V, der die Bestimmung der Restkapazität schwierig macht. Der vordere Teil der Kurve ist relativ uninteressant und weiter hinten gehts relativ schnell abwärts.

    Aber du hast natürlich absolut Recht - was erzähl ich für ne Kacke... Ich hab ja von nichts ne Ahnung und neige mein Haupt vor Ehrfurcht.

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

  • Du begründest deine Aussage mit den von dir selbst berechneten 15 Stunden... Das ist lustig!

    Das ist nicht lustig, sondern einfache Mathematik (siehe weiter oben, Aufstellung der Spannungslage nach Uhrzeit).

    Ich tippe eher, dass der Zähler (noch oder testweise) ohne Sleepmode läuft

    Dein Tippen hat 0,0 mit der Fragestellung vom Threadposter zu tun.

    In beiden Fällen liegt der größte Teil der Kurve in einem relativ flachen Bereich um 3,5-3,7 V

    Blödsinn. Wenn du Ahnung von Lipos hättest oder auch nur einmal dich 30s mit dem Link (Akkutest) beschäftigt hättest, würdest du vielleicht selber erkennen, was du hier versuchst zu verzapfen.

    Bestimmung der Restkapazität schwierig macht

    Noch so ein Blödsinn. Das ist problemlos möglich, natürlich nicht, wenn man einen miesen alten Lipo verwendet oder/und gleichzeitig während der Messung mit 6C am Lipo saugt. Da man das hier nicht macht, sondern kaum bis gar nicht Last verursacht, ist eine gute Bestimmung der Restkapazität jederzeit möglich und hat auch nur eine geringe Toleranz.

    Der vordere Teil der Kurve ist relativ uninteressant und weiter hinten gehts relativ schnell abwärts.

    Ja, wenn du mit 6C am Lipo saugst. Das scheinst du aber nicht zu verstehen. Der starke Spannungsabfall direkt am Anfang wird durch die hohe Last verursacht. Nimm die Last weg, die Spannung stabilisiert sich auf einem viel höheren Level und dann lässt sich auch die Kapazität berechnen.

    Ich hab ja von nichts ne Ahnung

    In Sachen von Lipos: Stimmt! Gut erkannt! :thumbup:

    neige mein Haupt vor Ehrfurcht

    Neige dein Haupt, denke nach, vielleicht erkennst du dann deine eigene Arroganz, sprich Fakten einfach zu ignorieren, die Nase hochzutragen und mich für dumm zu verkaufen. Beschäftige dich mit dem Thema. Und wenn du das nicht willst, einfach mal die Segel zu streichen, wenn man keine Ahnung hat (ganz nach Hr. Nuhr).

    Ich habe kein Problem mit einer Diskussion. Man kann sich auch fair streiten. Aber dabei sollte man sein Gegenüber respektieren, Fakten austauschen und nicht persönlich werden.

    Kurz zu mir und dem Thema Lipos:

    Ich hatte in den letzten 15 Jahren rund 40 verschiedene Multikopter (Großteils selbstgebaut), Helis, mehrere Flächenflieger und RC-Autos, die allesamt mit Lipos ausgestattet waren. An Lipos hatte ich von 1S (3,7V) bis 12S (44,4V) alles, ich schätze ca. 250-300 Stück in den ganzen Jahren.

    Viele Grüße,

    Peter

  • In Sachen respektieren bist du offenbar Großmeister!

    Meld dich wieder, wenn du was anderes als Beleidigungen auf der Pfanne hast. Du kannst von mir aus Raketeningenieur sein. Du machst dir die Welt doch sowieso widewidewie sie dir gefällt. Brauchen deine hundert Spielzeugautos Strom im µA-Bereich wie ein Microcontroller im Sleepmode? Nein? Dann wundern mich deine Aussagen hier nicht. Bau weiter mit deinem Propellerspielzeug, aber glaub nicht, dass du die Weisheit gefressen hast, nur weil du schon mal einen Elektromotor an einen Lipo geklemmt hast.

    Sowas wie du ist mir hier selten über den Weg gelaufen. Und deine Beleidigungen habe ich nicht nötig, mir anzuhören. Viel Spaß noch und IGNORE!

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

Jetzt mitmachen!

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