Torque and speed control in BLDC motors


Thread Starter

Sadiq Mohamed

Hello all,

I have been reading these forums and have found them to be very helpful. I wanted to post some queries I had regarding my work. I am working on building a virtual controller in ADAMS Car for a BLDC Motor which will run on speed control to control a vehicle. I understand that for BLDC motors, the torque variation is very small for a speed range. I have the following queries:

When i control the speed, through applied voltage, does the torque remain constant? Will there be a increase in the torque? Say the torque specified is higher than the torque acting on the motor. Will the vehicle accelerate then and change its speed to a new one?

It would be of great help if anyone replies to this mail. You can also email me at the email I have given at the end.

A Sadiq Mohamed, [at]
Hi there,

Some basic info on speed control in BLDC Motors,

The speed of a BLDC Motor can be controlled in a closed loop by measuring the actual speed of the motor. The error in the set speed and actual speed is calculated. A Proportional plus Integral plus Derivative (P.I.D.) controller can be used to amplify the speed error and dynamically adjust the PWM duty cycle. The Hall signals can be used to measure the speed feedback.

A timer can be used to count between two Hall transitions. With this count, the actual speed of the motor can be calculated.

For high-resolution speed measurements, an optical encoder can be fitted onto the motor, which gives two signals with 90 degrees phase difference. Using these signals, both speed and direction of rotation can be determined. Also, most of the encoders give a third index signal, which is one pulse per revolution. This can be used for positioning if you need that.

About the speed to torque relation of BLDC Motors,

There are two torque parameters used to define a BLDC motor, peak torque (TP) and rated torque (TR). During continuous operations, the motor can be loaded up to the rated torque. In a BLDC motor, the torque remains constant for a speed range up to the rated speed. The motor can be run up to the maximum speed, which can be up to 150% of the rated speed, but the torque starts dropping off.

If your application will have frequent starts and stops and frequent reversals of rotation with load on the motor, it will demand more torque than the rated torque. This will comes for a brief period, especially when the motor starts from a standstill and during acceleration. During this period, extra torque is required to overcome the inertia of the load and the rotor itself. The motor can deliver a higher torque, maximum up to peak torque, as long as it follows the speed torque curve of that particular motor.

Some BLDC torque calculations you might find useful in your project,

The peak, or maximum torque required for your application can be calculated by summing the load torque (TL), torque due to inertia (TJ) and the torque required to overcome the friction (TF).

There are other factors which will contribute to the overall peak torque requirements. For example, the windage loss which is contributed by the resistance offered by the air in the air gap. These factors are complicated
to account for. Therefore, a 20% safety margin is given as a rule of thumb when calculating the torque.

TP = (TL + TJ + TF) * 1.2

The torque due to inertia (TJ) is the torque required to accelerate the load from standstill or from a lower speed to a higher speed. This can be calculated by taking the product of load inertia, including the rotor inertia
and load acceleration.

TJ = JL + M * α
JL + M is the sum of the load and rotor inertia and
α is the required acceleration

The mechanical system coupled to the motor shaft determines the load torque and the frictional torque.

The Root Mean Square (RMS) torque can be roughly translated to the average continuous torque required for the application. This depends upon many factors. The peak torque (TP), load torque (TL), torque due to
inertia (TJ), frictional torque (TF) and acceleration,
deceleration and run times.

The following equation gives the RMS torque required for a typical application where TA is the acceleration time, TR is the run time and TD is the deceleration time.
TRMS = &#8730; [{TP² TA + (TL + TF)² TR + (TJ - TL - TF)² TD}/(TA + TR + TD)]
Good luck, seems like a interesting project
Hi Sam,

I do have a similar issue and need your help. I am converting IC engine two wheeler to a plugin hybrid for economy and also to be ecofriendly. I am using a 60V/1000W (continuous rating) BLDC hub motor from China. The issue is the rated torque is not enough to overcome uphills. Hence I want to operate the motor at its peak torque (low speed) for short duration. Is it possible to modify the existing controller to achieve this? Please guide me.

Thanks & Best regards
[email protected]

Hi there,

I was told by one of my professors that T(electromechanical) = T(friction) + T(J)

and T = IKt*cos (angle of stator - angle of rotor)

and here i see completely different relation.

I am using a 2 phase BLDC being open loop controlled and supplied with a sinusoidal back emf.

kindly help me.

thanks in advance.
Hi all

I am a post graduate researcher student working on Hub motor (BLDC motor). In my work there is a requirement of Torque constant of BLDC hub motor. I have no idea about it. If any one have any idea about it then please message me.

Specification 48V, 250W, 5A, 46 poles, Max speed of wheel 25km/h

[email protected]