Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Individual battery cell health #140

Open
kallisti5 opened this issue Jun 18, 2022 · 2 comments
Open

Individual battery cell health #140

kallisti5 opened this issue Jun 18, 2022 · 2 comments

Comments

@kallisti5
Copy link
Contributor

It would be nice (tm) if OVMS also supported showing individual cell voltages in addition to the overall pack SoC. The cell voltages should be available via OVMS. A delta could be calculated as well showing differences between the min and max cell voltage.

@kallisti5
Copy link
Contributor Author

Here's an example from the popular LeafSpy for the Nissan Leaf..

leafSpy

@dexterbg
Copy link
Member

You're welcome to take care of this.

The App already has a chart module for this, I implemented this for the Twizy some years ago when still on V2 hardware. The Twizy BMS subsystem was the origin for the generalized V3 BMS subsystem.

The Twizy has only 14 cell voltages & 7 temperatures. I added two custom history records for this, "RT-BAT-P" & "RT-BAT-C", with each cell corresponding to one record key and updates only being sent on changes, so this could fit into the V2 module.

The Twizy chart data receiver thus needs to reassemble the diff records into a full history, and the chart then allows to browse the 24 hour cell history using the knob at the bottom:
https://dexters-web.de/faq/en#whatdoes
https://dexters-web.de/g/custom/ovms/fn/Battery-Monitoring.png

The App chart can adapt to more cells, it allows zooming and scrolling similar to the web UI. So you can use that as the starting point, it's this App module:
https://github.com/openvehicles/Open-Vehicle-Android/blob/master/OpenVehicleApp/src/main/java/com/openvehicles/OVMS/ui/BatteryFragment.java

The "RT-BAT-C" record structure is not suitable for battery packs consisting of many cells. A general record structure could adopt the current metrics array structure (the v.b.c. metrics), but then needs to drop the diff based data reduction. That's ok if the user can configure a suitable update interval to keep the data volume low.

Another option is to drop the history feature for the first implementation and only display the current status, as does the web UI battery chart. The web UI battery chart reads the BMS metrics updated via the websocket channel, so implements a live view, similar to LeafSpy, but more powerful as it integrates most of the available cell details. Btw, this works on a mobile phone display as well, as the chart also adapts to the available size and has pinch zooming.

The App could query the metrics via command execution (metrics list v.b.), so no dedicated record structure is needed for this. The downside to this approach is, it will need a live module connection.

Dropping the history browsing and using the current status only would mean the App's chart has no advantage over the web UI though, yet also lacks the actual live view capability. So I think it would make sense to base this on generalized BMS MP data records from the beginning.

Regards,
Michael

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants