Thursday, December 27, 2018

The advantages and disadvantages of using a Halbach array with a BLDC (PMSM) motor

In the last post it was shown that the length of the rotor magnets has an impact on the specific torque density of an electric motor. Longer magnets will, in general, produce a larger flux density at the poles but this comes at the expense of a larger flux gap. Therefore, the optimum magnet length for our motor model was around 2-4 mm.

However, there is an alternative arrangement of magnets in the rotor that, according to many a forum post all over the internet, will significantly increase the torque density of any motor.

The Halbach array

Credit: Wikipedia
If you are not familiar with the concept of a Halbach array then its wiki page has all the relevant information. In this post we will be testing the impact of adding a simple Halbach array to our model motor in FEMM.

Four different scenarios for a simple motor model

While more details regarding this motor can be found in this post a brief description is as follows: It is a 6 slot, 8 pole motor with three phases wound as concentrated windings in a pattern of ABCABC. All current in the windings is on the q-axis and in this case there is a 4.5 mm flux gap with 4 mm long magnets. FEMM simulation results shown below.

Back iron only
Torque output: 0.714 N.m 

Back iron and Halbach
Torque output: 0.714 N.m 

Halbach Only
Torque output: 0.683 N.m 

Neither back iron or Halbach
Torque output: 0.435 N.m 

It's clear that adding a Halbach style arrangement of magnets to the rotor has no impact on the torque produced when back iron is also used. However, it makes a considerable difference when the rotor back iron is removed, giving roughly 50% more torque than the non-Halbach arrangement. 

A simplified example

The reason for this is clear when you look at a simplified arrangement of magnets.
Back iron only

Back iron and Halbach

Halbach Only

Neither back iron or Halbach

The back iron produces a high magnetic permeability path for the permanent magnet 'flux' to pass through. The use of a Halbach array eliminates the need for back iron and so the use of both a Halbach array and back iron will only increase the cost and weight of a motor, with no improvement in performance.

If we draw a downwards line from the surface of the exposed magnets in the images above and plot the flux density at each point we see the following.

It is clear that the flux density is the same with or without the Halbach configuration provided that back iron is used. Therefore, a Halbach array does not act to redirect the flux from one side of a magnet, concentrating it on the other, as is sometimes stated. Therefore, it only makes sense to use a Halbach array when designing a motor which has no 'back iron' in the rotor. However, having no back iron in the rotor is essentially the same as having an infinite flux gap. As was shown in the last post, the highest torque density was achieved for our model motor when the flux gap was kept small using thin magnets. So not only would a Halbach configuration for this motor be considerably more expensive to manufacture, it would also have a lower torque density.

There are of course exceptions to this example. Completely core-less electric motors (no stator or rotor iron) such as this example often use Halbach arrays as a means to increase their otherwise terrible torque density. The benefit to this design is that the lack of iron core losses means that these motors can be quite efficient provided eddy currents in the windings and magnets is adequately controlled. They also produce no cogging torque. As far as I can tell, core-less motors are also popular among hobbyist because they eliminate the need to cut your own Fe-Si steel lamination. If you are looking to make a one off custom motor as a hobbyist my advice would be to re-use an off the shelf stator (either new or from a donor motor) and modify it to your own needs. This approach will always give you a higher torque density than a core-less motor and will often be cheaper since you don't need to purchase as many, or as large, expensive magnets or litz wire for the windings. 


  1. This is very interesting and something I have thought about alot myself. I am in the process of making a BLDC-motor for underwater use, which will be potted to be waterproofed. This has the downside of allowing no less than a 2.5mm airgap. And, since this has to be a very quick accellerated motor, I need to keep the weight down on the rotor(outrunner), so the only really acceptable way to acheive any kind of efficiency seems to be with halbach-array magnets. Thanks for the detailed images and diagrams. They helped alot. Also, it was interesting to see that the normal magnet positionong with backiron is that comparable with halbach matrix. I would not have thought so. Keeps me wondering why Tesla choosed halbachs for their model 3, as seems to be the case. What do you think?

    1. Hi Grungel

      I have seen that the Tesla Model 3 uses segmented magnets in its rotor, which is often done to suppress eddy currents, but do we know for sure that it is actually a halbach array? Last time I looked there was nothing definitive on the topic. Some magnetic viewing film placed over the magnets would be enough to convince me.

      Regarding your motor: If you want a very high angular acceleration then I might suggest a long body in-runner design as this will have a much lower moment of inertia compared to a out-runner. If instead you mean the acceleration of the thing the motor is attached to then the rotor mass is far less important and aiming for whatever design gives you the most torque per unit weight may be a good way to approach the problem.