02/08/2018 at 23:15 •
I thought some who are following along may want to see the internals of one of the gears as the YouTube videos aren't the easiest format to do detail.
BLUF, this gear failed to produce torque beyond the same torque that the first hypocycloidal gear produced, at a torque ratio of 1:14. The difference here was that the belt/cycloid discs started skipping past each other, rather than the motor stalling. I'm not sure whether this was wholly damning of the use of timing belt because:
- The belt was only gripped on one side - a more patient design (which could be bothered to wait for bearings in the mail) would have gripped the belt along both edges.
- The belt was HTD 3M, with a tooth depth of 1.2 mm. This means a small amount of play in the cam/cycloid disc and wider assembly could lead more easily to skipped progression. HTD 5M could perhaps improve this.
- My lack of patience during design meant that there were more structural parts than required (e.g. the cross brace holding the bearing on the front) which a more considered design could integrate with other printed parts, reducing the opportunity for flex and misalignment at the interfaces.
Read to the bottom for a head's up on what I'm planning to try next
The assembled assembly
This shows that I have been more thoughful about applying the torque through a lever (6mm threaded rod - v.bendy, which is pleasing as it makes it look like it's lifting a large mass when only small one's are attached - a good visual cue for the torque) that is lined up better with the supporting bearings than the first prototypes which had it offset from the bearings, on the outer face.
A difference, which I think may be significant because it allows the outer ring to be the output drive, is that the motor is floating inside the main 6011 bearing, so the outer ring is usable as an output now. This means the internals can be well supported from either side, as you might desire in a robot arm. Here, the stepper motor body is clamped to the bench but you could easily extend the plate it bolts to, down to a base. There's an opportunity to use a larger bearing on this side and extend the plate inside (you can just see the countersunk screws in the corners) to the outside and supporting frames. You can see the static plate which binds what are usually the output pins here:
As usual, the M3 square nut and grub screw do sufficiently well to stop the motor shaft flat from freely rotating without driving the cam, although some rotation has clearly happened.
Here, you can see what's inside when you remove the ring which is holding the HTD belt by one edge:
The square "output" pin plate is bolted to the mounting holes in the stepper motor's body.
Now remove the white output ring; you can start to see the very slight eccentricity of the cam. Because it only varied by 0.6 off-centre in each direction, it was able to be printed as one piece. However, the bottom bearing would only go on from the underside.
All the parts so far:
Now, the "output" pins are made from 5mm OD alu standoff/spacers from electronic component suppliers like RS Components. Not too expensive and they allow some rotation in a bushing mode. However, on M3 threads they do have some play. This is a shot where you can see how that output/stator pin assembly looks:
Here's what you get when the cycloid disc and cam shaft sub-assembly come off:
And here's a view of the main ring bearing mount for the stepper motor (right), along with the re-assembled cycloid disc/stator pin sub-assembly (left):
Rear view, as above but with the motor installed and the white outer (output) ring clamped in place around the outer bearing race to the black outer ring:
That's all the photos for now. Hope they were of interest to some of you.
Additional point of interest is that my original four output holes in each cycloid disc were too large and it led to slop of a degree or few in the output. This was improved to no noticeable slop when I reprinted those two discs with a tighter tolerance. Bear that in mind if you're thinking about making a hypocycloidal gear.
We're at a crossroads here. Do we try for a proper design that addresses some of the bullets above? I do have the HTD 5M 300 belt from the "Getting Stronger" gear using the lazy susan bearing. And I could clamp it at both edges.
But I worry that the softness of the rubber in the belt will just keep yielding under load and we'll get skips / stalls. So, I'm going to try and replicate hard "teeth" or the outer ring pins. I could do this with hard steel dowels but they seem expensive for the high quantities we'd want in a decent ratio gear and I'm not sure how to easily mount them securely in the printed parts of the design. So my idea is to use long M3 bolts which will come with a significant section of unthreaded shank and the shank will be the pins around the circumference of the gear. This is cheaper than steel dowels and comes with the added flexibility that they can be inserted and fixed/tightened in a much less design-constraining way for the printed parts. So expect to see something resembling my original hypocycloid gear next, only with more pins and fewer bearings.
02/02/2018 at 22:33 •
This video is a summary of my progress over the last few months. Time to take stock and share. Comments are very welcome but collaborators are even better!
01/26/2018 at 03:42 •
Is this the next logical step? I was surprised by the torque efficiency of the hypocycloidal gear I made in the Hesitation, Repetition and Deviation log, so perhaps it's worth pursuing for a bit. Until today, in conversation with @Dan Royer I hadn't realised that a possible advantage of these hypocycloidal and strain wave gears is that when you want to DIY one you can design it so the output and fixed part are transferring torque relatively far from the axis compared to a gear with a conventional shaft output.
The setup above is just a concept tester, made with a 210mm (70 tooth) HTD 3M continuous belt, constrained within a printed PLA ring that has a toothed recess in the base to hold the belt in place and prevent it from rotating, relative to the outer ring. The back face of the outer ring is bolted to the NEMA 17 stepper motor housing in the usual four holes.
The belt teeth take the place of the ring pins in a conventional hypocycloidal gear. The cycloidal disc has 69 teeth, hence this is a 69:1 gear ratio.
This could be scaled up to a 100:1 with a belt length of 303mm and a diameter around 100mm. 100:1 would, if the components handle the forces, get the baseline NEMA 17 with 59 Ncm holding torque to the order of 20 Nm being targeted by #5+ Axis Robot Arm Study No.5. If the parts can't take it (which I imagine they won't) we could step up to HTD 5M and the diameter of the belt would be around 160mm.
Promise I'll get round to showing the strain wave gears soon. Let me know what you think of this approach in the comments.
01/23/2018 at 03:12 •
Well, it's been a while...
...sorry about that. Definitely counts as hesitation (ps the title is tribute to the British comedy radio contest called Just a Minute).
This log may not be satisfying to everyone following the project. Just to update you, I returned my attention to this project in December when @Dan Royer asked about whether it could be used in his new design of robot arm. You may recall that only @Ken Kaiser had put a motor in his gear up to this point. What you didn't know was that shortly after my "getting stronger" log/video, I made a version of the strain wave gear with a large bearing (a 6011 ZZ 55mm X 90mm X 18mm ) and built it around a "standard" NEMA 17, 59 Ncm stepper motor frequently found in 3D printers. I'll show that in a future log as that's the repetition part (more strain wave gears and variations upon the design of the wave generator).
In this log, I want to share with you the deviation part - I made a hypocycloidal gear. With a motor. The very same model of motor I put in my motorised strain wave gear. The reason, you see, for heading off down the hypocycloidal gear route is because on the one hand you have people showing home-machined hypocycloidal gears on YouTube that appear to work very nicely and on the other hand you have #5+ Axis Robot Arm having to give up on $3k development because they couldn't get theirs to work. What was the difference? Well one aspect was load. The people on YouTube (like ZincBoy or RockyMountains2001) aren't putting their gears under load. Dan's robot arm needs to be able to apply forces both to lift its own weigh but also to have an effect on its environment.
So, the basic designs online have one cycloidal disc (see the diagram in Dan's project log for common terms). Dan also complained that as soon as load was applied to his developmental gear, there was binding between the cycloidal disc and the ring gear pins. I also happened to see AvE's teardown of a nice Sumitomo cyclo gearbox / torque multiplier where he explained that a second cycloidal disc was used 180° out of phase with the first one, to prevent vibrations at high speed.
These two got me thinking and I decided to use a second cycloidal disc and bearings for the ring gear pins. Here's a single disc prototype:
You can see here how there are 10 ring pins/bearings. The cycloidal disc has 9 "teeth" or nodes, so that's a 9:1 ratio (I think). Now encouraged with this version, I designed another version with two discs and 11 nodes on each disc (12 ring bearings). I used four 6805 Thin Section Deep Groove Ball Bearing 25x37x7mm, which went in a stack of (from stepper body outwards) output disc backplate, cycloidal disc 1, cycloidal disc 2, output disc ( with output rollers x 3 mounted. You will notice that the diagrams and models rarely show the output disc/shaft because they tend to prevent you from seeing the mechanism of the cycloid discs following their hypnotic, eccentric path. However, if you're going to harness the torque, you need the output disc/shaft. The other foreign part name in that bearing stack was "output disc backplate". I put an almost identical disc to the output disc behind both cycloidal discs for the shafts of the output shaft rollers to screw into and add strength to the output. Here's a photo of assembly after the first cycloidal disc went on (of an interim prototype, so you can't see any output disc backplate):
The two holes either side of the shaft are locating and clamping holes for the stack of eccentric and centred discs that go on top. This is especially important because the shaft isn't long enough for four 6805 bearings stacked up! You need to take care with this stack arrangement that the holes are lined up either side of the shaft flat face, so that the clamping nut/grub screw can locate the flat later.
So now we want to see how much torque we can convert from our stepper motor. But what are we comparing this gear to? I decided to baseline test the motor on its own. The spec sheet says 59 Ncm holding torque, which is no use to us as we want dynamic torque. I used a grbl board with acceleration settings and reasonable steps / mm settings that I can't recall at this point. I added a DRV8825 in 1/16 microstep mode and set Vref to 2A/phase. I tested from 9V to 24V (finding 9V to be the best at these relatively low step speeds) and found that I could reach around 20 Ncm before the motor stalled. I have tried to do these tests with less microstepping in order to achieve more torque but in a dynamic situation they seem to stall just as easily as the microstepped tests. Maybe I'm doing something wrong, maybe there's a characteristic of this application which explains this observation. Certainly sounds quieter and feels smoother with 1/16 microstepping.
Clamping the stepper (this time the one with the hypocycloidal gear attached) to the bench, I set about loading it up. The beam is an M6 steel threaded rod and the load is just steel brackets and neodymium magnets.
There are two M3 bolts protruding from the drive disc which are forming two points of contact for the beam to cantilever from. A slightly closer shot:
And here you can see the two, diametrically opposed cycloidal discs and the ring bearings:
I have printed a slight chamfered lip on the edges of the cycloidal discs to encourage them and the ring bearings to stay located!
I measured the output of this gear, lifting the threaded rod "beam" and steel/magnet "load" as 2.67 Nm. That's 13.6 times the dynamic torque achieved with the plain motor using the same current/voltage/microstepping/pulse/acceleration settings. How did a 9:1 ratio gear multiply torque by nearly 14 times? I think it's got to be in the way that the stepper motor needs to "jump" between poles for each step and the gearing just helps with the threshold where this becomes the mode by which the motor enters a stall. Someone please correct me if I'm wrong!
I'm pretty pleased with this result. I don't know whether I'll carry on this kid of gear in preference to strain wave gears but I'll certainly show you where I got to with the strain wave gears before coming back to it. If you wanted to put this in #5+ Axis Robot Arm , @Dan Royer thinks it'd need to produce 20Nm to achieve the full design target lift capability. This could be perhaps achieved through a second stage of the hypocycloidal gear which takes the current output disc rotation as the input rotation for another set of eccentric cams that drive another pair of cycloidal discs (although speed is clearly a tradeoff). Two other points are worth mentioning about the hypocycloidal gear I made: firstly, it allows back driving, so there appears to be relatively low friction loss here; secondly, the 3D printed version I made hasn't had much in terms of a dimensional tolerance check but although it seems to be low backlash, there is some, which is a problem in some applications (just needs designing/manufacturing out!). It would be great to see others try this out and share their results - robot arms need you!
04/24/2017 at 01:38 •
Here's a stronger version of the first design revision which uses a lazy susan bearing (the video thumbnail might show the proof of concept - watch the video to see the new design).
There are promising signs this could be useful in a compact arrangement, e.g. a small robot arm base. It felt like there was room to reduce the friction but you can't ask too much too soon! Where should we go next with this?
04/05/2017 at 04:22 •
A 3D printed strain wave gear, using a HTD 300-5M-20 and 608 bearings. The belt has 60 teeth, for 30 revolutions of stepper the outer gear rotates once, resulting in a -30:1 gear ratio.
Bill of materials
Material Quantity Dimensions HTD belt 1 300-5M-20 closed loop, 300mm circumference, 5mm tooth pitch, 20mm wide
bearings 4 608, OD 22mm outer diameter, ID 8mm core, and 7mm wide 3D printed 1 PLA, not the best material, but forgiving set screw 2 3mm nuts with set screws snap ring 2 8mm stepper 1 nema 17 screws 4 M3 screws to attach stepper to gear
Using the parametric design I printed exactly the STL output. The parametric model was designed and mainly checked against an HTD 300-5M-20 that I used here. I added space for nuts on the wave generator and set screws. To assemble the wave generator 3D-printed pins for the bearings with a spot for snap rings.
HTD Belt Tooth spacing / depth 8M 8mm / 3.38mm 5M 5mm / 2.06mm 3M 3mm / 1.17mm The picture shows the
belt teeth against a
So far is seems that
3M belts require the
gear to be too precise
and don't deal with
forces, 5M seems
like a good mix for
Using a 20mm wide belt, gear parts should be less than 10mm each when the sides are assembled there isn't friction between the two halves.
I used a Arduino MKR1000 using the Timer5 library, controlled by the Blynk app. The sketch controlled a DRV8825 stepper module. I can make details available upon request. Here is the configuration of the Blynk app:
I can feel there is more torque on the gear output. What is an effective way to measure torque? I have 5M and 8M and belts of different diameters.
I would want the stepper speed and current to the controlled/captured at the same time. A current sensing resistor supplying the input of an op-amp, conditioned, then captured by the ADC, should work but is there an easier/better way?
A laser diode mounted on the gear output pointed at a wall would allow measurements to find the effective repeatable resolution. Then finding out what force results in what loss of resolution or repeatability.
03/27/2017 at 18:21 •
I just wanted to say that I've tried cutting the HTD 5MM mount ring in my new CNC in 9mm plywood and it seems that when I place it over my first design revision there's a 1-2mm gap/play between the belt and gear. This isn't supposed to reflect at all on Ken's amazing work with the parametric generator, especially as it's mounting his design (at least of the tooth profile) on mine. But another initial build also reported some play, so I thought I'd post early findings.
Please ignore the missing teeth - I was recycling previously-cut scrap plywood and I don't think the missing sections contributed to the play I report above, even though the photo shows the wave generator aligned with a missing portion of the gear.
Has anyone else tried printing/cutting any gears? I quite like the speed of the CNC as it took about 23 mins to make this ring, which is going to be much more suitable for a "rigid" version of this gear than the 3D printed one I started with (and about twice as fast). There's room for both techniques but strength is definitely going to be helped by a larger outer diameter on the mount gear and an additive process is going to lag behind a wasting process when making larger parts from sheet stock, in this scenario.
[edit 22:31 27/3/17]
In response to Florian's comments, I thought I'd add a couple of screenshots comparing the CAD from the parametric generator and my first revision design.
In the parametric generator, the diameter around the inner points of the teeth is 100.47mm and in mine it's 100mm. The gap for the belt teeth is narrower in mine (grey) than in the parametric generator (purple).
Anyway, the beauty of a parametric generator is that you can easily change all of this!
02/15/2017 at 23:25 •
This is based on the design of a strain wave gear, but it not an exact copy of a strain wave gear. Strain wave gears characteristically have an oval wave generator, a flex spline cup, and a circular spline. The wave generator engages 1/3 or more of the teeth at the same time. It does not seem attainable to engage that proportion of teeth in this current design.
The input gear that matches the belt teeth is in the back dark blue/purple, the output gear with +2 teeth is pink.
As you can see, the second bearing would be forcing the belt into 1/3 of the tooth of the outer gear, at the gears are positioned right next to each other. The belt tooth is directly over the output gear tooth at tooth 15 into a 60 tooth belt, a belt that is 300mm long with 5mm pitch.
The first revision increases the area that would engage from wider bearing(s) and belt. What is the force transmitted by a single tooth?
This design is a game changer, but we have to test torque. Even if this design can't handle torque, there is optic positioning, and anything that needs precision movement. I can see the times where I'd trade the speed and torque of a 200 step stepper to get 6000 steps of resolution from the simple gear in the videos.
02/15/2017 at 01:41 •
Have your design parametrically generated for you. Belt, bearings, export STL to print, and assemble with hardware.
The model still needs some debugging, and set space for mounting hardware.
I didn't make this a more collaborative design, because I wasn't sure l could actually contribute anything. There are juggernauts of talent, having years of specialized training or 30 years of experience (or both) in a field, which is awesome but intimidating. I am pleased with how it turned out, but I don't imagine that it can't be vastly improved, so an obvious comment to you might make a huge difference to me and this project. As well, I am an example that anyone can contribute to this project so please do, join and contribute.
The model is not finished. I am going to break out specific posts in the coming days, specifically on the design of the tooth gears and the center wave generator. What is known so far, what are the trade offs, and what can be worked on in the future, keep up to date with this project if it interests you.
Link to the model you can also search public documents for 'strain wave gear' and copy from there. https://cad.onshape.com/documents/589ec3b62ec4e50f8780f313/w/e3bc2d0aadf1fac7a95c44f8/e/b461997c4947a96f94b88547
01/17/2017 at 00:52 •
This is a video where I try and explain what I meant in the first project log a little better.
So, what should the next version (to try and transmit torque while resisting slewing forces etc) look like?