[Ovmsdev] MS_V_BAT_SOH

Mark Webb-Johnson mark at webb-johnson.net
Wed May 23 22:42:32 HKT 2018

What is MS_V_BAT_SOH used for?

For Tesla Roadster, as well as SOC, we have SOC LIM MIN and SOC LIM MAX. I want to make those available.

Kia Soul seems to use:

StdMetrics.ms_v_bat_soh->SetValue( 110 - ( m_b_cell_det_max->AsFloat(0) + m_b_cell_det_min->AsFloat(0)) / 2 );

Nissan Leaf uses:

StandardMetrics.ms_v_bat_soh->SetValue(ah / newCarAh * 100);

Twizy uses:

CAN_BYTE(5) on ID 0x424

Which is it?

An overall indication of battery health? 100% being perfect, and 0% a brick?
Or battery capacity (100% being a new car, and 50% being one who’s range is only half that of a new car)?

The definition here seems to lean towards #2 (capacity related), but seems arguable:


State of health (SoH) is a figure of merit of the condition of a battery (or a cell, or a battery pack), compared to its ideal conditions. The units of SoH are percent points (100% = the battery's conditions match the battery's specifications).

Typically, a battery's SoH will be 100% at the time of manufacture and will decrease over time and use. However, a battery's performance at the time of manufacture may not meet its specifications, in which case its initial SoH will be less than 100%.

As SoH does not correspond to a particular physical quality, there is no consensus in the industry on how SoH should be determined. The designer of a battery management system may use any of the following parameters (singly or in combination) to derive an arbitrary value for the SoH.

Internal resistance / impedance / conductance
Ability to accept a charge
Number of charge–discharge cycles

In addition, the designer of the battery management system defines an arbitrary weight for each of the parameter's contribution to the SoH value. The definition of how SoH is evaluated can be a trade secret.

Kia Soul seems to be closest to the implementation I was thinking of. Find out the difference between SOC LIM MIN and LIM MAX, and use that as an indication of imbalance in the pack. But Nissan Leaf seems to be more like (CAC/160)*100 (where 160 is the CAC for a brand new vehicle).

Or should we just add SOC_MIN and SOC_MAX if these are used in many cars? Or an imbalance percentage?

Or should we combine the both (so CAC/160*100 gives us percentage capacity loss, and SOCMAX-SOCMIN/SOCMAX*100 gives us imbalance of the pack, then we perhaps multiply the two together to give an overall indication of health)?


Regards, Mark

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20180523/08ea1b9e/attachment.html>

More information about the OvmsDev mailing list