Hypocycloid How To (25:1 example)
by doctek, published
This Thing includes complete design files in OpenSCAD and instructions for customizing to your own needs. There is a set of stls which can be printed to produce the example shown in the videos. Note that the zip archive provides some files not listed separately. Have a look at video here: http://youtu.be/NP0ElIfxF14
The inspiration for this Thing was Thing 43176 and the first section of video is of my build of Thing 43176 in action. It provides about a 50:1 reduction. In the video, you can see that the output slows the drill down a lot. To build this, I had to reduce the rotor stl 98% with netfabb, then enlarge the bearing mounting ring with a Dremel. Pretty cool result, but three things were lacking. First, it's too big â€“ bigger than the NEMA 14 I wanted to mount it on. Second, the gear ratio is too high. Third, the output shaft is M8; I'd like it to be M5.
Looking for more information, I found Thing 8348 and Thing 19649. While these provided very useful pointers to hypocycloid design info (and the crucial Alex Lait script), there still seemed to be a lack of information on how to actually design a hypocycloid gear reducer. My Thing and the files associated with it are an attempt to explain the process in more detail. It is both an extension of the design and an explanation of how to create a Hypocycloid Gear Reducer. While not quite ready for Customerizer, it should help a lot of people design these devices.
The remainder of the video shows the design this Thing (25:1 reduction) running on a NEMA14 stepper. The motor is running at 5 and 10 revolutions per second. It also shows the same motor without the reducer running at 5 and 10 rps. The final section shows the reducer being reversed.
Credit where credit is due:
The key enabler for the Hypocycloid Gear Reducer is the Python script from Alex Lait ( http://www.zincland.com/hypocycloid/ ). None of this would be possible without it. While I provide a slightly modified version of the script to make it easier to use from the Python IDE in Windows, I have done nothing to improve the calculations in the script in any way. All credit goes to Alex Lait.
Likewise, the detail design of this two cam reduction is the work of JEdren (Thing 43176). All credit for the details goes to him.
All I have added is an OpenSCAD version of the design and the instructions for modifying and customizing the design. I hope you find this useful.
1 - NEMA14 stepper motor. (Shaft on mine was threaded; put a set screw in the input shaft if you need one.)
2 - Bearing 6700ZZ 10x15x4 Shielded Ball Bearing from vxb.com
2 - Bearing 5x10 Shielded 5x10x4 Miniature Ball Bearing from vxb.com
1 â€“ M5x25mm (or the length for your application) hex head bolt. This is the output shaft.
4 â€“ M3x35mm hex socket bolts to mount to a NEMA14 stepper motor
Print one each of all the parts. I print with 0.2mm layer height, 40% infill, infill every other layer, two vertical shells, and three horizontal shells, but I don't think it's critical.
(I found it helpful to use a Dremel with a rotary file to clean up the printed parts. Using this gently can make it easier to fit the bearings and to get the rotor to rotate smoothly.)
Put one of the 10mm bearings onto the input shaft.
Put the lower case over the motor shaft and put the input shaft on the motor shaft. The motor shaft should protrude from the input shaft about 3mm to 5mm.
Put the rotor onto the input shaft and seat the bearing.
Put the other 10mm bearing onto the input shaft and seat into the rotor.
Put one 5mm bearing into the output block. The motor shaft will seat in this.
Put the head of the M5 bolt (output shaft) into the pocket on the output block.
Put the other 5mm bearing into the pocket in the upper case.
Put the output case onto the output shaft and use the M3 bolts to mount the Hypocycloid Gear Reducer to your motor.
Spend the next hour or so fiddling and filing, dissembling and assembling to get everything moving smoothly and easily.
Note that the gearboxes seen running in the videos had no lubrication applied. A little plastic lubricant makes things noticeably smoother.
Use this Thing as the heart of your own cool project, or design a new version (using the instructions I provide) to do just what you want.
Note: To build the exact version I provide, you may want to Scale the cams for the rotor to 99% when you import them to OpenSCAD. I had to do a bit of filing with a Dremel to get smooth motion. Note that scaling on input to OpenSCAD is preferred to scaling with netfabb since all the openings will be unscaled and the correct sizes. The minor downside is you have to generate a new stl for the rotor.
But, I hear you say, I want a different gear ratio, output shaft, or input shaft. Can I modify your design in that way? Yes you can! Following is a summary of the procedure, but I provide all the information you need as a pdf in the zip archive you can download. If you have questions, post them to this forum.
Caution: customizing this project is probably not a good first project. I assume you are familiar with Python and OpenSCAD. As the saying goes, batteries not included, some assembly required, and your mileage may vary.
Running the Python script: Use the Python script from Alex Lait to generate the cam and roller profiles used in the OpenSCAD files. The Python script included with the files for this Thing is the latest version of the script from Alex Lait. You can follow the link above to learn a lot more about it. I assume you know how to run Python and use the IDE.
Using LibreCAD: LibreCAD (www.LibreCAD.org) is a very handy 2D drafting program and is perfect for processing the output of the Python script. This processing prepares the cam and roller profiles for further processing by Inkscape. The roller design from the Lait script needs additional work to create a usable profile.
Using Inkscape: The method of processing files for OpenSCAD using Inkscape is well-known (http://repraprip.blogspot.com/2011/05/inkscape-to-openscad-dxf-tutorial.html). The process is followed to ready the cam and roller files for use in OpenSCAD.
The cam and roller profiles can now be imported into OpenSCAD. The profiles are extruded to form the key parts of the design My OpenSCAD file is included as a complete example.