Planung erster ESPuino

@SZenglein
parallel zum Akku kann dann der ESP hängen, oder muss der beim Laden abgekoppelt werden?

Weil dann würde ja beim Laden ein Teil des Ladestroms in die Schaltung „verschwinden“

Das ist ein valider Einwand. Ich glaube nicht dass das ein Problem ist, aus zwei Gründen: Das Ladegerät lädt den Akku ja abhängig von seiner Spannung, und die bricht nicht sofort ein nur weil der ESPuino im Betrieb ist (laden mit 1A und ESPuino ca 150mA Verbrauch).
Selbst wenn das Ladegerät „verwirrt“ ist von dem Betriebsstrom, lädt es im Zweifel den Akku weniger voll, was nichts schlechtes ist, im Gegenteil.

Disclaimer: Ich bin kein Experte was das anbelangt, also im Zweifel recherchier nochmal ob das dem Akku schaden kann.

1 „Gefällt mir“

Den ESPuino (ich schreibe extra nicht ESP32) ohne Festspannungsregler zu betreiben, da bin ich nicht so der ganz große Fan von. Also wenn man so nen ESP32 in einem Setting einsetzt, wo es auf jedes uA quasi ankommt, dann bin ich voll bei dir. Aber beim ESPuino gibt es doch auch so ein paar Abhängigkeiten. Also ich hatte zB schon das Problem, dass der ESPuino irgendwann komisch reagiert hat und es lag einfach daran, dass die Akkuspannung zu gering war. Das muss man dann halt zu deuten wissen. Klar: Lässt man den LDO weg, dann gewinnt man natürlich die Spannungsdifferenz, die man sonst am LDO verlieren würde (0,2 V oder so). Aber man verliert auch „konstante Verhältnisse“. Verstehe mich nicht falsch: Ich sage nicht, dass das falsch ist oder dass das nicht geht. Aber diejenigen, die das so betreiben, denen muss halt klar sein, dass das ne potentielle Fehlerquelle ist. Wenn man damit umzugehen weiß, dann bin ich da völlig d’accord. Es ist nur keine Lösung, die ich jetzt propagieren würde, weil ich es sonst am Ende supporten muss :joy:.

Weil man damit auch 3.3V rauskriegt, obwohl die Spannung unter 3.3V gefallen ist. Da kann man z.B. einen STBB1-APUR verwenden, dem kannst du eine zu kleine oder eine zu große Spannung geben - hinten kommt dann das Passende raus. Zumindest habe ich das so verstanden, eingebaut habe ich ihn noch nicht.

Das muss aber unterscheiden können zwischen kein Akku angeschlossen und es ist einer dran, der halt ne niedrige Spannung hat :slight_smile:.

EDIT:
Ich meine übrigens gelesen zu haben, dass der TP5000 eine Unterspannungserkennung integriert hat. Aber das wird man dann mit Mosfets extra beschalten müssen und das wird mit dem TP5000-Develboard dann vermutlich nicht gehen.

Absolut gerechtfertigt. Persönliche Evidenz ist dass es keine Probleme macht, aber das will nichts heißen. Vielleicht verhält sich LiFePO4 aber auch einfach anders und kann auch bei niedriger Spannung besser mit Stromspitzen umgehen als andere Akkus.
Hat ein potentielles „complete“ board mit LiFePO4 support denn einen step-up verbaut? Eine bessere Lösung wäre es natürlich schon.

Ah, für mich ist die die Unterscheidung „Buck“ für Spannung reduzieren und „Boost“ oder „step-up“ für Spannung höher. Das wäre dann ein „Buck-Boost“. Keine Ahnung ob das so richtig ist.
Wenn man den STBB1-APUR verlöten will, kann man auch gleich noch nen MAX17055 als Batteriemanagement dazunehmen, der hat das gleiche Package. :smiley:

Guter Einwand, das behalte ich mal im Hinterkopf für den Code. Bei LiFePo4 tritt das Problem ja nicht auf, da ohne Akku nicht <3.2V anliegen sollten.
(Okay ich habe mal geschaut. Ein leerer LiPo liegt ja genau um die 3.3V, da wird das nur mit Spannungsmessung nichts. Wer davon ausgeht, das der ESPuino auch ohne Akku betrieben wird muss das Feature eben ausschalten.)

Ich denke das würde man so lösen, wie das beim Lolin D32 pro auch gelöst ist: Man hat einen P-Channel-Mosfet, dessen Gate man mit einem Pulldown verbindet und zudem mit VUSB. Das führt dann dazu, dass der Mosfet gesperrt ist, wenn eine Spannungsversorgung über USB stattfindet. Leiten würde man über diesen Mostfet die Stromversorgung des Akkus. VUSB ist seinerseits natürlich dann auch am TP5000 angeschlossen, damit dieser den Akku laden kann.
Die Ausgangsspannung des Akkus müsste man einfach auf den 3.3V-Anschluss des Lolin D32 pro führen können, was zur Folge hat, dass die Abschaltung der Peripherie via Mosfet-Schaltung unverändert bleiben kann.

Ja.

Ja stimmt schon :slight_smile:.

Tja, das ist immer so die Sache. Im Endeffekt reicht es falsche Werte einzutragen in die Settings-Files und dann wird die Spannung falsch berechnet. Dass da „Mondwerte“ rauskommen geht schnell :joy:.

1 „Gefällt mir“

Ja stimmt. Ich habe bei mir den Akku auch per mosfet abgekoppelt wenn 5V anliegen.
Als Perfektionist wollte ich aber auch, dass der ESPuino nicht abstürzt wenn man 5V zum laden anschließt. Bei mir hat es dafür etwas experimentieren und im Endeffekt einen sehr kleinen (470) Pull-down (ergibt 10mA Verluststrom) und großen (1000 µF) Kondensator gebraucht, um eineserseits die Abschaltgeschwindigkeit beim Mosfet zu haben und andererseits die Spannung zu stabilisieren.

Muss man wissen ob man das braucht. Schalten die fertigen Boards da eigentlich schnell genug oder bricht die Spannung kurz ein wenn der Stecker gezogen wird?

Ob die einbricht (wird sie sicherlich ein bisschen tun) müsste ich mir mal auf meinem Oszi anschauen. Aber auf jeden Fall nicht so, dass es dem ESP32 was macht. Also abstürzen tut da nix.

Okay, kurze Recherche ergibt, dass es kein Problem ist die Batterie im System zu lassen wenn geladen wird. Solarladegeräte und ähnliches machen das auch so. Da gibt es ja auch keine externe Spannungsquelle auf die kurz umgeschaltet wird. (Naja Netzstrom gäbe es, aber wenn die Sonne scheint will man das ja auch nutzen :joy:) NEIN! Seid vorsichtig was ihr mit LiPos macht.

Der Mosfet beim D32 pro scheint laut schematic nur zu existieren, damit die Batterie keine 5V von VBUS abbekommt. Durch die Body diode kann die Batterie eigentlich immer Spannung abgeben. Dann dürfte es auch keinen Verlust der Spannung geben. Ich habe die Batterie in beide Richtungen abgetrennt, weil ja an 3v3 keine Spannung liegen soll wenn 5V anliegen.

Also wenn die Batterie direkt an 3V3 soll würde ich mich daran nicht orientieren. Wenn Batterie und 5V als parallel geschaltet werden und dann durch einen Regulator gehen passt das aber besser.

Edit: Kram gelöscht.

Hab Käse geschrieben. Vergiss es :joy:
Hatte Diode und nicht Mosfet gelesen. Eieiei.

Okay, vergessen. Du hast vermutlich D2 gemeint :smiley:

Okay, ich muss meine Aussage revidieren.

Also auf jeden Fall beim Laden alles über 5V betreiben, sonst weiß der TP5000 nicht wann er aufhören muss zu laden. Gilt zwar für normalie Li-Ion, aber ist bei LiFePO4 sicher auch nicht verkehrt.

Ich habe mir das Develboard für den TP5000 mal angeschaut. Der ist so kompakt, dass man ihn sogar auf meiner rev3 unten im Bereich der USB-Buchse am Lolin D32 pro noch integrieren könnte - mit recht wenig Aufwand in der Anpassung des Leiterbahn-Routings. Nur scheinen die Löcher aber recht groß zu sein. Keine Ahnung, ob das so Sinn macht, das auf einen normalen Pinsocket zu löten, um es zu sockeln auf dem rev3-PCB.

Auf jeden Fall verliert man damit:

  • Festspannungsregler
  • Messung der Akkuspannung

Wie war das von wegen nicht offiziell propagieren? :wink:

Dann benötigst du ja die Mosfet-Schaltung (die hat man dann doppelt beim D32 Pro). Doppelt hätte man dann auch die Spannungsmessung (wenn zusätzlich). Und einen TP4054 ungenutzt zum TP5000.

Das kann man natürlich machen, aber ob das sinnvoll ist beim D32 Pro? Wenn du in die Richtung gehen willst wäre das vermutlich spannender für die Boards die normalerweise gar keine Akku-Unterstützung haben, also z.B. DevkitC. Oder einfach den 3V3 extern zugänglich machen, wenn das jemand braucht kann er es selbst bauen.

PS: Die Löcher passen auf ganz normales 2.54mm Format.

Hehe. Also sagen wir es mal so: Ich kann so ne PCB-Anpassung recht einfach machen, aber mein Bock hält sich so ein bisschen in Grenzen das zu testen + zu supporten.

Korrekt.

Ich selbst eigentlich nicht, weil das wird mir dann in der Breite auch langsam zu viel. Aber ich könnte PCB-technisch was beisteuern, wenn es jmd. hilft.

Da hast du natürlich Recht. Für DevKit C wäre das eine Option sowas nachzurüsten. Welchen benutzt du denn da mit einem WROVER drauf?

Ich hatte mir den hier bestellt. Ist aber gerade eh aus und bei Mouser bestellen lohnt sich auch erst ab 50€.
https://www.mouser.de/ProductDetail/356-ESP32-DEVKTC32VE

Ich hatte schonmal etwas in der Richtung geschrieben dass man vielleicht ein extra Board entwerfen könnte für die Stromversorgung. Also USB (C) rein, 5V, 3.3V raus mit Batterieanschluss und Ladeelektronik und evtl. die USB data lanes noch durchschleifen um debugging zu haben.
Kann man dann für jedes Board verwenden. Man könnte optional einen ordentlichen LDO verwenden (nicht AMS1117) der auch im Deepsleep gut ist.
Man ist dann halt langsam an einem Punkt wo man das Devboard weglassen könnte und direkt den Wrover verbaut. :sweat_smile:

Das ist letztendlich deine Entscheidung wie viel du noch extra entwerfen und supporten willst, daher lass dir nicht zu viel reinquatschen, haha.

Auf jeden Fall.

Ich mache da erstmal nix, hehe.
Denke ich werde eher mal ne Complete machen; habe noch fünf ESP32-Wrover hier liegen, die ich irgendwann mal mitbestellt hat.

Gut egal, wird jetzt offtopic.
@Kinimod Zusammenfassung: Also es schon Mittel und Wege. Aber ist auf jeden Fall nix, was es jetzt schon irgendwie fertig gäbe.

Und nur falls das jetzt untergegangen ist: Das einzige wirkliche Problem ist der LiFePO4.
Falls du den dennoch verwenden willst ist hier meine Schaltung. Ich weiß nicht ob die Schaltung gut ist aber sie funktioniert. :grin:


Widerstände müssen nicht ganz so genau passen und statt 1000µF reichen vielleicht auch 500, hatte ich aber nicht da.

2 „Gefällt mir“

Auch wenn es reichlich spät ist, danke für eure Tipps und Diskusion hier zum Thema Akku/LiFePO.

Ich muss mich erst einmal bei euren Antworten zurecht finden und mein Projekt neu planen nach der Zeit.

@biologist konntest du dich evtl. in das Thema bereits etwas einlesen?

Also wenn man eine Platine komplett selbst plant und lötet, dann ist die Kombination aus tp5000 und beispielsweise des o.g. Buck-Boost-Converters am universellsten. Weil damit hat man hinten raus 3.3 V, verliert keine Spannung wie beim LDO (Festspannungsregler) und kann LiPo oder FePo nutzen. Nachteil: Maximaler Aufwand.

Man plant und lötet wieder alles selbst, aber verwendet den tp5000 mit Festspannungsregler. Dann kann man auch LiPo und FePo nutzen, aber verliert durch den LDO ein bisschen Spannung, die einem vielleicht fehlt. Also es schränkt im ungünstigsten Falle die Nutzungsdauer mit einer Akkuladung bei FePo ein (habe ich aber nicht getestet). Ohne LDO geht es aus meiner Sicht nicht, weil du willst den ja auch mit Netzspannung betreiben können und den Akku abkoppeln, wenn er geladen wird. Anders gesagt: Wie oben beschrieben, sollte der Akku nicht gleichzeitig geladen und entladen werden, da der Batterie-Regler dann nicht erkennt, wenn der Akku voll ist.

Willst du nix selbst entwickeln, dann ist es vermutlich am einfachsten, wenn man so ein TP5000-Modul nimmt und damit den FePo lädt. Die Spannung des Akku injiziert man von extern in den 3.3-Anschluss des Develboards. Man muss aber per externer Schaltung dafür sorgen, dass der Akku beim Laden abgekoppelt wird. Mit abkoppeln meine ich: Wenn du auf Netzspannung gehst, dann kommen die 3.3 V aus dem Ausgang des Develboards raus. Und dann willst du ja nicht mit dem FePo da Strom injizieren.

Also da muss man sich schon Gedanken machen.
Hilft dir das?

1 „Gefällt mir“

@Kinimod Support für LiFePO4 hätten wir jetzt: ESP32-Develboard "D32 pro LiFePO4"

1 „Gefällt mir“