Lithium ion battery electric quantity accurate estimation method and system based on BMS
By constructing a charge and discharge cycle node map to identify turning points and calculate the power difference, the problem of insufficient accuracy of traditional power estimation methods is solved, accurate estimation of lithium-ion battery power is achieved, and the intelligence of the battery management system and the safety of electric vehicles are improved.
Patent Information
- Application Number
- CN202510911587.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-02
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2045-07-02
AI Technical Summary
Traditional power estimation methods rely on simple voltage and current measurements and lack a comprehensive analysis of the battery status, resulting in insufficient power estimation accuracy. In particular, dynamic changes during the charging and discharging process are difficult to capture in real time, affecting battery safety and efficiency. They are unable to adapt to rapidly changing market demands, and the estimation error increases significantly with battery aging and environmental changes.
Through the BMS-based lithium-ion battery power estimation method, raw data is collected to construct a charge and discharge cycle node map, identify charge and discharge turning points, divide independent charge and discharge cycles, calculate the actual charge and discharge capacity difference, and combine historical data to infer the battery fuzzy power range, realizing accurate calculation of real-time remaining power.
It improves the accuracy and reliability of power estimation, enhances the intelligence level of battery management system, extends the service life of battery, and promotes the safety and reliability of electric vehicles and energy storage systems.
Smart Images

Figure CN120703589A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of battery power estimation, and in particular to a method and system for accurately estimating the power of a lithium-ion battery based on a BMS. Background Art
[0002] Traditional power estimation methods often rely on simple voltage and current measurements and lack a comprehensive analysis of the battery status, resulting in insufficient power estimation accuracy. In particular, dynamic changes during the charging and discharging process are difficult to capture in real time, which often leads to users misjudging the remaining battery power, affecting the safety and efficiency of the battery. In addition, existing technologies have limitations in processing complex data and cannot effectively construct a detailed map of the charging and discharging cycle, which limits the in-depth understanding of power changes. In actual application scenarios, users' expectations for battery performance continue to increase, especially in electric vehicles and energy storage systems. Accurate power estimation is crucial for safe driving and system stability. However, traditional methods fail to consider Considering the importance of the charge and discharge turning point, a one-sided understanding of battery performance has resulted in an inability to adapt to rapidly changing market demands. In particular, when the battery is aging and the environment changes, the estimation error will increase significantly, affecting the battery life. Therefore, there is an urgent need for an innovative power estimation method and system that can comprehensively analyze the BMS raw data, construct a charge and discharge cycle node map, identify the charge and discharge turning points in real time, accurately divide independent charge and discharge cycles, and calculate the actual charge and discharge capacity differences, thereby improving the accuracy of power estimation, promoting the development of lithium-ion battery management technology, improving the safety and reliability of battery use, and providing users with more intelligent battery management solutions. Summary of the Invention
[0003] Based on this, it is necessary to provide a method and system for accurately estimating the power level of a lithium-ion battery based on a BMS to solve at least one of the above technical problems.
[0004] To achieve the above purpose, a method for accurately estimating the power of a lithium-ion battery based on a BMS includes the following steps: Step S1: Collect BMS raw data, slice the voltage flow interval, and construct a charge and discharge cycle node map; Step S2: Detect node interruption seams based on the charge and discharge cycle node map, and compare the slope differences between the nodes at the seam edges to identify the charge and discharge turning points; Step S3: dividing the independent charge and discharge cycles in the charge and discharge cycle node map according to the charge and discharge turning points, and determining the current change time series data of each independent charge and discharge cycle; Step S4: Calculate the actual charge-in and discharge amounts in the independent charge-discharge cycle using the current change time series data, and compare the charge-discharge differences to obtain the actual charge-discharge amount difference; Step S5: querying historical input power and historical discharge power based on the BMS raw data, and inferring the battery fuzzy power range; Step S6: accurately calculating the real-time remaining available power according to the battery fuzzy power range and the actual charge and discharge power difference, and uploading the real-time remaining available power to the BMS system.
[0005] The present invention also provides a BMS-based lithium-ion battery power accurate estimation system, which is used to execute the BMS-based lithium-ion battery power accurate estimation method as described above. The BMS-based lithium-ion battery power accurate estimation system includes: The data acquisition module is used to collect BMS raw data, slice the voltage flow interval, and construct a charge and discharge cycle node map; The turning point identification module is used to detect node interruption seams based on the charge and discharge cycle node map and compare the slope differences between the nodes at the edge of the seams to identify the charge and discharge turning points; A cycle division module is used to divide the independent charge and discharge cycles in the charge and discharge cycle node map according to the charge and discharge turning points, and determine the current change time series data of each independent charge and discharge cycle; The charge and discharge capacity comparison module is used to calculate the actual charge and discharge capacity in an independent charge and discharge cycle through the current change time series data, and perform charge and discharge difference comparison to obtain the actual charge and discharge capacity difference; The power query module is used to query the historical input power and historical discharge power based on the BMS raw data, and infer the battery fuzzy power range; The power estimation module is used to estimate the real-time remaining available power based on the battery's fuzzy power range and the difference between the actual charge and discharge capacities, and upload the real-time remaining available power to the BMS system.
[0006] The beneficial effects of the present invention are as follows: by collecting BMS raw data and slicing the voltage flow interval, a charge and discharge cycle node map is constructed, which ensures that the basic data for power estimation has high accuracy and reliability. The establishment of the charge and discharge cycle node map provides a clear view for subsequent analysis, which is conducive to identifying key nodes in the charge and discharge process. Based on the charge and discharge cycle node map, the node interruption seams are detected and the slope differences between the nodes at the edge of the seams are compared to effectively identify the charge and discharge turning points, which provides an important basis for the analysis of dynamic power changes and makes the power estimation process more accurate. Independent charge and discharge cycles are divided according to the charge and discharge turning points, which can clearly define the time series data of current changes, ensure the true reflection of current changes, and thus improve the traceability and transparency of the charge and discharge process. The actual charge and discharge power in the independent charge and discharge cycle is calculated through the current change time series data, which provides a profound understanding of the flow of power. The solution makes the result of charge and discharge difference comparison more credible, thereby obtaining the actual charge and discharge difference. Querying the historical input power and historical discharge power based on the BMS original data can provide sufficient historical background for real-time power inference. The inferred battery fuzzy power range provides an effective interval for power estimation, which can effectively deal with the uncertainty of battery status. The real-time remaining available power is accurately calculated based on the battery fuzzy power range and the actual charge and discharge difference, ensuring the accuracy and practicality of power estimation. The real-time remaining available power is uploaded to the BMS system, realizing real-time monitoring and management of power estimation results, improving the intelligence level of the battery management system, effectively supporting the optimized use of batteries, extending the battery life, and promoting the safety and reliability of electric vehicles and energy storage systems. The scientific and systematic nature of the overall process makes power estimation more adaptable in practical applications. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 A schematic flow chart of a method for accurately estimating the power level of a lithium-ion battery based on a BMS; Figure 2 Detailed implementation flow chart of step S2; Figure 3 Detailed implementation flow chart of step S3; The purpose, features and advantages of the present invention will be further described with reference to the accompanying drawings and in conjunction with the embodiments. DETAILED DESCRIPTION
[0008] The following is a clear and complete description of the technical method of the present invention in conjunction with the accompanying drawings. It is obvious that the embodiments described are part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without making any creative efforts are within the scope of protection of the present invention.
[0009] In addition, the accompanying drawings are merely schematic illustrations of the present invention and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor and / or microcontroller approaches.
[0010] It should be understood that although the terms "first," "second," and the like may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used solely to distinguish one element from another. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element, without departing from the scope of the exemplary embodiments. The term "and / or" as used herein includes any and all combinations of one or more of the listed associated items.
[0011] To achieve this, please refer to Figures 1 to 3 , a method for accurately estimating the power of a lithium-ion battery based on a BMS, comprising the following steps: Step S1: Collect BMS raw data, slice the voltage flow interval, and construct a charge and discharge cycle node map; Step S2: Detect node interruption seams based on the charge and discharge cycle node map, and compare the slope differences between the nodes at the seam edges to identify the charge and discharge turning points; Step S3: dividing the independent charge and discharge cycles in the charge and discharge cycle node map according to the charge and discharge turning points, and determining the current change time series data of each independent charge and discharge cycle; Step S4: Calculate the actual charge-in and discharge amounts in the independent charge-discharge cycle using the current change time series data, and compare the charge-discharge differences to obtain the actual charge-discharge amount difference; Step S5: querying historical input power and historical discharge power based on the BMS raw data, and inferring the battery fuzzy power range; Step S6: accurately calculating the real-time remaining available power according to the battery fuzzy power range and the actual charge and discharge power difference, and uploading the real-time remaining available power to the BMS system.
[0012] In this embodiment, refer to Figure 1 The BMS-based lithium-ion battery capacity accurate estimation method comprises the following steps: Step S1: Collect BMS raw data, slice the voltage flow interval, and construct a charge and discharge cycle node map; In this embodiment, the specific operation process of collecting BMS raw data and slicing the voltage flow interval to construct a charge and discharge cycle node map is as follows: first, the raw data such as voltage, current, temperature, and SOC (State of Charge) output by the BMS system are collected via the CAN bus. The sampling frequency is set to 1Hz to ensure time series continuity. After data collection is completed, the entire data sequence is roughly divided into charging and discharging segments using a flow segmentation mechanism based on voltage and current joint sampling points. A current threshold of ±0.2A is set to achieve preliminary judgment of the charge and discharge status. When the current is greater than the positive threshold, it is marked as charging, and when the current is less than the negative threshold, it is marked as discharging. The voltage data is synchronously mapped to the corresponding current segment. Then, the sliding window is sliced at intervals of 20s. A time-voltage-current ternary node is constructed within each window. The node map is organized in a graph structure. The nodes contain three types of information: timestamp, voltage, and current. The current change rate and voltage change rate between two adjacent nodes are used as edge weights to form the initial charge and discharge cycle node map.
[0013] Step S2: Detect node interruption seams based on the charge and discharge cycle node map, and compare the slope differences between the nodes at the seam edges to identify the charge and discharge turning points; In this embodiment, the node interruption seams are detected based on the charge and discharge cycle node map, and the slope differences between the edge nodes of the seam are compared to identify the charge and discharge turning points. The operation process is as follows: first, the node edge weight information in the map is used to perform breakpoint scanning on the continuity of the current direction, and the difference method is used to calculate the current gradient ΔI / Δt and voltage gradient ΔU / Δt of each two adjacent nodes. The current slope of the current node is compared with the slope of the previous node. When the rate of change exceeds the set threshold of 0.5A / s, it is marked as a candidate seam node. Then, the edge slopes of all candidate seams are compared. If the slope directions of the two edge nodes on the left and right of the seam are opposite and the absolute difference exceeds 1.0A / s, the node is determined to be a charge and discharge turning point. In the turning point detection, the Savitzky-Golay filter is used to smooth the original slope sequence to eliminate high-frequency noise interference, and finally the node index set corresponding to all charge and discharge turning points in the map is output.
[0014] Step S3: dividing the independent charge and discharge cycles in the charge and discharge cycle node map according to the charge and discharge turning points, and determining the current change time series data of each independent charge and discharge cycle; In this embodiment, the process of dividing the independent charge and discharge cycles in the charge and discharge cycle node map according to the charge and discharge turning points and determining the current change time series data of each independent charge and discharge cycle is as follows: the charge and discharge cycle node map is segmented according to the turning point set using the index cutting method. Each segment of the map constitutes an independent cycle segment. The current values and their timestamps of all nodes in each segment are extracted to form the current time series data. The current data does not use a single linear fitting but uses a piecewise regression fitting method to process the fluctuation interval to reduce the impact of low-frequency changes in the segment. Each cycle segment records the start time, end time, minimum current, maximum current and the corresponding change trend label. The label determines whether the cycle segment is a charge or discharge segment based on the positive or negative average value of the first-order derivative sequence of the current. The index consistency of the node map is retained during this processing process to ensure that the cycle division process does not introduce additional boundary errors.
[0015] Step S4: Calculate the actual charge-in and discharge amounts in the independent charge-discharge cycle using the current change time series data, and compare the charge-discharge differences to obtain the actual charge-discharge amount difference; In this embodiment, the actual charge and discharge amount in the independent charge and discharge cycles are calculated by using the current change time series data, and the charge and discharge difference is compared to obtain the actual charge and discharge amount difference. The process is to use the step integration method to multiply the current value and the time interval in each independent cycle. The unit is ampere-second (A·s) and then uniformly converted to ampere-hour (Ah). The specific calculation formula is: ,in For the The average current of a time segment, The integration is performed in continuous sampling intervals to avoid errors caused by sampling interruptions. The charge-in Qc of each charging cycle and the discharge-out Qd of each discharging cycle are recorded independently. Then, the corresponding comparison is performed in cycles. The cycle with a threshold deviation greater than 0.2Ah is set as an abnormal cycle mark, and the difference is extracted. A difference sequence is formed, and the difference sequences in all cycles are summarized to obtain a complete set of actual charge and discharge capacity difference data.
[0016] Step S5: querying historical input power and historical discharge power based on the BMS raw data, and inferring the battery fuzzy power range; In this embodiment, the process of querying the historical input power and the historical discharged power based on the BMS raw data and inferring the battery fuzzy power range is as follows: extracting the cumulative charge and cumulative discharge fields in the historical records from the BMS raw data, calculating the total input power Qininput and the total discharged power Qoutput through an accumulation strategy, and taking the difference between the two as the basic value for estimating the historical residual power. On this basis, the temperature correction coefficient kt and the rate correction coefficient km are introduced, and the current fuzzy power range is obtained through the correction model Qremain=(Qinput-Qoutput)×kt×km. kt is set according to the empirical coefficient table based on the average value of the historical ambient temperature samples, and km is given according to the degree of current rate fluctuation. For example, it is 1 when the rate is less than 0.5C and 0.95 when it is greater than 1C. The intermediate values are given by linear interpolation. These correction parameters are used to improve the upper and lower limit accuracy of the fuzzy power estimation, forming an interval-type fuzzy power range.
[0017] Step S6: accurately calculating the real-time remaining available power according to the battery fuzzy power range and the actual charge and discharge power difference, and uploading the real-time remaining available power to the BMS system.
[0018] In this embodiment, the specific operations for accurately calculating the real-time remaining available power based on the battery fuzzy power range and the difference between the actual charge and discharge capacities, and uploading the real-time remaining available power to the BMS system are as follows: using the median of the fuzzy power range as the initial estimation reference value, using ΔQ of the latest cycle in the difference sequence as the correction value, and adopting the correction expression Qfinal = Qbase - ΔQ. On the premise that Qbase is the median of the fuzzy power range, the value of Qfinal is dynamically updated. At the same time, Qfinal is truncated to the upper and lower limits to ensure that it does not exceed the rated capacity of the battery and the minimum protection threshold, such as Qmin = 5% SOC corresponding capacity and Qmax = 95% SOC corresponding capacity. The final result is written into the BMS upload frame in the form of a separate field, packaged according to the CAN data frame encapsulation rules, and periodically uploaded to the BMS main control end according to the message format specified by the BMS communication protocol. The upload period is set to once every 10 seconds, and a check bit redundancy protection mechanism is used to prevent data errors.
[0019] In this embodiment, the specific steps of step S1 are: Collect BMS raw data; extract the periodic domain structure in the BMS raw data to obtain the voltage flow structure sequence; Perform time window alignment and slicing on the voltage flow structure sequence to generate voltage flow interval slices; Performing phase sliding fitting on the voltage flow interval slices to obtain rhythm reorganization segments; identifying voltage extreme value nodes in the rhythm reorganization segments; Performing charge and discharge cycle trajectory fitting based on the voltage extreme value node to obtain a charge and discharge trajectory characteristic line; A charging and discharging cycle node map is constructed based on the charging and discharging trajectory characteristic lines.
[0020] In this embodiment, a CAN bus interface module is used to connect to the main control unit in the vehicle battery management system. The sampling frequency is set to 1Hz. The sampling fields include the total battery voltage, total battery current, battery cell voltage group, SOC (State of Charge), SOH (State of Health), temperature distribution, and the current working status flag. The acquisition interface uses a frame structure based on the J1939 protocol, and the ID filter range is set between 0x1800F456 and 0x18FF50E5. During the data acquisition process, synchronization calibration is performed using inter-frame timestamps to prevent timing errors caused by CAN transmission delays. All data is written to the local buffer in real time and indexed by the battery pack serialization number and sampling timestamp to form a structured raw data set. The data units are unified into V (volts), A (amperes), °C (degrees Celsius), and percentages. The raw data is filtered by the voltage-current joint keyword, retaining only the time series of the total voltage and total current. Then, the voltage flow series for every 48 consecutive hours is periodically reconstructed using a fast Fourier transform (FFT). Fourier Transform (FFT) is used to perform spectrum analysis on the current series, and the frequency range of the periodic main component is identified to be between 0.0001Hz and 0.001Hz, corresponding to a time period of approximately 1000 seconds to 10000 seconds. The boundary points of the high-frequency charging and discharging segments and the stable segments in the original time series are inverted based on the periodic main frequency. Based on this, the original voltage-current data are cut into periodic domain blocks, and the duration of each block is set between 1200 seconds and 3600 seconds. Finally, all periodic domain blocks are combined, and the sliding window size is set to 300 seconds, the step size is 30 seconds, and the structural sequence timestamp is used as the starting point for segmentation and slicing. Each segment contains complete time, voltage and current records, and the time normalization value is recalculated in each window segment. , where t0 is the start time of the current window, the sliding window size is set to 300 seconds, the step size is 30 seconds, and the structure sequence timestamp is used as the starting point for segmentation. Each segment contains complete time, voltage and current records. The time normalization value is recalculated in each window segment. , where t0 is the start time of the current window, The current window width is set, and a z-score normalization process is performed on each window segment separately. The voltage and current values are respectively processed to zero mean and unit variance. The voltage and current form a two-dimensional time series matrix in each segment. , where n is the number of data points in the current window. Each generated segment is named IntervalSlice_i, i represents the segment index, which increases from 0, and finally forms an interval slice sequence with the current window width. A z-score normalization process is performed on each window segment separately, and the voltage and current values are respectively processed by zero mean and unit variance. The voltage and current form a two-dimensional time series matrix in each segment. , where n is the number of data points in the current window. Each generated slice is named IntervalSlice_i, i represents the slice index, which increases from 0, and finally forms an interval slice sequence. All IntervalSlice_i are synchronously phase-matched. First, the main trend curve of the current of each slice is extracted and the main trend shape is decomposed by using Discrete Wavelet Transform (DWT). Then, the phase delay between voltage and current is dynamically time-warped. TimeWarping (DTW) matching is performed, and the voltage flow sequence after matching and alignment is fitted with a B-spline curve. The control point spacing is set to 20 seconds, and the number of control points is not less than 5% of the number of data points in each segment. After each segment is fitted and output, all segments are rearranged according to the phase starting point to achieve rhythm reorganization. Each rhythm reorganization segment contains a continuous structure of the voltage trough at the end of the previous cycle and the current peak of the current cycle, which are uniformly saved in the RhythmicSegment_j format, where j is the rhythm sequence number. Each RhythmicSegment_j is traversed, and the first-order derivative calculation is performed on the voltage time series U(t) therein, and the time point when the derivative value turns from positive to negative or from negative to positive is found. This point is set as the maximum or minimum node, and then the pseudo extreme value caused by small fluctuations is filtered by setting the extreme amplitude threshold ΔUth=0.5V. For each legal extreme value node, its timestamp, current value, voltage value and position offset ratio in the rhythm segment are extracted and recorded as a node structure. Indicates its normalized position within the segment. After all extreme value nodes are arranged in ascending order according to the segment number and ratio_k, a global voltage extreme value node set is generated. The node sequence between two consecutive maxima is marked as a discharge trajectory segment, and the node sequence between two consecutive minima is marked as a charge trajectory segment. A third-order Bezier curve fitting is performed within each trajectory segment. The first and last nodes are taken as endpoints, and the maximum current fluctuation point in the middle 1 / 3 is taken as the control point to generate the discharge curve F_d(x) and the charge curve F_c(x). The number of interpolation points of all curves is set to 100 to maintain consistent resolution. The horizontal axis of the trajectory characteristic line is the normalized time. , the vertical axis represents voltage With current The charge and discharge trajectory feature lines are uniformly recorded as FeatureLine_m structures, where m is the trajectory number, with the curve type mark (charging or discharging) and the rhythm segment number to which it belongs. All FeatureLine_m are used as edges in a directed graph, and the voltage extreme value node Node_k is used as a node in the graph to construct a graph structure. , where V represents a node set, each node contains an attribute set {timestamp, voltage, current, extreme value type}, E represents an edge set established by the characteristic lines of the charge and discharge trajectories, and the edge attributes include trajectory fitting function parameters, trajectory duration, maximum current change rate, average power and other information. The connection weight between adjacent edges in the graph is set to the weighted sum of the time difference between the trajectories and the difference in the trajectory voltage slope. Finally, the charge and discharge cycle node graph is output.
[0021] In this embodiment, refer to Figure 2 , is a flowchart of the detailed implementation steps of step S2. In this embodiment, the detailed implementation steps of step S2 include: Check node connectivity through the charge and discharge cycle node graph to obtain the node connectivity path; Perform breakpoint density gradient projection based on the node connectivity path to generate candidate seam fracture areas; Capture the voltage geometric trend based on the candidate area of joint fracture, and infer the node turning offset according to the voltage geometric trend to obtain the node turning offset data; The turning point is located according to the node turning offset data to obtain the charging and discharging turning point.
[0022] In this embodiment, the voltage, current and state of charge data are extracted with a minimum sampling interval of 1 second, and the continuous time series data is divided into periodic segments. The periodic segments are disconnected according to the change law of the charging current direction to form an independent node group structure with a single charging and discharging cycle as a unit. Each node is defined as a recording unit with a timestamp, a voltage value, and a current value. The node group is then input into a graph structure construction module, which uses the node voltage difference and the time difference in the two-dimensional space as the basis for edge construction. The voltage difference threshold is set to 10 millivolts and the time interval threshold is set to 20 seconds. If the voltage difference between two nodes is less than 10 millivolts and the time difference is less than 20 seconds, a graph edge is established between them. After all edges that meet the conditions are formed into a graph structure, the Floyd–Warshall algorithm is used to traverse the entire node graph and mark them. The existence of path connectivity between each group of nodes was recorded. Ultimately, all paths were recorded as a directed path set, and path groups with lengths less than 8 were filtered to prevent low-density isolated paths from interfering with connectivity judgment. The resulting complete path set formed the basis for node connectivity paths in subsequent break analysis. The node connectivity path set was sorted from largest to smallest by path length, and the top 50 paths were selected for breakpoint detection. The node sequence in each path was scanned stepwise using a sliding window of length 7. The average voltage difference between nodes was calculated in each window, and the first-order derivative of the average voltage difference in consecutive windows was taken as the voltage density gradient change value. The density gradient change values of all windows were then organized into a one-dimensional sequence, which was then subjected to a bilateral median filter to eliminate noise interference. The density gradient change threshold was set to 0.015 volts per minute. When there are 3 or more density mutation points exceeding the threshold in a certain continuous change sequence, the window area where it is located is marked as a breakpoint high-density area. All high-density areas are aggregated to form a candidate joint fracture area. The area is described by the node index interval, the voltage change rate peak and the time span ternary information and numbered and output. In each fracture area, all the node indexes contained therein are extracted and the corresponding original voltage value sequence is called out accordingly. The second-order difference operation is applied to each voltage sequence to obtain the voltage slope change sequence. Then, the segmented angle analysis processing is performed on the slope change sequence. Every 8 consecutive points are used as analysis units to calculate the angle change trend between adjacent slopes. If there are three consecutive angle changes with the same direction and the change amplitude is greater than 25 degrees, the angle is turned to the center point and recorded as a potential offset inflection point. The voltage value change trend of the two points before and after it is matched and checked. The check rule is that the voltage direction consistency and the slope direction consistency must be established at the same time. The inflection point that meets this condition is included as the node turn. The turning offset data structure includes node index, voltage value, voltage change slope, and angle change. All data is consolidated into an offset data pool. All offset data is sorted in ascending order by node timestamp and grouped into local turning detection groups of 5 points. Each point in the detection group compares the voltage change direction of the two adjacent points before and after it with its own slope direction. If the direction reverses and the slope change rate exceeds 5 millivolts per minute, and the voltage corresponding to the node in the original voltage sequence is a local maximum or minimum, the node is identified as a charge / discharge turning point. All turning points are numbered in index order and appended with the original cycle number. Finally, all turning points are integrated into the charge / discharge cycle node map to form a structured turning point set, which is used for key point extraction and state estimation calculations in the subsequent modeling stage. All turning point record files are uniformly exported in CSV format. Each record line contains the following fields: node index, timestamp, voltage value, turning slope, angle change before and after, angle change after, current value, and corresponding cycle number.
[0023] In this embodiment, the voltage geometric trend is captured based on the candidate area of the joint fracture, and the node turning offset data is inferred as follows: Extracting continuous voltage traces inside the candidate region of joint fracture; calculating a trajectory change rate of the continuous voltage trajectory; The tangent slope vector is calculated through the continuous voltage trajectory and the trajectory change rate to obtain the seam edge slope vector; Bidirectional slope offset comparison is performed based on the seam edge slope vector to generate node turning offset data.
[0024] In this embodiment, the operation of extracting the continuous voltage trajectory inside the joint fracture candidate area first determines the boundary index range of each candidate area from the generated joint fracture candidate area map. The index range is represented in the form of a two-dimensional array, with the horizontal axis being the time node index and the vertical axis being the spatial fracture position index. Subsequently, the full-dimensional voltage matrix in the voltage time series database is called to extract the voltage data point sequence within the two-dimensional index interval. The sequence constitutes a continuous voltage trajectory. Each trajectory contains no less than 50 equally spaced sampling points, and the sampling time interval does not exceed 1 second. Each trajectory is represented by a triple of time point, voltage value, and current value. The trajectory data structure is uniformly stored in the form of a list nested dictionary. The key-value pair in the dictionary is timestamp representing time. , voltage is voltage, current is current, each continuous voltage trajectory is sorted in chronological order, and then the voltage change and time interval between each two adjacent nodes are extracted by differential operation. The voltage change rate per unit time is calculated based on the voltage change divided by the time interval. All change rates are recorded as float type floating point numbers and retain six decimal places. In the trajectory change rate sequence, if three consecutive change rate values are found to change in opposite directions, the segment is marked as a fluctuation interval and a local change rate index is generated. The local change rate index includes the local maximum voltage change, the local average change rate and the change direction flag. All trajectory change rate results are saved in the trajectory extension structure that is consistent with the original trajectory number, and each trajectory is attached with a A field named rate_profile is created, which is a rate of change sequence that is consistent with the number of original sampling points and is arranged synchronously with the time series. A local fitting calculation is performed on three consecutive sampling points in each trajectory. The fitting method is to perform a local first-order polynomial regression operation on a ternary point set consisting of a point before and after the current sampling point as the center, and extract the instantaneous slope of the fitting curve. The obtained slope is expressed in vector form. Each vector is defined as the tangent direction of the current sampling point on the trajectory curve where it is located. The tangent direction is stored in the form of a two-dimensional vector. The horizontal axis is the time axis unit to the right, the vertical axis is the voltage axis unit upward, and the voltage change rate per unit time is used as the vertical axis length. The unit of the slope vector is uniformly standardized, and all vectors retain four decimal places and proceed. The row direction angle normalization operation converts the angle into an angle value record in the range of 0 to 180 degrees. The record result is named edge_slope_vector field and written into the original trajectory extended data structure. All sampling points in the trajectory correspond to a tangent slope vector to form a seam edge slope vector sequence. For any sampling point in each seam edge slope vector sequence, 4 consecutive slope vectors are taken forward and backward to form a local slope window composed of 9 vectors. The angle difference of each adjacent vector in the window is then calculated. The angle difference is obtained by the cosine angle algorithm. If any angle difference exceeds 15 degrees, the sampling point is marked as a local deflection point, and the total angle change in the forward offset direction and the backward offset direction is recorded.Generate forward and reverse slope offsets, then extract the slope offset value, offset direction flag, trajectory number, and time index of all marked deflection points to form an offset data structure. The slope offset field in the offset data structure retains three decimal places, and the offset direction field uses binary labels "forward" and "backward". Finally, all node turning offset data is written in a table structure into an offset mapping file named slope_deviation_map.
[0025] In this embodiment, refer to Figure 3 , is a flowchart of the detailed implementation steps of step S3. In this embodiment, the detailed implementation steps of step S3 include: Topological time embedding of charge and discharge turning points is performed to construct a traceability turning point index; Split the independent charge and discharge cycles in the charge and discharge cycle node graph by tracing the turning point node index; Performing segment current trajectory mapping on the independent charge and discharge cycles to obtain segment current timing trajectory; Identify the power transfer trend in the segment current time series trace to obtain the current change time series data.
[0026] In this embodiment, a structured turning point set file is called and the timestamp, voltage value, current value and cycle number information of each turning point are loaded. Then, a topology construction method based on time series graph embedding is used to perform node mapping operations. Specifically, a linear time slicing embedding strategy is adopted to arrange all turning points in ascending order by timestamp and segment them into time windows of 3600 seconds each. A time embedding matrix is constructed for the turning points in each window. Each column of the time embedding matrix corresponds to a turning point, and each row represents a time dimension feature, including the time interval relative to the starting point, the average voltage change rate between adjacent points, the current change rate between adjacent points, and the relative position index of the turning point in the cycle. All dimensional features are normalized. The normalization range is set to 0 to 1. The normalization rule is based on the minimum and maximum values of the entire set of data. The node topology offset value is calculated by embedding the matrix, and an index mapping dictionary is constructed in combination with the number of each cycle. The index dictionary key is the cycle number, and the value is a list consisting of the index number of the corresponding turning point in the embedding matrix and the topology offset vector value pair. The original charge and discharge cycle node atlas file and index file are loaded, and the corresponding turning point index list is read for each cycle number item. Then, the data is intercepted for the first and last indexes in the turning point index list, and all node information between the starting turning point and the ending turning point is extracted from the atlas. If the number of nodes between the two turning points is less than 200, the cycle segment is skipped, and all valid cycle data segments are retained as Independent cycle node fragments, each cycle node fragment consists of a cycle number, a turning point timestamp pair, and a node sequence. The node sequence contains the three main attributes of the node: time, voltage, and current. The constructed independent cycle node fragments are written into the intermediate cache path in structured JSON format for subsequent use, and the total duration of each cycle, the average voltage change rate, and the maximum current amplitude change are recorded in the attached table as auxiliary attributes. The node sequence in each cycle fragment is used to construct a current-time two-dimensional trajectory diagram. The horizontal axis in the trajectory diagram is the node timestamp and the vertical axis is the node current value. The trajectory diagram is then segmented. Each trajectory is divided into five equal parts according to the duration, and each segment constructs an independent current change segment. If any If the number of nodes in a segment is less than 20, the adjacent segments are merged to form a valid data group. Each segment formed contains no less than 20 current node data. Then, a trajectory fitting operation is performed on each segment. The fitting method is least squares straight line fitting. The fitting results include slope, current mean, fitting residual and slope change rate. Each fitting index is written into the segment current trajectory description file in a structured manner. All segments are classified according to the cycle number to form a segment current time series trajectory set. The segment current trajectory set file is called to extract the current value and fitting slope information of each segment under all cycles. Then, the instantaneous power corresponding to each segment is calculated. The instantaneous power is obtained by multiplying the node current value with the voltage value at the corresponding time point.During the calculation process, the node timestamp is used to locate the data at the corresponding time point in the original voltage sequence for value extraction. The power value at each moment is then divided into time-weighted averages according to the trajectory segments to obtain the average power and power change rate of each segment. Subsequently, the first-order difference operation is applied to the power data sequence of all segments to extract the power change trend. If the power change rate of three consecutive segments shows a monotonically increasing or decreasing trend, and the change amplitude exceeds 0.2 watts per minute, the segment is classified as a power transfer area, and the corresponding time index interval, current slope change, and voltage average value are extracted as trend identification fields. Finally, a current change time series data set is formed. Each data contains the cycle number, segment index, power average, current slope, voltage level, trend direction and change amplitude. The set is output as a CSV file for feature construction input of the subsequent modeling module. All field names are uniformly named using lowercase and underline naming standards.
[0027] In this embodiment, the specific steps of step S4 are: Convert the current change time series data into periodic direction and map it into power mapping data within the period; Decouple the power mapping data within the cycle into positive and negative power segments to obtain the actual charging and discharging power; Based on the power mapping data within the cycle, the actual charge and discharge power are matched independently to generate the corresponding charge and discharge power within the cycle; The actual charge and discharge amount difference within the cycle is calculated based on the corresponding charge and discharge amount within the cycle.
[0028] In this embodiment, in the process of converting the current change time series data into periodic direction and mapping it into the power mapping data within the period, the segment current time series trajectory data is first standardized and resampled, and an equal-interval sampling mechanism with a fixed sampling frequency of 1 Hz is adopted. At this frequency, each data point represents the actual current value of the battery at the current time point, in amperes. Then, the original time series trajectory is divided into periods according to the preset charging start time and discharging end time index, and the current sequence in each independent period is extracted and multiplied with the corresponding time series to generate the instantaneous charge value of each sampling point. The instantaneous charge values of all sampling points are accumulated and added in chronological order within the period to form a periodic power sequence. On this basis, all charge values are added together. Convert from coulomb units to milliampere-hour units by multiplying the current value by the time difference and then dividing by 3600, and use a three-decimal-place retention format to generate a cycle power mapping data sequence. Perform a sign detection operation on all power change values in the cycle power sequence. By traversing the positive and negative signs of each power value and marking its corresponding time index, extract continuous segments based on sign consistency, classify continuous segments with positive power values as discharge segments, and classify continuous segments with negative power values as charging segments. Then perform an integration operation on each segment, that is, add up all power values of the segment, and obtain the discharged power and charged power values of each segment respectively. The result unit of each power value is milliampere-hour, expressed with three decimal places, and the start and end time index of each power segment is , total power value and segment category are recorded, and the segment pairing algorithm based on time constraints is used to traverse the charging and discharging segments of each cycle. By comparing whether the end time of the current charging segment and the start time of the next discharging segment are within 180 seconds, it is determined whether a valid charging and discharging matching relationship is formed. If the time condition is met, the pair of charging and discharging segments are paired, and the charging and discharging power values in the pair are extracted for binding operation. At the same time, their respective time indexes, power values and the power difference between the two are recorded. If the difference is greater than the threshold of 5 mAh, the pair matching status is marked as deviation matching, otherwise it is marked as normal matching. The charging segment and discharging segment that fail to meet the pairing conditions are respectively marked as no matching status, and their corresponding status identification codes are recorded. Status code 1 indicates that the charge and discharge time deviation is too large, and status code 2 indicates that there is an isolated segment and no matching segment is found. All paired charge and discharge segments are extracted, and the charge and discharge error calculation operation is performed on each pair of paired segments. The error value is obtained by performing a difference operation on the charged and discharged power. If the difference is positive, it means that the charging is greater than the discharging. If the difference is negative, it means that the discharging is greater than the charging. The error value is retained to three decimal places and is in milliampere hours. At the same time, the total charge, discharge and error of all paired segments in each cycle are counted, and the average error value and error rate are further calculated. The error rate is defined as the total error divided by the total charge and then multiplied by 100%, retaining two decimal places. This operation is completed by rolling the calculation cycle by cycle in the hourly data through a fixed window sliding function.All difference results are submitted to the power actuary module for subsequent error correction input processing for the state estimation model. The entire processing logic is completed by the current trajectory decoupling unit, power pairing unit, and error analysis unit deployed in the power diagnosis submodule within the BMS main control unit. It is implemented in C language and runs at a fixed frequency of calling the processing routine every 10 minutes to perform synchronous analysis on the latest data.
[0029] In this embodiment, the specific steps of step S5 are: Conduct historical cycle traceability on BMS raw data and build a historical power time series index; Query historical input power and historical discharge power based on historical power time series index; Estimate the historical accumulated net electricity through historical input electricity and historical discharged electricity; Identify the most recent battery charge and discharge cycle in the charge and discharge cycle node graph; Calculating the recent charge-discharge difference in the battery charge-discharge cycle; The recent charge-discharge difference in electrical quantity is corrected in real time according to the recent charge-discharge difference in electrical quantity to generate a battery fuzzy electrical quantity range.
[0030] In this embodiment, in the process of tracing the historical cycle of the BMS raw data and constructing the historical power time series index, the key frame nodes are first extracted from the voltage, current, temperature and SOC (State of Charge) time series data collected in real time during the vehicle driving process. According to the timestamps of the charging start point, charging end point, discharging start point and discharging end point, the entire power data is divided into multiple physical charging and discharging cycle segments. A unique cycle number is assigned to each cycle segment and the start index value and end index value are set in the database. A hash table structure named Cycle_Index is established to quickly locate the data position of any cycle segment. The timestamp accuracy is uniformly expressed in Unix time format. Each cycle segment is judged to be valid with a time length of not less than 600 seconds and a cumulative power of not less than 50 mAh. After eliminating all data segments that do not meet the cycle construction standards, the process is completed. The historical cycle index is constructed, and the data in each historical cycle segment is indexed and queried segment by segment based on the Cycle_Index hash table constructed above. The current data and time data of each cycle segment are extracted from the database structure BMS_LOG, and interpolation correction is performed according to the time series to ensure that the sampling interval is 1 second. Then, for each data point, the operation of multiplying the current by the sampling time is performed to obtain the instantaneous charge value. The positive current segment is charging, and the negative current segment is discharging. The accumulation of the charge values of all positive current segments is the historical input power, and the accumulation of the charge values of all negative current segments is the historical discharge power. The unit is unified in milliampere hours, and the value is rounded to three decimal places. The binary time is used in the query process. The inter-tree method accelerates the retrieval of cycle boundaries, and the index access time is controlled within 5 milliseconds. It traverses the historical cycle number in order, extracts independent input power values and discharged power values from each cycle segment, and then sums the input power values of all cycle segments to obtain the total input power. The sum of the discharged power values of all cycle segments is the total discharged power. The difference between the two is the historical accumulated net power. To prevent the accuracy drift caused by error accumulation, a temperature correction coefficient is introduced in the calculation process. By reading the average temperature of each cycle segment and consulting the preset temperature influence coefficient table, the weight ratio of input power and discharged power is adjusted. The final accumulated net power unit is still milliampere-hour. All processing processes are executed in an independent Data_Accumulator module. The processing cycle is run once a day. The net power of the historical cycle segment is fully updated and the node graph structure Charge_Discharge_Graph is called. The graph stores the sequence relationship and time interval of all historical charge and discharge cycles in the form of a graph structure. Each node corresponds to a cycle segment, and the edge weight is the cycle interval time. The Dijkstra algorithm is used to perform the shortest path backtracking operation on the current node in the graph, and the most recent complete charge and discharge cycle pair is searched upward. The input power, discharge power and node number corresponding to the cycle are extracted as the reference node of the current cycle.At the same time, the average temperature, average current and termination SOC value of the current cycle are recorded to ensure that the node status in the graph can be aligned and compared with the current real-time status. The entire operation is deployed in the graph management module, and the Task_Graph_Analyzer process runs every five minutes and updates the nearest cycle node number in real time. For the nearest cycle node identified in the graph, the corresponding cycle current time series is extracted again from BMS_LOG, and the instantaneous charge value is calculated for each time point and classified and accumulated to obtain the input power and discharge power. The difference between the two is the charge and discharge difference power. In order to improve data accuracy, a drift filter is introduced before the difference calculation to perform boundary current denoising. The filter threshold is set to 0.05 amperes. Records below this current are considered to be noise and eliminated. The difference calculation process simultaneously considers the voltage disturbance interval. By adding a 10-second buffer before and after each cycle segment and using the average voltage change slope as the disturbance judgment condition, the difference correction operation is performed when the slope exceeds 5 millivolts per second to ensure that the difference power reflects the real power. The cell state changes, extracting the difference between the input and discharged power between the current cycle segment and the reference cycle segment, and calculating a correction coefficient based on the cumulative net power and the difference power. This coefficient is defined as the ratio of the difference power to the cumulative net power. The correction coefficient is multiplied by the maximum allowable deviation of the current SOC reading to generate an error range. The lower limit of the error range is then subtracted from the current SOC reading and the upper limit of the error range is added to form the current fuzzy power range of the battery. All results are in milliampere-hours, and the boundaries are rounded to three decimal places. At the same time, the generated interval boundaries are subjected to limit value testing to ensure that their values do not exceed the range of 0 to the battery nominal capacity. The correction model is calculated in real time by the SOC_Refiner module, and the output data is pushed to the battery state evaluation module and displayed as a fuzzy SOC range prompt on the main interface of the BMS control board. The entire processing cycle is executed every 10 seconds and is deployed in an independent processing thread within the embedded control chip using C language. The system frequency is 100 Hz, ensuring that the accuracy and response speed are within a strict range.
[0031] In this embodiment, the specific steps of step S6 are: Backtracking the difference evolution path based on the actual charge and discharge amount difference, and performing constraint analysis according to the difference evolution path to obtain the battery discharge constraint; Perform power output simulation on the battery fuzzy power range according to the battery discharge constraint to obtain simulated power output data; Accurately calculate the available power through simulated power output data to generate real-time remaining available power; The real-time remaining available power is encoded with integrity and uploaded to the BMS system.
[0032] In this embodiment, in the process of tracing back the difference evolution path based on the actual charge and discharge capacity difference and performing constraint analysis according to the difference evolution path to obtain the battery discharge constraint, the difference in the charge and discharge process is first periodically segmented and statistically analyzed. Each statistical cycle is 600 seconds, and the deviation between the actual power difference and the historical net power fitting trajectory is extracted within the cycle. The sliding window method is used to construct a two-dimensional time series matrix, with the horizontal axis being the time series node and the vertical axis being the corresponding power difference. The double exponential weighted moving average (DWMA) is used. The average) method is used to fit the power difference trend. On the fitting curve, the points where the local slope change rate is continuously greater than the threshold of 0.001 mAh per second are identified to form turning intervals. The continuous turning intervals are connected and defined as differential evolution paths. Each node in the path contains three-dimensional data: timestamp, power difference and deviation direction. Then, the constraint parsing model PathConstraintSolver is called based on the differential evolution path. The model uses the extreme value envelope analysis algorithm to construct multiple linear envelope curves for the upper and lower bounds of the power deviation of the evolution path. Finally, the maximum slope and minimum slope of the power difference are used as the battery discharge rate constraint boundaries, and the battery discharge constraint value pair is output, where the upper bound is the maximum discharge rate limit and the lower bound is the minimum guaranteed power output threshold, in mAh per second. All operations are deployed in independent difference modeling modules with a refresh frequency of every 60 seconds. The computing resource limit is set to CPU usage no higher than 15%. The battery management control module receives the battery fuzzy power range from the previous step, extracts the upper and lower boundary values of the range, and initializes them as the simulation start and end power. Then, the discharge process simulation engine DischargeSimulator is called. This module takes a preset set of current curve templates as input, including a standard current curve (1C discharge curve), a slow discharge curve (0.3C curve), and a high-speed discharge curve (3C discharge curve). The system selects one of these curves for each simulation and, in combination with the aforementioned battery discharge constraints, truncates and linearly scales the curve to match the constraint boundaries. The system simulates the power output every second and records the current voltage change, SOC change, and the temperature value output by the thermal effect model. The simulation period covers the entire fuzzy power range until the simulated SOC drops below 3%. During the process, if the SOC drop rate exceeds 0.05% is immediately recorded as an abnormal discharge point. All simulated power output data are saved as a structured vector group, including five dimensions: time, voltage, current, power output and temperature. The simulation resolution is once per second. The entire simulation is controlled by the simulation scheduling module, and multi-threaded concurrent processing is used to improve efficiency. The typical simulation time is controlled to be completed within 3 seconds. The power output dimension is extracted from the simulated power output data generated in the previous step, and hourly integration calculations are performed to accumulate the total dischargeable power value. At the same time, the current, voltage and temperature corresponding to each time segment are passed as input to the multidimensional fitting function. The function weight is adjusted by the upper and lower bounds obtained in the aforementioned discharge constraints, and each sampling point is output. The correction factor is used to correct the power output of the current sampling point. All correction factors are limited to between 0.9 and 1.1. The actual available power is finally obtained by integration calculation. The unit is unified in milliampere hours. Then, the available power value is time-aligned according to the current timestamp and the latest SOC reading. If the SOC difference exceeds 1%, the simulation process is restarted until the error converges to within 0.5%. The calculation result is encapsulated as a comprehensive available power structure containing the power value, starting SOC, ending SOC and voltage and temperature corresponding sequences. Finally, a structure queue is established in the memory buffer for transmission to the subsequent upload process. All calculations are completed in the SOC_Estimator module. The double-buffer architecture is used to avoid interfering with the real-time operation of the main BMS thread. The system allocates memory not exceeding 128KB. The generated available power structure is passed to the data encapsulation module EncodeBlockHandler. The module performs the following operations: first, it extracts the power value, start SOC, end SOC and temperature sequence four fields, and then calculates the data integrity check code according to the CRC16 (cyclic redundancy check 16-bit) algorithm and adds it to the end of the data frame. Then, it performs byte alignment on all data to ensure that each field is packaged with fixed-length bytes. The field order is 4 bytes for power value, 1 byte for start SOC value, and 1 byte for end SOC value. The data consists of a 64-byte sequence of sections and temperatures, and a 2-byte checksum. After packaging, the BMS communication protocol stack interface Tx_UplinkProtocol is called to perform CAN bus upload operations. The maximum length of each frame does not exceed 80 bytes. The system uploads data every 5 seconds and records the upload status. If the checksum fails twice in a row, the encoding upload process is retriggered. All upload records are synchronously stored in the Flash memory as a basis for data traceability. The communication process uses an independent SPI bus channel to ensure that the data flow stability of the main control thread is not interfered with. The upload module is deployed in the embedded RTOS system as a real-time task thread with a priority of 2 and a scheduling period of 100 milliseconds.
[0033] In this embodiment, the backtracking of the differential evolution path based on the actual charge and discharge amount difference and the constraint analysis based on the differential evolution path are specifically as follows: Arrange the time series based on the actual charge and discharge amount differences in each cycle and identify the difference change data; Extracting the difference change trend in the difference change data; Based on the trend of difference changes, the differential evolution is traced back to obtain the differential evolution path; Predicting a difference change of the actual charge and discharge amount difference through a difference evolution path, thereby obtaining predicted difference change data; Discharge constraint mapping is performed based on the predicted difference change data to obtain battery discharge constraints.
[0034] In this embodiment, in the process of timing arrangement and identifying difference change data based on the actual charge and discharge amount difference in each cycle, the battery monitoring unit first records the real-time operating parameters such as voltage, current, temperature, SOC, etc. with a sampling period of 1 second, and generates a charge and discharge amount data segment with a cycle of 600 seconds through the BMS data buffer. Each segment contains a timestamp and a net power value. All periodic net power data are constructed into a one-dimensional time series vector in chronological order. Subsequently, the difference calculation module DifferentialSequencer is called. This module calculates the difference value between adjacent cycles one by one by subtracting the actual net power of the previous cycle from the actual net power of the current cycle to form a difference data vector. The data is measured and embedded in the original time series. All difference data are sorted in ascending time to generate a two-dimensional time-difference matrix. Then the boundary filter function is called to remove the abnormal points in the difference matrix whose values are greater than two standard deviations. Finally, a clean and continuous difference change data column is obtained. This column of data will serve as the basic input for subsequent trend extraction and evolution modeling. The entire process relies on the data processing engine in the embedded edge node. The task execution cycle is fixed at once every 5 minutes. The difference column is extracted from the time-difference matrix generated in the previous stage as input and input into the difference trend extraction module DeltaTrendExtractor, which uses the piecewise regression fitting algorithm Piecewise Linear Regression performs piecewise linear fitting. Initially, the difference column is divided into 6 segments of equal length, with a minimum length of 100 data points for each segment. Linear least squares fitting is performed on each segment and the variance of the fitting residual of each segment is calculated. If the residual variance exceeds the threshold of 5 mA squared, the segment is further divided into two until the residual is lower than the threshold. The slope of the final fitting curve of each segment represents the trend of difference change. All trend segments are structured with four fields: start time, end time, slope, and average difference. The length of the structure array does not exceed 32 groups. The data is saved in the temporary memory area for use in the next stage. In order to improve the accuracy of trend analysis, three-point median smoothing is performed on all trend segments to remove short-term mutation effects. The trend extraction module runs on the BMS system. In the secondary scheduling thread, its priority is lower than the SOC update thread and its execution cycle is fixed at once every 20 minutes. The difference backtracking modeling module EvolutionTracer is called and the trend structure array extracted in the previous order is input. The module first performs range calculation on the slope of each trend segment to find the maximum slope and the minimum slope, and then traces the relative changes of the trend segments one by one in chronological order. That is, when the slope of a trend segment is significantly lower than that of the previous segment, it is determined to be a trend turning point, and this point is marked as a path node. All trend turning points are connected in chronological order to form a differential evolution path vector, where each node contains three dimensions: node timestamp, node trend slope, and node difference increase before and after. The maximum length of the evolution path vector is limited to 128 nodes.Interpolation and reconstruction processing is performed on all path nodes to unify the sampling period and construct a standard time series vector. Then regularization and normalization processing is performed to uniformly map all trend slopes to the range of [-1,1]. The path data will serve as the core input of the subsequent difference change prediction model. The evolutionary backtracking modeling relies on the historical data backtracking engine and the main control scheduling kernel to run alternately. The historical path is updated every 48 hours. The difference prediction module DeltaForecastor is called and the standardized difference evolution path vector is input. The difference prediction module is embedded with the sliding window regression predictor SlidingWindowForecaster. The initial window length is set to 32 nodes. The window slides back 4 nodes at each time step and uses the trend slope sequence in the historical window as input. The LSTM (long short-term memory network) structure is used for predictive modeling. The input dimension of the LSTM network is 1, the number of hidden units is 64, and the output is the difference prediction value of the next 16 time points. The network parameters are trained using the Adam optimizer, the learning rate is set to 0.001, and the loss function uses the mean square error function. Each round of training is iterated 30 times, and the final output is the difference change prediction data vector. Each element contains three types of fields: predicted time point, predicted difference value, and predicted offset direction. All prediction results are saved. It is a prediction vector array. When the prediction error exceeds 10%, the path reconstruction operation will be triggered to update the evolution path input. The prediction result is passed to the downstream discharge mapping module. The entire set of prediction operations is deployed in the edge server for execution. The model update cycle is once a day. The discharge constraint mapping module ConstraintProjector is called and the difference prediction vector array output by the previous step is input. The module first extracts the prediction difference value dimension to construct a prediction difference time series, performs a first-order derivative calculation on the sequence to obtain the difference change rate and calculates its maximum positive slope and maximum negative slope, which correspond to the over-discharge rate and over-charge rate defined in the system respectively. Then, according to the system The system's built-in discharge safety boundary specification sets the maximum slope limit as the maximum discharge boundary, in milliampere-hours per second, and takes the absolute value of the negative slope as the minimum discharge threshold. The constraint value interval is limited to [0.01, 0.1] amperes per second. Finally, the battery discharge constraint vector is constructed and encapsulated as a constraint structure. The structure contains four fields: maximum discharge rate, minimum discharge rate, current prediction segment index, and valid start and end timestamps. This structure will be passed to the subsequent power output simulation module to adjust the upper and lower current control limits during the output process. The discharge constraint calculation task is performed by the embedded mapping chip in the hardware, and all calculations take no more than 100 milliseconds.
[0035] The present invention also provides a BMS-based lithium-ion battery power accurate estimation system, which is used to execute the BMS-based lithium-ion battery power accurate estimation method as described above. The BMS-based lithium-ion battery power accurate estimation system includes: The data acquisition module is used to collect BMS raw data, slice the voltage flow interval, and construct a charge and discharge cycle node map; The turning point identification module is used to detect node interruption seams based on the charge and discharge cycle node map and compare the slope differences between the nodes at the edge of the seams to identify the charge and discharge turning points; A cycle division module is used to divide the independent charge and discharge cycles in the charge and discharge cycle node map according to the charge and discharge turning points, and determine the current change time series data of each independent charge and discharge cycle; The charge and discharge capacity comparison module is used to calculate the actual charge and discharge capacity in an independent charge and discharge cycle through the current change time series data, and perform charge and discharge difference comparison to obtain the actual charge and discharge capacity difference; The power query module is used to query the historical input power and historical discharge power based on the BMS raw data, and infer the battery fuzzy power range; The power estimation module is used to estimate the real-time remaining available power based on the battery's fuzzy power range and the difference between the actual charge and discharge capacities, and upload the real-time remaining available power to the BMS system.
[0036] The present invention is therefore intended to be illustrative and non-restrictive in all respects, with the scope of the invention being defined by the appended claims rather than the foregoing description, and all changes that come within the meaning and range of equivalents of the application documents are intended to be embraced therein.
[0037] The foregoing description is intended only to provide specific embodiments of the present invention, which will enable those skilled in the art to understand and implement the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention is not intended to be limited to the embodiments shown herein, but is to be construed in the widest possible manner consistent with the principles and novel features disclosed herein.
Claims
1. A method for accurately estimating the power of a lithium-ion battery based on a BMS, characterized in that: The following steps are involved: Step S1: Collect BMS raw data, slice the voltage flow interval, and construct a charge and discharge cycle node map; Step S2: Detect node interruption seams based on the charge and discharge cycle node map, and compare the slope differences between the nodes at the seam edges to identify the charge and discharge turning points; Step S3: dividing the independent charge and discharge cycles in the charge and discharge cycle node map according to the charge and discharge turning points, and determining the current change time series data of each independent charge and discharge cycle; Step S4: Calculating the actual charge-in and discharge amounts in the independent charge-discharge cycle using the current change time series data, and performing charge-discharge difference comparison to obtain the actual charge-discharge amount difference; Step S5: querying historical input power and historical discharge power based on the BMS raw data, and estimating the battery fuzzy power range; Step S6: accurately calculating the real-time remaining available power according to the battery fuzzy power range and the actual charge and discharge power difference, and uploading the real-time remaining available power to the BMS system.
2. The method for accurately estimating the amount of lithium-ion battery power based on BMS according to claim 1, characterized in that: The specific steps of step S1 are: Collect BMS raw data; extract the periodic domain structure in the BMS raw data to obtain the voltage flow structure sequence; Perform time window alignment and slicing on the voltage flow structure sequence to generate voltage flow interval slices; The voltage flow interval slices are subjected to phase sliding fitting to obtain rhythmic reorganization segments; Identify voltage extreme nodes in rhythmic reorganization segments; Performing charge and discharge cycle trajectory fitting based on the voltage extreme value node to obtain a charge and discharge trajectory characteristic line; A charging and discharging cycle node map is constructed based on the charging and discharging trajectory characteristic lines.
3. The method for accurately estimating the amount of lithium-ion battery power based on BMS according to claim 1, characterized in that: The specific steps of step S2 are: Check node connectivity through the charge and discharge cycle node graph to obtain the node connectivity path; Perform breakpoint density gradient projection based on the node connectivity path to generate candidate seam fracture areas; Capture the voltage geometric trend based on the candidate area of joint fracture, and infer the node turning offset according to the voltage geometric trend to obtain the node turning offset data; The turning point is located according to the node turning offset data to obtain the charging and discharging turning point.
4. The method for accurately estimating the amount of lithium-ion battery power based on BMS according to claim 1, characterized in that: The voltage geometric trend is captured based on the candidate area of the joint fracture, and the node turning offset data is inferred as follows: Extracting continuous voltage traces inside the candidate region of joint fracture; calculating a trajectory change rate of the continuous voltage trajectory; The tangent slope vector is calculated through the continuous voltage trajectory and the trajectory change rate to obtain the seam edge slope vector; Bidirectional slope offset comparison is performed based on the seam edge slope vector to generate node turning offset data.
5. The method for accurately estimating the amount of lithium-ion battery power based on BMS according to claim 1, characterized in that: The specific steps of step S3 are: Topological time embedding of charge and discharge turning points is performed to construct a traceability turning point index; Split the independent charge and discharge cycles in the charge and discharge cycle node graph by tracing the turning point node index; Performing segment current trajectory mapping on the independent charge and discharge cycles to obtain segment current timing trajectory; Identify the power transfer trend in the segment current time series trace to obtain the current change time series data.
6. The method for accurately estimating the amount of lithium-ion battery power based on BMS according to claim 1, characterized in that: The specific steps of step S4 are: Convert the current change time series data into periodic direction and map it into power mapping data within the period; Decouple the power mapping data within the cycle into positive and negative power segments to obtain the actual charging and discharging power; Based on the power mapping data within the cycle, the actual charge and discharge power are matched independently to generate the corresponding charge and discharge power within the cycle; The actual charge and discharge amount difference within the cycle is calculated based on the corresponding charge and discharge amount within the cycle.
7. The method for accurately estimating the amount of lithium-ion battery power based on BMS according to claim 1, characterized in that: The specific steps of step S5 are: Conduct historical cycle traceability on BMS raw data and build a historical power time series index; Query historical input power and historical discharge power based on historical power time series index; Estimate the historical accumulated net electricity through historical input electricity and historical discharged electricity; Identify the most recent battery charge and discharge cycle in the charge and discharge cycle node graph; Calculating the recent charge-discharge difference in the battery charge-discharge cycle; The recent charge-discharge difference in electrical quantity is corrected in real time according to the recent charge-discharge difference in electrical quantity to generate a battery fuzzy electrical quantity range.
8. The method for accurately estimating the amount of lithium-ion battery power based on BMS according to claim 1, characterized in that: The specific steps of step S6 are: Backtracking the difference evolution path based on the actual charge and discharge amount difference, and performing constraint analysis according to the difference evolution path to obtain the battery discharge constraint; Perform power output simulation on the battery fuzzy power range according to the battery discharge constraint to obtain simulated power output data; Accurately calculate the available power through simulated power output data to generate real-time remaining available power; The real-time remaining available power is encoded with integrity and uploaded to the BMS system.
9. The method for accurately estimating the amount of lithium-ion battery power based on BMS according to claim 1, characterized in that: The step of tracing back the difference evolution path based on the actual charge and discharge amount difference and performing constraint analysis according to the difference evolution path is as follows: Arrange the time series based on the actual charge and discharge amount differences in each cycle and identify the difference change data; Extracting the difference change trend in the difference change data; Based on the trend of difference changes, the differential evolution is traced back to obtain the differential evolution path; Predicting a difference change of the actual charge and discharge amount difference through a difference evolution path, thereby obtaining predicted difference change data; Discharge constraint mapping is performed based on the predicted difference change data to obtain battery discharge constraints.
10. A lithium-ion battery power estimation system based on BMS, characterized in that: The method for accurately estimating the power level of a lithium-ion battery based on a BMS according to claim 1 is used to execute the method, the system for accurately estimating the power level of a lithium-ion battery based on a BMS comprises: The data acquisition module is used to collect BMS raw data, slice the voltage flow interval, and construct a charge and discharge cycle node map; The turning point identification module is used to detect node interruption seams based on the charge and discharge cycle node map and compare the slope differences between the nodes at the edge of the seams to identify the charge and discharge turning points; A cycle division module is used to divide the independent charge and discharge cycles in the charge and discharge cycle node map according to the charge and discharge turning points, and determine the current change time series data of each independent charge and discharge cycle; The charge and discharge capacity comparison module is used to calculate the actual charge and discharge capacity in an independent charge and discharge cycle through the current change time series data, and perform charge and discharge difference comparison to obtain the actual charge and discharge capacity difference; The power query module is used to query the historical input power and historical discharge power based on the BMS raw data, and infer the battery fuzzy power range; The power estimation module is used to estimate the real-time remaining available power based on the battery's fuzzy power range and the difference between the actual charge and discharge capacities, and upload the real-time remaining available power to the BMS system.
Citation Information
Patent Citations
Prediction method and system for residual life of lithium battery and readable storage medium
CN111060835A
General type lithium battery charging and discharging fault screening and distinguishing method and system
CN117741454A
Lithium battery health degree detection method and system
CN117930056A
Battery monitoring method and system based on BMS (Battery Management System)
CN118534332A
Intermittent charging control method and system for lithium battery pack
CN119093540A
Cited By
Power equipment capacity analysis method and system
CN120999721A
Lead-acid battery health assessment method and system based on simulated working condition
CN121324970A
Method and system for detecting electric quantity of lithium battery of sound box
CN121348135A
Sodium-ion battery staged SOC calibration method and system
CN121432220A
Unmanned aerial vehicle cluster task and route planning method considering battery life
CN121785375A