Sunday, 26 April 2009

Tiny stepper torques big

Having calculated that the tiny stepper and GM17 gearbox combination should be able to drive a pinch wheel, I made a lash up to test the theory.

When you have a 3D printer "lash up" is probably not the right term as quite sophisticated parts can be made easily.

Here it is pulling a spring balance with a piece of HDPE filament.

It got to 10 Kg and then the coupling from the GM17 to the 4mm shaft of the pinch wheel let go.

Not surprising given the torque involved and the fact that it was made with 25% fill. I made it again with 100% fill. I can't remember the last time I made a solid part.

It is coupled to the shaft with a hexagonal steel insert drilled out to 4mm and tapped M3 for a set screw onto a flat on the shaft.

With the 100% fill coupler it easily pulled the scale to the end, i.e 12.5Kg. The motor was powered from 8V (to stop it getting too hot) and stepped at 200pps. With a step angle of 15°, the GM17 default gear ratio of 228:1 and a 13mm pinch wheel that gives a feed rate of: -
200 × 15 / 360 × 1 / 228 × 13 × π = 1.5 mm/s.
That would give an output rate of 54mm of 0.5mm filament per second. I think that is comparable to the rates Adrian Bowyer has reported from a NEMA17, but it only weighs about 60g whereas a NEMA17 is about 200g. There are a lot more parts to wear out though, so a NEMA17 may be a better option. Darwin can easily throw 200g about and HydraRaptor is moving table, so the head weight has little relevance.

I have some NEMA17's arriving this week. I tried one from an old disc drive but it didn't have much torque. I don't know if that was because it had aged in the 20+ years I have had it or whether modern motors are much better.

Wednesday, 22 April 2009

GM17 stepper hack

I have thought for some time that the best thing to drive an extruder with would be a small stepper with a gearbox. The reason being is that a stepper motor has close to zero efficiency when moving slowly. Power is speed multiplied by torque, so as speed increases the efficiency increases until the torque falls away due to inductance. A gearbox allows a much smaller stepper to be used because it can be run faster producing more power.

I had a look for steppers with gearboxes, but they seem to be ridiculously expensive. An alternative idea was to replace the DC motor in a gear motor with a small stepper. I couldn't find one with the correct ratio though until Solarbotics started selling replacement gears for the GM17. They allow the standard ratio of 1:228 to be changed to 1:104 or 1:51.

That makes the GM17 very flexible as they also do a magnetic shaft encoder with an integral H-bridge driver. Great for robotics, but it seems a bit under powered for an extruder.

The motor is about the same size, and has the same shaft, as the tiny steppers I got from Jameco for my first attempt at an alternative Z-axis.

I cut away the plastic cylinder that holds the motor and RepRapped an adapter flange to mount the stepper.

Here it is assembled: -

The small pinion gear is a push fit on the motor shaft, but I found that with the higher torque from the stepper I had to glue it on.

I can run the stepper up to 1000 steps / second in full step mode, with a 12V constant voltage bipolar drive. The step angle is 15° so that is 2500 RPM! It has very little torque at that speed, but it gets multiplied by the gear ratio of course.

At lower speeds the current increases and the motor gets way too hot at 12V, so it needs to be driven from a constant current drive. That is what I was intending to use anyway.

Jameco state the holding torque as 140, so I have calculated the torque after the gearbox, assuming no losses as: -
Ratio Max Speed Max Torque
51 49 RPM 0.7 Nm
104 24 RPM 1.4 Nm
228 11 RPM 3.1 Nm

It seems remarkably high as NEMA23 steppers are only about 1 Nm. Note that the max speed is for about zero torque and the max torque is for about zero speed.

I attached it to a screw drive extruder and managed to extrude ABS at a rate equivalent to 0.5mm @ 19 mm/s with a step rate of 800 pps using the 1:51 gears.

So similar performance to a GM3 with these advantages: -
  • No brushes to wear out.
  • No shaft encoder and PID software.
  • No RFI suppressor.
  • Only needs step and direction pins on the controlling micro rather than two or three H-bridge controls and two quadrature inputs.
  • The output shaft and final gear are one piece, whereas on the GM3 the plastic shaft is on a metal splined shaft that can slip.
  • The clutch is one gear back from the output, so gives higher torque before slipping.
The interesting thing is that the projected torque figures indicate that it would be able to do a pinch wheel extruder with its original gear set. I will give that a go next.

I think the cost is about the same as a NEMA17. The advantage is it is smaller and lighter, the disadvantage is it would need separate bearings and a coupler. The NEMA17 will go a lot faster, but has less torque.

Tuesday, 14 April 2009


Khiraly asked me to explain how I manage to put a thread on stainless steel, so here goes.

Aluminium and brass are fairly easy to thread, but stainless steel is very tough. In order to make it easier you need to use a split die and a holder designed for one.

By tightening the middle pointed screw you can force the die to spread and increase the diameter of the thread a little. That allows you to make a first pass that doesn't cut as deep, so does not require as much force. By loosening the middle screw and tightening the outer ones you can reduce the thread diameter and make a second pass.

Another thing that makes it easier is to use cutting compound to lubricate it. I use Trefolex on Adrian Bowyer's recommendation. It is a sort of green lardy gunk.

To start off you need to align the rod or tube that you are threading orthogonally to the plane of the die. The easiest way to do this is with a lathe. You put the work piece in the headstock chuck and mount the die in a die holder that slides along a bar held in the tailstock.

You then turn the chuck with one hand and the die holder with the other. I use the handy chuck grip that I RepRapped, but a chuck key can be used to turn the chuck in 1/3 turn increments.

You need to go about half a turn forward and then one third of a turn backwards to break the chips off. If you don't it may jam.

When you start you need to feed the die against the workpiece with some force, but once the thread is started it feeds itself.

It is unlikely the chuck will have enough grip for cutting a stainless steel thread from scratch. You may have to file some flats on the stock.

If you don't have a lathe, the next best thing is to put the workpiece in the chuck of a drill press and put the hand die holder flat on the bed. Let the weight of the head press the work into the die and turn the chuck by hand. Once started you can put the work in a vice and spin the die holder.

Using a die to extend the thread on a hex head bolt is much easier because you start on the existing thread and you can hold the head in a chuck or a vice.

Monday, 13 April 2009

Unexpected find

While looking through my collection of salvaged stepper motors I found a couple of NEMA17s. This one came out of the hard drive in the first PC that I bought, an 80286 AT clone for about £1200 in the 1980's.

All the subsequent hard drives I have owned had voice coil head servos, but this one, which was a full height, 51/4", 20MB MFM drive, was built more like a floppy drive with a stepper motor to move the heads.

The motor had a plastic wheel with an endstop on it preventing it making more than one revolution. On removing it I was surprised to find that it was also a resonance damping device.

It seems to consist of a brass flywheel isolated from the shaft by a ball bearing, but coupled to it with a viscous fluid, probably some type of oil. I think it behaves like an electrical snubber, which is a resistor and a capacitor in series use to dampen voltage transients. I think this will have an analogous effect on velocity transients.

I found a similar motor in a 51/4 floppy drive, but that was uni-polar whereas this one is bi-polar, and it did not have the damper. It looks like they were pushing the performance of steppers as far as they could before moving to voice coil servos.

I don't know if it still works, it is more than 20 years old and I damaged it a bit removing it from the shaft as it was glued on. I don't think I will need it when driving a high friction, low inertial load like an extruder drive.


This may be an evolutionary dead end, with the move to stepper motors and pinch wheels, but I wanted to try a couple of things that have been on my "to try" list for a long time.

The main issue that I have had with the pump part of the original extruder is that the bearings wear out fairly quickly. Both the half bearings themselves and the lands on the shaft. One problem is that being only half bearings, any lubrication soon gets carried away by the plastic.

The best lifetime I have had is with stainless steel bearings and a stainless steel shaft. The downside of a stainless steel shaft is that you cannot solder a nut on to provide the drive. I have found two ways round this:-
  1. Use a hex head bolt. For some reason stainless steel bolts never seem to have thread all the way to the top. Since the thread needs to be sharpened with a die anyway, it can be extended at the same time. It is hard work tapping stainless steel though. You need a split die, set to its biggest diameter to start with, and you need cutting compound. The hex head allows you to get a good grip to stop it turning and the original thread makes it easy to start off square.
  2. Drill through the nut and shaft and insert a pin. If, like me, you break lots of drills then broken drill shafts make perfect pins. I now buy drill bits in packs of five or ten!
I replaced the two half bearings with three ball bearings. At the top is an M5 bearing to take the axial thrust. At the bottom I use two M4 bearings as rollers to take the radial load.

The downside of this arrangement is that you still need to turn a land on the bottom of the shaft. It could probably be done with a file and drill though. It actually works without removing the thread, but I expect it might wear away the rollers.

This design works but there are a few things I would change if I built another: -
I made it compatible with the existing filament guide to avoid having to reconfigure my machine for HDPE. Ideally the screw holes at the bottom end need to move out to allow longer bolts to hold the rollers and the size needs increasing from M3 as the threads strip eventually.

I left clearance to allow the top bearing to be inserted from below, but left no access to the nuts. Consequently it was very difficult to assemble and I had to make undersized nuts.

I used the smallest outside diameter bearings I could find for the given inside diameter. That was a mistake because it is hard not to foul the outer part of the bearing with a washer as the moving part is so small. Star washers seem to just grip the inner and provide enough standoff to clear the outer. I used counter sunk heads to clear the outer face of the rollers. I expect larger diameter bearings use bigger balls, so perhaps have higher ratings.
All easy things to put right with a design iteration.

Another thing I have been meaning to try is the GM17 gearmotor. I have had some for a long time, but without a second shaft, adding a shaft encoder is not trivial, as it is with the GM3. Solarbotics now sell a cheap magnetic encoder that fits inside the casing, making it a more attractive proposition.

To fit the motor in place of the GM3 a new mounting bracket and a shorter version of the shaft coupler is needed.

Here is the completed pump: -

And here it is built up into an extruder: -

I am waiting for the magnetic encoder to come from Canada so I tested it open loop with a couple of bench power supplies.

The GM17 is a bit quieter than the GM3, but not that much when heavily loaded. It extrudes at a similar rate, but the speed seems to vary a lot with load, so it would be useless without closed loop control. It seems to labour and get quite hot at 12V, so I don't imagine its life would be a lot better than GM3. It overruns a lot when the power is disconnected, so it would need a full H-bridge and reverse thrust to get decent stopping.

I still have lots of things to try: stepper drive, a roller instead of the filament guide, an offset screw drive to avoid the rollers.

Saturday, 11 April 2009

Nutty tip

If you want to use a nut, but find there is not enough room for it, here is an easy bodge that I have used a few times: -

Just take a nut one size below, drill it out and tap it to the size you wanted. This is very easy to do because the outer thread size of the smaller nut is about the same as the tap drill size of the bigger one, so you only really have to drill the thread away.

The nut on the left is a proper M5 nut, the one on the right is an M4 nut tapped to M5. Obviously it will have a lower maximum load but it can get you out of a hole.

Thursday, 9 April 2009

More weight lifting

I have had a couple of extruder jams recently when doing the first layer infill. I do that at 195°C to avoid it sticking to the raft. It seemed that ABS was much harder to extrude at that temperature, so I did a range of tests to find out how flow rate and force vary with temperature.

I used my lead kebab test rig with this extruder, which has a 0.5mm nozzle: -

Most measurements are averaged over 8 tests of extruding 40mm of filament, so it took a long time to get these results.

These are the basic measurements: -

Flow rate for a given force seems to increase fairly linearly with temperature. The single points are the weight that I found gave about my normal extrusion rate of π mm3/s. Below are the same points plotted against weight: -

So force does increase rapidly below 220°C.

Tuesday, 7 April 2009


I downloaded this clever object from Thingiverse. It was created by wizard23 using a parametric CSG evaluator plugin for ArtOfIllusion that he and the other the guys at MetaLab are developing.

The two halves screw together and fit perfectly.

I gave it a glossy finish by painting it with acetone. It looks like it is still wet but it actually dries almost instantly.

Saturday, 4 April 2009

All torque and no traction?

As promised, I have tested two more drive methods. The first was a 13mm knurled wheel that I had lying around. Handily it was on the end of an 8mm shaft, so I just pushed it through a skate bearing and pressed that into a bearing block.

The results were: -





Surprisingly, a bit better than the same diameter timing pulley that I tested previously. I did have to set the gap quite small for the softer plastics, so the filament comes out quite squashed, which may cause problems downstream. The torque is much more even than with a timing pulley.

The final test was a threaded pulley made by the method aka47 blogged here. Following Andy's instructions, I milled a 6mm slot into a block of steel mounted in my lathe's tool post.

I removed the lathe's chuck and backplate and mounted a collet directly in the spindle taper for best centering and stiffness.

I used the shank of an M4 cap head bolt as an axle and some oiled steel washers for spacers, rather than PTFE as Andy's recommendation.

The next bit is magic. You put a tap bit in the lathe's chuck and advance the pulley towards it by 0.05mm each time the pulley revolves. This is viewed from above: -

You would imagine that the inner diameter would have to be exactly an integral multiple of the thread pitch, and the same for a knurling tool. Oddly it doesn't seem to matter, and I can't explain why, even having observed it.

My first attempt was with a M3 x 0.6 tap. I got the height a bit wrong but is was still usable.

The inner diameter of the thread is only 2.4mm, so the filament did not sit in it easily. I made another with an M4 x 0.7 tap, which has an inner diameter of 3.3mm. Perhaps the best fit would be M3.5 x 0.6 but I don't have one of those.

I mounted the pulley on the splined shaft that I had tested before and reprapped yet another bearing block.

I picked the pulley inner diameter as 13mm to get comparable results with my previous tests. Ideally it should be smaller to reduce the torque required. For all but the 4mm splined shaft test I had to use a socket wrench to wind the shaft.

This gave the best result of all the pinch wheel tests, but not as good as screw drive on PCL.





I tried the M3 pulley and that was better still, raising PCL to 8Kg. Here is a summary of all the tests: -

4mm splined shaft 2.5 Kg 3.0 Kg 5.0 Kg 7.5 Kg
13mm timing pulley 4.0 Kg 10.0 Kg 8.5 Kg >8 Kg
13mm knurled wheel 5.0 Kg 10.0 Kg 12.0 Kg >12.5 Kg
13mm M4 worm pulley 6.0 Kg >12.5 Kg >12.5 Kg >12.5 Kg
13mm M3 worm pulley 8.0 Kg >12.5 Kg >12.5 Kg >12.5 Kg
M5 thread 9.0 Kg >12.5 Kg >12.5 Kg >12.5 Kg

The red figures are lower or marginal compared to the force required to extrude 0.5mm filament at 16mm/s.

My conclusion is that the worm pulley is the best pinch wheel drive method. It also does the least damage to the filament. It does require a lathe though. On the other hand, using an M5 hex head bolt, a couple of ball bearings and some RP parts requires no lathe and should have better grip. That is the direction I am going to go.