Forum: Analoge Elektronik und Schaltungstechnik Prozentanzeige für Li-Ion


von Günther L. (lause)


Angehängte Dateien:

Lesenswert?

Ich habe hier eine Formel gefunden die die Spannung an einem Li-Ion Akku 
in Prozent umrechnen will.

Sie stammt aus dem Odroid Go, ein ESP32 basierter Gameboy-Klon.

Ist sowas einigermaßen universell, oder funktioniert das jetzt so nur 
mit genau diesem Akku? Der Akku ist so eine typische "Plastiktasche".

Die Formel ist hier:
https://github.com/hardkernel/ODROID-GO/blob/master/src/utility/battery.cpp

Herauskopiert:
1
#define BATTERY_VMAX 420
2
#define BATTERY_VMIN 330
3
4
int Battery::getPercentage() {
5
  int res = 101 - (101 / pow(1 + pow(1.33 * ((int)(getVoltage() * 100) - BATTERY_VMIN)/(BATTERY_VMAX - BATTERY_VMIN), 4.5), 3));
6
7
  if(res >= 100)
8
    res = 100;
9
10
  return res;
11
}

Ich habe die Formal mal in gnuplot geworfen:
1
  gnuplot> set xrange [3300:4200]
2
  gnuplot> plot 101 - (101 / ((1 + ((1.33 * (x - 3300) / (4200 - 3300)) ** 4.5)) ** 3))
Screenshot ist angehängt.

von c r (Gast)


Lesenswert?

Es ist etwas besser als linear zwischen Lade- und Entladeschlussspannung 
zu interpolieren.

Da du dir beides in gewissem Rahmen aussuchen kannst und je nach 
Anwendung auch einen Spannungsbfall durch den Innenwiderstand 
berücksichtigen musst, ist es trotzdem nur ein Schätzwert.

Es geht drum dem Benutzer einen sich einigermaßen gleichmäßig 
verändernden Prozentwert zu präsentieren, nicht darum einen präzisen 
Energiegehalt zu berechnen.

von c r (Gast)


Lesenswert?

Ganz vergessen:
Sauberer wärs einfach die geladenen und entnommenen mAh zu zählen und 
nur den nie ganz vermeidbaren Drift anhand der Spannung loszuwerden

von Harald W. (wilhelms)


Lesenswert?

Günther L. schrieb:

> Ich habe hier eine Formel gefunden die die Spannung an einem Li-Ion Akku
> in Prozent umrechnen will.
> Ist sowas einigermaßen universell,

Ich würde sagen, sie ist einigermaßen universell mit einem Fehler
von +-10...20%. :-)

von Peter M. (r2d3)


Lesenswert?

Hallo Günther,

Günther L. schrieb:

> Ist sowas einigermaßen universell, oder funktioniert das jetzt so nur
> mit genau diesem Akku? Der Akku ist so eine typische "Plastiktasche".

die Formel funktioniert nur annähernd bei einem bestimmten Akku und 
einem bestimmten Ladestrom.

Würde der Entladestrom mit in die Formel eingehen, sähe es viel besser 
aus.

Hier kann man schön sehen, wie bei einem Akku der Spannungsverlauf in 
Abhängigkeit des Entladestroms variiert:

http://lygte-info.dk/review/batteries2012/Sony%20US18650VTC6%203000mAh%20%28Green%29%20UK.html

Wenn Du in Deiner Anwendung den Akku früh trennst (bei mir etwa 3,5V 
unter Last) könntest Du den Verlauf für Deinen Entladestrom auch 
linearisieren.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Hängt die Spannung nicht auch deutlich von der Richtung und Höhe des 
Stromflusses ab?

von c r (Gast)


Lesenswert?

Stefanus F. schrieb:
> Hängt die Spannung nicht auch deutlich von der Richtung und Höhe
> des
> Stromflusses ab?

Jap, wenn man strikt nach der Kennlinie anzeigt, wird die 
Ladezustandsanzeige beim anstöpseln und entfernen des Ladegeräts und bei 
Lastwechsel springen.

Kann, aber muss einen nicht stören

von ichbin (Gast)


Lesenswert?

Min 3,3V ist schon sehr sicherheitsorientiert!
Ich tippe daher darauf, dass die Formel auf die Anwendung und einen LiPo 
mit sehr geringem Entladestrom angepasst ist.
Highdrain-LiIon mit hohem Strom kann man bedebkenlos bis 2,8 oder 2,5V 
entladen. Bei min 3,3V sind die mitunter noch nicht mal halb leer...
Mit nur geringem Entladestrom kommt unter 3,3V nicht mehr viel. 10% 
vielleicht noch.

von Günther L. (lause)


Lesenswert?

Jo, ich hatte jetzt etwas Gelegenheit damit mal herumzuspielen.

Es zeigt halt "was an". Zum abschätzen ob man das Ding jetzt besser mal 
zum Aufladen einstöpseln sollte reicht es. Beim Aufladen springt dann 
halt die Akkuspannung ein Stück nach oben. Muß ich so mit leben.

Den Odroid Go habe ich so fertig gekauft, die Schaltung ist jetzt halt 
so.
Der ADC vom ESP32 ist sowieso eher ein Schätzeisen.

Ansonsten ist das Ding eine schöne Basis wenn man "mal was mit dem ESP32 
machen will".

Der Akku wird übrigens von einem fertigen Ladechip aufgeladen 
(XC6802A42XMR). Der macht das hoffentlich richtig... Die Anzeige über 
den ADC des Prozessors ist eher für schick.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.