Motor design

Posted on December 10, 2007


Well, just as I expected, no one can tell me where to buy an electric motorized car wheel. So, it’s off to the science lab. 🙂

I started out by measuring the real free volume inside my car’s rear wheels, and drawing up a CAD representation. I couldn’t find a free-software 3D CAD program, so I settled for the quite nice 2D “Qcad“.

Here you can see the wheel design (click to enlarge).



Next, I took a wild chance and just designed a motor around the available structure. I knew it had to have permanent magnets on the rotor and electric coils on the stator, as well as a reasonable thickness of steel for the magnetic cores, and that went OK, since my only worry was to fit the motor in the wheel. One suggestion that my buddies gave me was to design the motor as two parallel discs, instead of the traditional two concentric cylinders. This helped a lot in fitting all the stuff in, and also in simplifying the construction. One advantage of designing a specific motor for the application is that I can use the existing structure of the car as part of the motor. So this motor doesn’t need bearings or an axle, because I’m using the wheel’s own axle and bearings. The stator will be directly fixed to the suspension arm, and the rotor will be directly fixed to the wheel hub. Simple and neat. The wheel is the motor.

The tuning of the air gap width was and is one of my main concerns: it has to be as small as possible (ideally 0,5mm) to enable high efficiency, but we can’t have the rotor banging on the stator just because the car passes over a little rock. The Neodymium magnets are quite sensitive and will get broken if they take any beating. So I have this problem of ensuring that the air gap is stable under all mechanical conditions; for the time being, I’m solving that with 2 presumptions: 1 – the conical needle bearings of the car’s wheel axles are strong and tight enough to guarantee close to zero wobbling under vibration and banging; 2 – my design features a set of air gap tuning screws. Will it be enough? Right now, it’ll have to be. 🙂 We’ll leave the real tuning for the prototype implementation and testing phase.

Here’s the CAD again, with the motor suggestion (click to enlarge).



This doesn’t have enough magnetic iron thickness to carry the flux… I’m still working on that, because there are other problems to solve first.

Then I started to think that maybe I should worry a little bit more about the electromagnetic part of the problem… 😉 In order to finish the mechanical design, I have to know how thick the materials have to be, and that means I have to know all the forces involved.

The type of motor design chosen was the “LRK” DC-brushless design. It is a beautiful workhorse that is intensively used by radio modelists all over the world, and it’s as much a “hot item” as the lithium-polymer batteries right now. 😉 Anyway, the (airplane, car, boat) radio models have practically the same application requirements for motors as a full-size electric vehicle: light weight, high efficiency, high power, good thermal management, small volume. Oh, and easy control of torque and speed. This design was found by a couple of friends that showed me the fantastic web pages of the German modelists… the Deutsch really take their modelling seriously! 🙂

My friend NJay took the time to build an electromagnetic simulator for this motor in his favourite scripting language, Tcl/Tk, and although it is still very much “work in progress”, it already gives us “ballpark figures” for motor torque.



Nevertheless, we had so many doubts about the magnetism calculation, that I set out to find something that we could use to validate our designs. Preferably a well-packaged set of know-how… So I found the wonderful “Finite Element Method Magnetics” (FEMM) free software (don’t know exactly how “Free as in Freedom” it is, the licence is weird, but at least it is kind of Open Source and it’s Freeware), and started to play around and try to model an LRK motor for my specific case. It’s been over 10 years since I last worked in the area of electric rotary machines at school, and I forgot the whole thing, but hey, you gotta bite the bullet some day.

The first challenge was that FEMM is a 2D representation program, and my motor design requires a 3D description, because the magnetic flux flows along the axial direction of the motor, instead of the usual radial direction. So I had to make a little sacrifice in precision and employ a small trick: instead of modelling the motor as a cut in a direction perpendicular to the axis of rotation (as is the universal convention), I modelled it as a cut in the direction parallel to the axis of rotation. This allows me to model the magnetic flux plane in detail, including the necessary interaction between several magnets and stator coils at the same time. It kind of resembles a linear motor, but I’m not sure how accurately. I only modelled half of the motor, so I didn’t have to waste too much CPU time. As far as I know, half motor is the only way to capture all the complexity of this model. Any lesser portion would give incomplete results. Here’s a snapshot of the motor model in FEMM, with the chosen finite element calculation mesh showing (click to enlarge).


The rotor with the magnets is on the top half, the stator with the coils is on the bottom half. There are 3 coils (from right to left: A, C, and B). The stator teeth are wound intermittently (one has a coil, the next one doesn’t, etc).

A note to the wise: careful selection of mesh size is critical… I started out by setting 0,25 mm for all areas of the problem and my dual-core AMD 5200+ machine took over 10 hours to solve the problem (!). After choosing more wisely the areas of interest and the ones I didn’t care about so much, the solution time dropped down to 2 minutes! 🙂 Without much loss of precision in the most critical areas, of course. I settled for 0,25mm at the air gap, 1mm at the stator and rotor “teeth” and magnets, and 2,5mm for the straight stator and rotor cores.

After spending a lot of time manually building and changing the motor model in FEMM, I decided to learn the LUA scripting language and have the computer design the motor for me! 🙂 The productivity and precision both raised an order of magnitude after this. Actually, the productivity raised at least two orders… 😉 Now I have a couple of scripts that draw the motor at any desired rotor position, and with any useful combination of coil phase currents, solve the magnetic problem, measure the forces involved, and take a snapshot of the magnetic flux. This is a pretty sweet setup, except that the FEMM program crashes every 28 iterations of my script!… I don’t know if it is the Wine compatibility layer or the program itself, but what the heck… someday I’ll catch the bug.

I used those scripts to make this movie:

And more importantly, to build this force graphic (once again, click to enlarge):


The graphic was built in the following manner: I set the coil currents to have always the same polarity and value (i.e. +A, -B, C=0), which corresponded to a real phase switching step if I was using the motor with an electronic controller. Then I force the motor to rotate in steps of 1mm, and collect the values of X (tangential) and Y (axial) forces at each of the 455 steps that it takes to rotate half-way.

What is the wisdom that can be gained from this? Three things jump out:

  1. We can see the real final step width of the tangential force: 32,5mm (12,8 degrees) in my case (911,12mm circumference). This is probably the maximum “advance angle” that we can use to control the motor electronically.
  2. Both forces (axial too) vary in a sinusoidal fashion; this means the stator and rotor will be subject to mechanical stress in both directions.
  3. The axial force is over 10 times as strong as the tangential!!!

Although my first study turned out useful results, it is obvious this design is not good. Point 3 is a big show stopper: if there is going to be a continuous force of around 8.000 N (800 Kg) between stator and rotor, then the materials have to be really strong. And even if I did manage to design and build such a motor, it would be very heavy and once it was installed, impossible to remove by hand!!! Besides, it would increase the mechanical demands on the wheel bearings… no, this one won’t do. Back to the drawing board. 😦

The funny thing is: I never heard any of my teachers ever referring to this while studying electric machines. Not once. Not even a small reference in books. Because “all” motors are cylindric and concentric, this force normally cancels itself (it pulls the inner cylinder towards the outer cylinder in all directions at once), so it’s not even worth mentioning, I guess… :/