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:

The model looks about like you’d expect:

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:

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:

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

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…
Comments
9 responses to “Stepper Motor Sync Wheel”
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…
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.
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.
And is exactly why I bought the thing: plenty more little parts coming in the pipeline!
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.
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….
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]
[…] is a modification of that sync gadget to work on the prototype stepper dynamometer. The key […]
[…] long time coming, as the connector shell over that pin connecting the MOSFET to the heater has been getting crispier despite my attention, cleaning, and occasional DeoxIT application. Burned-out HBP […]
[…] Yes, it’s that stepper motor and interrupter wheel. […]