BlockWerk Anleitungen

Batteriemanagement: Schätzung des Ladezustands (SOC)

Ein Batteriemanagementsystem (BMS) kennt über eine Zelle zwei direkte Messwerte: Wie viel Strom fließt und welche Klemmenspannung anliegt. Keiner dieser Werte entspricht direkt dem Ladezustand (State of Charge, SOC). Der Strom liefert die Ladung nur dann, wenn der Stromsensor absolut fehlerfrei misst — was in der Praxis nie der Fall ist. Die Spannung spiegelt den Ladezustand wider, jedoch nur über eine nichtlineare Kennlinie mit stark variierender Steigung.

Diese Fallstudie entwickelt den Zustandsschätzer, wie er in realen BMS-Systemen zum Einsatz kommt: Ein Extended Kalman Filter (EKF), das beide Messsignale kontinuierlich auswertet, den schleichenden Nullpunktfehler des Stromsensors online lernt und den Ladezustand zusammen mit einem verlässlichen statistischen Unsicherheitsintervall ausgibt.

Das Zellmodell

Eine Lithium-Ionen-Zelle (Typ 18650), modelliert als Thévenin-Ersatzschaltbild: Ohmscher Innenwiderstand, ein RC-Polarisationszweig und eine ladezustandsabhängige Leerlaufspannung.

V=VOC(SOC)−V1−R0IdSOCdt=−I3600 Qcap,dV1dt=−V1τ+IC1V = V_{OC}(SOC) - V_1 - R_0 I \qquad \frac{dSOC}{dt} = -\frac{I}{3600\,Q_{cap}}, \qquad \frac{dV_1}{dt} = -\frac{V_1}{\tau} + \frac{I}{C_1}

ParameterBedeutungWert
QcapQ_{cap}Nennkapazität3,20 Ah3{,}20\ \text{Ah}
R0R_0Ohmscher Innenwiderstand0,05 Ω0{,}05\ \Omega
R1R_1Polarisationswiderstand0,02 Ω0{,}02\ \Omega
C1C_1Polarisationskapazität1000 F1000\ \text{F}
τ=R1C1\tau = R_1C_1Polarisationszeitkonstante20 s20\ \text{s}

Zwei Zustandsgrößen: Die Polarisationsspannung V1V_1 lässt sich anhand der Zellerholung gut erfassen. Die Herausforderung liegt im Zustand SOC, da dieser nicht direkt messbar ist.

Warum reines Coulomb-Counting nicht ausreicht

Strom integrieren, durch Kapazität dividieren und vom Startwert subtrahieren: Scheinbar simpel, modellfrei und über eine Stunde hinweg scheinbar perfekt.

Das Problem: Ein systematischer Messfehler des Stromsensors wird unweigerlich zu verloren gegangener Ladung integriert:

d SOCerrdt=δI3600 Qcap\frac{d\,SOC_{err}}{dt} = \frac{\delta I}{3600\,Q_{cap}}

Die Driftrate hängt vom absoluten Offset δI\delta I in Ampere ab, nicht von der relativen Last.

LaststromSensor-FehlerδI\delta IDrift pro Stunde
2 A2 %0{,}04 A1{,}25 % / h
10 A2 %0{,}20 A6{,}25 % / h
10 A5 %0{,}50 A15{,}6 % / h
2 A10 %0{,}20 A6{,}25 % / h
10 A10 %1{,}00 A31{,}3 % / h

Ein konstanter Offset von 0,20 A führt stets zu 6,25 % Drift pro Stunde — unabhängig davon, ob 2 A oder 10 A fließen. Auf einer Ladezustandsachse von 0…100 % wirkt die Drift wie eine langsame Rampe und bleibt unbemerkt, bis das System versagt. Erforderlich ist daher eine unabhängige Kontrollgröße: Die Klemmenspannung.

Was die Leerlaufspannung verrät

Wird der Laststrom abgeschaltet, baut sich die Polarisationsspannung V1V_1 ab. An den Klemmen verbleibt die Leerlaufspannung (Open-Circuit Voltage, OCV) — eine reine Funktion des Ladezustands:

V=VOC(SOC)V = V_{OC}(SOC)

Die Kennlinie ist jedoch stark nichtlinear:

SOC-Bereich∂VOC/∂SOC\partial V_{OC}/\partial SOCSteigung gegenüber Plateau
0–10 %5{,}00 V / Einheitsladung8{,}3×
10–20 %1{,}502{,}5×
20–90 %0{,}60 – 0{,}90Plateauzone
90–100 %0{,}601{,}0×

Im steilen Bereich entspricht eine Ladeänderung von 10 % einer Spannungsänderung von 0,5 V, im flachen Plateau dagegen nur 60 mV. Die lokale Steigung bestimmt unmittelbar die Beobachtbarkeit des Zustandsraums.

Das Extended Kalman Filter (EKF)

Ein lineares Kalman-Filter, das an einem festen Arbeitspunkt linearisiert wird, führt bei veränderlichem Ladezustand zu massiven Schätzfehlern. Das Extended Kalman Filter (EKF) linearisiert die Kennlinie daher in jedem Zeitschritt am aktuellen Zustandsschätzwert neu:

H=[∂VOC∂SOC∣SOChat,  −1]H = \left[\left.\frac{\partial V_{OC}}{\partial SOC}\right|_{SOC_{hat}},\; -1\right]

Dadurch arbeitet das Filter stets mit der realen lokalen Empfindlichkeit und bleibt über den gesamten Betriebsbereich von 5 % bis 95 % SOC frei von systematischen Verzerrungen (Bias).

Parameterabstimmung

QQ repräsentiert die zugestandene Modellunsicherheit (z. B. Temperatureinfluss, Alterung). RR quantifiziert das Sensorrauschen. Die Kalman-Verstärkung balanciert diese beiden Größen aus. Ein Anheben von RR dämpft Rauschen, verlangsamt aber die Konvergenz; ein Verringern von RR lässt das Filter stärker auf die Spannungsmessung reagieren.

Siehe auch

  • BatterySocEkf: Der EKF-Schätzblock mit OCV-Kennlinientabelle und Sensorbias-Kompensation.
  • KalmanFilter: Standard-Kalman-Filter für lineare Übertragungssysteme.
  • LookupTable: Tabellarische Funktionswertauswertung.
  • uPlotDisplay: Mehrkanal-Telemetrieanzeige von SOC, Spannung und Unsicherheitsbändern.

In BlockWerk simulieren

Interaktive Sandbox direkt im Browser — keine Installation, WebAssembly-Engine.

In BlockWerk simulieren →