Wünsche für BMS FW

Ich verstehe deine Position. Deine Sorgfalt und Kenntnis lobe ich ausdrücklich. Ich habe keine Idee, was man noch besser prüfen oder machen könnte.
Das sage ich als jemand, der Sondermaschinenbau für sicherheitskritische Anwendungen gemacht hat.

Und ich würde es, wenn es der Notschalter sein soll, trotzdem nicht als Betriebsschalter verwenden.

Einen Schleudersitz betätigt man auch nicht zur Probe....

Sein mir nicht böse, wir bleiben da wahrscheinlich verschiedener Ansicht...

Wir haben da einfach eine völlig unterschiedliche Perspektive.
Wenn ich MOSFETs in Schaltnetzteilen verbaue, schalten diese typischerweise 10e5 bis 10e6 mal pro Sekunde mit Strömen die pro FET vergleichbar zu denen hier sind. Die Herausforderung beim BMS ist eigentlich nur, dass ich da nicht in 10 ns sondern eher in 10 us ausschalten muss, weil die Stromschleife keine 10 nH sondern einige uH hat.
Wenn das nicht der Fall wäre und moderne MOSFETs dabei wegen des Spirito-Effektes eine grundsätzliche Schwäche hätten, wäre das alles völlig harmlos.

1 „Gefällt mir“

Zunächst möchte ich unterscheiden zwischen WR in:

  1. Netzbetriebsart
  2. PV-gekoppelter Modus (schädliche Teilzyklen bei hohem SoC zu verhindern kommt später)

Netzbetriebsart
A.) Wenn Sie neue Zellen erhalten, möchten Sie überprüfen können, ob die Zellen ihren Spezifikationen entsprechen. Manchmal möchte man einen solchen Test zu einem späteren Zeitpunkt wiederholen. Handbetrieb wie Trennschalter betätigen und eine manuelle Unterbrechung der BMS-Stromversorgung stellt für mich in diesem Fall kein Problem dar.

B.) Andererseits möchte ich für irgendeine Art von EV-Anwendung die Möglichkeit haben, maximal schnell über das Stromnetz aufzuladen.

Mit maximal meine ich:

  1. Die Zelltemperaturbeschränkungen des Zellenherstellers oder die besten verfügbaren Kenntnisse bezüglich der Ladestrombegrenzung (bei niedrigen Temperaturen) einhalten.
  2. SoH an einem bestimmten Punkt der Lebensdauer zur Korrektur mit einzubeziehen: Ein Ladestrom von 0,5P wird dann zu 0,5P × SoH. Aber natürlich könnte ich SoH-P auch selbst einstellen, z.B. auf 0,4987P, sofern genügend Nachkommastellen vorhanden sind, oder die Zellkapazität in den BMS-Einstellungen reduzieren. Um diesen aktuellen SoH zu bestimmen, halte ich es für notwendig, die Ladung gemäß den Spezifikationen des Zellenherstellers vorzunehmen, es sei denn, es gibt andere zuverlässige Möglichkeiten zur Bestimmung des SoH ...
  3. zusätzlich zu den Ladeoptionen die Möglichkeit, den Ladestrom bei erhöhten Zelltemperaturen so zu begrenzen, dass die höchste Zelltemperatur unter einem bestimmten Wert bleibt (das ist aber eigentlich ein separater Wunsch)

Ich stimme mit Ihnen überein, dass die Reduzierung der Zeit bei 3,65 V dazu beiträgt, die Anzahl der Zyklen von 4000 auf 8000 zu erhöhen. Andererseits trägt auch die Streckung des SoH von 80 auf 70 % dazu bei und die immer dickeren Stahlplatten bis 17 mm, wobei 8 mm zum Verpressen von der Steifigkeit her ausreichen.

Ich bin nicht vertraut mit der Memory-Effekt, den LFP Zellen ausprägen können, wenn wiederholt Teil(ent)ladezyklen gefahren werden und deren Überhöhungen in der Ladespannung der Zellen.

Ich habe kein Problem mit gelegentlich eine dedizierte Balancing-Phase, in der man die Zellen für > 1 h auf ~ 3.4 - 3.42 V hält. Dies kann sogar standardmäßig im Schnellladeprofil enthalten sein, z. B. Laden auf > 3,50 ~ 3,60 Volt (3,42 korrigiert mit Relaxation) + > 1 Stunde Pause + dann Wiederaufnahme biss auf 3,65 Volt (es sei denn, es ist keine schlechte Idee, den Ladevorgang jedes Mal zwischendurch zu unterbrechen), vorausgesetzt, es wird für einen gelegentlichen Kapazitätstest gemäß dem Verfahren des Herstellers ausgeschaltet.

Was meinen Sie mit:

?

Oben auf die gewünschte konstante Leistung CCL-Regelung, wünsche ich mir: lineare Temperatur gesteuerte Ladestrom Reduzierung, für:

  1. niedrigste Zelltemperatur
  2. höchste Zelltemperatur

Einstellungsmöglichkeiten #1:

  • 0%-Temperatur = z.B. 0ºC
  • 100%-Grenze = Temperatur ohne Leistungsreduzierung = z.B. 25ºC

Linear, also bei 12,5ºC niedrigste Zelltemperatur wird in diesem Fall die Maximale Ladeleistung auf 50% beschränkt.

Einstellung für lineare Reduzierung der höchsten Zelltemperatur (#2):

  • 100%-Temperatur = Temperatur ohne Leistungsreduziering = z.B. 50ºC.
  • 0%-Temperatur = z.B. 60ºC.

Auch wieder linear. In dieses Beispiel CCL auf 50% Leistung runter regeln bei 55ºC.

Temperatur-SoC-Leistung-DCL
Dieser Wunsch hat eine niedrige Priorität.

Mit DCL (Discharge Current Limit, Entladestrombegrenzung) werden die Einschränkungen etwas komplexer. Neben der Temperatur kommt hier der SoC ins Spiel. Der Wunsch besteht hier darin, die DCL basierend auf der Leistung statt auf dem Strom einstellen zu können und die DCL basierend auf der Temperatur und dem SoC begrenzen zu können.

Ziel ist es, Korrekturen mit Sollwerten wie in dieser Tabelle angegeben vornehmen zu können:

Temperatur 5% SoC 10% SoC 20% SoC 30% SoC
-30ºC 0,015 0,03 0,06 0,125
-25ºC 0,03 0,06 0,125 0,25
-15ºC 0,03 0,06 0,125 0,25
-10ºC 0,075 0,175 0,3 0,6
-5ºC 0,125 0,25 0,5 0,75
0ºC 0,15 0,275 0,5 0,75
5ºC 0,15 0,3 0,5 0,75
10ºC 0,16 0,325 0,5 0,875
15ºC 0,16 0,35 0,5 0,875
20ºC 0,175 0,375 0,75 0,875
25ºC 0,175 0,375 0,75 1
50ºC 0,175 0,375 0,75 1
55ºC 0,175 0,375 0,75 0,75
60ºC 0,175 0,375 0,5 0,5

Unter 5 % SoC keine lineare Korrektur mehr. Über 30 % SoC die Korrektur wie bei 30 % SoC einhalten. Außerdem eine lineare Korrektur zwischen allen Punkten anwenden.

PS Die obige Tabelle ist eine Variation einer Tabelle aus dem CB71-Datenblatt Version 01 (2023).

Oft wird SOH ja schlicht als "Kapazität aktuell" / "Kapazität nominal" * 100% angenähert. Eigentlich sollte man aber mindestens auch die Zellimpedanz ( die Veränderung des Überpotentials mit dem Alter ) berücksichtigen. Da das für mich bis jetzt keine praktische Relevanz hatte, habe ich diesbezüglich aber noch nichts implementiert.
Die aktuelle Kapazität meiner Packs bestimme ich im Moment einfach so, dass ich für ein paar Tage das Laden sperre und die entnommene Ladungsmenge abspeichere, bei der die erste Zelle ~ 3.0 V unterschreitet. Das ist natürlich dann alles andere als ein Standardzyklus und variert zudem damit, welches Lastprofil bei mir während dieses Tests vorliegt. Da bei gegebener Temperatur die entnehmbare Kapazität einer LFP Zelle aber nur relativ schwach von der Stromstärke ( zumindest in einem vernünftigen Bereich, z.B. 0 - 0.5 C ) abhängt, reicht mir persönlich die Genauigkeit.

Für die über CAN an den WR gemeldeten maximal erlaubten (Ent-)ladeströme habe ich bereits ein mehrfach stückweise lineares Derating für tiefe und hohe Temperaturen, tiefe und hohe Zellspannung ( <=> grob tiefer, hoher SOC ) und bei hoher FET-Temperatur implementiert. Ein Derating nach SOH läßt sich da einfach ergänzen.

Hier hatte ich zu dem Thema mal etwas erläutert.

Das verstehe ich glaube ich nicht im Detail.

Vorbemerkung: Meine Packs haben ~ die 10fache Kapazität meines typischen täglichen Bedarfs.
Ich bringe meine Packs nur wenige Male im Jahr auf > 3.4 V, also auf 100 % SOC. In den "Phasen dazwischen", die bei mir mehrere Monate lang sein können, orientiere ich mich rein am dem SOC-Schätzwert auf Basis des Coulomb Countings meines BMS. Im Kernwinter zykle ich meine Packs vorwiegend um ~ 80 % SOC ( um Reserve für die ganz ertragsarmen Tage zu haben), den Rest des Jahres eher um 50 % SOC. Wenn die SOC-Schätzung hinreichend genau ist, kann man Packs, bei denen man nicht täglich die komplette Kapazität nutzt also noch deutlich schonender fahren, als das man jeden Tag "nur" bis 98 % SOC läd.
Ich wollte also auf den Punkt aufmerksam machen, dass, wenn man sich davon verabschiedet, dass die SOC-Schätzung immer so unzuverlässig ist, wie bei vielen BMS, dass das neue Optionen in der Steuerung ermöglicht.

Bitte vergessen Sie, was ich früher dazu geschrieben habe.

Eine neue Idee für ein Standard-Schnellladeprofil mit Balancing-Phase für die Prozesssicherheit: Ein 2-Stufigem Ladeverfahren.

Stufe 1: 0,5P bis 3,65V (schon bei erreichen 3,4V einen "> 1 h" Timer starten)
Stufe 2: CV@3,4~3,42V bis der Timer abgelaufen ist.

Funktioniert das Schnellladen auf diese Weise gut und wie vorgesehen?

Hoffentlich übernimmt das BMS hier die Verwaltung selbst, wenn es Zeit für eine Schnellladung in 2 Ladeschritten ist.

PS Daneben will ich zwischen 20 ~ 30ºC ein Datenblatt 0.5P Ladeverfahren starten können, ohne Deratings und ohne Stufe 2. Wahrscheinlich kann ich über den WR den Befehl geben, die komplette Batterie ins Netz zu laden.

Solche großen Nutzer-veränderbaren Tabellen vorzusehen, finde ich eher unglücklich. Tendenziell wäre es deutlich eleganter daraus die elektrochemischen Eigenschaften der Zelle ( Ionenbeweglichkeit im Elektrolyt in Abhängigkeit der Temperatur ... ) zu extrahieren und das Ganze damit auf einige wenige Parameter zu reduzieren.

Ich stelle mir auch die Frage, wie das BMS reagieren soll, wenn der WR sich daran einfach nicht hält, bzw. wie streng das BMS das Überwachen soll. Bei wieviel Überschreitung nach welcher Zeit soll es zur Trennung kommen?

Ich vermute mit 4,2 V ist eigentlich 3,42 V gemeint.

Im Grunde hatte ich genau in die Richtung gedacht. Würde das aber im Detail etwas abwandeln:
Das BMS kann einen bestimmten Ladestrom zwar anfordern, aber nicht erzwingen.
Das Lademanagment des BMS sollte aber auch für den Fall, dass deutlich weniger Ladestrom anliegt, als angefordert wird, "wohl definiert" sein.
Deswegen würde ich das Endkriterium für Phase1 wie folgt abwandeln:
Wenn die maximale Zellspannung V_cell_max zwischen 3.38 V und 3.65 V liegt, ein Ladestrom vorliegt und dieser Ladestrom für einige Sekunden kleiner als f1( V_cell_max ) ist, wird Phase1 beendet. f1( V_cell_max ) ist so definiert, dass der Wert von 0 A bei 3.38 V linear bis auf ( 0.5 P / 3.65 V ) ansteigt.
Damit hat man unabhängig vom konkreten Ladestrom ein Endkriterium, dass in erster Näherung einen gleichbleibenden SOC der Zelle erzeugt.

Phase2 würde ich optional gestalten. Meiner Einschätzung nach macht ein tägliches Balancing in typischen Anwendungen keinen Sinn, sondern sollte einmal pro Woche oder sogar nur alle paar Wochen stattfinden. Für den Kapazitätstest-Modus könnte man dann einfach ein "Balancing Inhibit Today"-Flag ergänzen, das ein möglicherweise für den spezifischen Tag geplantes Balancing einfach auf den nächsten Tag verschiebt.

Eine Balancing-Phase hauptsächlich über einen Timer zu beenden finde ich unschön. Ob das Balancing beendet ist ergibt sich aus der restlichen Zellspannungsdifferenz und ganz entscheidend der Frage, ob sich die Zellspannung einzelner Zellen noch nennenswert verändert. Insbesondere eine fallende Zellspannung ohne aktives Balancing für diese Zelle bei weiterhin positivem Ladestrom ist ein Zeichen dafür, das eine Zelle noch relaxiert und eine Bewertung der Zellspannungsdifferenz noch garnicht möglich ist. Dies wird umso relevanter je gealterter die Zellen sind.
Diesbezüglich habe ich sowieso schon eine Auswertung implementiert.

Wenn man den "CP-Modus" wie oben beschrieben implementiert, müßte man nur vorher kontrollieren, dass die Batterie einen Temperaturbereich hat, der den Test ohne Derating ermöglicht, setzt das "Balancing Inhibit Today"-Flag und kann loslegen.

Ich denke es wäre aber sinnvoll, dass das BMS auch die Sequenzierung von zuerst komplett entladen, ein paar Minuten warten, komplett laden, 30 min warten, komplett entladen, mindestens wieder auf 30% SOC laden, übernimmt, weil es ein Alptraum sein dürfte, das immer alles manuell auszulösen.

Bei 200% nach 30 Sekunde trennen.

Unschön ist es, doch wie erfüllt man anders diesen "> 1 h"... Ich vermute, dass Ihr ">1 h" eine Art vereinfachtes Etikett für ein Subsystem wie das ist, das Sie hier beschreiben:

Weil ich meine Batterie nicht elektrochemisch bei 100% voll nutzen möchte, ist diesen "3.38 V" Wert vielleicht zu hoch. Ich erwarte, dass die Ruhespannung nach 0.5P + relaxieren niedriger ist. Die Unkenntnis der Ruhespannung bei 0,5P ist der allererste Grund, sich überhaupt ein 0,5P Ladeprofil zu wünschen.

Hier kommt es zu einem Konflikt zwischen der Leistungsreduzierung und den „Cycle-Test“-Parametern. Erfolgt die Derating-Maßnahme linear über der Temperatur, beginnt der Strom bereits unter 25 °C zu sinken (laut meine Tabelle hier oben, ≥ 30% SoC). Der Zyklustest lässt jedoch 25 ± 2 ºC zu.

Ja sicher, aber ich würde nicht wagen, mir so viel zu wünschen …
(ein paar Minuten = 30)

Exakt, ">1 h" sollte von den Details abstrahieren.

Sehr wahrscheinlich muss man diesen "Fußpunkt" in der Tat etwas tiefer ansetzen.

Ich fürchte bei einem 0.5 P Ladeprofil wird es sowieso keine wirklich konsistente Ruhespannung geben, weil diese mindestens von Temperatur und Zellalterung abhängt. Sicher ist nur, dass sie tiefer liegen wird als bei Ladenende mit 0.05 C.
Ich denke es ist aber auch relativ irrelevant für die Zellalterung, ob man bis 99 % oder 99.5 % vom üblichen 100% SOC läd. Für die Kathode wäre mir nicht bekannt, dass das Extrahieren von 0.5 % Lithium-Ionen mehr oder weniger einen großen Unterschied machen würde. Die Stufen, bei denen im Graphit "zusätzliche Schichten aufgemacht" werden liegen deutlich anders. Der relevante Vorteil bei 0.5 P dürfte einzig die Reduktion der Zeit bei hoher Zellspannung sein.
Diesen Vorteil kann man auch haben, indem man gegen Ladeende einfach langsamer läd, also den CV-Wert z.B. auf 3.4 V oder 3.45 V statt 3.65 V legt. Das mache ich seit Jahren so.

1 „Gefällt mir“

Vermutlich werde ich im realen Betrieb kaum mal Zeit haben im meine Zellen zu balancieren. Maximal nachts und da möchte ich keine zusätzliche Energie zum (aktiven) balancieren bereitstellen.

Heute sind meine 160kWh bereits deutlich an ihre Grenzen gekommen. Gegen 15 Uhr bin ich bereits bei guten 80% vorbeigeschrappt weil ich heute früh etwas spät mit bereits 30% SOC angefangen habe. Die Multiplus haben ein Temperatur-Derating, so daß ich anstelle der rechnerisch und kurzzeitig tatsächlich möglichen 30kVA auf Dauer tatsächlich nur gut 20kW eingespeist kriege. 24 kW gehen über 1-2 Stunden, 22kW etwa 4-5 Stunden. Irgendwann sind die Trafos so heiss, daß auf 20,5kW abgeregelt wird. Ich muß also dringend noch mal 15kVA Multis parallel schalten um auf dauerhafte 30kVA zu kommen. Der VNB macht da aktuell nicht mehr mit und möchte einen Wandlerschrank haben. Ansonsten muß ich einen externen NA Schutz plus zusätzliche Pav,e Überwachung einbauen weil die installierte WR Leistung sonst ja größer sein könnte als das was der eHZ kann. Wenngleich in VDE auch steht, daß nur tatsächlich zum Betrieb konfigurierte Leistungen zur Überwachung berücksichtigt werden müssen. Das ist aber nicht der einzige Streitpunkt mit meinem VNB. Aber lassen wir das.

Zum Balancieren müsste ich >>90% SOC kommen. Um so weit zu kommen, braucht man viel Zeit mit kleinerem Ladestrom welchen ich eigentlich nicht dauerhaft habe. Im Winter kein Problem, aber im Sommer weis ich nicht wie ich das hinkriege. Wenn die Politik vernüftig kapieren würde, könnte ich täglich sogar zwei Zyklen fahren. Einen im Peak morgens und einen abends entladen. So ist jetzt aber um diese Zeit etwa Entladeschluss. Im Sommer natürlich noch später.

Um über Nacht balancieren zu können, müsste ich die Energie auf 100% SOC von einem Hilfssystem beziehen und dann etwa ab Mitternacht entladen um bei Sonnenaufgang wieder aufnahmefähig zu sein. Vielleicht schlechtes Wetter aussuchen. Obwohl die Wetterberichte in Niederschlag und Temparaturen am Vortag schon ziemlich gut sind, liegen sie besonders bezüglich der lokalen Bewölkung trotz Wolkenrader oftmals völlig daneben.

Eine Anlage, die 500 Zyklen im Jahr fahren soll, stellt natürlich ganz andere Anforderungen als eine mit 50.

Mit Zellen, die sich nach knapp 150 Tagen ohne Top-Balancing so verhalten


wäre das vermutlich alles unproblemtisch.

Bei "abgerockten" Zellen wie hier


sollte man den Pack dann wohl eher in Rente schicken. ( Hierbei ist wichtig, das jegliches Balancing deaktiviert war, um das natürliche Relaxieren der Zellen aufzuzeigen). Bei Zelle 8 dauert dieser Vorgang mehrere Stunden, so dass man solange warten muss, bevor man beurteilen kann, wie voll diese Zelle wirklich ist.
Wenn man dieser Zelle um 12:00 Ladung entnehmen würde, würde man sie fälschlicherweise entladen. Bei Zelle 16 kann man erst zwischen 13:00 und 14:00 sicher sein, dass diese zu viel Ladung hat.

Was bedeutet hier die rote Farbe für Zelle "3"?

Die scheinbar analog einstellbaren Balancing-Ströme werden bei mir mittels "low frequency" PWM erzeugt. Wenn die Zellnummer rot ist, bedeutet dies, dass diese Zelle gerade mit einem Balancing-Strom von ~ 180 mA belastet wird. In dem Beispiel wird das für die Zelle 3 mit einem DC von ~ 50% der Fall sein.

1 „Gefällt mir“