Strain wave drive for featherweights - bringing motors and wheels into harmony

A while back I was thinking about a better way to gear down the lifter in the FW version of Perillelogram, without faffing around with all the bits that go into a hypocycloidal gear. I have also been playing around with supposed “robots” at work that are just these lame arm things, but this brought me back to thinking about Harmonic Drives™, or more generically (but less aestheically), strain wave gears.

I have watched a few videos about 3D printing these in the past, and they all seemed to fall over because they rely on flexibility, which 3D printed filaments suck at. Cycloidal always wins. Except…
[record scratch]
…3D printed filaments don’t suck at flexibility if they’re TPU. Which most robot builders use a lot, even for gears and such, so I decided this was worth a try.

Although the initial thought was sparked by the need for better lifter gearing, I actually felt a more pressing application was the drive for Captain Kathryn Chainway. Originally she ran drill motors at 4s, for a 4wd slightly-undwerweight feather, resulting in a burned out motor roughly every other fight. Upgrading to 37T 550 RC car motors improved this to about a motor per event (5 fights, give or take), but this is still short of an optimal level of reliability and at least in part due to me driving more cautiously. So, I needed more drive power, but I didn’t really want more motors, and wasn’t emotionally ready to go brushless, which meant just BIG BRUSHED. But! This still needs BIG PLANETARY GEARBOX to slow down, which means WEIGHTY. Perhaps 3D printed strain wave gears were the answer…?

I started out designing a test model, just to play around with, and sized to fit in Captain Chainway. The basic idea with a strain wave is to have an rigid, fixed outer ring gear, with a flexible inner gear that is the same tooth profile but has slightly fewer teeth (left). You then distort the inner gear to mesh with the outer gear (right).


The clever part (one of the clever parts) is adding a “wave generator”, which then moves the point(s) of contact around. This causes the flexible gear to rotate in the opposite direction, at a rate that is slower than the wave generator in proportion to the difference in the number of teeth, dibided by the number of teeth on the inner gear (BREATHE). In this case, I have tried mod 2mm, with 28T outer and 26T inner, giving 13:1

The next clever(ish) part is getting the teeth to mesh in a reasonable way while they’re squishing and stretching all over the place. The tooth profile is thus pretty non-standard, with a 30° pressure angle and very rounded ends. Otherwise, the teeth interfere as they flex away from each other.

To get the squishy-rotation somewhere useful, you need a section of material that gradually transitions from elliptical flexing to circular. This was my attempt at that:



You can see I’m getting carried away here and designing pulleys and such onto this. There is also space for a big outer bearing (40mm bore) and potentially a smaller 19mm OD one inside.

The final part to add is the wave generator itself, the thing that makes the whole thing flex:



Some pre-existing 4mm bearings make contact with the inside of the flexible gear.

Time to HIT PRINT:


Note presence of a) roundy-roundy and b) less roundy-roundy in the other direction

This just about worked, buut was very stiff. I wasn’t sure if this was because the print was crappy (I just got a new printer, woooo, but hadn’t quite got the hang of the Orca interface and forgot to turn on the wall-avoiding thing so it was full of bogies) or there was still some interference.

I printed out some test pieces with better quality and extra clearance inside and out. The original geometry was fine with tidier inside surfaces:

So I printed a whole test piece out:

It works! Provisional evil laughter.

What’s (retrospectively) unsurprising is that there is still quite a bit of taper, i.e., a difference in circularity, through the thickness of the engaged parts here. This means thatt the pressure from the wave generator is applied over a small area, and that the teeth are not engaged through the full thickness. There are two ways to fix this, that I can see…

  1. Make the flexing part longer (axially) and/or the preferably not flexing bit shorter.
  2. Change the cross section along the axis of the inner/outer parts so that they fit together nicely when in position.

Currently leaning towards option 2, with a soupçon of option 1, but currently trying to get ready for BEVs next weekend and I’'ve just dropped an important bolt on the floor and lost it so hopefully more updates in a couple of weeks, but right now g2g, must find bolt. TTFN.

6 Likes

That is super cool and I’m watching it with interest. My Featherweight has a straightforward herringbone single stage gear between its 42mm gearbox (originally used 36mm gearboxes until they became the weak point) output shaft and the lifter arm. I am gradually putting more power into it until something fails.

The prospect of high gear ratio in a compact package is indeed compelling, my robot’s gears take up loads of space.

1 Like

Cheers Mark!

I have made some progress, in the form of testing. Results so far are largely positive. Firstly, and most importantly, this is quite a nice fidget toy, although it does have “Bernard-Bernarnd-I’m-a-prostitue-robot-from-the-future” vibes.

In addition, I attached an old surplus 25mm brushed motor with a pulley drive, if nothing else to get the satisfaction of continuous rotation rather than being limited to half a rev at a time by hand. This also allowed me to get some current and rough RPM measurements though, which can then be approximated to torque, power and the like using some classic GCSE physics.

First I popped in one of the 2D test sections I printed before:

This seemed to work, so I put the whole shebang in place:

Next we need to quantify what’s going on. I used a strobe light tachometer on my phone to get some approximations of the rotational speed, and a DMM to measure current from a 12V supply:

Configuration Motor speed RPM Current draw A
Just motor 1460 0.04
Add pulley drive (11:60T) 1150 0.35
Add harmonic drive (28-26 = 1:13) 940 0.55

With 940 RPM from the motor, the 11:60 reduction gives ~170 RPM at the input to the wave generator, and then the 1:13 takes that down to a pedestrian ~13 RPM output.

This data checks out as a nice linear current/RPM relationship as one would expect, and covers a fair chunk of the range so I’m happy I’m not measuring complete nonsense.

The first thing I was surprised by here is how inefficient pulley drive looks. That’s already knocking about 20% off the no-load speed, and consequently using about 20% of the stall torque. The harmonic drive itself is comparable to this, taking 20% of what’s “left” (16% of the total torque).

Next, I’m making some crude assumptions here, but the 795 motor I want to use for a drive system should run at 16000RPM, which is roughly 100 times faster than the input I currently have. Hence, the power consumed by just the wave drive (at full speed) is going to be 100 times higher. This will be at ~16 V, not 12 V, so in crude terms I should need (100 x 12 / 16) times the current difference between lines 3 and 2 in the table above, which is about 15 A (240W) - which is feeling a bit less promising (the motor is 180W).

So I repeated the RPM and current measurement with just the 2D part as in the video above, and this time got 1010 RPM and 0.42 A. This is a bit off the trendline on the graph (and a few repeats indicate the setup is not very… well, repeatable), but interesting as it suggests that most of the losses are in the cross-section transition from ellipse to circle, rather than actually the ellipsing. If this is the case, then I need to focus on this bit:

At the moment, the whole thing is quite hefty, hopefully more than needed, so just removing some material will make it more pliable and hopefully up teh efficiency a bit. I am going to try this out with the big 795 motor next, although I will need something bigger than the 1A 12V wall-wart I’m using for bench testing.

EPILOGUE
For those who have been on the edges of their seats for the last 18 days, I did find the lost bolt - it had fallen into to my case of assorted threaded fasteners, but miraculously I spotted it just as I was closing the case to stop the cats attacking it and making even more bolts go on the floor. So I guess the moral of the story is, cats are actually very helpful???

3 Likes