Replies: 1 comment
-
Filtering UpdateAdding a quick rolling average filter on the power based on flywheel acceleration and on the static loss based power, the curve becomes much more readable. For this race, the Kickr was controlling resistance - a power input this will be missing. Not sure how to infer that without current sense on board... I also tweaked the curve fitting so that it's energy loss for a speed, which can be applied with respect to time. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Following on from the tear down and harness addition to the Kick, I've been able to do some HIL experiments. I've added a define to stream main trainer running data to UART in CSV and am using Python to test methodology (calculations.py).
See below a capture of the spindown routine: Spin up without resistance to a high rpm then allow the system to naturally decay. This allows us to capture the losses in the system due to resistance, which must be overcome by the rider and thus factored into the rider power calculation.
Immediately you can see the quantisation of the speed due to the low resolution speed sensing I was surprised to find on the Kickr (one sample per rev). This is presenting challenges in the rider power calculation, as the speed often stays constant between steps - despite it not being constant.
It's fine for the spindown, which we can use the flywheel speed and calculated loss in kinetic energy to develop a polynomial. We can then include this function in the rider power calculation.
Just for fun, I also captured a Zwift race. The method of power calculation is very rough (and includes negative with slow down) but one can see potential. I need to consider how the standard Kickr firmware gets away with such a low resolution on the speed sensor and whether I should just add another encoder with a much higher resolution.
Beta Was this translation helpful? Give feedback.
All reactions