Sometimes you want to set a 100% torque but you never reach it. Typically when the motor is already spinning. Why?

Before starting: torque actual value IS NOT, the real motor torque 

What you read as torque actual value is indeed the current read on the motor multiplied by a factor (torque sensitivity or torque constant) that we consider linear and constant.

Reasons why the torque actual is NOT the real torque:

  1. If commutation, phasing, is not correct, an important part of the current is not useful torque, it just creates electrical and magnetic loses. 
  2. If current loop is not well configured or unstable, the current will be higher and with ripple, the real "useful mechanical torque" will be indeed lower.
  3. Torque constant can vary due to several factors, like motor construction, temperature of the magnets (that affects its magnetic properties).

However this solution is good and practical approximation. And saves expensive torquemeters or strain gauges.

Why can't I reach 100% torque?

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 remain 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. 

Maximum achievable torque depending on motor speed

Recalculate this based on your motor parameters.

How to prevent this

Increase DC bus voltage. 

Unlimit system acceleration.

Use a motor with less resistance and lower back EMF proportion. 

Compensation for electric mobility throttles 

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.

  • Will improve user feeling when releasing brake when the vehicle is already accelerated.
  • Will limit vehicle top speed (safety)