Thing-O-Matic: APB Roller Supports

The Automatic Build Platform rollers have a small gap in the middle where pegs on the platform support the shaft. The belt must be sufficiently taut that it’s flat across the entire length & width of the platform, which means it’s so tight that it collapses into the gap and forms wrinkles in the most critical area.

Prior to installing an aluminum plate build surface, I wondered if adding a support in the gap would reduce the wrinkling, so I cooked up a small OpenSCAD script to print these things out:

ABP Roller Support
ABP Roller Support

They’re at about the finest resolution the printer can produce; getting the fill between the walls seems iffy at best. The top set has obvious gaps that come from having walls too close together.

I finally printed them at 0.4 mm thickness and a width of 0.5 mm (w/t = 1.2) and that produced the lower set with adequate fill:

ABP roller center supports
ABP roller center supports

Unsurprisingly, the holes are too small, but that’s easily fixed with a drill just slightly over 1/8 inch. The length of the stem also required a bit of fine-tuning; you can always make it shorter with a file:

Supports on rollers
Supports on rollers

Some preliminary testing says that the motionless supports might produce too much friction on the belt, but that was with a paper backing. Running slick tape around the middle of the belt’s inside surface might help, plus it would add a bit of stiffening. Adding some ridges to reduce the surface area in contact with the belt would probably just score the belt.

I’ve been experimenting with Kapton-on-paper belts, which remain much flatter than the endless belt, but are much more sensitive to the gaps. More fiddling is in order, after I get some one-off parts built on the aluminum plates.

The OpenSCAD script:

// ABP Central Shaft Spacers
// Ed Nisley - KE4ZNU - Feb 2011

//--- Extrusion dimensions
//		Must be tall and skinny to get fill around the hole

ExtThickness = 0.50;		// extrusion thickness
WTRatio = 1.20;				// width-over-thickness

//--- Spacer dimensions

ShaftDia = 3.175;			// metal rod = hard 1/8 inch = 0.125 inch
ShaftRad = ShaftDia/2;

RollerDia = 8.0;			// approximate OD of in-situ rubber rollers
RollerRad = RollerDia/2;

OverAllLen = 7.6;			// length along shaft = hard 0.300 inch

TaperLen = 2 * ExtThickness;	// make it a few layers thick

Faces = 10;					// polygonal shape for outside cylinders

//--- APB Interface

PlatformZ = 5.0;			// thickness of ABP support under heater
PlatformGap = 2.0;			// distance from roller to APB

//--- nophead's polygonal hole correction
//		http://hydraraptor.blogspot.com/2011/02/polyholes.html
//		Adapted to center the resulting cylinder

module polyhole(h, d, c) {
    n = max(round(2 * d),3);
    cylinder(h = h, r = (d / 2) / cos (180 / n), $fn = n, center=c);
}

//--- Odds & ends

FinagleLen = 1.0;			// enough to make holes obvious

//-----------------------
// The Spacer!

difference() {
	union() {
		translate([0, 0, OverAllLen/2-TaperLen/2])
			cylinder(r1=RollerRad, r2=RollerRad-TaperLen, h=TaperLen,
					  center=true, $fn=Faces);
		cylinder(r=RollerRad, h=OverAllLen-2*TaperLen,
				  center=true, $fn=Faces);
		translate([0, 0, -(OverAllLen/2-TaperLen/2)])
			cylinder(r1=RollerRad-TaperLen, r2=RollerRad, h=TaperLen,
					  center=true, $fn=Faces);
		translate([(RollerRad+PlatformGap)/2, 0, 0])
			cube(size=[RollerRad+PlatformGap, PlatformZ, OverAllLen],
				  center=true);
	}
	polyhole(OverAllLen+2*FinagleLen, ShaftDia, true);
}