Saturday, May 11, 2019

Understanding BLDC (PMSM) electric motors: Base speed, no load speed and torque vs speed

Search for the keywords "electric motor speed vs torque" and you will find many hundreds of images, with each looking different to the next.

A selection of 'electric motor speed vs torque' charts
This has, understandably, lead to considerable confusion (myself included) when discussing 'hobbyist' grade BLDC (PMSM) motors and the topics of:
  • no-load speed
  • base speed
  • torque vs speed
where 'speed' is referring to how fast a motor is spinning (i.e. it's angular velocity). Therefore, this post will explore these three topics. For those wanting a quick summary see the brief overview below.

1.0 Brief overview

1.1 Voltage constraints

When a brushless motor is rotating the motion of the rotor magnets relative to the stationary stator produces a voltage in the windings. This is a brushless motor's back electromotive force (back EMF). When using a hobbyist grade motor controllers the maximum speed of an unloaded motor (i.e. nothing connected to its shaft) is reached when the motor's back EMF is about equal to the supply voltage, such as from a battery. This is the no-load speed of the motor. 

If you have ever adjusted the speed of an unloaded brushed DC motor by adjusting its supply voltage then you have already seen the effect of supply voltage on a motors no-load speed. The situation is no different with a brushless motor, just that it is now electronically commutated. 

At the no-load speed, the voltage difference between the motor and its power supply approaches zero and so very little current can flow through the motor. With near-zero current flowing through the motor there is near zero torque produced and so it can not spin any faster. 

The speed at which you can do useful work with a hobbyist motor and motor controller is always going to be smaller than its no-load speed. As a motors speed is reduced so too is it's back EMF. Therefore, more of the supply voltage is available to deliver current to the motor and so the capability of a motor to produce torque will increase as you move further away from its no-load speed. 

The amount of torque that the motor can produce continues to increase as you approach zero speed. At zero speed (i.e. shaft is stopped) the current flowing through the motor will be about equal to the supply voltage divided by the motor winding resistance. This is the 'stall current' of the motor and will typically be a very large value due to the low resistance of most brushless motors (i.e. < 0.1 Ohm) as is described below.

1.2 Thermal constraints

When in normal use, the torque output of a hobbyist brushless motor increases roughly in line with the current supplied to its windings. Therefore, if you double the current to the motor you also double the torque output. However, the resistive losses in the copper windings increase with the square of the current and so if you double the current and torque you are also producing four times as much waste heat. 

Since most brushless motors have a very low winding resistance (i.e. 0.1 Ohm) it is possible to deliver extremely large currents to a motor even with a modest supply voltage. This is of course provided you have a big enough motor controller and power source to deliver the required current. However, the use of extremely large currents will quickly overheat and destroy a motor. Therefore, most hobbyist brushless motors are not limited by how much current you can deliver to the motor, but rather by how much current you can deliver before the motor overheats. That is to say, the torque output of most hobbyist brushless motors is thermally constrained.

Similarly, when a brushless motor is rotating it also produces waste heat due to core losses which are the losses generated in the iron and magnets. The faster you spin a motor, the larger these losses. Therefore your motor will overheat more quickly at higher speeds than at lower speeds for the same torque output.

This thermally constrained torque output of a motor is also often referred to as a motors rated torque. The maximum speed at which a motor can operate forever at its rated torque is known as a motors base speed.

It is possible to exceed a motors rated torque for short periods of time. The true maximum torque output of a motor is its peak torque. The peak torque output is usually defined as the maximum torque that can be sustained for some fixed period of time (i.e. 30, 60 or 180 seconds) without overheating (starting with a cold motor) or without damaging the magnets or mechanical components. The peak torque of a motor can be estimated from its peak current value. The peak current value is what is most commonly quoted by sellers of hobbyist brushless motors. Unfortunately, how the peak current is measured is usually not clear. As a rule of thumb, the rated current, and therefore torque output, of a hobbyist motor will be around one third that of the peak torque value, or around two thirds with aggressive forced air cooling.

In summary:
  • The no-load speed of a motor is voltage constrained.
  • Useful work can only be done below a motors no-load speed.
  • The constant torque output of a motor is thermally constrained.
  • The maximum speed which a constant torque can be produced is the base speed.
  • A motor can operate above its constant torque value for short periods of time
For a more in-depth discussion read on.

2.0 In-depth analysis 

2.1 Theoretical no-load speed

As mentioned above, the no-load speed (`\omega_{NL}`) of a motor is the maximum rotational speed that a motor can achieve without any external load (i.e. no torque output) placed on it. The theoretical no-load speed is given by:

$$\omega_{NL} = K_{V} \times V_{supply} $$
where `\omega_{NL}` is the theoretical no-load speed in RPM, `K_{V}` is the motor's velocity constant in RPM/V and `V_{\s\u\p\p\l\y}` is the voltage supplied at the terminals of your power source such as a battery. 

`\omega_{NL}` can be visualised as a single point on  a plot of speed vs torque

2.2 Achievable no-load speed

In practice, the theoretical no-load speed can never be reached. This is due to:
  • Friction and windage: All motors experience frictional and windage losses. Frictional losses originate from the bearings while windage losses originate from the relative movement of the rotor to the stationary air surrounding it. These losses require torque to overcome and so the motor can never reach its true zero torque no-load speed. High rotational speed in-runner motors or out-runners with built-in cooling fans will experience larger frictional and windage losses.
  • Core losses: The relative movement of the rotor magnets past the stator generates hysteresis and eddy current losses within the stator, even if there is no current being delivered to the motor windings. Similarly, differences in inductance seen by the rotor magnets as they move past a slotted stator also generated eddy currents within the magnets themselves. These losses must also be overcome by the generation of torque by the motor.
  • Resistive voltage drop: As some small amount of torque is still required to overcome friction, windage and core losses at the no-load speed there will also be a corresponding current supplied to the motor. This current will result in a voltage drop across the motor and the motor controller, reducing the supply voltage available to overcome the motors back EMF.
  • Motor controller dead time insertion: Most motor controllers have some level of dead time when switching their MOSFETs off and on so as to prevent a short between the high side and the low side of the DC bus. This dead time means that even if the motor controller is commanded to output a 100% PWM duty cycle the motor controller MOSFETs will still be off for some fraction of the time, preventing 100% utilisation of the supply voltage. It's also likely that there are other issues on the motor controller side at high electrical frequencies that may also reduce the top speed but which I don't understand at this time.
  • Motor controller PWM frequency and control loop frequency. If you are using a motor controller that supports FOC (also called vector control) then it will be producing a sine wave via PWM. Theoretically, if the frequency of this sine wave (the motors electrical frequency) surpasses approximately 1/20th the PWM frequency (the exact value will depend on the capacitance and inductance of the system) then the quality of the sine wave will start to degrade. This will cause a fall-off in motor efficiency and if taken to the extreme, loss of motor control as commutation falls out of step with the rotor position. Also, if the electrical frequency of the motor approaches the control loop frequency then control will also be lost. 
Note that those losses which are internal to the motor (frictional, windage and core losses) produce no net force outside of the motor and so are not something that can be measured directly with a torque sensor. This is because the stator is both applying the torque to turn the rotor and the braking torque (losses) to stop the rotor. In general, core losses are going to be far greater than those losses due to windage and bearing losses.

The no-load speed which is realistically achievable (`\omega'_{NL}`) can, therefore, be approximated by:

$$\omega'_{NL} = K_{V} \times (V_{supply}  - V_{drop}) \times Modulation_{max} - \frac{P_{loss}}{\tau _{loss}}$$

where `V_{drop}` is the combined resistive voltage drop in the system, `\M\o\d\u\l\a\t\i\o\n_{max}` is the maximum PWM modulation achievable by the motor controller after accounting for dead time insertion and `\frac{P_{loss}}{\tau _{loss}}` is the speed reduction brought about by the power and subsequent torque required to be produced by a motor to overcome friction, windage and core losses.

The size of the difference between `\omega_{NL}` and `\omega'_{NL}` will depend greatly on the type of motor used, its associated losses and the supply voltage. In general, it would be reasonable to expect that a typical hobbyist motor and motor controller (ESC) can reach 85% of its theoretical no-load speed. This is provided that it is operated within its 'rated' voltage. 

2.3 Thermal constraints and no-load speed

Beyond voltage constraints, there are also thermal and mechanical constraints. If you try to run a '6s' (~24V motor) off a 240V motor controller then don't expect to come anywhere near its theoretical base speed before you run into thermal or mechanical (i.e. exploding rotor) limitations.

Core losses generated within a motor at its base speed can be significant. For example, an unloaded 12n14p HobbyKing SK3 280 Kv motor produced over 100 W of losses at 10,000 RPM.
Power draw as measured from the power supply for an SK3 280 Kv motor
The peak speed of 10,000 RPM only represents 75% of the maximum speed available with the 48V power source used. Despite this, the 100 W of losses within the motor at this speed is more than enough to heat the motor to the point of being damaged if operated for an extended period. Also note that the generation of core losses has nothing to do with the motor Kv and is instead determined by the pole and slot combination, with lower pole numbers, in general, producing lower losses. This is one of the reasons why a 4 pole in-runner can operate at much higher speeds than a 14 pole outrunner. 

Due to the no-load losses within a brushless motor, the maximum continuous no-load speed `\omega''_{NL}` may be far lower than the maximum achievable no-load speed. 

This could be an important consideration in some applications which require high speed but very little torque such as an engraving tool or mirror galvo optical assembly.

2.4 Base speed

Also mentioned above, the base speed (also called the rated or nominal speed) is the top speed at which a brushless motor can achieve at it's 'rated torque'. The 'rated torque' is the torque that a motor can output indefinitely without overheating. This speed is different to that of the achievable no-load speed because there will be a larger voltage drop across the motor and motor controller when the motor is producing its rated torque due to the requirement that a larger current be supplied to the windings.

In all other ways the base speed of the motor (`\omega_{BS}`) can be defined in the same way as the maximum achievable no-load speed:

$$\omega_{BS} = K_{V} \times (V_{supply}  - V_{drop}) \times Modulation_{max} - \frac{P_{loss}}{\tau _{loss}}$$
with the exception that `V_{drop}` is now dependent upon the current required to produce the motors rated torque. Therefore, the base speed of a motor will fall off as the 'rated torque' is increased due to the additional voltage drop incurred at higher currents.

In the figure below `\omega_{BS}` represents the maximum speed at which a motor could produce a set level of torque. However, if less torque was required from the motor then a higher speed (following the light blue line) could be achieved.

The gradient of the light blue line will depend on the resistance of your motor and motor controller. Higher resistance will produce a shallower gradient.

2.5 Base speed and temperature rise

So far we have assumed a fixed motor and motor controller temperature, and therefore a fixed voltage drop per amp. However, as the temperature of a motor is increased so too does its winding resistance. For example, a 50C temperature increases the winding resistance by 20% and a 135C rise by 53% [1]. Therefore, a hot motor will have a larger voltage drop across the motor and a lower base and no-load speed.

Note that the above diagram is not to scale and the actual reduction in base speed for a 'hot' motor may be much smaller in reality.

While it's important to keep this point in mind, for simplicity the rest of this post will assume a constant motor and motor controller temperature.

2.6 Base speed and additional cooling

Adding additional cooling to a motor will allow you to increase the 'rated torque' that a motor can produce without overheating. Counterintuitively, adding additional cooling to a motor and raising its rated torque, and therefore current, will actually decrease its base speed since a larger voltage drop will produce over the motor and motor controller.

2.7 Momentary peak torque

Momentary peak torque is important for many applications. For example, rapidly reversing the direction of an axis on a CNC machine or jumping a quadruped robot into the air. The ability to produce a large momentary peak torque is one of the largest selling points for a brushless motor over stepper motors.

The peak torque output of a motor is generally limited by four factors:

  1. Voltage constraints: As mentioned above, the maximum torque produced by a motor is reached at zero RPM (stall torque), where the current is equal to the supply voltage divided by the total resistance in the system. Therefore, a larger supply voltage will allow for a larger current to flow at zero RPM and greater peak torque. 
  2. Current constraints: If using a small power source then it may not be possible to deliver the stall current demanded by the motor without the supply voltage 'sagging' under the load.
  3. Thermal constraints: Supplying a motor with a momentary large current will result in a small temperature rise. Supplying a 'momentary' large current repeatedly, or if the motor is already hot, and this temperature rise will accumulate to the point of damaging the motor. If you demand 100 A from a 10 A motor controller, then even a 'momentary' peak current and torque will likely cause it to overheat.
  4. Material constraints: Ultimately, even if all other constraints are overcome, the peak torque output of a motor is limited by the materials used in its construction as described in more detail below.

  • Material constraints: Stator saturation

The magnetically soft materials used to construct the stator, typically laminated Fe-Si steel, can only be magnetised (polarised) so far before it reaches magnetic saturation. As magnetic saturation is approached there is a loss of linearity between the current supplied to the motor and the torque it produces. i.e. a 1 A increase in current may produce a 0.1 N.m increase in torque when the motor is far from saturation, but only a 0.05 N.m increase in torque close to saturation.

The image below is taken from Ben Katz thesis and nicely shows a subtle ~12% fall off in the torque constant of a motor as its current is increased due to the stator approaching saturation.

All credit to Ben Katz [2]. Click to enlarge

  • Material constraints: Magnet demagnetisation
Supplying a motor with a very large current produces an equally large magnetic field. If the size of this magnetic field exposed to the rotor magnets starts to approach the coercivity of the magnets then there is a risk of demagnetisation. If the rotor magnets are significantly demagnetised then the motor is permanently ruined unless the magnets can be replaced. Thankfully, modern rare earth magnets have a very large coercivity. My own simulations suggest that supplying a current large enough to saturate a motor still does not produce a demagnetise risk for a typical grade N35 Nd-Fe-B magnets at room temperature.

However, the situation changes if the magnets become hot. Increase their temperature to 80C and their coercivity is about one half that at 20C. At this point, it becomes possible to demagnetise the magnets with a current approximately three times a typical brushless motor rated peak current.

The magnet coercivity (x-axis crossing point) falls significantly with temperature.

  • Material constraints: Mechanical limitations
Lastly, the shaft and fixings of a motor are all designed with its rated torque in mind. Exceed this value by too large a margin and you risk damaging the motor. i.e. slipping shaft where it connects to the rotor, twisting the frame etc.

2.8 Torque vs speed

From the discussion above it should now be clear why searching for a 'torque vs speed' plot yields so many results. The output torque of a brushless motor at a given speed depends on many different factors. However, these factors can be simplified by only considering a single situation which should apply to most hobbyist brushless motors and motor controllers. The assumptions are as follows:

  • A powerful power source, such as a Lipo battery, is used which can supply current to the motor when peak torque is demanded without much in the way of voltage sag.
  • Peak torque is infrequently and only momentary required from the motor so that the motor and motor controller is maintained at a reasonable temperature of around 60C at all times.
  • The supply voltage is matched to a motor so that the motor will not overheat if run at its no-load speed indefinitely.
  • The peak torque, and therefore peak current, supplied to the motor is still well below magnetic saturation of the stator and within the safe mechanical limits of the motor.
A typical setup
In this scenario, the torque output of a motor below its base speed is thermally constrained while the maximum speed is voltage constrained. The peak torque that can be supplied to the motor, therefore, depends on the temperature of the motor and the length of time that torque is requied. If the motor starts at room temperature then a very large torque can be produced for a short period. Alternatively, more moderate peak torque can be supplied for a longer period. 
However, if the motor was already at its safe upper limit of 60C then only the motors rated torque could be supplied without heating it to the point of damage. Therefore, the available speed vs torque curve of a brushless motor also depends on its thermal history. For this reason, industrial brushless motors will typically include a temperature sensor embedded in the windings so that the motor controller can actively limit the current if the motor becomes too hot. This is also why the brushless motors supplied by Odrive robotics come with an embedded thermistor. 

Note that the power consumption of a motor producing its 'rated torque' at its base speed will be significantly higher than the same motor producing its 'rate torque' at the stall speed (zero RPM). Therefore, unless you have a powerful power supply or battery you may be unable to reach the base speed at rated torque of a motor. See this post for more details.

3.0 Conclusion

In summary, the torque that a motor can produce at a given speed depends on the motor used, how the motor is cooled, the thermal history of the motor and the power source used. For this reason, there is no single universal 'speed vs torque' plot for any given motor type, or even for two identical motors used under different conditions.

However, it is a safe assumption that any given brushless motor will have a flat constant torque output vs speed due to thermal constraints. Similarly, the peak torque output will, in general, be around 2 to 3 times the constant torque output for a short period (i.e. 30 s) when starting cold. Lastly, the base speed of a motor can be approximated as roughly 0.85 times the supply voltage multiplied by the motors Kv.

In the next few posts, I will be using a low-cost DIY motor dynamometer to characterise these torque vs speed curves, along with motor efficiency, for serval of hobbyist grade brushless motors.

Equations were produced in this post with the help of If you have noticed any errors in the above article then please let me know.

  • [1] From  Design of Brushless Permanent Magnet Motors by Hendershot and J. R., Miller, T. J. E.
  • [2] Katz, Benjamin G. A low-cost modular actuator for dynamic robots. Diss. Massachusetts Institute of Technology, 2018.

No comments:

Post a Comment