Model predictive controller architecture and method of generating optimized energy signals for battery charging

Optimizing the battery charging signal through the model prediction controller architecture solves the problems of long battery charging time and performance degradation, and realizes an efficient and safe battery charging process.

CN120266361APending Publication Date: 2025-07-04IONTRA INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380069052.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-08-09
Filing Date
2023-08-09
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

Existing battery charging technologies are time-consuming and with performance degradation, making it difficult to charge efficiently within a limited time and reduce battery performance losses.

Method used

The model prediction controller architecture is adopted to generate predicted charging state, temperature and frequency by receiving battery voltage and current measurements, and optimize charging signals using cost functions to generate controllable charging parameters, and shape the charging signals to meet battery health and temperature constraints.

Benefits of technology

It realizes efficient charging within a limited time, reduces battery performance degradation, and optimizes the charging process to meet battery health and temperature requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120266361A_ABST
    Figure CN120266361A_ABST
Patent Text Reader

Abstract

A model predictive controller and associated charging component for generating a charging signal for a battery in which predictive battery parameters such as state of charge, battery temperature, state of health (e.g., anode overpotential) are used to generate constraints that are subsequently used to generate the charging signal, such as by operating an optimizer of a cost function. The charging signal may include one or more optimized charging properties including a charging current amplitude or average current, a shaped leading edge, an edge time, a subject time, and a rest time.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - Reference to Related Applications

[0002] This Patent Cooperation Treaty (PCT) application is related to and claims priority from U.S. Patent Application No. 63 / 370,908, filed on Aug. 9, 2022, entitled “Model Predictive Controller Architecture and Method of Generating an Optimized Energy Signal for Charging a Battery,” the entire content of which is incorporated herein by reference for all purposes. Technical Field

[0003] Embodiments of the present invention generally relate to systems and methods for charging a battery, and more particularly, to a model predictive controller architecture and a method for generating a charging signal and defining aspects of the charging signal based on various possible parameters, including predicted temperature, predicted state of charge, impedance, state of health including anode overpotential, and / or various other metrics. Background Art

[0004] Numerous different types of electric devices, such as power tools, mobile computing and communication devices, portable electronic devices, and various electric vehicles including scooters and bicycles, use rechargeable batteries as a power source for operation. Rechargeable batteries are limited by a finite battery capacity and must be recharged after depletion. Recharging a battery can be inconvenient because the powered device typically must be stationary during the time required to recharge the battery. Depending on the battery size, recharging can take several hours. In addition, battery charging is typically accompanied by degradation of battery performance. Accordingly, a great deal of effort has been invested in developing battery charging technologies to reduce the time required to recharge a battery, improve battery performance, reduce battery degradation due to charging, and the like.

[0005] In view of these observations, various aspects of the present disclosure have also been conceived and developed. Summary of the Invention

[0006] Aspects of the present disclosure relate to a controller for a battery, the controller comprising: a processing unit including computer-executable instructions for:

[0007] ● a first model that receives battery voltage measurements and battery current measurements and generates a predicted state of charge of the battery;

[0008] ● A second model that receives the battery voltage measurement and the battery current measurement and generates a predicted battery temperature;

[0009] ● A third model that receives the battery voltage measurement and the battery current measurement and generates a frequency based on an impedance assessment, the impedance assessment being based on the battery voltage measurement and the battery current measurement.

[0010] The processing unit further includes computer-executable instructions for generating control of a charging signal based on the predicted state of charge of the battery, the predicted battery temperature, and the frequency.

[0011] On the other hand, aspects of the present disclosure relate to a controller for a battery, the controller including: a processing unit that includes the following computer-executable instructions:

[0012] ● A battery state of charge model that receives battery parameters and generates a predicted state of charge of the battery;

[0013] ● A battery temperature model that receives the battery parameters and generates a predicted battery temperature;

[0014] ● An impedance model that receives the battery parameters and uses the battery parameters to generate a frequency based on an impedance assessment.

[0015] The processing unit further includes computer-executable instructions for generating a charging signal based on the predicted state of charge of the battery, the predicted battery temperature, and the frequency.

[0016] Another aspect of the present disclosure relates to a battery charging method. Using a processor, the method includes predicting battery parameters based on measurements of battery attributes and controllable charging signal parameters. The method further relates to generating constraints on the controllable charging signal parameters when the predicted battery parameters do not meet the parameter constraints. The method further relates to executing a cost function based on the constraints on the controllable charging signal parameters to change the controllable charging parameters. Finally, the method further relates to generating a charging signal to charge the battery, the charging signal being based on the changed controllable charging parameters.

[0017] In various aspects, the predicted battery parameters cannot be directly measured in other ways, the predicted battery parameters are at least one of a predicted battery temperature, a predicted anode overpotential, or a predicted state of charge, and / or the predicted battery parameters are at least one of the following: lithium plating concentration, solid electrolyte interphase (SEI) thickness, average negative particle crack length, or loss of active material in the negative electrode.

[0018] In various aspects, a model for predicting the battery parameters is used, which receives the battery attributes, where the battery attributes are at least one of battery charging current, battery voltage, battery temperature, or state of charge. The model can be a Python battery mathematical modeling model. In various possible instances, the predicting of the battery parameters is further based on at least one charging signal attribute of edge time, body time, and average current.

[0019] In various aspects, the generating of the constraints for the controllable charging signal parameters includes using the bisection method to iterate on the charging signal constraints so that the predicted battery parameter of the anode overpotential is greater than 0 volts and / or the predicted temperature meets the temperature threshold. In various aspects, the controllable charging parameters further include at least one parameter based on edge time, body time, average current, or rest time.

[0020] In various aspects, generating the charging signal includes generating a repeating sequence of charging signals, where each charging signal includes at least one based on at least one of edge time, body time, and average current. In various aspects, generating the charging signal includes shaping the leading edge of the repeating charging signal based on the edge time. The shaped leading edge can be based on the frequency determined from the edge time.

[0021] In one instance, the cost function is:

[0022]

[0023] where:

[0024] N p is the MPC prediction horizon with respect to the SOC tracking error,

[0025] N c is the MPC prediction horizon with respect to the control input,

[0026] and are the weights of the SOC tracking error and the control input, respectively, and

[0027] I ref (k) is the desired or reference current charging rate.

[0028] In another instance, the cost function is:

[0029]

[0030] where:

[0031] N p is the MPC prediction horizon with respect to the SOC tracking error,

[0032] Nc relates to controlling the prediction range of the input MPC,

[0033] and are the weights of the SOC tracking error and the control input respectively, and

[0034] I ref (k) is the desired or reference current charging rate. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The various objects, features, and advantages of the present disclosure set forth herein will become apparent from the following description of embodiments of the inventive concepts shown in the drawings. It should be noted that the drawings are not necessarily drawn to scale and may represent various features of the embodiments, with the emphasis on illustrating the principles and other aspects of the inventive concepts. Additionally, in the drawings, the same reference numerals may refer to the same or similar parts in different views. The embodiments and drawings disclosed herein are intended to be illustrative rather than restrictive.

[0036] Figure 1 is a system diagram of a model predictive controller and an associated battery system according to one embodiment;

[0037] Figure 2A is a signal diagram of an example of a controlled arbitrary-shaped charging waveform for charging a battery according to one embodiment;

[0038] Figure 2B is a signal diagram of a sequence of shaped charging signals generated from a battery charging circuit according to some embodiments, the shaped charging signals including a shaped leading edge having linear segments that together approximate a non-linear shaped leading edge;

[0039] Figure 3A is a Nyquist impedance spectrum of a new lithium-ion rechargeable battery cell at 50% state of charge;

[0040] Figure 3B is a Nyquist impedance spectrum of a 30%-aged lithium-ion rechargeable battery cell at 50% state of charge;

[0041] Figure 3C is a Nyquist impedance spectrum of a 60%-aged lithium-ion rechargeable battery cell at 50% state of charge;

[0042] Figure 4A is an equivalent circuit model of a battery according to one embodiment;

[0043] Figure 4B is a graph showing the relationship between RO of the equivalent circuit and the state of health;

[0044] Figure 5 A diagram of a neural network model for generating a health state according to an embodiment;

[0045] Figure 6 A circuit diagram of a charger for estimating and / or generating a charging signal based on the operation of a model predictive controller according to an embodiment;

[0046] Figure 7 A system diagram of a model predictive controller and a related battery system according to an embodiment;

[0047] Figure 8 Shows the operation Figure 7 A flowchart of a possible method of operating a model predictive controller to generate a charging current constraint that accounts for predicted anode overpotential, predicted battery temperature, and predicted battery voltage;

[0048] Figure 9A Shows Figure 7 A charging signal diagram of the operation of an MPC to control the charging current;

[0049] Figure 9B A graph showing the relationship between predicted anode overpotential and the change in charging current by an MPC in response to the predicted anode overpotential;

[0050] Figure 10A A charging signal diagram showing the effect of changing the ep parameter on the charging signal;

[0051] Figure 10B A charging signal diagram showing the effect of changing the cp parameter on the charging signal;

[0052] Figure 10C A charging signal diagram showing the effect of changing the t-wave parameter on the charging signal;

[0053] Figure 11A A signal diagram showing the effect of changing the ep parameter on the predicted anode overpotential;

[0054] Figure 11B A signal diagram showing the effect of changing the cp parameter on the predicted anode overpotential;

[0055] Figure 11C A signal diagram showing the effect of changing the t-wave parameter on the predicted anode overpotential;

[0056] Figure 12 A system diagram of a model predictive controller and a related battery system according to an embodiment;

[0057] Figure 13 Shows the operation Figure 12Flowchart of a possible method for a model predictive controller to generate charging signal constraints, where the charging signal constraints illustrate predicted anode overpotential, predicted battery temperature, and predicted battery voltage;

[0058] Figure 14 Is a diagram showing an example of a computing system that can be used to implement embodiments of the present disclosure. Detailed Description

[0059] The system can be considered a model predictive controller for determining and generating an optimal charging signal for charging a battery. The system is also beneficial for characterizing batteries, characterizing and developing battery charging and discharging signals for new battery sizes, chemistries, etc. One advantage of the model predictive controller architecture described herein is that it is suitable for acting on multiple inputs and generating multiple outputs when one or both are needed in any given implementation, charging signal generation, or battery characterization scenario. For example, the system can act on the voltage, current, and temperature of the battery. The system can also act on computed or derived values, such as impedance, or aspects of impedance, such as the real or imaginary components of impedance. Depending on the charging situation and / or implementation, another advantage of the model predictive battery charging architecture described herein is that the output parameters of the battery during charging (e.g., terminal voltage, input charging current, and / or temperature) can be controlled to follow a reference output. For example, the system can include various possible reference curves, and the model predictive controller can control the charging waveform such that the actual battery performance during charging matches or otherwise follows the reference curve for any given charge.

[0060] Using the techniques described herein, the system can further generate optimal charging parameters, which can include optimal harmonic attributes mapped to or otherwise related to impedance or other detrimental effects in the battery to meet the curve. Conventional charging schemes, including constant current constant voltage charging or variations thereof, involve charging at a certain constant current and / or maintaining a certain terminal voltage constant during charging, in which case the charging current typically decreases until it reaches zero. In these conventional charging scenarios, there is simply no need for a complex charging architecture, or no complex architecture is required to optimize the charging signal based on an arbitrarily shaped charging signal at the start.

[0061] Another aspect of the present disclosure relates to a user interface through which different charging attributes can be set or otherwise configured in a system, and the system can determine and / or optimize a charging signal for the user interface. For example, through the user interface, a charging rate, a safe operating temperature limit, a maximum terminal voltage, and / or other parameters can be set in the system, and the system automatically iterates to an optimal charging waveform to meet these conditions. Then, a model predictive controller architecture can run the charging waveform and adjust the waveform to meet the charging parameters set by the user. The system can also facilitate prioritization of different parameters.

[0062] Reference is now made to Figure 1 , which shows a model predictive controller (MPC) architecture 100 that relates to charging and / or generating an optimal charging signal for charging a battery 102. In this example, the MPC system generates a charging current waveform that is applied to the battery to charge the battery. The system can monitor various battery attributes during charging (including terminal voltage, battery temperature, and input current waveform), and in some instances is used for optimization generation. The system can further monitor and use other parameters in the optimization, such as charging rate and impedance.

[0063] In the art and herein, the term "battery" can be used in various ways and can refer to a single battery cell having a negative electrode and a positive electrode separated by a solid or liquid electrolyte, as well as a collection of such battery cells connected in various arrangements. A battery or battery cell is in the form of an electrochemical device. A battery typically contains repeating units of charge sources and electrode layers separated by an ion-conductive barrier, which is typically a liquid or polymer membrane filled with an electrolyte. These layers are made very thin so that multiple units can occupy the volume of the battery, thereby increasing the available power of the battery with each stacked unit. Although many of the examples discussed herein apply to batteries, it should be understood that the described systems and methods can be applied to many different types of batteries, ranging from individual battery cells to batteries involving different possible interconnections of battery cells, such as parallel, series, and batteries with parallel and series-coupled battery cells. For example, the systems and methods discussed herein can be applied to battery packs that contain many battery cells arranged to provide a defined group voltage, output current, and / or capacity. In addition, the embodiments discussed herein can be applied to different types of electrochemical devices, such as various different types of lithium batteries, including but not limited to lithium metal and lithium-ion batteries, lead-acid batteries, various types of nickel batteries, and solid-state batteries of various possible chemistries, to name a few. The various embodiments discussed herein can also be applied to battery arrangements of different structures, such as button or "coin" type batteries, cylindrical battery cells, pouch battery cells, and prismatic battery cells.

[0064] The architecture described herein can be used to control battery charging in a variety of discrete applications within the scope of mobile computing devices such as mobile phones and tablet computers, can be deployed in a variety of power tools, and can be deployed in a variety of vehicles ranging from bicycles and scooters to large vehicles such as cars. This architecture can also be used to develop charging curves and / or test various charging curves to meet various charging specifications, including the charging rate, which can be associated with the amount of time it takes to charge the battery to various charge states, the maximum charging current, the charging waveform current amplitude (max), the battery temperature, the battery health and capacity, and other characteristics.

[0065] In Figure 1 the system shown, a user interface (UI) 104 is provided where the user can specify various charging attributes, and the architecture uses these charging attributes to generate a charging waveform to apply to the battery. In various instances, such systems with user interfaces can be used to create different charging curves, test and optimize charging curves, and do so for numerous different existing or to-be-developed battery chemistries and configurations. Generally speaking, the advantage of this architecture is that constraints can be defined, and the system can select or generate a charging waveform based on these constraints while monitoring and adjusting the performance of the charging waveform. Additionally, priorities can be defined for various constraints.

[0066] The system can incorporate constraints on inputs, outputs, and the rates of change of inputs and outputs. Constraints can come from physical limitations (e.g., the maximum input current available to the charging system, the maximum charging current of the battery, current limitations imposed by the charging circuit topology, etc.), defined or specified limitations (e.g., the minimum temperature at which charging occurs, the maximum temperature limit during charging, etc.).

[0067] The system can prioritize various constraints through the user interface or other means. In one instance, 'soft' constraints and 'hard' constraints can be established. For example, the user interface can allow the user to select a constraint via a drop-down menu, establish one or more parameters (e.g., values) for the constraint, and select whether the constraint is a hard constraint or a soft constraint. A hard constraint is a constraint that cannot be violated, while a soft constraint is one that can be violated. For example, the constraint can be a working temperature range or discrete lower and upper temperature constraints, where the lower temperature limit value (parameter) is a soft constraint and the upper temperature limit value is a hard constraint, such that charging does not occur above the upper limit, but charging can occur below the lower limit if other hard constraints are met, otherwise the optimization indicates that charging occurs. Thus, when hard and soft constraints are defined, during system optimization and when there are conflicts between constraints, soft constraints may be violated, hard constraints cannot be violated, and the system will minimize the violation of soft constraints.

[0068] The system also allows constraints to be weighted. In various possible scenarios, weighting can be used to prioritize various objectives. In a simple example, the system can address both battery life and fast charging, which may conflict in some cases where fast charging comes at the expense of battery life. While the system can optimize both in unexpected ways, in some cases, for any given implementation, the user can prioritize one over the other. For example, the user can prioritize the charging speed relative to the battery life, in which case the charging time or other such constraints can receive a higher weight than the battery life constraint. Thus, the system can balance the performance between objectives by weighting the constraints. Compared to constraints with lower weights, the optimizer will be more inclined to achieve constraints with higher weights but will still attempt to achieve all constraints.

[0069] The MPC architecture includes a temperature predictor model 106. The temperature predictor model can receive (as inputs) the battery temperature T(k), the input current I(k), and / or the battery voltage V(k). When analyzed by the temperature predictor model, the measured values T(k), I(k), and V(k) can represent the values at a time (k - 1) before the current time. The model predicts the temperature at a future point (e.g., K + 1) based on the measured value inputs. The model can be implemented in various possible forms, including empirical or other forms of equations, lookup tables, machine learning models, neural networks, and other forms of models that receive inputs of the current state of the system to produce a predicted temperature of the battery at a future point.

[0070] In a specific example, the system predicts a temperature change (e.g., increase) based on an existing charging waveform that includes its current (I) and voltage (V) components. It should be recognized that the temperature predictor model and other models herein can receive charging waveform values and battery temperature measurements, averages of the measurements, averages of the measurements, minimum or maximum values, over a period of time (e.g., measured history), and use the set of values to predict the future battery temperature T(k + 1). The predicted temperature can be at a future point in time, which can be as early as the next measurement time when the system will evaluate conditions and potentially modify the charging waveform, or some other future time. One use of the MPC predicted temperature is to generate a charging waveform that does not cause the battery to exceed a certain temperature threshold (which may be a constraint), or exceed a temperature curve defined in the system by the evaluator via the UI or other means. In another example, among other considerations, the system can generate a charging signal with a relatively high charging rate that does not cause the battery temperature to exceed a certain temperature and / or minimizes the degradation of the SOH.

[0071] The MPC architecture may further include a state of charge (SOC) predictor model 108. The SOC model may receive a charging waveform at the battery, which takes as input discrete battery voltage V(k) and charging current I(k) measurements. Using the input, the SOC model may generate the current state of charge (SOC(k)). The SOC model may further generate or otherwise predict the state of charge at some point in the future (e.g., SOC(k+1)) based on the input. The current state of charge may also be an input to the model to predict the future state of charge.

[0072] In many cases, the time or cycle for predicting temperature and predicting the state of charge is consistent. Thus, if the model predicts the temperature at a future time k(n), then the state of charge at the same future time k(n) will be predicted.

[0073] Based on the SOC predictor 108 and the battery temperature predictor 108, the system has a predicted state of charge (SOC(k+1)) and a predicted temperature (T(k+1)) of the battery based on the current charging waveform (e.g., values I(k) and V(k)) applied to the battery and other information such as temperature T(k). The SOC and temperature predictors may also receive the magnitude of the current from the optimizer 110, which may be an average current value, as discussed in more detail below.

[0074] The predictive controller architecture may further include an impedance analyzer 112. The inputs to the impedance analyzer are the current charging current I(k) and the terminal voltage V(k) in the presence of a charging current, as well as previous measurements of two values I(k-1), I(k-2), I(k-n) and V(k-1), V(k-2), V(k-n), forming a time-varying current and voltage waveform. Based on the battery voltage and charging current measurements, the impedance analyzer determines the impedance of the battery to the charging signal I(k) applied to the battery. The charging signal I(k) is discussed based on its current value because in some cases it is a current control value, while recognizing that it has a voltage value that is measured and called V(k).

[0075] In a particular arrangement, impedance analyzer 112 can generate an impedance spectrum of the battery. Using the impedance spectrum, the impedance analyzer can identify F(opt), which can be one or more frequencies (F) or frequency bands at which the impedance is at a minimum value or is otherwise relatively low compared to other values, and provide the frequency parameter to signal constructor 114, which will be discussed in more detail below. Thus, the output provided to the signal constructor (e.g., F(opt)) can be discrete frequency values, frequency values, or frequency bands. The one or more frequencies or frequency bands generated may also be associated with relatively minimal plating within the battery. Plating or deposition of lithium on the anode has various detrimental effects on the battery, including removing lithium available for intercalation, forming discontinuities that reduce charge distribution and uniformity, and forming dendrites, any of which individually or in combination can lead to battery health degradation. In one possible implementation, the impedance analyzer can include one or more models that generate one or more frequencies or frequency bands for relatively low plating, which can also individually or in combination reference the relative magnitude of the impedance at any particular frequency compared to other frequencies. The one or more frequencies of relatively low impedance can be the same as the frequencies associated with no plating or relatively little plating. In some instances, the frequencies associated with minimal plating may not necessarily be the same as the frequencies associated with the lowest impedance. In part, the signal constructor can use the one or more frequencies to define aspects of the charging signal.

[0076] In various aspects and with reference to FIG. 2, the charging signal 200 generated by the signal constructor can include a shaped leading edge 210, a body portion 220, and a resting portion 230. The shape of the leading edge can be the shape of (a portion of) a sine curve, the frequency of which is selected based on the harmonic frequencies of relatively low impedance, minimum plating, combinations thereof, and / or other means. By the signal constructor, the shaped leading edge can correspond to a frequency (f) (or frequencies), or be at least partially based on F(opt). After the shaped (e.g., sine) leading edge is a relatively stable charging current (e.g., body portion 1020) that terminates at a falling edge 1040. After the falling edge can be a sine heating portion. However, in the example of FIG. 2, after the body portion is a resting period 1030. The resting period can be zero current, or can be some non-zero DC current that is less than the base DC current of the body portion. Depending on the type of battery cell, the peak current of the body portion can be in the range of 10 A to 60 A, where the resting current is in the range of 0 A to 10 A. As described below, the shaped leading edge, the body portion, and / or the total width can be a function of the average current. As described elsewhere herein, the peak current value, the resting current value, and other values can vary depending on temperature, battery cell type, circuit capacity, state of charge, and other factors. In this example, if non-zero, if referring to conventional CCCV charging parameters, the resting current can be less than the specified charging current. For example, if the charging current for CCCV charging is about 4 A and 4.2 V, the resting current can be 2 A or less. The charging waveform can involve repeating charging signals, which can vary over time (e.g., any one or combination of edge time, body time, resting time, duty cycle can vary).

[0077] To obtain impedance, in one possible example, the impedance analyzer 112 employs a method of determining impedance based on voltage and current signals I(k), I(k - 1), I(k - n) and V(k), V(k - 1), V(k - n). The voltage and current signals can each include one or more harmonics. For example, the leading edge of a charging signal can have the shape of a portion of a sine curve at a specific frequency. In another example, the main body of the charging signal can be composed of one or more harmonics. In the example under discussion, the impedance analyzer determines the impedance of the battery to the applied charging signal (its current and voltage components). However, it is also possible, especially at the start of a charging cycle, to employ a probing signal that can include a harmonic spectrum, which can be used by the system to evaluate the battery's impedance to various harmonics and generally initiate the MPC and the initial charging waveform to be applied to the battery. The probing signal can also be interleaved during charging, or run discretely at the start of charging during charging, and / or otherwise. In one example, the probing signal can be a square wave or a square wave pulse. In a specific example, the probing signal is a square wave centered at zero amperes. In one possible example, the probing signal is a square wave centered at zero amperes, having a +4V (positive) portion and a -4V (negative) portion. Here, the average current is 0A. The duty cycle is 50%. The frequency, duty cycle, current or voltage amplitude, or other attributes of the probing signal can vary according to the battery cell type, device type, temperature, state of charge, and other possible parameters. These parameters can be determined based on the characterization of any given battery cell type. In a specific example, a square wave probe is applied to the battery for a single period of about 30 milliseconds. In other words, the probing signal can contain a square pulse of a certain current and a negative square pulse of a certain current. The pulses can have the same duration, for example 15 milliseconds each, or can have different durations. The probing signal can be just a positive pulse (current flowing into the battery) or a negative pulse (discharge current from the battery). Each pulse can include the same amplitude of current, or the pulses can be asymmetric. While other probing signals are possible, square pulses or waves have harmonic content over a wide frequency range and are effectively generated by a series of conventional charging hardware topologies. Generally speaking, the purpose of the probing signal is to very simply and discretely introduce a wide spectrum of harmonic content into the battery in order to evaluate the battery's impedance to various harmonics. Thus, whether it is a square wave or a square pulse or other signal, the probing signal is intended to instantaneously introduce a harmonic spectrum into the battery, and a series of probing signals can also be introduced to evaluate the impedance response to harmonics over time. In the case of a square wave centered at zero amperes, it is also possible for equal magnitudes of current to flow into and out of the battery, with little or no net charge effect. In some arrangements, a series of different probes can be injected, containing different harmonic contents.Although uncontrolled and / or high-frequency harmonics may have a harmful effect on the battery, in order to obtain an impedance spectrum, the system applies a square pulse only for a very short duration, thereby substantially avoiding such effects.

[0078] In the presence of a charging signal waveform or a probing signal, the system measures the current and voltage of the battery. The current and voltage components of the charging or probing signal are captured within a range. For each of the current signal and the voltage signal, the system obtains a frequency spectrum, from which the system can further generate an impedance spectrum. In one example, an impedance analyzer may generate a domain transform of the current signal and the voltage signal to produce a voltage frequency spectrum and a current frequency spectrum. The domain transform may be a discrete wavelet transform using a Morlet wavelet. In some cases, the wavelet may also be considered a Gabor wavelet or a complex Morlet wavelet. In one possible implementation, the system may use fixed-point arithmetic to generate the impedance spectrum, which may allow the use of a relatively low-cost and simpler microcontroller or other computing platforms more typical in some charging environments where otherwise a large amount of computing power is not required.

[0079] Based on the frequency spectra of the current signal and the voltage signal, the system generates an impedance spectrum. In one example, the impedance spectrum is generated by dividing the voltage spectrum by the current spectrum. More specifically, the complex voltage values at various frequencies are divided by the complex current values at the same frequencies to generate an impedance, which may be the complex component of the impedance at various frequencies. This may generate a complex-valued impedance spectrum. In some examples, it is sufficient to limit the generation of the impedance spectrum to a discrete frequency range, such as from 200 Hz to 3 kHz.

[0080] Regardless of the technology, the impedance analyzer 112 generates at least one impedance value. In a particular example, the impedance analyzer generates an impedance spectrum that correlates the impedance of the battery with the specific harmonic frequencies of the signal applied to the battery. Thus, in a simplified example, in a square pulse probing signal or a shaped charging waveform applied to the battery, there will be many harmonics. Through the techniques discussed herein, the system generates discrete impedances of the battery for some or all of the discrete harmonics in the charging or probing signal. The frequency spectrum generally shows the resistance of the battery to a specific charging signal frequency. The battery may have more or less impedance (more generally, resistance) to different frequency harmonics of the probing signal.

[0081] The impedance analyzer can thus generate one or more impedance values associated with corresponding one or more frequencies, which may be harmonic when signals having these frequencies are applied to the battery. As part of generating the frequency output, the impedance analyzer generates an impedance spectrum (Z). The impedance can be characterized by the imaginary component, the real component, or both the imaginary and real components of the impedance. Similarly, other frequency-based responses or impedance-derived terms such as susceptance, admittance, and capacitance can be used. Generally, in various embodiments considering impedance values, the techniques evaluate harmonic values, where the values are individually or combinatorially associated with a certain impedance. Considering the generally inverse relationship, the term impedance as used herein can include its inverse admittance, including its conductance and susceptance components individually or in combination. In a specific example, the impedance analyzer generates a frequency or spectrum associated with the lowest impedance. Thus, for example, the system can generate discrete frequencies of the lowest impedance at the battery. In another example, the system can generate some frequency spectrum values above, below, or around the lowest impedance frequency. The frequency values or spectra are outputs and are fed to a signal constructor. In a specific example, the selected frequency or spectrum is consistent with the imaginary component of the impedance.

[0082] Some other components of the impedance analyzer, optimizer, or controller 100 that use the impedance spectrum and / or its discrete components can also generate a state of health (SOH) output. The SOH is a measure of the current SOH (k) and can be based on modeling the battery impedance. In one example, the SOH is output as a value between 0 and 1, where 1 represents a new battery with no degradation and 0 represents a battery at the specified end of life. The SOH may be due to internal plating of the battery.

[0083] In one example, the system applies a probing waveform, which can be a square pulse to generate various harmonics as introduced above to generate an impedance Nyquist plot, as Figure 3A (for a new 21700 lithium-ion rechargeable battery cell at 50% SOC), Figure 3B (for a 30% aged 21700 lithium-ion rechargeable battery cell at 50% SOC) and Figure 3C (for a 60% aged 21700 lithium-ion rechargeable battery cell at 50% SOC) as shown. By fitting the Nyquist plot, the system can obtain an estimate of the component values in the equivalent circuit model of the battery cell as shown in Figure 4A . In the equivalent circuit model, R0 represents the battery cell body resistance, C1 and R1 represent the charge transfer impedance, C2 and R2 represent the diffusion impedance, and Zw represents the Warburg element. C1, C2 are constant phase elements. In one example, the system represents the SOH by referring to the value of R0. As Figure 4BAs shown, when the battery cell ages, the SEI layer thickness increases by plating, and the bulk resistance of the battery cell thus increases.

[0084] For example, an impedance analyzer can include a model that generates an SOH metric based on impedance spectra, voltage and current values, and / or other information.

[0085] In a specific embodiment, the model can be a neural network, such as Figure 5 as shown, where all values of the components in the equivalent circuit are inputs, and where SOH is the output after the hidden layer of the neural network. The neural network is pre-trained based on experimental data or simulation results before being accessed or otherwise deployed in the system.

[0086] According to more specific examples of impedance spectra or other aspects, the system can identify a specific harmonic as F(opt), which is used to define the leading edge of the charging portion of the charging waveform from the signal constructor. As discussed herein, the system can shape the leading edge and / or define the harmonic components of the charging waveform, and specifically the main body portion of the charging portion. In one possible arrangement, to determine the shape of the leading edge of the charging signal, the system determines the optimal frequency from the impedance spectrum generated by the impedance analyzer. In a particular example, the optimal frequency is the frequency associated with the lowest impedance (specifically, reactance in some embodiments) in the impedance spectrum. Thus, the system selects the frequency associated with the lowest impedance. It should be understood that there may be cases where the system can instead evaluate admittance, such as the highest admittance or the imaginary part of admittance - susceptance. Generally, a charging signal applied to the battery having a frequency shape associated with a lower impedance will transfer energy for charging more effectively compared to a frequency associated with a higher impedance. In some cases, the charging signal is also associated with relatively less plating, and thus SOH degradation is slower. The optimal frequency is set as the leading edge of the charging signal generated by the signal constructor. Thus, as shown in the example of Figure 2, the leading edge defines a portion of a sine curve at the identified frequency.

[0087] In addition to the shape of the leading edge of the charging portion, the optimizer 110 and the signal constructor 114, and / or other components described herein may also determine the overall properties of the signal, including the length of the rest period relative to the charging time (including the shaped portion and the body portion), the overall signal period, and other properties. In one possible example, the period of the charging signal and the rest period are preset and based on the battery characterization. The period of the charging signal includes a shaped leading edge and a body portion following the shaped leading edge. In various possible examples, the charging portion may fall within the range of hundreds of microseconds to tens of milliseconds. The total period, also known as the duty cycle, includes the charging portion and the rest period (or heating portion). The rest period (or heating portion) may fall within the range of hundreds of microseconds to tens of microseconds. In other possible examples, the period may fall within the range of hundreds of microseconds to tens of milliseconds. The peak current at the peak of the shaped leading edge and the body portion of the charging portion of the battery cell may be approximately 20 A, but the peak current value depends on the battery cell type, temperature, characterization, and other factors, and may therefore be significantly different from the example peak current. An example of determining the charging current (including the peak current) is discussed below, which is based on the average current generated from the optimizer.

[0088] The predictive controller architecture further includes an evaluator 116 that receives the predicted state of charge (SOC(k+1)), the predicted temperature T(K+1), and the output of the impedance analyzer (such as SOH and / or impedance spectrum and / or F(opt)) as its inputs. The evaluator also knows the type of battery being charged, including any possible specifications for the charging current and voltage, as well as the system current limit, etc.

[0089] The evaluator can further receive or more generally include various performance goals or curves and other information to define the charging waveform. In one example, one or more such parameters can be defined via the user interface 104. The performance goals can include a charging rate, which can be provided as a charging curve (SOC profile) reflecting the change in SOC over a certain period of time; a temperature parameter, which includes temperature information associated with low temperatures at which charging can damage the battery and high temperatures at which charging can damage the battery (e.g., below or above minimum and maximum temperature values at which charging should not occur). The charging rate can be defined alone or as a separate value or with reference to the maximum available charging current of the system - the physical limit of the charging current that the system can provide, a limit imposed by the manufacturer, or other possible limits. In terms of the charging curve, the curve can reflect a certain percentage of the battery charging time. The percentage can simply be a range such as 80%, regardless of the starting charge state, the percentage can be an end state, such as reaching 80% charge regardless of the starting charge, and other values. The end-of-life capacity is a value indicating when the system will recognize that the battery life has expired. For example, the end-of-life capacity can be 80%, such that when the battery capacity has decreased by 20% from a new battery and has a capacity of 100%, the battery will be considered at the end of its life. Similarly, an SOH of 1 can reflect 100% capacity, and an SOH of 0 can reflect 80% capacity, recognizing that other information besides capacity can also reflect SOH. In terms of SOH, as discussed with respect to some embodiments, SOH is based on the anode overpotential. In such cases, parameters related to the anode overpotential can be used to generate SOH values or scales. Generally, it is believed that relatively fast charging degrades the battery faster than relatively slow charging. Charging at too low or too high temperatures can also cause the battery life to degrade faster. Therefore, these parameters are intertwined and can be considered when the system determines the charging signal.

[0090] The charging parameters can be input via the user interface. In other examples, the system can refer to predefined curves stored in the memory. In another example, the system can use such values in a battery characterization system, where the baseline charging signal is defined by the MPC, and the baseline charging signal can be used in the MPC system or as a preset charging waveform, which can be modified or not modified. In another example, the baseline charging signal can be used in Figure 1In a charging system where there is no user interface and thus some or all of the charging parameters are preset. In yet another example, the charging parameters are used to generate a baseline charging signal, but the system for charging the battery includes an evaluator that receives T(k), SOC(k), and the output from an impedance analyzer, but does not receive other charging parameters. In yet another example, a system deployed to charge a device may allow a user to customize settings such as the charging rate and end-of-life, such that the system will optimize the charging signal to account for the user-defined settings.

[0091] It should be appreciated that a system can prioritize some charging parameters relative to others. For example, the system may not allow any charging above a specified temperature or below a specified temperature, and thus may not be able to charge according to an SOC profile (e.g., at a specified rate) without exceeding the maximum temperature, or may not start charging until the battery temperature reaches a minimum temperature. In such examples, the system can be defined as prioritizing temperature relative to the charging rate so as not to damage the battery. In another example, the charging time may not be consistent with the maximum charging rate, and thus the system will not generate a charging signal that exceeds the system's capabilities.

[0092] The charging parameters can further include temperature values that include a minimum temperature, a maximum temperature, a temperature range, or other definitions of temperature constraints on the battery during charging, at the start of charging, at the end of charging, or a combination thereof. In some cases, the minimum temperature can be the temperature at or below which the battery should not be charged. The temperature range can define the temperature range within which safe charging can occur. The maximum temperature can define the temperature above which charging should not occur. In some examples, the system can adjust the charging waveform over time to maintain the temperature within a safe operating range and / or not exceed an upper limit, understanding that charging warms the battery. In some examples, the system can define a charging waveform that is primarily intended to warm the battery when the battery temperature is not sufficient to charge otherwise.

[0093] The charging parameters can further include a definition of a target life that reflects the number of cycles, which defines how many charge and discharge cycles the battery can complete before its capacity drops to a certain set level. The SOH value can be used alone or in combination with external information such as the current charge cycle count, the extent of each cycle (e.g., the start SOC to the end SOC of any cycle, recognizing that the end-to-start SOC, on or off charging can also be considered when evaluating a cycle).

[0094] The evaluator 116 can include / perform one or more cost functions (also known as loss functions) to generate one or more performance indices. The performance indices provide the difference between the predicted performance and the values of any predefined performance curve or evaluator. For example, the evaluator can evaluate the predicted SOC against the charging rate curve to determine how the SOC tracks against the charging rate curve. Similarly, the evaluator can evaluate the predicted temperature against the temperature curve.

[0095] In a particular arrangement, the evaluator runs a cost function to minimize two performance metric values J1 and J2, where:

[0096] J1 = expected SOC - SOC(K + 1)

[0097] J2 = expected T - T(k + 1).

[0098] Here, the expected SOC comes from the charging curve that defines the progress of the SOC over time, and the expected T comes from the temperature curve that varies over time.

[0099] The output of the evaluator is fed to the optimizer 110, which generates the average current value of the charging current waveform. As depicted in an example in Figure 2, the charging current waveform is a shaped waveform, and the average current value can be related to the total charging current energy from the shaped waveform.

[0100] SOC and temperature are functions of the average current; thus, the two performance metric values J1 and J2 also depend on the average current. In one example, the system uses a cost function that is the sum of all weighted performance metric values:

[0101] Cost function J = w soc *J1(I) 2 + w T *J2(I) 2

[0102] The optimizer will seek the average current to minimize the cost function.

[0103] The average current value (I) is fed to the signal constructor, which uses the average current and the frequency or spectrum from the impedance analyzer to generate a control signal to produce the shaped charging waveform I(k).

[0104] As described above, the system can apply a composite shaped charging signal, where the charging portion includes a shaped front and body portion and a heating portion or a stationary portion, and either or both of the heating portion or the stationary portion can include a positive offset such that a certain charging current is diverted during the heating portion or the charging portion. The average charging current value can be translated into the respective portions of the composite charging signal.

[0105] In a particular instance, the system sets the peak current of the charging portion of the signal based on the average value and other parameters of the charging signal, such as the total period and the stationary period, where the stationary period can be understood as the time of the charging portion of the signal and the time of the stationary portion of the signal, the duty cycle, or some combination thereof. As described above, when determining the shape of the charging portion, the system can access the time parameters of the overall signal, such as the overall period and the stationary period of the signal. Using this information, the system can determine the time of the charging portion of the signal (shaped and body).

[0106] In a possible instance, the system uses a current limit (average current) to set the peak current of the body portion of the signal, while also considering the charge transfer that occurs during the shaped leading edge. Generally, the charging waveform can have a shaped leading edge. In one instance discussed above, the shape is set at the frequency F(opt) of the frequency associated with the lowest impedance. If a spectrum is provided, the shaped leading edge can be set at the frequency associated with the lowest impedance in the spectrum. For comparison, if the system selects a very high-frequency harmonic for the shaped leading edge, the harmonic will look almost like a conventional square wave, and the system determines that the duty cycle is 50% (the charging portion plus the body portion is 50%, and the stationary portion is 50%). If the current limit is set to 5 A, the peak current of the charging portion will be 10 A. However, for the charging signal, the system will generate a relatively low-frequency harmonic as the shaped leading edge (not the high-frequency sharp leading edge of a square wave) because such charging energy is transferred during the shaped leading edge and during the body portion of the charge. In the same instance with a 50% duty cycle, if the average current is set to 5 A, the peak current at the upper portion of the shaped leading edge and the body portion will be greater than 10 A because some charge is transferred during the shaped leading edge of the charging portion, and the remaining charge is transferred during the body portion of the charge. In such instances, the system considers both the shaped leading edge and the body to be within 50%, and thus the peak current of the body is higher than 10 A because less energy is transferred during the shaped leading edge portion compared to a conventional square pulse. Therefore, the system considers the charge transferred during the shaped portion and the body portion of the charging portion of the signal when determining the peak current.

[0107] In many cases, the peak current may be greater than the set maximum current of the battery. In some cases, the system may determine a peak current that is greater than the current that the system's hardware may provide. In such cases, the system may generate a positive charging current offset during the quiescent period such that the average current can be achieved over the entire period of the signal (charging and quiescent portions). In other cases, the system may adjust the total period such that the quiescent period remains the same, but the charging portion increases such that by extending the time for delivering the charging current in the charging signal portion, the average current can be achieved over the period of one signal. In another example, the system may maintain the same total period while shortening the quiescent period.

[0108] In some cases, in addition to defining the leading edge based on the frequencies provided by the impedance analyzer, the signal constructor 114 may also construct the body portion of the charging signal based on the frequencies of the impedance spectrum from the impedance analyzer. To construct a charging signal composed of harmonics at one or more frequencies identified from the impedance analyzer 112, the signal constructor may perform an inverse transform of the frequency domain spectrum from the impedance analyzer. In other words, the frequency domain representation (or representations) of the optimal frequencies from the impedance spectrum may be inverse-transformed to define the charging signal in combination with the average current value from the optimizer, where the charging signal may be a charging current waveform in which the corresponding harmonic frequencies from the impedance analyzer form at least the body portion of the charging signal. The signal constructor generates a signal or generates pulse control that may be provided to the charger 118 to form the charging signal.

[0109] Figure 6 A battery charging circuit topology according to an example of the charger 118 is shown. The arrows shown in the figure define the current flow paths during different operating states of the system. In this example, the system is also configured to drive a load, which is intended for embodiments where the MPC is integrated into a charging environment as opposed to a characterization environment. In Figure 6 it, the system is shown in a configuration of providing current to the battery (charging) and powering the load. It should be recognized that the system may also be operated to draw current from the battery (discharging or absorbing), through a discharge path to a capacitor on the bus, and power the load in the case where the power supply is on (connected to the bus). Further, the system may be operated in a configuration of drawing current from the battery to a capacitor on the bus while powering the load in the case where the power supply is off (not connected to the bus). In some versions, the discharge path may be initiated by quickly turning on or "signaling" a lower second transistor.

[0110] Figure 6is a schematic diagram showing an example charging signal generator arrangement for charging battery 604. The charging signal generator is connected to the signal constructor of MPC 100. The MPC can be implemented in one or more processing units, which may include a controller such as a microcontroller, FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), microprocessor, a combination thereof, or other processing arrangements, which generate control for generating a charging signal from a charger through the arrangements discussed above. As described above, the system can receive feedback including battery measurements from battery measurement unit 616, such as current and / or voltage measurements at the battery terminals of battery 604 in the presence of a signal. Generally, the charger can also include a power source 618 or be operably coupled to a power source, which can be a voltage source or a current source. In one embodiment, power source 618 is a direct current (DC) current or voltage source, but an alternating current (AC) source is also contemplated. In various alternatives, power source 618 can include a DC source providing unidirectional current, an AC source providing bidirectional current, or a power source providing a ripple current (such as an AC signal with a DC bias to make the current unidirectional). Generally, power source 618 supplies charging energy, such as current, which can be shaped or otherwise defined by the MPC and the charger to generate a controllably shaped charging signal, which can also be controlled to heat or perform other operations. In one example, the signal constructor can provide one or more inputs to the charger, which inputs control switches to circuit 610 to generate pulses, which can also be referred to as a filter, which generates a shaped signal at the battery.

[0111] In some cases, signal shaping circuit 610 can change the energy from power source 618 to generate a signal shaped based on the conditions at battery 604 and based on the operation of the MPC discussed herein. As described above, in addition to voltage and current, the battery measurement unit can also obtain other battery attributes, such as temperature, and provide information to the MPC to determine the impedance at battery 604.

[0112] Generally, the signal constructor controls switches 612 and 614 to generate a pulse sequence at node 636, which is converted by circuit 610 into a charging signal shape. Similarly, during the heating function, the battery can be characterized based on temperature to understand the impedance effect of the charging or discharging signal on the battery and the signal controlled based thereon. Here, node 636 can be controlled similarly, but such that a current with defined impedance properties flows in and out of the battery through circuit 610. It should be recognized that heating can also involve a transition of current flowing in and out of the battery, characterized by optimizing heating, minimizing or eliminating plating, and minimizing any energy storage in the battery during the heating sequence. Returning to the charging operation, signal generator 608 can generate one or more control signals based on the operation of the MPC and provide these control signals to signal shaping unit 610. In other functions, the control signals can shape or otherwise define the signal to the battery to approximate the shaped charging signal determined, selected, or otherwise obtained by the MPC. Charging signal shaping circuit 610 can further filter any unwanted frequency attributes from the signal. In some cases, the shaped charge signal can be any arbitrary shaped signal such that neither the heating, charging, nor discharging signal is a constant DC signal and does not conform to a conventional repetitive charging signal, such as a repetitive square wave or triangular wave charging signal.

[0113] According to one embodiment, Figure 6 the circuit includes switch elements 612, 614, which can be considered part of circuit 610 to generate an initial controlled pulse sequence at node 636, which is then converted by filter 610 into a shaped signal to produce a signal applied to or from the battery. The switch elements can also be used to generate a discharge signal from the battery by similarly generating pulses at node 636 without the presence of a charging current on bus 620.

[0114] The circuit 600 includes a first switching element (e.g., transistor 612) and a second switching element (e.g., transistor 614), where the first switching element is connected to a power supply main line and is thus connected to the power supply 618 during charging and is coupled to the capacitor 622 on the main line during discharging, which is part of the implementation. The capacitor can have various functions, including discharge signal regulation. The first transistor 612 can receive an input signal, such as a pulse width modulation (PWM) control signal 630, to operate the first transistor 612 as a switching device or component. Generally, the first transistor 612 can be any type of transistor, such as an FET, or more specifically a MOSFET, a GaN FET, a silicon carbide-based FET, or any type of controllable switching element. For example, the first transistor 612 can be an FET whose drain node is connected to the first inductor 640, the source is connected to the main line, and the gate receives the control signal 630 from the signal generator 610. In various embodiments, the circuit 610 also includes an inductor 640, but can also have various other possible inductive elements. The circuit 610, and specifically the combination of the inductors 642, 640, and the capacitor 648, when operated in a bidirectional manner of charging and discharging, and as described in more detail below, when controlling the current from the battery during the heated discharge part or more generally during normal operation when absorbing current from the load, can be considered a boost topology.

[0115] Figure 7 An alternative model predictive controller architecture is shown, which can be considered a model predictive control (MPC) system. Figure 7 An example MPC is similar to the Figure 1 example discussed above, with many blocks having the same functions as discussed above, taking into account Figure 7 the differences in the architecture shown, which includes a replacement of the state of health model 712 instead of the impedance analyzer referred to above with respect to Figure 1 the discussion above. Here, the estimator 716 and the optimizer 710 will also receive the predicted anode overpotential (AOP(k + 1)) (discussed in more detail below) as an input, instead of the output of the impedance predictor, and will generate the charging current I(k) with which to charge the battery.

[0116] At the current time step k, Figure 7The control and signal flow in the system can be described as a loop: the system receives the measured temperature T(k), the measured terminal voltage V(k), and the current control input I(k-1) from the previous time step from the battery 702; the controller 100 processes the received signals and generates a control input command I(k), which is the current at the current time step k; the charger 718 receives the command I(k), generates the actual current control signal I(k) and sends it to the battery 702 as the charging current. The current control signal is also based on the estimated predicted anode overpotential, predicted temperature, and state of charge.

[0117] The MPC system involves an evaluator 716, which processes the predicted anode overpotential AOP(k+N), the predicted temperature T(k+N), and the estimated state of charge SOC(k). In one possible implementation, the evaluator may also receive or otherwise use a charge rate command or setting, a temperature limit (or temperature range), a reference SOC that can be set or derived from the charge rate or other values, and / or a capacity range, and this information may be preset, received from a user interface, or received or accessed from some other component (e.g., the system or environment in which the MPC operates). AOP(k+N) and T(k+N) represent the predicted anode overpotential and predicted temperature above the prediction horizon N, and SOC(k) represents the estimated SOC at the current time step k. The evaluator can include two functions: (1) determining or evaluating the SOC tracking error; and (2) updating the current control input constraints in real time. For (1), a comparison can be made between the estimated SOC, SOC(k), and the reference SOC, and the difference (SOC(err)) can be calculated; for (2), a signal constraint rule generator (SCLG), which can be a different functional block of the evaluator, generates current constraints based on the predicted anode overpotential and predicted temperature, and it can also consider the predicted battery voltage.

[0118] The MPC system also includes an optimizer 710, which can be the MPC core, and optimally achieves SOC tracking while considering the current and / or SOC constraints from the evaluator. In a particular instance, the optimizer 710 generates real-time current input constraints and the SOC tracking error e SOC (k) (also labeled as SOC(err)). The optimizer focuses on finding a future control sequence {I(k), I(k+1),..., I(k+N c -1)} that can optimally minimize the cost function while ensuring that the future control sequence takes into account the current constraints In one instance, the cost function is:

[0119]

[0120] Where:

[0121] N p is the MPC prediction range regarding the SOC tracking error,

[0122] N c is the MPC prediction range regarding the control input,

[0123] and are the weights of the SOC tracking error and the control input respectively, and

[0124] I ref (k) is the desired or reference current charging rate.

[0125] The optimizer finally only implements the first value of the future control sequence, i.e., I(k) as the control input command for the current time step k, and sends it to the signal constructor 714, which generates the charging current alone or in combination with the charger 718.

[0126] The SOH predictor 712 takes T(k), V(k) from the battery 702 and the adjusted future current constraint sequence from the SCLG or more generally from the evaluator as its input, and calculates the future AOP(k + N) over a certain prediction range N. The prediction can occur multiple times in a single time step. To initialize this process, the SOH predictor 712 obtains the previous control input I(k - 1) and extends it to the current sequence of length N {I(k - 1), I(k - 1),..., I(k - 1)}, based on which the SCLG then generates and adjusts the future current constraint sequence.

[0127] The battery temperature predictor 706 takes T(k), V(k) from the battery 702 and the adjusted future current constraint sequence from the SCLG as its input, and calculates the future T(k + N) over a certain prediction range N. The prediction can occur multiple times in a single time step. To initialize this process, the SOH predictor 712 obtains the previous control input I(k - 1) and extends it to the current sequence of length N {I(k - 1), I(k - 1),..., I(k - 1)}, based on which the SCLG then generates and adjusts the future current constraint sequence.

[0128] The battery SOC estimator 708 estimates the SOC at the current time step k by applying the measured T(k), V(k) from the battery 702 and the current control input I(k) and the previous control input I(k - 1) from the charger 718. A simplified extended Kalman filter (EKF) can be used for the battery SOC estimator 708.

[0129] More specifically, the State of Health (SOH) predictor 712 can be a digital model or other form of model for any type of battery to be charged, evaluated, or otherwise analyzed and / or managed using MPC. In one instance, the SOH model is a Python-based numerical model. In a particular instance, the SOH model uses the PyBaMM (Python Battery Mathematical Modelling) physics-based battery simulation model. The model receives V(k) and T(k) as its inputs, which can be the voltage and temperature measured during charging of the battery, and the voltage and temperature can be measured at the battery. In some embodiments, the SOH model can receive additional information such as I(k), I(k-1), and / or charging current constraints or some other measurement or information regarding the charging current. The model can also receive a measured or determined value of the State of Charge (SOC(k)) from the SOC predictor 708.

[0130] The battery temperature model 706 can also use the PyBaMM model, which can be the same or different from the model used to predict the anode overpotential. In the case of the battery temperature, the model can receive V(k) and T(k) as its inputs and can also receive I(k). T(k) can be a measured value of the battery temperature. The temperature measurement can be done by a sensor operatively coupled to the battery terminals or some other part of the battery. In some cases, the battery can be part of a system (e.g., a battery management system), and the temperature value received from such a system. Although not shown, the model can also receive the ambient temperature value. Further, the predicted current value I(k+1), current constraints, or some other information regarding the charging current can be fed to and used by the SOH, SOC, and / or battery temperature models. In some instances, the model can also receive V(k) and I(k) instead of the measured value of the battery temperature T(k) as its inputs, and the model can predict the temperature T(k+1) without some form of battery temperature measurement.

[0131] Nonetheless, the model 706 produces a predicted temperature T(k+N) at some future time N. In some possible scenarios, each N can represent a time of 0.32 seconds to 3.2 seconds. Once set or scheduled, N can be fixed as a control loop parameter, noting that in some versions, N is decreased in the voltage control section of the system. The schedule of the prediction horizon N determines the extent to which the system is configured to predict the model response. A higher N means a further future prediction and an earlier constraint update in the SCLG. Thus, different values of N can give different control input strategies.

[0132] In one example, the SOH model 712 is optimized to predict the anode overpotential response. Accordingly, the output of the SOH model is the anode overpotential value (AOP(k+1)) or a value representing the anode overpotential and other factors. The anode overpotential represents lithium plating. Lithium plating is a term referring to the accumulation or plating of lithium on the anode. The lithium plated on the anode is no longer available for the lithium ion charge and discharge reactions, and thus reduces the battery capacity, and the rate of capacity degradation depends on the rate of lithium plating. The rate of capacity degradation can be obtained from the anode overpotential prediction discussed below, such as the relative prediction of the anode overpotential between successive charge cycles. During charge and discharge, the lithium plating on the anode further interferes with the transport of lithium to and from the anode, thereby reducing the charge and discharge performance. Generally, over time, lithium plating causes battery degradation.

[0133] In a battery charging environment outside of a complex laboratory or similar environment, the anode overpotential cannot be directly measured in real time. Thus and as an alternative, the MPC uses the SOH model based on inputs (e.g., T(k) and V(k)) to predict the anode overpotential, although other fewer or additional inputs may be considered depending on the type of the model, etc. The predicted anode overpotential (AOP(k+N)) from the SOC model 708 is fed to the evaluator 716 together with SOC(k) and T(k+N).

[0134] In one example, the SCLG can be configured to maintain the anode overpotential at a certain value greater than the 0 volt constraint, and similarly ensure that the battery does not exceed the temperature constraint. The evaluator 716, either alone or in combination with the optimizer, can include computer-executable instructions or otherwise be configured to perform and manage Figure 8A method to address anode overpotential and any other constraints. Examples of anode overpotential and temperature are described as two possible constraints that SCLG manages by varying the charging current (attempting to maintain above 0 volts and within or below a certain temperature range or value); however, SCLG, or more generally MPC, can also consider additional or different constraints, either alone or in combination with anode overpotential and temperature such as the charging rate, where the additional constraints can be hard or soft constraints. In such possible alternative MPCs, one or more models are deployed that consider various charge-related attributes such as charging current (e.g., I(k)), charging voltage (e.g., V(k)), battery temperature during charging (e.g., T(k)), actual or predicted state of charge, impedance, and other possible charge-related attributes, predict how battery charging will affect the predicted constraints, and then an evaluator operates on them to generate a charging current constraint, which is processed by an optimizer to generate a command, through which a charging signal is generated at the battery. Then, the evaluator processes the predicted value or other information of any given constraint, as well as other possible information, to affect the charging parameters that will maintain the predicted constraints relative to a certain value, range of values, etc.

[0135] Returning to the example of the anode overpotential constraint, which represents the state of health (SOH) of the battery cell, it has been determined that an anode overpotential of 0 or less than 0 volts can accelerate lithium plating, leading to a relatively faster capacity decline. Conversely, to slow down lithium plating and slow down capacity loss and degradation, MPC operates to adjust the charging current so as to maintain the anode overpotential at a value greater than 0 volts. In some instances, MPC is configured to have an anode overpotential constraint with a certain value slightly greater than 0 volts, e.g., a value within the range of 0.005 and 0.05 volts, to provide a margin of error in various measurements, predictions, etc. Other ranges are possible depending on the battery type and other information.

[0136] In one possible arrangement, the MPC generates a controlled direct current (DC) charging current to the battery over a period of time until the MPC transitions to a constant voltage charging mode at the end of the charging cycle. During the controlled current phase, the battery is charged with a charging current I(k), where the value of I(k) is controlled and determined by the MPC considering the constraints evaluated by the estimator, as described herein. During operation, the voltage of the battery can be monitored while the controlled current is being applied. When the voltage begins to rise above a certain threshold, e.g., 4.2 volts for some lithium-ion battery types, the charging can transition to a constant voltage state. Here, the voltage is monitored, and whenever the voltage rises above the threshold, the charging current is steadily reduced. The constant voltage portion of the charging program may not consider the anode overpotential and temperature prediction; thus, it can be a simple and independent routine run by the estimator, or it can be performed by a separate component such as a proportional integral derivative controller (PID controller). In some arrangements, the voltage is also monitored during the controlled current phase and / or instead of the constant voltage phase.

[0137] Regarding generating the current amount, the MPC system is optimized to generate the charging current amount; that is, various aspects of the MPC generate and utilize the estimated SOC(k), battery temperature T(k), predicted battery temperature T(k+N), predicted anode overpotential AOP(k+N), terminal voltage V(k), and previous control current I(k-1) as inputs; and the MPC calculates the current magnitude I(k) as the control signal for the current time step k. Then, the current magnitude is used, for example, by a signal constructor and / or charger to generate the charging current applied to the battery. In this example, the MPC relies on changing the charging current value to control the anode overpotential and battery temperature within their respective constraints.

[0138] The MPC can also receive other constraints or attempt to manage other constraints, which can be considered soft constraints. Hard constraints are constraints that the MPC does not violate or attempts not to violate, while soft constraints are constraints that the MPC attempts to achieve but will violate in order not to violate the hard constraints. In a system that employs both hard and soft constraints, the MPC can be configured to support the soft constraints without violating the hard constraints. For example, the system can have a soft constraint on the charging rate, which can be set to a rate (e.g., 1C, 1.5C, 2C, 3C, etc.). At a basic level, a higher charging rate may allow the battery to charge faster and thus be restored to use relatively faster or the SOC to increase faster. Although a higher charging rate is desirable, it may also be accompanied by a higher rate of temperature increase and may also be associated with anode overpotential. In such a system, the MPC will manage the hard constraints on anode overpotential and temperature while also attempting to achieve the charging rate. Thus, in such a system, if the hard constraints cannot be met at a relatively high charging rate set as a soft constraint, the MPC will violate the soft constraint, e.g., in this instance, reduce the charging rate below the soft constraint limit in order not to violate the hard constraints on anode overpotential and / or temperature. The system also generates charging constraints, such as current constraints, as a function of other constraints and then optimizes them to produce the final charging signal.

[0139] In Figure 7 an embodiment, the SCLG analyzes the battery temperature and anode overpotential to ensure optimal and safe charging operation. In the example shown, the system does not directly measure the anode overpotential. The system also does not need to directly measure the battery temperature, which can similarly be predicted based on measurements of voltage and current and a battery temperature predictor in the absence of direct temperature measurement. Regardless of whether any of the constraints are measurable, the system is still able to consider these properties to generate an optimal charging signal that manages either or both constraints within their respective constraint limits. Thus, the MPC, as a kind of constraint transfer mechanism, transfers the battery temperature and anode overpotential constraints into actual current signal constraints.

[0140] As introduced above, and in one possible embodiment, the SCLG can use the PyBaMM cell model for SOH (e.g., to predict the anode overpotential) and predict the battery temperature. The model can also predict the battery voltage and manage it within a constraint, which can be in the form of a constant voltage portion of the charge, used alone or in combination with other constraints near the end of charging. The MPC, such as the SCLG employed at the evaluator, can also process the battery voltage (V(k)) and manage it within a constraint. The PyBaMM model is a Python-based numerical approximation of physical battery dynamics for predicting cell responses (e.g., voltage, temperature, and anode overpotential) over a desired prediction horizon N. Specifically, by applying the previous current input I(k - 1) as the future current input for the next N time steps (I(k - 1) = I(k) = I(k + 1) =... = I(k + N - 1)) and the values discussed herein, the PyBaMM model calculates the corresponding voltage, temperature, and anode overpotential responses at the future time step k + N. The SCLG can employ numerical search techniques, examples of which are discussed below with respect to Figure 8 and the techniques are designed to effectively search for and find suitable future current input constraints where those "future" responses do not violate their hard and / or soft constraints, such as charge rate, temperature limits, capacity parameters, and / or anode overpotential.

[0141] Figure 8 Method 800 for generating the charging signal current amplitude is shown, which can include numerical search techniques and can be implemented in the SCLG portion of the MPC in Figure 7 . In Figure 8 , means the upper bound constraint or threshold of the variable *, and the dashed line indicates that the signal flow may occur only once at initialization, and all subscripts represent time steps. The method first involves predicting various battery responses using various battery parameters (operation 810). For example, the SCLG applies the feedback signals (V(k), T(k)) to the corresponding models, such as the SOH, SOC, and / or battery temperature model (or models), and predicts the cell responses at the time step k + N (e.g., T(k + N) and AOP(k + N)), and in some arrangements, the feedback signals can also include SOC(k) and the previous charging current value I(k - 1). As described above, other responses, such as V(k + N), can also be predicted.

[0142] Then, the method begins to evaluate various predicted constraint responses relative to their respective constraints (operation 820), and changes some parameters when the respective constraints are not satisfied. When a certain constraint is not satisfied, after changing the parameters in a certain way, the MPC re-evaluates the predicted constraint that does not satisfy its constraint, in a way that aims to move the predicted constraint in the direction that allows it to satisfy its constraint value. In some cases, the SCLG reduces I(k+N) and re-evaluates, and then commands the charging current to be any value that satisfies the various constraints.

[0143] In one possible example, the MPC first evaluates whether the predicted voltage will exceed the threshold voltage constraint (operation 830). Here, if V(k+N) exceeds the voltage threshold, the system can reduce the prediction horizon N, and then re-evaluate. During the controlled current phase of charging, the prediction horizon can be reduced, where the voltage remains monotonically increasing over the future horizon N at a constant charging current. When V(k+N) exceeds the threshold, an updated N', which is set to half of the original N, will be applied to repeat the voltage prediction. In this way, due to the shorter prediction horizon, the predicted voltage V(k+N') is naturally less than V(k+N). This reduced horizon N' will be repeatedly applied to the subsequent current constraint determination process immediately following the voltage prediction. The voltage evaluation can be performed intermittently, only during the constant voltage phase of charging, or not, depending on the implementation. For example, in some charging systems, the MPC can be used to manage charging between a certain lower limit (e.g., at the start of charging or at 0% SOC) and a certain upper limit. At the upper limit, the charging system can adopt a charging scheme similar to maintaining a constant voltage at the battery terminals, which can involve steadily reducing the charging current near the end of charging to maintain the voltage at a certain threshold or below a certain threshold. In such cases, the upper limit that triggers the change in the charging scheme can be based on the SOC, can be based on the measured terminal voltage reaching a certain threshold, or otherwise.

[0144] In operations 840 and 850, the MPC evaluates the predicted temperature T(k+N) and the predicted anode overpotential (AOP(k+N)). As an initial matter, if both T(k+N) and AOP(k+N) are within their respective constraints, there is no need to change the charging current constraint, and the SCLG maintains the charging current constraint as the constraint being initialized or the constraint at the previous time step k-1. The optimizer 710 adopts the current constraint and generates the current control command I(k).

[0145] Specifically regarding temperature, in operation 830, if T(k+N) violates its constraint (e.g., the predicted temperature exceeds the temperature threshold), SCLG will reduce the charging current and then re-evaluate whether reducing the charging current makes the predicted temperature meet the constraint limit. Generally speaking, reducing the charging current will be used to reduce the rate of increase in the battery temperature and thus reduce the predicted T(k+N). In an MPC (SCLG) with a voltage threshold constraint, it will be recognized that reducing the current will not cause the battery terminal voltage to increase, so reducing the charging current to meet the temperature constraint will not cause the system to violate the voltage constraint.

[0146] In a specific example, SCLG updates the future current input using the bisection method The bisection method is an iterative action to search for a target point within some boundaries. In a possible instance, each iteration involves finding the midpoint within the boundaries updated from the previous iteration. Thus, the midpoint and the two boundaries are continuously updated during the search until the midpoint touches or is close enough to the target. Here, in the case where the predicted temperature (or anode overpotential) violates their constraints, the bisection method involves finding a current smaller than it and meeting the temperature constraint (or anode overpotential constraint, discussed in more detail below). The bisection technique begins by setting or otherwise considering the upper limit of the current constraint as the previous current value, i.e., I(k - 1), and setting the lower limit to 0. In such cases, the updated current will always be smaller than the previous current value. In one instance, the first midpoint of the bisection iteration is at 1 / 2*I(k - 1). Next, this midpoint will be used as the future current to test whether the predicted temperature (or anode overpotential in subsequent operations) will violate its constraints. If necessary, the second iteration of the bisection method will start according to the new predicted progress:

[0147] ●(1). If 1 / 2*I(k - 1) is too small, i.e., T(k+N) or AOP(k+N) is safe, then the new upper limit of the current constraint remains unchanged, i.e., it is the value of I(k - 1), and the lower limit will be updated by the previous midpoint 1 / 2*I(k - 1), and the updated midpoint will be calculated as 1 / 2*(1 / 2*I(k - 1)+I(k - 1)) = 3 / 4*I(k - 1);

[0148] ●(2). If 1 / 2*I(k - 1) is too large, i.e., T(k+N) or AOP(k+N) now violates the constraint, then the new lower limit remains unchanged, and the upper limit needs to be updated to the previous midpoint 1 / 2*I(k - 1). Then the new midpoint will naturally be 1 / 4*I(k - 1). If and when the predicted temperature does not violate its constraints, SCLG continues to check whether the voltage overpotential meets its constraints. Among various possible alternatives, SCLG can evaluate the voltage overpotential before temperature and the overpotential before temperature.

[0149] Regarding the anode overpotential, at operation 850, the SCLG determines whether the predicted anode overpotential AOP(k+N) violates its constraint. When is adjusted such that the predicted temperature satisfies its constraint, the adjusted value is used to evaluate whether AOP(k+1) satisfies its constraint. If the anode overpotential satisfies its constraint (e.g., >0), the SCLG will use the charging current value from the previous operation. If the anode overpotential does not satisfy its constraint (e.g., <0), the SCLG iteratively reduces the future current constraint and re-evaluates the predicted anode overpotential until a charging current constraint that satisfies the anode overpotential constraint is found. It should be noted that regardless of whether it has been reduced in the previous operation, reducing will not cause the predicted temperature to violate its constraint, or as described above, cause the voltage to violate its constraint. Similarly, if the anode overpotential is evaluated before the temperature, reducing the anode overpotential will not cause the anode overpotential to violate its constraint. Similar to adjusting the charging current constraint to satisfy the temperature constraint, the SCLG can also use a bisection technique and iterate to a charging current constraint that does not violate the anode overpotential constraint. If and when the predicted anode overpotential satisfies its constraint, the adjusted current constraint is set to the current constraint and is provided to the optimizer.

[0150] The optimizer uses the charging current constraint, combined with the SOC (error), to generate a charging current amplitude, which is turned into a charging current by the signal constructor and / or charger.

[0151] In Figure 8 the operation of the SCLG depicted, it should be recognized that the charging current constraint update does not necessarily change at every time step during charging or at the evaluation range N. For example, when the predicted T(k+N) and AOP(k+N) do not violate their hard constraints, the SCLG simply maintains the previous current input constraint and applies it during the actual charging for the next N time steps. The SCLG can be configured to be inactive for a certain number of N time steps, which saves computational cost, power consumption, etc., or allows a lower-cost processor to execute various techniques more slowly over a relatively long time range. However, when the SCLG updates the current input constraint at a certain time step k, the next time step at which the SCLG will be activated is not necessarily the same k+N. For example, the system can be configured to trigger the MPC at time step k+P (P < N) to leave enough robustness for the MPC. The control parameter P is called the backstep number.

[0152] Figure 9A and 9B show according to Figure 8Operation of MPC of the method. The depicted MPC charging operation only illustrates the change based on the predicted anode overpotential. In the figure above ( Figure 9A ), fast charging of a 30T lithium-ion battery over a 1600-second period is shown. In the example presented, the initial charging rate is set to the 3C rate. This similarly sets or initializes I(k) when starting the charge with a charging current associated with 3C of the battery cell. The charge is considered "fast" because it occurs at a charging rate of approximately 3C and thus the charging current exceeds the specified current of the battery, which is typically specified as 0.5C or 1C, and thus the charge only occurs over a 1600-second period, whereas charging at a rate of 1C would typically occur over a much longer period of 1 hour, or charging at a rate of 0.5C occurs over a 2-hour period. In some cases, fast charging is considered to be above 0.5C or 1C, although other conventions are possible. In any of these examples, the charging current to achieve various "C" rates depends on the battery type and other factors.

[0153] In Figure 9A , it can be seen that the charging current I(k) is 9 amperes during the first 800 seconds. At 800 seconds, the current control / charging current gradually decreases from the higher charging current value of 9 amperes. During the first 800 seconds, the charge occurs at a steady 9 amperes (so the MPC does not adjust the current). Referring to Figure 9B , it can be seen that the MPC predicts the anode overpotential within the constraints, and the prediction starts relatively high at approximately 0.45 at the start of the charge, drops to approximately 0.05 within the first 200 seconds, remains above 0, and thus satisfies the constraint until approximately 800 seconds. Thus and as described above, the MPC does not change the charging current because at the charging current, the predicted anode overpotential satisfies its constraint (>0V). Thus, at the "fast" charging rate, the SOH is not degraded within the first 800 seconds (at least when the SOH is related to the anode overpotential).

[0154] Referring to Figure 9A and 9B , it can be seen that when the anode overpotential approaches its constraint of 0 volts at 800 seconds, the MPC reduces the charging current ( Figure 9AThe first step in [description] drops by 900A), which increases the predicted anode overpotential by 900B and keeps it above its lower bound constraint. As charging continues with a reduced charging current (8 amperes), the anode overpotential starts to approach 0 again, and each time the anode overpotential approaches its constraint, the MPC reduces the current in subsequent steps (910A - 940A), resulting in an increase in the predicted anode overpotential (910B - 940B) above the constraint threshold in each corresponding step. Near the end of charging, the current gradually drops to 4A, and the anode overpotential remains above 0, from approximately 1150 seconds until approximately 1350 seconds, at which point the anode overpotential approaches zero again. Although not shown, the end of this sequence can be marked or triggered by an increase in the terminal voltage. For example, when the measured feedback terminal voltage has reached its constraint, such as 4.2V for the example 30T battery cell, the end of charging for the "constant voltage" charging sequence can be initiated. When this occurs, a separate PID can take over from the MPC until charging is complete.

[0155] Here, the charging current can continue to decrease in an attempt to maintain the terminal voltage until the end of charging, shown here as 1600 seconds. As described above, the end of the charging sequence can be managed by the MPC, or it can be a different process within the MPC or a separate controller. The end of charging can be triggered by a certain lower current value, a measured threshold voltage, or other criteria. It can be seen that the MPC manages the charging current by gradually reducing it in such a way that the anode overpotential is maintained above 0. As described above, the charging current at any one of the individual steps can be defined by a binary search technique. In such charging scenarios, charging can be carried out in a way that minimizes lithium plating, which optimizes the lithium available for battery charging and discharging and has various benefits discussed herein, including maintaining the battery cycle capacity and overall battery safety and efficiency.

[0156] In some possible instances, the constant voltage phase is only initiated when the measured terminal voltage or the so-called "actual voltage" reaches or exceeds its constraint (e.g., 4.2 volts). In the operation of the MPC, voltage prediction occurs each time at the start of the current constraint update process (e.g., Figure 8 method). This prediction may result in a high terminal voltage (above its threshold), then triggering an update of the prediction range N for this time. All variables calculated through prediction only exist in the "future prediction", which only exists in the calculation memory of the MPC and not in what has actually been measured. Therefore, no matter when the MPC predicts the voltage and no matter what the prediction result is, the actual terminal voltage is still below its threshold, and the "constant voltage" sequence has not been initiated.

[0157] In Figure 9A and 9BIn an example, the MPC tracks and manages the charging rate, and the predicted anode overpotential during charging is maintained at a positive voltage. Although not shown, the MPC can also use the predicted temperature to manage charging to obtain similar results.

[0158] Figure 12 An alternative model predictive controller architecture is shown, which can be considered a model predictive control (MPC) system. Figure 12 The example MPC is similar to that discussed above Figure 7 in an example, considering the differences in the methods discussed regarding Figure 13 many blocks with the same functions as those discussed above include additional functions for controlling additional charging signal attributes. Here, similar to the techniques of Figure 7 and Figure 8 the evaluator 1216 will receive the predicted anode overpotential (AOP(k+N)), predicted temperature, predicted voltage (V(K+N)), and state of charge (SOC(k)) as inputs and will generate SOC(err) and current constraints but will also generate additional charging signal constraints (discussed in more detail below), which are transformed by an optimizer (such as through a cost function) into charging signal control to generate a charging waveform including repeating charging signals to charge the battery.

[0159] At the current time step k, Figure 12 the control and signal flow in the system of

[0160] The MPC system involves an evaluator 1216 that processes the predicted anode overpotential AOP(k+N), the predicted temperature T(k+N), and the estimated state of charge SOC(k). In one possible implementation, the evaluator can also receive or otherwise use a charge rate command or setting, a temperature limit (or temperature range), a reference SOC that can be set or derived from the charge rate or other values, and / or a capacity range, and this information can be preset, received from a user interface, or received or accessed from some other component (e.g., the system or environment in which the MPC operates). AOP(k+N) and T(k+N) represent the predicted anode overpotential and predicted temperature above the prediction horizon N, and SOC(k) represents the estimated SOC at the current time step k. The evaluator can include two functions: (1) determining or evaluating the SOC tracking error, which can be managed by the tracking controller part of the evaluator; and (2) updating the charge current control input constraints in real time. For (1), a comparison can be made between the estimated SOC, SOC(k), and the reference SOC, and the difference can be calculated; for (2), a signal constraint rule generator (SCLG), which can be a different functional block of the evaluator, generates current constraints based on the predicted anode overpotential and the predicted temperature evaluated relative to the corresponding constraints, which can also consider the predicted battery voltage evaluated relative to the constraints. The SCLG also generates additional charge signal constraints, such as ep and cp, and uses them, in addition to the current constraints, to generate the charge signal and waveform applied to the battery.

[0161] The MPC also includes an optimizer 1210, which can be the MPC core, that optimally achieves SOC tracking while considering the current and / or SOC constraints from the evaluator. In one instance, the optimizer 1210 uses real-time current input constraints real-time charge signal shaping constraints and and the SOC tracking error e soc (k). The optimizer focuses on finding the future control sequences {I(k), I(k+1),..., I(k+N c -1)}, {ep(k), ep(k+1),..., ep(k+Nc-1)}, and {cp(k), cp(k+1),..., cp(k+Nc-1)} that can optimally minimize the cost function while ensuring that the future control sequences comply with the constraints.

[0162] The optimizer 1210 ultimately only implements the first values of the future control sequences, i.e., I(k) and ep(k) and cp(k) as the control input commands for the current time step k, and sends them to the signal constructor 1214, which alone or in combination with the charger 1218 generates the charge signal.

[0163] Predictor 1212 takes T(k), V(k) from battery 1202 and the adjusted future control input current constraint sequence from SCLG or more generally from the evaluator and { ep (k), ep (k + 1),..., ep (k + N - 1)} as its inputs, and calculates the future AOP(k + N) over a certain prediction horizon N. The prediction can occur multiple times in a single time step. To initialize this process, the SOH predictor 1212 adopts the previous average current input I(k - 1) and the previous charge signal shape control parameters ep(k - 1) and cp(k - 1), and expands them into a current sequence {I(k - 1), I(k - 1),..., I(k - 1)} and shape series {cp(k - 1), cp(k - 1),..., cp(k - 1)} and {ep(k - 1), ep(k - 1),..., ep(k - 1)} of length N. Based on this, SCLG then generates and adjusts the future control signal constraint sequence.

[0164] Predictor 1212 also takes T(k), V(k) from battery 1202 and the adjusted future current constraint sequence from SCLG and { ep (k), ep (k + 1),..., ep (k + N - 1)} as its inputs, and calculates the future T(k + N) over a certain prediction horizon N. The prediction can occur multiple times in a single time step. To initialize this process, the SOH predictor 712 adopts the previous average current input I(k - 1), the previous waveform shape control parameters ep(k - 1) and cp(k - 1) and expands them into a current sequence of length N {I(k - 1), I(k - 1),..., I(k - l)}, {cp(k - 1), cp(k - 1),..., cp(k - 1)} and {ep(k - 1), ep(k - 1),..., ep(k - 1)}. Based on this, SCLG then generates and adjusts the future charge signal constraint sequence.

[0165] The battery SOC estimator (which can also be implemented in the predictor 1212 or can be a different component 708) estimates the SOC at the current time step k by applying the measured T(k), V(k) from battery 1202 and the current control input I(k) and previous control input I(k - 1) from the charger 1218. A simplified Extended Kalman Filter (EKF) can be used for the battery SOC estimator 1208.

[0166] In addition to the shape of the leading edge of the charge signal (regardingFigure 1 (discussed), aspects of the present disclosure can relate to a system that can also generate a shaped charging signal having a controlled current amplitude, dead time, and duty cycle. Returning to the example charging signal of FIG. 2, the charging current waveform can be characterized using four time-related parameters (charging signal period, edge time (ET), body time (BT), and dead time (RT)). The edge time parameter represents the leading edge of the charging waveform between when the charging current starts and when the charging current reaches the steady-state charging current, which can start at zero amperes but can also be some non-zero value, and is also the time when the body time starts when the charging current reaches the steady-state charging current. The leading edge of the edge time can be sinusoidal in shape or an approximation thereof, as shown, and is defined based on ET.

[0167] With respect to the techniques discussed with respect to Figure 1 、 Figure 12 or other figures, the leading edge can also be one or more linear segments as shown in Figure 2B , note that Figure 2B also shows a waveform having a similar ET, longer BT, shorter RT, and shorter duty cycle compared to the waveform shown in Figure 2A . The leading edge can be in the form of a sine curve or an approximation thereof at a certain frequency (half of 180 degrees) of a sine wave (or cosine wave), or can otherwise be shaped into the shape of such a rising edge approximating a sine curve. Further, as described and as shown in Figure 2B , the shaped leading edge can be formed by linear segments whose set approximates the sine leading edge 210. In such an arrangement, for example, compared to a square pulse, the first linear segment 210A relatively slowly increases the voltage (which can also be related to the increasing charging current), where the voltage and charging current immediately increase sharply by approximately 90 degrees, which approximates a very high-frequency sine curve. The subsequent linear segments 21OB - 210E are linear approximations of the shaped leading edge, which are included / kept for comparison in the first charging signal period and not included in the second charging signal period. For comparison purposes, Figure 2B 's dead time period 230 is relatively shorter than Figure 2A 's dead time period. Again for comparison, compared to Figure 2A , Figure 2B 's total charging period for the two charging signals that include both the leading edge 210 period and the body 220 period is also relatively longer.

[0168] In one example, the leading edge shape is based on the determination of the edge time (ET). There are various well-known mathematical relationships between the amplitude (x) and time (t) of a sine curve, which can be used to determine the frequency. As described herein, the system can then generate the leading edge shape based on the frequency. As further pointed out herein, the system can generate various approximations of such shapes, which can include one or more linear segments that jointly approximate the sine frequency.

[0169] Similar MPC configurations can be applied to more complex scenarios, for example, scenarios where the charging current waveform needs to be further optimized. In these cases, not only can the current input amplitude be adjusted, but the MPC can also change the time-dependent waveform parameters (edge time, body time, and rest time) in real time during charging. In such cases, the leading edge shape can also be a shape other than the square edge associated with a square pulse.

[0170] In one possible arrangement, the MPC model (e.g., the anode overpotential and temperature model) can be defined or refined through waveform parameter sensitivity analysis (WPSA), which is used to understand how the time-dependent current waveform parameters affect the battery cell charging response (battery cell temperature, anode overpotential, charging voltage, etc.). The principle of WPSA is to repeat the numerical simulation of the battery cell charging process with different combinations of current waveform parameters and compare the simulated battery cell responses. All numerical simulations can be completed using one or more PyBaMM models. In each WPSA simulation test, the charging current input is set to a charging waveform with a series of charging signals, each charging signal having an average current, an edge time, a body time, and a rest time. The charging signal may also have a certain leading edge shape, which may be a function of the edge time. The average current (average or mean current) can be the effective part of the charging signal (edge time and body time), or it can include the rest time, thus including the entire duty cycle of any charging signal.

[0171] In one example, the following charging signal variables are defined:

[0172] ● Wave time (t_wave): t_wave = edge time + body time + rest time. Although many possible values are possible, for the purpose of helping to describe the overall concept of the present disclosure, one possible example of t_wave can be 1 millisecond.

[0173] ● Edge time fraction (ep): ep = edge time / (edge time + body time). Although many possible values are possible, for the purpose of helping to describe the overall concept of the present disclosure, one possible example of ep can be 0.5.

[0174] ● Charge time portion (cp): cp = (Rise time + Body time) / t_wave. Although many possible values are possible, for the purpose of helping to describe the overall concept of the present disclosure, one possible example of cp could be 0.6.

[0175] For the above examples of t_wave, ep, and cp, the charge signal portion of the charge wave has a body time of 0.3 milliseconds and a rise time of 0.3 milliseconds. For a repetitive charge signal, at a duty cycle of 1 kHz, this translates to a rise frequency of 1666.7 Hz. In one possible example, the leading edge is shaped and the rise is half a period of a cosine waveform; thus, the frequency defining the leading edge shape is 1 / (2*T_wave*cp*ep). The parameter t_wave reflects the current waveform frequency, and the relative concepts of ep and cp bring the benefit of lower complexity of time-related waveform parameters on the time scale.

[0176] WPSA simulations can be seen in Figures 10A - 10C where various charge signals and changes in the variables (ep, cp, and t_wave in Figures 10A - 10C respectively) are shown to affect the charge signal characteristics of rise time, body time, duty cycle, and rest time, and in Figures 11A - 11C it can be seen how the anode overpotential can be controlled and affected by changing various parameters to form different charge signals (changing ep, cp, and t_wave respectively, Figures 11A - 11C ). Figures 10 and 11 are simulations and MPC operations of a 30T type lithium-ion battery at a temperature of 15°C, a SOC of 50%, and a 3C charge rate with various other properties as depicted. When observing the simulation, it can be seen how the MPC executes a method and runs a model to adjust various parameters of the charge signal and affect whether the battery can be charged while maintaining the anode overpotential greater than 0 volts, or what changes are effective in changing the anode overpotential or avoiding harmful operations. Figure 10A Shows how ep changes the charge signal shape; according to the figure, when ep is small, the current waveform is shorter and the shape of a single waveform is closer to a rectangle. In Figure 11A it can be seen how relatively small ep values more effectively avoid an anode overpotential of zero or less. For example, an ep of 0.5 or 0.6 results in an anode overpotential of approximately -0.01 or -0.02, while ep values of 0.3, 0.1, and 0.05 result in an anode overpotential greater than 0. Similarly, Figure 10B and 10C respectively show how the charge signal is shaped by cp and t_wave; and Figure 11B and 11CShows how the anodic overpotential can be affected by changing cp and t_wave. Although not shown, changes to the charging signal parameters can also change the terminal voltage and predicted temperature during charging, and such parameters can be varied in order to maintain hard and / or soft constraints.

[0177] Based on the simulations shown, the effect of all time-dependent waveform parameters on the anodic overpotential can be estimated by the following equation:

[0178] cp > ep > t_wave.

[0179] Therefore, the cp parameter has the greatest effect on the anodic overpotential, and the t_wave parameter has the least effect. In some embodiments, to simplify the deployment of a charging system that uses MPC to manage a shaped charging waveform, the evaluator can be customized to manage and vary cp and ep constraints and use a fixed waveform frequency, i.e., t_wave is designed to be constant. This is due to two observations: (1) the effect of t_wave on the anodic overpotential is not as great as the effect of other waveform parameters on the anodic overpotential; and (2) in some applications, the waveform frequency can only be limited to a relatively small range due to limitations in the ability of the signal constructor and / or charger to generate waveforms with a charging signal sequence. Of course, a configuration can also be deployed where only one of the other two parameters is changed and one of the other two parameters is fixed. For example, since cp has the greatest effect on the anodic overpotential, ep and t_wave may be fixed. Although the discussion here focuses on the anodic overpotential, the same balance and optimization considerations can be applied separately to temperature (or other constraints such as voltage), or in combination with anodic overpotential constraints.

[0180] Similar to the controlled current MPC discussed with respect to Figure 7 and Figure 8 the shaped charging waveform implementation of MPC is designed to manage the desired SOC / charge rate while keeping the cell temperature and anodic overpotential below their limits. Therefore, Figure 12 the various components of the MPC of

[0181] Figure 6 Figure 6, To generate charging signals with various attributes such as cp, ep, etc., and to approximate or otherwise generate a shaped leading edge, switch 612 or switches 612 / 614 can be controlled at the corresponding gate signals 630 and 632 to generate a pulse at node 636. The pulse at node 636 is converted by filter 610, which may include inductor 640 and capacitors 648 and inductor 642. In cases such as those discussed with respect to Figure 7 and Figure 8 where charge magnitude is primarily controlled, the charging current can be controlled with the circuit shown in Figure 6 or can also be generated by various possible boost or buck topologies, depending on the available power supply and other attributes of any given charging environment.

[0182] As discussed, the shaped charging signal version of the MPC is equipped with multiple control input signal constraints, the purpose of which is for the SCLG to maintain hard and / or soft constraints. For example, the SCLG, although controlling the charging signal characteristics, can keep the predicted anode overpotential positive. In one implementation of the MPC, the PyBaMM model is applied to predict the future battery cell response over a defined prediction range N, and a bisection numerical search algorithm is used to update the desired constraints and evaluate where the system can operate and satisfy the constraints.

[0183] Figure 13 A possible example of method 1300 for controlling a charging signal to maintain constraints is shown. The method is discussed with reference to the SCLG, which may be part of an evaluator, as shown in Figure 12 . Here, a model implementing anode overpotential, voltage, and state of charge prediction is shown. As mentioned above, the MPC can employ a discrete model or an integrated model or a combination. Thus, Figure 12 the MPC can include a discrete model as shown in Figure 7 .

[0184] In the operation of the method, feedback signals (e.g., V(k), T(k)) are applied to the model (operation 1310). One or more models can be configured to require different, fewer, or more feedback signals. Additionally, the model can receive or otherwise use the previous current input I(k - 1) and previous waveform parameters ep(k - 1) and cp(k - 1), and / or be initialized with the same values. The model can be the PyBaMM model, which then predicts the battery response at time step k + N (V(k + N), T(k + N), and / or AOP(k + N)).

[0185] The SCLG then continues to evaluate the predictions against the constraints and changes some aspect of the charge, such as some aspect of the charging signal, if the constraints are not met (operation 1320). The order of the prediction analysis may change. Similarly, according to various aspects of the present disclosure, the MPC can evaluate and manage the same, fewer, more, or different predictions and constraints.

[0186] In one possible aspect, the MPC first analyzes the predicted voltage. As described elsewhere, in some arrangements, this operation may only occur during the constant voltage phase of charging. Similarly, the constant voltage phase of charging may occur through a different control scheme or as part of a separate controller (such as a PID controller). In some other alternatives, the system may not reference voltage to manage charge.

[0187] Regarding the predicted battery voltage V(k+N), if the predicted voltage exceeds a threshold, such as 4.2 volts, the SCLG reduces the prediction range N, reruns the various prediction values, and re-evaluates the predicted voltage (operation 1330). If the predicted voltage meets its constraints, the SCLG continues to analyze the predicted temperature (operation 1340) and the predicted overpotential (operation 1350). If both meet their constraints, the system continues to provide the charging signal constraints to the optimizer. ep (k) and (Operation 1360). When the predicted temperature does not satisfy its constraint, which may be an upper temperature limit, the SCLG may adjust the charge current by reducing the expected charge current amplitude and then re-evaluating the predicted temperature. In contrast, if the predicted anode overpotential does not satisfy its value, the SCLG adjusts ep and / or cp to the adjusted anode overpotential. In some arrangements, the SCLG may also adjust the constraints ep(k), cp(k), and / or t_wave(k) to satisfy the predicted temperature constraint. In addition to the charge signal constraints ep (k) and In addition, MPC can further adjust the charging current to meet the anode overpotential constraint.

[0188] Specifically with respect to the predicted temperature (operation 1340), if T(k+N) violates its constraint, the SCLG reduces the future average current magnitude constraint by bisection Applied iteratively as described above until the updated T(k+N) (at the updated present average current value) meets its constraints. As described herein, other techniques may be used to iteratively reduce the charge current until the predicted temperature meets its constraints.

[0189] Once the predicted temperature satisfies its constraint, the SCLG continues to evaluate whether the anode overpotential satisfies its constraint. If not, it continues to change various charging signal attributes until the constraint is satisfied (operation 1350). As introduced above, in one possible instance, the SCLG first attempts to change and then attempts to change ep (k), and then attempts to change (e.g., decrease) the average current amplitude constraint to keep the predicted anode overpotential within its constraint.

[0190] More specifically, if the predicted AOP(k+N) violates its constraint; the SCLG iteratively updates the future constraint value (e.g., increasing the constraint) until the new predicted anode overpotential satisfies its constraint or the cp constraint reaches the lower or upper limit (1352). The cp constraint value can also be updated by the bisection method. Like other values that are iterated to satisfy the constraint, the SCLG can use other techniques, such as changing the value by a certain integer, a certain percentage, etc. Here, it is the cp constraint.

[0191] If changing is not sufficient to make the predicted anode overpotential satisfy its constraint, the SCLG will start to change ep (k) to satisfy the anode overpotential constraint (operation 1354). In one instance, ep (k) can be iteratively decreased, noting that it has been observed that decreasing ep (k) can increase the anode overpotential. If it is 0 volts or lower, make it within its constraint. The future ep (k) value can be changed by the bisection method or other methods until the updated AOP(k+N) remains within its constraint or ep (k) reaches its lower / upper limit.

[0192] When both the cp and ep constraints are insufficient to satisfy the AOP constraint, the SCLG attempts to lower the future average current amplitude constraint to satisfy the constraint. Here, in one instance, the SCLG can iteratively decrease the average current amplitude constraint until the predicted AOP is greater than 0 volts.

[0193] At the end of the method, the updated future average current value, the updated cp, and the updated ep constraint values are then used as real-time control input signal constraints provided to the optimizer to generate the charging signal (operation 1360). When the SCLG is running, any one of such values may not change, a certain combination may change, or all may change. In some cases, when the change in cp cannot satisfy the constraint, when ep (k) or the average current constraint can be successfully changed to satisfy the constraint, the last attempted update of Then it is used for the charging signal. Similarly, if and ep (k) changes do not meet the constraints, then ep (k) from the last attempt of the update is used for the charging signal. Finally, if the change in the average current does not meet the constraints, charging can be stopped or the charging control can be transferred to a constant voltage or other charging scheme to complete the charging.

[0194] In Figure 13 the flowchart of means the upper bound constraint or threshold of variable *, * represents the lower bound constraint of variable *, the dashed line indicates that the signal flow may only occur once at initialization, and all subscripts represent time steps.

[0195] Although predicting the anode overpotential and predicting the temperature are discussed in some instances, the system can also employ models and methods to change the charging signal attributes to manage a certain predicted parameter, such as the lithium plating concentration (related to lithium plating), the solid electrolyte interphase (SEI) thickness (related to SEI growth, which can indicate battery degradation during charging), the average negative particle crack length or rate (indicating particle swelling and cracking), and the loss of active material in the negative electrode within the corresponding constraints. In any such case, the model can predict the battery parameters, the evaluator evaluates the predicted parameters against the constraints, the MPC changes the charging signal attributes (e.g., average current, ep, cp, t-wave, leading edge frequency, etc.) and the MPC re-evaluates the predicted parameters under the changed charging signal attributes and operates the charging under any charging signal attributes that allow the constraints (or multiple constraints) to be met.

[0196] In the optimizer, the constraints from the evaluator and SOC(err) are optimized to generate a charging signal command for generating a charging signal with an average current amplitude of ep and cp, where the value of the t-wave can be fixed. As described above, the optimizer can determine and use additional or different constraints. The optimizer implements a cost function:

[0197]

[0198] where:

[0199] N p is the MPC prediction horizon with respect to the SOC tracking error,

[0200] N c is the MPC prediction horizon with respect to the control input,

[0201] and are the weights of the SOC tracking error and the control input respectively, and

[0202] Iref (k) is the desired or reference current charging rate.

[0203] Reference Figure 14 A detailed description of an example computing system 1400 having one or more computing units is provided, which can implement the various systems and methods discussed herein. The computing system 1400 can be part of a controller, can be operably communicable with the various embodiments discussed herein, can run various operations related to the methods discussed herein, can run offline to process various data for characterizing a battery, and can be part of the overall system discussed herein. The computing system 1400 can process the various signals discussed herein and / or can provide the various signals discussed herein. For example, battery measurement information can be provided to such a computing system 1400. Some aspects of MPC can be implemented by such a computing system. The computing system 1400 can also be applicable to, for example, a controller, a model, a tuning / shaping circuit discussed with respect to the various figures, and can be used to implement the various methods described herein. It will be understood that the specific implementations of these devices can be different possible specific computing architectures, not all of which are specifically discussed herein, but which will be understood by those of ordinary skill in the art. It will be further understood that a computer system can be considered and / or include an ASIC, an FPGA, a microcontroller, or other computing arrangement. As will be understood by those of ordinary skill in the art, more or fewer of the components discussed below can be included in such various possible embodiments, with interconnections and other changes.

[0204] The computer system 1400 can be a computing system capable of executing a computer program product to perform a computer process. Data and program files can be input into the computer system 1400, which reads the files and executes the programs therein. Some elements of the computer system 1400 are shown in Figure 14 and include one or more hardware processors 1402, one or more data storage devices 1404, one or more memory devices 1406, and / or one or more ports 1408 - 1412. Additionally, other elements that would be recognized by those skilled in the art can be included in the computing system 1400, but are not explicitly shown in Figure 14 or further discussed herein. The various elements of the computer system 1400 can communicate with each other via one or more communication buses, point-to-point communication paths, or Figure 14 other communication means not explicitly shown in. Similarly, in various embodiments, the various elements disclosed in the system can be included or not included in any given embodiment.

[0205] The processor 1402 may include, for example, a central processing unit (CPU), a microprocessor, a microcontroller, a digital signal processor (DSP), and / or one or more levels of internal cache. There may be one or more processors 1402 such that the processor 1402 comprises a single central processing unit or multiple processing units capable of executing instructions and performing operations in parallel with each other, which is generally referred to as a parallel processing environment.

[0206] The presently described techniques in various possible combinations may be implemented, at least in part, as software stored on the data storage device 1404, stored on the memory device 1406, and / or transmitted via one or more ports 1408 - 1412, thereby transforming Figure 14 the computer system 1400 in into a special-purpose machine for implementing the operations described herein.

[0207] One or more data storage devices 1404 may include any non-volatile data storage device capable of storing data generated or employed within the computing system 1400, such as computer-executable instructions for performing computer processes, which may include instructions for both an application program and an operating system (OS) that manages the various components of the computing system 1400. The data storage device 1404 may include, but is not limited to, disk drives, optical disc drives, solid-state drives (SSDs), flash drives, etc. The data storage device 1404 may include removable data storage media, non-removable data storage media, and / or external storage devices available via a wired or wireless network architecture, where such computer program products include one or more database management products, web server products, application server products, and / or other additional software components. Examples of removable data storage media include compact disc read-only memory (CD-ROM), digital versatile disc read-only memory (DVD-ROM), magneto-optical discs, flash drives, etc. Examples of non-removable data storage media include internal magnetic hard drives, SSDs, etc. One or more memory devices 1406 may include volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM), etc.) and / or non-volatile memory (e.g., read-only memory (ROM), flash memory, etc.).

[0208] A computer program product containing mechanisms for implementing the systems and methods according to the present technology can reside in data storage device 1404 and / or memory device 1406, which may be referred to as machine-readable media. It should be understood that machine-readable media can include any tangible non-transitory medium capable of storing instructions or encoding them for any one or more operations of the present disclosure to be performed by a machine, or any tangible non-transitory medium capable of storing data structures and / or modules utilized by or associated with such instructions or encoding them. The term "machine-readable media" can include a single medium or multiple media (e.g., a centralized or distributed database and / or associated cache and servers) storing one or more executable instructions or data structures.

[0209] In some embodiments, computer system 1400 includes one or more ports, such as input / output (I / O) ports 1408, communication ports 1410, and subsystem ports 1412, for communicating with other computing devices, network devices, or in-vehicle devices. It should be understood that ports 1408 - 1412 can be combined or separated, and more or fewer ports can be included in computer system 1400. I / O port 1408 can be connected to an I / O device or other device through which information is input into computing system 1400 or output therefrom. Such I / O devices can include, but are not limited to, one or more input devices, output devices, and / or environmental transducer devices.

[0210] In one embodiment, an input device converts human-generated signals such as a person's voice, body movement, and / or physical touch or pressure into electrical signals as input data input into computing system 1400 via I / O port 1408. In some instances, such input can be different from the various systems and methods discussed with respect to the previous figures. Similarly, an output device can convert electrical signals received from computing system 1400 through I / O port 1408 into signals that can be sensed or used by the various methods and systems discussed herein. The input device can be an alphanumeric input device that includes alphanumeric keys and other keys for transmitting information and / or command selections to processor 1402 through I / O port 1408.

[0211] An environmental transducer device converts one form of energy or signal into another form of energy or signal for input into or output from a computing system 1400 via an I / O port 1408. For example, an electrical signal generated within the computing system 1400 can be converted into another type of signal, and / or vice versa. In one embodiment, the environmental transducer device senses characteristics or aspects of the environment local or remote to the computing device 1400, such as battery voltage, open-circuit battery voltage, charging current, battery temperature, light, sound, temperature, pressure, magnetic field, electric field, and / or chemical characteristics, etc.

[0212] In one embodiment, a communication port 1410 can be connected to a network, and the computer system 1400 can receive network data through the communication port, and the network data can be used to perform the methods and systems shown herein and to transmit information and the determined network configuration changes therefrom. For example, a charging protocol can be updated, battery measurement or calculation data can be shared with an external system, etc. The communication port 1410 connects the computer system 1400 to one or more communication interface devices that are configured to transmit and / or receive information between the computer system 1400 and other devices through one or more wired or wireless communication networks or connections. Examples of such networks or connections include but are not limited to Universal Serial Bus (USB), Ethernet, Wi-Fi, Near Field Communication (NFC), Long Term Evolution (LTE), etc. One or more such communication interface devices can be utilized through the communication port 1410 to communicate with one or more other machines directly through a point-to-point communication path, through a Wide Area Network (WAN) (e.g., the Internet), through a Local Area Network (LAN), through a cellular (e.g., third generation (3G), fourth generation (4G), or fifth generation (5G)) network, or through another communication means.

[0213] The computer system 1400 can include a subsystem port 1412 for communicating with one or more systems related to the device being charged according to the methods and systems described herein to control the operation of the device and / or to exchange information between the computer system 1400 and one or more subsystems of the device. Examples of such subsystems of a vehicle include but are not limited to motor controllers and systems, battery control systems, etc.

[0214] Figure 14 The system shown is only one possible example of a computer system that can be employed or configured according to aspects of the present disclosure. It should be understood that other non-transitory tangible computer-readable storage media storing computer-executable instructions can be utilized to implement the presently disclosed technology on a computing system.

[0215] Embodiments of the present disclosure include the various steps described in this specification. These steps may be performed by hardware components or may also be embodied in machine-executable instructions that may be used to program a general or special-purpose processor to perform the steps. Alternatively, the steps may be performed by a combination of hardware, software, and / or firmware.

[0216] Various modifications and additions can be made to the exemplary embodiments discussed without departing from the scope of the invention. For example, although the embodiments described above (also referred to as implementations or instances) refer to specific features, the scope of the invention also includes embodiments with different combinations of features and embodiments that do not include all of the described features. Accordingly, the scope of the invention is intended to cover all such alternatives, modifications, and variations and all equivalents thereof.

[0217] Although specific implementations are discussed, it should be understood that this is for illustrative purposes only. Those skilled in the relevant art will recognize that other components and configurations may be used without departing from the spirit and scope of the present disclosure. Accordingly, the following description and drawings are illustrative and should not be construed as restrictive. Many specific details are described to provide a thorough understanding of the present disclosure. However, in some instances, well-known or conventional details are not described to avoid obscuring the description. A reference to an embodiment or an embodiment in the present disclosure may be a reference to the same embodiment or any embodiment; and such reference means at least one of the embodiments.

[0218] A reference to "one embodiment" or "an embodiment" means that the particular features, structures, or characteristics described in connection with the embodiment are included in at least one embodiment of the present disclosure. The phrase "in one embodiment" or similar phrases such as "in one example" or "in one instance" that appear throughout this specification do not necessarily all refer to the same embodiment, nor are they separate or alternative embodiments mutually exclusive of other embodiments. Additionally, various features are described that may be exhibited by some embodiments but not by others.

[0219] Within the context of the present disclosure and in the specific context in which each term is used, the terms used in this specification generally have their ordinary meaning in the art. For any one or more of the terms discussed herein, alternative language and synonyms may be used, and no special significance should be attached thereto, whether or not the terms are elaborated or discussed herein. In some instances, synonyms for certain terms are provided. The elaboration of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification (including examples of any of the terms discussed herein) is illustrative only and is not intended to further limit the scope and meaning of the present disclosure or any example terms. Similarly, the present disclosure is not limited to the various embodiments given in this specification.

[0220] Without intending to limit the scope of the present disclosure, examples of instruments, devices, methods, and their associated results in accordance with embodiments of the present disclosure are given below. It should be noted that, for the convenience of the reader, headings or subheadings may be used in the examples, and they should in no way limit the scope of the present disclosure. Unless otherwise defined, the technical and scientific terms used herein have the meaning commonly understood by one of ordinary skill in the art to which the present disclosure pertains. In case of conflict, the present document, including definitions, will prevail.

[0221] Additional features and advantages of the present disclosure will be set forth in the following description and will, to some extent, be apparent from the description, or may be learned by practice of the principles disclosed herein. The features and advantages of the present disclosure may be realized and obtained by means of the instrumentalities and combinations particularly pointed out in the appended claims. These and other features of the present disclosure will become more fully apparent from the following description and the appended claims or may be learned by practice of the principles set forth herein.

Claims

1. A controller for a battery, the controller comprising: A processing unit, the processing unit including the following computer-executable instructions: A first model, the first model receiving battery voltage measurements and battery current measurements and generating a predicted state of charge of the battery; A second model, the second model receiving the battery voltage measurements and the battery current measurements and generating a predicted battery temperature; A third model, the third model receiving the battery voltage measurements and the battery current measurements and generating a frequency based on an impedance assessment, the impedance assessment being based on the battery voltage measurements and the battery current measurements; The processing unit further includes computer-executable instructions for generating control of a charging signal based on the predicted state of charge of the battery, the predicted battery temperature, and the frequency.

2. The controller for a battery according to claim 1, the controller further comprising: A fourth model, the fourth model generating a health state metric based on the impedance assessment.

3. The controller for a battery according to claim 2, wherein the impedance assessment includes an equivalent circuit model of the battery, wherein the circuit model includes an R value representing the internal resistance of the battery cell and the health state metric based on the R value.

4. The controller according to claim 3, wherein the fourth model is a neural network that receives component values from the equivalent circuit and generates the health state metric.

5. The controller for a battery according to claim 1, the processing unit further includes computer-executable instructions for generating the charging signal to access a pre-established battery charging constraint.

6. The controller for a battery according to claim 5, wherein the pre-established battery charging constraint is set through a user interface.

7. The controller for a battery according to claim 5, wherein the pre-established battery charging constraint is weighted.

8. The controller for a battery according to claim 5, wherein the pre-established battery charging constraint is a soft constraint that can be violated or a hard constraint that cannot be violated.

9. The controller for a battery according to claim 5, wherein the pre-established battery charging constraint includes one or more of the following: battery temperature constraint, charging rate constraint, state of charge constraint, battery capacity constraint, and battery health constraint.

10. The controller for a battery according to claim 1, the processing unit further includes computer-executable instructions for generating an average current of the charging signal.

11. The controller for a battery according to claim 10, wherein the first model further receives the average current, and the second model further receives the average current.

12. The controller for a battery according to claim 1, wherein the controller is operably coupled to a charger, the charger includes a switch operably coupled to an inductor, the inductor is operably coupled to the battery, and the switch generates a pulse sequence at the inductor based on the control of the charging signal to form the charging signal.

13. The controller for a battery according to claim 1, wherein the charging signal based on the frequency defines a shaped leading edge of the charging signal.

14. The controller for a battery according to claim 12, wherein the controller is operably coupled to a charger, the charger includes a switch operably coupled to an inductor, the inductor is operably coupled to the battery, and the switch generates a pulse sequence at the inductor based on the control of the charging signal to form a shaped leading edge of the charging signal.

15. The controller for a battery according to claim 12, wherein the computer-executable instructions for generating the control of the charging signal based on the predicted charge state of the battery, the predicted battery temperature, and the frequency are configured to generate an average current of the charging signal based on executing a cost function.

16. The controller for a battery according to claim 15, wherein the cost function is: J = w soc * J1(I) 2 + w T * J2(I) 2 ; and J1 = expected SOC - SOC(K + 1) J2 = expected T - T(k + 1).

17. A controller for a battery, the controller comprising: a processing unit, the processing unit including the following computer-executable instructions: a battery charge state model, the battery charge state model receiving battery parameters and generating a predicted charge state of the battery; a battery temperature model, the battery temperature model receiving the battery parameters and generating a predicted battery temperature; an impedance model, the impedance model receiving the battery parameters and generating a frequency based on impedance evaluation using the battery parameters; and the processing unit further includes computer-executable instructions for generating a charging signal based on the predicted charge state of the battery, the predicted battery temperature, and the frequency.

18. The controller for a battery according to claim 17, wherein the controller further comprises: a fourth model, the fourth model generating a health state metric according to the impedance evaluation.

19. The controller for a battery according to claim 18, wherein the impedance evaluation includes an equivalent circuit model of the battery, and the circuit model includes an R value representing the internal resistance of the battery cell and the health state metric based on the R value.

20. The controller for a battery according to claim 17, wherein the processing unit further includes computer-executable instructions for generating the charging signal to access a pre-established battery charging constraint.

21. The controller for a battery according to claim 20, wherein the pre-established battery charging constraint is set through a user interface.

22. The controller for a battery according to claim 20, wherein the pre-established battery charging constraint is weighted.

23. The controller for a battery according to claim 20, wherein the pre-established battery charging constraint is a soft constraint that can be violated or a hard constraint that cannot be violated.

24. The controller for a battery according to claim 20, wherein the pre-established battery charging constraint includes one or more of the following: battery temperature constraint, charging rate constraint, state of charge constraint, battery capacity constraint, and battery health constraint.

25. The controller for a battery according to claim 17, wherein the processing unit further includes computer-executable instructions for generating an average current of the charging signal.

26. The controller for a battery according to claim 25, wherein the battery state of charge model further receives the average current, and the battery temperature model further receives the average current.

27. The controller for a battery according to claim 17, further including a charger, the charger including a switch operably coupled to an inductor, the inductor operably coupled to the battery, the switch generating a pulse sequence at the inductor based on the control of the charging signal to form the charging signal.

28. The controller for a battery according to claim 17, wherein the battery parameter includes at least one of a battery current measurement, a battery voltage measurement, or a battery temperature measurement.

29. A method for battery charging, comprising: using a processor to predict battery parameters based on measurements of battery attributes and controllable charging signal parameters; when the predicted battery parameters do not satisfy the parameter constraints, generating constraints on the controllable charging signal parameters; executing a cost function based on the constraints on the controllable charging signal parameters to change the controllable charging parameters; and generating a charging signal to charge the battery, the charging signal being based on the changed controllable charging parameters.

30. The method according to claim 29, wherein the predicted battery parameters cannot be directly measured by other means.

31. The method according to claim 29, wherein the predicted battery parameters are at least one of predicted battery temperature, predicted anode overpotential, or predicted state of charge.

32. The method according to claim 29, wherein the predicted battery parameters are at least one of the following: lithium plating concentration, solid electrolyte interphase (SEI) thickness, average negative particle crack length, or loss of active material in the negative electrode. Constraints.

33. The method according to claim 29, wherein predicting the battery parameters uses a model that receives the battery attributes, wherein the battery attributes are at least one of battery charging current, battery voltage, battery temperature, or state of charge.

34. The method according to claim 33, wherein the model is a Python battery mathematical modeling model.

35. The method according to claim 34, wherein predicting the battery parameter is further based on at least one charging signal attribute of edge time, body time, and average current.

36. The method according to claim 29, wherein the constraint for generating the controllable charging signal parameter includes using the bisection method to iterate on the charging signal constraint so that the predicted battery parameter of the anode overpotential is greater than 0 volts and / or the predicted temperature satisfies the temperature threshold.

37. The method according to claim 35, wherein the controllable charging parameter further includes at least one parameter based on at least one of edge time, body time, average current, or rest time.

38. The method according to claim 35, wherein generating the charging signal includes generating a repeating sequence of charging signals, wherein each charging signal includes at least one based on at least one of edge time, body time, and average current.

39. The method according to claim 35, wherein generating the charging signal includes shaping the leading edge of the repeating charging signal based on the edge time.

40. The method according to claim 39, wherein the shaped leading edge is based on the frequency determined from the edge time.

41. The method according to claim 29, wherein the cost function is: Where: N p is the MPC prediction range regarding the SOC tracking error N c relates to controlling the prediction range of the input MPC and are respectively the weights of the SOC tracking error and the control input, and I ref (k) is the desired or reference current charging rate.

42. The method according to claim 29, wherein the cost function is: Where: N p is the MPC prediction range regarding the SOC tracking error N c relates to the MPC prediction range for controlling the input, and are the weights of the SOC tracking error and the control input, respectively, and I ref (k) is the desired or reference current charging rate.