Introduction: How to 3D Print a Multi-Stage Planetary Gearbox

A few months ago I got interested in planetary gearboxes. I want to eventually make a robotic arm using this type of actuator, that could lift something heavier than a phone while still being cost effective. So I started looking look around the internet on how to design one of this types of gearboxes, and in this instructable I will be sharing with you what I found.

Supplies

  • Access to a 3D printer
  • A motor - It could be any kind of motor ( brushed DC, Stepper, brush-less, etc.)
  • Screws
  • Variable power supply
  • An Arduino board
  • An L298N motor driver
  • A joystick
  • Cables

Step 1: Gear Specifications

To be able to design each of the gears, I first needed to layout the known's and make some assumptions.

Known:

  • Motor RPM = 2100 rev/min
  • Train value "e" = 2/8 = 0.25
  • Sun gear teeth = 16
  • Planet gears teeth = 24
  • Ring gear teeth = 64
  • Material = PLA

Assumptions:

  • Train value "e" = 0.25
  • pressure angle = 20 degrees
  • module (sun and planet gears) = 0.75 mm
  • module (ring gear) = 0.76 mm
  • backlash (sun and planet gears) = 0.6 mm
  • backlash (ring gear) = -0.5 mm
  • Gear thickness = 4 mm

With the information above I calculated the center distance of the gears, the pitch diameters and approximated the output rpm of each stage. I wrote the equations in a colab notebook if you guys want to try different tooth numbers. Then I used a CAD software (Fusion 360) to create each of the gears.

Step 2: Design the Housing

When designing the housing I tried to make it as compact as possible. In addition to that I wanted the gearbox to be modular. I want use this gearbox for several different projects like a robot arm, an rc car or a two wheel balancing bot in the future. So by having the flexibility of adding or subtracting stages to the gearbox, I can vary the output rpm and torque, to make it suitable for each project. You can find "STL" files for this design on my thingiverse.

Step 3: Print the Parts

I used Cura Ultimaker to slice the parts. For the gears I printed them with rafts, all the other parts I just used a skirt. I know I don't have the best settings at the moment, but they work for now. If you guys have suggestions on how to improve this settings let me know below.

Step 4: Test the Final Product and Future Iterations

To test the gearbox I attached a rod I had laying around, to see how much it could lift.

I used a variable power supply, an Arduino board, a joystick, and an L298N motor driver to perform the tests. The code that I used can be found in my github, it is modified from other creators like How To Mechatronics, Braini Bits, and DroneBot Workshop. I recommend checking them out if you are looking for a more thorough explanation on how to program the motor driver.

I tested lifting a motor with a slightly bigger gearbox at 9 and 12 volts, but it did not perform very well. I kept increasing the voltage and saw the best results at 18 volts or higher.

In future iterations I hope to reduce the backlash and to design a better housing, so that it can stand on its own when testing. I would also like to compare spur gears vs helical gears to see if there is any difference in performance between them.