Axial-flux motor

A self-set challenge to understand electric machines in the way I like to learn things – a hands-on intensive over a week.

3d printed axial-flux motor

Final motor prototype


Why I built it

My first year on the Solar Car team put me around many cool and expensive high-tech components. I was especially intrigued by the motor – a coreless axial flux PMSM masterpiece that costs as much as a new Toyota Corolla. I asked the question of how people managed to design a part that can turn electrical energy into movement with over 97% efficiency? Reading the theory only got me so far, so I set out to design and build a working brushless motor from scratch to learn the intuition first. The goal was also just to get a machine working in the 1-week period I had at home (between the end of a summer intensive course I took and the exam for it – with a holiday already planned afterwards); the goal was not to have a usable power output, but rather just to prove I understood how a motor worked by making one that does.

Architecture choices

I built a single-sided, coreless axial flux BLDC motor with a Halbach-array rotor (6 teeth, 8 poles). Almost every design choice was a trade-off for fast, safe learning rather than performance. Every part had to be sourced locally given my 1 week time constraint:

  • Coreless axial flux stator so I could hand-wind each coil and bolt it to a flat base stator; everything is planar, so it’s simple to make, simple to diagnose.
  • Single-sided for simplicity and to avoid the magnetic clamping difficulties of a two-sided axial flux machine. For context our solar car motor had 5kN of clamping force between its two rotor halves – it might be efficient for the flux path but that’s a headache I’m avoiding for a learning tool.
  • Halbach-array rotor to concentrate the magnetic field onto the stator side and partly make up for having no iron backing plate (in reality I did not feel much of the Halbach effect from holding it up to a steel plate – the magnet design was not ideal, just what I could source)
  • FEMM halbach array simulation

    FEMM halbach array simulation showing flux concentration on one side - I used FEMM to build intuition on magnetic circuits

    The build

    I designed the motor in CAD, 3D-printed the structure, and hand-wound the coreless stator coils with enamelled copper wire, driving it with an off-the-shelf drone motor controller. My calculations were light, basic electrical resistance calculations for stall current, and online motor winding calculators for electrical machine design.

    A bolt acting as an axle tie together two bearings (which was a basic design I was familiar with from my Hydron wheel system days), with the hand-wound stator coils bolted into the base frame. The design allowed me to use two, one, or nylon bolts for each stator coil, in essence acting like an adjustable pseudo-core. The wires were pulled through the bottom and soldered together in a wye configuration, before the rotor with glued-in magnets was attached to the top.

    Hand-wound individual stator coils Underside of motor, measuring assembled stator coil resistance

    Hand-wound individual stator coils (left), Underside of motor, measuring assembled stator coil resistance (right)

    Assembled stator Assembled rotor

    Assembled stator (left) and assembled rotor (right)

    Testing

    It worked; with the off-the-shelf motor controller, it started up and spun. It was reasonably powerful as well – you would get hurt trying to stop it by hand once it’s spinning at speed. The limitation I found should this become a practical prototype was the startup torque: the sensorless controller I used was tuned for small drone motors and does not reliably sequence the startup of a high-inertia low-tooth-count motor like this. At one steel bolt per coil it was struggling to self-start reliably, and at two steel bolts per coil the cogging torque was too much for the controller programming to overcome. I was never able to measure the torque accurately as the startup torque for sensorless motors is low, but I estimate it to be around 10Ncm from the one weight-pickup test I did run – on par with small hobby motors.

    Motor test run

    What I learned and what's next

    Building a motor for real taught me the intuitions I never would have learned from reading theory alone, and after building it I did read a bit more formal theory from a textbook. The next step to making a useful motor from my prototype would be to add hall-effect sensors so it can run full startup torque, as well as adding steel laminations and iron backing (or better Halbach design) for more power/efficiency. I have managed to source silicon steel sheets – ideal for building laminated cores and am keen for the right project and time to come to build a second, useable, motor.