Friday, February 19, 2010

LEAF Motor Blitz: Everything but the Windings.

One of the most important lessons I've learned in the last six years of engineering study is how to slow down, organize, and carefully execute a big project.

But screw it, sometimes you just have to put the gas down.

Since my Feb 4 post, I've been blitzing the LEAF motor project, refining the design and building all the new components in two weeks. Everything but the windings. Here's the latest design:



It's gone through significant refinement from the Feb 4 concept mostly as I realized the particular characteristics of a coreless stator that made the design more flexible. The most obvious change is in the mounting and loading: One benefit of the coreless design that I didn't mention in the last post is that, at least in open-circuit, there are no axial forces between the rotor and stator. In fact, in open-circuit, there are no magnetic forces at all between the rotor and the stator. No cogging. The only forces paths are between the two rotor disks.

There is still a tremendous axial force, almost 500lbf, trying to squeeze the two disks together (and crush your fingers in the process) but the coreless version doesn't suffer from the air gap instability I mentioned here, where one rotor disk or the other would rather snap to the stator than maintain an equal air gap thanks to the 1/r^2 law. There's also a very large torque holding the two magnet disks in alignment, much larger than the torque the motor itself is usually producing. All this means that the outer can is, in fact, optional. It does provide a degree of stiffness, but with 1/4" steel-backed magnets, rotor stiffness is the least of our problems.

Ditching the outer can opens up a whole new range of possibilities. For one, wire entry no longer has to be accomplished through the shaft itself, as it would in a hub motor. In fact, the shaft doesn't have to be the mounting point, either. Hence, the blade-like design you see above with a hollow mounting tab that allows wire entry through the side. It's not hard to imagine forcing air through the side as well, for cooling. Here's what it looks like IRL:


The shaft is actually integrated with two machined aluminum hubs. The structure is essentially a sandwich of ABS plastic winding inserts (the black triangles) in 1/32" carbon fiber, with a bit of aluminum thrown in outside the magnet area where extra stiffness is required, such as at the mounting points. The inside thickness of the sandwich is 1/2".

Myth: Carbon fiber is difficult to machine. Actually, it's difficult to make. But if you buy plates of it and just need to drill a few holes, it's actually very easy to do. I didn't even need a mill: I made a nice aluminum template and rotated it around to locate all the holes:


And for the 1-1/2" center hole:



Yep, a wood-cutting spade drill. (Wood is made of carbon too, right?) The pointy edges cut through the thin carbon fiber sheet very nicely just before the flat spot hits the surface.

The result is a remarkably stiff stator sandwich that weighs about 750g and looks really cool. The windings will add another 1.25kg or so to the stator mass, but more about those later.

Even though the rotor disks are no longer attracted to the stator, they still suffer from the 1/r^2 problem with each other. Meaning, they would potentially tend to close the air gap on one side of the circumference while opening it wider on the other side, rather than sharing it evenly all the way around. Furthermore, there will be large forces and torques on the rotor disks from the load as well, coming in through the chain and sprocket. All this suggests that the single conical bearing, even magnetically preloaded, is not at all sufficient to hold the air gap. Without an outer can linking the structural loop, they are under-constrained.

So I did what I should have done before anyway and modified the rotor halves to each be completely supported. Meaning, they each have their own thrust bearing and radial bearing, separated by a large enough distance to well-constrain the rotor disk on the stator shaft. This required an array of new round parts...


...which fit together as in the exploded view above. Also in the category of things I should have done before anyway, the sprocket spacers now have centering features that capture the sprocket. The bolts are no longer used for alignment, they simply hold things together. The sprockets are captured between the two bearings, providing a well-supported reaction to the chain loads. Minus the bolts, it looks like this:


And it spins quite nicely. There will be sprockets on both sides, mostly for symmetry, but it could potentially drive a split axle. I'd like to believe it would behave like a limited-slip differential, but honestly don't know what this would do.

So that leaves the winding. And here I have one last trick: flat magnet wire!


Processed by Alpha-Core, this stuff is rectangular cross-section enamel-coated magnet wire. While it may actually be more difficult to wrap a normal motor with this wire, because it can't twist, it's significantly easier in this case. I can take off an individual winding insert, spin it around while pulling some wire off the spool, put a bit of epoxy to hold it in place, and then screw the insert back in place. (Okay, that makes it sound easy... It's still a time consuming process, which is why I haven't actually done it yet.) The result is a relatively tightly-packed winding that also has a thinner cross-section, cutting down on eddy current loss.

The best part is that I can wind the whole motor. Meaning, it can actually run. It won't be the 30kW monster that this project originally targeted, but it will still fall into the high-single-digit horsepower category, and weighing in at just about 25lbs. It should get pretty good efficiency numbers as well. Testing to begin soon!


Thursday, February 4, 2010

Thought Exercise: The LEAF Motor

Okay, I've been playing with SolidWorks a little too much.

Here's the thought: Since I already have awesome rotors with conical bearings for my axial flux motor, maybe I can get something up and running quickly while I debate what to do about the problems with the full ("epic") version. Specifically, the cost in both dollars and hours of finishing the stator, the difficulty of assembly and testing, and the lack of a real use for it anymore are limiting my desire to push hard on the segmented stator core version, thus far the focus of the project.

Talking to some solar car types got me thinking about coreless motors. A coreless motor is a motor that has no steel core, just windings. In fact, for the first time this year M.E. sophomores at MIT got to make coreless DC motors as part of Mechanical Engineering Tools. They have some obvious benefits, such as lighter weight, no cogging torque, and high efficiency due to the elimination of core losses.

But aren't they, like, way underpowered? It's true that the steel core helps focus current from lots more windings up into a tiny air gap with very high fields. Coreless motors, by contrast, tend to have lower field strengths and less space for windings, both of which limit the maximum torque output of the motor. So this will not be the Epic Axial Motor. Instead, it's been named the

Less Epic Axial Flux Motor

or, for short

LEAF Motor

And I have no less than four ways of estimating the performance of such a motor as is pictured above, which would have a total thickness of 1.7" when collapsed. You know, like a leaf. First, a little more detail about this semi-arbitrarily-chosen test case:

Rotor: Same as before. These magnets on two low carbon steel backings. Not ideal for a coreless motor, but they already exist which gives them +1,000 points by my score keeping.

Stator: 14AWG magnet wire, 28 turns per coil, 12 coils in the following winding pattern: ABCABCABCABC. For once, I'm not using a crazy fractional-slot configuration because cogging doesn't matter. As a reference value, I am using 20A as a reasonable amount of current to put through this wire, which equates to about 10A/mm^2, or 200 circular mil per amp. This is not conservative, but not insane.

Gap: The gap between magnets is 0.7". This means the peak flux density is about 0.5T, with these magnets. This is significantly lower than the 1T field density in the air gap of the steel-core motor. This, plus the fact that 0.7" is not a whole lot of space for copper, is what will make this motor less powerful.

So, what about those four methods?

Method #1: Nibbler

My favorite method, because everyone understands it. Or at least, everyone who has taken high school physics knows the formula for the force acting on a current-carrying wire in a magnetic field:

Just an example.

The force acting on the wire is just: F=IBL (fibble), and it obeys the right-hand rule. In a motor, there are many lengths of wire all carrying current, so we multiply in the total number of active wires, N. Also, to get to torque, we use a radius, R. That gives T=NIBLR (nibbler). In this motor, N=448, I=24.5A, B=0.5T, L=2in, and R=3in. (All roughly speaking...I can justify those numbers but it would take another page of maths.) This gives a torque of 21.2Nm (at this value for current, which gives the same power dissipation as 20A continuous in each wire...don't ask).

Method #2: FEMM Static


The trick I've been using for axial motors in FEMM is to unwrap them around the average radii of action. So, the magnets span from 2in to 4in. I unwrap the motor at the 3in radii, literally unrolling it into a straight line. This has worked pretty well for me so far, but it's a little trickier with a coreless motor, I think.

Anyway, FEMM allows you to set material properties, magnet orientation, turn counts, current, etc. It then can predict electromagnetic forces. It is inherently a statics program, meaning it will give you a force, but won't simulate motion or back EMFs without some coding (see below). Anyway, all I really care about for now is a ballpark torque estimate. So, I put the model into FEMM and put 24.5A into a coil sitting right between two magnets (max torque). It created a force on the coil of 32.6N. If 8 of 12 coils were generating this force, at a 3in center of action, it would create a torque of 19.9Nm.

Method #3: FEMM Dynamic

Here's where it gets ugly. My recent adventures in sinusodial, field-oriented control have got me thinking about better ways to characterize motors. The NIBLR and FEMM Static methods give you torque as a function of current, which is like a DC motor torque constant. This is a pretty good approximation, but it leaves out the important details of the shape of the back EMF, which is related to the shape of the magnets and coils. This is especially true in a coreless motor, where the focusing effect of steel stator segments is not present. So, I've also played around with scripting FEMM to generate a back EMF plot. I won't go into details, but the basic steps are:
  1. Import geometry. Group coils so that they can be selected as one block.
  2. Loop through a set of angular displacements for the coils, moving the block between each one. Run static analysis each time and record flux linked by the circuit.
  3. You now have a graph of flux vs. electrical angle. Take the derivative [Wb/rad] and multiply by electrical frequency in rad/s. [Wb/rad x rad/s = Wb/s = V]
  4. That's back EMF.
The more points you take, the less noisy it will be.

How do you get from back EMF to torque though? Thanks to The Best Motor Reference Ever, I finally understand this link. The idea is simple: Take the back EMF and drive a current into it. That's power. On the other side, you get torque and speed. Speed is already set by the electrical frequency you choose in step 3 above (1,000RPM in the case of this example). So just...solve for torque. This all works very nicely when you assume that both the back EMF and the current driven are sinusoidal. You can then use RMS values to get power.

Doing this quick math for the FEMM dynamic back EMF nets a torque of 18.4Nm for 20A RMS.

Method #4: What the FluxCutter?


Ok this isn't a real method. I just made it up. But it might have some appeal to the mechanically-inclined out there, since it's a very geometric method involving CAD. The problem I was trying to solve was: FEMM is 2D. It can't account for the strange shape of the coil, which occupies a different fraction of the circle at the inner radius than it does at the outer radius. How, then, to get a fourth method (there must be four, now that I said it) without switching to a 3D magnetics package?

Well, I can use a 3D CAD package...like SolidWorks. First, I made a visual representation of the flux density one might see in this motor. I made it sinusoidal, but really I guess you could make it whatever you want. FEMM suggests it might be sinusoidal in the middle, and closer to trapezoidal near the magnet faces. Anyway, a sinusoid seems like a decent place to start. I wrapped that around a cylinder with the correct inner and outer radius, in inches. Then, I scaled the z-axis features such that 1 inch was equal to 1 T. Thus, 1in^3 is really 1Tin^2 which can be converted to flux in Webers!

All that's left was to make the FluxCutter, an extruded cut with the profile of an individual turn of wire, that cuts volume off the bulk shape. By measuring this change in volume, I got the flux. The rest was the same as Method #3. Oh, except I could also account for the slight offset as coils get wrapped in multiple layers. I assume FEMM does this for spread-out coils, but not in 3D.

With a chunk of flux cut out.

I will admit this is just plain silliness. You get more accuracy in the shape of the coils, but less accuracy in the shape of the field. (Unless you can model the 3D field more accurately than a sine wave...which if you can do that you probably already have a 3D magnetics simulator.) But it was fun and did yield a result. The torque predicted by this method was 15.8Nm at 20A RMS.

In summary, the four methods I use predicted reasonable torque values between 15.8Nm and 21.2Nm for 20A through 14AWG wire. I would call that pretty consistent. This says nothing about the operating voltage and current of the motor; that would depend on whether the coils are connected in series or parallel. (Probably, all four would be in parallel, giving an 80A motor...but the torque is the same.) Depending on the achievable speed, this is decent power (1.7-2.2kW per 1,000RPM). And this is not really a peak rating.

What about dissipation? Well, a quick estimate of the resistance of such a winding suggests that at 20A the motor would be dissipating a bit under 200W due to copper losses. So it has a chance to break into the mid-90% efficiency range by 2,000RPM, and even earlier at lower currents. Although I think with the existing bearings it won't.

So, not quite as epic as the full version, but probably worth a try. It's definitely easier to make, and might in fact make a very practical motor.