Pinch wheel variations

From RepRap
Revision as of 13:31, 12 January 2010 by TheOtherRob (talk | contribs)
Jump to: navigation, search
Crystal Clear action run.png
Thermoplast Extruder Version 2 Pinch Wheel Variations

Release status: Experimental

No image available.png
CAD Models
External Link

This is the place to post variations on the pinch mechanism used by the Thermoplast Extruder Version 2.

Adding commercial splined drives

A good way to make a drive is to use these splined model-car inserts:

Knurled Insert

from [Conrad Electronics]. There is a large selection of different sizes available. Search for "insert brass" on the site.

Get your stepper to put splines on its own shaft

The only mechanical equipment this technique needs is a Dremmel or other mini-drill with a small cutting disc. In addition you will need a few pieces of wood, some woodscrews, an old (but not sloppy) door hinge, a few strong cable ties, an Arduino or Sanguino, and any RepRap stepper driver card.

Finished Stepper

This shows the stepper with its shaft slotted. The slots are exactly regularly spaced round it. Note the Blu-tack covering the bearing; this is to prevent iron filings getting in when you're doing the cutting.


This shows the arrangement you have to make. It took me about half an hour to set up.

Cut a rectangle of wood slightly wider and slightly shorter than your minidrill (E). Drill holes in it and use the cable ties to hold the drill very firmly - do them up tight. Attach that piece of wood to a larger one using the hinge (D). Put a woodscrew in at (B) to set the limit below which the drill cannot descend - you will use this to set the depth of the cut slots.

Arrange things so that the disc is cutting away from the body of the motor (as shown) so it doesn't spray it with iron filings.

C is a small block of wood to hold the hinge open when you are not cutting the slots.

A is the stepper, held by a G clamp. F is the Arduino, and G is the stepper driver board.

Adjust the woodscrew (B) so that the drill's cutting disc is about 1mm above the stepper's shaft.

Then very carefully position the stepper and the G clamp so that the cutting disc is exactly aligned with the stepper's shaft. Sandwich the stepper with a couple of scraps of wood to stop the clamp damaging it. You may find it easiest to do the G clamp up loosely, then gently tap the sandwich pieces to get the alignment right.

Take care that, when the slots are being cut, the cutting disc will not foul the main body of the motor.

Put Blu-tack round the motor's shaft to prevent any cutting dust getting in the motor's bearings.


Adjust the woodscrew (B) so that the drill's cutting disc is gently resting on the stepper's shaft (remember that cutting discs shatter easily). Turn B so that there is about a 1mm gap between its head and the wood to which the drill is attached. This will be the depth of cut.

Put the block of wood under the drill board to hold it away from the stepper's shaft. Mark the shaft with a felt-tipped pen.

Copy and paste the Arduino program below into a sketch in the Arduino development environment, upload it to the Arduino, and select the Serial Monitor window (the right-hand button of the row at the top of the development environment). (The program will work in the Sanguino as well as the Arduino - make sure you get the stepper driver control pins right.)

Power up the stepper driver board, press the reset button on the Arduino, and type 400 as the number of steps you want in the "Send" box and click "Send".

The stepper should rotate one complete revolution. Adjust the stepper current so that it is quite high. The shaft isn't driving anything, but the current will be left on when it is stationary (deliberately) to hold it so that it doesn't slip as the slots are being cut.

The cutting disc I used made a slot 0.8mm wide. Allowing for an equal 0.8mm land between slots on a 5mm stepper shaft gives about 10 slots all the way round - that is 40 steps between each slot. If the dimensions of your system are different, you may have to recalculate that. Obviously the number of steps between each slot must be an exact divisor of 400.

Turn on the drill (quite fast). Lower it very gently against the stepper's shaft and it should slowly cut a slot. Allow it slowly to come to rest on the adjusting screw. After a few moments you should hear the drill's pitch rise as the last of the slot is cut away.

Lift the drill, rest it on the wooden block, rotate the stepper, and repeat...

The cutting will heat the shaft, so you may want to blow a fan on it and let it rest a while between cuts.

Cutting discs wear and so reduce in diameter. I managed to do 10 slots round a shaft without this being a problem. Forrest Higgs says you can get diamond discs surprisingly cheaply - those should hardly wear at all.

There is an advantage to a worn (and hence small diameter) disc: you can make the cuts nearer the body of the motor. The standard RepRap pinch-wheel extruder runs the polymer filament 6mm away from the main face of the motor (not from the raised boss round the shaft). To do that you'll need a worn wheel.

 * Stepper driver program to rotate a stepper by fixed increments.
 * Adrian 13-IV-9

// These pins are the same as for a RepRap stepper extruder on 
// an Arduino

#define stepPin 11
#define dirPin 12
#define enablePin 5

void setup()
  Serial.println("Starting stepper controller.");

  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
  pinMode(enablePin, OUTPUT);

  digitalWrite(dirPin, HIGH);
  digitalWrite(stepPin, LOW);
  digitalWrite(enablePin, LOW);

// Horribly written function to get an integer from the serial data stream

int getANumber()
      int i = 0;
      int j = 1;
      char c;
      while(Serial.available() <= 0);
      while(Serial.available() > 0)
        c =;
        if(c == '-')
          j = -1;
          i = 10*i + (c - '0');
        delay(50);  // Particularly nasty hack
      return j*i;

void loop()
    int i, j, steps;
    Serial.println("Number of steps (-ve goes other way): ");

    steps = getANumber();
    Serial.print("Taking ");
    Serial.println(" steps.");
    if(steps < 0)
      digitalWrite(dirPin, LOW);
      steps = -steps;
    } else
      digitalWrite(dirPin, HIGH);
    for (i=0; i<steps; i++)
        digitalWrite(stepPin, HIGH);
        digitalWrite(stepPin, LOW);

Knurling the motor's shaft


This is only difficult because it needs special equipment - a lathe and a knurling tool. Given those two, the task becomes quite easy.

Start by using a felt-tipped pen to mark 6mm along the shaft from the face of the motor; that is 6mm from the flat plane where the screw holes are, not from the raised boss in the center. This will be where the polymer filament will run.

Take the motor apart and removing the rotor. The rotor is intensely magnetic and will pick up any small pieces of steel from the vicinity, especially swarf in the lathe and elsewhere. So do this in clean conditions, or - when you reassemble the motor - some particles may get included and cause it to jam.

Leave the stepper motor's ball race on the end of the shaft that you are going to knurl - you won't be able to get it back on afterwards if you take it off. (I discovered this at the cost of one motor...)

Put the motor's long shaft in the lathe chuck by a few millimeters and tighten the chuck gently. Put a centre in the tailstock and use that to locate the other end of the shaft. Tighten the chuck firmly.

Set the lathe to its lowest speed.

With the lathe still stationary, put the knurling tool in the tool post and line it up with the shaft. Make sure your pen mark is within the section that will be knurled, though it doesn't have to be dead centre.


Open the gap in the knurling tool wider than the shaft.

Use the cross slide to move the tool so that it pincers the shaft. Try to get it as central as possible - that is, get it so that each knuring wheel is pinching across a diameter of the shaft and is not offset. Tighten the knurling tool finger tight.

Check that nothing will foul as the lathe rotates by turning the chuck by hand.

Turn the lathe on. Gradually tighten the knurling tool (this will probably need a spanner).

You can stop the lathe in mid-knurl to see how things are going. When you do this, leave the knurling tool in place.

You want to end up with a knurl that is even and about 0.5mm deep.

When you have finished take the rotor out of the lathe and inspect it carefully for small magnetic particles attached to it. Remove any you find.

Put the stepper back together.

It is sometimes also possible to knurl the shaft with the entire motor intact. This shows that being done. Put the knurled end of the shaft nearest the chuck, and the motor and any extended opposite shaft at the tailstock end.

Putting a knurled sleeve on the shaft


If you go all weak at the knees at the thought of taking your expensive, precision stepper motor apart, but you want a knurled drive, then turn down a 20 mm length of 8mm diameter brass bar to 7 mm (or start with 7mm diameter if you can get it; 8 mm is a much more common size, though).

Then touch a centre on one end, and use that dent to support the free end with a centre in the tailstock, as above.

Then knurl that end, again as above, taking care thet the knurling tool doesn't collide with anything.

Then drill a 5mm hole down the middle of the bar.

Drill and tap M3 a cross-hole at the non-knurled end, file a flat on the end of motor's shaft at the free end, and put a set-screw in your M3 hole to hold the sleeve you've made on the shaft. Note that the set screw grips the shaft beyond the point of contact with the filament. That is to allow that point to be as close as possible to the motor's body, and hence to the bearing in the motor that takes the sideways pinch force.

Knurling without a knurling tool

tap knurl
tap knurl

On Andy Hall's blog he describes how he's made a knurled sleeve for a pinch extruder using a technique shown on Andy Kirby's blog for making worm gears. See those two links for details.