Archive for November 9th, 2015

Tecumseh 36638 Throttle Knob

The upper-left tab broke off this “knob” shortly after we got the leaf shredder:

Throttle knob - broken original

Throttle knob – broken original

But it worked well enough that, following my usual course of action, I could ignore the problem. Until a few days ago, that is, when the remaining tab on that end pulled out of the slot on the engine and the whole affair bent into uselessness.

It’s a $10 item from eBay (with free shipping), $8 from Amazon ($4, not eligible for Prime, so plus $4 shipping), out of stock at my usual online small engine source, and not worth biking a few dozen miles here & there to see if anybody has one. I know better than to look for repair parts at Lowe’s / Home Depot. It’s Tecumseh Part 36638, which may come in handy some day.

So, we begin…

It’s one of those pesky injection-molded miracle plastic doodads that can’t be printed in one piece, so I designed the tabs as separate parts and glued them in place. The solid model shows the intended assembly, with a bit of clearance around the tabs for tolerance and glue slop:

Tecumseh Throttle Knob - solid model - show view

Tecumseh Throttle Knob – solid model – show view

External clearances aren’t an issue, so I made the base plate longer, wider, and thicker, which gave the tabs something to grab onto. The half-round knob is bigger, more angular, and uglier than the OEM knob, because I had trouble holding onto the original while wearing work gloves.

Printing a few extra tabs allows the inevitable finger fumble:

Throttle knob - on platform

Throttle knob – on platform

The tabs stand on edge to properly orient the printed threads around the perimeter: a great force will try to rip that triangular feature right off the tab, so wrapping the thread as shown maximizes the strength. Laying them flat on their backs would put the force in shear, exactly parallel to thread-to-thread bonds; I wouldn’t bet on the strength of those layers.

The brim provides enough platform footprint around the tabs to keep them upright, but obviously isn’t needed around the knob. Although you could wrap a modifier mesh around one or the other, trimming the brim off the knob with a precision scissors seemed more straightforward.

Slobbering generous drops of of IPS #4 solvent adhesive into the slots and over the tabs softened the PETG enough that I could ram the tabs into place, using a big pliers to overcome their feeble resistance:

Throttle knob - glued latches

Throttle knob – glued latches

With the plastic still dazed from the fumes, I force-fit the knob into the slot on the engine:

Throttle knob - installed

Throttle knob – installed

The tabs eased back into position and seem to be holding the knob in place. Worst case: make a new knob, butter up the tabs with slow epoxy, ram knob into slot, then poke a screwdriver inside to realign the tabs against the slot edges.

The solvent had a few cloudy days to evaporate before the next shredding session, whereupon the throttle once again worked exactly the way it should.

The OpenSCAD source code:

// Tecumseh 36638 Throttle Knob
// Ed Nisley KE4ZNU November 2015

Layout = "Build";					// Build Show Tab Base

//- Extrusion parameters must match reality!

ThreadThick = 0.25;
ThreadWidth = 0.40;

HoleWindage = 0.2;

Protrusion = 0.1;			// make holes end cleanly

inch = 25.4;

function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);

//----------------------
// Dimensions

BaseSize = [40,14,3.0];							// overall base plate outside engine controller slot

Knob = [18,BaseSize[1],17];

TabSize = [7.5,1.6,6.0];						// ovarall length, minimum width, overall height
TabSocket = [8.0,2.0,BaseSize[2] - 2*ThreadThick];				// recess in base plate for tab 

TabOuterSpace = 30.0;							// end-to-end length over tabs - sets travel distance
SlotWidth = 7.75;								// engine controller slot width
SlotThick = 1.5;								// engine controller slot thickness

TabShape = [
	[0,0],
	[BaseSize[2] + TabSize[2],0],
	[BaseSize[2] + TabSize[2],ThreadWidth],
	[BaseSize[2] + SlotThick,2*TabSize[1]],
	[BaseSize[2] + SlotThick,TabSize[1]],
	[0,TabSize[1]]
];

CapBaseOpening = [11,7.5,15];			// opening in base plate, Z = clearance from controller plate

//----------------------
// Useful routines

module PolyCyl(Dia,Height,ForceSides=0) {			// based on nophead's polyholes

  Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);

  FixDia = Dia / cos(180/Sides);

  cylinder(r=(FixDia + HoleWindage)/2,
		h=Height,
	$fn=Sides);
}

//----------------------
// Pieces

module Tab() {
	
	linear_extrude(height=TabSize[0]) {
		polygon(points=TabShape);
	}
}


module Base() {
	
	CornerRad = BaseSize[1]/8;

	difference() {
		union() {
			linear_extrude(height=BaseSize[2])
				hull()
					for (i=[-1,1], j=[-1,1]) 
						translate([i*(BaseSize[0]/2- CornerRad),j*(BaseSize[1]/2 - CornerRad)])
							circle(r=CornerRad,$fn=4*4);
			translate([Knob[0]/2,0,BaseSize[2] - Protrusion])
				rotate([0,-90,0])
					linear_extrude(height=Knob[0])
						hull() {
							translate([Knob[2] - Knob[1]/2,0])
								circle(d=Knob[1],$fn=8*4);
							translate([0,-Knob[1]/2,0])
								square([Protrusion,Knob[1]]);
						}
		}
		
		translate([-CapBaseOpening[0]/2,-CapBaseOpening[1]/2,-Protrusion])
			cube(CapBaseOpening + [0,0,-CapBaseOpening[1]/2 + Protrusion],center=false);
			
		translate([0,0,CapBaseOpening[2] - CapBaseOpening[1]/2])
			rotate([0,90,0]) rotate(180/8)
				cylinder(d=CapBaseOpening[1]/cos(180/8),h=CapBaseOpening[0],center=true,$fn=8);
				
		for (i=[-1,1], j=[-1,1])
			translate([i*(TabOuterSpace/2 - TabSocket[0]/2),j*(SlotWidth/2 - TabSocket[1]/2),TabSocket[2]/2 - Protrusion])
				cube(TabSocket + [0,0,Protrusion],center=true);
	}
}


//----------------------
// Build it

if (Layout == "Base")
	Base();
	
if (Layout == "Tab")
	Tab();
	
if (Layout == "Show") {
	Base();
	
		for (i=[-1,1], j=[-1,1])
			translate([i*(TabOuterSpace/2 - TabSocket[0]/2),j*(SlotWidth/2 - TabSocket[1]/2),0])
				translate([j < 0 ? TabSize[0]/2 : -TabSize[0]/2,j < 0 ? TabSize[1]/2 : -TabSize[1]/2,BaseSize[2] - 2*ThreadThick])
					rotate([0,90,j < 0 ? -180 : 0])
					Tab();
}

if (Layout == "Build") {
	Base();
	
	for (i=[0:5])					// build a few spares
		translate([-7*TabSocket[1] + i*3*TabSocket[1],BaseSize[1],0])
			rotate(90)
				Tab();
}

The original doodle showing the OEM knob dimensions and some failed attempts at fancy features:

Tecumseh Throttle Knob - doodles

Tecumseh Throttle Knob – doodles

, ,

5 Comments