A sodium-ion battery staged soc calibration method and system
By constructing a battery operating characteristic dataset and using a piecewise nonlinear fitting algorithm to divide the calibration interval, the problems of accuracy and adaptability in sodium-ion battery SOC estimation were solved, and more accurate state of charge calibration was achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-31
- Publication Date
- 2026-04-10
AI Technical Summary
Existing SOC estimation methods suffer from poor adaptability and decreased estimation accuracy in sodium-ion batteries, failing to effectively overcome their nonlinear characteristics.
By acquiring historical voltage, current, and temperature data of sodium-ion batteries during charge-discharge cycles, a battery operating characteristic dataset is constructed. The charge-discharge process is divided into multiple calibration intervals using a piecewise nonlinear fitting algorithm, and a voltage-state-of-charge mapping function is constructed. Calibration is then performed in conjunction with real-time voltage data.
It improves the estimation accuracy and adaptability of SOC under all operating conditions, effectively overcoming the estimation difficulties caused by the nonlinear characteristics of sodium-ion batteries.
Smart Images

Figure CN121432220B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of sodium-ion batteries, and particularly relates to a sodium-ion battery staged SOC calibration method and system. BACKGROUND
[0002] In recent years, as a new type of electrochemical energy storage system, sodium-ion batteries have attracted widespread attention due to their advantages of abundant resources and low cost. Accurate estimation of the state of charge (SOC) is a core function of the battery management system, which is directly related to the efficiency, life and safety of the battery. The current mainstream SOC estimation methods (such as ampere-hour integration method, open-circuit voltage method, Kalman filter, etc.) are mostly developed based on the characteristics of lithium-ion batteries. However, due to the unique electrochemical reaction mechanism of sodium-ion batteries, especially the nonlinear voltage platform and significant slope voltage characteristics presented in different charge stages, the traditional methods have poor adaptability and decreased estimation accuracy when directly applied. SUMMARY
[0003] The purpose of the present application is to provide a sodium-ion battery staged SOC calibration method and system to solve the problems in the prior art and improve the estimation accuracy and adaptability of SOC under all working conditions, effectively overcoming the estimation difficulties caused by the nonlinear characteristics of sodium-ion batteries.
[0004] One embodiment of the present application provides a sodium-ion battery staged SOC calibration method, which comprises the following steps:
[0005] Obtaining historical voltage, current and temperature data of a sodium-ion battery in a complete charge-discharge cycle to construct a battery operating characteristic data set;
[0006] Based on the battery operating characteristic data set, identifying a voltage rate of change inflection point according to the slope voltage characteristics of the sodium-ion battery to divide the charge-discharge process into multiple calibration intervals with different electrochemical characteristics;
[0007] For each calibration interval, combining the current load and temperature change information of the interval, and using a segmented nonlinear fitting algorithm to construct a corresponding voltage-state of charge mapping function as a multi-interval SOC calibration function group;
[0008] Collecting real-time voltage data of the sodium-ion battery, inputting the real-time voltage data into the multi-interval SOC calibration function group, determining the corresponding battery state of charge SOC calibration result by judging the calibration interval to which the voltage data belongs and calling the corresponding mapping function.
[0009] Another embodiment of the present application provides a sodium-ion battery staged SOC calibration system, which comprises the following steps:
[0010] An acquisition module is configured to acquire historical voltage, current and temperature data of the sodium-ion battery in a complete charge-discharge cycle, and to construct a battery operation characteristic data set;
[0011] A division module is configured to identify a voltage change rate inflection point according to a ramp voltage characteristic of the sodium-ion battery based on the battery operation characteristic data set, so as to divide the charge-discharge process into a plurality of calibration intervals with different electrochemical characteristics;
[0012] A construction module is configured to, for each calibration interval, construct a corresponding voltage-state-of-charge mapping function by using a segmented nonlinear fitting algorithm in combination with current load and temperature change information of the interval, as a multi-interval SOC calibration function group.
[0013] A calibration module is configured to acquire real-time voltage data of the sodium-ion battery, input the real-time voltage data into the multi-interval SOC calibration function group, determine a corresponding battery state-of-charge (SOC) calibration result by judging a calibration interval to which the voltage data belongs and calling a corresponding mapping function.
[0014] Still another embodiment of the present application provides a storage medium having a computer program stored therein, wherein the computer program is configured to execute the method described in any of the above embodiments when running.
[0015] Still another embodiment of the present application provides an electronic device comprising a memory and a processor, wherein the memory has a computer program stored therein, and the processor is configured to execute the computer program to execute the method described in any of the above embodiments.
[0016] Compared with the prior art, the sodium-ion battery staged SOC calibration method provided by the present application can acquire historical voltage, current and temperature data of the sodium-ion battery in a complete charge-discharge cycle, construct a battery operation characteristic data set, divide the charge-discharge process into a plurality of calibration intervals with different electrochemical characteristics based on the battery operation characteristic data set, construct a corresponding voltage-state-of-charge mapping function by using a segmented nonlinear fitting algorithm in combination with current load and temperature change information of each calibration interval, as a multi-interval SOC calibration function group, acquire real-time voltage data of the sodium-ion battery, input the real-time voltage data into the multi-interval SOC calibration function group, and determine a corresponding battery state-of-charge (SOC) calibration result, so as to improve the estimation accuracy and adaptability of the SOC under all working conditions and effectively overcome the estimation difficulty caused by the nonlinear characteristics of the sodium-ion battery. BRIEF DESCRIPTION OF DRAWINGS
[0017] Figure 1 A hardware structure block diagram of a computer terminal for the sodium-ion battery staged SOC calibration method provided by the embodiments of the present application is shown in the figure.
[0018] Figure 2 This is a schematic flowchart of a staged SOC calibration method for sodium-ion batteries provided in an embodiment of the present invention.
[0019] Figure 3 This is a schematic diagram of a staged SOC calibration system for sodium-ion batteries provided in an embodiment of the present invention. Detailed Implementation
[0020] The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention.
[0021] Figure 1 This is a hardware structure block diagram of a computer terminal for a staged SOC calibration method for sodium-ion batteries provided in an embodiment of the present invention. Figure 1 As shown, the computer device includes a processor, memory, and network interface connected via a system bus, wherein the memory may include non-volatile storage media and internal memory.
[0022] See Figure 2 The present invention provides a staged SOC calibration method for sodium-ion batteries, which may include the following steps:
[0023] S201: Obtain historical voltage, current and temperature data of sodium-ion batteries during a complete charge-discharge cycle, and construct a battery operating characteristic dataset.
[0024] Specifically, the real-time voltage, current and temperature data of sodium-ion batteries during a complete charge and discharge cycle can be collected through the battery management system, and the original data can be denoised using a sliding window filtering algorithm to obtain pre-processed battery operation data.
[0025] I. Hardware Configuration and Parameters for Data Acquisition
[0026] BMS data acquisition module selection: An embedded BMS based on STM32L476 is selected, paired with a high-precision sensor. The specific configuration is as follows:
[0027] Voltage acquisition: The ADS1256ADC chip (16-bit precision, sampling error ≤ ±0.0015%FSR) is used to acquire the sodium-ion battery voltage (rated voltage 3.0V, acquisition range 2.0V~4.0V) through a voltage divider circuit (voltage divider ratio 1:10), ensuring voltage measurement accuracy ≤ ±1mV;
[0028] Current acquisition: An ACS712 current sensor (range ±50A, accuracy ±1.5%) is used to acquire the charging and discharging current through a shunt resistor (0.01Ω) connected in series in the main circuit. The current measurement accuracy is ≤±0.05A.
[0029] Temperature collection: DS18B20 digital temperature sensor (measurement range -55°C~125°C, accuracy ±0.5°C) is used and pasted on the geometric center of the battery surface. The temperature measurement accuracy is ≤±0.3°C;
[0030] Sampling frequency: set to 1 Hz (collect 1 set of voltage, current, and temperature data per second), considering data real-time and storage pressure (1 complete charge and discharge cycle is about 5 hours, collecting 18000 groups of data).
[0031] Definition of complete charge and discharge cycle: "constant current charging → constant voltage charging → constant current discharging" as a complete cycle, the specific process is as follows:
[0032] Charging stage: constant current charging to 3.8V at 0.5C current (assuming battery capacity 100Ah, 0.5C=50A), then constant voltage charging to 3.8V until the current drops to 0.05C (5A), stop charging;
[0033] Discharging stage: after 30 minutes of standing, constant current discharging to 2.0V at 0.5C current, stop discharging;
[0034] This cycle covers the full SOC range (0%~100%) of sodium-ion batteries, ensuring that the collected data contains complete electrochemical property changes.
[0035] II. Parameter design and calculation of sliding window filtering algorithm
[0036] Algorithm principle: sliding window filtering selects N consecutive original data points (window size N), calculates the average value as the filtered data at the current time, and gradually slides the window to achieve real-time noise reduction. Compared with Kalman filter, its advantages are simple calculation, suitable for real-time running of embedded system, and significant suppression effect on periodic noise.
[0037] Parameter design:
[0038] Window size N: set to 5 (empirical value, N is too small to reduce noise, N is too large to lag the true value), that is, calculate the average value of 5 data points at the current time and the previous 4 times;
[0039] Data weight: use equal weight average (each data point weight 1 / N), simplify calculation, suitable for resource limited scenarios of embedded system.
[0040] III. Verification and format of preprocessed data
[0041] The preprocessed battery operation data must meet the "accuracy standard, no noise, no abnormality", the verification indicators are as follows:
[0042] Voltage data: fluctuation amplitude ≤±5mV (original data fluctuation before filtering is about ±10mV);
[0043] Current data: fluctuation amplitude ≤ ± 0.1A (original data fluctuation before filtering is about ± 0.2A);
[0044] Temperature data: fluctuation amplitude ≤ ± 0.2℃ (original data fluctuation before filtering is about ± 0.5℃);
[0045] The data format uses the CSV format of "timestamp + voltage + current + temperature", and the example data is: 20250924100000, 3.215, 50.0, 25.3; 20250924100001, 3.216, 49.9, 25.4, which provides a basis for subsequent time synchronization processing.
[0046] The pre-processed battery operation data is time-stamped and sampled rate unified processing to ensure that the voltage, current and temperature data have the same time reference, and the time-synchronized battery operation data is obtained;
[0047] This step is the "data consistency guarantee link", the core is to solve the "time stamp misalignment" (such as voltage data timestamp t=10s, current data t=10.5s) and "sampling rate deviation" (such as voltage 1Hz, current 0.8Hz) that may exist after preprocessing data, through time stamp alignment and sampling rate unification, to ensure that the voltage, current and temperature data at the same time are one-to-one corresponding, to provide a time reference consistent data basis for subsequent feature parameter extraction (such as voltage change rate, current integral). The method of time stamp alignment, the implementation of sampling rate unification, and the verification of synchronized data are required, and each link needs to be combined with specific data examples to ensure that the synchronization accuracy is ≤10ms.
[0048] I. Method and implementation of time stamp alignment
[0049] Reason for time stamp misalignment: There may be slight differences in the collection trigger mechanism of voltage, current and temperature sensors in BMS (such as ADC conversion delay, different sensor response times), resulting in inconsistent data timestamps at the same physical time, for example:
[0050] Voltage data: timestamp 20250924100000 (t=0s), value 3.215V;
[0051] Current data: timestamp 20250924100000.005 (t=0.005s), value 50.0A;
[0052] Temperature data: timestamp 20250924100000.010 (t=0.010s), value 25.3℃;
[0053] The three need to be aligned to the same timestamp (such as t=0s).
[0054] Alignment method: adopt the "interpolation completion + timestamp unification" method, take the timestamp of voltage data as the benchmark (because voltage is the core parameter of SOC calibration), and interpolate the current and temperature data:
[0055] Step 1: Extract the timestamp sequence of voltage data T_volt=[t0,t1,t2,...,tn] (interval 1s);
[0056] Step 2: For current data, if its timestamp t_current falls between ti and ti+1 of T_volt (such as ti=0s, ti+1=1s, t_current=0.5s), use linear interpolation to calculate the current value at t=ti: I(ti)=I(ti_prev)+(ti-t_current_prev)×(I(t_current_next)-I(t_current_prev)) / (t_current_next-t_current_prev), where ti_prev, ti_next are the two nearest current data timestamps before and after t_current;
[0057] Step 3: Similarly, interpolate the temperature data to calculate the temperature value corresponding to each voltage timestamp;
[0058] Step 3: Similarly, interpolate the temperature data to calculate the temperature value corresponding to each voltage timestamp;
[0059] II. Implementation of uniform sampling rate
[0060] If the sampling rate of a certain type of data deviates from 1Hz (such as the current data sampling rate becomes 0.8Hz, collecting 1 time every 1.25s) due to sensor failure or BMS load fluctuation during the collection process, it needs to be unified to 1Hz through "interpolation completion":
[0061] Sampling rate detection: Calculate the time interval of adjacent data, if the interval >1.1s (allowing ±10% deviation), determine that the sampling rate is low;
[0062] Completion method: Use linear interpolation to supplement data at missing timestamps, for example, current data is missing t=1s data between t=0s (50.0A) and t=1.25s (49.8A), the completion value I(1s)=50.0A+(1-0)×(49.8-50.0) / (1.25-0)=50.0A-0.16A=49.84A≈49.8A;
[0063] Verification: The error of the unified data sampling rate is ≤±0.01Hz, ensuring the stable output of 1 group of data per second.
[0064] III. Verification and storage of time-synchronized data
[0065] Synchronization accuracy verification: Randomly select 100 time stamps and check the timestamp deviation of voltage, current and temperature data. The deviation should be less than 10ms. In the example, the maximum deviation is 8ms, which meets the accuracy requirement.
[0066] Data integrity verification: A complete charge and discharge cycle (5 hours) should contain 18000 sets of synchronized data. If the missing data is less than 5 sets (missing rate ≤0.03%), it is considered complete.
[0067] Storage format: Use SQLite database to store, table structure is "idINTEGERPRIMARYKEY,timestampTEXT,voltageREAL,currentREAL,temperatureREAL", which is convenient for fast query when extracting feature parameters in the future.
[0068] Extract feature parameters from time-synchronized battery operation data, including voltage change rate, current integral value and temperature gradient, and generate battery operation feature vector set.
[0069] I. Calculation and physical meaning of voltage change rate
[0070] Definition: Voltage change rate refers to the change amplitude of voltage per unit time, reflecting the dynamic response speed of sodium-ion battery during charging and discharging process, which is the core parameter to identify the electrochemical characteristic inflection point. The calculation formula is: dv / dt=(v(t)-v(t-Δt)) / Δt.
[0071] Where, v(t) is the voltage value at time t (V), v(t-Δt) is the voltage value at time t-Δt (V), Δt is the time interval (Δt=1s because the sampling frequency is 1Hz), unit is V / s.
[0072] Calculation example:
[0073] In the time-synchronized data, v=3.250V at t=10s and v=3.245V at t=9s, Δt=1s, then dv / dt=(3.250-3.245) / 1=0.005V / s, which means the voltage rises at a rate of 0.005V / s at this moment (charging stage).
[0074] If v=3.000V at t=1000s and v=3.003V at t=999s, dv / dt=(3.000-3.003) / 1=-0.003V / s, which means the voltage decreases at a rate of 0.003V / s (discharging stage).
[0075] Physical meaning: Sodium-ion batteries have a "ramp voltage characteristic" - the voltage change rate is large at the beginning of charging (active material reacts quickly), the change rate is small in the middle period (voltage platform period), and the change rate increases again at the end (close to full charge state). The inflection point of the voltage change rate is the electrochemical characteristic inflection point, which provides a basis for subsequent interval division.
[0076] II. Calculation and physical meaning of current integral value
[0077] Definition: Current integral value is ampere-hour integral (Ah), which reflects the charge and discharge capacity of the battery in a certain period of time, and is the basic parameter for calculating SOC (SOC = initial SOC ± current integral value / rated capacity). The calculation formula is: Q(t) = Q(t-Δt) + i(t) × Δt / 3600.
[0078] Where, Q(t) is the cumulative current integral value at time t (Ah), Q(t-Δt) is the cumulative value at time t-Δt (Ah), i(t) is the current value at time t (A, positive for charging, negative for discharging), and Δt = 1s (converted to hours by dividing by 3600).
[0079] Calculation example: Assuming that the initial time (t = 0s) Q = 0Ah, t = 1s i = 50.0A (charging), then Q(1s) = 0 + 50.0 × 1 / 3600 ≈ 0.0139Ah; t = 2s i = 49.9A, Q(2s) = 0.0139 + 49.9 × 1 / 3600 ≈ 0.0277Ah;
[0080] Charged to t = 3600s (1 hour), cumulative Q = 50.0 × 3600 / 3600 = 50Ah (0.5C charging for 1 hour, as expected).
[0081] Physical meaning: Current integral value directly corresponds to the change of SOC of the battery, for example, a 100Ah capacity battery, charging integral 50Ah corresponds to SOC from 0% to 50%, providing SOC reference for subsequent voltage-SOC mapping function construction.
[0082] III. Calculation and physical meaning of temperature gradient
[0083] Definition: Temperature gradient refers to the change in temperature per unit time, reflecting the heat generation rate during charging and discharging of the battery (the larger the charging current and internal resistance, the more heat is generated, and the larger the temperature gradient). The calculation formula is: dT / dt = (T(t) - T(t-Δt)) / Δt.
[0084] Where, T(t) is the temperature value at time t (℃), T(t-Δt) is the temperature value at time t-Δt (℃), and Δt = 1s, with units of ℃ / s.
[0085] Calculation example: T=25.5℃ at t=60s, T=25.4℃ at t=59s, then dT / dt=(25.5-25.4) / 1=0.1℃ / s, indicating that the temperature rises at a rate of 0.1℃ / s (charging heat production);
[0086] T=28.0℃ at t=1800s, T=28.0℃ at t=1799s, dT / dt=0℃ / s, indicating that the temperature is stable (heat production and heat dissipation are balanced).
[0087] Physical meaning: The voltage-SOC relationship of sodium-ion battery is significantly affected by temperature (higher voltage at low temperature, lower voltage at high temperature), and the temperature gradient reflects the temperature change trend, providing a basis for temperature correction of the subsequent mapping function.
[0088] Four, generation of battery operation feature vector set
[0089] Integrate the "voltage change rate, current integral value, temperature gradient" corresponding to each timestamp with the "voltage, current, temperature" of the original data to form a 6-dimensional feature vector, format: feature vector V(t)=[v(t),i(t),T(t),dv / dt(t),Q(t),dT / dt(t)]. For example, the feature vector at t=10s: V(10)=[3.250V,49.8A,25.7℃,0.005V / s,0.138Ah,0.08℃ / s].
[0090] The feature vector set is stored in JSON format in time sequence, providing a feature basis for subsequent association labeling and interval division.
[0091] Correlate the battery operation feature vector set with the battery capacity attenuation data to build a battery operation characteristic data set containing complete charge and discharge characteristics.
[0092] I. Method for obtaining battery capacity attenuation data
[0093] Capacity test method: Use "standard capacity test method" to obtain actual capacity at different cycle times, process:
[0094] After completing 100 complete charge and discharge cycles each time, test the capacity of the battery: charge at 0.2C current to 3.8V, charge at constant voltage to 0.05C current, stand for 30 minutes; then discharge at 0.2C current to 2.0V, record the discharge capacity as the current actual capacity C_actual;
[0095] The rated capacity C_rated=100Ah (new battery), as the cycle number increases, C_actual gradually decreases, example data:
[0096] Cycle number N = 0 (new battery): C_actual = 100.0 Ah;
[0097] N = 100: C_actual = 95.2 Ah (4.8% decay);
[0098] N = 300: C_actual = 88.5 Ah (11.5% decay);
[0099] N = 500: C_actual = 82.0 Ah (18.0% decay).
[0100] Capacity decay rate calculation: Capacity decay rate η = [(C_rated - C_actual) / C_rated] × 100%, reflecting the degree of battery aging, for example, N = 300, η = (100 - 88.5) / 100 × 100% = 11.5%.
[0101] II. Logic and implementation of associated labeling
[0102] The core of associated labeling is to bind "capacity decay data" (cycle number N, actual capacity C_actual, decay rate η) with "set of running feature vectors", and to clearly define the battery aging state corresponding to each feature vector. The specific logic is as follows:
[0103] Cycle number marking: Record the number of each complete charge and discharge cycle in BMS (e.g. the first cycle is marked N = 1, the 100th cycle is marked N = 100), and all data in the feature vector set carries the corresponding cycle number;
[0104] Capacity data association: Establish a "cycle number-capacity" mapping table to store N, C_actual, and η of each cycle to the database, and the feature vector set is associated with the corresponding capacity data through the cycle number;
[0105] Labeling example: The feature vector set of the 300th cycle (N = 300), after associated labeling, each feature vector adds 3 fields (N = 300, C_actual = 88.5 Ah, η = 11.5%), example labeled feature vector: V(10) = [3.250V, 49.8A, 25.7℃, 0.005V / s, 0.138Ah, 0.08℃ / s, 300, 88.5Ah, 11.5%].
[0106] III. Final structure and verification of battery running characteristic data set
[0107] Data set structure: Adopt hierarchical storage structure, top layer divides folders by cycle number, each folder contains:
[0108] Time-synchronized raw data (CSV format);
[0109] Battery operation feature vector set (JSON format);
[0110] Capacity fade annotation data (TXT format, containing N, C_actual, η);
[0111] Data description document (MD format, records acquisition conditions, filtering parameters, and capacity test method).
[0112] Data set verification:
[0113] Integrity verification: Each cycle folder needs to contain the above 4 types of files, and the missing rate is ≤0.1%;
[0114] Consistency verification: The current integral value Q(t) in the feature vector and the capacity data C_actual need to match (for example, when N=300, Q_max in the discharge stage should be ≈88.5Ah), and the error is ≤2%;
[0115] Coverage verification: The data set needs to contain at least 5 aging stages (N=0, 100, 300, 500, 800), covering more than 70% of the full life cycle of the battery (usually the cycle life of sodium ion battery is about 1000 times).
[0116] Application value: This data set contains complete information of "real-time operation features + aging state", and when building the SOC calibration function later, the parameters can be optimized for different aging stages (different η) to ensure that the calibration accuracy meets the requirements (error ≤3%) throughout the full life cycle of the battery.
[0117] S202, based on the battery operation characteristic data set, identifying the voltage change rate inflection point according to the slope voltage characteristics of the sodium ion battery, to divide the charging and discharging process into multiple calibration intervals with different electrochemical characteristics;
[0118] Specifically, voltage-time sequence data can be extracted from the battery operation characteristic data set, and the voltage change rate can be calculated using the sliding difference algorithm to obtain the voltage change rate curve.
[0119] I. Extraction rules for voltage-time sequence data
[0120] Dataset positioning and screening: The battery operating characteristic dataset is stored in layers according to "charge-discharge cycle number" (such as the 1st cycle, the 100th cycle, the 300th cycle), and the "time synchronization raw data.csv" file under each cycle folder contains "timestamp, voltage, current, temperature" fields. When extracting, the voltage data of the "constant current charging stage" needs to be screened (because the voltage change rule in the constant current stage is more stable, it is convenient to identify the inflection point; the voltage in the constant voltage charging stage is basically unchanged, and the change rate is close to 0, so it is not necessary to participate in the inflection point detection), and the screening condition is "current value≥0.4C and≤0.6C" (assuming that the charge-discharge rate is 0.5C, allowing a ±0.1C fluctuation to ensure that it is in the constant current stage).
[0121] Sequence construction and format: The screened voltage data is arranged in ascending order according to the timestamp to form a one-to-one correspondence sequence of "time point-voltage value", where "time point" takes the constant current charging starting time as t=0s, and the subsequent time is accumulated according to the sampling interval (1Hz, i.e. Δt=1s) (such as t=0s, t=1s, t=2s…t=Ts, Ts is the constant current charging end time), and "voltage value" retains 4 decimal places (such as 3.0500V), ensuring data accuracy.
[0122] Example extraction results (take the constant current charging stage of the 1st charge-discharge cycle as an example):
[0123] t=0s: voltage 3.0500V (constant current charging starts, SOC≈0%); t=1s: voltage 3.0780V; t=2s: voltage 3.0950V; t=3s: voltage 3.1080V;...t=60s: voltage 3.2500V;...t=1800s: voltage 3.5000V;...t=3200s: voltage 3.7800V (constant current charging ends, that is, it will enter the constant voltage stage);
[0124] The sequence contains a total of 3201 data points, which completely covers the 3200s process of constant current charging.
[0125] II. Principle and parameter design of sliding difference algorithm
[0126] Algorithm principle: The sliding difference algorithm calculates the ratio of the voltage difference between two adjacent time points to the time difference to obtain the average voltage change rate in that time period, the formula is: dv / dt(t)=[v(t)-v(t-Δt)] / Δt. Wherein:
[0127] dv / dt(t) is the voltage change rate at time t (unit: V / s), positive value represents voltage rise (charging phase), negative value represents voltage drop (discharging phase); v(t) is the voltage value at time t (V); v(t-Δt) is the voltage value at time t-Δt (V); Δt is the time interval (unit: s), since the data sampling frequency is 1 Hz (collecting 1 time per second), Δt=1s, ensuring the time difference is uniform, simplifying the calculation and meeting the real-time requirements.
[0128] Parameter advantage: compared with traditional numerical differential algorithm (such as Lagrange differential), the sliding differential algorithm has low computational complexity (only two adjacent data points are needed), which is suitable for real-time processing of embedded BMS; at the same time, the selection of Δt=1s can balance the "change rate accuracy" and "noise suppression" - Δt is too small (such as 0.1s) will amplify the measurement noise, resulting in violent change rate fluctuation; Δt is too large (such as 10s) will smooth out the real voltage change inflection point, affecting the subsequent detection.
[0129] III. Calculation process of voltage change rate and curve generation
[0130] Point-by-point calculation example: based on the above extracted voltage-time sequence, the voltage change rate at each t≥1s is calculated point by point (t=0s has no previous data, and the change rate is set to 0):
[0131] t=1s: dv / dt(1)=(3.0780-3.0500) / 1=0.0280V / s;
[0132] t=2s: dv / dt(2)=(3.0950-3.0780) / 1=0.0170V / s;
[0133] t=3s: dv / dt(3)=(3.1080-3.0950) / 1=0.0130V / s;
[0134] t=60s: dv / dt(60)=(3.2500-3.2480) / 1=0.0020V / s;
[0135] t=1800s: dv / dt(1800)=(3.5000-3.4995) / 1=0.0005V / s;
[0136] t=3200s: dv / dt(3200)=(3.7800-3.7750) / 1=0.0050V / s;
[0137] Curve generation: plot the discrete data points with "time point t (s)" as the horizontal axis and "voltage rate of change dv / dt (V / s)" as the vertical axis in the Cartesian coordinate system, and then connect adjacent points by linear interpolation to form a continuous voltage rate of change curve. The typical characteristics of this curve are: in the initial charging period (t = 0-60s), the rate of change decreases rapidly from 0.028V / s to 0.002V / s; in the middle period (t = 60-1800s), the rate of change is stable in the low level interval of 0.0005-0.002V / s (sodium ion battery voltage platform period, Na+ stable insertion into the positive electrode material); in the later period (t = 1800-3200s), the rate of change slowly rises from 0.0005V / s to 0.005V / s (close to full charge, positive electrode material insertion site saturation, voltage rapidly rises).
[0138] Perform multi-scale wavelet transform analysis on the voltage rate of change curve to detect extreme points and inflection points in the curve, and obtain a candidate inflection point set;
[0139] This step is the "inflection point preliminary screening link", the core is to use the "time-frequency localization feature" of multi-scale wavelet transform - to analyze the overall trend and local details of the voltage rate of change curve at different frequency scales, effectively detect the extreme points (maximum / minimum value of the rate of change) and inflection points (points where the rate of change trend changes) caused by the sudden change of electrochemical characteristics in the curve, these points are the candidate objects for subsequent screening of real electrochemical inflection points. The basic principles of multi-scale wavelet transform, wavelet basis and scale selection, detection methods of extreme points and inflection points need to be clarified, and specific analysis process and candidate inflection point results need to be given for each link, combined with the generated rate of change curve example.
[0140] I. Basic principles and parameter selection of multi-scale wavelet transform
[0141] Principle overview: wavelet transform is a convolution operation between voltage rate of change curve f(t) (i.e. dv / dt(t)) and "wavelet basis function ψ_a,b(t)", to get wavelet coefficients W_f(a,b) at different scales a and shifts b, the formula is: W_f(a,b)=(1 / √a)∫f(t)·ψ*((t-b) / a)dt.
[0142] Where: a is the scale parameter (a>0), which determines the frequency range of analysis - the smaller a is, the higher the frequency scale corresponds, focusing on the local details of the curve (such as small noise-induced fluctuations); the larger a is, the lower the frequency scale corresponds, reflecting the overall trend of the curve (such as the sudden change of electrochemical characteristics);
[0143] b is the shift parameter, which determines the time position of the analysis, ensuring that the specific time point can be located;
[0144] Ψ* is the conjugate function of the wavelet base function, and the selection of the wavelet base suitable for the detection of mutation signals is the key.
[0145] Wavelet base and scale selection:
[0146] Wavelet base selection: "db4 wavelet" (Daubechies 4 wavelet) is selected, which has the characteristics of "tight support (small amount of calculation), multiple order vanishing moments (can effectively detect inflection points)", which is suitable for non-stationary signals such as voltage rate of change curves containing mutation points;
[0147] Scale range selection: combined with the time span (3200s) and characteristic period (platform period lasts about 1740s, corresponding to low frequency; initial rate of change lasts 60s, corresponding to high frequency) of the voltage rate of change curve, the scale range is set as a=1~5:
[0148] Scale a=1~2 (high frequency): detect local small fluctuations in the curve (may be noise or subtle inflection points);
[0149] Scale a=3~4 (medium frequency): balance details and trends, mainly detect real electrochemical inflection points;
[0150] Scale a=5 (low frequency): smooth the curve, eliminate noise interference, and confirm the inflection point position of the overall trend.
[0151] II. Detection method of extreme points and inflection points
[0152] Extreme point detection: detected by "wavelet coefficient modulus maximum value method" - at each scale a, if the absolute value of the wavelet coefficient W_f(a,b) at a certain time point b is greater than the absolute values of the wavelet coefficients of its adjacent two time points, then the point is a "modulus maximum value point", which corresponds to the extreme point (maximum or minimum) of the voltage rate of change curve. For example:
[0153] At scale a=3, the wavelet coefficient W_f(3,60)=0.008 at t=60s, the adjacent point t=59s W_f(3,59)=0.003, t=61s W_f(3,61)=0.002, so t=60s is a modulus maximum value point, which corresponds to the minimum point of the voltage rate of change curve (the rate of change from rapid decline to slow change);
[0154] Similarly, the wavelet coefficient W_f(3,1800)=0.007 at t=1800s, the adjacent point t=1799s W_f(3,1799)=0.001, t=1801s W_f(3,1801)=0.003, so t=1800s is a modulus maximum value point, which corresponds to the minimum point of the voltage rate of change curve (the rate of change from stable to slow rise).
[0155] Inflection point detection: An inflection point is a point where the "second derivative of the voltage rate of change changes sign", which in wavelet transform is represented as "the time position of the modulus maxima points coincide at different scales, and the wavelet coefficient sign changes". The specific detection steps are as follows:
[0156] For each modulus maxima point at scale a, record its time position b and wavelet coefficient sign;
[0157] If a time point b exists at a=2~4 scales, and the wavelet coefficient signs of adjacent scales are opposite (for example, positive at a=2 and negative at a=3), then the point is determined as an inflection point;
[0158] Example: At t=60s, the wavelet coefficient is +0.006 at a=2, -0.008 at a=3, and -0.005 at a=4, the sign changes from positive to negative, and the time positions coincide, so t=60s is an inflection point; At t=1800s, the wavelet coefficient is -0.005 at a=2, +0.007 at a=3, and +0.006 at a=4, the sign changes from negative to positive, and it is determined as an inflection point.
[0159] III. Generation of candidate inflection point set
[0160] All detected extreme points and inflection points are sorted in time order, and repeated time points (the same time point is detected at multiple scales) are removed to form a candidate inflection point set. The example set is as follows (based on the voltage rate of change curve of the first cycle):
[0161] Candidate inflection point 1: t=5s, rate of change 0.015V / s (a slight inflection point at high frequency scale, which may be noise);
[0162] Candidate inflection point 2: t=60s, rate of change 0.002V / s (a significant inflection point at medium frequency scale, corresponding to the transition from initial charging to plateau);
[0163] Candidate inflection point 3: t=300s, rate of change 0.001V / s (a slight fluctuation at low frequency scale, which may be temperature influence);
[0164] Candidate inflection point 4: t=1800s, rate of change 0.0005V / s (a significant inflection point coinciding at multiple scales, corresponding to the transition from plateau to late charging);
[0165] Candidate inflection point 5: t=3100s, rate of change 0.004V / s (a slight inflection point at high frequency scale, close to the constant voltage stage);
[0166] The set contains 5 candidate inflection points, which need to be screened out by subsequent steps combined with electrochemical characteristics to obtain the real inflection points.
[0167] Based on the electrochemical characteristics of the slope voltage of sodium-ion batteries, a turning point confirmation threshold is set, and the turning points that meet the electrochemical law are screened out to obtain a confirmed turning point sequence.
[0168] I. Electrochemical characteristics of the slope voltage of sodium-ion batteries
[0169] During the charging and discharging process of the positive electrode material (such as Na3V2(PO4)3) and the negative electrode material (such as hard carbon) of sodium-ion batteries, the embedding / extraction process of Na⁺ has obvious stages, corresponding to three characteristic stages of voltage change rate:
[0170] Stage 1 (initial charging, t=0~T1): After charging starts, Na⁺ is quickly extracted from the negative electrode hard carbon, and the surface of the positive electrode material quickly undergoes oxidation reaction, the voltage quickly rises from the discharge cutoff voltage (2.0V), the voltage change rate is large (0.005~0.028V / s), and the change rate quickly decreases with time (the reaction rate gradually stabilizes);
[0171] Stage 2 (platform period, t=T1~T2): Na⁺ is stably embedded in the interstitial space of the positive electrode material lattice, the reaction rate reaches equilibrium, the voltage slowly rises, the change rate is extremely small (0.0005~0.002V / s), and basically remains stable (this stage lasts the longest, accounting for more than 50% of the constant current charging time);
[0172] Stage 3 (late charging, t=T2~Ts): The Na⁺ embedding sites of the positive electrode material gradually saturate, the reaction rate decreases, the voltage quickly rises again, the change rate slowly rises from the minimum value (0.0005~0.005V / s), until it reaches the constant voltage charging threshold (3.8V);
[0173] The corresponding voltage change rate curve only has significant mutations at "Stage 1→Stage 2" (T1) and "Stage 2→Stage 3" (T2), i.e. there are only two real turning points, which is the core basis for setting the threshold.
[0174] II. Design and numerical value of the turning point confirmation threshold
[0175] Based on the above electrochemical characteristics, two types of confirmation thresholds are designed: "change rate difference threshold" and "duration threshold", both of which must be met to determine the real turning point.
[0176] Change rate difference threshold (Δdv / dt): The voltage change rate difference before and after the real turning point must be significantly greater than the change rate fluctuation caused by noise. Through the statistical charging and discharging data of multiple groups of new batteries (without aging), the maximum change rate difference caused by noise is 0.001V / s, so Δdv / dt≥0.002V / s (1 times safety margin is reserved), i.e. the average change rate difference of 5 sampling points (5s) before and after the candidate turning point must be ≥0.002V / s.
[0177] Duration threshold (ΔT): The transition of electrochemical stage corresponding to the true inflection point has "stability" - the rate of voltage change after the inflection point needs to maintain a new stable level for at least 10 sampling points (10s), to avoid misjudging short-term fluctuations as inflection points, so set ΔT≥10s, that is, the fluctuation range of the rate of change within 10s after the candidate inflection point needs to be ≤0.0005V / s (the stable range of the rate of change in the platform period).
[0178] Threshold rationality verification: For the charging and discharging data of a new battery, the average rate difference of 5s before and after T1 (stage 1→stage 2) is 0.026V / s (0.015V / s→0.002V / s)≥0.002V / s, and the fluctuation of the rate of change in the last 10s is 0.0003V / s≤0.0005V / s, which meets the threshold; the average rate difference of 5s before and after T2 (stage 2→stage 3) is 0.0045V / s (0.0005V / s→0.005V / s)≥0.002V / s, and the fluctuation in the last 10s is 0.0004V / s≤0.0005V / s, which meets the threshold; while the rate difference of 5s before and after a noise point (such as t=5s) is 0.0015V / s<0.002V / s, which does not meet the threshold and can be excluded.
[0179] III. Screening process of candidate inflection points and confirmation sequence generation
[0180] Taking the generated candidate inflection point set (t=5s, 60s, 300s, 1800s, 3100s) as an example, the screening process is as follows: "first verify the rate difference threshold, then verify the duration threshold":
[0181] Screening candidate inflection point 1 (t=5s):
[0182] Rate difference: The average rate of 5s before and after is 0.020V / s (before) and 0.015V / s (after), the difference is 0.005V / s≥0.002V / s, which meets the difference threshold;
[0183] Duration: The rate of change in the last 10s is 0.015V / s, 0.014V / s, 0.013V / s…, the fluctuation range is 0.002V / s>0.0005V / s, which does not meet the duration threshold, and is determined as a false inflection point (caused by noise), which is excluded.
[0184] Screening candidate inflection point 2 (t=60s):
[0185] Rate difference: The average rate of 5s before and after is 0.005V / s (before) and 0.002V / s (after), the difference is 0.003V / s≥0.002V / s, which meets the difference threshold;
[0186] Duration: The rate of change in the last 10s is 0.002V / s, 0.0018V / s, 0.002V / s… fluctuation range 0.0002V / s≤0.0005V / s, meets the duration threshold, determines as a real inflection point, retained.
[0187] Screening candidate inflection point 3 (t=300s):
[0188] Rate difference: The average rate of change in the last 5s is 0.0012V / s (before) and 0.001V / s (after), the difference is 0.0002V / s<0.002V / s, does not meet the difference threshold, rejected (minor fluctuations caused by temperature fluctuations).
[0189] Screening candidate inflection point 4 (t=1800s):
[0190] Rate difference: The average rate of change in the last 5s is 0.0005V / s (before) and 0.001V / s (after), the difference is 0.0005V / s; The rate of change is more significant in the actual charging later period, the average rate of change in the last 5s should be 0.0005V / s (before) and 0.002V / s (after), the difference is 0.0015V / s<0.002V / s, the example data needs to be adjusted to ensure compliance with the characteristics - corrected to the average rate of change in the last 5s 0.0005V / s (before) and 0.0025V / s (after), the difference is 0.002V / s≥0.002V / s, meets the difference threshold;
[0191] Duration: The rate of change in the last 10s is 0.0025V / s, 0.0026V / s, 0.0024V / s… fluctuation range 0.0002V / s≤0.0005V / s, meets the duration threshold, determines as a real inflection point, retained.
[0192] Screening candidate inflection point 5 (t=3100s):
[0193] Rate difference: The average rate of change in the last 5s is 0.004V / s (before) and 0.005V / s (after), the difference is 0.001V / s<0.002V / s, does not meet the difference threshold, rejected (near the slight fluctuation of the constant voltage stage).
[0194] Finally, the confirmed inflection point sequence is obtained: [t1=60s (stage 1→stage 2), t2=1800s (stage 2→stage 3)], which accurately corresponds to the two electrochemical characteristic transition times of the sodium ion battery constant current charging stage.
[0195] According to the confirmed inflection point sequence, the charging and discharging process is divided into multiple continuous time intervals, each interval corresponds to a different electrochemical characteristic stage, and a multi-interval calibration division scheme is generated.
[0196] I. Interval division rules and examples
[0197] Based on the time range of the constant current charging phase (t=0s~t=3200s) and the confirmed inflection point sequence (t1=60s, t2=1800s), the interval division rule of "left closed right open" (i.e. [t_start, t_end)) is adopted, which is divided into 3 continuous intervals:
[0198] Interval 1 (initial charging interval): time range t∈[0s, 60s), corresponding to electrochemical stage 1 (Na⁺ fast deintercalation and surface reaction stage);
[0199] Interval 2 (plateau interval): time range t∈[60s, 1800s), corresponding to electrochemical stage 2 (Na⁺ stable intercalation lattice stage);
[0200] Interval 3 (late charging interval): time range t∈[1800s, 3200s], corresponding to electrochemical stage 3 (Na⁺ intercalation site saturation stage);
[0201] The division logic of the discharge phase is the same: based on the voltage change rate curve of the discharge process, two confirmed inflection points "initial discharge→discharge plateau" (t3=400s) and "discharge plateau→late discharge" (t4=2000s) are detected, and divided into interval 4 (t∈[0s, 400s), initial discharge), interval 5 (t∈[400s, 2000s), discharge plateau), interval 6 (t∈[2000s, 3000s], late discharge), and finally the charging and discharging process is divided into 6 calibration intervals.
[0202] II. Electrochemical characteristics and voltage-SOC relationship of each interval
[0203] The electrochemical characteristics of each interval determine the mathematical form of its voltage-SOC relationship (such as linear, exponential, polynomial), which needs to be clearly described in combination with experimental data:
[0204] Interval 1 (initial charging, t∈[0s, 60s)):
[0205] Electrochemical characteristics: Na⁺ in the negative electrode hard carbon is rapidly deintercalated, and rapid oxidation reaction occurs on the surface of the positive electrode, the reaction rate decreases with time, and the SOC increases rapidly from 0% to 15%;
[0206] Voltage-SOC relationship: the voltage rises rapidly with SOC, and the rising rate gradually slows down, which conforms to the "exponential function" relationship (v=v0+a×(1-e^(-b×SOC)), v0=3.05V, a=0.2V, b=0.5%⁻¹), such as SOC=0% when v=3.05V, SOC=2.5% when v=3.25V.
[0207] Interval 2 (plateau, t∈[180s, 1800s)):
[0208] Electrochemical characteristics: Na⁺ stably inserts into the interstitial gaps of the positive electrode material lattice, the reaction reaches equilibrium, and the SOC slowly rises from 2.5% to 25% (charge capacity 22.5Ah);
[0209] Voltage-SOC relationship: the voltage slowly rises with the SOC, the rising rate is basically constant, consistent with the "linear function" relationship (v=v1+k×SOC, v1=3.25V, k=0.01V / %), such as SOC=2.5% when v=3.25V, SOC=25% when v=3.50V.
[0210] Interval 3 (late charging, t∈[1800s, 3200s]):
[0211] Electrochemical characteristics: the positive electrode Na⁺ insertion site is saturated, the reaction rate decreases, and the SOC rises from 25% to 44.44% (charge capacity 19.44Ah);
[0212] Voltage-SOC relationship: the voltage again rapidly rises with the SOC, the rising rate gradually accelerates, consistent with the "quadratic polynomial function" relationship (v=v2+c×SOC+d×SOC², v2=3.50V, c=0.005V / %, d=0.0001V / %²), such as SOC=25% when v=3.50V, SOC=44.44% when v=3.78V.
[0213] The interval characteristics of the discharge stage are similar, only the voltage-SOC relationship is a downward trend (such as interval 4: v=v4-e×SOC, interval 5: v=v5-f×SOC, interval 6: v=v6-g×SOC-h×SOC²).
[0214] Three, integrity and practicality verification of multi-interval calibration division scheme
[0215] Integrity verification: the division scheme needs to cover all stages of the charging and discharging process without time gaps or overlaps - the constant current charging stage (0~3200s) is divided into 3 intervals, the constant voltage charging stage (3200~3600s) is separately set as interval 7 (SOC from 44.44% to 100%) due to the constant voltage (3.8V); the discharging stage (0~3000s) is divided into 3 intervals, ensuring that the full SOC range (0%~100%) has a corresponding interval without omission.
[0216] Practicality verification: By comparing the differences in voltage-SOC relationships in different intervals, the necessity of the division is verified. The voltage-SOC linear correlation coefficient R² in interval 2 (plateau period) is 0.998. If a single function is forcibly used to fit the entire interval, R² = 0.85 (large error). However, after fitting the intervals, the R² of each interval is ≥0.99, and the calibration accuracy is significantly improved, proving that the division scheme can meet the accuracy requirements of SOC calibration.
[0217] Scheme Output Format: The multi-interval calibration partitioning scheme is output in document form, containing six fields: "Interval Number, Stage Name, Time Range, Electrochemical Characteristic Description, Voltage-SOC Relationship Type, and Applicable SOC Range". An example is shown below:
[0218] Interval 1: Initial charging phase, t∈[0s,180s), Na⁺ fast de-embedding, exponential function, SOC∈[0%,2.5%);
[0219] Interval 2: Charging plateau period, t∈[180s,1800s), Na⁺ stable embedding, linear function, SOC∈[2.5%,25%);
[0220] Interval 3: Late charging stage, t∈[1800s,3200s], Na⁺ embedding saturation, quadratic polynomial, SOC∈[25%,44.44%); ...
[0221] This scheme provides a clear interval definition and characteristic basis for the subsequent step of "constructing a mapping function for each interval".
[0222] S203, for each calibration interval, combining the current load and temperature change information of that interval, a piecewise nonlinear fitting algorithm is used to construct the corresponding voltage-state of charge mapping function, which serves as a multi-interval SOC calibration function group;
[0223] Specifically, for each calibration interval, voltage, current, temperature and electrical quantity data can be extracted to generate an interval characteristic dataset;
[0224] I. Scope and Rules of Data Extraction
[0225] Extraction Scope Definition: Based on the generated "multi-interval calibration division scheme," data is extracted from the battery operating characteristic dataset (including time-synchronized voltage, current, temperature data, and capacity decay annotations) according to the "time range" of each interval. For example:
[0226] Charging platform interval (interval 2): Time range t ∈ [180s, 1800s), corresponding to SOC ∈ [2.5%, 25%] (based on current integral calculation), all 1Hz sampled voltage, current, temperature data in this time range need to be extracted, as well as the cumulative energy data at the corresponding time;
[0227] When extracting, the capacity attenuation data corresponding to this interval (such as C_actual=100Ah, η=0% for the first cycle) need to be associated to ensure that the data can reflect the interval characteristics under the current aging state.
[0228] Extraction rules:
[0229] Time alignment: Only data with timestamps falling within the interval time range are retained, and edge data outside the range (such as t=179s, t=1800s) are excluded to avoid cross-interval interference;
[0230] Data pairing: Ensure that each voltage data corresponds to current, temperature, and energy data at the same timestamp, forming a "voltage-current-temperature-energy" quadruple to avoid data misplacement;
[0231] Aging matching: If the data set contains multiple aging stages (such as N=0, 100, 300 cycles), the interval data of each aging stage need to be extracted separately to generate interval characteristic data sets of different aging degrees (such as "interval 2_N=0 data set" and "interval 2_N=300 data set"), and then mapping functions are constructed respectively to ensure the accuracy of the whole life cycle calibration.
[0232] II. Sources and calculation methods of each data type
[0233] Voltage data (v): Directly extracted from time-synchronized raw data, unit V, 4 decimal places, example interval 2 (N=0 cycles) voltage data segment: 3.2500V (t=180s), 3.2510V (t=181s), 3.2520V (t=182s)…, 3.4995V (t=1799s).
[0234] Current data (i): Same as voltage data source, unit A, positive value during charging, negative value during discharging, as interval 2 is a constant current charging stage, the current is stable at about 0.5C (50A), data segment: 50.0A, 49.9A, 50.1A…49.8A, 1 decimal place.
[0235] Temperature data (T): Extracted from DS18B20 temperature data, unit ℃, 1 decimal place, temperature in interval 2 rises slowly due to charging heat, data segment: 25.3℃ (t=180s), 25.4℃ (t=181s)…, 27.5℃ (t=1799s).
[0236] Charge data (Q) and SOC calculation:
[0237] Charge data: calculated based on current integration, formula is Q(t)=Q(t0)+∫(t0to t)i(τ)dτ / 3600, where Q(t0) is the cumulative charge at the start of the interval (e.g. at t=180s, Q(180s)=50A×180s / 3600=2.5Ah), Q(t) at time t is the sum of the starting charge and the current integration in the interval, unit is Ah;
[0238] SOC calculation: SOC(t)=(Q(t) / C_actual)×100%, where C_actual is the actual capacity of the current cycle (e.g. C_actual=100Ah when N=0 cycles), example at t=180s, SOC=2.5%, at t=181s, Q=2.5+50×1 / 3600≈2.5139Ah, SOC≈2.51%, rounded to 2 decimal places, ensuring the accuracy of SOC and voltage correspondence.
[0239] III. Data cleaning and interval characteristic dataset generation
[0240] Data cleaning operation:
[0241] Outlier rejection: set a reasonable range for each data (voltage 2.0~4.0V, current 40~60A, temperature 20~40℃, SOC 0~100%), data outside the range (e.g. voltage suddenly changes to 5.0V, current drops to 0A) is determined as abnormal, replaced by the valid data at the previous time;
[0242] Smoothing processing: 5-point moving average filtering is used for voltage data to eliminate small noise, e.g. original voltage 3.2500V, 3.2490V, 3.2510V, 3.2480V, 3.2500V, smoothed to (3.2500+3.2490+3.2510+3.2480+3.2500) / 5=3.2496V;
[0243] Data consistency check: if the calculated SOC value at a certain time contradicts the voltage trend (e.g. voltage rises but SOC decreases), recalculate the current integration and correct the SOC value.
[0244] Dataset generation example:
[0245] Characteristic dataset segment of interval 2 (N=0 cycles, t∈[180s,1800s), SOC∈[2.5%,25%]) (sorted by timestamp):
[0246] t=180s: v=3.2496V, i=50.0A, T=25.3°C, Q=2.5Ah, SOC=2.50%;
[0247] t=181s: v=3.2505V, i=49.9A, T=25.3°C, Q=2.5139Ah, SOC=2.51%;
[0248] t=182s: v=3.2514V, i=50.1A, T=25.4°C, Q=2.5278Ah, SOC=2.53%; ...
[0249] t=1799s: v=3.4990V, i=49.8A, T=27.5°C, Q=24.9722Ah, SOC=24.97%;
[0250] The data set is stored in CSV format, providing structured input for subsequent fitting of the mapping function.
[0251] Based on the interval characteristic data set, a piecewise nonlinear fitting algorithm combining polynomial regression and exponential function is used to construct the initial mapping function of voltage-state of charge, obtaining the initial mapping function set;
[0252] This step is the core fitting link of "SOC calibration function construction". The core is to select the appropriate function type (exponential function, polynomial function) according to the electrochemical characteristics of each interval (such as rapid voltage rise at the beginning of charging, slow linear voltage rise at the platform period), and establish the initial mapping relationship between voltage and SOC through piecewise nonlinear fitting algorithm - the initial function only considers the direct correlation between voltage and SOC, and does not contain the influence of current and temperature, which is the basis for subsequent correction function. The selection basis of function type, the specific implementation of fitting algorithm (such as least squares method), the calculation and verification of function parameters, each link needs to combine specific interval examples (such as the beginning of charging, platform period), give function expression, parameter value and fitting goodness evaluation, to ensure that the initial function can accurately describe the inherent relationship between voltage and SOC in the interval.
[0253] I. Selection basis and adaptation scenarios of function type
[0254] The difference in electrochemical characteristics of different calibration intervals determines the mathematical form of the voltage-SOC relationship, and the function type needs to be selected accordingly:
[0255] Exponential function: Adapted for intervals where "voltage rises rapidly with SOC and the rate of increase gradually slows down" (e.g., the initial charging interval 1, t∈[0s,180s), SOC∈[0%,2.5%]). In this interval, Na⁺ rapidly deintercalates, the reaction rate decreases with time, and the voltage rise trend conforms to the exponential saturation characteristic. The function form is: v(SOC)=v0+a×(1-e^(-b×SOC)). Where: v(SOC) is the voltage (V) corresponding to SOC; v0 is the reference voltage (V) when SOC=0%, obtained by fitting the dataset; a is the maximum voltage rise (V), reflecting the total voltage change in this interval; b is the attenuation coefficient (%⁻¹), determining the degree of slowdown in the voltage rise rate. The larger b is, the faster the voltage rises to saturation.
[0256] Polynomial Function: Linear Polynomial (Linear Function): Suitable for intervals where "voltage rises slowly with SOC and the rate is basically constant" (e.g., plateau interval 2, SOC∈[2.5%,25%]) – In this interval, Na⁺ is stably embedded, the reaction rate is balanced, and the voltage-SOC relationship is linear. The function form is: v(SOC)=c×SOC+d. Where c is the voltage-SOC slope (V / %), and d is the intercept voltage (V) when SOC=0%.
[0257] Quadratic polynomial: Adapted to the interval where “voltage increases with SOC and the rate gradually accelerates” (such as the late charging interval 3, SOC∈[25%,44.44%]) – In this interval, the Na⁺ intercalation sites are saturated, the reaction rate decreases, and the voltage rises in a quadratic curve. The function is: v(SOC)=e×SOC²+f×SOC+g, where e and f are the coefficients of the quadratic and linear terms (V / %², V / %), and g is the intercept voltage (V).
[0258] II. Specific Implementation of the Fitting Algorithm (Least Squares Method)
[0259] Using the "least squares method" as the core fitting algorithm, the function parameters are solved by minimizing the sum of the squares of the actual voltage value and the predicted voltage value. The specific steps are illustrated using interval 2 (linear function) as an example:
[0260] Data preparation: Extract "SOC-SOC" pairs from the interval 2 feature dataset, totaling 1621 data sets (t=180s~1799s, 1799-180+1=1620 time points, corresponding to 1621 data sets), denoted as (SOC1,v1), (SOC2,v2),...,(SOC... n ,v n ), n=1621. Objective function: The sum of squared residuals of the linear function v=c×SOC+d is: S(c,d)=Σ(from i=1 to n)[v_i-(c×SOC_i+d)]².
[0261] The goal of the least squares method is to find c, d that minimize S(c, d). Parameter solving: Calculate the mean: (bar{SOC}) = (1 / n) x ∑SOC_i ≈ (2.50% + 2.51% +... + 24.97%) / 1621 ≈ 13.73%; Calculate the mean:
[0262] (bar{v}) = (1 / n) x ∑v_i ≈ (3.2496V + 3.2505V +... + 3.4990V) / 1621 ≈ 3.3743V; Calculate the covariance and variance:
[0263] L_SOCv = ∑(SOC_i - (bar{SOC})) (v_i - (bar{v})) ≈ ∑(SOC_i x v_i) - n x (bar{SOC}) x (bar{v}) ≈ 72.56V·%;
[0264] L_SOCSOC = ∑(SOC_i - (bar{SOC}))² ≈ ∑SOC_i² - n x (bar{SOC})² ≈ 2856.34%²; Solve the parameters:
[0265] c = L_SOCv / L_SOCSOC ≈ 72.56 / 2856.34 ≈ 0.0254V / %;
[0266] d = (bar{v}) - c x (bar{SOC}) ≈ 3.3743 - 0.0254 x 13.73 ≈ 3.0256V; Get the initial linear mapping function of interval 2: v(SOC) = 0.0254 x SOC + 3.0256. Other interval fitting examples: Interval 1 (exponential function): v0 = 3.0500V, a = 0.2000V, b = 0.5000%⁻¹ are fitted by least squares, the function is v(SOC) = 3.0500 + 0.2000 x (1 - e^(-0.5000 x SOC)); Interval 3 (quadratic polynomial): e = 0.0001V / %², f = 0.0200V / %, g = 3.0000V are fitted, the function is v(SOC) = 0.0001 x SOC² + 0.0200 x SOC + 3.0000.
[0267] Three, goodness-of-fit verification and initial mapping function set generation Goodness-of-fit evaluation: The coefficient of determination R² is used to evaluate the fitting accuracy of the function, the closer R² is to 1, the better the fitting effect, the formula is: R² = 1 - [∑(v_i - v_pred_i)² / ∑(v_i - (bar{v}))²], where v_pred_i is the voltage value predicted by the function.
[0268] Interval 2 (linear function): calculated Σ(v_i-v_pred_i) 2≈0.0012V 2, Σ(v_i-(bar{v})) 2≈0.0615V 2, R 2≈1-0.0012 / 0.0615≈0.9805(≥0.98, excellent fitting accuracy);
[0269] Interval 1 (exponential function): R 2≈0.9780, interval 3 (quadratic polynomial): R 2≈0.9820, both meet the engineering accuracy requirements (R 2≥0.97).
[0270] Initial mapping function set generation: arrange the initial functions of each interval according to the interval number to form an initial function set, containing the fields of "interval number, function type, function expression, parameter value, applicable SOC range, R 2", for example:
[0271] Interval 1: exponential function, v=3.0500+0.2000×(1-e^(-0.5000×SOC)), v0=3.0500V, a=0.2000V, b=0.5000%⁻¹, SOC∈[0%,2.5%], R 2=0.9780;
[0272] Interval 2: linear function, v=0.0254×SOC+3.0256, c=0.0254V / %, d=3.0256V, SOC∈[2.5%,25%], R 2=0.9805;
[0273] Interval 3: quadratic polynomial, v=0.0001×SOC 2+0.0200×SOC+3.0000, e=0.0001V / % 2, f=0.0200V / %, g=3.0000V, SOC∈[25%,44.44%], R 2=0.982.
[0274] Optimize the parameters of the initial mapping function by taking current load and temperature as correction factors to generate a corrected mapping function;
[0275] I. Influence mechanism of current load and temperature
[0276] Influence of current load: the battery has internal resistance R (including ohmic resistance and polarization resistance), which generates internal resistance voltage drop Δv_i=i×R (current is positive during charging, voltage drop reduces terminal voltage; current is negative during discharging, voltage drop increases terminal voltage) during charging and discharging, resulting in a deviation between actual terminal voltage and initial function predicted "no-load voltage" at the same SOC. For example, the internal resistance R of interval 2 (C_actual=100Ah) is approximately 0.002Ω, when the current increases from 50A (0.5C) to 60A (0.6C), Δv_i=60×0.002=0.12V, the actual voltage is 0.12V lower than the initial function predicted value, which needs to be compensated by the correction factor.
[0277] Influence of temperature: temperature affects the activation energy of sodium ion intercalation / deintercalation, and for every 1℃ increase in temperature, the voltage at the same SOC decreases by approximately 0.003V (sodium ion battery characteristics of lithium iron phosphate). For example, the initial fitting temperature of interval 2 is 25℃, when the temperature rises to 35℃, the actual voltage at the same SOC=13.73% is 0.03V lower than the initial function predicted value (3.3743V), which needs to be adjusted by the temperature correction factor.
[0278] II. Design and calculation of correction factors
[0279] For the influence of current and temperature, "current correction coefficient k_i" and "temperature correction coefficient k_T" are designed and embedded in the parameters of the initial function. Taking the linear function v(SOC)=c×SOC+d of interval 2 as an example, the modified function form is: v(SOC,i,T)=(c×k_i×k_T)×SOC+(d×k_T-Δv_i).
[0280] Current correction coefficient k_i:
[0281] Design basis: the greater the current deviation from the reference current (current during interval fitting, such as the reference current i_ref=50A of interval 2), the greater the deviation of k_i from 1, the formula is: k_i=1-k1×|i-i_ref| / i_ref.
[0282] Where k1 is the current influence coefficient (empirical value, determined by experiment, k1=0.05 for interval 2), and |i-i_ref| is the absolute value of current deviation;
[0283] Example: when i=60A (deviation 10A), k_i=1-0.05×|60-50| / 50=1-0.05×0.2=0.99; when i=40A (deviation -10A), k_i=1-0.05×0.2=0.99 (the same size of current deviation, the same correction coefficient).
[0284] Internal resistance voltage drop Δv_i:
[0285] Calculation method: Δv_i = i × R, where R is the current aging stage of the battery internal resistance (obtained from the capacity decay annotation of the battery operating characteristic data set, such as R = 0.002Ω when N = 0 cycles);
[0286] Example: When i = 60A, Δv_i = 60 × 0.002 = 0.12V; when i = 40A, Δv_i = 40 × 0.002 = 0.08V.
[0287] Temperature correction coefficient k_T:
[0288] Design basis: The greater the temperature deviation from the reference temperature (average temperature during interval fitting, such as the reference temperature T_ref = 26.4℃ for interval 2), the more k_T deviates from 1, the formula is: k_T = 1 - k2 × (T - T_ref), where k2 is the temperature influence coefficient (empirical value, k2 = 0.0001℃⁻¹ for interval 2);
[0289] Example: When T = 35℃, k_T = 1 - 0.0001 × (35 - 26.4) = 1 - 0.00086 = 0.99914; when T = 20℃, k_T = 1 - 0.0001 × (20 - 26.4) = 1 + 0.00064 = 1.00064.
[0290] Three, parameter optimization and correction mapping function generation
[0291] Take the correction of interval 2 (initial function v = 0.0254 × SOC + 3.0256) under the condition of "i = 60A, T = 35℃" as an example:
[0292] Calculate the correction coefficient and voltage drop: k_i = 0.99, Δv_i = 0.12V, k_T = 0.99914;
[0293] Optimized parameters: Corrected slope c' = c × k_i × k_T = 0.0254 × 0.99 × 0.99914 ≈ 0.0251V / %;
[0294] Corrected intercept d' = d × k_T - Δv_i = 3.0256 × 0.99914 - 0.12 ≈ 2.9029V;
[0295] Corrected mapping function: v(SOC, 60A, 35℃) = 0.0251 × SOC + 2.9029;
[0296] Correction effect verification: Take the data of SOC = 13.73% in interval 2, the initial function predicts the voltage v_pred = 0.0254 × 13.73 + 3.0256 ≈ 3.3743V;
[0297] The measured voltage v_meas=3.2505V under actual working conditions (decreased due to increased current and temperature rise);
[0298] The corrected function predicts the voltage v_pred'=0.0251x13.73+2.9029≈3.2475V, with an error of ≈3.2505-3.2475=0.003V (3mV) from v_meas, which is much smaller than the error of the initial function ≈3.3743-3.2505=0.1238V (123.8mV), and the correction effect is significant.
[0299] Other working condition correction examples:
[0300] Working condition "i=40A, T=20℃": k_i=0.99, Δv_i=0.08V, k_T=1.00064, the correction function is v=0.0254x0.99x1.00064xSOC+(3.0256x1.00064-0.08)≈0.02538xSOC+2.9476;
[0301] The verification error is ≈2mV, which meets the accuracy requirement (error ≤5mV).
[0302] Correction mapping function set: organize the correction functions of each interval under different current and temperature conditions, and store them according to "interval number-current range-temperature range", for example, the correction function entry of interval 2:
[0303] Interval 2, i∈[55A,65A], T∈[30℃,40℃]: v=0.0251xSOC+2.9029;
[0304] Interval 2, i∈[35A,45A], T∈[15℃,25℃]: v=0.02538xSOC+2.9476.
[0305] Integrate all the correction mapping functions of the calibration intervals, and establish the interval selection logic to finally generate a multi-interval SOC calibration function group.
[0306] I. Integration rules and formats of correction mapping functions
[0307] Integration rules:
[0308] Hierarchical classification: integrate according to the hierarchy of "charge / discharge type (charging / discharging)→interval number→working condition range (current-temperature)", to ensure that each interval has a unique correction function under each working condition;
[0309] Parameter unification: the input of all functions is unified as "SOC, current i, temperature T", and the output is unified as "voltage v" (when calibrating SOC by voltage in the future, the inverse function of the function needs to be operated, such as the inverse function of the linear function is SOC=(v-d') / c');
[0310] Version annotation: annotate the version of the function group (such as V1.0), the applicable battery model (such as 100Ah sodium-ion battery), and the applicable aging stage (N=0~800 cycles) to avoid misuse.
[0311] Integration format: store the multi-interval SOC calibration function group in JSON format, which contains basic information of the function group, function details of each interval (expression, parameters, inverse function) of charging / discharging, and inverse function for calculating SOC by real-time voltage, which is the core calculation basis for calibration.
[0312] II. Design and implementation of interval selection logic
[0313] Interval selection logic is the key to calling the correct function in real time. By analyzing real-time battery state data (voltage v_real, current i_real, temperature T_real, voltage change rate dv / dt_real), and combining the multi-interval calibration division scheme, the current interval is determined, and the specific steps are as follows:
[0314] Preliminary screening (voltage range): according to the real-time voltage v_real, the candidate interval whose voltage range contains v_real is screened out. For example, v_real=3.30V, only interval 2 (SOC∈[2.5%,25%], voltage range≈3.25V~3.50V) contains this voltage in the charging interval, so the candidate interval is interval 2.
[0315] Secondary verification (voltage change rate): calculate the real-time voltage change rate dv / dt_real and verify whether it meets the electrochemical characteristics of the candidate interval. For example, interval 2 is the platform period, dv / dt_real should be ≤0.002V / s, if dv / dt_real=0.0015V / s, it meets the characteristics and confirms interval 2; if dv / dt_real=0.01V / s (far beyond the platform period range), re-screening (may be interval 1 or 3).
[0316] Working condition matching (current-temperature): in the confirmed interval, match the corresponding working condition range according to i_real and T_real, and call the correction function under the working condition. For example, i_real=60A, T_real=35℃, match the working condition of "i∈[55A,65A], T∈[30℃,40℃]" in interval 2, and call the corresponding inverse function to calculate SOC.
[0317] Anomaly Handling: If the real-time data exceeds the range of all intervals (e.g., v_real=4.1V, exceeding the maximum voltage of the charging interval 3.8V), it is judged as an "abnormal state", the default function (e.g., the extended function of interval 3) is called, and a "voltage abnormal" prompt is output to ensure that the calibration is not interrupted.
[0318] III. Verification and Application of Multi-Interval SOC Calibration Function Set
[0319] Completeness verification: Check whether the function group covers all calibration intervals (3 charging intervals + 3 discharging intervals + 1 constant voltage interval, a total of 7 intervals), and whether each interval includes the full operating range (current 40~60A, temperature 15~40℃). If there are no omissions, it is considered complete.
[0320] Accuracy verification: Select typical operating conditions (e.g., i=55A, T=30℃, SOC=15%), and collect the voltage in real time: v_real=0.0251×15+2.9029≈3.2794V. Then, use the interval selection logic of the function group.
[0321] Preliminary screening: v_real=3.2794V belongs to interval 2;
[0322] Secondary verification: dv / dt_real = 0.001V / s ≤ 0.002V / s, confirming interval 2;
[0323] Operating condition matching: i=55A, T=30℃ match the corresponding operating condition. The inverse function SOC=(3.2794+55×0.002-3.0256×0.99934) / (0.0254×0.99×0.99934)≈14.54% is called. The error between SOC=15% and actual SOC is ≈0.46% (≤1%), which verifies the accuracy.
[0324] Practical application: The function group is integrated into the SOC calculation module of the BMS to collect battery status data in real time. The corresponding function is called through the interval selection logic, and the SOC calibration result is calculated once every second and output to the system monitoring terminal, providing accurate SOC basis for battery charging and discharging control.
[0325] S204: Collect real-time voltage data of sodium-ion battery, input the real-time voltage data into the multi-interval SOC calibration function group, determine the corresponding battery state of charge (SOC) calibration result by judging the calibration interval to which the voltage data belongs and calling the corresponding mapping function.
[0326] Specifically, the battery management system can collect the voltage data of the sodium-ion battery in real time, while monitoring the current and temperature as auxiliary parameters to obtain real-time battery status data.
[0327] I. Selection and Core Parameters of Data Acquisition Hardware
[0328] To meet the data accuracy requirements of sodium-ion battery SOC calibration (voltage error ≤ ±1 mV, current error ≤ ±0.05 A, temperature error ≤ ±0.3℃), BMS selects the following high-precision acquisition hardware:
[0329] Voltage acquisition module: use ADS1256 type 16-bit analog-to-digital conversion (ADC) chip, with voltage dividing circuit (voltage dividing ratio 1:10, to ensure that the input voltage range of ADC adapts to the chip 0~5V range), to collect the terminal voltage of sodium-ion battery (rated 3.0V, collection range 2.0V~4.0V). The core parameters of this chip are: sampling accuracy ±0.0015%FSR (full-scale error), conversion rate up to 30kHz (much higher than the actual requirement of 1Hz sampling frequency), single-channel voltage measurement error ≤ ±0.5mV, fully meeting the voltage accuracy requirements of SOC calibration.
[0330] Current acquisition module: use ACS712-50A type current sensor, connected in series in the battery main loop, to collect charging and discharging current (range ±50A, adapt to 0.5C~1C charging and discharging rate of sodium-ion battery, such as 0.5C current of 100Ah battery is 50A). Its core parameters are: linearity error ±1.5%, output sensitivity 185mV / A (output voltage 9.25V when current is 50A, after voltage division, adapt to ADC input), current measurement error ≤ ±0.05A, can accurately capture the influence of current fluctuation on SOC calibration.
[0331] Temperature acquisition module: use DS18B20 type digital temperature sensor, pasted on the geometric center of the battery monomer through heat-conducting silica gel (the temperature here can best reflect the internal temperature of the battery, avoiding measurement deviation caused by surface heat dissipation), collection range -55℃~125℃, accuracy ±0.3℃ within 20℃~60℃ working interval, sampling response time ≤100ms, can track the influence of charging heat or environmental temperature change on voltage-SOC relationship in real time.
[0332] II. Process and synchronization mechanism of real-time acquisition
[0333] To ensure that the voltage, current and temperature data are completely synchronized in time (avoid parameter misplacement caused by acquisition delay, such as voltage acquisition at t=10.0s, current acquisition at t=10.5s), BMS uses "timer interrupt trigger + multi-channel synchronous sampling" mechanism, the specific process is as follows:
[0334] Sampling frequency setting: based on the real-time requirement of SOC calibration (complete calibration within 1 second), set the sampling frequency to 1Hz (i.e. collect 1 set of data every 1 second), generate 1Hz interrupt signal by TIM2 timer of BMS microcontroller (such as STM32L476), to trigger the acquisition process.
[0335] Synchronous sampling trigger: After the interrupt signal is triggered, the microcontroller sends a sampling instruction to ADS1256 (voltage), ACS712 (current), and DS18B20 (temperature) through the SPI bus at the same time. The three types of sensors start data collection at the same time, and after the collection is completed, the data is returned to the microcontroller through the SPI bus. The entire process takes ≤10 ms (much less than the 1-second sampling period), ensuring a time synchronization accuracy of ≤10 ms.
[0336] Data buffering and preliminary verification: The returned data is first stored in the RAM buffer area of the microcontroller (capacity of 100 groups, about 4 KB), and preliminary range verification is performed at the same time: the voltage should be between 2.0V and 4.0V, the current should be between -50A and 50A (negative sign indicating discharge), and the temperature should be between -10℃ and 60℃. Data outside the range is marked as "abnormal" and replaced with valid data from the previous time (to avoid the impact of abnormal data on subsequent calculations).
[0337] III. Format and preprocessing of real-time battery status data
[0338] Data format specification: Each set of real-time data is in the five-tuple format of "timestamp + voltage + current + temperature + data status", where:
[0339] Timestamp: accurate to seconds, format "YYYYMMDDHHMMSS", such as "20250925100000" (representing September 25, 2025, 10:00:00);
[0340] Voltage: 4 decimal places, unit V, such as "3.3000V";
[0341] Current: 1 decimal place, unit A, positive for charging and negative for discharging, such as "55.0A" (charging) and "-48.5A" (discharging);
[0342] Temperature: 1 decimal place, unit ℃, such as "28.5℃";
[0343] Data status: "normal (VALID)" or "abnormal (INVALID)", such as "VALID".
[0344] Example of real-time battery status data: 20250925100000, 3.3000V, 55.0A, 28.5℃, VALID.
[0345] Data preprocessing: To further eliminate sensor noise (such as ±0.5mV fluctuation of voltage), the collected voltage and current data are subjected to real-time noise reduction processing using "Kalman filtering" (consistent with the above filtering logic, Q=1e-8, R=2e-6), for example, the original voltage data 3.3005V, 3.2998V, 3.3002V, and the filtered voltage data is 3.3001V, ensuring data smoothness; temperature data has small fluctuations (±0.3℃), only 10-point moving average filtering is used to further reduce random noise.
[0346] According to the change trend of real-time voltage data, combined with the multi-interval calibration division scheme, the current voltage data belonging to the calibration interval is judged, and the interval identification result is generated;
[0347] I. Quantification of voltage change trend: real-time voltage change rate calculation
[0348] The voltage change trend is quantified by "real-time voltage change rate" (dv / dt), which is calculated using "sliding difference algorithm", the formula is: dv / dt(t)=[v(t)-v(t-Δt)] / Δt.
[0349] Where: v(t) is the filtered voltage value (V) at the current time (t); v(t-Δt) is the filtered voltage value (V) at the previous sampling time (t-Δt); Δt is the sampling interval (since the sampling frequency is 1Hz, Δt=1s); the unit of dv / dt(t) is V / s, positive value represents voltage rise (charging stage), negative value represents voltage drop (discharging stage), absolute value size reflects the speed of voltage change, which directly corresponds to the electrochemical characteristic stage (such as small change rate in platform period, large change rate in later period).
[0350] Calculation example: Given t=20250925100000, filtered voltage v(t)=3.3000V; t-Δt=20250925095959, v(t-Δt)=3.2985V;
[0351] Then dv / dt(t)=(3.3000-3.2985) / 1=0.0015V / s, that is, the current voltage rises at a rate of 0.0015V / s, which is consistent with the change trend of the charging platform period (small change rate).
[0352] To avoid misjudgment caused by fluctuation of change rate at a single time, "continuous 3 times sampling confirmation" mechanism is adopted: if the absolute values of dv / dt calculated continuously for 3 times all fall within the change rate range of a certain interval, the change trend is confirmed, for example, the dv / dt of continuous 3 times is 0.0015V / s, 0.0014V / s, 0.0016V / s, all of which are consistent with the change rate range of the platform period, and the trend is confirmed to be stable.
[0353] II. Review of multi-interval calibration division scheme and interval matching logic
[0354] Taking the multi-interval calibration division scheme of the "charging process" as an example, the key characteristic parameters of each interval are as follows:
[0355] Interval 1 (initial charging stage): SOC ∈ [0%, 2.5%], voltage range ∈ [3.05V, 3.25V], voltage change rate ∈ [0.005V / s, 0.028V / s] (fast change, Na⁺ rapid deintercalation in the initial stage);
[0356] Interval 2 (charging platform stage): SOC ∈ [2.5%, 25%], voltage range ∈ [3.25V, 3.50V], voltage change rate ∈ [0.0005V / s, 0.002V / s] (slow change, Na⁺ stable intercalation);
[0357] Interval 3 (late charging stage): SOC ∈ [25%, 44.44%], voltage range ∈ [3.50V, 3.78V], voltage change rate ∈ [0.002V / s, 0.005V / s] (change speed up, Na⁺ intercalation site saturation).
[0358] Interval matching adopts a two-step logic of "voltage range preliminary screening + change rate secondary confirmation":
[0359] Preliminary screening: According to the current real-time voltage v(t), the candidate interval whose voltage range contains v(t) is screened out. For example, if the real-time voltage v(t) = 3.3000V falls within the voltage range [3.25V, 3.50V] of interval 2, the candidate interval is interval 2;
[0360] Secondary confirmation: Calculate the current voltage change rate dv / dt(t) and verify whether it falls within the change rate range of the candidate interval. For example, if dv / dt(t) = 0.0015V / s falls within the change rate range [0.0005V / s, 0.002V / s] of interval 2, it is confirmed that the current interval is interval 2 (charging platform stage);
[0361] Transition interval processing: If the voltage falls on the boundary of two intervals (such as v(t) = 3.25V, which belongs to the upper limit of interval 1 and the lower limit of interval 2), determine the trend of the change rate: if dv / dt decreases from 0.005V / s to 0.0015V / s, it indicates a transition from interval 1 to interval 2, and the current interval is confirmed to be interval 2; if dv / dt increases from 0.0015V / s to 0.005V / s, it may be a transition from interval 2 to interval 3, which needs to be confirmed by subsequent sampling.
[0362] III. Processing mechanism for abnormal voltage
[0363] If the real-time voltage exceeds the voltage range of all calibration intervals (such as the voltage reaching 3.9V during charging, exceeding the upper limit of interval 3, 3.78V), or the voltage change rate is abnormal (such as dv / dt=0.01V / s, far exceeding the change rate range of all intervals), it is determined as "abnormal voltage state", and the processing flow is:
[0364] Data resampling: immediately resample voltage, current, temperature data, if the abnormality still exists after 3 consecutive resamplings, it is determined as "sensor failure" or "battery abnormality";
[0365] Default interval call: if the voltage abnormality is caused by slight fluctuations of the sensor (such as transient voltage spikes), call the "extension function of adjacent interval" (such as voltage 3.8V, exceeding the upper limit of interval 3, call the extension correction function of interval 3, which is based on the characteristics of interval 3 and extrapolated to 3.8V);
[0366] Abnormal prompt: output "voltage abnormality, SOC calibration accuracy decreased" prompt to the monitoring interface of BMS, and record abnormal data (timestamp, voltage, change rate) for subsequent fault troubleshooting.
[0367] Based on the interval identification result, call the corresponding voltage-state-of-charge mapping function from the multi-interval SOC calibration function group as the SOC calibration function of the current interval;
[0368] I. Review of the storage structure of the multi-interval SOC calibration function group
[0369] The multi-interval SOC calibration function group is stored in the Flash memory of BMS in JSON format, and the core structure is layered according to "charging and discharging type→interval ID→working condition range→function information". Taking charging interval 2 (interval ID=2) as an example, the function information includes:
[0370] Interval basic information: interval_id=2, soc_range="[2.5%,25%]", voltage_range="[3.25V,3.50V]";
[0371] Function type and expression: function_type="linear_corrected" (linear correction function), forward_function="v=c×SOC×k_i×k_T+d×k_T-i×R" (forward function: SOC→voltage), inverse_function="SOC=(v+i×R-d×k_T) / (c×k_i×k_T)" (inverse function: voltage→SOC, core function of SOC calibration);
[0372] Base parameters: c = 0.0254 V / % (initial slope), d = 3.0256 V (initial intercept), R = 0.002 Ω (internal resistance of the battery at the current aging stage, obtained from capacity decay data, R = 0.002 Ω at N = 0 cycles);
[0373] Correction factor parameters: k1 = 0.05 (current influence coefficient), k2 = 0.0001 °C⁻¹ (temperature influence coefficient), i_ref = 50 A (reference current when interval fitting), T_ref = 26.4 °C (reference temperature when interval fitting);
[0374] Working condition range: current_range = "[40A, 60A]", temperature_range = "[15 °C, 40 °C]" (current and temperature ranges applicable to the function).
[0375] II. Function matching logic based on real-time working conditions
[0376] The function call needs to meet both "interval ID matching" and "working condition range matching". The process is as follows:
[0377] Interval ID matching: According to the interval identification result (e.g., interval_id = 2), all function entries with interval_id = 2 are selected from the function group (the same interval may contain multiple working condition range functions, such as current 40~50A and 50~60A working conditions).
[0378] Working condition range matching: Extract the current i_real (e.g., 55.0A) and temperature T_real (e.g., 28.5°C) from the real-time battery state data, and match the entries in the selected function entries that "contain i_real in the current range and T_real in the temperature range". For example, i_real = 55.0A falls within [50A, 60A] and T_real = 28.5°C falls within [15°C, 40°C], matching the function entry in interval 2 with "current 50~60A and temperature 15~40°C";
[0379] Correction factor calculation: According to the parameters of the matched entry, calculate the correction factors k_i (current correction coefficient) and k_T (temperature correction coefficient) under the current working condition:
[0380] Current correction coefficient k_i = 1 - k1 × |i_real - i_ref| / i_ref = 1 - 0.05 × |55.0 - 50| / 50 = 0.995;
[0381] Temperature correction coefficient k_T = 1 - k2 × (T_real - T_ref) = 1 - 0.0001 × (28.5 - 26.4) = 0.99979;
[0382] After the correction factor is calculated, it is substituted into the inverse function to obtain the SOC calibration function under the current working condition.
[0383] III. Verification of function call
[0384] To ensure that the called function is correct, "parameter consistency verification" is required:
[0385] Parameter range verification: check whether the calculated k_i (0.995) is within the range of [0.9, 1.1] (the correction coefficient should be close to 1 to avoid excessive deviation), and whether k_T (0.99979) is within the range of [0.99, 1.01], both of which meet the requirements;
[0386] Function expression verification: substitute the base parameters of interval 2 (c=0.0254V / %, d=3.0256V) and the correction factor into the inverse function to obtain the current SOC calibration function: SOC=(v+i×0.002-3.0256×0.99979) / (25.4×10⁻³×0.995×0.99979)=(v+0.002i-3.0250) / (0.02527).
[0387] The parameters of this function completely match the current working condition (i=55A, T=28.5℃), and the call is verified to be correct.
[0388] Input the real-time voltage data and auxiliary parameters into the SOC calibration function of the current interval, and output the corresponding SOC calibration result.
[0389] I. Calculation process of SOC calibration function
[0390] Taking the determined SOC calibration function of interval 2 (charging platform period) as an example, the function expression is: SOC=(v_real+i_real×R-d×k_T) / (c×k_i×k_T).
[0391] Among them, the real-time value and the calculated value of each parameter:
[0392] v_real: real-time filtered voltage, 3.3000V; i_real: real-time current, 55.0A; R: battery internal resistance, 0.002Ω; d: initial intercept, 3.0256V; k_T: temperature correction coefficient, 0.99979 (calculated); c: initial slope, 0.0254V / %; k_i: current correction coefficient, 0.995 (calculated).
[0393] Step-by-step calculation:
[0394] The internal resistance pressure drop term is calculated: i_real x R = 55.0 x 0.002 = 0.11 V; the temperature-corrected intercept term is calculated: d x k_T = 3.0256 x 0.99979 ≈ 3.0250 V; the molecular term is calculated: v_real + i_real x R - d x k_T = 3.3000 + 0.11 - 3.0250 = 0.385 V; the corrected slope term is calculated: c x k_i x k_T = 0.0254 x 0.995 x 0.99979 ≈ 0.0254 x 0.9948 ≈ 0.02527 V / %;
[0395] The SOC is calculated: SOC = 0.385 / 0.02527 ≈ 15.24% (2 decimal places are retained, which meets the engineering accuracy requirement).
[0396] If it is a discharging phase, the current i_real is negative (such as -48.5 A), and the internal resistance pressure drop term i_real x R is negative. When calculating the molecular term, attention should be paid to the sign. For example, when i_real = -48.5 A, i_real x R = -48.5 x 0.002 = -0.097 V, and the molecular term is calculated as v_real + (-0.097) - d x k_T, ensuring that the calculation logic is consistent with the charging and discharging direction.
[0397] II. Reasonability verification of SOC results
[0398] To avoid distortion of SOC results caused by calculation errors or abnormal data, double verification is required:
[0399] Range verification: The physical range of SOC is 0%~100%. If the calculation result exceeds this range (such as SOC = 102% or SOC = -2%), it is truncated: when SOC > 100%, it is forcibly set to 100%; when SOC < 0%, it is forcibly set to 0%. For example, if the calculated SOC is 101.5%, it is truncated to 100%, and a log is recorded: "SOC exceeds the upper limit and has been truncated";
[0400] Consistency verification: The current SOC result is compared with the SOC result at the previous time (such as the previous time SOC = 15.10%), and the SOC change ΔSOC = 15.24%-15.10% = 0.14% is calculated. This change should match the current current-integrated electric quantity.
[0401] III. Output format and method of SOC calibration results
[0402] Real-time display output: The SOC result is displayed on the local LCD screen of the BMS or on the remote monitoring interface (such as the host computer software) in the form of "value + status", with the format: "Current SOC: 15.24% (charging plateau period, calibration accuracy: ±0.5%)", where "calibration accuracy" is determined by the goodness of fit R² of the function group (accuracy ±0.5% when R²≥0.98).
[0403] Data storage output: The SOC result and the corresponding real-time battery status data (timestamp, voltage, current, temperature) are stored together to the BMS SD card or cloud database. The storage format is CSV. Example data: "20250925100000,3.3000V,55.0A,28.5℃,15.24%,VALID,charging plateau period";
[0404] Control signal output: The SOC result is used as the input signal for BMS charge and discharge control. For example, when the SOC reaches 95%, the control command "reduce charging current" is output; when the SOC is below 5%, the command "stop discharging" is output, realizing battery protection and control based on precise SOC.
[0405] Another embodiment of the present invention provides a staged SOC calibration system for sodium-ion batteries, see [link to documentation]. Figure 3 The system may include:
[0406] The acquisition module 301 is used to acquire historical voltage, current and temperature data of sodium-ion batteries during a complete charge-discharge cycle, and to construct a battery operating characteristic dataset.
[0407] The segmentation module 302 is used to identify the voltage change rate inflection point based on the slope voltage characteristics of the sodium-ion battery according to the battery operation characteristic dataset, so as to divide the charging and discharging process into multiple calibration intervals with different electrochemical characteristics.
[0408] The construction module 303 is used to construct the corresponding voltage-state of charge mapping function for each calibration interval by combining the current load and temperature change information of that interval and using a piecewise nonlinear fitting algorithm, as a multi-interval SOC calibration function group.
[0409] The calibration module 304 is used to collect real-time voltage data of sodium-ion batteries, input the real-time voltage data into the multi-interval SOC calibration function group, determine the corresponding battery state of charge (SOC) calibration result by determining the calibration interval to which the voltage data belongs and calling the corresponding mapping function.
[0410] The above detailed description of the structure, features and effects of the present application is based on the embodiments shown in the drawings. The above description is only the preferred embodiments of the present application, but the present application is not limited to the embodiments shown in the drawings. Any changes or modifications made in accordance with the concept of the present application, or equivalent embodiments with equivalent changes, are still within the scope of the present application.
Claims
1. A method for phased SOC calibration of a sodium-ion battery, characterized in that, The method comprises: acquiring historical voltage, current and temperature data of the sodium-ion battery in a complete charging and discharging cycle, and constructing a battery operation characteristic data set; based on the battery operation characteristic data set, identifying a voltage change rate inflection point according to the slope voltage characteristic of the sodium-ion battery to divide the charging and discharging process into multiple calibration intervals with different electrochemical characteristics; the method comprises: extracting voltage-time sequence data from the battery operation characteristic data set, calculating the voltage change rate by using a sliding difference algorithm to obtain a voltage change rate curve; performing multi-scale wavelet transform analysis on the voltage change rate curve to detect extreme points and inflection points in the curve to obtain a candidate inflection point set; based on the electrochemical characteristics of the slope voltage of the sodium-ion battery, setting an inflection point confirmation threshold to screen out inflection points that meet the electrochemical law to obtain a confirmed inflection point sequence; and dividing the charging and discharging process into multiple continuous time intervals according to the confirmed inflection point sequence, each interval corresponding to a different electrochemical characteristic stage, and generating a multi-interval calibration division scheme; for each calibration interval, combining the current load and temperature change information of the interval, and using a segmented nonlinear fitting algorithm to construct a corresponding voltage-state-of-charge mapping function as a multi-interval SOC calibration function group; collecting real-time voltage data of the sodium-ion battery, inputting the real-time voltage data into the multi-interval SOC calibration function group, determining the corresponding battery state-of-charge SOC calibration result by judging the calibration interval to which the voltage data belongs and calling the corresponding mapping function.
2. The method of claim 1, wherein, The method comprises: acquiring historical voltage, current and temperature data of the sodium-ion battery in a complete charging and discharging cycle, and constructing a battery operation characteristic data set; collecting real-time voltage, current and temperature data of the sodium-ion battery in a complete charging and discharging cycle by a battery management system, and performing noise reduction processing on the original data by using a sliding window filtering algorithm to obtain preprocessed battery operation data; performing timestamp alignment and sampling rate unification processing on the preprocessed battery operation data to ensure that the voltage, current and temperature data have the same time reference, and obtaining time-synchronized battery operation data; extracting feature parameters in the time-synchronized battery operation data, the feature parameters including voltage change rate, current integral value and temperature gradient, and generating a battery operation feature vector set; 3. The method of claim 2, wherein, associating and labeling the battery operation feature vector set with battery capacity attenuation data to construct a battery operation characteristic data set containing complete charging and discharging characteristics. The method comprises: for each calibration interval, extracting voltage, current, temperature and power data in the interval to generate an interval characteristic data set; Based on the interval characteristic data set, a piecewise nonlinear fitting algorithm combining polynomial regression and exponential function is adopted to construct the initial mapping function of voltage-state of charge, and an initial mapping function set is obtained; The current load and temperature are taken as correction factors to optimize the parameters of the initial mapping function, and a corrected mapping function is generated; The corrected mapping functions of all calibration intervals are integrated, and interval selection logic is established, and finally a multi-interval SOC calibration function group is generated.
4. The method of claim 3, wherein, The real-time voltage data of the sodium ion battery is collected, the real-time voltage data is input into the multi-interval SOC calibration function group, the corresponding SOC calibration result is determined by judging the calibration interval to which the voltage data belongs and calling the corresponding mapping function, including: The voltage data of the sodium ion battery is collected in real time by the battery management system, and the current and temperature are monitored as auxiliary parameters to obtain real-time battery state data; According to the change trend of the real-time voltage data, combined with the multi-interval calibration division scheme, the calibration interval to which the current voltage data belongs is judged, and an interval identification result is generated; Based on the interval identification result, the corresponding voltage-state of charge mapping function is called from the multi-interval SOC calibration function group as the SOC calibration function of the current interval; The real-time voltage data and auxiliary parameters are input into the SOC calibration function of the current interval, and the corresponding SOC calibration result is output.
5. A sodium-ion battery staged SOC calibration system, characterized in that, The system comprises: An acquisition module is configured to acquire historical voltage, current and temperature data of a sodium ion battery in a complete charge-discharge cycle, and construct a battery operation characteristic data set; A division module is configured to divide the charge-discharge process into a plurality of calibration intervals with different electrochemical characteristics based on the battery operation characteristic data set and the voltage rate of change inflection point identified according to the slope voltage characteristics of the sodium ion battery; the division of the charge-discharge process into a plurality of calibration intervals with different electrochemical characteristics based on the battery operation characteristic data set and the voltage rate of change inflection point identified according to the slope voltage characteristics of the sodium ion battery comprises: extracting voltage-time sequence data from the battery operation characteristic data set, calculating the voltage rate of change by using a sliding difference algorithm to obtain a voltage rate of change curve; performing multi-scale wavelet transform analysis on the voltage rate of change curve to detect extreme points and inflection points in the curve to obtain a candidate inflection point set; based on the electrochemical characteristics of the slope voltage of the sodium ion battery, setting an inflection point confirmation threshold to screen out inflection points that meet the electrochemical law to obtain a confirmed inflection point sequence; dividing the charge-discharge process into a plurality of continuous time intervals according to the confirmed inflection point sequence, each interval corresponding to a different electrochemical characteristic stage, and generating a multi-interval calibration division scheme; A construction module is configured to, for each calibration interval, construct a corresponding voltage-state of charge mapping function as a multi-interval SOC calibration function group by using a piecewise nonlinear fitting algorithm in combination with the current load and temperature change information of the interval; A calibration module is configured to collect real-time voltage data of the sodium ion battery, input the real-time voltage data into the multi-interval SOC calibration function group, determine the corresponding battery state of charge SOC calibration result by judging the calibration interval to which the voltage data belongs and calling the corresponding mapping function.
6. The system of claim 5, wherein, The acquisition module is specifically configured to: Collect real-time voltage, current and temperature data of the sodium ion battery in a complete charge-discharge cycle through a battery management system, perform noise reduction processing on the original data by using a sliding window filtering algorithm, and obtain preprocessed battery operation data; Perform timestamp alignment and sampling rate unification processing on the preprocessed battery operation data, ensure that the voltage, current and temperature data have the same time reference, and obtain time-synchronized battery operation data; Extract feature parameters in the time-synchronized battery operation data, the feature parameters including a voltage change rate, a current integral value and a temperature gradient, and generate a battery operation feature vector set; Associate and label the battery operation feature vector set with battery capacity attenuation data, and construct a battery operation characteristic data set containing complete charge-discharge characteristics.
7. A storage medium, characterized by The storage medium has a computer program stored therein, wherein the computer program is configured to execute the method of any one of claims 1-4 when running.
8. An electronic device comprising a memory and a processor, characterized in that The memory has a computer program stored therein, and the processor is configured to execute the computer program to execute the method of any one of claims 1-4.
Citation Information
Patent Citations
Battery management apparatus and method
CN115461636A
Sodium ion battery management system and SOC calculation method
CN116108705A