[Ovmsdev] BMS voltage series validity check

Michael Balzer dexter at expeedo.de
Wed Feb 3 02:31:29 HKT 2021


Tamás,

sorry for not being clear: to set the config, you use the command…

config set vehicle bms.log.voltage.interval 1

Regards,
Michael


Am 02.02.21 um 19:02 schrieb Tamás Kovács:
> Michael
> i think the logging enable command is not good : "set config vehicle 
> bms.log.voltage.interval 1"
> "To enable logging, set config vehicle bms.log.voltage.interval to 
> e.g. 1 to check for new data every second – it will only log the 
> series when changed."
>
> Config and set not swapped? config set vehicle bms.log.voltage.interval 1
>
>
> Michael Balzer <dexter at expeedo.de <mailto:dexter at expeedo.de>> ezt írta 
> (időpont: 2021. febr. 2., K, 17:44):
>
>     Everyone,
>
>     TL;DR: I've extended the BMS cell voltage processing to check for
>     inconsistent / broken series and skip the deviation analysis and
>     alerts on such.
>
>     After implementing the BMS cell sensor queries for the e-Up / Mii
>     / Go, we got lots of cell alerts even on brand new batteries.
>
>     These were caused by a combination of a) our need to query each
>     sensor value separately via OBD request, i.e. 84 (or 102 in case
>     of the former model) OBD requests to retrieve the voltages, and b)
>     the vehicle BMS probably not caring about taking a synchronized
>     snapshot and holding that before beginning to overwrite the data
>     with the next measurements. Or maybe it's actually got some
>     snapshot/hold feature we just don't know how to use yet.
>
>     Either way, we're seeing the effect of sudden load changes on the
>     cell voltages clearly within a series run, even though all 84/102
>     requests are done within a few milliseconds.
>
>     Example:
>
>
>
>     This is the effect of a low load being present when cells 1-27
>     were queried, and an increased load being present afterwards.
>
>     The cell deviation analysis would see a high deviation here e.g.
>     on cells 15-17 and 75-77 and trigger an alert.
>
>     The green line shows the linear regression gradient. In case of a
>     series like this, or vice versa (high → low load during query
>     run), the regression gradient is a clear sign of an inconsistent
>     series. We also see series like this:
>
>
>
>     In this case, the regression doesn't help. To cover these as well,
>     I've added a test for a sudden offset in the stddev level from the
>     previously observed average.
>
>     Note: the average is built as a running average with smoothing
>     over 5 samples. The first 5 series taken after a reboot will not
>     be checked for deviations to get an initial average.
>
>     For both gradient and stddev deviation, thresholds can be defined.
>     Defaults can be given by the vehicle (added to the
>     BmsSetCellDefaultThresholdsVoltage() API call), and users may
>     overwrite these as needed (these may need some more explanation
>     though). The system defaults I've chosen from my tests are:
>
>       * Max gradient: 10 mV (= voltage drop/rise over the full series)
>       * Max stddev deviation: 10 mV
>
>     These may be wrong for batteries with drastically different sensor
>     (pack) layouts.
>
>     I've also reinterpreted the warning & alert thresholds as
>     "exceeding the stddev level" (used to be absolute deviations from
>     the average voltage level).
>
>     The max. stddev deviation must not be chosen too low, or chances
>     are we won't catch faulty cells anymore. If a faulty cell causes a
>     high change in the standard deviation, it may cause the series to
>     be considered invalid now. I assume a faulty cell will not fail
>     completely within a measurement cycle, but degrade slowly over
>     time. In that case, it should still be detected.
>
>     I've done some tests with artificial faults and seen some warnings
>     getting triggered from actual data, so I think the defaults should
>     work.
>
>     The gradient is published to a new metric (v.b.p.voltage.grad),
>     which is also shown now in the battery monitor.
>
>     I've also added a configuration to enable logging the cell
>     voltages on demand, so you can load your actual data series into a
>     spreadsheet from a log excerpt. To enable logging, set config
>     vehicle bms.log.voltage.interval to e.g. 1 to check for new data
>     every second – it will only log the series when changed.
>
>     The logging feature is also available for temperatures, but
>     temperatures are slow movers.
>
>     Please test and report any issues. If you see issues, please send
>     me your voltage logs for analysis.
>
>     If you haven't had false alerts yet, chances are your BMS has a
>     synchronized snapshot of the cell voltages. In that case, you can
>     set the gradient and stddev deviation thresholds to some high
>     values to effectively disable the validity check.
>
>     Regards,
>     Michael
>
>     -- 
>     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 <mailto:OvmsDev at lists.openvehicles.com>
>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>     <http://lists.openvehicles.com/mailman/listinfo/ovmsdev>
>
>
>
> -- 
> Üdvözlettel:
> Kovács Tamás
>
>
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20210202/5ad82042/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lodpcigdbhlnjnmn.png
Type: image/png
Size: 25595 bytes
Desc: not available
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20210202/5ad82042/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: abhfaaigmphlgaen.png
Type: image/png
Size: 23974 bytes
Desc: not available
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20210202/5ad82042/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 203 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20210202/5ad82042/attachment-0001.sig>


More information about the OvmsDev mailing list