Saturday, February 13, 2021

Basic BLDC (PMSM) efficiency and power loss estimations

Electric motors exist to convert electrical power into mechanical power as efficiently as possible. In this post, a relatively simple analytical approach will be used to estimate the efficiency and power loss of a typical brushless BLDC (PMSM). This will be achieved using easily measurable motor parameters such as the winding resistance, torque constant and stator mass.

But first, a short and simplified overview of power losses in brushless electric motors. 

Simplified overview of power losses in brushless electric motors


There are many sources of power loss in an electric motor. However, they can generally be classified into three categories; core losses, `i^2R` losses and losses related to friction.


  • Core losses
Core losses typically refer to hysteresis losses and eddy current losses within a motor. Hysteresis losses occur anywhere that there is a changing magnetisation within ferromagnetic materials such as the stator laminations and the rotor back iron. Eddy current losses can occur anywhere within the motor where there is a changing magnetic field with time and something conductive. These eddy currents are mostly located in the stator laminations, which experience the largest change in magnetisation but also occur in the rotor back-iron and within the rotor magnets. Core loss typically dominates at high speeds and at relatively low torque.
  • `I^2R` losses

This is the power lost in the stator windings (the armature) due to the intentional flow of current from the motor controller. This loss dominates at low speeds and high torque.
  • Frictional losses

Fictional losses can be used to describe the power lost in the rolling elements of the motor such as the shaft bearings. It can also be used to describe friction caused by the movement of air, also often referred to as 'windage'. This windage loss may be due to a shaft-mounted cooling fan or even just due to the movement of the rotor itself. For motors that do not include an integrated shaft-mounted cooling fan, this source of loss is relatively small. Also, with the exception of very high-speed motors, the losses within well-maintained bearings also tend to be relatively small. For this reason, frictional losses will be ignored in this post.

Please keep in mind that power loss in electric motors is a very deep topic and the above descriptions of loss is a very simplified understanding. However, this basic starting point is enough to let us explore how the power loss in a brushless electric motor can be estimated from a few simple parameters.

A simplified analytical model of brushless motor power loss


To use a real-world example, let's estimate the efficiency and power loss of a T-motor U8 pro


This motor was selected because its efficiency and power loss has already been mapped by Ben Katz over on his blog. This efficiency and power loss data will be used to evaluate the accuracy of the model described below.

To model the motor we need to know a few parameters:
  • Winding resistance = 0.19 Ohm (line-to-line winding resistance)
  • Torque constant = 0.075 N.m/A (uses current supplied to the motor, not the motor controller)
  • Pole count = 42 (number of magnets on the rotor)
  • Approximate stator mass = 0.065 kg (mass of just the iron-silicon steel laminations)
The stator mass was estimated by extracting the volume of the stator from this great CAD model of the U8 pro and multiplying it by the density of Fe-Si steel which is around  8 `text(g/)cm^3`. If you don't know the stator mass of your own motor, you can assume it is around 1/4 to 1/3 of the total motor mass.

Let's begin by defining the core loss and the `I^2R` loss of this motor.
  • Core loss estimation for a brushless motor
For simplicity, this model makes a few key assumptions regarding core loss:
  1. The only core losses are those located in the stator laminations. All other 'core losses' (within the back iron, magnets etc.) will be ignored.
  2. The magnetic polarization of the stator is due only to the magnetisation provided by the permanent magnets in the rotor. That is, the core loss is independent of the current and torque output of the motor. This is a fairly safe assumption as my own testing in FEA software suggests the core loss is only slightly impacted by stator current.
  3. The magnetic polarisation within the stator is constant everywhere, has a maximum of 1.5 T and a fundamental frequency equal to that of the motor's electrical frequency. In a real motor, the flux density at the surface of the stator (at the teeth) tends to be larger than in the yoke. Higher-order harmonics and current ripple also lead to additional core losses. However, these extra losses are also relatively small in typical brushless motors and so can be ignored.
All these assumptions mean that the core loss can be estimated purely from the speed at which the motor spins and the number of poles it has. The actual core loss in our motors stator can then be estimated by fitting published core loss data for iron silicon steel laminations. Using this fitting, and the motor parameters, we can produce a contour plot of core loss for every speed and torque value.

Using this model we can predict the core loss in the T-Motor U8 Pro and present it as a contour plot.

As expected from our simple model, the core loss increases with motor speed and is not impacted by the torque output.

Note that there is also a relatively easy way to check if this model is accurate for your motor using the steps below:
  1. Measure the no-load power draw (i.e. power draw of the motor when it is not connected to anything) of your motor controller when it is spinning the motor at zero RPM, max RPM and a few points in between. 
  2. Subtract the zero RPM power draw from the other values to mostly eliminate the motor controller switching losses.
  3. Fit the data to estimate the core loss for all points in between your measured values. 
You can find an example spreadsheet for this process here. This process works because almost all the power loss at high speed and no load is due to the losses in the core of the motor.

  • `I^2R` loss estimation for a brushless motor
To calculate the resistive losses of the motor we must know the current required to produce a given torque. This is defined by:

$$ Current (Ampere) = \frac{Torque (Newton.meter)}{Torque \,constant (Newton.meter/Ampere)}$$

Remember that the current referenced here is the line-to-line current supplied to the motor and not the current supplied to the motor controller. You can estimate the torque output of your motor from its velocity constant. With the current and winding resistance known the power loss for each torque value and velocity can also be mapped.


Also as expected, the `I^2R` power loss is completely independent of the motor speed. In reality, `I^2R` loss would increase slightly with speed and torque due to skin/slot effects and core saturation respectively.

With the core loss and `I^2R` data now computed, we have all that we need to calculate the input power, output power and efficiency of our motor.
  • The combined power loss of the motor
The core loss and the `I^2R` loss can now be combined to estimate the total power loss of the motor.



It is clear that the power loss is largest at high speed and high torque. Lets now move on to the power output, power input and efficiency. 

  • Motor power output and power input mapping

The mechanical power output is estimated by the following:
$$ P_{out}= Torque (Newton.meter) * Angular\, Velocity (Radian/second)$$
where $$\omega = \frac{RPM}{60} 2 \pi$$
Unsurprisingly, when plotted we can see that the motor produces peak power at the highest torque and speed. 
The Input power to the motor is then given by:
$$ P_{in}= P_{out} + P_{loss}$$
From this, we can now estimate the motor efficiency and map it.
  • Motor efficiency
The efficiency (`\eta`) of an electric motor is defined as the useful mechanical power output  (`P_{ou\t}`) divided by the total power input (`P_{i\n}`). The input power is in the form of a voltage (`V`) and current* (`I`) while the useful mechanical power output is in the form of torque (`\tau`) and angular velocity (`\omega`) as defined by the following:
$$\eta  = \frac{P_{out}}{P_{in}} = \frac{\tau \omega}{V I} $$
Using the power input and output we have already calculated the motor efficiency can be estimated and mapped.


So how does this simple model stack up when compared to the measurement of a real motor? Below is the motor efficiency and power loss. Note that 180 rad/s is equal to approximately 1700 RPM and so the x and y-axis ranges are equivalent.


The first thing to note is that the top right-hand corner of the measured efficiency map is missing due to limitations in the supply voltage for the motor controller. More info on why in this post. The next important difference between the model and real data is that the numerical model predicts a far more efficient electric motor. The peak motor efficiency that was measured on the real motor was around 70% while the model predicts a peak efficiency as high as 85%. The peak efficiency region also extends to a much lower RPM and torque value than the measured efficiency map.

There are two likely reasons for this overestimation in motor efficiency:

1. The core loss is underestimated in the model. The core loss used in the model is measured for flat sheets of iron silicon steel placed in a test jig. In a real motor, the sheets are stamped, compressed and then welded to form a stacked core. These processing steps can reportedly increase the core loss by a factor of 2 to 3. Therefore a 'core loss fudge factor' of 2.5 was included in the model to help compensate for this.

This reduced the peak motor efficiency to be more in line with that of the real motor. However, the 70% efficiency contour line extends to a much lower speed range than the real motor efficiency map. This may be due to:

2. The measured motor power loss also included the power loss in the motor controller. This extra loss would be seen in the form of a slight increase in the I^2R loss and, perhaps more importantly for the efficiency map, the addition of a fixed power drawn by the motor controller at all times. This is the 'always on' power draw of the motor controller that is independent of the current it is supplying. It can range from less than 1 W in small motor controllers to >10 W in high-power versions. I don't know the power draw of the motor controller used in the testing and so I have just assumed a value of 8W. The resulting efficiency map is shown below.
  
With this change, the modelled efficiency map of the T-Motor U8 Pro now more closely resembles the measured efficiency map. This is because at low speed and torque, the motor is producing very little power. Therefore, if you add a small power loss of ~8W it can greatly reduce the system efficiency in this region. 

Conclusion


Some may be quick to point out that if you play with the numbers and assumptions long enough you could make an efficiency map look any way you want. However, in my opinion, the assumptions made in the model above, which are based on my experiences and observations both with real motors and simulated motors, cover the majority of the losses within a typical 'hobbyist' grade brushless motor. While this simple model is most definitely an oversimplification of a complex system it can still provide a good insight into the major sources of power loss and how they dictate the efficiency of a motor. So I encourage you to have a play with the numbers (i.e. pole count, winding resistance etc.) using the Jupyter notebook mentioned below to help improve your understanding of how aspect each impacts motor efficiency with speed and torque.

Equations were produced in this post with the help of arachnoid.com/latex/. Figures were produced using Plotyl and hosted on Chart Studio. Online Jupyter environment using Binder. If you have noticed any errors in the above article then please let me know.