Model predictive controller architecture and method for generating an optimized energy signal for charging a battery - Patents.com
The model predictive controller optimizes battery charging by predicting parameters and adjusting signals to meet user constraints, addressing long recharging times and degradation, suitable for diverse battery applications.
Patent Information
- Application Number
- JP2025507415
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-08-09
- Filing Date
- 2023-08-09
- Publication Date
- 2025-09-09
AI Technical Summary
Rechargeable batteries require long recharging times and suffer from performance degradation during charging, necessitating improved charging technologies that reduce time and minimize degradation.
A model predictive controller architecture that generates optimized charging signals based on predicted battery parameters such as state of charge, temperature, and impedance, using models to predict battery attributes and adjust charging signals to meet user-defined constraints and performance goals.
The system efficiently charges batteries while minimizing degradation by optimizing charging signals to match user-defined parameters, balancing speed and battery health, suitable for various battery types and configurations.
Smart Images

Figure 2025529740000001_ABST
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This Patent Cooperation Treaty (PCT) application is related to and claims priority from U.S. patent application Ser. No. 63 / 370,908, filed Aug. 9, 2022, entitled "Model Predictive Controller Architecture and Method of Generating an Optimized Energy Signal for Charging a Battery," the entire contents of which are incorporated herein by reference for all purposes.
[0002] Embodiments of the present invention relate generally to systems and methods for charging batteries, and more particularly to model predictive controller architectures and methods for generating a charging signal and defining various aspects of the charging signal based on a variety of possible parameters including predicted temperature, predicted state of charge, impedance, state of health including anode overvoltage, and / or various other metrics. [Background technology]
[0003] Countless different types of electrically driven devices, such as power tools, mobile computing and communication devices, portable electronic devices, and all kinds of electric vehicles, including scooters and bicycles, use rechargeable batteries as a source of operating power. Rechargeable batteries are limited by a finite battery capacity and must be recharged when depleted. Recharging batteries can be inconvenient because the drive device often must be stationary for the time required to recharge the battery. Depending on the size of the battery, recharging can take many hours. Furthermore, battery charging is often accompanied by degradation of battery performance. Therefore, significant effort has been invested in developing battery charging technologies to, among other things, reduce the time required to recharge batteries, improve battery performance, and reduce battery degradation from charging.
[0004] It is with these observations, among others, in mind that the various aspects of the present disclosure have been conceived and developed. Summary of the Invention
[0005] Aspects of the present disclosure include: a first model that receives battery voltage measurements and battery current measurements and generates a predicted state of charge for the battery; A second model that receives battery voltage and current measurements and generates a predicted battery temperature. ● a third model that receives the battery voltage measurements and the battery current measurements and generates a frequency based on an impedance estimate based on the battery voltage measurements and the battery current measurements; The controller for the battery includes a processing unit including computer-executable instructions for: The processing unit further includes computer-executable instructions for generating a control for the charging signal based on a predicted state of charge of the battery, a predicted battery temperature, and a frequency.
[0006] In another aspect, aspects of the present disclosure include: ● A battery state-of-charge model that receives battery parameters and generates a predicted state-of-charge for the battery; ● A battery temperature model that receives battery parameters and generates a predicted battery temperature; ● an impedance model that receives battery parameters and generates a frequency based on an impedance evaluation using the battery parameters; The controller for the battery includes a processing unit including computer-executable instructions for: The processing unit further includes computer-executable instructions for generating a charging signal based on a predicted state of charge of the battery, a predicted battery temperature, and a frequency.
[0007] Another aspect of the present disclosure includes a method of battery charging. Using a processor, the method includes predicting battery parameters based on measurements of battery attributes and controllable charging signal parameters. The method further includes generating constraints on the controllable charging signal parameters when the predicted battery parameters do not satisfy the parameter constraints. The method further includes executing a cost function based on the constraints on the controllable charging signal parameters to modify the controllable charging parameters. Finally, the method further includes generating a charging signal for charging the battery, the charging signal being based on the modified controllable charging parameters.
[0008] In various embodiments, the predicted battery parameter is not otherwise directly measured, and the predicted battery parameter is at least one of a predicted battery temperature, a predicted anode overvoltage, or a predicted state of charge, and / or the predicted battery parameter is at least one of a plated lithium concentration in the negative electrode, a solid electrolyte interphase (SEI) thickness, an average negative particle crack length, or active material loss.
[0009] In various aspects, predicting the battery parameter uses a model, and the model receives a battery attribute, the battery attribute being at least one of a battery charging current, a battery voltage, a battery temperature, or a state of charge. The model can be a Python battery mathematical modeling model. In various possible examples, predicting the battery parameter is further based on at least one charging signal attribute of an edge time, a body time, and an average current.
[0010] In various aspects, generating the constraints for the controllable charging signal parameters includes iterating the charging signal constraints using a dichotomy method to cause at least one of a predicted battery parameter of anode overvoltage to be greater than 0 volts or a predicted temperature to satisfy a temperature threshold. In some aspects, the controllable charging parameters further include at least one parameter based on edge time, body time, average current, or dwell time.
[0011] In various aspects, generating the charging signals includes generating a repeating sequence of charging signals, each charging signal including at least one of an edge time, a body time, and an average current based on at least one of the edge time, the body time, and the average current. In other aspects, generating the charging signals includes shaping rising edges of the repeating charging signals based on the edge time. The shaped rising edges may be based on a frequency determined from the edge time.
[0012] In one example, the cost function is:
number
number
number
[0013] In another example, the cost function is
number
number
number
[0014] Various objects, features, and advantages of the present disclosure described herein will become apparent from the following description of embodiments of those inventive concepts, as illustrated in the accompanying drawings. It should be noted that the drawings are not necessarily to scale and may depict various features of the embodiments, emphasis instead being placed on illustrating principles and other aspects of the inventive concepts. Also, in the drawings, like reference characters may refer to the same parts or similar objects throughout the different views. It is intended that the embodiments and figures disclosed herein should be considered illustrative and not limiting. [Brief explanation of the drawings]
[0015] [Figure 1] FIG. 1 is a system diagram of a model predictive controller and an associated battery system, according to one embodiment. [Figure 2A] 1 is a signal graph of an example controlled arbitrarily shaped charging waveform for charging a battery according to one embodiment. [Figure 2B] FIG. 10 is a signal diagram of a sequence of shaped charging signals generated from a battery charging circuit, in accordance with some embodiments, the shaped charging signals including shaped rising edges having linear segments that collectively approximate non-linear shaped rising edges. [Figure 3A] FIG. 1 is a diagram of the Nyquist impedance spectrum for a fresh lithium-ion rechargeable battery cell at 50% state of charge. [Figure 3B] FIG. 1 is a diagram of a Nyquist impedance spectrum for a 30% aged lithium-ion rechargeable battery cell at 50% state of charge. [Figure 3C] FIG. 1 is a diagram of a Nyquist impedance spectrum for a 60% aged lithium-ion rechargeable battery cell at 50% state of charge. [Figure 4A] FIG. 2 is a diagram illustrating an equivalent circuit model of a battery according to an embodiment. [Figure 4B] 1 is a graph showing the relationship between R0 and the state of health of an equivalent circuit. [Figure 5] FIG. 1 is a diagram of a neural network model used to generate a health state, according to one embodiment. [Figure 6] FIG. 1 is 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 one embodiment. [Figure 7] FIG. 1 is a system diagram of a model predictive controller and an associated battery system, according to one embodiment. [Figure 8] FIG. 8 is a flow diagram illustrating one possible method of operating the model predictive controller of FIG. 7 to generate charge current constraints corresponding to predicted anode overvoltage, predicted battery temperature, and predicted battery voltage. [Figure 9A] FIG. 8 is a charging signal diagram illustrating the operation of the MPC of FIG. 7 to control charging current. [Figure 9B] FIG. 10 is a diagram of predicted anode overvoltage for which the MPC modifies the charging current in response to the predicted anode overvoltage. [Figure 10A] FIG. 10 is a charging signal diagram showing the effect of modifying the ep parameter on the charging signal. [Figure 10B] FIG. 10 is a charging signal diagram illustrating the effect of modifying the cp parameter on the charging signal. [Figure 10C] FIG. 10 is a signal diagram illustrating the effect of modifying t-wave parameters on the charging signal. [Figure 11A] FIG. 10 is a signal diagram showing the effect of modifying the ep parameter on predicted anode overvoltage. [Figure 11B] FIG. 10 is a signal diagram showing the effect of modifying the cp parameter on predicted anode overpotential. [Figure 11C] FIG. 10 is a signal diagram showing the effect of modifying t-wave parameters on predicted anode overvoltage. [Figure 12]FIG. 1 is a system diagram of a model predictive controller and an associated battery system, according to one embodiment. [Figure 13] FIG. 13 is a flow diagram illustrating one possible method of operating the model predictive controller of FIG. 12 to generate charge signal constraints corresponding to predicted anode overvoltage, predicted battery temperature, and predicted battery voltage. [Figure 14] FIG. 1 illustrates an example of a computing system that may be used to implement embodiments of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0016] The system can be thought of as a model predictive controller for determining and generating optimal charging signals for charging batteries. The system is also useful for characterizing batteries and developing battery charge and discharge signals for new battery sizes, chemistries, and the like. One advantage of the model predictive controller architecture described herein is that it is suitable for operating on multiple inputs and generating multiple outputs as required in any given implementation for either or both charging signal generation or battery characterization scenarios. For example, the system may operate on the voltage, current, and temperature at the battery. The system may also operate on calculated or derived values, such as impedance or aspects of impedance, such as the real or imaginary components of the 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) may be controlled to track a reference output. For example, the system may include a variety of possible reference profiles, and the model predictive controller may control the charging waveform so that the actual battery performance during charging matches or otherwise tracks the reference profile for any given charge.
[0017] Using the techniques described herein, the system can further generate optimal charging parameters, which may include optimal harmonic attributes mapped to or otherwise related to impedance or other detrimental effects within the battery, to meet the profile. Traditional charging scenarios, including constant-current, constant-voltage charging or variations thereof, involve charging at some constant current and / or holding some terminal voltage constant while under charge, where the charging current is typically reduced until it reaches zero. These traditional charging scenarios simply do not require complex charging architectures or any advanced architectures useful for optimizing a charging signal based on some starting, arbitrarily shaped charging signal.
[0018] Another aspect of the present disclosure includes a user interface through which different charging attributes can be set or otherwise configured within the system, for which the system can determine and / or optimize the charging signal. For example, via the user interface, charging rate, safe operating temperature limits, maximum terminal voltage, and / or other parameters can be set within the system, and the system automatically iterates until an optimal charging waveform is achieved to meet those conditions. A model predictive controller architecture can then implement that charging waveform and adjust it to meet the user-set charging parameters. The system can also facilitate prioritizing different parameters.
[0019] Referring now to Figure 1, a model predictive controller (MPC) architecture 100 is shown that is responsible for 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 it. The system monitors various battery attributes during charging, including terminal voltage, battery temperature, and input current waveform, and may use them in generating the optimization, in some examples. The system may also monitor other parameters, such as charge rate and impedance, and use them in generating the optimization.
[0020] The term "battery" in the art and herein can be used in various ways to refer to individual cells having an anode and a cathode separated by a solid or liquid electrolyte, as well as collections of such cells connected in various configurations. A battery or battery cell is a form of electrochemical device. A battery generally includes repeating units of oppositely charged sources and electrode layers separated by an ion-conducting barrier, often a liquid or polymer membrane saturated with an electrolyte. These layers are made thin so that multiple units can occupy the battery's volume, increasing the battery's available power per stacked unit. While many examples are described herein as applicable to batteries, it should be understood that the described systems and methods can be applied to many different types of batteries, ranging from individual cells to batteries including different possible interconnections of cells, such as parallel, series, and cells coupled in parallel and series. For example, the systems and methods described herein can be applied to battery packs including numerous cells arranged to provide a predetermined pack voltage, output current, and / or capacity. Additionally, the implementations described herein may 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 implementations described herein may also be applied to different structural battery configurations, such as button or "coin" type batteries, cylindrical cells, pouch cells, and prismatic cells.
[0021] The architecture described herein may be used to control battery charging in a variety of individual applications ranging from mobile computing devices such as cell phones and tablets, may be deployed in a variety of power tools, and may be deployed in a variety of vehicles ranging from bicycles and scooters to larger vehicles such as automobiles. The architecture may also be used to develop charging profiles and / or test various charging profiles to meet various charging specifications including charge rate, maximum charge current, charge waveform current amplitude (max), battery temperature, battery health, and battery capacity, among other characteristics, which may be related to the amount of time required to charge a battery to various charge states.
[0022] In the system shown in FIG. 1 , a user interface (UI) 104 is provided that allows a user to specify various charging attributes used by the architecture to generate a charging waveform to be applied to a battery. In various examples, such a system with a user interface can be useful for creating different charging profiles, testing and optimizing charging profiles, and doing so for a myriad of different existing or future-developed battery chemistries and configurations. Generally, an advantage of the architecture is that constraints can be defined, and the system can select or generate a charging waveform based on those constraints while monitoring and adjusting its performance. Additionally, priorities for the various constraints can be defined.
[0023] The system may incorporate constraints on input, output, and rate of change of input and output. Constraints may result from physical limits (e.g., maximum input current available to the charging system, maximum charging current to the battery, current limits imposed by the charging circuit topology, etc.), defined or specified limits (e.g., minimum temperature for charging to occur, maximum temperature limits during the charging process, etc.).
[0024] The system may prioritize various constraints through a user interface or in other ways. In one example, “soft” and “hard” constraints may be established. For example, the user interface may allow a user to select a constraint through a drop-down menu, establish a parameter (e.g., value) or parameters for the constraint, and select whether the constraint is a hard or soft constraint. A hard constraint is one that must not be violated, whereas a soft constraint may be violated. For example, the constraint may be an operating temperature range or discrete lower and upper temperature constraints, where the lower temperature limit (parameter) is a soft constraint and the upper limit is a hard constraint, such that charging cannot occur above the upper limit but can occur below the lower limit if other hard constraints are met and optimization dictates that charging should occur otherwise. Therefore, when hard and soft constraints are defined, during system optimization and when there is a conflict between the constraints, the soft constraint may be violated, whereas the hard constraint must not be violated, and the system will minimize violations of the soft constraints.
[0025] The system also allows for weighting of constraints. In various possible situations, various goals can be prioritized through weighting. In a simple example, the system may address both battery life and fast charging, which may sometimes conflict if fast charging comes at the expense of battery life. The system may optimize both in an unpredictable manner, but in some cases, the user may prioritize one over the other for any given implementation. For example, the user may prioritize charging speed over battery life, in which case the time for charging, or other such constraint, may receive a higher weight than the battery life constraint. Therefore, the system may balance performance among goals through weighting of constraints. The optimizer will tend to achieve constraints with heavier weights more often than those with lower weights, but will still attempt to achieve them all.
[0026] The MPC architecture includes a temperature predictor model 106. The temperature predictor model may receive (as inputs) the battery temperature T(k), input current I(k), and / or battery voltage V(k). The measurements T(k), I(k), and V(k), when analyzed by the temperature predictor model, may represent values at a time (k-1) prior to the current time. The model predicts the temperature at a time in the future (e.g., K+1) based on the measurement inputs. The model may be implemented in a variety of possible forms, including empirical or other forms of formulas, lookup tables, machine learning models, neural networks, and other forms of models that receive inputs of the current state of the system and generate a predicted temperature of the battery at a time in the future.
[0027] In one particular example, the system predicts a temperature change (e.g., an increase) based on an existing charging waveform, including its current (I) and voltage (V) components. It should be appreciated that the temperature predictor model, and other models herein, may receive charging waveform values and battery temperature measurements (e.g., a history of measurements), an average of the measurements, an arithmetic mean, minimum, or maximum of the measurements over some period of time, and use the collective values to predict a future battery temperature T(k+1). The predicted temperature may be at a future point in time, which may be as early as the next measurement time at which the system will evaluate the condition and possibly modify the charging waveform, or some other time in the future. One use of the predicted temperature by the MPC is to generate a charging waveform that does not cause the battery to exceed some temperature threshold, which may be a constraint, or to deviate from a temperature profile defined in the system via the UI or otherwise in the evaluator. In another example, the system may generate a charging signal with a relatively high charging rate that will not cause the battery temperature to exceed any temperature and / or minimize SOH degradation, among other considerations.
[0028] The MPC architecture may further include a state of charge (SOC) predictor model 108. The SOC model may receive as input the charging waveform at the battery, which may include discrete battery voltage V(k) and charging current I(k) measurements. Using the input, the SOC model may generate a current state of charge (SOC(k)). The SOC model may further generate or otherwise predict a state of charge at a future time (e.g., SOC(k+1)) based on the input. The current state of charge may also be an input into the model to predict a future state of charge.
[0029] In many cases, the times or cycles for the predicted temperature and predicted state of charge are aligned, so if the model predicts the temperature at some time k(n) in the future, the state of charge will be predicted at the same time k(n) in the future.
[0030] From the SOC predictor 108 and the battery temperature predictor 108, the system has a predicted state of charge (SOC(k+1)) and predicted temperature (T(k+1)) of the battery based on the charging waveform currently applied to the battery 102, e.g., values I(k) and V(k), and other information such as the temperature T(k). The SOC and temperature predictor may also receive a current magnitude, which may be an arithmetic average current value, from the optimizer 110, as described in more detail below.
[0031] The predictive controller architecture may further include an impedance analyzer 112. Inputs to the impedance analyzer are the current charging current I(k), the terminal voltage V(k) in the presence of the charging current, and previous measurements of both values I(k-1), I(k-2), I(kn), and V(k-1), V(k-2), V(kn), which form the current and voltage waveforms over time. From the battery voltage and charging current measurements, the impedance analyzer determines the battery's impedance in response to a charging signal I(k) being applied to the battery. In some cases, the charging signal is a current-controlled value, and therefore the charging signal I(k) will be discussed in terms of its current value, while recognizing that it has a voltage value that is measured and referenced as V(k).
[0032] In one particular configuration, the impedance analyzer 112 can generate an impedance spectrum for the battery. Using the impedance spectrum, the impedance analyzer can identify a frequency (F) or multiple frequencies or frequency bandwidth, F(opt), where the impedance is at a minimum or otherwise from a relatively low value to other values, and provide that frequency parameter to the signal constructor 114, described in more detail below. Thus, the output (e.g., F(opt)) provided to the signal constructor can be a discrete frequency value, multiple frequency values, or frequency bandwidth. The generated frequency or multiple frequencies or frequency bandwidth can also be associated with relatively minimizing plating within the battery. Plating or deposition of lithium on the anode has various deleterious effects on the battery, including removing lithium available for intercalation, forming discontinuities and inhomogeneities that reduce charge distribution, and forming dendrites, all of which, alone or in combination, contribute to the deterioration of battery health. In one possible implementation, the impedance analyzer may include one or more models that generate a frequency or frequencies or frequency bandwidth for relatively little plating, which, alone or in combination, may refer to the relative magnitude of impedance at any particular frequency compared to others. The frequency or frequencies of relatively low impedance may be the same as those associated with no or relatively minimal plating. In some examples, the frequency associated with minimal plating may not necessarily be the same as that associated with the lowest impedance. In part, the signal constructor may use that frequency of the multiple frequencies to define aspects of the charging signal.
[0033] In various embodiments, and with reference to FIG. 2 , the charging signal 200 generated by the signal constructor may include a shaped rising edge 210, a body portion 220, and a rest portion 230. The shape of the rising edge may be that of a sinusoid (portion thereof) at a frequency selected based on a harmonic frequency of relatively low impedance, minimal plating, a combination thereof, and / or otherwise. The shaped rising edge may correspond to a frequency (f) (or multiple frequencies) or be based at least in part on F(opt) by the signal constructor. The shaped (e.g., sinusoidal) rising edge is followed by a relatively steady charging current (e.g., body portion 1020) that terminates at a falling edge 1040. The falling edge may be followed by a sinusoidal heating portion. However, in the example of FIG. 2 , the body portion is followed by a rest period 1030. The rest period may be zero current or some non-zero DC current less than the substantially DC current of the body portion. The body portion peak current may range from 10 A to 60 A depending on the cell type, and the rest current may range from 0 A to 10 A. As described below, the shaped rising edge, body portion, and / or overall width may be a function of the arithmetic average current. Values for peak current, rest current, and other values may vary depending on temperature, cell type, circuit capabilities, state of charge, and other factors, as described elsewhere herein. In this example, if non-zero, the rest current may be less than the specified charge current when referring to conventional CCCV charging parameters. For example, if the charge current using CCCV charging is around 4 A and 4.2 V, the rest current may be 2 A or less. The charging waveform may include repeating charging signals, which may vary over time (e.g., any or a combination of edge time, body time, rest time, and duty cycle may vary).
[0034] To obtain the impedance, in one possible example, the impedance analyzer 112 employs a method for determining impedance based on the voltage and current signals I(k), I(k-1), I(kn), and V(k), V(k-1), V(kn). The voltage and current signals may each contain one or more harmonics. For example, the rising edge of the charging signal may have the shape of a portion of a sinusoid at a particular frequency. In another example, the main body of the charging signal may be composed of one or more harmonics. In the described example, the impedance analyzer determines the battery's impedance relative to the applied charging signal (its current and voltage components). However, it is also possible to employ a probe signal, which may include a spectrum of harmonics, that evaluates the battery's impedance relative to various harmonics, particularly at the beginning of a charging cycle, and may be used by the system to initiate the MPC and the initial charging waveform to be applied to the battery in general. The probe signal may also be interleaved during charging, or may be executed separately at the beginning of charging, and / or in other manners. In one example, the probe signal can be a square wave or a square pulse. In one specific example, the probe signal is a square wave centered at 0 amperes. In one possible example, the probe signal is a square wave centered at 0 amperes with a +4 V (positive) portion and a −4 V (negative) portion. Here, the arithmetic average current is 0 A. The duty cycle is 50%. The frequency, duty cycle, current or voltage magnitude, or other attributes of the probe signal can vary depending on the cell type, device type, temperature, state of charge, and other possible parameters. These parameters can be determined based on the characterization of any given cell type. In one specific example, a square wave probe is applied to the battery for a single period of approximately 30 msec. In other words, the probing signal can include a positive square pulse of some current and a negative square pulse of some current. The pulses can have the same duration, e.g., 15 msec each, or can have different durations. The probe signal can be only positive pulses (current into the battery) or only negative pulses (discharge current from the battery).Each pulse may contain the same magnitude of current, or the pulses may be asymmetric. While other probing signals are possible, square pulses or square waves have harmonic content at a wide range of frequencies and are efficiently generated by a wide range of conventional charging hardware topologies. Generally, the purpose of a probe signal is to very briefly and individually inject a wide spectrum of harmonic content into the battery to evaluate the battery's impedance to various harmonics. Therefore, whether a square wave, square pulse, or other signal, the probe signal is intended to momentarily inject a spectrum of harmonics into the battery, and it is also possible to inject a sequence of probe signals to evaluate the impedance response to harmonics over time. In the case of a square wave centered at 0 amps, the magnitude of the current into and out of the battery may be equal, with little or no net charging effect. Depending on the configuration, a wide range of different probes can be injected, encompassing different harmonic content. Even though uncontrolled and / or high frequency harmonics can have detrimental effects on the battery, the system only applies square pulses of very short duration for the purpose of obtaining the impedance spectrum, thereby substantially avoiding such effects.
[0035] In the presence of a charging signal waveform or a probe signal, the system measures the current and voltage in the battery. The current and voltage portions of the charging or probe signal are captured in the time domain. For each of the current and voltage signals, the system obtains a frequency spectrum, from which the system may further generate an impedance spectrum. In one example, the impedance analyzer may generate a domain transform of the current and voltage signals to generate 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 enable the use of relatively lower-cost, simpler microcontrollers or other computing platforms more typical of some charging environments where large computational power is not otherwise required.
[0036] From the frequency spectrum of the current and voltage signals, the system generates an impedance spectrum. In one example, the impedance spectrum is generated from dividing the voltage spectrum by the current spectrum. More specifically, complex voltage values at various frequencies are divided by complex current values at the same frequencies to generate impedances, which may be complex components of the impedance, at various frequencies. This may generate a complex-valued impedance spectrum. In some examples, it may be sufficient to limit the generation of the impedance spectrum to a discrete frequency range, e.g., 200 Hz to 3 KHz.
[0037] Regardless of the technique, the impedance analyzer 112 generates at least one impedance value. In a particular example, the impedance analyzer generates an impedance spectrum relating the battery's impedance to specific frequencies of harmonics in the signal applied to the battery. Thus, in a simplified example, there will be many harmonics in a square pulse probing signal, or shaped charging waveform, applied to the battery. Through the techniques described herein, the system generates a discrete impedance of the battery for some or all of the discrete harmonics in the charging or probe signal. The spectrum, at a generalized level, indicates the battery's resistance to a specific frequency of the charging signal. The battery may have a greater or lesser impedance (or, more generally, resistance) for different frequency harmonics of the probe signal.
[0038] Thus, the impedance analyzer may generate one or more impedance values associated with one or more respective frequencies, which may be harmonics, when a signal having those frequencies is applied to the battery. As part of generating the frequency output, the impedance analyzer generates an impedance spectrum (Z). Impedance may be characterized by its imaginary component, real component, or both its imaginary and real components. Similarly, other frequency-based response or impedance derivatives, such as susceptance, admittance, and capacitance, may be used. Generally, in various embodiments where impedance values are considered, the technique evaluates harmonic values whose values, alone or in combination, are associated with some impedance. Given the generally reciprocal relationship, the term impedance, as used herein, may include its reciprocal, admittance, which includes its components of conductance and susceptance, alone or in combination. In one particular example, the impedance analyzer generates a frequency or frequency spectrum associated with the lowest impedance. Thus, for example, the system may generate discrete frequencies of lowest impedance in the battery. In another example, the system may generate some spectrum of frequency values above, below, or surrounding the frequency of the lowest impedance. The frequency values or spectrum are output and provided to a signal constructor. In one particular example, the selected frequency or frequency spectrum is aligned with the imaginary component of the impedance.
[0039] The impedance analyzer, optimizer, or some other component of the controller 100 may also use the impedance spectrum and / or its discrete components to generate a state of health (SOH) output. The SOH is a measure of the current SOH(k) and may 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 a specified end-of-life stage. The SOH may account for plating within the battery.
[0040] In one example, the system applies a probing waveform, which may be a square pulse to be generated containing various harmonics as described above, to generate impedance Nyquist diagrams as shown in FIG. 3A (a new 21700 lithium-ion rechargeable cell at 50% SOC), FIG. 3B (a 30% aged 21700 lithium-ion rechargeable cell at 50% SOC), and FIG. 3C (a 60% aged 21700 lithium-ion rechargeable cell at 50% SOC). By fitting the Nyquist diagrams, the system can obtain estimates of component values in the equivalent circuit model of the battery cell shown in FIG. 4A. In the equivalent circuit model, R represents the cell bulk resistance, C and R represent the charge transfer impedance, C and R represent the diffusion impedance, and Z represents the Warburg element. C and C are constant phase elements. In one example, the system represents the SOH by referencing the value of R. As shown in FIG. 4B, as the cell ages, the thickness of the SEI layer increases through plating, and therefore the bulk resistance of the battery cell increases.
[0041] For example, an impedance analyzer may include a model that generates an SOH metric based on impedance spectra, voltage and current values, and / or other information.
[0042] In one particular implementation, the model may be a neural network, as shown in Figure 5, where all of the component values in the equivalent circuit are inputs and the SOH is the output after a 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.
[0043] From the impedance spectrum, or else, for a more specific example, the system may identify a particular harmonic as F(opt) used to define the rising edge of the charging portion of the charging waveform from the signal constructor. As described herein, the system may shape the rising edge and / or define the harmonic content of the charging waveform, and in particular, the main portion of the charging portion. In one possible configuration, to determine the shape of the rising edge of the charging signal, the system determines an optimal frequency from the impedance spectrum generated from the impedance analyzer. In one specific example, the optimal frequency is the frequency associated with the lowest impedance (in particular, in some embodiments, reactance) in the impedance spectrum. Therefore, the system selects the frequency associated with the lowest impedance. It should be understood that in some cases the system may instead be able to evaluate admittance, e.g., the highest admittance, or the imaginary part of the admittance—susceptance. In general, a charging signal applied to a battery with a frequency shape associated with a lower impedance will transfer energy for charging more efficiently than a frequency associated with a higher impedance. In some cases, the charge signal is also associated with relatively less plating and therefore slower degradation of the SOH. The optimal frequency is set as the rising edge of the charge signal generated by the signal constructor. The rising edge therefore defines the portion of the sinusoid at the identified frequency as shown in the example of FIG.
[0044] In addition to the shape of the rising edge of the charging portion, the optimizer 110 and the signal builder 114, and / or other components described herein, may also determine overall attributes of the signal, including the length of time of the pause period relative to the charging time (including the shaping portion and the main portion), the total signal period, and other attributes. In one possible example, the period of the charging signal and the pause period are preset and based on battery characterization. The period of the charging signal includes the shaping rising edge and the main portion following the shaping rising edge. In various possible examples, the charging portion may be in the range of hundreds of microseconds to tens of milliseconds. The total period, also referred to as the duty cycle, includes the charging portion and the pause period (or heating portion). The pause period (or heating portion) may be in the range of hundreds of microseconds to tens of microseconds. In other possible examples, the period may be in the range of hundreds of microseconds to tens of milliseconds. The peak current at the peak of the shaping rising edge of the charging portion and the main portion of the cell may be around 20 A, but the peak current value depends on the cell type, temperature, characterization, and other factors and may therefore vary significantly from the exemplary peak current. An example of determining the charging current, including the peak current, is described below as being based on the arithmetic average current generated from the optimizer.
[0045] The predictive controller architecture further includes an evaluator 116 that receives as its inputs the predicted state of charge (SOC(k+1)), predicted temperature T(K+1), and SOH, and / or impedance spectrum, and / or impedance analyzer output or outputs such as F(opt). The evaluator also knows the type of battery being charged, including any possible specifications for charging current and voltage, and system current limits, among other values.
[0046] The evaluator may further receive, or more generally, include, various performance goals or profiles and other information to define the charging waveform. In one example, one or more such parameters may be defined via the user interface 104. The performance goals may be provided as a charging profile reflecting changes in SOC over a period of time (SOC trajectory), including temperature parameters (e.g., minimum and maximum temperature values below or above which charging should not occur) that include temperature information associated with the charging rate, low temperatures at which charging may damage the battery, and high temperatures at which charging may damage the battery. The charging rate, alone or as a separate value, may define or refer to the maximum available charging current for the system—a physical limit on the charging current that can be provided by the system, a limit imposed by the manufacturer, or other possible limit. With respect to the charging profile, the profile may reflect the time to charge the battery to a certain percentage. The percentage may simply be a range, such as 80%, regardless of the starting charge state, or the percentage may be relative to an end state, such as achieving 80% charge from whatever the starting charge was, or other values. End-of-life capacity is a value that indicates when the system will recognize that the battery's life has expired. For example, the end-of-life capacity may be 80%, such that a battery is considered to be at the end of its life when its capacity has dropped 20% from when it was new and had 100% capacity. Similarly, an SOH of 1 may reflect 100% capacity, and an SOH of 0 may reflect 80% capacity, recognizing that other information besides capacity may also reflect the SOH. With regard to the SOH, as described with respect to some embodiments, the SOH is based on the anode overvoltage. In such cases, a parameter related to the anode overvoltage may be used to generate the SOH value or scale. Generally, relatively faster charging is believed to degrade a battery more quickly than relatively slower charging. Charging at excessively low or excessively high temperatures may also degrade battery life more quickly. Therefore, these parameters are interrelated and may be taken into account when the system determines the charging signal.
[0047] Charging parameters may be input via a user interface. In another example, the system may reference a predefined profile stored in memory. In another example, the system may use such values in a battery characterization system in which a baseline charging signal is defined by an MPC, and this baseline charging signal may be used in the MPC system or as a preset charging waveform, which may or may not be subsequently changed. In another example, the baseline charging signal may be used in the charging system of FIG. 1 , in which there is no user interface and therefore some or all charging parameters are preset. In yet another example, charging parameters are used to generate a baseline charging signal, but the system used to charge the battery includes an evaluator that receives outputs from the T(k), SOC(k), and impedance analyzer, but not other charging parameters. In yet another example, a system deployed to charge a device may allow a user to customize settings such as charging rate and end-of-life, causing the system to optimize the charging signal to correspond to the user-defined settings.
[0048] It should be appreciated that the system may prioritize some charging parameters over others. For example, the system may not allow any charging to occur above or below a specified temperature, and therefore may be unable to charge according to the SOC trajectory (e.g., at a specified rate) without exceeding a maximum temperature, or may not begin charging until the battery temperature reaches a minimum temperature. In such an example, the system may be specified to prioritize temperature over charge rate to avoid damaging the battery. In another example, the charge time may conflict with the maximum charge rate, and therefore the system will not generate a charge signal that exceeds the system's capabilities.
[0049] The charging parameters may further include temperature values, including minimum temperatures, maximum temperatures, temperature ranges, or other definitions of temperature constraints for the battery during charging, at the beginning of charging, at the end of charging, or a combination thereof. In some cases, the minimum temperature may be the temperature below which the battery should not be charged. The temperature range may define the temperature range within which safe charging can occur. The maximum temperature may define the temperature above which charging should not occur. In some examples, the system may adjust the charging waveform over time to keep the temperature within a safe operating range and / or not exceed an upper limit, with the understanding that charging will warm the battery. In some examples, the system may define a charging waveform primarily intended to warm the battery when it would not otherwise be hot enough to charge.
[0050] The charging parameters may further include a target life definition that reflects the number of cycles that define how many charge and discharge cycles the battery can complete before its capacity degrades to some set level. The SOH value may be used alone or in conjunction with external information such as the current number of charge cycles, the extent of each cycle (e.g., from the start SOC to the end SOC of any cycle, recognizing that charging or not charging may also be considered when evaluating the cycle from the end to the start SOC).
[0051] The evaluator 116 may include / execute one or more cost functions (also referred to as loss functions) to generate one or more performance metrics. The performance metrics provide the difference between the predicted performance and any predefined performance profile or value of the evaluator. For example, the evaluator may evaluate the predicted SOC against a charge rate profile to determine how the SOC is tracking against the charge rate profile. Similarly, the evaluator may evaluate the predicted temperature against a temperature profile.
[0052] In one particular configuration, the evaluator implements a cost function to minimize two performance metrics J1 and J2, where: J1 = SOC expected - SOC(K+1) J2 = T expected - T(k+1)
[0053] where SOC expected is from the charge profile that defines the progression of SOC over time, and T expected is from the temperature profile over time.
[0054] The output of the evaluator is fed into optimizer 110, which generates an arithmetic mean current value for the charging current waveform. The charging current waveform may be a shaped waveform, as shown in an example in Figure 2, and the arithmetic mean current value may be related to the total charging current energy from the shaped waveform.
[0055] The SOC and temperature are functions of the arithmetic mean current, and therefore the two performance index values J1 and J2 also depend on the arithmetic mean current. In one example, the system uses a cost function that is the sum of all weighted performance index values: Cost function J = w soc * J1(I) 2 + w T * J2(I) 2 The optimizer will look for the arithmetic mean current that minimizes the cost function.
[0056] The arithmetic mean current value (I) is fed into a signal constructor which generates a control signal to generate a shaped charging waveform I(k) using the arithmetic mean current and the frequency or frequency spectrum from the impedance analyzer.
[0057] As described above, the system may apply a composite shaped charging signal having a charging portion including a shaped rising edge and a body portion, and a heating portion or a resting portion, either or both of which may include a positive offset so that some charging current is delivered during either the heating portion or the charging portion. Arithmetic average charging current values may be converted to various portions of the composite charging signal.
[0058] In one particular example, the system sets the peak current of the charging portion of the signal based on the arithmetic mean value and other parameters of the charging signal, such as the total period and the rest period, which may be understood as the time of the charging portion of the signal and the time of the rest portion of the signal, the duty cycle, or some combination thereof. As described above, in determining the shape of the charging portion, the system may have access to time parameters of the entire signal, such as the total period and the rest period of the signal. Using this information, the system can determine the time of the charging portion (shaping portion and body portion) of the signal.
[0059] In one possible example, the system uses a current limit (arithmetic mean current) to set the peak current of the main portion of the signal, taking into account the charge transfer that occurs during the shaped rising edge. Generally speaking, a charging waveform can have a shaped rising edge. In the example described above, the shape is set to the frequency F(opt) associated with the lowest impedance. If a spectrum is provided, the shaped rising edge can be set to the frequency associated with the lowest impedance in the spectrum. For comparison, if the system selects a very high-frequency harmonic for the shaped rising edge, which would appear approximately like a conventional square wave, the system determines a 50% duty cycle (50% charge plus main portion, 50% rest portion), and the current limit is set to 5 A, the peak current of the charging portion would be 10 A. However, the system would generate a relatively lower-frequency harmonic as the shaped rising edge for the charging signal (rather than the high-frequency sharp rising edge of a square wave) because such charging energy is transferred during the shaped rising edge as well as during the main portion of the charge. In the same example of a 50% duty cycle, some charge is transferred during the shaped rising edge of the charge portion and the remaining portion is transferred during the body portion of the charge, so if the arithmetic average current is set to 5 A, the peak current in the upper portion of the shaped rising edge and in the body portion will be greater than 10 A. In such an example, the system considers both the shaped rising edge and the body to be within 50%, and therefore the peak current in the body will be higher than 10 A because less energy is transferred during the shaped rising portion compared to a conventional square pulse. Therefore, the system considers the charge transferred during the shaped and body portions of the charge portion of the signal when determining the peak current.
[0060] In many cases, the peak current may be greater than the set maximum current for the battery. In some cases, the system may determine a peak current that is possibly greater than that provided by the system's hardware. In such cases, the system may generate a positive charging current offset for the rest period so that the arithmetic average current can be reached over the entire period of the signal (charging portion and rest portion). In other cases, the system may adjust the total period so that the rest period remains the same by lengthening the time that the charging signal portion is delivering charging current, but the charging portion increases so that the arithmetic average current can be reached over the period of one signal. In another example, the system may maintain the total period while shortening the rest period.
[0061] In some cases, in addition to defining the rising edge based on the frequency provided by the impedance analyzer, the signal builder 114 may also build the main portion of the charging signal based on the frequency of the impedance spectrum from the impedance analyzer. To form the impedance analyzer 112, which builds the charging signal composed of harmonics at the identified frequency or frequencies, the signal builder may perform an inverse transform of the frequency domain spectrum from the impedance analyzer. In other words, the frequency domain representation(s) of the optimal frequency from the impedance spectrum may be inverse transformed to define a charging signal, which may be a charging current waveform having each harmonic frequency from the impedance analyzer that forms at least the main portion of the charging signal, in combination with the arithmetic average current value from the optimizer. The signal builder generates a signal or pulse control that may be provided to the charger 118 to form the charging signal.
[0062] FIG. 6 illustrates a battery charging circuit topology for an example of a charger 118. The arrows shown in the diagram define the current flow paths between different operating states of the system. In this example, the system is also configured to drive a load, which is intended for embodiments in which the MPC is integrated into a charging environment as opposed to a characterization environment. In FIG. 6, the system is shown in a configuration that supplies current to the battery (charging) and powers the load. It should be appreciated that the system can also be operated to draw current from the battery (discharging or emitting), the discharge path to a capacitor on the rail, and power the load with the power supply turned on (connected to the rail). Additionally, the system can be operated in a configuration that draws current from the battery to a capacitor on the rail, as well as powering the load with the power supply turned off (not connected to the rail). In some versions, the discharge path can be initiated by rapidly turning on, or "blipping," the second transistor below.
[0063] FIG. 6 is a schematic diagram illustrating an exemplary charging signal generator configuration for charging the battery 604. The charging signal generator is connected to the signal constructor of the MPC 100. The MPC may be implemented in the form of a processing unit or units, which may include a controller, such as a microcontroller, FPGA (field-programmable gate array), ASIC (application-specific integrated circuit), microprocessor, combinations thereof, or other processing configurations, that generates control for generating the charging signal from the charger through the configurations described above. As described above, the system may receive feedback including battery measurements from a battery measurement unit 616, such as current and / or voltage measurements at the battery terminals of the battery 604 in the presence of a signal. Generally, the charger may also include or be operatively coupled to a power source 618, which may be a voltage or current source. In one embodiment, the power source 618 is a direct current (DC) current or voltage source, although alternating current (AC) sources are also contemplated. In various alternatives, the power supply 618 may include a DC source that provides unidirectional current, an AC source that provides bidirectional current, or a source that provides a ripple current (such as an AC signal with a DC bias to make the current unidirectional). Generally, the power supply 618 supplies charging energy, e.g., current, that may be shaped or otherwise defined by the MPC and charger to generate a controllably shaped charging signal that may also be controlled for heating or to perform other operations. In one example, the signal builder may provide one or more inputs to the charger that control switches to generate pulses to circuit 610, which may also be referred to as a filter, that generates the shaped signal at the battery.
[0064] In some cases, the signal shaping circuit 610 may modify energy from the power source 618 to generate a signal that is shaped based on conditions in the battery 604 and based on the operation of the MPC as described herein. As mentioned above, the battery measurement unit may also obtain other battery attributes, such as temperature, in addition to voltage and current, to provide information for the MPC to determine impedance in the battery 604.
[0065] Generally speaking, a signal contractor controls switches 612 and 614 to generate a sequence of pulses at node 636, which are converted by circuit 610 into a charging signal. Similarly, during a heating function, the battery may be characterized based on temperature to understand the impedance effect of the charging or discharging signal on the battery and the signal controlled therefrom. Here, node 636 is similarly controlled, but may be controlled so that current having defined impedance characteristics is provided to and drawn from the battery via circuit 610. It should be appreciated that heating may also include a diversion of current into and out of the battery, characterized in a manner that optimizes heating, minimizes or eliminates plating, and minimizes any energy storage within the battery during the heating sequence. Returning to a charging operation, signal generator 608 may generate one or more control signals based on the operation of the MPC and provide those control signals to signal shaping unit 610. The control signal may, among other functions, shape or otherwise define the signal to the battery to approximate a shaped charging signal determined, selected, or otherwise obtained by the MPC. The charging signal shaping circuit 610 may further filter any unwanted frequency attributes from the signal. In some cases, the shaped charging signal may be any arbitrarily shaped signal such that the signal, whether heating, charging, or discharging, is not a constant DC signal but does not follow a traditional repetitive charging signal, such as a repetitive square wave or triangular wave charging signal.
[0066] 6 includes switching elements 612, 614, which may be considered part of circuit 610, for generating an initial sequence of controlled pulses at node 636 that are then converted by filter 610 into a shaped signal to generate a signal that is applied to or from the battery, according to one embodiment. The switching elements may also be used to generate a discharge signal from the battery by similarly generated pulses at node 636 in the absence of a charging current on rail 620.
[0067] The circuit 600 includes a first switching element, e.g., a transistor 612, and a second switching element, e.g., a transistor 614, where the first switching element is connected to a power rail, thereby connecting to a power supply 618 during charging and, if part of an implementation, coupling to a capacitor 622 on the rail during discharging. The capacitor may have various functions, including regulating the discharge signal. The first transistor 612 may 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 may be any type of transistor, e.g., a 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 may be a FET having a drain node connected to a first inductor 640, a source connected to the rail, and a gate that receives the control signal 630 from the signal generator 610. In various embodiments, circuit 610 also includes inductor 640, although it may have a variety of other possible inductive elements. Circuit 610, and in particular the combination of inductors 642, 640 and capacitor 648, may be considered a boost topology when operating in a bidirectional manner for both charging and discharging, and when controlling current from the battery during the discharge portion of heating, or more generally, while passing current to a load during normal operation, as described in more detail below.
[0068] Figure 7 shows an alternative model predictive controller architecture, which may be thought of as a model predictive control (MPC) system. The exemplary MPC of Figure 7 is similar to the example of Figure 1 described above, and many blocks have the same functionality as described above, while taking into account differences in the architecture shown in Figure 7, including the substitution of a state-of-health model 712 for the impedance analyzer described above with reference to Figure 1. Here, the evaluator 716 and optimizer 710 would also receive as input a predicted anode overvoltage (AOP(k+1)) (described more broadly below) instead of the output of the impedance predictor, and would generate a charging current I(k) at which to charge the battery.
[0069] 7 at current time step k can be described as a loop in which the system receives from battery 702 the measured temperature T(k), the measured terminal voltage V(k), and the current control input for the previous time step I(k-1); controller 100 processes the received signals and generates a control input command I(k), which is the current at the current time step k; charger 718 receives command I(k) and generates an actual current control signal I(k) that it sends as the charging current to battery 702. The current control signal is also based on the predicted anode overvoltage, the predicted temperature, and an estimate of the state of charge.
[0070] The MPC system includes an evaluator 716 that processes the predicted anode overvoltage AOP(k+N), predicted temperature T(k+N), and estimated state of charge SOC(k). In one possible implementation, the evaluator may also receive or otherwise use a reference SOC and / or capacity range, which may be set or derived from a charge rate command or setting, a temperature limit (or temperature range), a charge rate, or other value, where this information is preset, received from a user interface, or received or accessed from some other component (e.g., the system or environment in which the MPC is operating). AOP(k+N) and T(k+N) represent the predicted anode overvoltage and predicted temperature over a prediction horizon N, and SOC(k) indicates the estimated SOC at the current time step k. The evaluator may include two functions: (1) determining or assessing the SOC tracking error and (2) updating the current control input constraints in real time. For (1), a comparison may be made between the estimated SOC, SOC(k), and the reference SOC, and the difference is calculated (SOC(err)); for (2), a signal constraint law generator (SCLG), which may be a separate functional block of the evaluator, generates current constraints based on predicted anode overvoltage and predicted temperature, which may also take into account predicted battery voltage.
[0071] The MPC system also includes an optimizer 710, which may be an MPC core that provides optimal SOC tracking while taking into account current and / or SOC constraints from the evaluator. In one particular example, the optimizer 710 considers real-time current input constraints,
number
[0072]
number
number
[0073]
number
number
[0074] The optimizer ultimately yields the first value of the future control sequence, i.e., I(k), as the control input command for the current time step k, and simply sends it to the signal builder 714, which generates the charging current either alone or in combination with the charger 718.
[0075] The SOH predictor 712 receives T(k), V(k) from the battery 702, and SCLG, or more generally, the adjusted future current constraint sequence from the evaluator.
number
[0076] The battery temperature predictor 706 receives T(k), V(k) from the battery 702 and the adjusted future current constraint sequence from the SCLG.
number
[0077] The battery SOC estimator 708 estimates the SOC for 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 previous control input I(k-1) from the charger 718. A simplified extended Kalman filter (EKF) may be used for the battery SOC estimator 708.
[0078] More specifically, the state of health (SOH) predictor 712 may be a numerical or other form of model of any battery type to be charged, evaluated, or otherwise analyzed and / or managed using MPC. In one example, the SOH model is a Python-based numerical model. In a particular example, the SOH model uses the PyBaMM (Python Battery Mathematical Modeling) physics-based battery simulation model. The model receives as its inputs V(k) and T(k), which may be measured voltages and temperatures while charging the battery, which may be measured at the battery. Depending on the implementation, the SOH model may receive additional information, such as I(k), I(k-1), and / or charging current constraints, or some other measure or information related to the charging current. The model may also receive a measurement or determination of the state of charge (SOC(k)) from the SOC predictor 708.
[0079] The battery temperature model 706 may also use a PyBaMM model, which may be the same or a different model as used to predict anode overvoltage. In the case of battery temperature, the model may receive V(k) and T(k) as its inputs and may also receive I(k). T(k) may be a measurement of battery temperature. The temperature measurement may be made through a sensor operatively coupled to the battery terminals or some other portion of the battery. In some cases, the battery may be part of some system, such as a battery management system, and the temperature value is received from such a system. Although not shown, the model may also receive an environmental temperature value. Additionally, the predicted current value I(k+1), current constraints, or some other information related to the charging current may be provided to and used by the SOH, SOC, and other battery temperature models. In some examples, the model may also receive V(k) and I(k) as its inputs and not receive a measurement of battery temperature T(k), and the model may predict temperature T(k+1) without using any form of battery temperature measurement.
[0080] Nevertheless, the model 706 generates a predicted temperature T(k+N) at some time N in the future. Each N may represent a time period between 0.32 seconds and 3.2 seconds, depending on the possible implementation. Once set or scheduled, N may be fixed as a control cycle parameter, but note that in some versions, N is reduced in the voltage control portion of the system. The scheduling of the forecast horizon N determines how far into the future the system is configured to predict the model response. A higher N means further into the future prediction and earlier constraint updates in the SCLG. As a result, different N values can result in different control input strategies.
[0081] In one example, the SOH model 712 is optimized to predict anode overpotential response. Therefore, the output of the SOH model is an 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 that refers to the accumulation or plating of lithium on the anode. Lithium plated on the anode is no longer available for lithium-ion charge and discharge reactions, thus degrading the battery capacity and capacity fade rate depending on the lithium plating rate. The capacity fade rate can be derived from the anode overpotential prediction described below, such as a relative prediction of anode overpotential during successive charge cycles. Lithium plated on the anode further impedes lithium transport in and out of the anode during charge and discharge, degrading charge and discharge performance. Generally, lithium plating degrades the battery over time.
[0082] In an external battery charging environment such as an advanced laboratory or similar setting, anode overvoltage cannot be measured directly in real time. Therefore, and instead, the MPC uses an SOH model to predict anode overvoltage based on inputs (e.g., T(k) and V(k), although other, fewer, or additional inputs may be considered depending on the model type, etc.). The predicted anode overvoltage (AOP(k+N)) is fed into the evaluator 716 along with SOC(k) from the SOC model 708 and T(k+N).
[0083] In one example, the SCLG may be configured to maintain the anode overvoltage at some value greater than the 0 volt constraint, as well as to ensure that the battery does not exceed a temperature constraint. The evaluator 716, alone or in combination with the optimizer, may include computer-executable instructions for or otherwise be configured to execute and manage the method of FIG. 8 to address the anode overvoltage and any constraints. The example of anode overvoltage and temperature is described as two possible constraints that the SCLG successfully addresses by modifying the charging current (attempting to maintain above 0 volts and within or below some temperature range or value). However, the SCLG, or more generally, the MPC, may also consider additional or different constraints, such as charge rate, alone or in combination with the anode overvoltage and temperature, which may be hard or soft constraints. In such a possible alternative MPC, a model or models are developed that predict how charging a battery will affect any constraints, taking into account various charging-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 charging-related attributes, which are predicted and then acted upon by an evaluator to generate a charging current constraint that is processed by an optimizer to generate commands under which a charging signal is generated at the battery. The predicted value or other information for any given constraint is then acted upon by the evaluator, along with other possible information, to affect charging parameters that will maintain the predicted constraint to some value, range of values, or the like.
[0084] Returning to the example of an anode overvoltage constraint representing the state of health (SOH) of a battery cell, it has been determined that an anode overvoltage at or below 0 volts can accelerate lithium plating, resulting in a relatively faster rate of capacity degradation. Conversely, to slow lithium plating and slow capacity loss and fade, the MPC operates to adjust the charge current to maintain the anode overvoltage at a value greater than 0 volts. In some examples, the MPC is configured with an anode overvoltage constraint at some value slightly greater than 0 volts, e.g., somewhere in the range of 0.005 and 0.05 volts, to provide a margin for error in various measurements, predictions, and the like. Other ranges are possible, depending on the battery type and other information.
[0085] In one possible configuration, the MPC generates a controlled direct current (DC) charging current to the battery for a period of time until, toward the end of the charging cycle, the MPC transitions to a constant-voltage form of charging. During the controlled-current phase, the battery is charged at a charging current I(k), the value of which is controlled and determined by the MPC by, among other things, considering the constraints evaluated in the evaluator, as described herein. During operation, the voltage at the battery may be monitored while the controlled current is applied. If the voltage begins to rise above some threshold, e.g., 4.2 volts for some lithium-ion battery formats, charging may transition to a constant-voltage region. Here, the voltage is monitored, and the charging current is gradually reduced whenever the voltage rises above a threshold. The constant-voltage portion of the charging routine may not consider anode overvoltage and temperature prediction; therefore, it may be a simple separate routine executed by the evaluator, or it may be pre-formed by a separate component, such as a proportional-integral-derivative controller (PID controller), or in other ways. In some configurations, voltage is also monitored during the controlled current phase and / or in place of the constant voltage phase.
[0086] With respect to generating the current magnitude, the MPC system is optimized to generate the charge current magnitude. That is, various aspects of the MPC generate and receive as inputs the estimated SOC(k), battery temperature T(k), predicted battery temperature T(k+N), predicted anode overvoltage AOP(k+N), terminal voltage V(k), and previous control current I(k-1), and the MPC calculates the current magnitude I(k) as the control signal for the current time step k. The current magnitude is then used, for example, by a signal constructor and / or charger, to generate the charge current applied to the battery. In this example, the MPC relies on modifying the charge current value to manage the anode overvoltage and battery temperature within their respective constraints.
[0087] The MPC may also receive other constraints or attempt to manage other constraints, which may be considered soft constraints. Hard constraints are those that the MPC does not violate or attempts to avoid, whereas soft constraints are those that the MPC attempts to achieve but would be violated in order to not violate the hard constraint. The MPC in a system employing both hard and soft constraints may be configured to prioritize the soft constraints and not violate the hard constraints. For example, a system may have a soft constraint for charge rate, which may be set as a certain rate (e.g., 1C, 1.5C, 2C, 3C, etc.). At a base level, a higher charge rate could allow the battery to charge more quickly and therefore recover relatively more quickly or increase the SOC more quickly. A higher charge rate, while desirable, may also involve a higher temperature ramp rate and may be associated with anode overvoltage. In such a system, the MPC would manage the hard constraints for anode overvoltage and temperature while also attempting to achieve the charge rate. Thus, in such a system, if the hard constraints cannot be met at a relatively high charge rate set as a soft constraint, then the MPC will violate the soft constraint and reduce the charge rate below the soft constraint limit so as not to violate the anode overvoltage and / or temperature hard constraints in this example. The system also generates charging constraints, such as a current constraint as a function of other constraints, which are then optimized to generate a final charging signal.
[0088] In the embodiment of FIG. 7, the SCLG analyzes battery temperature and anode overvoltage to ensure optimal and safe charging operation. In the illustrated example, the system does not directly measure the anode overvoltage. The system also does not require direct measurement of battery temperature; battery temperature can similarly be predicted using a battery temperature predictor based on voltage and current measurements, as well as in the absence of direct temperature measurements. Regardless of whether either constraint is measurable, the system can still consider these attributes to generate an optimal charging signal that manages either or both constraints within their respective constraint limits. Therefore, the MPC, as some kind of constraint transition mechanism, transitions the battery temperature and anode overvoltage constraints to practical current signal constraints.
[0089] As described above, and in one possible example implementation, the SCLG may use a PyBaMM cell model for SOH (e.g., to predict anode overvoltage) and to predict battery temperature. The model may also predict battery voltage toward the end of charge in the form of a constant-voltage portion of the charge and manage it within constraints, which may be employed alone or in combination with other constraints. The MPC may also address battery voltage (V(k)) and manage it within constraints, for example, through the SCLG employed in the evaluator. The PyBaMM model is a Python-based numerical approximation of physical battery dynamics used to predict battery cell response (e.g., voltage, temperature, and anode overvoltage) for a desired prediction horizon N. Specifically, by taking 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 applying the values described herein, the PyBaMM model calculates the corresponding voltage, temperature, and anode overvoltage responses at future time step k+N. A numerical search technique, an example of which is described below with respect to FIG. 8, can be employed by the SCLG and is designed to efficiently search for and find suitable future current input constraints such that their "future" responses do not violate their hard and / or soft constraints—e.g., charge rate, temperature limits, capacity parameters, and / or anode overvoltage.
[0090] 8 shows a method 800, which may include a numerical search technique, for generating the magnitude of the charging signal current, which may be implemented within the SCLG portion of the MPC of FIG.
number
[0091] The method then evaluates the various predicted constraint responses to their respective constraints (operation 820) and begins modifying some parameters when the respective constraints are not met. When a constraint is not met, the MPC re-evaluates the predicted constraints that do not satisfy the constraint after the parameters are modified in a manner intended to move the predicted constraint in a direction that will allow it to satisfy its constraint value. In some cases, the SCLG reduces and re-evaluates I(k+N), then commands the charging current at whatever value satisfies the various constraints.
[0092] In one possible example, the MPC first assesses whether the predicted voltage will exceed the threshold voltage constraint (operation 830). Here, if V(k+N) exceeds the voltage threshold, the system may reduce the prediction horizon N and then re-evaluate. Reducing the prediction horizon may be performed during the controlled-current charging phase, where the voltage continues to monotonically increase under a constant charging current over the future horizon N. When V(k+N) exceeds the threshold, an updated N′, set as half of the original N, will be applied to repeat the voltage prediction. In this way, the predicted voltage V(k+N′) will necessarily be smaller than V(k+N) because of the shorter prediction horizon. This reduced horizon N′ will be repeatedly applied in the subsequent current constraint determination process immediately following the voltage prediction. Depending on the implementation, the voltage evaluation may be performed intermittently, only during the constant-voltage charging phase, or not at all. For example, in some charging systems, an MPC may be used to manage charging between some lower limit, e.g., at the beginning of charging or at 0% SOC, and some upper limit. At the upper limit, the charging system may use a charging scheme akin to maintaining a constant voltage at the battery terminals, which may include gradually reducing the charging current toward the end of charging to maintain the voltage below some threshold. The upper limit that triggers a change in charging scheme in such a situation may be based on SOC, may be based on the measured terminal voltage reaching some threshold, or may be in some other manner.
[0093] In operations 840 and 850, the MPC evaluates the predicted temperature T(k+N) and predicted anode overvoltage (AOP(k+N)). Initially, if T(k+N) and AOP(k+N) are both within their respective constraints, no change to the charge current constraint is required, and the SCLG maintains the charge current constraint as initially set or at the previous time step k-1. The optimizer 710 receives the current constraint and generates the current control command I(k).
[0094] With respect to temperature in particular, if T(k+N) violates its constraint (e.g., the predicted temperature exceeds a temperature threshold), in operation 830, the SCLG will reduce the charge current and then re-evaluate whether reducing the charge current will cause the predicted temperature to meet the constraint limit. Generally, reducing the charge current will act to slow the rate of battery temperature increase and therefore reduce the predicted T(k+N). It will be appreciated that in an MPC (SCLG) with a voltage threshold constraint, reducing the current will not cause an increase in battery terminal voltage, and therefore reducing the charge current to meet the temperature constraint will not cause the system to violate the voltage constraint.
[0095] In one particular example, the SCLG uses a dichotomy to estimate future current inputs.
number
[0096] With respect to the anode overvoltage, in operation 850, the SCLG determines whether the predicted anode overvoltage AOP(k+N) violates its constraint.
number
number
[0097]
number
number
[0098]
number
[0099] The charge current constraint is used by the optimizer in conjunction with the SOC(error) to generate a charge current magnitude that passes through the signal builder and / or charger and becomes the charge current.
[0100] In the operation of the SCLG shown in Fig. 8, it should be recognized that the update of the charging current constraint does not necessarily change at each time step during charging or at the evaluation horizon N. For example, when the predictions 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 for the next N time steps in the actual charging. The SCLG can be configured to be inactive for some number of N time steps, which reduces the computational cost, power consumption, etc., or enables a lower-cost processor to execute various techniques more slowly over a relatively longer time horizon. However, when the SCLG actually updates the current input constraint at some time step k, the next time step at which the SCLG should become active 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) in order to leave sufficient robustness for the MPC. The control parameter P is referred to as the number of backsteps.
[0101] 9A and 9B illustrate the operation of an MPC according to the method of FIG. 8. The illustrated MPC charging operation only shows changes based on predicted anode overvoltage. In the top diagram (FIG. 9A), fast charging of a 30T lithium-ion battery is shown over a 1600-second period. The initial charge rate is set to a 3C rate in the illustrated example. This similarly sets I(k), or initializes I(k) at the beginning of charging, to the charge current associated with 3C for the battery cell. Charging is considered “fast” because it is occurring at a charge rate of approximately 3C, and therefore at a charge current that exceeds the specified current for the battery, typically specified as 0.5C or 1C; therefore, charging is occurring over a period of only 1600 seconds; whereas charging at a 1C rate would typically occur over a much longer period of 1 hour, or a 0.5C rate would occur over a 2-hour period. Fast charging is sometimes considered anything above 0.5C or 1C, although other definitions are possible. The charging currents to achieve the various "C" rates involved in any of these examples will depend on the battery type and other factors.
[0102] In FIG. 9A, it can be seen that the charging current, referred to as I(k), is 9 amps for the first 800 seconds. At 800 seconds, the current control / charging current tapers off from its upper charging current value of 9 amps. During the first 800 seconds, charging is occurring at a steady 9 amps (thus, the MPC did not adjust the current). Referring to FIG. 9B, it can be seen that the MPC predicted the anode overpotential within the constraint, starting relatively high at about 0.45 at the beginning of charging, decreasing to about 0.05 over the first 200 seconds, and remaining above 0 until about 800 seconds, thus satisfying the constraint. Therefore, and as noted above, at the charging current, the predicted anode overpotential satisfies its constraint (>0 V), so the MPC does not modify the charging current. Therefore, at the “fast” charging rate, the SOH is not degraded during the first 800 seconds (at least because SOH is related to and correlates with the anode overpotential).
[0103] 9A and 9B, it can be seen that as the anode overvoltage approached its constraint at 0 volts at 800 seconds, the MPC reduced the charge current (initial ramp-down 900A in FIG. 9A), which caused the predicted anode overvoltage to increase 900B, causing it to remain above its lower constraint. As charging continued at the reduced charge current (8 amperes), the anode overvoltage again began to approach 0, and the MPC repeatedly reduced the current in subsequent steps (910A-940A) as the anode overvoltage approached its constraint, resulting in the predicted anode overvoltage (910B-940B) in each corresponding step increasing above the constraint threshold. Near the end of charging, the current ramps down to 4 A, and the anode overvoltage remains above 0 from approximately 1150 seconds until approximately 1350 seconds, when the anode overvoltage again approached 0. Although not shown, this end of the sequence may be indicated or triggered by a rise in terminal voltage. For example, the end of a "constant volage" charging sequence may be initiated when the measured feedback terminal voltage reaches its constraint, e.g., 4.2 V for an exemplary 30T cell. When this occurs, a separate PID may take over after the MPC until charging is complete.
[0104] Here, the charge current may be continuously reduced in an attempt to maintain the terminal voltage and until the end of charge, shown here at 1600 seconds. As mentioned above, the end of the charge sequence may be managed by the MPC, or it may be a process within the MPC or a separate controller. The end of charge may be triggered by some lower current value, a measured threshold voltage, or other criteria. It appears that the MPC managed the charge current in a manner that maintains the anode overpotential above zero by tapering the charge current. As mentioned above, the charge current at any of the various steps may be defined through the two-minute technique. In such a charging situation, charging may proceed in a manner that minimizes lithium plating, which optimizes the lithium available for battery charging and discharging and has various benefits described herein, including maintaining battery cycling capacity and overall battery safety and efficiency.
[0105] In some possible examples, the constant voltage phase is initiated only when the measured terminal voltage, or so-called "actual voltage," reaches or exceeds its constraint (e.g., 4.2 volts). In MPC operation, a voltage prediction is made at the beginning of each current constraint update process (e.g., the method of FIG. 8). This prediction may result in a high terminal voltage (higher than its threshold), which in turn triggers an update of the prediction horizon N for the current time. All variables calculated by the prediction are not actually measured, but are only in the "future prediction" that exists only in the MPC's calculation memory. Therefore, whenever the MPC is predicting voltage, and whatever the prediction result, the actual terminal voltage is still below its threshold, and the "constant voltage" sequence has not yet begun.
[0106] 9A and 9B, the MPC tracked and managed the charge rate, and the predicted anode overpotential was kept positive during the charging process. Although not shown, the MPC could also use the predicted temperature to manage the charge with similar results.
[0107] Figure 12 shows an alternative model predictive controller architecture, which may be thought of as a model predictive control (MPC) system. The example MPC of Figure 12 is similar to the example of Figure 7 described above, with many blocks having the same functionality as described above, with the differences in the method described with respect to Figure 13, including the added ability to control additional charge signal attributes. Here, as with the techniques of Figures 7 and 8, the evaluator 1216 will receive as inputs the predicted anode overvoltage (AOP(k+N)), predicted temperature, predicted voltage (V(K+N)), and state of charge (SOC(k)), and will calculate the SOC(err) and current constraints.
[0108]
number
[0109] 12 at current time step k can be described as a loop: from battery 1202, the system receives measured temperature T(k), measured terminal voltage V(k), and current control input I(k-1) of the previous time step, along with additional charge signal parameters from the previous time step, such parameter ep(k-1) related to edge time, and parameter cp(k-1) related to body time (described in more detail below); controller 1200 processes the received signals, along with state-of-charge tracking information, to generate a control input command I(k), which is the magnitude of the arithmetic average current at the current time step k, and also generates additional charge signal information ep(k) and cp(k) based on its constraints; charger 1218 receives commands I(k), ep(k), and cp(k), generates actual current control signals, and sends them to battery 1202 as the charge current. The control signal is also based on a predicted anode overvoltage, a predicted temperature, and an estimate of the state of charge.
[0110] The MPC system includes an evaluator 1216 that processes the predicted anode overvoltage AOP(k+N), predicted temperature T(k+N), and estimated state of charge SOC(k). In one possible implementation, the evaluator may also receive or otherwise use a reference SOC, which may be set or derived from a charge rate command or setting, a temperature limit (or temperature range), a charge rate, or other value, and / or a capacity range, where this information is preset, received from a user interface, or received or accessed from some other component (e.g., the system or environment in which the MPC is operating). AOP(k+N) and T(k+N) represent the predicted anode overvoltage and predicted temperature over a prediction horizon N, and SOC(k) indicates the estimated SOC at the current time step k. The evaluator may include two functions: (1) determining or assessing the SOC tracking error, which may be managed by a tracking controller portion of the evaluator, and (2) updating the charge current control input constraints in real time. For (1), a comparison may be made between the estimated SOC, SOC(k), and the reference SOC, and the difference may be calculated. For (2), a signal constraint rule generator (SCLG), which may be a separate functional block of the evaluator, generates current constraints based on the predicted anode overvoltage and predicted temperature assessed against their respective constraints, which may also consider the predicted battery voltage assessed against the constraints. The SCLG also generates additional charge signal constraints, e.g., ep and cp, that are used in addition to the current constraints to generate the charge signal and waveform applied to the battery.
[0111] The MPC also includes an optimizer 1210, which may be an MPC core that achieves SOC tracking in an optimal manner while taking into account current and / or SOC constraints from the evaluator. In one example, the optimizer 1210 considers real-time current input constraints,
number
number
number
[0112] The optimizer 1210 finally provides the first values of the future control sequence, i.e., I(k), as well as ep(k) and cp(k), as control input commands for the current time step k, and simply sends them to the signal builder 1214, which generates the charging signal alone or in combination with the charger 1218.
[0113] The predictor 1212 receives T(k), V(k) from the battery 1202, and the SCLG, or more generally, the adjusted future control input current constraint sequence from the evaluator.
number
number
[0114] The predictor 1212 also receives T(k), V(k) from the battery 1202, and the adjusted future current constraint sequence from the SCLG.
number
number
number
[0115] The battery SOC estimator, which may also be implemented within the predictor 1212 or may be a separate component 708, estimates the SOC for the current time step k by applying the measured T(k), V(k) from the 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) may be used for the battery SOC estimator 1208.
[0116] In addition to the shape of the rising edge of the charging signal (described with respect to FIG. 1 ), embodiments of the present disclosure may include a system that can also generate a shaped charging signal with controlled current magnitude, rest 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 rest time (RT). The edge time parameter represents the rising edge of the charging waveform between the start of the charging current, which may initially be 0 amperes but can also be any non-zero value, and when the charging current reaches a steady-state charging current, which is also the time when the body time begins. The rising edge of the edge time may be sinusoidally shaped, or an approximation thereof, as shown, and defined based on ET.
[0117] Note that for techniques described with respect to FIG. 1, FIG. 12, or others, the rising edge can also be one or more linear segments as shown in FIG. 2B, which also shows a waveform with a similar ET, a longer BT, a shorter RT, and a shorter duty cycle compared to the waveform shown in FIG. 2A. The rising edge can be in the form of or approximate the shape of a sinusoid (half of 180 degrees) at some frequency of a sine wave (or cosine wave), or can otherwise be approximately shaped to the shape of such a rising edge of a sine wave. Furthermore, as described above and shown in FIG. 2B, the shaped rising edge can be formed of linear segments that collectively approximate the sinusoidal rising edge 210. In such a configuration, the first linear segment 210A increases the voltage relatively slowly (which may also correlate with an increase in charging current) compared to, for example, a square pulse in which there is an immediate, sharp increase in voltage and charging current around 90 degrees, approximating a very high-frequency sine wave. The following linear segments 210B-210E are linear approximations of the shaped rising edge that are included / retained for comparison within the first charging signal period and not included within the second charging signal period. For comparison purposes, the pause period 230 in Figure 2B is relatively shorter than the pause period in Figure 2A. The total charging period of the two charging signals, including both the period of rising edge 210 and the period of body 220, is also, again for comparison purposes, relatively longer in Figure 2B compared to Figure 2A.
[0118] In one example, the rising edge shape is based on a determination of the edge time (ET). There are various well-known mathematical relationships between the magnitude (x) and time (t) of a sinusoid that can be used to determine the frequency. The system can then generate a rising edge shape based on that frequency, as described hereinabove. As further described hereinabove, the system can generate various approximations of such a shape, which may include one or more linear segments that collectively approximate the sinusoidal frequency.
[0119] Similar MPC configurations can be applied in more complex scenarios, for example, when further optimization of the charging current waveform is desired. In these cases, not only can the magnitude of the current input be adjusted, but the MPC can also modify time-related waveform parameters (edge time, body time, and pause time) in real time during charging. In such situations, the rising edge shape can also be something other than the square edge associated with a square pulse.
[0120] In one possible configuration, MPC models (e.g., anode overvoltage and temperature models) can be defined or refined through waveform parameter sensitivity analysis (WPSA), which is used to understand how time-related current waveform parameters affect battery cell charging response (cell temperature, anode overvoltage, charging voltage, etc.). The principle of WPSA is to repeat numerical simulations of the battery cell charging process with different combinations of current waveform parameters and compare the simulated cell responses. All numerical simulations can be performed using the PyBaMM model or multiple models. In each WPSA simulation test, the charging current input is set to a charging waveform having a sequence of charging signals, each with an arithmetic mean current, edge time, body time, and dwell time. The charging signals can also have some rising shape, which may be a function of the edge time. The average or arithmetic mean current can be of the active portion of the charging signal (edge time and body time) or can include the dwell time and, therefore, the entire duty cycle of any charging signal.
[0121] In one example, the following charging signal variables are defined: Wave Time (t_wave): t_wave = Edge Time + Body Time + Dwell Time. Many possible values are possible, but for purposes of helping to explain the overall concepts of this disclosure, an example of one possible t_wave could be 1 ms. Edge time fraction (ep): ep = edge time / (edge time + body time). Many possible values are possible, but for the purposes of helping to explain the overall concepts of this disclosure, an example of one possible ep could be 0.5. ● Charging time fraction (cp): cp = (edge time + body time) / t_wave. Many possible values are possible, but for purposes of helping to explain the overall concepts of this disclosure, one possible example of cp could be 0.6.
[0122] Using the above examples of t_wave, ep, and cp, the charging signal portion of the charging wave has an edge time of 0.3 ms, which translates to a body time of 0.3 ms and an edge frequency of 1666.7 Hz at a 1 kHz duty cycle for the repeating charging signal. In one possible example where the rising edge is shaped, the edge is a half period of a cosine waveform, and therefore the frequency for defining the rising edge shape is 1 / (2*T_wave*cp*ep). The parameter t_wave reflects the current waveform frequency, and the concept of relativity of ep and cp provides the advantage of reduced complexity on the time scale for time-related waveform parameters.
[0123] A comparison of WPSA simulations can be seen in FIGS. 10A-10C, where various charging signals are shown and how modifying variables (ep, cp, and t_wave in FIGS. 10A-10C, respectively) affects the charging signal characteristics of edge time, body time, duty cycle, and pause time, and in FIGS. 11A-11C, where it can be seen how anode overvoltage is controlled and affected by modifying various parameters (modifying ep, cp, and t_wave in FIGS. 11A-11C, respectively) to form different charging signals. FIGS. 10 and 11 are simulations and MPC operations for a 30T type lithium-ion battery at a temperature of 15C, 50% SOC, and 3C charge rate, with various other attributes as shown. Observing the simulations, we can see how MPC can implement methods and run models to adjust various parameters of the charging signal to affect whether a battery can be charged while maintaining an anode overpotential above 0 volts, and what changes are effective in correcting the anode overpotential or avoiding harmful operation. FIG. 10A shows how e changes the charging signal shape; the plot shows that when e is smaller, the current waveform is shorter and the shape of the single waveform is more rectangular. FIG. 11A shows how relatively smaller e values are more effective in avoiding an anode overpotential below 0. For example, an e of 0.5 or 0.6 produces an anode overpotential of approximately −0.01 or −0.02, whereas e of 0.3, 0.1, and 0.05 produce an anode overpotential above 0. Similarly, Figures 10B and 10C show how the charge signal is reshaped by cp and t_wave, respectively, and Figures 11B and 11C show how the anode overvoltage is affected by modifying cp and t_wave.Although not shown, modification of the charging signal parameters may also modify the terminal voltage and predicted temperature during charging, and such parameter changes may be made to maintain hard and / or soft constraints.
[0124] According to the simulation shown, the influence of all time-related waveform parameters on the anode overvoltage is cp>ep>t_wave Therefore, the cp parameter has the greatest effect on anode overvoltage, and the t_wave parameter has the least effect. In some embodiments, to simplify the deployment of a charging system that uses an MPC to manage a shaped charging waveform, the evaluator may be tailored to manage and modify the 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) t_wave does not affect anode overvoltage as significantly as other waveform parameters, and (2) due to limitations in the ability of the signal builder and / or charger to generate a waveform with a sequence of charging signals, the waveform frequency may be limited only within a relatively small range, depending on the application. Of course, it would also be possible to deploy a configuration in which only one of the other two parameters is similarly modified while one of the other two parameters is fixed. For example, ep and t_wave could be fixed because cp has the greatest effect on anode overvoltage. Although the discussion here focuses on anode overvoltage, the same balancing and optimization considerations can be applied to temperature (or other constraints such as voltage), either alone or in combination with an anode overvoltage constraint.
[0125] Like the controlled current MPC described with respect to Figures 7 and 8, the shaped charging waveform implementation of the MPC aims to manage a desired SOC / charge rate while constraining cell temperature and anode overvoltage under their limits. Thus, there are various components of the MPC of Figure 12, and the evaluator and / or optimizer include different methodologies for generating constraints and then using the constraints to generate a charging signal, for example, through a cost function.
[0126] Generally, the MPC solves the real-time optimal SOC / charge rate tracking problem by calculating the actual arithmetic average current magnitude I(k), waveform shape parameters cp(k) and ep(k) within their time-varying constraints. Furthermore, the MPC uses control input signal constraints through a designed constraint update rule. Referring again to FIG. 6 , to generate a charging signal with various attributes, such as cp, ep, etc., along with approximating or otherwise generating a shaped rising edge, switch 612 or switches 612 / 614 can be controlled at respective gate signals 630 and 632 to generate a pulse at node 636. The pulse at node 636 is transformed by filter 610, which may include inductor 640, as well as capacitor 648 and inductor 642. In situations such as those described with respect to Figures 7 and 8, where charge magnitude is primarily controlled, the charge current may be controlled using the circuit shown in Figure 6, or alternatively may be generated by a variety of possible step-up or step-down topologies, depending on the available power supply and other attributes of any given charging environment.
[0127] As described above, the shaped charge signal version of MPC includes multiple control input signal constraints for the SCLG to maintain hard and / or soft constraints. For example, the SCLG may control the charge signal characteristics but maintain a predicted anode overvoltage positive. In one implementation of MPC, a PyBaMM model is applied to predict future cell response for some predetermined prediction horizon N, and a dichotomous numerical search algorithm is used to update the desired constraints and evaluate when the system can operate and satisfy the constraints.
[0128] FIG. 13 shows one possible example of a method 1300 for controlling various aspects of the charging signal to maintain constraints. The method is described with reference to the SCLG, which may be part of the evaluator shown in FIG. 12. Here, one model is shown that performs predictions of anode overpotential, voltage, and state of charge. As mentioned above, the MPC may employ separate models, or integrated models, or a combination. Thus, the MPC of FIG. 12 may include separate models as shown in FIG. 7.
[0129] In operation of the method, feedback signals (e.g., V(k), T(k)) are applied to a model (operation 1310). The model or models may be configured to require different, fewer, or more feedback signals. In addition, the model may receive or otherwise use and / or be initialized with the values of the previous current input I(k-1) and previous waveform parameters ep(k-1) and cp(k-1). The model, which may be a PyBaMM model, then predicts the battery response (V(k+N), T(k+N), and / or AOP(k+N)) at time step k+N.
[0130] The SCLG then evaluates the forecasts against constraints and proceeds to modify some aspect of the charging, such as some aspect of the charging signal, when the constraints are not met (operation 1320). The order of the forecast analysis may be modified. Similarly, according to various aspects of the present disclosure, the same, fewer, more, or different forecasts and constraints may be evaluated and managed by the MPC.
[0131] In one possible embodiment, the MPC first analyzes the predicted voltage. As noted elsewhere, this operation may, in some configurations, occur only during the constant voltage phase of charging. Similarly, the constant voltage charging phase may occur through a different control scheme or as part of a separate controller, such as a PID controller. In other alternatives, the system may not manage charging with reference to voltage.
[0132] For the predicted battery voltage V(k+N), if the predicted voltage exceeds a threshold, e.g., 4.2 volts, the SCLG reduces the prediction horizon N, returns a different predicted value, and re-evaluates the predicted voltage (operation 1330). If the predicted voltage meets its constraints, then the SCLG proceeds to analyze the predicted temperature (operation 1340) and predicted overvoltage (operation 1350). If both meet their constraints, the system adjusts the charge signal constraints.
[0133]
number
number
[0134]
number
number
[0135] If T(k+N) violates its constraint, particularly with respect to predicted temperature (operation 1340), the SCLG will then apply a bisection method to the future arithmetic mean current magnitude constraint, which is iteratively applied as described above, until the updated T(k+N) (at the updated current arithmetic mean current value) reaches its constraint.
[0136]
number
[0137] If the predicted temperature meets the constraint, the SCLG proceeds to evaluate whether the anode overvoltage meets the constraint, and if not, proceeds to modify various charge signal attributes until the constraint is met (operation 1350). As mentioned above, in one possible example, the SCLG first:
[0138]
number
number
number
[0139] More specifically, if the predicted AOP(k+N) violates the constraint, the SCLG will adjust future constraints until the new predicted anode overpotential meets the constraint or the cp constraint reaches its lower or upper bound.
number
number
[0140]
number
number
number
number
[0141]
number
number
[0142] When both the cp and ep constraints are insufficient to satisfy the AOP constraint, the SCLG attempts to reduce the future arithmetic mean current magnitude constraint to satisfy the constraint, where, in one example, the SCLG may iteratively reduce the arithmetic mean current magnitude constraint until the predicted AOP is greater than 0 volts.
[0143] At the end of the method, the updated future arithmetic 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 executes, none of these values may change, any combination may change, or all may change. In some cases, when modifying cp fails to satisfy the constraints, then:
[0144]
number
number
[0145]
number
number
number
[0146] In the flowchart of FIG.
number
number
[0147] In some examples, predicted anode overpotential and predicted temperature are described, but the system may also employ models and methods to modify charge signal attributes to manage any predicted parameters within their respective constraints, such as plated lithium concentration in the negative electrode (correlated to lithium plating), solid electrolyte interfacial (SEI) thickness (correlated to SEI growth, which may indicate battery degradation during charging), average negative particle crack length or rate (indicating particle swelling and cracking), and active material depletion. In any such situation, the model may predict battery parameters, the evaluator may evaluate the predicted parameters against the constraints, the MPC may modify the charge signal attributes (e.g., arithmetic mean current, ep, cp, t-wave, rising edge frequency, etc.), the MPC may reevaluate the predicted parameters at the modified charge signal attributes, and perform charging at whatever charge signal attributes allow the constraint(s) to be satisfied.
[0148] In the optimizer, the constraints from the evaluator and SOC(err) are optimized to generate a charge signal command to generate a charge signal having arithmetic mean current magnitudes, ep and cp, at a value of t-wave that may be fixed. As noted above, additional or different constraints may be determined and used by the optimizer. The optimizer calculates a cost function:
[0149]
number
number
number
[0150] Referring to FIG. 14 , a detailed description of an exemplary computing system 1400 having one or more computing units capable of implementing the various systems and methods described herein is provided. The computing system 1400 may be part of a controller, may be in operative communication with the various implementations described herein, may perform various operations related to the methods described herein, may run offline to process various data to characterize a battery, or may be part of an overall system described herein. The computing system 1400 may process and / or provide various signals described herein. For example, battery measurement information may be provided to such a computing system 1400. Some aspects of an MPC may be implemented by such a computing system. The computing system 1400 may also be applicable to, for example, the controllers, models, and regulation / shaping circuits described with respect to the various figures and may be used to implement the various methods described herein. It will be understood that the specific implementations of these devices may be of different possible specific computing architectures, not all of which are specifically described herein but which will be understood by those skilled in the art. It will be further understood that the computer system may be considered and / or include an ASIC, FPGA, microcontroller, or other computing configuration. Such various possible implementations may include more or fewer of the components described below, and may include interconnections and other modifications, as will be understood by those skilled in the art.
[0151] Computer system 1400 may be a computing system capable of executing a computer program product to execute a computer process. Data and program files may be input to computer system 1400, which reads the files and executes the programs therein. Some of the elements of computer system 1400 are shown in FIG. 14 , including 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 may also be included in computing system 1400 but are not explicitly shown in FIG. 14 or further described herein. The various elements of computer system 1400 may communicate with each other via one or more communication buses, point-to-point communication paths, or other communication means not explicitly shown in FIG. 14 . Similarly, in various implementations, the various elements disclosed within the system may or may not be included in any given implementation.
[0152] 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 internal level caches. There may be more than one processor 1402, whereby 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, commonly referred to as a parallel processing environment.
[0153] The described techniques in various possible combinations may be implemented, at least in part, in software that is stored on data storage device 1404, stored on memory device 1406, and / or communicated via one or more of ports 1408-1412, thereby transforming computer system 1400 in FIG. 14 into a dedicated machine for performing the operations described herein.
[0154] The one or more data storage devices 1404 may include any non-volatile data storage device capable of storing data generated or utilized within computing system 1400, such as computer-executable instructions for performing computer processes, which may include instructions for both application programs and an operating system (OS) that manages various components of computing system 1400. Data storage devices 1404 may include, but are not limited to, magnetic disk drives, optical disk drives, solid state drives (SSDs), flash drives, and the like. Data storage devices 1404 may include removable data storage media, non-removable data storage media, and / or external storage devices made available via wired or wireless network architectures to such computer program products, including 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 disk, flash drive, and the like. Examples of non-removable data storage media include internal magnetic hard disk, SSD, and the like. The 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.).
[0155] A computer program product embodying mechanisms for implementing the systems and methods according to the described technology may reside in the data storage device 1404 and / or the memory device 1406, which may be referred to as a machine-readable medium. It will be understood that a machine-readable medium capable of storing or encoding instructions for performing any one or more of the operations of the present disclosure for execution by a machine, or capable of storing or encoding data structures and / or modules utilized by or associated with such instructions, may include any tangible, non-transitory medium. A machine-readable medium may include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more executable instructions or data structures.
[0156] In some implementations, computer system 1400 includes one or more ports, such as input / output (I / O) port 1408, communication port 1410, and subsystem port 1412, for communicating with other computing, network, or vehicle devices. It will be understood that ports 1408-1412 may be combined or separate, and that more or fewer ports may be included within computer system 1400. I / O port 1408 may be connected to I / O devices or other devices through which information is input to or output from computing system 1400. Such I / O devices may include, but are not limited to, one or more input devices, output devices, and / or environmental transducer devices.
[0157] In one implementation, the input device converts human-generated signals, such as a human voice, physical movement, physical touch or pressure, and / or the like, into electrical signals as input data into the computing system 1400 via the I / O port 1408. In some examples, such input may be separate from the various systems and methods described with respect to previous figures. Similarly, the output device may convert electrical signals received from the computing system 1400 via the I / O port 1408 into signals that can be sensed or used by the various methods and systems described herein. The input device may be an alphanumeric input device, including alphanumeric and other keys for communicating information and / or command selections to the processor 1402 via the I / O port 1408.
[0158] Environmental transducer devices convert one form of energy or signals into another for input into or output from computing system 1400 via I / O ports 1408. For example, electrical signals generated within computing system 1400 may be converted into signals of another form, and / or vice versa. In one implementation, environmental transducer devices sense properties or aspects of the environment local to or remote from computing device 1400, such as battery voltage, open circuit battery voltage, charging current, battery temperature, light, sound, temperature, pressure, magnetic field, electric field, chemical properties, and / or the like.
[0159] In one implementation, communications port 1410 may be connected to a network through which computer system 1400 may receive network data useful for implementing the methods and systems described herein and transmit information and network configuration changes determined thereby. For example, charging protocols may be updated, battery measurements or calculated data may be shared with external systems, etc. Communications port 1410 connects computer system 1400 to one or more communications interface devices configured to transmit and / or receive information between computing system 1400 and other devices via one or more wired or wireless communications networks or connections. Examples of such networks or connections include, but are not limited to, Universal Serial Bus (USB), Ethernet, Wi-Fi, Bluetooth, Near Field Communication (NFC), Long-Term Evolution (LTE), etc. One or more such communication interface devices may be utilized via communication port 1410 to communicate with one or more other machines directly over 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), fifth generation (5G)) network, or through another communication means.
[0160] Computer system 1400 may include a subsystem port 1412 for communicating with, controlling the operation of, and / or exchanging information between computer system 1400 and one or more subsystems of a device being charged in accordance with the methods and systems described herein. Examples of such subsystems of a vehicle include, but are not limited to, motor controllers and systems, battery control systems, and others.
[0161] 14 is merely one possible example of a computer system that may employ or be configured in accordance with aspects of the present disclosure. It will be understood that other non-transitory, tangible, computer-readable storage media that store computer-executable instructions for implementing the techniques of the present disclosure on a computing system may also be utilized.
[0162] Embodiments of the present disclosure include various steps described herein. The steps may be performed by hardware components or may be embodied in machine-executable instructions that can be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the steps. Alternatively, the steps may be performed by a combination of hardware, software, and / or firmware.
[0163] Various modifications and additions can be made to the exemplary embodiments described above without departing from the scope of the present invention. For example, while the embodiments described above, also referred to as implementations or examples, refer to particular features, the scope of the present invention also includes embodiments having different combinations of features and embodiments that do not include all of the features described above. Accordingly, the scope of the present invention is intended to encompass all such alternatives, modifications, and variations, together with all equivalents thereof.
[0164] While specific implementations are described, it should be understood that this is done for illustrative purposes only. Those skilled in the art will recognize that other components and configurations can be used without departing from the spirit and scope of the present disclosure. Therefore, the following description and drawings are illustrative and should not be construed as limiting. Numerous specific details are set forth 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. References to one or an embodiment in this disclosure can be references to the same embodiment or any embodiment, and such references mean at least one of the embodiments.
[0165] Reference to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described with respect to an embodiment is included in at least one embodiment of the present disclosure. The appearances of the phrase "in one embodiment," or similarly "in one example" or "in one instance" in various places throughout this specification do not necessarily all refer to the same embodiment, nor do separate or alternative embodiments mutually exclude other embodiments. Furthermore, various features are described that may be exhibited by some embodiments and not by others.
[0166] The terms used herein generally have their ordinary meaning in the art within the context of this disclosure and in the specific context in which each term is used. Alternative terms and synonyms may be used for any one or more of the terms described herein, and no special significance should be attached to whether the term is detailed or explained herein. In some cases, synonyms for particular terms are provided. The description 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 term described herein, is merely illustrative and is not intended to further limit the scope and meaning of the present disclosure or of any exemplary term. Similarly, the present disclosure is not limited to the various embodiments provided herein.
[0167] Without intending to limit the scope of the present disclosure, examples of instruments, devices, methods, and their related results according to embodiments of the present disclosure are given below. It should be noted that headings or subheadings may be used in the examples for the convenience of the reader, but this should not limit the scope of the present disclosure in any way. Unless otherwise defined, technical and scientific terms used herein have the meanings commonly understood by those skilled in the art to which the present disclosure pertains. In the event of any conflict, the present document, including definitions, shall control.
[0168] Additional features and advantages of the present disclosure will be set forth in the description which follows, and in part will be obvious 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 instruments 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 as described herein.
Claims
1. A battery controller, a processing unit, a first model that receives battery voltage measurements and battery current measurements and generates a predicted state of charge for the battery; a second model that receives the battery voltage measurements and the battery current measurements and generates a predicted battery temperature; a third model that receives the battery voltage measurements and the battery current measurements and generates a frequency based on an impedance estimate based on the battery voltage measurements and the battery current measurements; a processing unit including computer-executable instructions for: Equipped with The controller for the battery, wherein the processing unit further includes computer-executable instructions for generating a control for 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 of claim 1 further comprising a fourth model that generates a state of health metric from the impedance assessment.
3. 3. The controller for a battery of claim 2, wherein the impedance estimate includes an equivalent circuit model of the battery, the circuit model including an R value representing a battery cell bulk resistance, and the state of health metric is based on the R value.
4. The controller of claim 3 , wherein the fourth model is a neural network that receives component values from the equivalent circuit, the neural network generating the state of health metric.
5. The battery controller of claim 1 , wherein the processing unit further comprises computer-executable instructions for accessing pre-established battery charging constraints to generate the charging signal.
6. The battery controller of claim 5 , wherein the pre-established battery charging constraints are set through a user interface.
7. The battery controller of claim 5 , wherein the pre-established battery charging constraints are weighted.
8. 6. The battery controller of claim 5, wherein the pre-established battery charging constraints are either soft constraints that can be violated or hard constraints that cannot be violated.
9. 6. The controller for a battery of claim 5, wherein the pre-established battery charging constraints include one or more of a battery temperature constraint, a charging rate constraint, a state of charge constraint, a battery capacity constraint, and a battery health constraint.
10. 10. The battery controller of claim 1, wherein the processing unit further comprises computer-executable instructions for generating an arithmetic average current for the charging signal.
11. 11. The battery controller of claim 10, wherein the first model further receives the arithmetic average current and the second model further receives the arithmetic average current.
12. 10. The battery controller of claim 1 , operably coupled to a charger, the charger including a switch operably coupled to an inductor operably coupled to the battery, the switch generating a sequence of pulses in the inductor to form the charging signal based on the control for the charging signal.
13. 2. The battery controller of claim 1, wherein the frequency-based charging signal defines a shaped rising edge of the charging signal.
14. 13. The battery controller of claim 12, operably coupled to a charger, the charger including a switch operably coupled to an inductor operably coupled to the battery, the switch generating a pulse sequence in the inductor to form the shaped rising edge of the charging signal based on the control for the charging signal.
15. 13. The controller for a battery of claim 12, wherein the computer-executable instructions for generating a control for a charging signal based on the predicted state of charge of the battery, the predicted battery temperature, and the frequency are configured to generate an arithmetic average current of the charging signal based on executing a cost function.
16. The cost function is J = w SOC *J 1 (I) 2 + w T *J 2 (I) 2 , and J1 = SOC expected - SOC(K+1) J2 = T expected - T(k+1) 16. The battery controller of claim 15, wherein:
17. A battery controller, a processing unit, a battery state of charge model that receives battery parameters and generates a predicted state of charge for the battery; a battery temperature model that receives the battery parameters and generates a predicted battery temperature; an impedance model that receives the battery parameters and generates a frequency based on an impedance evaluation using the battery parameters; a processing unit including computer-executable instructions for: The controller for a battery, wherein 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.
18. The controller for a battery of claim 17 further comprising a fourth model that generates a state of health metric from the impedance assessment.
19. 20. The controller for a battery of claim 18, wherein the impedance estimate includes an equivalent circuit model of the battery, the circuit model including an R value representing a battery cell bulk resistance, and the state of health metric is based on the R value.
20. 20. The battery controller of claim 17, wherein the processing unit further comprises computer executable instructions for accessing pre-established battery charging constraints to generate the charging signal.
21. 21. The battery controller of claim 20, wherein the pre-established battery charging constraints are set through a user interface.
22. 21. The battery controller of claim 20, wherein the pre-established battery charging constraints are weighted.
23. 21. The battery controller of claim 20, wherein the pre-established battery charging constraints are either soft constraints that can be violated or hard constraints that cannot be violated.
24. 21. The controller for a battery of claim 20, wherein the pre-established battery charging constraints include one or more of a battery temperature constraint, a charge rate constraint, a state of charge constraint, a battery capacity constraint, and a battery health constraint.
25. 20. The battery controller of claim 17, wherein the processing unit further comprises computer-executable instructions for generating an arithmetic average current for the charging signal.
26. 26. The controller for a battery of claim 25, wherein the battery state of charge model further receives the arithmetic average current, and the battery temperature model further receives the arithmetic average current.
27. 20. The controller for a battery of claim 17, further comprising a charger, the charger including a switch operably coupled with an inductor operably coupled with the battery, the switch generating a sequence of pulses in the inductor to form the charging signal based on the control for the charging signal.
28. 20. The controller for a battery of claim 17, wherein the battery parameters include at least one of a battery current measurement, a battery voltage measurement, or a battery temperature measurement.
29. 1. A method of charging a battery, comprising: using a processor to predict battery parameters based on the battery attribute measurements and the controllable charging signal parameters; generating constraints for the controllable charging signal parameters when the predicted battery parameters do not satisfy parameter constraints; executing a cost function based on the constraints on the controllable charging signal parameters to modify the controllable charging parameters; generating a charging signal for charging the battery, the charging signal being based on the modified controllable charging parameter.
30. 30. The method of claim 29, wherein the predicted battery parameter is not otherwise directly measured.
31. 30. The method of claim 29, wherein the predicted battery parameter is at least one of a predicted battery temperature, a predicted anode overvoltage, or a predicted state of charge.
32. 30. The method of claim 29, wherein the predicted battery parameter is at least one of a plated lithium concentration in the negative electrode, a solid electrolyte interface (SEI) thickness, an average negative particle crack length, or active material loss.
33. 30. The method of claim 29, wherein predicting the battery parameters uses a model, the model receiving the battery attributes, the battery attributes being at least one of battery charging current, battery voltage, battery temperature, or state of charge.
34. 34. The method of claim 33, wherein the model is a Python battery mathematical modeling model.
35. 35. The method of claim 34, wherein predicting the battery parameter is further based on at least one of the following charging signal attributes: edge time, body time, and average current.
36. 30. The method of claim 29, wherein generating the constraints on the controllable charge signal parameters comprises iterating charge signal constraints using a dichotomy method to cause at least one of a predicted battery parameter of anode overvoltage to be greater than 0 volts or a predicted temperature to satisfy a temperature threshold.
37. 36. The method of claim 35, wherein the controllable charging parameters further include at least one parameter based on edge time, body time, average current, or dwell time.
38. 36. The method of claim 35, wherein generating the charging signals comprises generating a repeating sequence of charging signals, each charging signal comprising at least one of an edge time, a body time, and an average current.
39. 36. The method of claim 35, wherein generating the charging signal includes shaping a rising edge of the repetitive charging signal based on the edge time.
40. 40. The method of claim 39, wherein the shaped rising edge is based on a frequency determined from the edge time.
41. The cost function is [Equation 1] where: N p is the MPC prediction horizon for the SOC tracking error, N c is the MPC prediction horizon for the control input, [Equation 2] and [Equation 3] are the weights for the SOC tracking error and the control input, respectively; I ref 30. The method of claim 29, wherein (k) is a desired or reference current charge rate.
42. The cost function is [Equation 4] where: N p is the MPC prediction horizon for the SOC tracking error, N c is the MPC prediction horizon for the control input, [Equation 5] and [Equation 6] are the weights for the SOC tracking error and the control input, respectively; I ref 30. The method of claim 29, wherein (k) is a desired or reference current charge rate.