Differential Screws, 11 Lenses, Harmonic Gear (robot series)
For the 6 Axis Robot project https://forum.duet3d.com/topic/17421/robotic-kinematics/211?_=1607408460374 I need to DIY harmonic gears (strain wave gearing, AKA trademarked harmonic drive). To produce it, little precise movements (differentail screws) and optical quality control (1:1 lenses) are prerequisites, as well as more elaboration of the teststation.
Differential screws allow small movements, for an introduction please see https://en.wikipedia.org/wiki/Differential_screw
For a description how to fabricate differential screws for endstop usage with a lathe, please see Mark Rehorst's blog: https://drmrehorst.blogspot.com/2020/03/a-new-z-axis-optical-endstop-design-for.html?m=1
Differential screw use cases:
- calibrate 3D printer, CNC machine, print bed, endstops
- focus optical lenses for quality check or manufacturing, measuring with a camera
- small router or drill bit movements for manufacturing small details like pulley/gear/spline teeth
1:1 lenses are lenses or objectives which are assembled face-to-face. If they have the same focus length, the image is transmitted in pixel size resolution to the image sensor. Which means 1.4 µm resolution for an OV5647 based raspberry camea. An introduction is in https://www.raspberrypi.org/forums/viewtopic.php?t=59889
1:1 lens use cases are:
- quality control (for harmonic gear e.g. quality of teeth and cross roller housing)
- optical absolute encoder
Harmonic Gears (AKA strain wave gear, AKA trademarked harmonic drive) are gears with zero backlash and gear ratios between typically 1:50 to 1:166. They are expensive to buy, so I DIY them. An alternative is to buy them used for about 200$, this may be cheaper than to DIY, because manufacturing is very labour intensive. A second alternative is to DIY cycloidal gears, which is probably easier to manufacture.
Harmonic gear use cases:
- gear at the 6-axis-robot axes
- CNC index rotary table
- astronomy telescopes
Absolute Optical Encoder
Using the 1:1 Lenses and reading optical location information like I prepared in https://github.com/JoergS5/OpticalEncoder it should be possible to read a rotation position with high precision: the 600 dpi printout are 40 µm resolution for every dot, and 1:1 lenses can calculate by the dot position to even better precision. For a 100 mm diameter encoder ring around the hinge (perimeter 314 mm, 600 dpi are 23.622 dots/mm, 7400 ppr) the resolution is about 3 arcminutes per dot, with 1:1 lens maybe 10...20 better resolution.
Absolute Encoder use cases:
- know axes' positions of 6 axis robot immediately
- hence no endstops or homing needed
- if fast enough, give feedback for closed loop into 1HCL
- measure position errors and correct in firmware's kinematics calculation
- other length or rotational measurement (e. g. measure stepper precision)
A minor topic is to implement holding brakes, which are not meant for slow down, but to hold arm positions or screw positions.
Brakes use cases:
- hold robot arms in position when the steppers are powered off
- hold differential screws in position
- hold position if high force is applied to an actuator who shall stay at it's position
Current planning is to attach a toolchanger to the 6th axis of the robot following the design of Jubilee. I am currently not sure whether I shall attach it vertical or 90 degree rotated, but probably the second choice.
The first differential screw has dimensions 17x10x4 cm and has a stroke of about 3 mm with precision 0.125 µm for one full step.
The following screw pitches are used:
- M5x0.80 (metric screw 0.80 pitch for one rotation)
- MF5x0.75 (metric fine screw 0.75 pitch for one rotation)
- resulting in 0.05 mm movement with one rotation, meaning 0.125 µm for one full step of a 1.8 stepper with 1:2 belt gear.
The following raw material is needed for 1.8 stepper with 1:2 gear:
- top aluminium block 50 x 40 x 20 mm
- bottom aluminium block: 50 x 40 x35 mm
- long flat aluminium block: 130 x 40 x > 5 mm
- linear guide with length between 50 and 100 mm, as stable as possible
- linear guide 120 to 150 mm long for stepper movement
- 40 teeth pulley with 5 mm inner diameter
- 20 teeth pulley on stepper
- short closed belt (currently 80 teeth, but this is too long, 50 teeth is too short)
- stepper Nema 17 200 steps, highest possible detent torque
- aluminium or steel shaft 120 mm long, 5 mm diameter, not hardened
- aluminium angle for stepper-linear guide connection
- F625 ball bearing (flange 5x16x5)
- two 5 mm washers between pulley - ball bearing - adjusting ring
- aluminium angle for ball-bearing guide connection
- adjusting ring with 5 mm inner diameter
- a few screws (which one depends on the linear guides and adapter)
- tension spring (optional)
- for nice looking, 3D printed housing later
- optional plate at bottom to avoid tilting if it shall stand isolated
The following tools are needed
- tool to grind the shaft down to 4.9 on one side and 4.91 on the other
- cutting iron M5x0.80
- cutting iron MF5x0.75
- screw tap M5x0.80 long
- screw tap MF5x0.75 long
- screw tap M3, M4, depending on linear guides
- drill bit 4.2 mm for hole to cut core holes of M5 and MF5
- drill bit 2.5 mm for core hole M3 (if needed for linear guide)
- drill bit 3.3 mm for core hole M4 (if needed for linear guide)
- optional cone sinks for 3 or 4 mm holes
- cutting oil, abrasive paste and lubricating oil
- holders for screw taps and cutting irons
Things to think about while building:
- the right linear guide must have enough room between rail and lower block for about 3 mm movement
- the left linear guide may not touch the upper block
- both rails is not mounted in the middle, because this would conflict with the long screw.
- blocks and gap between are about 1/3 each, middle has more space to contain the pulley and holding mechanism, resulting here in 5+7+5 cm height
@joergs5 @mrehorstdmd did a great write up on differential screws, here: https://drmrehorst.blogspot.com/2020/03/a-new-z-axis-optical-endstop-design-for.html?m=1
@droftarts I didn't know this blog, I'll read it, thank you!
I've read the blog now, his build has a different goal. I'll describe my build and use cases here. Mark's descriptions how to design a good endstop with differential screws is very good.
@joergs5 it’s a great blog, really good stuff on machine design. Thanks Mark!
This post is deleted!