Sunday 25 October 2009

Worm drive

I have spent a long time trying to make an extruder that is reliable, performs well and is cheap and easy to make. My last design fits most of those criteria but I have doubts about how long it will last because I am putting a lot of torque through the plastic gears of the GM17 gearbox. These doubts were heightened when a tooth snapped in a GM3 gearbox that I have been using for a long time.

I decided to make a new extruder for HydraRaptor concentrating on performance and reliability. I have tried to pull together all the results of my experiments to pick the best solution for each part of the design, regardless of cost and ease of building. The result is a "no compromise" design that has taken me a long time to make. Hopefully it will be reliable so that I can move on to exploring other things.

The design criteria for an extruder for HydraRaptor are a bit different from Darwin. The weight of the extruder is far less important because it is a moving table machine (rather than moving head). The z-axis is a big slab of aluminium so I don't need a heatsink or fan, I can just conduct the heat away.

I found that the best form of traction is a "worm pulley". Screw drive has slightly more grip on softer plastic but is far less mechanically efficient. It also has the nasty habit of making the feedstock rotate in some cases and also generates dust.

The pulley can impart in excess of 100N force on the filament before it slips, so to have the grip as the limiting factor we need a motor that can provide that amount of torque. The pulley has a radius of 6.5mm so that equates to 0.65Nm. I could do that with direct drive off a NEMA23, but even with micro stepping a single step is quite a lot of filament: 13mm × π / (200 × 8) = 0.025mm. That doesn't seem much but 0.5mm filament comes out 36 times faster than its 3mm feedstock goes in, so that is almost 1mm extruded per step. That seems way too big for accurate control to me, so some gearing is necessary.

A worm gear is attractive because it gives a big reduction in one step so I came up with this arrangement: -

The pulley is on a 4mm splined shaft supported by two ball bearings. The gears are Meccano gears which are readily available. I couldn't find any other metal gears at reasonable prices. I had to drill out the worm wheel to fit the motor shaft. I filed flats on both shafts to allow the grub screws to grip.

This bearing cover holds the bearings in place and guides the filament: -

The assembly is clamped together by M5 hex head bolts that are captive in the plastic.

You can see the top of the stainless steel pipe that the filament feeds into. It has an aluminium outer sleeve to conduct the heat away from the transition section, rather than a heatsink. More on that later.

A skate bearing is used as a roller to apply pressure to the filament: -

A piece of M8 studding forms the axle. It is held in place just by friction. The bearing is centralised by cheeks on the plastic which are clear of the moving part.

The pressure is applied by springs and M5 wingnuts: -

The nuts on the bearing cover prevent the roller from meeting the drive pulley when there is no filament. That allows filament to self feed easily simply by inserting it into the hole in the top.

I measured the performance by attaching a spring balance to the filament and measuring the force at which the motor stalled for a given current: -

The motor is a NEMA17 rated at 0.3Nm holding torque with two coils on at 2.5A. The reduction ratio is 40:1, so I expected to only need about 0.637 / 40 to give a 100Nm pull. I was disappointed to find that I needed 1.5A to pull 10Kg.

With sinusoidal micro stepping drive the holding torque will be 0.7 times the two coil on value. I.e. 0.21Nm @ 2.5A, so 0.126Nm @ 1.5A. The torque from the pulley is only 0.016Nm assuming a reduction of 40:1, so the worm drive is only about 13% efficient if I have got my calculations right. Before I greased it, it was only half as efficient, so worm gears certainly waste a lot of effort in friction. The article here says they are between 98% and 20% for ratios 5:1 to 75:1, so I am probably in the right ball park. There will also be some friction in the bearings and pull out torque will be a bit less than holding torque, even though it is only rotating slowly.

So it reaches the target torque but with far less efficiency than my version with the tiny motor and the GM17 gearbox.

The other disappointment is that is is quite noisy, even when micro-stepping. That is simply because the z-axis couples any vibration to the wooden box behind it that then amplifies it. I
am tempted to fill it with something to dampen it down.

So this half of the extruder seems to perform, and it should be reliable because there is not much to wear out, except perhaps the worm gears, that is where most of the friction is and they are only made of brass.

I will test the bottom half of the design tomorrow.


  1. Oh no I thought I had a solution to building my extruder this post is making me uncertain.
    I was going to drive direct as per the Thermoplast Extruder Version 2.0 using a NEMA17.

  2. I've been researching alternatives to using a bearing to apply pressure to the filament and came up with the Paxtruder ( Screwing a piece of Delrin against the filament has been highly reliable.

    I've also been experimenting with a 0.07 inch filament. The extruder runs like a dream with this stuff. A smaller filament decreases the force the motor must exert on the filament to create the desired pressure in the nozzle. The filament must be input more quickly, which gives a higher step per input-filament-distance for finer control.

  3. If I have calculated corectly thats 1.778 mm just over half the size of the standard 3mm. Is this generaly avalible ? I've seen 2mm filament maybe using 2mm filament will also be a useful change to make?
    Altough I have 2kg of 3mm ABS.

  4. Yes smaller filament would be easier and indeed commercial machines use 2mm. RepRap has standardised on 3mm though, which is more common for weldind rod. I could get 2mm ABS but with PLA I am stuck with the RepRap standard as it is the only source. I also have a lot of 3mm stock already so I am stuck with it now.

    Well direct drive with a NEMA17 and a small pinch wheel obviously works well for Adrian, but I have consistantly used more pressure then he does. I think it is because I do my first layer at a lower temperature, where ABS is much more viscous and I also use HDPE.

    I would be worried that the Delrin would wear down and also have more friction than a skate bearing. I can't see any advantage/ Skate bearings are cheap, available and sturdy and I have previously shown that the threaded pulley plus bearing combination has more grip than the toothed pulley used on the plastruder.

  5. Update:

    It is much quieter running at twice the speed, i.e. 32mm/s of 0.5. 16mm/s must hit a resonance of the motor, or the sound box or both. Unlucky!

    Also 1.5A is not a lot of power because this is only a 0.8R motor. It is actually less power than I was putting through the tiny stepper motor I used with the GM17 gearbox (0.3A into 27R).

  6. Great! I always enjoy reading your blog. Great work! I'm not sure, is it a good idea to use a driving mechanism prone to backlash? You will lose the ability to reverse to motor direction (to prevent oze).

  7. I don't think it will be a big problem because the filament exerts a back pressure (that is why it oozes) so it will take up the slack. Also I can move backwards very quickly compared to the forward motion. I have just run it at 8 times the normal speed with no noticeable reduction in torque so it will go even faster.

    So the plan is to step back as fast as I can to a point where the pressure becomes 0. On restart I can step forwards to where it was very quickly and then drop to the normal speed. Backlash will only kick in if I try to make the pressure negative, which is probably the point where I want to stop anyway.

  8. @nophead
    I have run the Paxtruder for several hours with no noticible wear. The Delrin probably increses the friction, but that hasn't been a problem. A major benefit of using the Delrin is that the filament contacts the pulley along more of its' length. The paxtruder is also smaller and has fewer parts. Two of the next version can fit on the MakerBot.

  9. Hi!

    Is it a good idea to mount the pcb using PLA on the stepper motor?

    The stepper motor can get hot, and the PLA is prone to deform, no?

    Best Regards,

  10. Sorry, I forgot to write in my previous comment:

    I think you also want to cover the gears with some plastic, if not it will collect all dust in your room nophead;-)


  11. Hi Khirali,
    I don't think it will get hot enough to soften PLA with the current I am using at the moment, 1 - 1.5A. It would be the motor mount itself that would be the biggest problem, rather than the PCB carrier. If it is a problem I will re-make it in ABS.

    I decided in the end not to mount the PCB on the extruder because I also used it to control my milling spindle recently.

    Yes it would be a good idea to cover the gears to keep the dust out, thanks. Have to get it working before it can make its own dust cover though.

  12. Most excellent and solid work as ever.

    Just a quick observation, (you have probably apready done this but not noted it) some lubrication on your worm gearing would help reduce wear and noise etc and promote eficiency.

    Either White Grease (Lithium) or something that is Teflon/PTFE loaded.

  13. Hi Andy,

    Thanks, but I did note it "Before I greased it, it was only half as efficient, so worm gears certainly waste a lot of effort in friction. "

    I used old fasioned yellow grease from a tube. I do have Lithium and PTFE but they are in spray cans, so I find them impossible to use without spraying grease all over everything. I even tried spraying it into a small pot inside a bin but managed to get my wife who was behind me. Very dissapointing, how on earth are you supposed to use grease from a spray can?

  14. I think it's normal to use helical-cut teeth on the worm gear, to mesh better with the worm. Failing that (because you want to use standard square cut mechano gears), the other approach is to rotate the worm axis, so that it's not 90 degrees to the worm gear axis, but the same angle as the thread.

  15. Yes that would make sense to get a bigger contact area so better wear rate and max load, which would be a good thing. Not sure if it will improve the efficiency though as friction is generally independent of contact area.

    I might have to do a MK2 crooked version.

  16. Nop, my apologies yes you are indeed right you did note it and I must have missed that bit.

    I use white grease quite often but the spray can came with a plastic pipe/straw that inserts into the nozzle and makes the spraying quite a bit more directional.

    It is still very messy though, half pressing the nozzle or pulsing quickly sometimes helps, but can be a bit variable.

    My usual technique is to do the best i can with the above then clean around the target afterwards <|:(

  17. I posted about the Paxtruder and addressed some concerns.

  18. @Charles:

    What is your source for the smaller abs filament? I believe that I'd like to try using it if the source is fairly inexpensive...


  19. @ Dave
    I'm using material from a Stratasys machine giving a cost of $65 per pound. Just like an ink jet printer, when the cartridge reads empty and the machine will no longer allow you to print with it, there is still material left.

    If someone purchased 0.07 inch filament in bulk and sold 5 lbs rolls, it wouldn't cost any more than the 3 mm filament; approximately $10 per pound.

  20. @Charles:

    Hi, I have submitted a quote to New Image Plastics ( I think I remember that Forrest got some plastic from them ). I will see what their pricing is, and what their minimum quantity is.

    I think that there are a lot of benefits in using a smaller filament size.

  21. I look forward to knowing that price and quantity. I'd like to see the community move to a smaller filament and I'm willing to invest some money to make the appropriate extruder and filament available to experimenters.

  22. @Charles:

    Just heard back from Donna at new image: price is $9.50 per pound for plastic: i think they have a 5 pound minimum order.

    Anyone know what the total volume of a printed reprap is? I'm wondering: @ $10/pound, what does that end up costing to print up a darwin or a mendle?

  23. @Dave
    Would you double check that minimum order? I think it might be a 50 pound minimum order with 5 pounds being the smallest unit they will break it into. That's how it was with another plastics manufacturer I spoke to.

  24. I have bought plastic from NIP and 5lb was the miniumum order. I bought one green and one black, i.e. 10 lb in total.

  25. @Charles,
    Moving to smaller feed stock may be a problem with softer plastics like HDPE, PP, etc. The force needed to extrude goes down with the square of the diameter, but stiffness goes down on a fourth power, so I think there will come a point where it buckles. Especially as these plastics are already less stiff than ABS and PLA and also require more force to extrude.

    Keeping the gab between the pinch wheel and the entrance to the barrel as short as possible will help of course.

  26. @nophead
    If I see it right, the traction force of the worm pulley results in an axial force towards the stepper motor which would wear out the motor bearings.
    I only found a remark on a stepper datasheet (Oriental) : The tolerated axial force should not overcome the motor weight.
    My suggestions :
    1. Add Bearing between worm gear and motor housing for axial load.
    2. use cw and ccw worm gear on same axle to drive two gear pulleys opposite (mirror design). May conflict the state from "s0lstice" mentioned above about the helical-cut teeth ?!
    3. add parallel spur gearing between motor and worm gear axle
    4. get rid off the worm gear, use spur gear and/or the reprapable Cycloidal drive

    I would also prefer the vertically mounted stepper so we could place 2 extruders left and right and maybe one in the front with all the filaments can be driven by one motor. And with a 2nd driveshaft we could couple a paste gear pump or other future improvements.


  27. Erhard,
    Yes it does exceed the axial force rating of the motor. I will see how long it runs for. I suspect the brass parts will wear out long before the steel ball bearings in the motor.

    Spur gears would avoid that, but the biggest ratio I can get is 7:1 with a 4" meccano gear and a small pinion. That would probably give enough torque but not fine enough control. I try to keep the step size less than 0.1mm of extruded filament, so that would need two stages of spur gear.

  28. This comment has been removed by the author.