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

inmotion v12: abnormal voltage sag when wheel is shutting down #345

Closed
pokanoka opened this issue Jul 31, 2022 · 5 comments
Closed

inmotion v12: abnormal voltage sag when wheel is shutting down #345

pokanoka opened this issue Jul 31, 2022 · 5 comments

Comments

@pokanoka
Copy link

When wheel is shutting down (actually shutting down normally, e.g. after 10 minutes with screen off), it reports abnormally low voltage values, which wheellog then remembers as voltage sag, overwriting previous - meaningful - voltage sag value.
Reported voltage values are on the order of 12v, 13v, or the like.
I believe workaround should be implemented: if voltage rapidly drops to lower than 24v (1v per cell), voltage sag recorded in the preceeding 3 seconds should be discarded and it's previous value restored.

wheel: v12 ht, firmware 1.6.12
wheellog version: 2.5.5

@pokanoka
Copy link
Author

pokanoka commented Aug 4, 2022

It's worth considering to apply similar "fix" not only to voltage sag, but also to voltage itself, because it's useful to know what the actual voltage was, w/o having to turn on wheel. Last voltage value can be a bit higher than sag value.

Previously suggested value of 24v as cutoff is too low, because I've already seen values on the order of 18v, 21v, and 28v (see screenshot). May be value of 36v or 40v (1.5v or 1.67v per cell) should be used instead, or even higher (with additional heuristics).

Good additional heuristics:

  1. Quick voltage fall (on the order of 1.5-2.5s).
  2. No more data for N seconds from the wheel after the voltage fall (since it's turned off).
  3. Speed is [very close to] 0 at the time of voltage sag.

IMG_20220802_131359

@palachzzz
Copy link
Contributor

We can think about voltage sag, but I don't see any way to keep usual "voltage" to be relevant to the last metric.
BTW, what is the need to see last voltage? You can check battery percentage, because for V11/V12 it is not related to Voltage, and will show correct data even during shutdown

@pokanoka
Copy link
Author

Well, from my point of view voltage value is "the absolute truth", and the battery percentage is just a derivative for human convenience, which can be calculated differently.

And since Wheellog has Voltage info field, it would be nice if it always showed actual values which one can trust. In my opinion bogus values dreamed up by energy-starved shutting down controller ought to be discarded.

I mean, it's not such a big deal if Voltage value is incorrect, but if you're gonna add a workaround for the Sag, it would be nice to have actual Voltage value fixed too. (I was assuming Sag is not reported by wheel directly, and is calculated by the app manually from the reported voltage values).

@palachzzz
Copy link
Contributor

palachzzz commented Oct 28, 2022

Well, as you told = voltage value it the absolute truth. So during power off, BMS disconnect controller from power, so controller measures absolute truth - working some time using capacitors it is loosing voltage,
If I implement some workaround to voltage, it will become to not to be truth.
Just imagine the situation: you have cut-down due BMS failure, in this case you will able to see voltage drop in logs.
If I implement some workaround, what you will see?
And what the benefit to hide truth? For what?

@pokanoka
Copy link
Author

There's certainly logic in that which I can agree to. But still, I think end-users would prefer true voltage on the battery pack, not the true voltage on the capacitor the moments before the controller is powered down (:

As for your scenario of cut-off, the most likely outcome are these 2:

  1. Second battery pack still works. In that case, even if rider failed, the controller still powered on, so no voltage workaround has taken place.
  2. Both batteries have failed while the user is riding. The engine power intake is enormous, the capacitors are tiny, the update rate is slow (on the order of 2 times per second?) - so, I think controller may just not have the time to report the falling voltage before powering down. But if it had, in accordance with my suggested heuristics, there should be no workaround, because wheel speed was not close to zero at the time of voltage drop.

Come to think of it, another way to do it would be to apply voltage fix in the gui only, and never mess with the log. So, just display value reported 4 seconds before reports stopped instead of the last reported when all of these conditions hold:

  1. Wheel model is V12 (V11/etc?)
  2. There's no reports from the wheel for at least 2.5 seconds.
  3. Reported speed values for the last second were less than 4 km/h, OR for the last 3 seconds average reported speed was less than 6 km/h.
  4. Last voltage value reported is less than 50v.

Points 3 and 4 are optional, I wouldn't mind always losing 4 seconds of data from gui when wheel is turned off as long as data is saved in the log.

Whatever your decision on the issue would be, I'd be okay with it. I'd be just happy for voltage sag workaround. Just trying to input my perspective here.

@palachzzz palachzzz closed this as not planned Won't fix, can't repro, duplicate, stale May 19, 2024
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