Sunday, September 20, 2009

What's Next: Epic Axial Motor

Nothing good can start this way...

It was only a matter of time.

The axial-gap motor has been haunting my dreams for some time now. At least since I found $4 wedge magnets (see above for proper shipping and handling procedures). There has to be an easy way to make motors with these! But there are some problems to solve:

Most importantly, how do you make the stator? On the one hand, motors are forgiving and will let you get away with almost any ridiculous configuration of magnets, iron, and coils that you want. Think about it. Nothing inherent in the geometry creates power. You put in voltage and current, you get out torque and speed, and you lose some heat.

That said, if you're going to build a motor in-house you probably want your power in the form of more torque, lest your unbalanced mess of a rotor disintegrate at 20,000RPM. The key to getting torque is to "link as much flux" as possible. In other words, get as many turns of wire under as many magnet poles as you can. And then pass an absurd amount of current through them. But you just can't put as much of it where you'd want it (right under the magnets), so a good, high-torque motor will use steel to help funnel and carry magnetic flux from right near the magnets to the windings. It follows, then, that it would be nice to get as much steel surface area as possible near the magnets, leaving just tiny gaps for wires to fit through. (Take a look at most real motors, axial or radial. At the air gap, it's mostly steel adjacent to magnets.)

The steel is laminated to minimize the circular eddy currents that result from changing magnetic flux. This presents a big problem for axial motors, though. They have features in all three dimensions, so each lamination would have to be a different shape. Expensive to buy. Hard to make. This is about where my though process stopped....

Until I met the YASA motor. This Oxford creation solves so many practical problems that it almost makes you forget about the "trivial benefit" of higher power density resulting from an inherently minimalistic stator design. Originally, the EVT TTXGP crew was going to partner with these guys to produce a motor for the racing motorcycle. But now that partnership looks to be impossible and I'm left wondering: Can we make a version of this cheaply, quickly, and efficiently? I believe the answer is yes:

Just my take on it...

1) The stator problem is solved. Well, Oxford solved it by making the individual stator segments out of iron power core. But pretend for a second that the goal was to make a motor that didn't want to return to a powerdery state when dropped on the ground. If the pole count is high enough, each segment can be made from a stack of progressive H-shaped laminations:

I probably overuse powerpoint.

If you are running on a tight budget, you can even make every lamination the same shape, and then just (gently) grind down the flanges later.

2) The next obvious practical benefit not really highlighted in the technical paper: You can wind each segment independently. No feeding of tiny wires through tiny slots. No finger blisters. No trying to clamp the stator without destroying the existing windings. Once they're all wound, you can just bolt them to the hub and make the interconnections. Speaking of windings, with these magnets and 16 poles, the flux rate at any significant RPM is going to be quite high. I'm not really interested in making a high voltage motor, so the number of windings will be pretty low and the current pretty high. Which begs the question: why use wire at all? How about copper sheet!

Copper sheet conductor.

If each segment only needs less than a handful of windings, why not wrap some sheet around them concentrically? And the insulation? How about Kapton tape! Now you've got a motor that has a pretty good fill factor due to the rectangular conductors, a way to hold them together, and a temperature rating that has got to be higher than that of magnet wire enamel.

3) Another problem with axial motors is high thrust loading due to the fact that the lowest energy state of the motor is a collapsed, stationary pancake, hopefully without finger remnants inside of it. The bearings take a lot of axial load and the rotor especially has a significant bending moment acting on it at the radius of the magnets. This design provides a nice clean way to deal with this: connect the two disks together with a rotating outer can that can go into compression (not pictured in the paper or my little drawing, but I guess it's implied). Good bearings are still a must, but this will make life easier.

4) The segments are more-or-less independent of each other. Flux goes in one end, comes out the other. There is no steel path in between. The practical implication of this is that you can test the motor without a full set of segments (less development investment). How? Build the rotor. Wind one segment. Spin the motor up externally. Measure the back EMF. By virtue of geometry, superposition, and power conservation this can give you most of the important specifications about the motor....I think.

So it begins. We've got laminations inbound and a significant amount of design and testing to do. Could be a big project. Whether it winds up on a motorcycle or not, I don't know. But I am a believer in component-driven design. That is, if it's too cool not to have (like an 8" neodymium wedge magnet set), buy it now and figure out how to use it later...

Now what?

Check back for more axial motor updates and the inevitable design and fabrication of a controller for it when all the off-the-shelf options fail yet again.

Wednesday, September 9, 2009

What's Next: 3ph Duo Controller

Fall '09 is under way with an interesting set of old and new projects on the horizon. The most immediate is yet another motor controller - version 2.0 of the 3-phase brushless series and version 7.2? or something of the modular half-bridge design. A brief history:

Version 5, oddly enough not pictured, is the only one that has never blown up on the go-kart.

Version 1.0 of the 3ph brushless controller, after a bit of troubleshooting, works just fine. It's actually overkill for the application, namely driving a 500W in-wheel motor for the B.W.D. Scooter. The motors can handle a peak current of about 20A. The v1.0 controllers, fans enabled, were tested to handle 75A for 45 seconds on a single phase before the MOSFETs started to desolder themselves. Divide that up between three phases and you get something that would probably handle 75A continuously. Combine that with 48V-compatible MOSFETs (75V rated) and you get a 3.6kW controller...for 500W motors. However, overkill alone would never make me design a new controller. The biggest problem is this:

No Step.

Despite my best efforts to make this more compact than any controller I've designed before, there just isn't enough room for two of them on the scooter. The only solution was to have them stick out through the deck. This is bad for a few reasons: One, it takes up foot space and is going to get has gotten stepped on. Two, it just looks bad. The whole point of putting the motors in the wheels and the batteries under the deck is to make it look as compact and normal as possible. Also, stacking two controllers on top of each other makes one of the fans completely useless. (The fans, along with almost every other component that wasn't soldered down, get beaten up pretty badly due to vibration, too.)

So, the challenge for v2.0:
  1. Run both motors in current/torque control mode with a single controller.
  2. Maintain at least 40A continuous current capability on each motor, at up to 48V. Two 1.9kW controllers on one board will make it actually more powerful than a single v1.0 controller.
  3. Maintain the same x-y footprint as v1.0, if not smaller. This was easy: Eagle doesn't allow you to make boards larger than 80mm x 100mm.
  4. Shrink the maximum height so that everything fits within the scooter deck. This means the entire controller must occupy less than about 1.3" (35mm).
  5. Maintain the existing modular half-bridge driver design. It's optically isolated and I know it works. There are smaller, cheaper ICs that will do half-bridge drive, but now is not the time for radical design change.
  6. Maintain the ability to record and transmit data.
Notice that cost is not an objective? That could be bad... But here are the commercially available alternatives:

The Turnigy Sentilon 100A HV. Ok, I will admit this is impressive. It is one of the most beastly high-voltage hobby RC controllers out there: 100A @ 50V. That's a 5kW controller in a 60mm x 60mm x 11mm package. And it actually wouldn't be that hard or space-consuming to add a current-controlled feedback loop around this. (As-is, it only does voltage/speed control.) But it's not sensor-commutated. Meaning, startup torque will suffer. How much, I don't know. And keep in mind that despite the massive power, it still only runs one motor. Cost for two: $232.

The Kelly KBS48051. This is the cheapest serious-business EV brushless controller you can find for 48V. It can handle 20A continuous, 50A peak for one minute, so about 1-2kW. It is fully current/torque controlled with hallf-effect sensors and regen. You can program it, although getting real-time data off is a different story. The down sides: It's the same size as my v1.0 controller. And still, only one motor. Cost for two: $200.

Okay, down to business. The first step was to find a new MOSFET solution. As much as I love the IRFB3077, there is just no way 12 of them will fit. The key discovery was an inexpensive, integrated three-phase bridge module: The IXYS GWM series, specifically the GWM100-01X1-SL, which is the only one in stock anywhere (Arrow Electronics).


At $21 each, these replace six IRFB3077s at $2.79ea. I consider that a fair trade. Specifications-wise, they have about twice the resistance per FET (7.5mOhm), but also a higher voltage rating (100V). They are rated at 1.3K/W with a proper heat sink, which is about the same as the IRFB3077, except that these share a heat sink tab. I doubt they will match the performance of the 3077s, but 40A continuous per chip should be achievable.

The other key discovery was that I only need one MSP430F2274 microcontroller to generate all six channels. It has four output-compatible timers, but each timer is mulitplexed to two pins, so really there are eight available output pins that can do high-speed PWM. And there are only really two independent PWMs required (one for each motor). It should have no trouble handling the extra hall-effect encoder interrupts, too. The only real worry I have is the 4kB code limit imposed by my free version of IAR Embedded Workbench. Here's why:

Not a lot of space left.

If the code to control one motor costs 3,255 bytes...and I need to control two motors... Well, I tend to just assume that all software problems can be solved. Realistically, most of the code is overhead that doesn't need to be repeated. But let's just hope that they know that 4kB is 4,096 bytes, not 4,000 bytes. I will probably need those extra 96.

Ugh, why am I such an EE? New constaints.... WHAT ABOUT FITTING THE WHOLE THING INTO THE DECK? Which, I believe, was the original point of all this. Here:





The IXYS FET modules get thermal pasted to the aluminum deck, which should make an excellent heat sink. Wires get soldered in directly like in the Turnigy - no more bus bars. The single MSP430F2274 controller board gets a new home dead-center. All the gate-drive circuits have been made surface mount and take up both sides of the board now. The 15V switching regulator and associated inductor are surface mount. The only thing that can't really be made smaller are the current sensors...but they are in the right place now, at least. The result: the board occupies only 1.2" of vertical space.

And the final cost of components? Let's see... $42 for the FETs + $23 for the MSP430 board + $32 for the radio + $73.50!!! for six isolated high-side supplies + $31.62 for twelve optically-isolated gate drivers + $32.74 for two current sensors + $8 for the 15V supply + $25 for misc passive components and connectors. $270. No, I didn't count the cost of circuit boards. But I'm only building one. Extrapolate to high quantities and the total cost here isn't that bad.

I'm sort-of hoping it just works. The only major hardware changes are the MOSFETs and the placement of the current sensors. The most likely failures are actually on the software side, since I changed so many of the pins. I tried my best to think through the pin assignments, but there's always the chance that I missed something that will result in a disappointing, smokeless failure. If so, there will have to be a version 2.1...

I'll post the new schematic after testing.