The control strategy of the power battery management system mainly includes: battery thermal management, high voltage power on and off management, charging management, balance management, system status module, fault alarm module, SOC estimation module, SOH estimation module, internal resistance estimation module, power estimation module and data storage.
The original detection data such as single-unit voltage, total voltage, temperature, and current are directly detected by the relevant hardware modules, and are updated to the system status through the interface provided by the system status module after the detection is completed. Parameters such as hardware status, sensor status and other status in the battery system are also updated in the system status module. The SOC estimation module, SOH estimation module, the power estimation module and the internal resistance estimation module obtain the required data such as voltage, current and temperature through the system status module, and output the estimated values of SOC, SOH, maximum allowable power and internal resistance after estimation. These estimated values and raw detection data and status data are aggregated into the system status module to obtain comprehensive system status information, including battery status, battery pack information, charging status, battery system status, BMS status, and more. The system state and some hardware states are sent to the fault alarm module for fault judgment, and the fault alarm information is obtained. The system status and fault alarm information are provided to the management unit to complete thermal management, high-voltage power-on and power-off management, charging management, and balance management. The data storage module provides data storage support for other modules, and the data storage is completed by calling the interface provided by the module. The software platform of the power battery management system adopts the Quasi-Automotive Open System Architecture (AUTOSAR).
1. Application layer
The application layer implements operations related to practical applications according to the application requirements of the BMS, battery and battery system. For example, the application requirement of battery status detection is generally to detect the voltage and temperature of the battery with the help of the relevant AD chips and sensors inside the BMS, and store the actual value detected in the CPU memory for use by other modules. The battery state detection can be subdivided into the detection of the voltage of the single cell, the temperature of the battery, the total voltage of the battery pack, the total current of the battery pack, and the insulation state of the battery, that is, the overall battery state monitoring module is composed of sub-modules for single cell voltage detection, battery temperature detection, battery pack total voltage detection, battery pack total current detection and battery insulation status detection. These application modules are equivalent to providing components such as a single cell voltage sensor, a battery temperature sensor, a battery pack total voltage sensor, a battery pack total current sensor, and a battery insulation sensor for other application modules (such as SOC estimation).
After the memory resource is provided, the simulated "sensor" can start to work, and other application layer modules (such as SOC estimation module) can obtain the required battery status information through the signal interface (such as the interface for obtaining the cell voltage). The application layer is mainly divided and set according to the actual application of the vehicle, but more specific implementation details are considered.
The application layer of the control strategy of the power battery management system is mainly composed of a sensing unit, an execution unit, a communication unit, a data processing unit and a management unit.
(1) Sensing unit. This unit is used to realize the related detection of batteries and battery systems, including sub-modules such as single voltage detection, battery temperature detection, battery operating current detection, battery pack total voltage detection, battery pack insulation detection, national standard charging interface detection, power supply voltage detection, common input port and other sub-modules to realize the detection of batteries and battery systems.
(2) Execution unit. This unit is used to realize the control of the power battery system actuators (such as relays, fans, etc.), including positive relays, negative relays, pre-charging relays, AC relays, DC charging relays and other high-voltage control mechanisms and auxiliary equipment such as fan relays, heating relays, PWM output, and common output ports to achieve high-voltage and low-voltage control.
(3) Communication unit. This unit is used to realize the communication with the intranet, the whole vehicle and the charger, and provide direct support for the data exchange of the electronic control unit (ECU).
(4) Data processing unit. This unit is used to centrally process battery-related data, including the statistics of basic information such as cell voltage, temperature, current, total voltage, insulation, etc., and the estimation of parameters such as SOC, SOH, internal resistance, discharge power and feedback power, and main contactor life, as well as diagnostic calibration and data storage.
(5) Management unit. This unit mainly uses the sensing unit, execution unit, communication unit and data processing unit to realize the management of battery discharge, charging, operating environment, safety and consistency, the working environment of the BMS system (working voltage) and the operating mode of the entire battery system, and finally meet the application requirements of the vehicle. In addition, the management unit also includes a configuration unit, which is used to implement static configuration, dynamic configuration and version management of the code.
2. Data layer
The data layer of the power battery management system refers to providing a data transmission interface between the modules of the application layer, and between the application layer and each basic module (service layer, ECU abstraction layer, complex driver layer). The effective isolation of application software and ECU hardware can be achieved through the data layer.
For example, the voltage data of the application module "battery voltage detection" and the SOC estimation module need to be transmitted to the SOC estimation module through a voltage transmission channel (such as a function interface) of the data layer. The battery voltage detection and SOC estimation modules can be in the same ECU (centralized mainboard) or in different ECUs (one master and multiple slaves). If in the same ECU, the voltage transmission channel of the data layer can be simplified as a function call of the battery voltage detection module; if in different ECUs, the voltage transmission channel needs to be connected with the application layer module through the intranet CAN communication, obtain the relevant voltage data from the CAN communication module, and then transmit it to the SOC estimation module. The configuration of the data transmission channel here realizes the software's support for the centralized and distributed hardware architecture, and ensures the effective isolation of the application layer from the ECU hardware.
The control strategy of the battery management system uniformly stores data information such as battery status (including voltage, temperature, current, total voltage, charge and discharge status, etc.) and each fault flag (including battery fault, BMS fault, battery system fault, etc.) in the data processing unit, and operates the relevant status or flag by updating and obtaining the interface, so as to realize the isolation of upper-layer policies and communications from lower-layer hardware operations. The related data exchange is realized through periodic task scheduling.
3. Basic module layer
The basic module layer of the power battery management system control strategy includes the service layer, the ECU abstraction layer, the hardware abstraction layer and the complex driver layer. Among them, the service layer provides basic services for the data layer (such as CAN sending, CAN receiving, EE data reading, EE data storage, watchdog service, etc.); the ECU abstraction layer provides the service layer with a unified interface for operating hardware, and the IO operation interface in the ECU abstraction layer directly provides the data layer with relevant interfaces to ensure the real-time performance of IO operations; the hardware abstraction layer implements hardware-related interfaces and definitions; the complex driver layer implements the operation services of each dedicated chip (such as the voltage sampling chip, the total voltage sampling chip, etc.), and provides an interface for the data layer to obtain relevant data. It should be noted that the hardware abstraction layer implements hardware-related interfaces and definitions that are automatically generated by using PE tools. The PE tool not only realizes the driver interface of each peripheral of the CPU, but also establishes the operating environment of the software, and realizes the interrupt scheduling interface for each event-driven module. This layer also defines the allocation of CPU resources (Register, RAM, FLASH).
4.Task scheduling module
The task scheduling module provides task scheduling interfaces for the basic module layer, data layer and application layer. It is mainly executed cyclically in the timer and main functions. The scheduling interval is 10ms, 20ms, 50ms and 1s, and provides event-type interfaces.
5.System status processing module
The control strategy of the power battery management system divides the system status module into multiple sub-module states, including battery status, battery pack information, charging status, battery system status, and BMS status, and processes the status or data of these sub-modules respectively, and finally form a complete system state processing module, and serve as an independent module in the BMS control system.
(1) The battery status mainly includes the general data, characteristic data and distribution of the characteristic data of the battery, and the historical distribution status of the characteristic data is mainly added, such as historical maximum voltage, historical maximum temperature, distribution of maximum temperature, distribution of SOC, etc. Part of the state data (such as the highest/lowest cell voltage, the highest/lowest temperature, etc.) is calculated inside the module, and the other part (such as SOC, SOH, internal resistance, etc.) is input by other modules.
(2) Battery pack information mainly includes battery pack manufacturer, production date, rated voltage, rated capacity, battery type and battery pack number, etc.
(3) The charging status mainly refers to the detection and analysis of the data of the charging interface, charging parameters, charging process, the reason for the end of charging, and the output of the charger.
(4) The battery system status includes the operating mode, working status, insulation status, relay status, relay life, fan status, heater status and other sensor status of the system.
(5) The BMS status includes the software and hardware versions of the BMS, the protocol versions, the working status of each hardware module, the power supply status of the system, and the running time of the BMS.
6. Fault alarm module
First, sort out and classify various faults, and faults related to battery status (such as high SOC, high battery voltage, high battery temperature, etc.) are defined as battery status faults; faults related to the management system (such as voltage detection faults, temperature detection faults, current detection faults, real-time clock faults, communication faults, etc.) are defined as management system faults; faults related to necessary components such as high-voltage relays, main circuit fuses, heat dissipation and heating units in the battery pack are defined as power battery system faults.
Generally, the fault level is defined as three, the lowest is one, and the highest is three. The first-level fault is relatively minor and usually does not affect the normal operation of the vehicle. The management system usually does not do any processing or reduces the current available power of the battery by 25%; secondary faults are of moderate severity, affecting the normal operation of the vehicle to a certain extent, and the battery pack needs to be maintained as soon as possible. The common processing method is that the management system reduces the power of the battery pack or cuts off the high voltage output of the battery pack when the vehicle allows. The third-level fault is very serious and may affect the safety of the vehicle and users. The battery pack needs to be maintained immediately. The common processing method is for the management system to cut off the high voltage output of the battery pack when the vehicle allows. Due to the different handling strategies of each vehicle manufacturer, the handling methods of each fault level are also different, and the specific technical requirements of the vehicle manufacturer shall prevail.
The same type of fault is usually defined in one structure, and each type of fault is specifically represented by 8 bytes. The fault levels of similar faults are defined by bits in turn, and each fault definition is represented by 2 bits. For example, the single unit undervoltage fault adopts 00 to indicate no fault, and 01 to represent the first-level fault. 10 represents a secondary fault, and 11 represents a tertiary fault. The improved fault management scheme increases the flexibility of fault judgment conditions. Different thresholds and durations are used for fault setting and clearing, that is, a hysteresis interval is added to avoid the jumping of fault states near the fault threshold of the original scheme. The fault hysteresis interval refers to the fault that the battery state is lower than a certain threshold, the threshold of fault setting (lower limit) is lower than the threshold of fault clearing (upper limit); for faults with battery status higher than a certain threshold, the net value for fault setting (upper limit) is higher than the threshold for fault clearing (lower limit). Two thresholds, upper limit and lower limit, need to be defined for one fault level, and up to six thresholds need to be defined for three levels of the same fault. The specific size of the fault hysteresis interval (that is, the difference between the fault setting threshold and the fault clearing threshold) is defined according to the specific conditions of the project. The fault setting threshold and the clearing threshold can also be used, and the non-hysteresis interval is compatible with the fault handling method of the original scheme.