Friday, October 15, 2010

Pneu Scooter: Δt5

Pneu scooter large tasks:

1. Stator and rotor. Δt1
2. Deck fabrication. Δt2
3. Batteries. Δt2
4. Wind motor. Δt4
5. Motor-to-wheel adapter fabrication. Δt3
6. Encoder. Δt5

Yes, all the large tasks are done. No, you can't ride it yet. There are still a large number of small tasks to be accomplished, such as mounting the front wheel, adding connector and wires, and tweaking/tuning the controller. But I did make some progress. First, I terminated the motor:

It's a "distributed LRK" winding, but split into two half-motors [AabBCc] and [aABbcC] on opposite sides of the stator. Connecting the two half-motors in parallel and running wires out through the center shaft completes the winding of the stator.

Next, a part that wasn't really on the "large tasks" list but is still fairly important: the motor end cap. Since the end cap is not part of the load path from wheel to deck, it wasn't as critical as the wheel adapter. And the motor would spin fine without it thanks to the two wheel bearings. But I thought it would be good to just get it done so that the motor itself is a completed unit.

I went with the trademark transparent polycarbonate sides of the BWD motors, but added a chamfer to the edge (the way Max originally drew it...sorry Max). Also, a trick I learned from BWD: using a large screw and nut as a lathe fixture:

Nuts have six sides. Lathes have three jaws. Commence happiness.

Moments later, this:

Okay, I may have skipped a few steps on the mill. But it's the same hole pattern as in the outside rotor spacer, so I already had the X/Y coordinates I needed. I wound up taking a bit of extra material off the inside surface just to make sure the windings would clear without rubbing on the end cap. Here is the finished Pneu Scooter motor:

The end cap actually straightened the rotor out a bit. Not that it really matters since the rotor skew is on the order of 1mm from one side of the motor to the other. After final assembly I re-tested on the lathomometer and found the back EMF constant to be 0.206V/(rad/s) - which is also 0.206Nm/A - assuming sinusoidal commutation. That's pretty much right on target using any of the prediction methods I've tried. It's roughly the same constant as BWD's front motor, but since it will be able to pull more Amps, it will have higher peak torque. (Though admittedly not as much as BWD's two motors combined.)

I still needed a commutation encoder, though. I decided against internal Hall effect sensors and was geared up to pursue a reflective optical track with IR sensors. I even printed out a set of tracks and laminated it. But then I had second thoughts. Such an encoder would be sensitive to changes in ambient light, dirt, water droplets, all things I'm likely to encounter. Hall effect sensors are nice because they are immune to most of that. But internal Hall effect sensors are impossible to adjust without disassembling the motor, and also they may interact with stator flux. As an encoder of absolute rotor position, the sensor should be picking up rotor flux only. (In a PM motor like this, the difference might be minor.)

BWD used external Hall effect sensors, mostly because we didn't know any better. But they actually turned out to work very well, picking up the fringing field from the huge, overhanging rotor magnets through the polycarbonate end caps. This time, though, the magnets don't overhang very far and the field on the outside of the rotor is not enough to reliably trip the sensors. Somewhere on this train of thought I was browsing on McMaster and stumbled on P/N 3651K4, a flexible magnet strip that's sort-of like an industrial refrigerator magnet. I wound up just cutting this strip into 14 equally-spaced pieces and gluing them to the outside of the rotor can.

Total elapsed time for thinking of this idea, ordering magnets, thinking it is probably a bad idea, doing it anyway, and finding out that it works fine: three days. Yes, it will pick up metal junk from the ground. But so did BWD. It's good for cleaning the shop floor / finding small hardware.

The companion for this sense magnet strip is an external Hall effect sensor board, which I made from convenient polycarbonate:

It also happened so fast that I didn't have time to second-guess it. The surface is courtesy of a 5" boring cutter, which is probably the most dangerous thing I've ever stuck in a mill. The sensor spacing is 17.1º, which is 360º/7/3. (Seven pole pairs per revolution, three sensors per pole pair.) This board mounts to the inside of the rear fork, with a small gap between the sense magnet strip and the Hall effect sensors. The sensor cable from the controller plugs right in to the connector on the sensor board.

And that just leaves the big question: Does it run? Well, as it turns out, I have not quite met my goal of producing a drivable scooter before I leave for a month-long trip to Singapore (during which I will certainly be posting). But the point, maybe, was just to motivate me to actually work on it since I find that grad school generally makes me slow and unproductive as I sit and ponder theoretical possibilities or work on prep work for 2.007. Besides the handlebar and front fork/wheel, there is still a lot of wiring to be done. I did manage in the last bits of time I had left to get the controller operating in six-step commutation mode (noisy mode, I call it), and the motor spins quite nicely. This means that even the hand-cut sense magnet strip is good enough to trigger effective commutation. But it will take some more debugging to get it running in full field-oriented control mode. And I am flying out in a few hours. Hrmmm, what to do...

 To be continued.....

Thursday, October 7, 2010

Pneu Scooter: Δt4

Pneu scooter large tasks:

1. Stator and rotor. Δt1
2. Deck fabrication. Δt2
3. Batteries. Δt2
4. Wind motor. Δt4
5. Motor-to-wheel adapter fabrication. Δt3
6. Optical encoder.

This is the painful step. Actually, it wasn't too bad.

Extensive lathomometer testing with a test winding of 40 turns per tooth predicted a back EMF constant of 0.190 V/(rad/s) under sinusoidal control. In RC terms, that's Kv = 50.3 rpm/V. This would give a no-load ground speed of almost 30mph at 33V. That's a bit fast, but in the right ballpark. There's really no such thing as a no-load ground speed, so in reality the top speed will be lower. But still, I decided to trade a bit of speed back for more torque by planning for 45 turns per tooth.

Interestingly, this makes it identical in turn count to BWD's rear motor. Since they have identical 2D geometry and per-phase turn counts, the only difference is the stator stack length: 0.875" for BWD and 0.625" for this motor. Shorter stator means a lower back EMF constant (or a higher Kv). BWD's back EMF constant was for six-step commutation, not sinusoidal, but should still give a reasonable estimate. From this, Pneu Scooter's motor would come out at around 0.214 V/(rad/s), or Kv = 44.6 rpm/V.

Enough math: Let the winding begin. I opted for double-stand 22AWG instead of bulky 18AWG like BWD's motor. With it, hand tension is sufficient for making the turns, so I can hold the stator and wrap it with wire rather than fixturing the stator and using extra equipment to keep tension. I've given up on ever having the patience to wind motors with perfect layers. I started each tooth with a clean layer, sometimes even two clean layers, but after that my only concern was fitting the turns in wherever they would go. Here's the first half-phase:

It's a 12-slot distributed LRK winding: [AabBCcaABbcC]. But, rather than wind Aa and jump across the stator to aA, I'm splitting it into two half motors: [AabBCc] and [aABbcC] which will then be connected in parallel "Y's" for twice the current. Turns out this is the proper way to split a dLRK winding into two parallel motors - you can't just wind two interleaved LRKs. (It took us some time pondering and reading German websites to figure that out.) If you're following, each phase will then be 90 turns of 4x22AWG wire, almost double the current-carrying capacity of BWD, which had 1x18AWG. If you're not following, maybe this will help:

 No, probably not.

The idea here is that, after winding six sets of two teeth in the same manner, all the stars are connected (or, at least into two groups) and then the A's, B's, and C's are connected in parallel. To make things even more convenient, add or subtract a half-turn as necessary so that all the stars are on one side and all the A's, B's, and C's are on the other. That's what I was shooting for. Here's all but one set of teeth wound:

The last set is blocked in from both sides, so it was the hardest to fit, but ultimately it worked. The plastic end laminations do a great job of protecting the windings from the edges of the teeth, but the inside surface of the top of each tooth is relatively unguarded and a likely place for shorts. I found at least one, but luckily it went away with some shoving of wires away from the tooth top. Ideally, I would have epoxy coated the tooth tips ahead of time. But, as it is, I'll live with encasing the entire thing in epoxy while nothing's shorted.

 I hate epoxy.

We didn't do this on BWD and I kinda don't like it in general. It's a bit too permanent for me. But it should offer more protection against vibration and shock knocking the windings around. It might also help with heat transfer to the core. Or it might permanently encase a mistake that will cause me to have to re-do the entire stator. We'll find out in a few days!

Sunday, October 3, 2010

Pneu Scooter: Δt3

Pneu scooter large tasks:

1. Stator and rotor. Δt1
2. Deck fabrication. Δt2
3. Batteries. Δt2
4. Wind motor.
5. Motor-to-wheel adapter fabrication. Δt3
6. Optical encoder.

Another weekend scooter party at MITERS, another large task taken out. I decided to skip over the motor winding and instead tackle the most critical part of the pneumatic wheel hub motor: an aluminum adapter that joins the BWD-profile rotor can to the plastic rim of the pneumatic caster. This part:

The reason I identify this as the most critical part is because, against my better instincts, I am relying on the plastic wheel hub as an integral part of the motor's structural loop. It takes the place of what would normally be a carefully machined aluminum or polycarbonate side wall, and I have to live with both its relative elasticity and its imperfect geometry. The good news is that it has very nice bearing pockets already and a flat, thick rim. The aluminum part in focus reinforces the rim and aligns the rotor so that it's concentric with the bearing pockets in the wheel hub.

Unfortunately, this thin part has an inner/outer diameter combination (4.625", 3.313") that didnt' match up with any tubular aluminum stock, so I used a solid 5" diameter chunk of 6061, which is certainly the biggest stock I've ever started from...

Before and after.

Needless to say, this was not the quickest operation ever. From that chunk of aluminum I also made the outer rotor spacer, which is almost a mirror of the rim adapter. Here they are together, before adding bolt patterns:

The outer rotor spacer (right) has one less "step" than the rim adapter (left) because it clears the stator entirely, which is good because it means I can drop the stator in and spin it without actually removing any of the parts that hold the rotor to the wheel, something I'll get to later. But first, lots and lots of bolt holes.

First, in the wheel itself. I made a multipurpose mill fixture out of the leftover scooter deck u-channel. The part to be machined is screwed into the u-channel from below. Here, the wheel gets a pattern of seven 4-40 tapped holes, centered on the bearing pocket's ID. The thick rim allowed several full threads, which is good.

Next, the matching countersunk hole pattern, as well as another set of seven tapped 4-40 holes for the rotor can, went into the rim adapter:

And when the aluminum chips settle, the rim adapter and real bearings make the kinda lame caster wheel look like something a lot more respectable:

The rim adapter actually isn't in the load path from the tire to the shaft; that load goes straight into the two wheel bearings. Instead, this part is only responsible for aligning and holding the rotor in place over the stator, which is fixed to the shaft that passes through the wheel bearings. So, I'm not worried about the 4-40's getting ripped out of the plastic or anything. I'm more worried about concentricity and bolt pattern alignment. The wheel hub itself is not perfect, though, and the stator stack is very skewed, as I'll mention later, so I probably didn't have to obsess about this part as much as I did. But whatever, it's still cool.

With the rotor and (still blank) outside rotor spacer, the assembly looks like this:

The outside rotor spacer's inner diameter is just about tangential with the flat spot of the magnets, which means it easily clears the stator. This is a very nice feature because it means that I can add the seven bolts that hold the rotor to the rim adapter before dropping the stator in. And, because the wheel already has two bearings, the stator should be fully supported without the eventual outside bearing plate. This is extremely convenient, as you will see shortly. But first, the rotor and stator together for the first time:

After the satisfying snap of the stator being sucked in by the magnets, I was very pleased to find that it did in fact spin freely with no outside bearing. I'll still add the outside plate and bearing for weatherproofing, but this gives me confidence that the plate is non-structural (or at most semi-structural...) and can be made thinner to accommodate more windings if necessary.

While the rotor has a little bit of wobble due to the imperfection of the wheel hub itself, it's nothing compared to the major skew in the stator stack. And not the good kind of skew...this is the kind that closes the air gap on one side of the motor... 

...and opens it on the other...

The stack must have been poorly fixtured during the gluing phase. It's not quite as bad as it looks, since the inner layers of laminations have almost the opposite skew. But there is still a net asymmetry that has me worried, and unfortunately I am just a few laminations short of being able to produce another stack. I think it will still work, since BWD's extra-thick magnet design is supposed to absorb exactly these kinds of manufacturing errors.

I know! Since the motor is well-supported without the outside bearing, I have temporary direct access to the stator... Why not put on a test winding?

Here is the motor with three test windings: one on the "wide" air gap side, one on the "narrow" air gap side, and one in the middle. Each winding is 80 turns on two adjacent teeth (40 per teeth), which represents a single phase of the motor. Two such windings on opposite sides of the motor would be wired in parallel for the final configuration. I used very small gauge wire here since it's only for no-load back EMF measurement. And yes, the wheel is being driven by that lathe while the stator and shaft are fixed in the drill chuck...

The result was only about a 5% difference in generated voltage due to the skewed stator. The projected torque constant is pretty much on target at 0.191Nm/A for the narrow gap side and 0.183Nm/A for the wide gap side. Wiring the two opposing sides in parallel will create some current flow and I²R loss because of the different constants. But, taking into account the operating voltage and estimated resistance, this should be a small (<1W) power drain at worst. So, I should stop worrying and just wind it already.