Land-Bear-Shark and the CIMulink

Has it really been 2 whole months since I shoved LBS under a bench and sort of forgot about it? That warrants a break in my project timeline!

Since then, it’s been slowly migrated all over MITERS as people make space to work on things. My box of hardware and components has collected a fine coat of grinding dust, other people’s projects, and assorted unwanted parts. More than a few tours of the place in the mean time have been given with the parting promise that it will be done “Soon”.

Well, soon is ideally in the next two weeks. I’m picking the completion effort back up again since I want to be tooling around on it come June 3rd.  Control issues aside, the most important unfinished detail is the replacement of the melons (which was the underpinning of its internal reporting name, Melontank) with Plain Ol’ DC motors. The new drive motors are CIM motors, the same kind used in both Segfault and something like a quarter million FIRST robots. So does this mean I have to call it “CIMtank” now?

The CIM motors are much higher speed motors, so I needed a “preduction” to get the speed of the vehicle back down to the range it was in with brushless power. As detailed last time, I was going to do this using a shady little e-bike planetary gearbox and some crafty arrangement of rotating shafts.

This shaft-mounted speed reduction solution has been affectionately named “CIMulink”, after everyone’s favorite MATLAB simulation toolbox. The aluminum sprocket adapter bolts onto the (rotating) planetary carrier, and it spins on bearings which just ride directly on the motor shaft.

Like so. These are the solid part geometries turned from some 2.25″ aluminum stock. I milled a D flat onto the CIM motor shafts so they directly engage the Currie gearbox input. The output “bump” sits in the adapter’s bearing indentation, though it’s the motor shaft itself which contributes most of the alignment in the system.

I removed the sprockets from the Turnigy motors and bored them out to 7/8″ to fit the adapters. These sprockets were some kind of horrible sintered steel that machined like garbage, and would spark if I fed too hard. They also finished poorly and also smelled really bad. What, I can’t even get real steel in my power transmission components any more?!

Anyways, the 7/8″ boreout  left too little “thread” in the hub to tighten a set screw, so the adapter had a blind hole drilled at the set screw location for the screw to seat in. It functions more as a pin in this capacity.  The flange holes in the aluminum adapter were finished using my indexing fixture on the mill.

With some 10-32 low-head cap screws, the adapters were bolted to the Currie gearboxes. The gearbox didn’t have a bolt circle in it originally – the four holes through which it was riveted for structure were drilled out to a depth of 1/4″, then tapped with a 10-32 bottoming tap.

This is what the CIMulink looks like mounted to the mot…

Wait, there isn’t a mount there…

That’s because during all this time, Make-a-bot was faithfully printing out the motor mounting bracket seen in the initial CAD image. Each one of those took about 1.5 hours…. during which I probably could have just straight up machined it, but I’m both lazy and didn’t have stock of the right size to start with.

Oh, there it is.

The mount is a total of 12mm thick and is printed from white ABS plastic. It’s 90% filled, so it will be more than strong enough for the application. Four 8-32 bolts retain the Currieboxen to the mount, and the ears are through-bolted to the frame.  I couldn’t find 3 inch long bolts to connect the new (thicker overall) motor module, so I had to use 3.5″ long bolts for now. They stick out quite a ways, so I’ll either cut them down or maybe just turn them around later.

I’m also going to change the tensioner arrangement – right now, the chain slings under the white tensioner sprocket. I’m finding that I can’t expand the tensioner diameter any further without it interfering with the teeth of the treads, and the chain is still a bit loose. Moving the chain to over that standoff decreases the tension roller diameter needed, but I do lose a tooth or two of sprocket contact. With sufficient added tension, though, I think this should be fine.

With the drivetrain swap completed, LBS looks…about the same it has been for the past four months or so. Well, it’s already 5 months late, so why do I care?!

The track pods draw about 8 to 10 amps no-load per side at 24 volts on a power supply test.

At this point, I could actually just drop the control rig from Überclocker into it or something and be done. However, that’s simple, realistic, and stands a chance of working, so we can’t have that.

In the interest of eventually pursuing the dual-glove “fingerless” control using XBee radios, I’ve elected to use a 2.007 Arduino Carrier board, a wonderful robot motherboard-like device created specifically for the class this year. It even comes with an XBee socket already. But for the next week and a half, which is less time than I can foresee me designing and ordering boards and parts for the wrist controller, the interim solution for control will be just using the Arduino Carrier to interpret throttle and steering signals from a shady 2.4ghz hand-held radio.

I have, of course, prepared a custom motor control solution for it too.

This is a little logicless power amplifier board similar to the Segtroller boards I made for Segfault. The difference is that it isn’t locked-antiphase, just has two independent PWM inputs and a master disable. Gate drive voltage is derived directly from the power rails by a single 15v regulator. So basically, it’s a Small Cute Full Bridge.

Distinct from all the other random motor control modules I seem to make, though, is the fact that it has an ACS714 Hall current sensor in line with the power inputs so it can sense DC bus current. I’m going to try and make LBS current controlled so it doesn’t jerk around. Current control directly dictates the torque a motor can produce, so it would be like setting a maximum acceleration. A current sense output pin is broken out on the header row so I can feed it back into the Arduino board.

These boards are currently out for fabrication, so they should arrive by the end of next week. That’s a little too close, though, so who knows – maybe I will just pitch a robot controller in it!

Project ME2!!!X Goes Legit

I’m back.

Now that classes are finally over (I think I’m supposed to be celebrating the completion of undergraduate studies or something), I can have my life again. Basically what that means is I’ve been CADing like a maniac for the past two days getting the basic mechanical design of ME2X hashed out such that I have a direction to go in when the fabrication starts. While ME2X isn’t supposed to be done by Commencement or something, I’d like to begin the fabrication work ASAP. A more reasonable goal for June 3rd is to get the now neutered Land-Bear-Shark up and running with the CIM drive modules. I’ll probably end up making some kind of custom motor control and interface solution.

Anyways, when I last mentioned the ME2X, it was just a wheel.

A major mental battle I had was how to couple drive motors to this wheel. The trivial solution was to gear drive or chain drive it, but at first that wasn’t very hardcore. Honda’s design actually uses harmonic drives directly embedded in the swirly-discs there. It’s maximally compact and contributes to the U3-X’s clean, smooth exterior. But, I can’t afford harmonic drives. Fortunately, there are indeed other methods of making ultracompact high-reduction drives. One of which is the cycloidal drive, and I even designed one for a middleweight version of Test Bot that unfortunately never came to be, back in 2007. Yes, that’s a Magmotor feeding into it.

Oh yeah, speaking of drive motors…

I chose to revive the Kollmorgen gearmotors that formerly ran Segfault until the output gear stripped out during controller testing. It turns out those gearboxes were using ~48 pitch spur gears anyway, so I suspect they might not have lasted long on Segfault even under normal use. The U9D-E type motors are good to about 250 watts continuous, which should be plenty for this vehicle. In the image above, they’re shown positioned inline and partially embedded into the wheel as a study to see how small I can push the gearing – I need to put around 15 to 20:1 for the motors to have adequate torque, which is actually not that much. Certainly it does not necessitate a harmonic or cycloidal drive, which are generally used for very high reductions in tight spaces which multistage conventional planetary gearboxes can’t fit.

Both harmonic and cycloidal drives require more intensive fabrication than I’m willing to put up with, so I next looked into compound planetary drives. The fastest way for me to explain is to link you to someone else and a wikipedia page. A compound planetary geartrain more or less exploits the difference in surface speed between two slightly different sized gears forced to spin at the same angular speed. It’s one form of differential (in the mathematical sense, not necessarily an automotive sense) power transmission.

What it condenses down to is that you can also get very high reduction ratios using a compound planetary gearbox, but all the components are fairly conventional – they’re just gears. No weird lobey thing to cut and finish-grind, nor do you have to worry about the fatigue life of a oval-shaped cup of steel. The downside is that they generally do not backdrive, but neither do cycloidal and harmonic drives.

With this, I present Inception Drive™.

So I basically blitzed that in the span of a few hours in the early morning (like I have a tendency to do). Can anyone tell me what I just designed? I don’t even.

Well, I kind of have an idea. The Kollmorgen input shaft is in the middle, and it drives the sun gear. There is one (larger) ring gear which the larger set of planets mesh with. The smaller ring gear is the visible one, and it meshes with the compound planets. Overall, the reduction is 16:1.

I think the critical piece missing from this was that I did not design any kind of bearing for the output ring to ride on. I think I was counting on making a metabearing of some sort. Either way, it was only adding to the sheer number of ball bearings I’d have to buy.

And so with the details ruining everything (like always), Inception Drive was scrapped in favor of…

Chain drive.

I know, I’m lame and not hardcore any more. But two stages of chain drive is in fact a great way to get 16:1 or so, especially if the final output is allowed to be huge like this. Chain is generally not associated with precision motion transmission, but I believe the slack (literally) can be taken up by adjustable sliding tensioners that I incrementally move as the chain wears in .

Also, having a widescreen is nice for capturing wide aspect ratio project screenshots like this.  Unfortunately, I feel inclined to write way more in order to make up for all that blank space.

I’ve added said adjustable tensioners as well as done some bodywork here. The components of the chain drive are visible too. The first stage from motor to mid-shaft is 28:14, or 2:1, and the output stage is 90:15, or 6:1, for a grand total of 12:1. I think that’s a little bit on the low side, so I may up the midshaft sprocket size to 32, or even 36 teeth if there is space. The small sprockets are constrained by their maximum possible bore size.

The frame itself looks a bit round and chubby, but I basically want to make the wheel forks big and thick enough to 1. mount electronics in and 2. hide the fact that I’m using a lame-ass chain drive. There is a slot in each side plate so I can install the motors by dropping them in instead of having to build each half of the fork separately.

I’ve added the outer layers of the fork here. This outer layer isn’t exactly supposed to be structural, since the majority of loads in the vehicle are vertical. Having an additional plate held by standoffs would increase side-to-side stiffness, but the primary goal is to create a space to mount the electronics and what I assume will eventually be gaudy lighting. The standoffs make for convenient attachment of the outer plate, but ultimately the electronics should all fit in the “window” space, which will be covered by clear plastic and detachable with fewer screws. The tensioners will also be accessible through the top window. Ideally, I won’t have to take the entire vehicle apart just to service something like Segfault keeps making me do.

The cutout at the very bottom is for…

… this set of compression rollers made of some 608 type skate bearings.

I have one very important disadvantage when compared to the real U3-X – my swirly-disc does not innately possess the ability to engage the rollers, since they are contacting the side rollers on their diameter. There is no way to transmit a normal force sideways. Honda’s system uses chord contact on their swirly-disc, which means natural gravity loading (like you sitting on it) forces the swirly-disc rollers into contact with the side rollers.

One way to fix this is to just preload the entire assembly, or force the swirly discs together using some elastic medium like springs on the shafts or just deforming the thin-webbed disc shown inwards. However, that is an incredible waste of power, since it means I would have to crank all the rollers any time there is a difference in speed between the two swirly-discs, and overcome the cumulative scrubbing torque. Hugely wasteful.

The advantage of the gravity loaded system is that only a few rollers on the bottom are ever being forcefully driven, while the rest freewheel or slide without much interference.

To simulate this, I’ve made up these roller trucks which can be adjusted to squeeze the bottom-most portion of the swirly-discs together. The affected area spans about 3 to 4 side rollers. The adjustment is done through two bolts through the truck body. I think I can 3d-print these on MaB such that they are stiff enough for the job.

Additionally pictured above are the new footpeg-like things and a central spacer (also designated to be 3d printed) for the center axle attachment area.

When Honda created the U3-X, they had to find someone to carefully measure the distance between the Hertzian contact area centroids of many peoples’ ass cheeks. The process was undoubtedly time-consuming and scientifically rigorous, which means it is my God-given mission to replace the cheek pads with subwoofers. I hope also to add music-responsive lighting to the windows there… so this thing will look halfway between a shitty tuner car and a modded PC case.

Alright… now this is getting silly.

But this is about where work on ME2X stands. The mock-fit battery is shown, and will, like Segfault, be a brick of Z123 cells in 10S4P configuration for 32 volts nominal and about 9 amp hours. The mass of the battery on top (if I end up ditching the subs) will hopefully make the vehicle more stable when balancing – a higher mass or longer pendulum results in a slower-to-fall system.

The mechanics of the bottom half are now sufficiently hashed out for me to compile a parts and hardware order.