Concerning the problem about wrong estimations of the SOC, here is some recent information that I have got from studying the logs.
Clearly, the way the SOC is estimated has changed due to a firmware update, and perhaps some reprogramming from the Zero dealer.
Original firmware:
Serial number 2016_mbb_ca1a29_02158
VIN 538XXAZA1GCJ06548
Firmware rev. 47
Board rev. 3
Model FXS
After update:
Serial number 2016_mbb_ca1a29_02158
VIN 538XXAZA1GCJ06548
Firmware rev. 56
Board rev. 3
Model FXS
Starting from the firmware update, new lines appear in the BMS logs.
Here are 2 lines from the new BMS logs. Lines such as line 01470 did not appear with the original firmware.
These new lines give 8 different values related to the capacity and the SOC.
01469 01/09/2023 13:08:58 Discharge level 002 AH, SOC: 70%, I:034A, L:3756, l:3971, H:3807, B:051, PT:022C, BT:026C, PV:106014, M:Bike On
01470 01/09/2023 13:08:58 SOC:2341,7632,2672,26000,90,85,70,53
In the 8 numbers that follow SOC, it seems that the third one, 2672, is the amount of mAh that the pack has delivered. I guess that this measure is obtained by Coulomb counting (or integration of the intensity). This value is rounded to 2 Ah in the line 01469 just before.
26000 is the nominal capacity of the pack in mAh. It has been stored in the BMS by the Zero dealer.
It seems that 90,85,70 are 3 different estimations of the SOC calculated from different ways.
The one that is used is the third (70%). Probably mainly influenced by the pack voltage.
From the line 01470, I have a pack with 26000 mAh and it has delivered 2672 mAh, i.e. taking only these numbers into account, its SOC should be 89.7%. Note that it is equal to the first of the 3 SOC estimations (90,85,70).
So, it seems that the first SOC estimation (90%) is derived from the Coulomb counting.
In my bike, I have two battery packs, one BMS in each pack, one log for each BMS.
And it seems that the MBB makes a mix of the information retrieved from the 2 BMS (average of their SOC).
And the dash gives this mixed information.
Since information displayed uses the third estimation of 70%, it means that instead of telling me that I have used 10% of the capacity, the dash tells me that I have used 30% !!!
That is why I often get a big range panic ! This day (last January 9th), I was thinking that one of my battery packs was dead or disconnected ! But finally both packs were working, and the range was not so bad.
To those who know how to make Android applications taking their data from Zero bikes: probably many of us would be happy with a range estimated from
- Coulomb counting
- entering manually the pack capacity (so we could take manually into account the real capacity of the pack, take into account smaller capacity in winter, or keep a reserve capacity for safety)
- giving an estimate of our Wh/km consumption