Advertisements

Stepper Motor Sync Wheel

A need for pix of the current waveforms in a stepper motor produced a need to synchronize to the shaft rotation. Rather than cobble something up using random spare parts, I printed a wheel with a tab:

Final rotation sync disk

Final rotation sync disk

The model looks about like you’d expect:

Synch wheel solid model

Synch wheel solid model

Those stretched pentagonal holes give it a vaguely religious aspect, don’t they?

The tab is 2/50 of the circumference, so that the resulting pulse neatly brackets two consecutive groups of four full-step pulses. There’s no way to align the tab with the rotor position, so producing a good scope sync pulse becomes a simple matter of software.

The tab’s length and radial position corresponds to this carefully engineered bit of mayhem:

Optical interrupter on stepper isolator bushing

Optical interrupter on stepper isolator bushing

The shaft hole will be just slightly too small for the motor shaft, which is perfectly fine. Drill the hole to 5 mm using a #9 drill, working your way up from about #12 to keep the hole concentric.

Actually, that was the second version. The first was a quick-and-dirty disk with a tab, but it came out too floppy at only 1 mm thick and utterly boring:

Simple rotation sync disk

Simple rotation sync disk

But it served as the prototype to settle the tab dimensions and location:

First synch disk with optical interrupter

First synch disk with optical interrupter

The OpenSCAD source:

// Optical Interrupter
// Suited for low speed demonstrations!
// Ed Nisley KE4ZNU June 2011

//- Extrusion parameters - must match reality!
//  Print with +2 shells and 3 solid layers

ThreadThick = 0.33;
ThreadWidth = 2.0 * ThreadThick;

//- Plate dimensions

MotorShaftDia = 5.0;
MotorShaftDiaSides = 8;
MotorShaftPolyRadius = (MotorShaftDia/2)/cos(180/MotorShaftDiaSides);

HubDia = MotorShaftDia + 16*ThreadWidth;
HubThick = ceil(10.0/ThreadThick)*ThreadThick;		// total, not added to plate
HubSides = 8;

BladeRadius = 31.5;				// to center of optical switch gap
BladeThick = 2*ThreadWidth;		// measured radially
BladeAngle = (2/50)*360;		// 50 repeats of 4 full step sequences per rev
BladeHeight = 7.0;				// beyond ribs

PlateRadius = BladeRadius + 5.0;
PlateThick = ceil(3.0/ThreadThick) * ThreadThick;

HoleCenterRad = (BladeRadius + HubDia/2)/2;
HoleDia = 0.75 * (3.14159 * 2 * HoleCenterRad)/HubSides;
HoleSides = 5;

//- Convenience items

Protrusion = 0.1;
$fn = 128;						// make large circles very smooth

//- Build it!

difference() {
  union() {
	cylinder(r=PlateRadius,h=PlateThick);			// base plate

	cylinder(r=HubDia/2,h=HubThick,$fn=HubSides);	// hub

	translate([0,0,PlateThick])						// blade
	  difference() {
		cylinder(r=BladeRadius+BladeThick/2,h=BladeHeight);
		cylinder(r=BladeRadius-BladeThick/2,h=BladeHeight + Protrusion);
		rotate([0,0,(180 - BladeAngle/2)])
		  translate([PlateRadius,0,(BladeHeight + Protrusion)/2])
			cube([PlateRadius*2,PlateRadius*2,BladeHeight+Protrusion],center=true);
		rotate([0,0,(BladeAngle/2)])
		  translate([PlateRadius,0,(BladeHeight + Protrusion)/2])
			cube([PlateRadius*2,PlateRadius*2,BladeHeight+Protrusion],center=true);
	  }

  }

  translate([0,0,-Protrusion])						// shaft hole
	cylinder(r=MotorShaftPolyRadius,
			 h=HubThick+2*Protrusion,
			 $fn=MotorShaftDiaSides);

  for (Angle = [0:(HubSides-1)])					// beautification holes
	rotate([0,0,Angle*(360/HubSides)])
	  translate([HoleCenterRad,0,-Protrusion])
		rotate([0,0,180])
		  scale([1.33,1.0,1.0])
			cylinder(r=HoleDia/2,
					 h=(PlateThick + 2*Protrusion),
					 $fn=HoleSides);

}

Yeah, that optical switch really is older than you are…

Advertisements

,

  1. #1 by John Rehwinkel on 2011-06-11 - 09:31

    This sort of engineering prototyping is just what these 3D printers are for! And yes, it is reminiscent of a circular stained-glass window. Hmm, I wonder if it can work with clear filament…

    • #2 by smellsofbikes on 2011-06-11 - 11:44

      Be pretty cool to have one with multiple printheads, that could each print a different color of transparent material so you could make a 3d color printer.

      • #3 by Ed on 2011-06-11 - 11:58

        multiple printheads

        That’s the holy grail for DIY 3D printers right now. You can do it now if you’ve got mad patience & skillz, but it’s a real kludge. I think it’ll be a year before the slicing software catches up with even the current hardware efforts.

    • #4 by Ed on 2011-06-11 - 11:56

      just what these 3D printers are for!

      And is exactly why I bought the thing: plenty more little parts coming in the pipeline!

      if it can work with clear filament

      I think there’s transparent PLA, which is different from “natural” PLA, but I don’t have any links. IIRC, it really does print glass-clear, albeit with weird striations from the extrusion process.

  2. #5 by Brian on 2011-06-11 - 11:46

    Ed, Your hole drilling. Um, it’s plastic. Get it close – interference fit for install to be snug. What is the start at #12 working your way up to #9 to be concentric? That’s metal… Funny Guy….

    • #6 by Ed on 2011-06-11 - 12:01

      Get it close – interference fit for install to be snug.

      That’s if you don’t care about alignment, which I generally don’t.

      In this case, I really do: the interrupter tab hangs at the end of a looong lever arm, where a wee bit of misalignment will do you in. There’s a reason the second wheel had a lot more plastic in it than the first one, particularly around the hub. [grin]

  1. Stepper Dynamometer: Sync Wheel « The Smell of Molten Projects in the Morning
  2. Thing-O-Matic: HBP Connector Failure « The Smell of Molten Projects in the Morning
  3. HB-415M Stepper Driver Measurements | The Smell of Molten Projects in the Morning