Monday, January 30, 2012

Did you know that Flinch still exists?

If you don't even know what a Flinch is, I don't blame you, since I last posted about it in June 2011, and it's been sitting on a shelf ever since. It's a miniature Mecanum-wheel robot that was supposed to be a smaller companion to Twitch:

Unfortunately, I ran into trouble with the FingerTech 2.125" Mecanum wheels. The rollers are nicely-molded rubber, but the shafts are just 1/8" brass rods riding directly on the plastic hubs. Steel washers separate the rubber from the face of the plastic, but there is still way too much friction for the rollers to do what they're designed to do. (For reference, here's a smooth-driving ~40lb Mecanum wheel chassis. And here's the full ~110lb robot.)

FingerTech does sell a bearing upgrade kit, but I have my doubts. The bearings they sell are needle roller bearings, which can only handle radial force. The roller shafts can still slide sideways, allowing the metal washers to rub against the plastic face of the wheel. That, if anything, is the large-surface-area friction culprit of these wheels. So, I decided to go my own way and get much more expensive SR144ZZ ball bearings:

Pictured: Lunch money for three days.
Additionally, I bought some 1/8" ID bearing shaft shims, McMaster P/N 99040A316. These tiny shims keep the metal washers that come with the Mecanum wheel rollers separated from the inner race of the bearings, spacing them out from the side face of the wheel. This allows the ball bearings to take up the thrust load, rather than the face of the wheel. Here's the roller, stock washer, and extra shaft shim all in place on one shaft:

The next step was boring out each of the 24 roller shaft holes from 1/8" to 1/4" to accept the new bearings. Since the faces on which these holes are drilled are at 45º to the rotational axis of the wheel, and spaced 60º radially from each other, and there are two different (mirror image) wheels, this was not a simple task.

Or maybe it was, and I made it way more complicated.
In any case, I managed to increase the roller bores to 1/4" in a way that isn't idiotic. The next step in this already-too-long-and-expensive process was to take apart all the wheels:

Then, I pressed in the bearings one by one and...realized I only ordered half as many SR144ZZ's as I needed.




A few days and $70 later, I finally got around to reassembling all four wheels with the new bearings.

And after all that work I had four wheels that look exactly the same as they did before, but cost 122% more than FingerTech pretends they do. At least they will be more functional. Except they weren't, at first. After just a minute of driving around, half the bearings had slipped sideways, allowing the metal washers to contact the sides of the wheels again. This was mostly because the new bore was exactly 1/4", so the press fits were loose. So, I took all four wheels apart again...

...cursing myself for ever thinking this was a good idea.
And I very carefully added CA to each of the 48 bearings (two per shaft) to hold them in place:

I used a sharp object to spread CA around the bearing perimeter so it would wick into the bore, hopefully without getting into the bearing itself. I managed not to ruin any bearings, but the process took half a day. And then I still had to reassemble all the rollers. 

I wish I could say that the result of all this Mecanum wheel re-engineering was a wonderful drivetrain that will rival Twitch for its speed and maneuverability. I wish I could say it was all worth the effort and the money. But, after putting it all together and running it, it's still only barely passable as a Mecanum, drive:

Yes, it moves sideways. But it's a jerky, bumpy, inefficient sideways. All Mecanum drives are less efficient sideways than they are forward, but this one is really fighting. It tends to rotate while moving sidways as well, which is a sign of mismatched wheel friction and bad weight distribution. That can mostly be compensated out by gyro feedback. But the gyros won't be able to stop it from bouncing around like a cockroach bot. That's mostly a function of the wheel shape and twitchy nature of small/light robots with oversized motors.

So I'm not sure how much more time or money I'm willing to spend on it. I feel like adding weight, switching to a higher gear reduction, and adding closed-loop rotation control would help a lot. But the thought of buying new gearboxes, a gyro, and possibly stiffer chassis plates makes me cringe. I'm glad it isn't just sitting half-finished on a shelf anymore, though.

Monday, January 23, 2012

tinyKart: More Abuse

Poor tinyKart. Pretty much ever since we built it and it didn't fall apart, it's been put through a series of tests it was never designed for, including off-roading, hill climbing, and Radu. But this week, it was given its toughest trial yet: New England winter weather rallying. The thing about living on the coast is that it's not just snow - it's cold rain, mist, sleet, salt, slush, dirt, and sometimes snow. To really handle all the crap that occupies the ground here during the winter months, you would need something like a small tank. But to make some attempt at handling the winter season, we splash-proofed the electronics and fitted Razor Dune Buggy tires to the rear wheels:

After that, there was only one thing left to do, and that was to hand it over to our tame racing driver. Some say his urine turns snow blue, and that he doesn't believe in polar bears. All we know is...

...he's called The Stig.

The aftermath was a very snowy and very dirty tinyKart:

But it was worth it. The kart behaves as a RWD ultralight kart with a lot of torque should in low-traction conditions, which is to say that it either goes in a straight line, if you are trying to decelerate, or spins in violent circles, if you are trying to accelerate. This wonderful combination of user-selectable understeer and oversteer makes it a lot of fun to drive, though not particularly practical for real rallying.

Somebody should make a 4WD version...

Thursday, January 19, 2012

Precision SMALL Prop Balancer

The biggest problem I've had with my PCB quadrotor has been mechanical vibration disturbing the rate gyros and causing the angle estimate to drift or be unstable. While the small and flexible frame exaggerates the vibrations, their source is imbalance of the propellers and, to a lesser extent, the motors themselves. So far, I've been balancing the propellers by spinning them on a small allen wrench and watching which way they prefer to settle, but this is obvious not ideal. The problem is, commercial prop balancers are useless for props this size:

Here's a commercial prop balancer from Hobby King, which has "very low friction bearings" on which a shaft with conical plugs rides. There are other types that use magnets to hold the shaft. They work pretty well for large props. This one can probably be useful for 8" or larger, and the magnetic one might be able to do 5" props. Smaller props weigh less and the friction in the bearings or at the shaft/magnet contact cannot be overcome by the slight imbalance of a 4" prop. My main beef with them is pretty simple:

For small props, they work better if you ditch the bearings altogether and use them as horizontal rails. (You could even argue that the same is true for any size prop...) Why not minimize the number of rolling contacts by using the shaft directly? There is much less friction this way. It's like somebody Google'd "prop balancer" and built something that looked like it should work without thinking about a simpler way to make the same thing. There are some commercial balancers that use simple rails, and no surprise, they tend to be for boat props and RC car wheels. If they work for such small things, they must work better for large props.

I know what you're thinking: How do you know the rails are level? The answer is the key to my new precision small prop balancer:

Those are two nice-but-cheap bubble levels from McMaster, P/N 2151A65. They are aluminum-and-plastic levels for $8.51 each. Add to that one precision-ground tool steel shaft, P/N 2900A222, and you have a precision small prop balancer for about $20. I use the prop adapters that come with these small 1.5mm-shaft motors to sandwich a prop on the shaft:

Then after finding a level surface, I place the shaft on the flat aluminum edges of the levels and let gravity do the rest:

It's almost that simple. There are a few subtleties:
  1. Make sure the level edges are clean and free of dust/dirt.

  2. Make sure the set screws are tightened evenly and facing perpendicular to the prop blades, so they don't contribute to the spanwise imbalance. (They will contribute to chordwise way around that.)

  3. Depending on the chordwise balance, you might get to a state where the prop seems bistable, so that it will settle on either side but never stay horizontal. If so, rotate 180º.
That's pretty much it. 4pcb's props were already pretty well-balanced, but after a bit of tweaking with the more precise balancer, it became even easier to fly. It takes off and hovers more smoothly and remains in one place for longer with no command inputs. Because of this, I took some time to learn a new trick: hand launching!

Monday, January 9, 2012

tinyKart: "Winter" Special

I was planning to keep tinyKart inactive for most of the winter to upgrade the power system and move to custom controllers, figuring that it's too cold to do any test driving anyway. But for some reason  it's 50ºF in early-January in Cambridge, MA. That, combined with tinyKart co-designer Max Hill being in town, along with a some other distinguished visitors, was enough reason to put the kart back together for a brief "winter" testing season.

The first things to fix up were a few loose screws in the steering assemblies. Normally, loose screws aren't a problem: take them out, add more Loctite, and re-tighten. But these screws were a little hard to access:

They're the six screws that hold the uprights together, and they were not designed to be accessed without taking the entire front chassis plate of the kart off. By dislocating some of the steering linkages, though, two out of three on each side could just barely be reached with a screwdriver. To make matters worse, they were stainless steel cross-head screws, which are easy to strip. So, after careful removal, they were replaced with alloy steel Torx-head screws which will hopefully never come loose:

Max and I also finished yet another motor swap. tinyKart started on Turnigy SK-6374-170 motors, which were excellent except for the lack of can bearings, which allowed them to tear themselves apart at high speeds. I then installed but never test drove the newer SK3-6364-190s. They have can bearings and nicer windings than the old SKs, but I'm still annoyed that they're not actually 63mm motors. They're 59mm and they have a smaller shaft than the old SKs (8mm instead of 10mm). The smaller diameter messes with the timing of the external Hall effect sensor boards I made, which were specifically designed for 63mm. The resistance of the SK3-6364-190 is also 60% higher than the old SK. So, we removed those and installed the third set of motors tinyKart has seen so far:

These are Turnigy EMP C6374-200s from Leaders Hobby. As far as I can tell, they're identical to the Turnigy C6374-200 that is no longer stocked on Hobby King. It is actually 63mm in diameter and it has a 10mm shaft, like the old SK. But it has a can bearing like the new SK3. The only noticeable shortfall is the messy/loose windings, characteristic of the old SK and old Turnigy motors in general. The SK3s are probably perfectly suitable motors, but right now these are a better deal, especially since Leaders Hobby ships them from the US. It's good to have a few options; I dread the day when the imported fruit-sized motors disappear and all that's left are the economically prohibitive purple-flavored ones.

Because the C6374-200 is actually 63mm, the sensor board fits nicely and the motors are relatively easy to time for forward and reasonable reverse, unlike the SK3s. These motors should have about the same amount of torque as the old SKs. Even though those were rated at 170rpm/V, our data showed something closer to 190rpm/V, almost the same as the new EMPs. These should be able to handle higher speeds, though, since they have a can bearing. At 190rpm/V and 40V, the no-load speed is 40mph. But we will have to solve the controller limits and find more testing space before that can happen.

The Kelly controllers have been okay, but quirky. When they don't like something, they cut power temporarily and give a useless "Frequent Reset" error code. It's dependent on load and motor timing, and seems to trip when the maximum current is set to 80A or above (on a 100A-rated controller). I think it's a hardware current limit being tripped by current spikes. I think the high speed firmware version would handle these motors a lot better, since the switching frequency is higher and the current ripple should be lower. But I'm not sure I want to spend $400 exploring that option when I could implement DirectDrive and, some day, have sensorless field-oriented control. For now, though, we have to live with these Kelly controllers.

We also installed new batteries to replace the 0.33kWh of LiPo high explosives that tinyKart has used up until now. This pack looks shadier, but it's LiFePO4, which is significantly less frightening to work with:

The orange straps make it safer.
The packs are custom 12S3P A123 26650 m1-sorta-B's (39.6V, 6.9Ah, about 30mΩ). They've got a little less energy storage than the LiPos (0.27kWh), so less run time per pack. But the packs are easy to swap now and can be fast-charged in under 30 minutes with Cap Kart's 15A charger. The also have a lower internal resistance than the LiPos or an equivalent pack of A123 M1A cells, which means higher peak power (theoretically up to 8kW).

With the new motors and battery installed, we took tinyKart out for some garage testing:

It's nothing as brutal as the last couple of garage runs, just making sure everything still works. The controllers seemed to be okay, although I was able to make the right side cut out a few times at full throttle. The new motors are equal in torque to the old ones, and the new battery seems fine. The handling is as wonderfully drifty as usual, and a close inspection afterwards revealed no loose parts.

So, while I sort out the details for converting it to custom controllers, we at least have something to play with if it stays warm. If not, we also have a back-up plan involving snow tires...