What you read as torque actual value is indeed the current read on the motor multiplied by a factor (force sensitivity or torque constant) that we consider linear and constant.
Reasons why the torque actual is NOT the real torque:
However, this solution is a good and practical approximation. And saves expensive torquemeters or strain gauges.
Sometimes after accelerating you can't reach the maximum torque. The reason is that no matter how much the current loop wants to increase current (proportional to torque) by increasing the PWM duty cycle of the power stage, the Vmotor is too close to Vbemf and therefore current can't increase more.
Whenever Friction torque + Additional loads = Motor Torque, the load remains in equilibrium (does not move, or moves under constant speed). Whenever Friction torque + Additional loads < Motor Torque, the load accelerates (Motor torque - Friction torque - Additional loads = Acceleration torque > 0). Al high speeds, the BEMF is so close to Vbus that the applicable Motor torque gets limited. Then, the bigger the Friction torque + Additional load is, the smaller the Acceleration torque becomes. This can also occur if acceleration or speed is limited by some reason.
This situation does not occur at the beginning of an acceleration because most of the torque is used to increase the kinetical energy of the load (and motor). But when the speed is already high and no extra load is applied it is not possible to increase the torque.
This situation creates a bad feeling that at high speeds the throttle does not work correctly.
The user feels that it releasing the throttle does not reduce motor force!
The proposed solution is to add a torque demand limitation based on speed.