The chain I'm using is 1/2"-1/8" single speed chain, also known as #410 chain. The first number (1/2") is the pitch, the distance between the centers of two consecutive rollers. The second number is the width, the distance between inner plates. These numbers, together with the roller diameter, determine the shape of the sprocket teeth. For #410 chain the maximum roller diameter is 5/16".
If you're going to build a gadget using bicycle chain as a drive chain, remember that you'll need a tensioner somewhere, something you can adjust to take up slack in the length of the chain. You'll need at least an inch of adjustment available (twice the pitch). In my design, I made the stepper motor moveable to take up chain slack.
On to the topic of sprocket design. The approach I used is basically guided by the red curves in the diagram to the left. Some sprocket designs truncate the teeth, which reduces friction but engages each roller for a little less time. I probably should have done that but it's not really necessary. The OpenSCAD code for my sprocket design appears at the top of the sprockets.scad source file in the Github repository for my printer. I tested the sprocket (Thingiverse, Shapeways) to make sure that in the absence of unreasonable friction, the chain could freely engage and disengage the teeth as it moved around at fairly high speed (much faster than it will move on the printer most of the time) and that worked fine.
There are a few different pieces, so let me step through it. The outer thing is a difference operation, which means that the first part (the union) establishes a block of stuff and the other parts are removed from it. So we begin with a rectangular solid stretching in the X direction from one roller to the next, with a Z height equal to the width of the chain. To that we add the "tooth" part, defined by the two upper red curves in the previous diagram. The first two pieces we remove are the cylindrical cutouts in which the rollers will sit when closest to the sprocket's center, defined by the two lower red curves. Finally, a couple of flat surfaces are cut out to taper the tooth in the Z direction, which allows the sprocket to still engage nicely when the chain isn't precisely coplanar.
module sprocket_tooth() {
difference() {
union() {
translate([-1/4,0,-1/16])
cube([1/2,3/8,1/8]);
intersection() {
translate([1/4, 0, -1/16])
cylinder(h=1/8, d=1-5/16, $fn=30);
translate([-1/4, 0, -1/16])
cylinder(h=1/8, d=1-5/16, $fn=30);
}
}
translate([1/4, 0, -1/8])
cylinder(h=1/4, d=5/16, $fn=30);
translate([-1/4, 0, -1/8])
cylinder(h=1/4, d=5/16, $fn=30);
multmatrix(m = [
[1, 0, 0, -0.5],
[0, 1, 4, -1.3],
[0, 0, 1, 0],
[0, 0, 0, 1]
])
cube([1, 1, 1]);
multmatrix(m = [
[1, 0, 0, -0.5],
[0, 1, -4, 2.7],
[0, 0, 1, -1],
[0, 0, 0, 1]
])
cube([1, 1, 1]);
}
}
I found with the design above that those teeth can easily get stuck if one of the links in the bike chain is stiff. I haven't done a lot of bike chain work, and I would imagine that people who do probably get better at avoiding or fixing stiff links, but I'm not there yet. So one thing I did was to make much less "aggressive" sprocket teeth. For my application, I get away with much shallower teeth, and have updated both the Thingiverse design and the Shapeways store accordingly.
I might have neglected to mention this elsewhere (though I think it's mentioned in both those places) that the sprocket for the stepper axle takes a 1/4-inch long 4-40 machine screw as a set screw.