Pinch wheel variations

From RepRap
Revision as of 12:24, 13 April 2009 by Adrianbowyer (talk | contribs)
Jump to: navigation, search

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

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, 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.


This shows one of the slots being cut.

Here is the Arduino program that allows you to rotate the shaft by fixed numbers of steps. Copy and paste it into an Arduino 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). Just type the number of steps you want between each slot in the "Send" box and click "Send".

 * 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.

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.