Sewing Machine RPM Sensing: Gun Bluing FTW!

A quick-and-dirty bracket (made from a leftover strip in the pile of chassis clips) affixed an IR reflective sensor (based on the ubiquitous TCRT5000 module) to the sewing machine motor:

TCRT5000 sensor on motor
TCRT5000 sensor on motor

That’s scribbling black Sharpie around the retroreflective tape for the laser tachometer, which worked just about as poorly as you’d expect. Retroreflective tape, by definition, reflects the light directly back at the LED, but in this case you want it bounced to the photosensor.

An IR view shows the geometry and highlights the LED:

TCRT5000 sensor - IR view
TCRT5000 sensor – IR view

The TCRT5000 datasheet suggests that the peak operating distance is 2.5 mm, roughly attained by tinkering with the bracket. The datasheet graph shows that anything between 1 and 5 mm should be just fine:

IR Reflective Sensor module - TCRT5000 - response vs distance
IR Reflective Sensor module – TCRT5000 – response vs distance

Soooo, a bit of contrast improvement is in order:

  • Scrape off the tape
  • Remove adhesive and Sharpie with xylene
  • Scuff with sandpaper
  • Apply Brownell’s Oxpho-Blue gun bluing with a cotton swab
  • Buff with 0000 steel wool
  • Repeat
  • Apply stainless steel tape around half the circumference
  • Burnish flat

Which looks pretty good:

Kenmore 158 motor pulley - black-silver
Kenmore 158 motor pulley – black-silver

The stainless tape butts up against the setscrew:

Kenmore 158 motor pulley - black-silver at setscrew
Kenmore 158 motor pulley – black-silver at setscrew

Adjusting the sensitivity midway between the point where the output is low (OFF) over the black and high (ON) over the tape seems reasonable.

Running at the slowest possible speed produces this pulse train:

Motor sense - min speed
Motor sense – min speed

The motor at 19 rev/s = 1140 RPM corresponds to about 2 rev/s of the sewing machine shaft= 2 stitch/s. Slower than, that, the pedal won’t go in simple open-loop mode.

The setscrew causes those “glitches” on the rising edge. They look like this at a faster sweep:

Motor sense - min speed - setscrew
Motor sense – min speed – setscrew

At maximum speed, the setscrew doesn’t show up:

Motor sense - max speed
Motor sense – max speed

The motor at 174 rev/s = 10440 RPM would do 1000 stitch/s, but that’s just crazy talk: it runs at that speed with the handwheel clutch disengaged and the motor driving only the bobbin winder. I was holding the machine down with the shaft engaged and all the gimcrackery flailing around during that shot.

The sensor board may have an internal glitch filter, but it’s hard to say: the eBay description has broken links to the circuit documentation.

I could grind the setscrew flush with the pulley OD and cover it with tape, but that seems unreasonable. Fixing the glitch in firmware shouldn’t be too difficult: ignore a rising edge that occurs less than, say, 1/4 of the previous period following the previous edge.

Perhaps buffing half the pulley’s circumference to a reasonable shine (minus the bluing) would eliminate the need for the stainless steel tape.

Iterating the bluing operation / scrubbing with steel wool should produce a darker black, although two passes yields a nice flat black.