Cycloidal Speed Reducer in OpenSCAD
Description
By request of Syvwlch ( thingiverse.com/syvwlch ) and WilliamAAdams ( thingiverse.com/WilliamAAdams ), here is a stand-alone public-domain OpenSCAD cycloidal speed reducer. As with the Wankel Engine and Roots Blower I recently posted, this is intended more as an example of an interesting mechanism than as a practical device. If you want a practical printable speed reducer, you might consider one of the other alternatives like
the worm drives on this Tank thingiverse.com/thing:8080 or
differential planetary gears thingiverse.com/thing:7390 or
cascaded spur gears thingiverse.com/thing:7379 or
this planetary gear reducer thingiverse.com/thing:8460
There are several cycloidal-type mechanisms already on Thingiverse, such as
thingiverse.com/thing:3617 and thingiverse.com/thing:3736
There are also several interesting external sites like:
zincland.com/hypocycloid/
fabricationsofthemind.com/2010/07/09/extruder-design-1-printable-1001-hypocycloidal-gearbox/
github.com/triffid/Differential_Hypocycloid
reprap.org/wiki/Differential_Hypocycloid
en.wikipedia.org/wiki/Gerotor
en.wikipedia.org/wiki/Gear_pump
and many many interesting youtube videos such as
youtube.com/watch?v=bRn1K2XeWVE
youtube.com/watch?v=3WvPF6uGCq4
youtube.com/watch?v=CG2sPuqEXBg
youtube.com/watch?v=AMtyFwMDL7w
youtube.com/watch?v=h236SP86nnQ
This present script is based on a design by M.F. Hill described in his 1928 patent "Internal Rotor", number 1,682,563:
google.com/patents/about?id=mdF5AAAAEBAJ&dq=1682563
Note that this design is based on an offset hypocycloid, similar to Figure I in Hill's patent. Most of the contemporary designs appear to be based on an offset epicycloid, more closely resembling Figure V in the patent.
The motivated student can modify the code so it generates epicycloidal-based profiles. Hint: start by making a module ``epitrochoidBandFast(n, r, thickness, r_off)". The motivated student could also probably clean up my train-wreck of code and/or figure out how to do arrays in OpenSCAD.
Note also that these rotors can be used for pumps - see the gifs in the comments for an example.
the worm drives on this Tank thingiverse.com/thing:8080 or
differential planetary gears thingiverse.com/thing:7390 or
cascaded spur gears thingiverse.com/thing:7379 or
this planetary gear reducer thingiverse.com/thing:8460
There are several cycloidal-type mechanisms already on Thingiverse, such as
thingiverse.com/thing:3617 and thingiverse.com/thing:3736
There are also several interesting external sites like:
zincland.com/hypocycloid/
fabricationsofthemind.com/2010/07/09/extruder-design-1-printable-1001-hypocycloidal-gearbox/
github.com/triffid/Differential_Hypocycloid
reprap.org/wiki/Differential_Hypocycloid
en.wikipedia.org/wiki/Gerotor
en.wikipedia.org/wiki/Gear_pump
and many many interesting youtube videos such as
youtube.com/watch?v=bRn1K2XeWVE
youtube.com/watch?v=3WvPF6uGCq4
youtube.com/watch?v=CG2sPuqEXBg
youtube.com/watch?v=AMtyFwMDL7w
youtube.com/watch?v=h236SP86nnQ
This present script is based on a design by M.F. Hill described in his 1928 patent "Internal Rotor", number 1,682,563:
google.com/patents/about?id=mdF5AAAAEBAJ&dq=1682563
Note that this design is based on an offset hypocycloid, similar to Figure I in Hill's patent. Most of the contemporary designs appear to be based on an offset epicycloid, more closely resembling Figure V in the patent.
The motivated student can modify the code so it generates epicycloidal-based profiles. Hint: start by making a module ``epitrochoidBandFast(n, r, thickness, r_off)". The motivated student could also probably clean up my train-wreck of code and/or figure out how to do arrays in OpenSCAD.
Note also that these rotors can be used for pumps - see the gifs in the comments for an example.
Instructions
OpenSCAD for animate!
STLs for print!
DXF for cut!
The minimum clearance around shafts is about 0.6mm. If printed, there might be a little interference at the tips of the internal rotor lobes. The DXFs have the same profile as the STLs, so the beam kerf should provide ample clearance if anyone actually lasercuts it. There are some extra holes in the DXF profiles so pieces can be aligned and bolted/screwed together.
Yet-another-Note: The DXF files were generated directly from OpenSCAD. I am not sure why they preview as having dotted lines in some places, but when viewed with say, Open Office Draw, the lines appear solid.
STLs for print!
DXF for cut!
The minimum clearance around shafts is about 0.6mm. If printed, there might be a little interference at the tips of the internal rotor lobes. The DXFs have the same profile as the STLs, so the beam kerf should provide ample clearance if anyone actually lasercuts it. There are some extra holes in the DXF profiles so pieces can be aligned and bolted/screwed together.
Yet-another-Note: The DXF files were generated directly from OpenSCAD. I am not sure why they preview as having dotted lines in some places, but when viewed with say, Open Office Draw, the lines appear solid.
You must be logged in to post a comment.
TeamTeamUSA
on
May 10, 2011
said:
Awesome! :)
You can do one dimensional numeric arrays like so:
myArray = [1, 2, 3];
for (i = [0:2])
{
echo("", myArray[i]);
}
Arrays are zero indexed.
WilliamAAdams
on
May 9, 2011
said:
thanks so much for the work. Being the OpenScad guy that I am, there's plenty for me to learn. And these will make for good desktop curiosities.
mattmoses
on
May 8, 2011
said:
Here are three examples of different mechanisms that can be created with the OpenSCAD script.


Very good thing!
I guess
cycloid eccentric.stl
and
cycloid driven shaft.stl
are the weakest points in it.
Did you try to either taper these shafts and their holes for added strength
or allow to replace the shafts by bolts?
Looks like it could transfer much more force that way.
(And with 8:1 I guess you get a lot of force.)
Tapering or replacing by bolts is a good idea, but I have not added anything like that. There are probably a number of practical problems that would need to be solved if someone wanted to use this in a real application. It would also probably be necessary to add some type of ball or roller bearing to the eccentric to reduce friction. The pin extrusions on the driven shaft may also have to be replaced with rollers.