Systems and methods for determining the state of charge of a battery utilizing confidence values

Systems and methods to determine a state of charge (SOC) of a battery using confidence values. SOC estimations are determined using a voltage-based estimation strategy and a current-based estimation strategy. Confidence values are also generated for the voltage-based SOC estimation and the current-based SOC estimation to quantify the amount of uncertainty associated with the SOC estimations. An overall SOC estimation is determined by comparing the confidence values and selecting the SOC estimation having the least amount of uncertainty.

BACKGROUND OF THE INVENTION

The present invention relates generally to determining the state of charge of a battery, and more particularly to systems and methods determining the state of charge using confidence values.

Automotive technology is rapidly expanding in the area of finding alternatives to using gasoline as the primary source of energy in vehicle propulsion systems. Many of these advances utilize either a hybrid mechanical-electrical system that recaptures some of the mechanical energy from the combustion engine as stored electrical energy, or a fully-electric propulsion system, which eliminates the need for an internal combustion engine entirely. With these advancements, the storage and management of electrical energy in vehicles has become of particular importance.

State of charge (SOC) is a commonly-used measure of the amount of charge available in a battery relative to the battery's full capacity. In automotive applications that use fully electric or hybrid-electric propulsion systems, SOC measurements provide a useful indication of the amount of energy available to propel the vehicle. Similar to the information provided by a fuel gauge, a state of charge measurement can provide a driver of an electric vehicle with an indication of how long the vehicle may travel before running out of energy.

Traditional estimations of the SOC of a battery fall into two general categories: voltage-based approaches and current-based approaches. Voltage-based approaches typically make use of the mostly nonlinear relationship between the battery's voltage and state of charge. Measurement of a battery's voltage and knowledge of the battery's voltage-SOC profile can therefore be used to determine the present state of charge of the battery. Current-based approaches, in contrast, estimate the SOC of the battery by tracking the amount of current into and out of the battery. Integration of current measurements taken from the battery corresponds to the amount of charge that has either entered the battery or left the battery during a given span of time, leading to these techniques sometimes being referred to as “Coulomb-counting” techniques.

Voltage-based techniques suffer from a number of potential sources of error. The measured voltage of a battery is dependent on a number of factors including the temperature of the battery and the rest time of the battery relative to the battery's diffusion time constant. Another potential source of error exists for batteries that exhibit nearly flat voltage-SOC characteristics, such as with lithium-based batteries. For these types of batteries, the change in the battery's voltage with its state of charge may be very slight, making any uncertainty in the voltage measurement another potential source of error. Therefore, the tolerance of the voltage sensor itself may also be a significant source of error, for voltage-based SOC estimates.

Current-based techniques also suffer from a number of potential sources of error. A first potential problem with current-based techniques is that they rely on comparing the amount of charge into or out of the battery to an initial measurement. Therefore, inaccuracies in the initial measurement can present one potential source of error for the SOC estimate. A second potential source of error results from integrating the current readings: over time, any small amount of error present in the measurements becomes magnified by the integration process. For example, the tolerance of the current sensor may contribute to a difference between the measured and actual battery currents. This difference may continue to grow via the integration process, leading to an increasingly inaccurate estimation of the SOC over time. A third potential source of error is the battery's reference capacity itself, which depends on the temperature and lifetime of the battery. This value must be estimated, introducing additional sources of error. For example, U.S. patent application Ser. No. 13/107,171 filed May 13, 2011 entitled “SYSTEMS AND METHODS FOR DETERMINING CELL CAPACITY VALUES IN A MULTI-CELL BATTERY” discloses such an estimation technique and is assigned to the assignee of the present invention, the entirety of which is hereby incorporated by reference.

Recent efforts have been made to combine voltage-based and current-based techniques. For example, a voltage-based technique may be used when the SOC nears zero or one hundred percent, i.e., the battery is nearly empty or nearly full. When the SOC of the battery lies in the midrange, for example, between 20-90%, a current-based technique may be used to estimate the SOC. However, such a hybrid approach still suffers from the potential inaccuracies present when using either voltage-based or current-based techniques.

SUMMARY OF THE PRESENT INVENTION

In one embodiment, a method for determining a state of charge of a vehicle battery is disclosed. The method includes receiving, at a processor, sensor data indicative of a voltage, current, and temperature of the battery. The method also includes determining a first state of charge value using a voltage-based strategy on the sensor data. The method further includes calculating a first confidence value for the first state of charge value. The method yet further includes determining a second state of charge value using a current-based strategy on the sensor data. The method also includes calculating a second confidence value for the second state of charge value and comparing the first confidence value and second confidence value. The method further includes selecting between the first state of charge value and the second state of charge value based on the comparison. The method additionally includes storing the selected state of charge value in a memory as an overall state of charge value.

In another embodiment, a system for determining a state of charge of a vehicle is disclosed. The system includes an interface configured to receive sensor data from a voltage sensor, a current sensor, and a temperature sensor connected to the battery. The system also includes a voltage-based state of charge generator configured to generate a first state of charge value using a voltage-based strategy on the sensor data. The system additionally includes a voltage-based confidence value generator configured to calculate a first confidence value for the first state of charge value. The system further includes a current-based state of charge generator configured to generate a second state of charge value using a current-accumulation strategy on the sensor data. The system also includes a current-based confidence value generator configured to calculate a second confidence value for the second state of charge value. The system yet further includes a confidence value evaluator configured to compare the first confidence value and second confidence value. The system additionally includes a state of charge storage configured to store the first or the second state of charge value as an overall state of charge value, based on the comparison.

In another embodiment, a system for determining a state of charge of a vehicle battery is disclosed. The system includes a vehicle battery and temperature, current, and voltage sensors configured to measure the temperature, current and voltage of the battery, respectively. The system also includes a memory storing one or more state of charge values for the battery. The system further includes a processor coupled to the memory and configured to receive sensor data from the sensors indicative of a voltage, current, and temperature of the battery. The processor is also configured to determine a first state of charge value using a voltage-based strategy on the sensor data. The processor is further configured to calculate a first confidence value for the first state of charge value. The processor is additionally configured to determine a second state of charge value using a current-based strategy on the sensor data. The processor is also configured to calculate a second confidence value for the second state of charge value. The processor is further configured to compare the first confidence value and second confidence value. The processor is yet further configured to select between the first state of charge value and the second state of charge value based on the comparison. The processor is additionally configured to store the selected state of charge value in the memory as an overall state of charge value.

The embodiments set forth in the drawings are illustrative in nature and are not intended to be limiting of the embodiments defined by the claims. Moreover, individual aspects of the drawings and the embodiments will be more fully apparent and understood in view of the detailed description that follows.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As stated above, present techniques to determine a state of charge (SOC) for a battery are generally categorized as being voltage-based or current-based, examples of which are described in greater detail in U.S. Pat. No. 6,639,385 to Verbrugge et al., which is hereby incorporated by reference. Confidence values, according to an aspect of the present invention, allow a hybrid approach to be taken that utilizes both voltage-based and current-based techniques to calculate the state of charge. Such a hybrid approach allows a more accurate calculation of the SOC of a battery at all times, since SOC estimations determined by different techniques are constantly compared among one another.

Referring now toFIG. 1, vehicle100is shown, according to an exemplary embodiment. Vehicle100includes battery102which provides electrical power to propel vehicle100using either a hybrid-electric or a fully-electric propulsion system. Battery102may be a single battery cell, multiple battery cells, or a collection of discrete batteries working in conjunction to provide propulsion power to vehicle100. Vehicle100also includes vehicle controller104. Vehicle controller104is operatively connected to battery102and provides monitoring and control over the operation of battery102. Vehicle controller104may also monitor or control one or more other functions of the vehicle. For example, vehicle controller104may provide information about the operational state of battery102to an electronic display within vehicle100to convey the information to the vehicle's driver. Vehicle controller104may also provide control over other systems of vehicle100. For example, vehicle controller104may control the operations of the engine, the electrical system, or the exhaust system of vehicle100.

Vehicle controller104may include any number of hardware and software components. For example, vehicle controller104may include a microprocessor, an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). Vehicle controller104may also include machine instructions stored within a memory device in vehicle controller104which are capable of implementing one or more monitoring or control functions when executed by vehicle controller104. For example, vehicle controller104may include one or more non-transitory memory devices such as a RAM, ROM, EEPROM, flash memory, or any other memory capable of storing the machine instructions for vehicle controller104.

Referring now toFIG. 2, a plot of the open circuit voltage for a LiFeO4battery cell is shown as a function of the battery's SOC. In the midrange for the SOC, the open circuit voltage for the battery changes very little, leading to potential error in any SOC estimations based on voltage measurements of the battery. For example, the tolerance of the voltage sensor providing the measurements may contribute to the overall uncertainty of the actual voltage of the battery. As a further consideration, the voltage-SOC relationship is also dependent on the temperature of the battery, the rest time for the battery (e.g., when the battery is not providing or receiving charge), and the diffusion constant of the battery.

Several voltage-based techniques exist to estimate the SOC of the battery using a measured voltage. For example, an estimation of the SOC may be made by comparing a raw open circuit voltage value to a known voltage-SOC relationship. In other techniques, linear regression may be used to determine the SOC. For example, U.S. Pat. No. 7,768,233 to Lin, et al., which is also hereby incorporated by reference, discloses using an equivalent circuit model and regression techniques to determine the open circuit voltage and estimate SOC values.

A confidence value between the SOC estimation using a voltage-based technique (SOCv) and the actual SOC for the battery (SOCreal) can be determined using the following:
ΔSOCv=ƒ(VtolT,trest,τ)
where ΔSOCvis the estimated range of variation for SOCv, Vtolis the tolerance of the voltage sensor, T is the temperature of the battery, trestis the rest time of the battery, and τ is the diffusion time constant of the battery. When the battery is in a rest state (e.g., no charge is being drawn from, or added to, the battery), diffusion effects may still be present in the battery, leading to further uncertainty in the calculated open-circuit voltage for the battery, in addition to the voltage sensor's tolerance. It will be appreciated by those skilled in the art that the amount of time needed to overcome the influence of diffusion effects depends on the temperature of the battery and the diffusion constant for the battery. If the battery has been at a state of rest for a sufficient amount of time to overcome the effects of diffusion, ΔSOCvis strictly a function of the tolerance of the voltage sensor. However, if an insufficient amount of rest time has elapsed to overcome the effects of diffusion, f(T, trest, τ) may be greater than zero, thereby adding to the range of uncertainty for SOCv. Therefore, the amount of contribution of f(T, trest, τ) to ΔSOCvdecreases over time when the battery is at rest. By way of example, ΔSOCvmay decrease from 5% to 2% over the course of time, as the effects of diffusion on the battery decrease. Adding and subtracting ΔSOCvto SOCvthen provides an estimated range in which SOCreallies. The function f is derived from the Voc-SOC profile shown inFIG. 2.

When the battery is not at rest, ΔSOCvmay be a pure function of the tolerance of the voltage sensor or may also include additional considerations. For example, if the open circuit voltage of the battery is estimated during battery operation using an equivalent circuit model and a linear regression technique, the excitation level of the regression algorithm and/or noise in the discretization process may also be added to the voltage sensor's tolerance.

In an alternate embodiment, separate ΔSOCvvalues may be calculated above and below the SOCvestimate (not shown). For example, ΔSOCv—1 may define the uncertainty above SOCvand ΔSOCv—2 may define the uncertainty below SOCv. Adding ASOCv—1 to SOCvand subtracting ΔSOCv—2 from SOCvmay then provide an asymmetrical range, if ΔSOCv—1 and ΔSOCv—2 differ.

Current-based SOC estimation techniques generally operate by integrating current measurements over time to determine the amount of charge that has entered and left the battery. For example, the following equation can be used to estimate the SOC for a battery:

SOCi⁡(t)=SOCi⁡(t0)+1Cbat⁢∫t⁢⁢0t⁢(ibat⁡(t))⁢⁢ⅆt
where SOCi(t0) is an initial SOC estimation at starting time t0, Cbatis the battery's capacity in Ampere-hours, and ibat(t) is the battery current at time t.

In digital systems, the integration calculation may be approximated. For example, the following calculation may be used to determine the state of charge:

SOCi⁡(k)=SOCi⁡(k-1)+1Cbat*ibat*Δ⁢⁢t3600
where ibatis the measured current, Cbatis the battery's capacity, SOCi(k−1) is the previously calculated state of charge, and Δt is the elapse of time between the previous and current measurement of ibat.

This technique gives way to three potential sources of error. First, SOCi(0), the initial estimation of SOCi, must be accurate. If not, any deviation between SOCi(0) and SOCreal(0) will also be present in future SOCiestimations. The second potential source of error is due to potential inaccuracies in ibat(t). For example, any uncertainty in the measured value of ibatdue to the tolerance of the current sensor will become magnified over time. The third source of error is due to the battery's reference capacity Cbat, which also must be estimated. In some embodiments, a confidence range ΔCbatmay also be determined to quantify the amount of error associated with this estimation. Using the tolerance of the current sensor and/or the tolerance of the estimated capacity, a confidence value can be calculated for the current-based state of charge estimation. For example, a confidence value ΔSOC(k) can be calculated as follows:

Δ⁢⁢SOC⁡(k)=Δ⁢⁢SOC⁡(k-1)+1Cbat*itol*Δ⁢⁢t3600+-QCbat2⁢Δ⁢⁢Cbat
where itolis the tolerance of the current sensor, Cbatis the battery's capacity, ΔSOC(k−1) is the previously calculated confidence value, Q is the accumulated charge since the last initialization, ΔCbatis the tolerance of the battery's capacity and Δt is the amount of time between calculations of the confidence values. Adding and subtracting ΔSOCito SOCithen provides an estimated range in which SOreallies. Additional factors may also be included in the computation of ΔSOC(k). For example, if the current is estimated during battery operation using a linear regression technique, the excitation level of the regression algorithm may also be included. In another example, the amount of noise in the discretization process from the current measurement may be added to the current sensor's tolerance.

Referring now toFIG. 3, a plot of SOCias a function of time is shown, according to an exemplary embodiment. Also shown inFIG. 3are the plots of SOCi+/−ΔSOCi, which corresponds to the range of values in which SOCrealmay lie. As time increases, so does ΔSOCi, indicating a decrease in the certainty that SOCicorresponds to SOCreal.

In an alternate embodiment, separate ΔSOCivalues may be calculated above and below the SOCiestimate. For example, ΔSOCi—1 may define the uncertainty above SOCiand ΔSOCi—2 may define the uncertainty below SOCi. Adding ΔSOCi—1 to SOCiand subtracting ΔSOCi—2 from SOCimay then provide an asymmetrical confidence range, if ΔSOCi—1 and ΔSOCi—2 differ.

Hybrid SOC Estimation

Referring now toFIG. 4, method400for calculating a state of charge is shown, according to an exemplary embodiment. Method400utilizes a hybrid approach that includes both voltage-based and current-based SOC estimations. Method400is shown to include step402, where sensor data indicative of a voltage, current, and temperature of a battery are received at a processor. At step404, a first state of charge value is determined using a voltage-based strategy on the sensor data. For example, an open circuit voltage maybe determined by using the measured battery voltage after a sufficient rest time. This open circuit voltage can then be compared against a voltage-SOC characteristic for the battery to determine a first SOC value. Such a characteristic may be stored within the memory of the processor or in a look-up table (LUT). In other embodiments, the voltage-based strategy may be using an equivalent circuit model for the battery and utilize linear regression to determine the open circuit voltage.

At step406, a first confidence value is calculated for the first state of charge value. The confidence value may be calculated using the tolerance of the voltage sensor providing the voltage data. The confidence value may also account for the amount of rest time necessary for diffusion effects to subside in the battery by comparing the rest time, temperature data, and diffusion constant for the battery. Where diffusion effects are still present in the battery, the confidence value may be increased beyond just the uncertainty attributable to the tolerance of the voltage sensor. In other embodiments, additional factors may be included such as the amount of noise in the discretization of the voltage data measurements from the voltage sensor or, if linear regression is used to compute the first SOC value, the excitation level of the regression algorithm.

At step408, a second state of charge value is determined using a current-based strategy on the sensor data. For example, the current data from the current sensor can be integrated to determine the amount of charge that has entered or left the battery over a period of time. This difference in charge can then be used in combination with an initial SOC estimation to determine the second SOC value.

At step410, a second confidence value for the second state of charge value is calculated. The confidence value may be calculated using the tolerance of the current sensor and may also account for the amount of noise in the discretization of the voltage data measurements from the voltage sensor. Also a tolerance value from the capacity estimation may be taken into account.

At step412, the first and second confidence values are compared. For example, where the confidence values are both positive numbers, the difference between the two values can be calculated to determine which value is greater. In such a case, the smaller of the two confidence values corresponds to the SOC estimation having the lesser amount of uncertainty.

At step414, based on a comparison of confidence values, a selection is made between the first and second SOC values to select the SOC estimation having the least amount of uncertainty. In this way, the SOC estimation using the voltage-based strategy is compared to the SOC estimation using the current-based strategy. At step416, the SOC estimation that has the lower amount of uncertainty is selected as the best value currently available. If this value differs less than a certain number from the stored overall state of charge value then the selected SOC value is stored directly in a memory as an overall state of charge value. However, if the selected SOC differs more than a certain number from the stored overall state of charge, a particular method is used to perform a smooth transition from the old to the new overall state of charge value that is then stored in the memory. For this transition filtering, closed-loop control or rate limiter techniques can be applied, according to various embodiments.

Referring now toFIG. 5, method500for determining an overall state of charge of a battery is shown, according to an exemplary embodiment. Method500utilizes a hybrid approach using both voltage-based and current-based SOC estimations. Under this approach, current-based SOC estimations are utilized as the overall SOC by default, unless the voltage-based SOC estimation has a lower amount of uncertainty. In such a case, the overall SOC estimation is reset to the voltage-based SOC estimation and the current-based approach continues.

At step502, a processor utilizes a voltage-based strategy to estimate SOCv(k) and a confidence value, ΔSOCv(k), in order to initialize the system. For example, initialization may be required when the vehicle is restarted after a period of rest, at periodic intervals required by system parameters, or required in response to receiving manual input from a user input device. During initialization, ΔSOCv(k), may be calculated using
ΔSOCv(k)=ƒ(Vtol,T,trest,τ)
where ΔSOCv(k) is the estimated range of variation for SOCv(k), Vtolis the tolerance of the voltage sensor, T is the temperature of the battery, trestis the rest time of the battery, and τ is the diffusion time constant of the battery. In other embodiments, ΔSOCv(k) may also include other factors such as the discretization noise or the excitation level of a linear regression algorithm, SOCvis determined using regression. The function f is derived from the Voc-SOC profile shown inFIG. 2.

At step504, ΔSOCv(k) is compared to a previously stored confidence value ΔSOCoverall(k−1), which corresponds to the confidence in the most recent SOCoverall(k−1) estimation. Such a comparison allows the processor to leverage both the voltage-based and current-based SOC estimation strategies by determining which SOC estimation has the least amount of uncertainty.

The comparison at step504serves two distinct functions. First, current-based approaches generally require an accurate starting SOC estimation. After initialization of the system, if ΔSOCv(k) is less than ΔSOCoverall(k−1), SOCv(k) may be used as the starting SOC estimation for the current-based strategy. Second, current-based SOC estimations tend to drift away from the actual SOC over time due to their use of integration techniques. Where the system has been running for a period of time and ΔSOCv(k) is less than ΔSOCoverall(k−1), this may indicate that the current-based SOCoverall(k−1) should be reset to ΔSOCv(k).

In an alternative embodiment, asymmetric confidence ranges may be used in place of ΔSOCv(k) and ΔSOCoverall(k−1). In such a case, the overlap of the confidence ranges has to be evaluated to derive SOCoverall(k) and ΔSOCoverall(k).

At step506, if ΔSOCv(k) is less than ΔSOCoverall(k−1), SOCoverall(k−1) is set to be equal to SOCv(k) or the said techniques are applied (see [0031]). Doing so ensures that the SOC estimation with the least amount of uncertainty is always used in future current-based calculations. If SOCoverall(k−1) is reset to be equal to the voltage-based estimation SOCv(k), ΔSOCoverall(k−1) is also reset to be equal to ΔSOCv(k), to indicate the corresponding change in the amount of uncertainty in the overall SOC estimation.

At step508, a current-based SOC estimation strategy is used to determine the next overall SOC estimation, SOCoverall(k). For example, SOCoverall(k) may be estimated using:

SOCoverall⁡(k)=SOCoverall⁡(k-1)+1Cbat*ibat*Δ⁢⁢t3600
where ibatis the measured current, Cbatis the battery's capacity, SOCoverall(k−1) is the previously calculated overall state of charge value, and Δt is the elapse of time between the previous and current measurement of ibat. One skilled in the art would appreciate that any number of current-based estimations may be used to calculate SOCoverall(k).

At step508, the confidence value ΔSOCoverall(k) is also calculated. For example, ΔSOCoverall(k) may be determined using the following:

Δ⁢⁢SOCoverall⁡(k)=Δ⁢⁢SOCoverall⁡(k-1)+1Cbat*itol*Δ⁢⁢t3600
where itolis the tolerance of the current sensor, Cbatis the battery's capacity, ΔSOCoverall(k−1) is the previously calculated confidence value and Δt is the amount of time between calculations of the confidence values. In alternative embodiments, separate confidence values may be determined to define an asymmetric confidence range above and below SOCoverall(k). Such a range corresponds to the range of values most likely to include the actual SOC of the battery. A smaller range, therefore, indicates less uncertainty between the estimated SOC value and the actual SOC of the battery.

At step510, a voltage-based strategy is used to determine SOCv(k), when the system is running (e.g., after initialization). For example, a voltage-based regression technique may be used to determine SOCv(k), as disclosed in aforementioned U.S. Pat. No. 7,768,233 to Lin, et al., and in the book, “Identification of Dynamical Systems,” by Rolf Isermann and Marco Münchhof, which is also hereby incorporated by reference. In such techniques, regression analysis may be used to determine the open-circuit voltage for the battery. For example, a lithium ion battery may be modeled by the difference equation:
V(k)=−a1V(k−1)−a2V(k−2)+b0I(k)+b1I(k−1)+b2I(k−2)+(1+a1+a2)Voc
where V refers to voltage measurements taken at times k, k−1, and k−2, I refers to current measurements taken at times k, k−1, and k−2, Vocis the open-circuit voltage, and aiand biare constants.

Using a difference equation to model the battery allows calculation of the open circuit voltage, Voc, to be determined using voltage and current measurements from the battery. As noted previously, the open circuit voltage of a battery is related to its state of charge, thereby allowing SOCv(k) to also be estimated. For example, known Voc-SOC relationships may be stored in a lookup table or other non-tangible memory device and used to estimate SOCv(k).

Similarly, the confidence value ΔSOCv(k) may be used to denote the amount of uncertainty in the determination of Voc(k). For example, sources of uncertainty in the estimated open-circuit voltage may include the tolerance of the voltage sensor, the tolerance of the current sensor, the amount of noise in the discretization process, or the excitation level of the regression technique. By way of example only, if the tolerance of the voltage sensor is 3%, the corresponding effect of this variation on the estimated Voc(k) may be determined and used to compute ΔSOCv(k) by application of the Voc-SOC characteristic shown inFIG. 2.

During normal operation of the system (e.g., after initialization), SOCoverall(k), is determined in step508, using a current-based strategy. However, the confidence value ΔSOCoverall(k) is also compared to ΔSOCv(k) in step504to determine if the current-based SOC estimation has drifted over time. If the amount of uncertainty for the current-based estimation surpasses that of the voltage-based estimation, the system resets SOCoverall(k) using the voltage-based estimation and resets ΔSOCoverall(k) using the voltage-based confidence value by applying an appropriate method as described previously.

Referring now toFIG. 6, a plot of an SOC estimation determined by the method ofFIG. 5is shown as a function of time, according to an exemplary embodiment. As shown, the confidence value for the SOC estimation (e.g., “Delta”) is added and subtracted to the SOC estimation (e.g., SOCoverall) to define a range of values in which the actual SOC is likely to lie. As time progresses, the current-based estimation begins to drift due to uncertainty in the system. At times where the voltage-based estimation has less uncertainty, SOCoverallis reset to SOCvand the current-based strategy continues to be used. ΔSOCoverallis also reset to ΔSOCvto reflect that the updated overall SOC estimation now has a higher amount of certainty that it is close to the actual state of charge of the battery.

Referring now toFIG. 7, a detailed diagram of vehicle100is shown, according to an exemplary embodiment. Voltage sensor702measures the voltage of battery102and provides voltage values to interface716of controller104via bus line710. Current sensor704measures the current of battery102and provides current values to interface716of controller104via bus line712. Temperature sensor706measures the temperature of battery102and provides temperature values to interface716of controller104via bus line714.

Bus lines710,712, and714may be any combination of hardwired or wireless connections. For example, bus line710may be a hardwired connection to provide voltage readings to controller104, while bus line712may be a wireless connection to provide current readings to controller104. In some embodiments, bus lines710,712and714are part of a shared data line that conveys voltage, current, and temperature values to controller104. In yet other embodiments, lines710,712, and714may include one or more intermediary circuits (e.g., other microcontrollers, signal filters, etc.) and provide an indirect connection between sensors702,704,706and controller104.

Interface716is configured to receive the sensor data from sensors702,704and706via lines710,712, and714. For example, interface716may include one or more wireless receivers, if any of lines710,712, or714are wireless connections. Interface716may also include one or more wired ports, if any of lines710,712, or714are wired connections. Interface716may also include circuitry configured to digitally sample or filter the sensor data from702,704and706. For example, interface716may sample the voltage data received from voltage sensor702via bus line710at discrete times (e.g., k, k+1, k+2, etc.) to produce discrete voltage values (e.g., V(k), V(k+1), V(k+2), etc.).

Controller104is shown to include memory720, which may be any form of non-transitory memory capable of storing machine-executable instructions that implement one or more of the functions disclosed herein, when executed by processor104. For example, memory720may be a RAM, ROM, flash memory, hard drive, EEPROM, or any other memory device. In some embodiments, memory720includes vehicle control module722, which provides control over one or more components of vehicle100. For example, vehicle control module722may provide control over the engine of vehicle100or provide status condition information (e.g., vehicle100is low on fuel, vehicle100has an estimated number of miles left to travel based on the present SOC of battery102, etc.) to one or more display devices in the interior of vehicle100via interface718. In some embodiments, vehicle control module722may also communicate with other processing circuits (e.g., an engine control unit, an on-board diagnostics system, etc.) or other sensors (e.g., a mass airflow sensor, a crankshaft position sensor, etc.) via interface718.

Interface718may provide one or more wired or wireless connections between processor104and the various systems of vehicle100. For example, interface718may provide a wired connection between processor104and a dashboard display and a wireless connection between processor104and an on-board diagnostics system. In some embodiments, interface718may also provide a wireless connection between processor104and other computing systems external to vehicle100. For example, processor104may communicate status condition information to an external server via a cellular, WiFi, or satellite connection. Interface718may also include one or more receivers configured to send and receive location information for vehicle100. For example, interface718may include a GPS receiver or cellular receiver that utilizes triangulation to determine the location of vehicle100.

Memory720is further shown to include SOC module724, which is configured to determine and store the state of charge information for battery102. SOC module724receives battery sensor data from interface716and utilizes the sensor data to determine the present SOC of battery102. SOC module724may receive and provide the determined SOC value to vehicle control module722or to other electronic devices via interface718. For example, SOC module724may determine that the overall SOC of battery102is presently at 65% and provide an indication of this to a charge gauge in the interior of vehicle100via interface718. SOC module724may also receive one or more operating parameters via interface718from other systems or devices. For example, SOC module724may receive data corresponding to a mapping of open-circuit voltages to SOC values for battery102.

Referring now toFIG. 8, a detailed diagram of SOC module724is shown, according to an exemplary embodiment. SOC module724is shown to include battery rest timer802, Battery rest timer802checks time stamp of battery controller at off and on times and compares them to determine the rest time. In some embodiments, battery rest timer802may determine the battery rest time using one or more parameters stored in parameter storage804. For example, parameter storage804may include parameters received from other electronic systems824that indicate that the running state of the vehicle. For example, parameter storage804may receive an indication from the ignition of vehicle100via interface718whenever vehicle100is turned off or started and store one or more parameters (e.g., time stamps) related to these events.

SOC module724is also shown to include SOC_i generator814and SOC_i confidence value generator812. SOC_i generator814and SOC_i confidence value generator812receive sensor data from sensors702,704, and706via interface716. SOC_i generator uses the sensor data and a current-based SOC estimation strategy to generate an SOC_i value. For example, SOC_i generator may solve one or more difference equations that utilize a sensed current value from current sensor704, a previous SOC estimation stored in SOC storage816, a battery capacity parameter stored in parameter storage804, and time information associated with the current value, in order to generate a current-based SOC estimation.

SOC_i confidence value generator812determines a confidence value for the current-based SOC estimation generated by SOC_i generator814. For example, SOC_i confidence value generator812may solve one or more difference equations that utilize parameters stored in parameter storage804, such as a previously determined confidence value, one or more tolerance parameters, a battery capacity parameter, or time information, in order to generate one or more confidence values for the current-based SOC estimation generated by SOC_i generator814. SOC_i confidence value generator812may also use additional parameters such as the amount of discretization noise from sampling current values from current sensor704to generate the confidence value. In some embodiments, SOC_i confidence value generator812generates multiple confidence values for the current-based SOC estimation, in order to define a confidence range for the current-based SOC estimation. The one or more confidence values generated by SOC_i confidence value generator812are provided to confidence evaluator810for further evaluation.

SOC module724also includes SOC_v generator808and SOC_v confidence value generator806. SOC_v generator808and SOC_v confidence value generator806receive sensor data from sensors702,704, and706via interface716. SOC_v generator808uses the sensor data and a voltage-based SOC estimation strategy to generate an SOC_v value. SOC_v generator808may operate under one or more modes to generate a voltage-based SOC estimation. For example, SOC_v generator808may receive one or more parameters from battery rest timer802or from parameter storage804that indicate that SOC module720requires initialization (e.g., vehicle100has been restarted after a period of rest, a manual reinitialization request has been received from one or more interface devices822, etc.). During initialization mode, SOC_v generator808may determine an open-circuit voltage for battery102using sensor data received from voltage sensor702. SOC_v generator808may use the calculated open-circuit voltage and one or more voltage-SOC characteristics stored in parameter storage804to generate a voltage-based SOC estimation for battery102.

During initialization mode, SOC_v confidence value generator806may utilize rest time data generated by battery rest timer802, a diffusion time constant value for battery102stored in parameter storage804, a tolerance value for voltage sensor702stored in parameter storage804, and voltage and temperature data received via interface716, to generate a confidence value for the voltage-based SOC estimation generated by SOC_v generator808. For example, the confidence value may indicate a low amount of uncertainty associated with the voltage-based SOC estimation, if the amount of time battery102has been at rest is sufficient to overcome the effects of diffusion. In such a case, the confidence value may be a pure function of the tolerance of voltage sensor702. The amount of time necessary for the effects of diffusion to dissipate is dependent on the time constant for battery102, as well as the temperature data received from temperature sensor706. Where the effects of diffusion are still present in battery102, the confidence value generated by SOC_v confidence value generator806may be based on the tolerance of voltage sensor702, as well as a function of the rest time, temperature, and diffusion constant of battery102. In some embodiments, SOC_v confidence value generator806generates one or more confidence values to define an asymmetric range of uncertainty for the voltage-based SOC estimation.

When SOC module720is not in an initialization mode, SOC_v generator808may utilize a regression technique to determine the voltage-based SOC estimation. For example, SOC_v generator808may utilize regression on a previously determined open-circuit voltage value stored in parameter storage804and sensor data received via interface716, in order to determine the voltage-based SOC estimation. If a regression technique is used by SOC_v generator808to determine the voltage-based SOC estimation, SOC_v confidence value generator may also use a regression technique and a previously determined confidence value to generate the present voltage-based confidence value.

SOC module724is also shown to include confidence evaluator810, which receives the current-based confidence value generated by SOC_i confidence value generator812and the voltage-based confidence value generated by SOC_v confidence value generator806. Confidence evaluator810compares the current-based confidence value and the voltage-based confidence value to determine which SOC estimation has a lower amount of uncertainty. For example, the comparison may be a straight comparison between the confidence values, or may utilize one or more weighting parameters stored in parameter storage804. Confidence evaluator810provides an indication of the comparison to SOC storage816, which may be used by SOC storage816to select the overall SOC estimation. Confidence evaluator810may also provide the indication to parameter storage804to select between the voltage-based and current-based confidence values as an overall confidence value associated with the overall SOC estimation.

SOC storage816utilizes comparison information from confidence evaluator810to select between the voltage-based SOC estimation generated by SOC_v generator808and the current-based SOC estimation generated by SOC_i generator814. SOC storage816selects the SOC estimation that has the lowest amount of uncertainty and stores it as the overall SOC estimation. SOC storage816may also provide the overall SOC estimation to vehicle control module722, or to display820, interface devices822, or other electronic systems824via interface718. For example, SOC storage816may provide the overall SOC estimation to display820, which displays the overall SOC estimation to the driver of vehicle100using visual indicia such as a meter, a gauge, or as text. SOC storage816may also provide the overall SOC estimation to interface devices822(e.g., touch screen devices, voice interactive systems, etc.) to alert the driver of the current state of charge of battery102. SOC storage816may also provide the overall SOC estimation to vehicle control module722or to other electronic systems824(e.g., a mobile device, a remote server, a microprocessor providing control over other components of vehicle100, etc.) for further processing.

Many modifications and variations of embodiments of the present invention are possible in light of the above description. The above-described embodiments of the various systems and methods may be used alone or in any combination thereof without departing from the scope of the invention. Although the description and figures may show a specific ordering of steps, it is to be understood that different orderings of the steps are also contemplated in the present disclosure. Likewise, one or more steps may be performed concurrently or partially concurrently.

The various operations of the methods and systems in the present disclosure may be accomplished using one or more processing circuits. For example a processing circuit may be an ASIC, a specific-use processor, or any existing computer processor. One or more steps or functions in the present disclosure may also be accomplished using non-transitory, machine-readable instructions and data structures stored on machine-readable media. For example, such media may comprise a floppy disc, CD-ROM, DVD-ROM, RAM, EEPROM, flash memory, or any other medium capable of storing the machine-executable instructions and data structures and capable of being accessed by a computer or other electronic device having a processing circuit.