I just put a version 0.1.21 on github but only for for 860C. I could change VLCD5 version later on if this one is succesful.
The challenge is always to reduce jerking and to provide the best feeling.
In version0.1.20, assistance is calculated based on the max of current torque sensor value, max during current 360° pedal rotation and max during previous 360° pedal rotation.
This seems me the best theoretical solution to have fast reaction and still to take care that the torque sensor values can differ a lot depending on the pedal rotation (at least on some motors) even if the weight is constant.
In version 0.1.21, I tried to apply the logic mspider implemented to take care that the human torque varies over one pedal rotation. This logic is explained here:
We are well aware that torque sensing motors acts as power/torque amplifier. An annoying effect though, at least for the TSDZ2 motor that I normally use, is that it follows just exactly the force measured instantly which, even if we are pedaling constantly, changes significantly according to the...
endless-sphere.com
So basically, it saves the last torque values. The number being equal to the number of values over one rotation.
In normal cases, the assistance is based on the average (and so cyclic effect should be neutralised).
Still, to get faster reaction, if current torque value differs from the previous value in the same pedal position), then current torque value is used instead of the average.
In folder "files_to_flash" you can find both versions and so compare them if you want.
Please note that some parameters have to be changed in your config (on 860c display) to keep the same general feeling.
In 0.1.20, assistance is based on the max value of the torque over one pedal rotation.
-So, in pedal torque ADC offset you have to find the max value provided by the sensor with no load over one pedal rotation (and then to add a margin - e.g. 10)
- the assistance values you fill for the different levels will take care of the max value of the torque over one pedal rotation.
In 0.1.21 assistance is based on the average and not the max.
It means that the torque values used will be lower.
- So pedal torque ADC offset should now be lower (to avoid increasing the "dead zone")
- the assistance values you fill for the different levels should be higher to get the same feeling.
Note : at this stage, I did not implemented the logic proposed by Katana because:
- I wait for more feed back from other users
- the number of values used to calculate the average is fixed and so does not fit exactly one pedal rotation (and so the cyclic variations of the TSDZ8 torque sensor it self and those of the human power)