Bitte um Review: Neuer Battery Code, Ausschalten bei Akku leer und MAX17055

Hier ist die DB von JLC: PCB Prototype & PCB Fabrication Manufacturer - JLCPCB.
Da kannst nachschauen, was es gibt.

Tipp: KiCad STM32 + USB + Buck Converter PCB Design and JLCPCB Assembly (Update) - YouTube
Das ganze Video ist recht cool, aber ich habe mal den Punkt markiert, wo es erst um das „Verstecken“ der Order-Nummer von JLC geht und dann kommt, was man alles so braucht, wenn man von denen einen PCB bestücken lassen möchte.

1 „Gefällt mir“

Hallo @SZenglein , Danke für Deine Arbeit!
LiFePo4 ist definitiv die Zukunft. Ich habe vor einiger Zeit durch Fahrlässigkeit einen iPhone Akku hochgejagt und kann nur sagen das ist nicht lustig, im Kinderzimmer undenkbar…
Du hast jetzt viel Aufwand betrieben mit einem zusätzlichen IC. Warum? Hat die Messung des zugegeben sehr ungenauen ADC keine Ergebnisse ergeben mit dem bestehenden System? Ist die Entladekurve zu flach?

1 „Gefällt mir“

Ladekurve ist für LiFePO4 absolut unbrauchbar. Bei meinem Akku und ersten Tests (dauert nur leider ewig den Akku zu entleeren :smiley: ) bewegt sich die Spannung von 20-85% im Bereich zwischen 3.25V und 3.30V. Also zumindest bei Zimmertemperatur könnte man mit genauer Messung sicherlich eine Untergrenze definieren um zu sehen wann der Akku bei 5-10% ist, mehr aber auch nicht.
Das wird alles komplizierter bei schwankenden Temperaturen und Laststrom, daher hat die Fuel Gauge vermutlich auch einen Temperatursensor (oder doch nur um zu warnen?).

Aber so ziemlich alle Quellen online besagen auch, dass die Spannung unbrauchbar ist um den Ladestand zu schätzen.

1 „Gefällt mir“

Hab mich da noch nicht so eingelesen, aber ein TP5000 habe ich hier auf dem Board. Soll wohl auch für LiFePo4 geignet sein. Der hat zwei Ausgänge für LEDs/Ladezustand. Wenn man die Pins jetzt an den ESPuino anschließen und den Zustand auswerten würde? Wäre es mit Deiner Code-Zwischenschicht möglich dies zu erweiterrn? Also Zustand leer/laden/voll? Ich benötige keine exakte Ladezustandsanzeige:

grafik

Bild ist jetzt für Lion, sollte aber aber auch für LiFePo4 gehen.
Du hast Dich da ja richtig mit dem Laden beschäftigt, würde mich interessieren warum Deine Wahl auf den MAX17055 gefallen ist…

@tueddy Das würde ich auf den Port-Expander auflegen, weil da wären eh noch Eingänge frei. Beim Port-Expander hat man pro Port ja acht Kanäle; da muss mich sich das passende Bit nur rausholen. Das hat mit seiner Implementierung (aus meiner Sicht zumindest) erstmal nix zu tun.

Der MAX im Gegenzug wird ja per i2c angeschlossen und darüber ausgelesen. Was halt insofern praktisch ist, wenn man i2c eh am Laufen hat wegen dem Port-Expander.

Die entladekurve hatten wir schon mal - ich glaube ein messen der Spannung bringt nicht viel. Vielleicht voll und leer.

Ja genau, man kann jetzt zum Beispiel analog zur Spannungsmessung oder IC auch eine Implementierung machen die nur isCritical bzw. isLow verwendet und als soc nur feste Werte wie 100% oder 10% zurückgibt. Schau am besten mal in meine neue Battery.h.
Aber schau mal ob der TP5000 die LED auch schaltet wenn er gar keine 5V bekommt. Die „voll“ Erkennung bekommst du notfalls noch über >3.5V hin.

Sowas wie isCharging habe ich nicht reingemacht. Um das gut einzubinden würde man entweder viel öfter abfragen müssen oder am besten einen Interrupt verwenden (können die fuel gauges).

Meine Wahl des MAX17055: Puh, ja das ist eine Kombination aus wenig verfügbaren ICs für LiFePO4 und danach größtenteils Bauchgefühl, haha. Keinesfalls eine professionelle Bewertung. Selbst reine Coulomb counter sind nicht wirklich billiger/einfacher und benötigen viel mehr Software drumherum. Hab dann einfach auf Risiko für 4€ zwei mitbestellt und ausprobiert.

PS: Ach ja, I2C hat zwar nicht nur der MAX17055, aber ist trotzdem ein Riesenvorteil den an quasi jedes Board zusätzlich dranhängen zu können. Idealerweise klebt man den einfach direkt an den Akku, dann kann der mit der internen Temperaturmessung auch richtig messen.

2 „Gefällt mir“

Ich meine, die zeigen nur „Laden“ und „Fertig“ an. Also, nein.

So ist es. Das sind Open-Drain-Anschlüsse, d.h. da wird GND draufgeschaltet, wenn die Eigenschaft aktiv sein soll. Symbolisiert wird das mit dem Strich oberhalb des Ausgangs (Negation).

@SZenglein Kann das sein, dass die Versandkosten „der Tod“ sind bei Mouser, wenn man da unter 50eur bestellt? Ich hab’s ein paar von den MAX gerade mal in den Warenkorb gepackt und dann wollen die 20eur!?

Die Erfahrung habe ich auch gemacht.
https://www.tme.eu hat ein recht großes Sortiment und versendet an Privat - der Max ist leider nicht dabei

Bei Farnell gibt’s den MAX habe ich noch gesehen, allerdings aktuell nicht auf Lager.
Bei RS Components (da habe ich afaik auch ein Geschäftskundenkonto) gibt es ihn grundsätzlich auch, aber derzeit ist er leider nicht lieferbar. Vielleicht muss ich da in Zukunft auch mal bissl mehr schauen, statt immer nur bei Ali. Bei Ali habe ich bereits im September 40 JST PH 2fach bestellt. Die liegen schon seit 1.11 beim Zoll (laut Tracking) und ich habe keine Ahnung warum. Sollte doch alles bezahlt sein. Habe danach noch einiges bestellt und das ist längst da.

Bei Reichelt werden alle Bestellungen (bis 31.12.) welche über paydirekt bezahlt versandkostenfrei geliefert. Bei einem Chip ist das eigentlich ökologischer Irrsinn, da die Jungs nur Standardkisten haben

https://www.reichelt.de/paydirekt-l1911.html?&trstct=tsr_163087

1 „Gefällt mir“

Ja, leider. Und da waren auch nur noch 60-70 Stück auf Lager.

Update: Auf Mouser gibt es dsn auch nicht mehr. Ihr wollt TDFN-10 als Package, WLP-9 geht glaube ich nur mit reflow.

Das ist doch für den Zoll noch Just-in-Time :wink:

(sorry das OT musste jetzt sein :slight_smile: )

Vielleicht wissen andere Leute da Böses zu berichten, aber ich hatte da bislang keine Probleme muss ich sagen :woman_shrugging:. Mal hoffen, dass es bald mal eintrifft. Auf der Seite gibt’s die klassische Covid-Delay-(10-15 Tage)-Ausrede. Die sind aber halt langsam mal rum.

Der MAX17055 ist bei JLC gelistet aber nicht lieferbar. LSCS ruft auf Nachfrage 7 € pro Chip auf … Man müsste also den Chip vermutlich woanders besorgen und dann selber löten?!

Ich habe bisher nur etwas auf EasyEDA gemacht. Dachtest Du an eine Lösung nur mit Max17055 so wie die verlinkte „Micro Fuel Gauge“ oder ein komplettes Ladeboard?

Du lädst aktuell auch mit TP5000 + MOSFET Loadsharing, oder?

Ja der, MAX17055 ist jetzt wohl überall vergriffen. Das muss nicht unbedingt an einer schlechten Wahl liegen, denn alle ähnlichen fuel gauges die ich gefunden habe sind ebenfalls nirgends auf Lager. Das liegt vielleicht auch daran, dass das ein gefragter Chip für Consumer-Elektronik sein könnte.

Ich würde tatsächlich für einen speziellen Batteriemanagement-Chip eher ein kleines Board bevorzugen, das man direkt am Akku befestigen kann wie bei Schutzschaltungen üblich (Sollte dann auch bei getrenntem Akku den Ladestand weiter verfolgen). Baut man sich ein komplettes Ladeboard, kann man das aber auch da drauf packen. Oder man nimmt als Alternative einen einfacheren Coulomb-Counter und macht den Rest in Software.

Richtig, ich lade den Akku mit dem fertigen TP5000 modul und betreibe den ESP32 während 5V anliegt ausschließlich von USB.

Ich bin guter Dinge, dass ich es diese Woche endlich mal schaffe, das Review für den PR von @SZenglein zu machen.
Mehrere TP5000 sind inzwischen auch bei mir eingetroffen, aber der MAX17055 war mir zu teuer bei Ali, für so wenig Mehrwert. Mal schauen wie sich das entwickelt in Zukunft, weil grundsätzlich uninteressant finde ich es ja nicht.

1 „Gefällt mir“

Farnell hat den MAX17055 wieder auf Lager. Hat jemand die Möglichkeit dort zu bestellen? Ich wäre bei einer Sammelbestellung dabei.
https://de.farnell.com/maxim-integrated-products/max17055etb-t/ladezust-messer-lifepo4-li-ion/dp/2857995

Braucht’s dafür nen Geschäftskunden-Account? Wäre kein Problem…