-
Notifications
You must be signed in to change notification settings - Fork 4
The normal ride mode
The basic principle of the firmware is the relationship
Motor power = assistance factor * human power
Mechanical power is speed * torque
For the motor, this means:
Motor power = rotor speed * motor torque
For human power, this means:
Human power = cadence * torque at the crank
So we can write:
Rotor speed * motor torque = assistance factor * cadence * torque at the crank
With a middrive motor, the rotor speed is always in a constant ratio to the cadence due to the internal gear Motor speed = gear ratio * cadence
Therefore, the cadence cancels out of the equation.
Gear ratio * Cadence * Motor torque = Assistance factor * Cadence * Torque at the crank
Solving for torque yields:
Motor torque = Assistance factor * Torque at the crank / Gear ratio
The motor torque depends solely on the motor current and the motor constant KM.
Motor torque = Motor current * KM
It follows that: Motor current = Assistance factor * Torque at the crank / (Gear ratio * KM)
The various constants in the formula can be combined into a single constant:
Motor current = System constant * Assistance factor * Torque at the crank
For each support level, a percentage of the maximum motor current defined in the “max Current on Low Charge” field is specified in the “Current limit” column.
The assist factor can now be adjusted in various ways to suit your personal preferences.
The torque curve at the crank does not remain constant over one crank revolution, but rather takes the form of two positive sine half-waves. If this torque signal were used directly to control the motor, the result would be very pulsating assistance. That is why the torque signal is smoothed. The “Torque Filter” parameter allows you to set the filtering strength for each assist level. The higher the value, the less pulsating the assist is, but the slower it responds to changes in torque initiated by the rider.

As explained above, the cadence for a mid-drive motor is derived from the simple equation: motor power = assistance factor * human power. Nevertheless, some riders prefer proportionally greater assistance at higher cadences. This can be adjusted using the cadence exponent, field "Expected Range on Full Charge". The smaller the value, the greater the influence of cadence. For high values, there is virtually no influence; the multiplier always remains 1. The allowed range for the exponent is 0 to 255 (8bit)

In the torque table, a percentage scaling of the motor current per assistance level can be individually set for 5 equally sized speed ranges. The speed ranges are distributed across the set speed limit, regardless of whether the Legal flag is set. If the current speed is higher than the set speed limit, the last value in the column is used.
For example, for a speed limit of 25 km/h, the ranges are:
0 to 5 km/h
5 to 10 km/h
10 to 15 km/h
15 to 20 km/h
20 to 25 km/h
If you are wondering why 6 values must be set per assistance level, that is correct, since we need a start and an end value.
