Archives: 2019

CNC machined planet output and front housing

Shortly after receiving the sun gear holders, I received the first iterations of the planet output and front housing.

20x of the planet output

20x of the planet output

20x front housing

20x front housing

Both of these seem to have actually adhered to the tolerances I requested, so thankfully it won’t be too hard to fit everything together.  However, getting everything together for the first time did involve a comedy of errors – a lack of planning for assembly order, a lack of foresight into how things would be *dis-assembled*, a stubbornly stuck shaft, and plenty of broken parts.

rpi_bazel updated to clang 7.0

When I initially created rpi_bazel, I set it up to use a host provided clang.  I decided to update that so that the rpi_bazel rules themselves download a binary version of an arbitrary clang.  This lets you decouple the version of clang from what is available in any given Linux distribution and improves the reproducibility of builds, since you are no longer dependent on whatever PPA you used to grab clang from.

Sun gear holder shrink fit

As discussed last time, the sun gear holders I had CNC machined unintentionally had a slightly undersized bore that the sun gear was going to fit into.  The allowance was large enough, that there was no way I was going to press it into place as is.  So, I decided to try a shrink fit, but before I did I wanted to do some math to verify that it was possible with the temperatures I could easily achieve and that I wasn’t going to explode (or even just fracture) the aluminum part from over-stressing it.

Gearbox first CNC machined parts

As seen in my draft plastic assembly, the required alignment between the rotor and stator in the gearbox is relatively tight.  The difference in diameter between the inner race of the rotor and the outer surface of the stator is only about 0.2mm, which gives 0.1mm of clearance in normal operating conditions.  A plastic drive train was never terribly likely to succeed.  My next steps have been to machine the pieces of the gearbox critical to alignment out of aluminum, so as to ensure that the rotor and stator, (and also the gears) are held within some approximation of appropriate tolerances.  The path of joints between the rotor and stator looks roughly like this:

80/20 Robot Stand

Now that I have a mostly-assembled (and even kinda-working) robot, supporting it with a series of impromptu cardboard boxes is both a little janky, as well as limiting and dangerous.  The machine is not too hard to tip over, and the range of things that you can do while still having it supported is somewhat limited.

So, here’s yet another entry in the 80/20 can do it all series.  This is a simple fixture that allows the machine to either rest on a platform, be supported from an overhead cable or both.  This lets me both more easily operate on the machine, but also test it under power and not have to be worried about it falling over and damaging itself.

Draft plastic gearbox assembly

Now with the post machining operations complete (disassembly, stator, rotor, internal gear), I used all the plastic printed pieces to put together a fit test article.  I wanted to use this to verify that all the pieces would not interfere and would function correctly and had an outside hope that the result would be functional.

Plastic gearbox parts on build plate

Plastic gearbox parts on build plate

All support removed

All support removed

Internal gear lathe mandrel

One of the post-machining operations required for the BE8108 gearbox was reducing the outer diameter of the internal gear.  Stock internal gears seem to come with a large amount of outer material, likely because they are intended for stationary process control applications.  For a mobile environment, a 100 tooth gear with a 50 mm pitch diameter is somewhat useless when it has 70 mm outer diameter.

I ended up turning this down on a lathe using a custom 3D printed mandrel.

Rotor machining fixture

After getting the stator out of its housing, the next step is to do the post-machining on the rotor.  Here, I didn’t want any of the original bearing housing, and just needed to drill out a hole in the middle big enough to put my sun gear holder through.  I figured I would experiment with some custom fixturing, so broke out Fusion 360 and drew up a set of “soft jaws”… i.e. *really* soft jaws, since they would be 3D printed.

Removing BE8108 stator

After separating the rotor from the stator, next I needed to remove the stator from the aluminum backplate that holds it into place on the rotor assembly.  It looked like the assembly was at least pressed in, but given that there were no fasteners, it wasn’t clear if it had adhesive, or if perhaps it was a shrink fit.

First, I tried heating up the assembly with a hot air gun, hoping that any adhesive would loosen up and possibly the stator itself would expand or break free.  No dice.

BE8108 motor disassembly

To build the 8108 class gearbox with the geartrain inside, first I need to get the motor apart and separate out the individual pieces that I needed.  Here’s the first in a few posts about the modifications.

The original unmodified 8108 motor looks like:

Unmodified BE8108 Motor

Unmodified BE8108 Motor

To begin with, I needed to separate the rotor from the stator.  First, there is a small screwed on plate which needs to be removed – it just has normal Phillips head screws.