Archives: Moteus

Wiring up the gearbox chassis

Now that I had a set of 4 at least minimally working lateral servos, I needed to wire up the chassis so that everything had power and data.  Here are some pictures of that process:

Two legs installed

Two legs installed

Four legs installed

Four legs installed

Joint cable routing

Joint cable routing

Times four

Times four

Suspended from the test fixture

Suspended from the test fixture

Four sets of busbars, the junction board, and a shore power battery simulator

Four sets of busbars, the junction board, and a shore power battery simulator

Lateral servo gearbox build(s)

After completing one gearbox, I needed to build at least 4 more of them to replace the lateral servos on Super Mega Microbot (2).  So, I got to work.  First, I disassembled 5 more BE8108 motors.

dsc_2140

Then, I drilled out the rotors, this time using the mill at AA.

dsc_2145

Next I removed the stators from their backing.  This was painful enough last time, that I tried a new technique using the mill to do most of the work.  Unfortunately, one of the stators was critically damaged during my initial experimentation.  So, now down to 4 survivors.

Rebuild of gearbox assembly

After finally getting the darned thing apart, and printing a new outer housing, I went about re-assembling the whole mechanism.  This time, I tried to take care to make the future disassembly less painful.

To start with, I filed down the problematic outer bearing interfaces of the sun gear holder so that the bearings were a slip fit over them.  These two interfaces don’t need to be particularly snug, so that was easy enough, if monotonous, to accomplish.  I also machined out a some pockets around the magnet hole, to make it possible to just hot-glue the position magnet in place and more easily extract it.

Rotor and stator alignment

Last time I covered getting to the point of having the rotor installed into the gearbox.  Here we’ll look at making it actually work in that configuration.

When I first got the rotor in place, it was clearly not centered properly.  Although much closer than in the plastic gearbox, it did interfere with the stator during a portion of a revolution.  The first obvious problem was that the primary shaft wasn’t making it all the way through the front shaft bearing.  That should have been an easy fix, but for two different very annoying reasons.

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.

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:

BE8108 gearbox

As mentioned last time, I’m working on a parallel track to accelerate my quadruped development efforts.  The current plan is to try and use a BE8108 class brushless motor, with a planetary geartrain mounted mostly inside the existing bounds of the motor.

Here’s a rough exploded view of the CAD model:

Key takeaways are:

Quadruped lateral control challenges

So, after applying power to the robot for the first time, I coded up some simple scripted maneuvers I was going to use to work up to a gimmick jump video.  Unfortunately, I discovered that one of my assumptions was not well founded, and some more work will be necessary.

Background

I started in on this project intending to create a semi-standard servo motor with integrated gearbox which could be used for all the joints.  The brushless motors I am dealing with are only just barely capable of their task without additional gearing.  Along that development path, I built some prototype integrated gearboxes for a 50 sized brushless motor, and even took some videos of it jumping.

moteus RS485 bootloader

After getting the whole robot assembled, I quickly realized that changing the firmware on each of the 12 servos was going to be a big annoyance.  Doubly so, because the lateral servo programming ports were unreachable with this chassis design without disassembly.  Thus, I bumped up a deferred piece of work to implement a bootloader that would allow for reflashing the primary application over the RS485 communication bus.

Pre-bootloader state

The moteus controller currently uses an STM32F446 controller, which has 512kb of flash memory.  The memory map pre-bootloader looked like: