[Ovmsdev] MS_V_BAT_SOH

Mark Webb-Johnson mark at openvehicles.com
Thu May 24 10:20:37 HKT 2018


Michael,

Thanks for the explanation. That makes good sense.

Given that at least three vehicles support SOC MIN and MAX, I’ve gone ahead and made standard metrics for those. I haven’t modified all the vehicle modules to store them, but think that can be done for at least Roadster, Kia Soul and Twizy (and maybe Nissan Leaf). Can the maintainers of those modules set appropriately? Should be very simple.

I’ve also created a generic textual v.b.health metric that can be used to record a textual indication of vehicle health (perhaps the calculations behind v.b.soh). Very vehicle specific.

I’ve then modified the Tesla Roadster module to store v.b.soc.min and v.b.soc.max, and to calculate v.b.soh (based on %cac remaining x %soc inbalance). Maybe tune it later, but I think it should give a pretty good rough indication of health. That is all in an edge release ready to go out tonight.

Regards, Mark.

> On 24 May 2018, at 12:12 AM, Michael Balzer <dexter at expeedo.de> wrote:
> 
> Mark,
> 
> I introduced this originally, it's meant to be (1), the overall indication of battery health.
> 
> As the wikipedia article says, there is no general industry definition on how to calculate this.
> 
> On the Twizy, the SOH is given by the BMS, while the CAC is calculated by the OVMS by monitoring the charge process and counting coulombs. The BMS SOH is the (normally invisible) limit for the usable capacity, as the Twizy always shows a range of 0-100% SOC regardless of the SOH. It's also the base for any warranty replacement of the battery (if it's rented you'll get a new one when SOH is below 75%).
> 
> The BMS is proprietary and without any available documentation, it's a complete mystery how it calculates the SOH.
> 
> While the capacity would normally be the major factor in a SOH, the Twizy BMS (LG Chem) has actually other ideas on this. For example it's been at 100% for the first three years, then at 99% for another two years, while my CAC value showed the actual degradation (long term linear with cycles). It's then begun to drop rapidly over a short period of time and is now close to my CAC level. My cells are still pretty good balanced under load as well as open circuit, the balance also degraded more or less linearly. There are also no obvious temperature indications that could explain the SOH curve.
> 
> 
> Generally I recommend to use this for the value the car provides, if any.
> 
> If the car doesn't provide an SOH, any calculation that fits…
> 
>> An overall indication of battery health? 100% being perfect, and 0% a brick?
> 
> …will do.
> 
> 
>> 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)?
> 
> If breaking down SOC into the peak min and max cell values I suggest also adding the average and peak standard deviation, plus either the average cell SOC or the number of cells to derive that.
> 
> Interior resistance of cells would be another option for standard metrics of cell health, but seems to be rarely available (and needs a reference).
> 
> I've got the cell module voltages and temperatures on the Twizy. I record their peak values and deviations under load and calculate the standard deviation. This monitoring shows only a minor difference against the values I recorded five years ago. I'm pretty sure if I also had the internal resistance, that would give a much clearer image.
> 
> Regards,
> Michael
> 
> 
> Am 23.05.2018 um 16:42 schrieb Mark Webb-Johnson:
>> 
>> 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:
>> 
>> https://en.wikipedia.org/wiki/State_of_health <https://en.wikipedia.org/wiki/State_of_health>
>> 
>> 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
>> Capacity
>> Voltage[2]
>> Self-discharge
>> 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)?
>> 
>> Thoughts?
>> 
>> Regards, Mark
>> 
>> 
>> 
>> _______________________________________________
>> OvmsDev mailing list
>> OvmsDev at lists.openvehicles.com <mailto:OvmsDev at lists.openvehicles.com>
>> http://lists.openvehicles.com/mailman/listinfo/ovmsdev <http://lists.openvehicles.com/mailman/listinfo/ovmsdev>
> 
> -- 
> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev

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


More information about the OvmsDev mailing list