LiPo-Überwachung mit einem MAX 17043

Hi,

vielleicht noch ein anderer Ansatz. Ich bin ehrlich gesagt nicht zufrieden mit der ganzen Spannungsteiler Idee. Der Messbereich ist sehr klein und der ADC (des ESP) nicht toll. Wenn man es nur ungefähr wissen will/muss, funktioniert das ganz bestimmt, ich will das also niemandem ausreden. :slight_smile:

Andere Möglichkeit: der MAX 17043. Den gibt es für einen Zehner bei Sparkfun:


oder als Nachbau aus Fernost für ein fünftel…
Datenblatt:

Video (2 Teile, Software im 2ten Teil):

Wird über i2c angesteuert und es gibt eine Arduino library und auch für Python:

Der hat eine Temperaturkompensation und andere magic, um am Ende einen Prozentwert auszuspucken Auf den kommt es mir an, weil BLE das auch in Prozent ausgibt. Meine Versuche, das mit Spannungsteiler und umskalierung selber hin zu bekommen, haben kein zufriedenstellendes Ergebnis gebracht.
Ich hab mit ein paar von den Dingern bestellt und werde dann berichten. :slight_smile:

2 Likes

Die Chinesen haben geliefert :slight_smile:
Allerdings habe ich eine andere library benutzt. Die oben lief nicht.

>>> print('voltage: ' + str(gauge.readVoltage()) + 'mV')
voltage: 4061.25mV
>>> print('percentage: ' + str(round(gauge.readPercentage(), 2)) + '%')
percentage: 84.48001%

Das funktioniert wirklich gut. Man kann dem Akku beim Aufladen zuschauen. :slight_smile:
Wie die Prozente genau ermittelt werden, muss ich noch herausfinden.

Der Code ist auch kurz und knackig. Es gibt auch die Möglichkeit, einen Interrupt zu definieren bei Unterschreitung einer Ladeschwelle.

3 Likes

schau mal in dem pdf zum stein… seite 8

SOC Register

The SOC register is a read-only register that displays
the state of charge of the cell as calculated by the
ModelGauge algorithm. The result is displayed as a
percentage of the cell’s full capacity. This register auto-
matically adapts to variation in battery size since the
MAX17043/MAX17044 naturally recognize relative SOC.
Units of % can be directly determined by observing only
the high byte of the SOC register. The low byte provides
additional resolution in units 1/256%. The reported SOC
also includes residual capacity, which might not be avail-
able to the actual application because of early termination
voltage requirements. When SOC() = 0, typical applica-
tions have no remaining capacity.

tldr: das ding weiss nur die spannnung der zelle, der rest ist ‘das model’ … d.h. die ominoese rate-magie die aus ner reinen spannungsmessung ne state of charge macht.

ich hab mit einem derartigen stein vor ca einem jahr mal gespielt… der war nice, aber sobald die load an oder ausging ware die werte so bonkers das wir sie filtern/integrieren haetten mussten… am ende wurde es dann doch eine ‘richtige’ battergauge… also mit shunt und strom als auch spannungsmessung und ‘gedaechnis’ ;)

ich freu mich jedenfalls wenn dieses messverfahren fuer dich funktioniert und sinnvolle werte liefert. ich dachte die magie bei maxim ist raus :-)