Batteries are used in a wide variety of electronic and electrical devices. It is desirable to be able to estimate the internal state of a battery, including a state-of-charge (SOC). The SOC is a value that indicates the present available capacity of the battery that may be used to do work.
Mathematical algorithms have been utilized to determine a state of a battery. The inventor herein, however, has recognized that the mathematical algorithms have been unable to provide a highly accurate estimate of an internal state of a battery because they are not sufficiently optimized for batteries having non-linear operational characteristics. Since batteries generally have non-linear operational characteristics, a more accurate method is needed.
Accordingly, the inventor herein has recognized a need for a system and a method for more accurately determining an estimated battery state.
A method for determining an estimated battery state vector indicative of a state of a battery at a first predetermined time in accordance with an exemplary embodiment is provided. The method includes determining a first plurality of estimated augmented battery state vectors that are indicative of a state of the battery, a battery input noise, a sensor noise, an uncertainty of the state of the battery, an uncertainty of the battery input noise, and an uncertainty of the sensor noise at a second predetermined time prior to the first predetermined time. The method further includes determining a second plurality of predicted battery state vectors that are indicative of the state of the battery and an uncertainty of the state of the battery at the first predetermined time based on the first plurality of estimated augmented battery state vectors. The method further includes determining a third plurality of predicted battery output vectors that are indicative of at least one output variable of the battery and an uncertainty of the output variable at the first predetermined time based on the first plurality of estimated augmented battery state vectors and the second plurality of predicted battery state vectors. The method further includes determining a first battery output vector having at least one measured value of a battery output variable. The method further includes determining a first estimated battery state vector indicative of the state of the battery at the first predetermined time based on the second plurality of predicted battery state vectors, the third plurality of predicted battery output vectors, and the first battery output vector.
A system for determining an estimated battery state vector indicative of a state of a battery at a first predetermined time in accordance with another exemplary embodiment is provided. The system includes a sensor configured to generate a first signal indicative of an output variable of the battery. The system further includes a computer operably coupled to the sensor. The computer is configured to determine a first plurality of estimated augmented battery state vectors that are indicative of a state of the battery, a battery input noise, a sensor noise, an uncertainty of the state of the battery, an uncertainty of the battery input noise, and an uncertainty of the sensor noise at a second predetermined time prior to the first predetermined time. The computer is further configured to determine a second plurality of predicted battery state vectors that are indicative of the state of the battery and an uncertainty of the state of the battery at the first predetermined time based on the first plurality of estimated augmented battery state vectors. The computer is further configured to determine a third plurality of predicted battery output vectors that are indicative of an at least one output variable of the battery and an uncertainty of the output variable at the first predetermined time based on the first plurality of estimated augmented battery state vectors and the second plurality of predicted battery state vectors. The computer is further configured to determine a first battery output vector based on the first signal. The computer is further configured to determine a first estimated battery state vector indicative of the state of the battery at the first predetermined time based on the second plurality of predicted battery state vectors, the third plurality of predicted battery output vectors, and the first battery output vector.
An article of manufacture in accordance with another exemplary embodiment is provided. The article of manufacture includes a computer storage medium having a computer program encoded therein for determining an estimated battery state vector indicative of a state of a battery at a first predetermined time. The computer storage medium includes code for determining a first plurality of estimated augmented battery state vectors that are indicative of a state of the battery, a battery input noise, a sensor noise, an uncertainty of the state of the battery, an uncertainty of the battery input noise, and an uncertainty of the sensor noise at a second predetermined time prior to the first predetermined time. The computer storage medium further includes code for determining a second plurality of predicted battery state vectors that are indicative of the state of the battery and an uncertainty of the state of the battery at the first predetermined time based on the first plurality of estimated augmented battery state vectors. The computer storage medium further includes code for determining a third plurality of predicted battery output vectors that are indicative of at least one output variable of the battery and of an uncertainty of the output variable at the first predetermined time based on the first plurality of estimated augmented battery state vectors and the second plurality of predicted battery state vectors. The computer storage medium further includes code for determining a first battery output vector having at least one measured value of a battery output variable. The computer storage medium further includes code for determining a first estimated battery state vector indicative of the state of the battery at the first predetermined time based on the second plurality of predicted battery state vectors, the third plurality of predicted battery output vectors, and the first battery output vector.
Other systems and/or methods according to the embodiments will become or are apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems and methods be within the scope of the present invention, and be protected by the accompanying claims.
Referring to
The system 10 includes one or more voltage sensors 20, a load circuit 26, and a computational unit such as a computer 28, and may also include one or more of a temperature sensor 22, and a current sensor 24.
The voltage sensor 20 is provided to generate a first output signal indicative of the voltage produced by one or more of the battery cells of the battery 12. The voltage sensor 20 is electrically coupled between the I/O interface 46 of the computer 28 and the battery 12. The voltage sensor 20 transfers the first output signal to the computer 28. For clarity of presentation, a single voltage sensor will be described herein. However, it should be noted that in an alternate embodiment of system 10 a plurality of voltage sensors (e.g., one voltage sensor per battery cell) are utilized in system 10.
The temperature sensor 22 is provided to generate a second output signal indicative of one or more temperatures of the battery 12. The temperature sensor 22 is disposed proximate the battery 12 and is electrically coupled to the I/O interface 46 of the computer 28. The temperature sensor 22 transfers the second output signal to the computer 28. For clarity of presentation, a single temperature sensor will be described herein. However, it should be noted that in an alternate embodiment of system 10 a plurality of temperature sensors (e.g., one temperature sensor per battery cell) are utilized in system 10.
The current sensor 24 is provided to generate a third output signal indicative of a current sourced or sunk by the battery cells of the battery 12. The current sensor 24 is electrically coupled between the battery 12 and the load circuit 26. The current sensor 24 is further electrically coupled to the I/O interface 46 of the computer 28. The current sensor 24 transfers the third output signal to the computer 28.
The load circuit 26 is electrically coupled to the current sensor 24 and sinks or sources a current from the battery 12. The load circuit 26 comprises any electrical device that can be electrically coupled to the battery 12.
The computer 28 is provided for determining an estimated battery state vector associated with the battery 12, as will be explained in greater detail below. The computer 28 includes a central processing unit (CPU) 40, a read-only memory (ROM) 44, a volatile memory such as a random access memory (RAM) 45 and an input/output (I/O) interface 46. The CPU 40 operably communicates with the ROM 44, the RAM 45, and the I/O interface 46. The CPU 40 includes a clock 42. The computer readable media including ROM 44 and RAM 46 may be implemented using any of a number of known memory devices such as PROMs, EPROMs, EEPROMS, flash memory or any other electric, magnetic, optical or combination memory device capable of storing data, some of which represent executable instructions used by the CPU 40.
For purposes of understanding, the notation utilized in the equations of the following methods will be described. The circumflex symbol indicates an estimated or predicted quantity (e.g., {circumflex over (x)} indicates an estimate of the true quantity x). The superscript symbol “−” indicates an a priori estimate (i.e., a prediction of a quantity's present value based on past data). The superscript symbol “+” indicates an a posteriori estimate (e.g., {circumflex over (x)}k+ is the estimate of true quantity x at time index k based on all measurements taken up to and including time k). The tilde symbol indicates the error of an estimated quantity (e.g., {tilde over (x)}k−=xk−{circumflex over (x)}k− and {tilde over (x)}k+=xk−{circumflex over (x)}k+). The symbol Σxy=E[xyT] indicates the correlation or cross correlation of the variables in its subscript (the quantities described herein are zero-mean, so the correlations are identical to covariances). The symbol Σx indicates the same quantity as Σxx. The superscript “T” is a matrix/vector transpose operator.
Before providing a detailed discussion of the methodologies for determining a state associated with the battery 12, a general overview will be provided. The state vector may include, for example, a state of charge (SOC) value associated with the battery 12, a hysteresis voltage, or a polarization voltage. The SOC value is a value from 0-100 percent, that indicates a present available capacity of the battery 12 that may be used to do work.
A mathematical model of battery cell behavior is used in the method to compute an estimate of the state vector of the battery 12. It is assumed that a mathematical model of the battery cell dynamics is known, and may be expressed using a discrete-time state-space model comprising a state equation and an output equation, as will be described below.
The state equation utilized to determine the state vector associated with the battery 12 is as follows:
xk=f(xk−1,uk−1,wk−1,k−1)
wherein,
An output vector associated with the battery 12 is determined utilizing the following equation:
yk=h(xk,uk,vk,k)
wherein,
Referring to
At step 60, the computer 28 generates a battery input vector uk having at least one measured value of a battery input variable obtained at a first predetermined time.
Next at step 62, the computer 28 generates a battery output vector yk having at least one measured value of a battery output variable obtained at the first predetermined time.
Next at step 64, the computer 28 determines an estimated augmented battery state vector {circumflex over (x)}k−1a,+, indicative of a state of the battery at a second predetermined time prior to the first predetermined time using the equation:
{circumflex over (x)}k−1a,+=[({circumflex over (x)}k−1+)T,(E[wk−1])T,(E[vk−1])T]T
where,
Next at step 66, the computer 28 determines an estimated augmented battery state vector covariance matrix Σ{tilde over (x)},k−1a,+ associated with the estimated augmented battery state vector using the equation:
Σ{tilde over (x)},k−1a,+=diag(Σ{tilde over (x)},k−1+,Σw,Σv)
where,
Next at step 68, the computer 28 determines a plurality of estimated augmented battery state vectors Xk−1a,+ each indicative of a state of a battery at the second predetermined time using the following equation:
Xk−1a,+={{circumflex over (x)}k−1a,+,{circumflex over (x)}k−1a,++γ√{square root over (Σ{tilde over (x)},k−1a,+)},{circumflex over (x)}k−1a,+−γ√{square root over (Σ{tilde over (x)},k−1a,+)}}
where,
Next at step 70, the computer 28 determines a plurality of predicted battery state vectors Xkx,− each indicative of a state of the battery at the first predetermined time, utilizing the following equation:
Xk ix,−=f(Xk−1 ix,+,uk−1,Xk−1 iw,+,k−1)
where
Next at step 72, a computer 28 determines a plurality of predicted battery output vectors Yk each indicative of outputs of the battery at the first predetermined time, utilizing the following equation:
Yk,i=h(Xk,ix,−,uk,Xk−1,iv,+,k)
where,
Next at step 74, the computer 28 determines a predicted battery state vector {circumflex over (x)}k− corresponding to the first time by calculating a weighted average of the plurality of predicted battery state vectors Xkx,−, utilizing the following equation:
{circumflex over (x)}k−=Σi=0pαi(m)Xk,ix,−
where,
Next at step 76, the computer 28 determines a predicted battery state vector covariance matrix Σ{tilde over (x)},k−, utilizing the following equation:
Σ{tilde over (x)},k−=Σi=0pαi(c)(Xk,ix,−−{circumflex over (x)}k−)(Xk,ix,−−{circumflex over (x)}k−)T
where, αi(c) corresponds to a set of constant values.
Next at step 78, the computer 28 determines a predicted battery output vector ŷk indicative of outputs of the battery at the first predetermined time, utilizing the following equation:
ŷ
k=Σi=0pαi(m)Yk,i.
Next at step 80, the computer 28 determines a predicted battery output vector covariance matrix Σ{tilde over (y)},k, utilizing the following equation:
Σ{tilde over (y)},k=Σi=0pαi(c)(Yk,i−ŷk)(Yk,i−ŷk)T.
Next at step 82, the computer 28 determines a predicted cross-covariance matrix Σ{tilde over (x)}{tilde over (y)},k−, utilizing the following equation:
Σ{tilde over (x)}{tilde over (y)},k−=Σi=0pαi(c)(Xk,ix,−−{circumflex over (x)}k−)(Yk,i−ŷk)T.
Next at step 84, the computer 28 determines a gain matrix Lk, utilizing the following equation:
Lk=Σ{tilde over (x)}{tilde over (y)},k−Σ{tilde over (y)},k−1.
Next at step 86, the computer 28 determines an estimated battery state vector {circumflex over (x)}k+, indicative of a state of the battery at the first predetermined time, utilizing the following equation:
{circumflex over (x)}k+={circumflex over (x)}k−+Lk[yk−ŷk].
Next at step 88, the computer 28 determines an estimated battery state vector covariance matrix Σ{tilde over (x)},k+, associated with the estimated battery state vector, utilizing the following equation:
Σ{tilde over (x)},k+=Σ{tilde over (x)},k−−LkΣ{tilde over (y)},kLkT.
Next at step 90, the computer 28 selects new first and second predetermined times. After step 90, the method returns to step 60.
Referring to
At step 100, the computer 28 generates a battery input vector uk having at least one measured value of a battery input variable obtained at a first predetermined time.
Next at step 102, the computer 28 generates a battery output vector yk having at least one measured value of a battery output variable obtained at the first predetermined time.
Next at step 104, computer 28 determines an estimated augmented battery state vector {circumflex over (x)}k−1a,+, indicative of a state of the battery 12 at a second predetermined time prior to the first predetermined time using the equation:
{circumflex over (x)}k−1a,+=[({circumflex over (x)}k−1+)T,(E[wk−1])T,(E[vk−1])T]T
where,
Next at step 106, the computer 28 determines an estimated augmented battery state vector square-root covariance matrix S{tilde over (x)},k−1a,+ associated with the estimated augmented battery state vector using the equation:
S{tilde over (x)},k−1a,+=diag(S{tilde over (x)},k−1+,Sw,Sv)
where,
Next at step 108, the computer 28 determines a plurality of estimated augmented battery state vectors Xk−1a,+ each indicative of a state of a battery at the second predetermined time using the following equation:
Xk−1a,+={{circumflex over (x)}k−1a,+,{circumflex over (x)}k−1a,++γS{tilde over (x)},k−1a,+,{circumflex over (x)}k−1a,+−γS{tilde over (x)},k−1a,+}
where, γ corresponds to a constant value.
Next at step 110, the computer 28 determines a plurality of predicted battery state vectors Xkx,− each indicative of a state of the battery at the first predetermined time, utilizing the following equation:
Xk,ix,−=f(Xk−1,ix,+,uk−1,Xk−1,iw,+,k−1)
where
Next at step 112, the computer 28 determines a plurality of predicted battery output vectors Yk each indicative of outputs of the battery 12 at the first predetermined time, utilizing the following equation:
Yk,i=h(Xk,ix,−,uk,Xk−1,iv,+,k)
where,
Next at step 114, the computer 28 determines a predicted battery state vector {circumflex over (x)}k− corresponding to the first time by calculating a weighted average of the plurality of predicted battery state vectors Xkx,−, utilizing the following equation:
{circumflex over (x)}k−=Σi=0pαi(m)Xk,ix,−
where,
Next at step 116, the computer 28 determines a predicted battery state vector square-root covariance matrix S{tilde over (x)},k−, utilizing the following equation:
S{tilde over (x)},k−=qr{[√{square root over (αi(c))}(Xk,(0:p)x,−−{circumflex over (x)}k−)T]}T.
where,
Next at step 118, computer 28 determines a predicted battery output vector ŷk indicative of outputs of the battery at the first predetermined time, utilizing the following equation:
ŷk=Σi=0pαi(m)Yk,i.
Next at step 120, the computer 28 determines a predicted battery output vector square-root covariance matrix S{tilde over (y)},k, utilizing the following equation:
S{tilde over (y)},k=qr{[√{square root over (αi(c))}(Yk,(0:p)−ŷk)T]}T.
Next at step 122, the computer 28 determines a predicted cross-covariance matrix Σ{tilde over (x)}{tilde over (y)},k−, utilizing the following equation:
Σ{tilde over (x)}{tilde over (x)},k−=Σi=0pαi(c)(Xk,ix,−−{tilde over (x)}k−)(Yk,i−{tilde over (y)}k)T.
Next at step 124, the computer 28 determines a gain matrix Lk, utilizing the following equation:
Lk=Σ{tilde over (x)}{tilde over (y)},k−(S{tilde over (y)},kTS{tilde over (y)},k)−1.
Next at step 126, the computer 28 determines an estimated battery state vector {circumflex over (x)}k+, indicative of a state of the battery at the first predetermined time, utilizing the following equation:
{circumflex over (x)}k+={circumflex over (x)}k−+Lk[yk−ŷk].
Next at step 128, the computer 28 determines an estimated battery state vector square-root covariance matrix S{tilde over (x)},k+, associated with the estimated battery state vector, utilizing the following equation:
S{tilde over (x)},k+=downdate {S{tilde over (x)},k−,LkS{tilde over (y)},k},
where downdate{ } computes the matrix downdate operation on its first argument using its second argument.
Next at step 130, the computer 28 selects new first and second predetermined times. After step 130, the method advances to step 100.
The system, method, and article of manufacture for determining an estimated battery state vector indicative of the state of a battery provide a substantial advantage over other systems and methods. In particular, the system, method, and article of manufacture provide a technical effect of more accurately determining the estimated battery state vector for a battery having non-linear operational characteristics.
The above-described methods can be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The above-described methods can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into an executed by a computer, the computer becomes an apparatus for practicing the methods. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
While the invention is described with reference to the exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalent elements e may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to the teachings of the invention to adapt to a particular situation without departing from the scope thereof. Therefore, is intended that the invention not be limited the embodiment disclosed for carrying out this invention, but that the invention includes all embodiments falling with the scope of the intended claims. Moreover, the use of the term's first, second, etc. does not denote any order of importance, but rather the term's first, second, etc. are used to distinguish one element from another.
Number | Name | Date | Kind |
---|---|---|---|
4390841 | Martin et al. | Jun 1983 | A |
6353815 | Vilim et al. | Mar 2002 | B1 |
6515454 | Schoch | Feb 2003 | B2 |
6534954 | Plett | Mar 2003 | B1 |
6927554 | Tate et al. | Aug 2005 | B2 |
7061246 | Dougherty et al. | Jun 2006 | B2 |
7253587 | Meissner | Aug 2007 | B2 |
20010035739 | Laig-Horstebrock et al. | Nov 2001 | A1 |
20020130637 | Schoch | Sep 2002 | A1 |
20030052690 | Schoch | Mar 2003 | A1 |
20050046388 | Tate et al. | Mar 2005 | A1 |
20050100786 | Ryu | May 2005 | A1 |
20050127874 | Lim | Jun 2005 | A1 |
20070035307 | Schoch | Feb 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20070103120 A1 | May 2007 | US |