Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
The handwheel on the Kenmore Model 158 sewing machine has a shiny knurled knob in the middle:
Kenmore 158 handwheel – knob
Turning the knob clockwise screws the knob inward and clamps a friction clutch that locks the handwheel to the main shaft; the motor belt drives the handwheel, the handwheel drives the shaft, and the shaft drives everything inside the sewing machine.
Remove the small screw, turn the knob counterclockwise to remove it, and you see the clutch:
Kenmore 158 – handwheel clutch – detail
Yes, the black stamped metal part is the clutch.
Those three projections around the exterior limit the knob’s travel to a bit under 1/3 turn, with the little screw you just removed traveling between two of the projections. When you reinstall the knob:
Turn it until it’s snug
Insert and tighten the screw
Done!
The two dogs in the middle project outward from the shaft notches: the bases engage the notches, the tips bears on the knob’s inner surface. Tightening the knob compresses the dogs, presses the clutch against the handwheel, and locks everything together.
It’s entirely possible to install the clutch backwards and, while it’ll come pretty close to working, it’s not quite right.
Having a NEMA 23 stepper fit almost exactly into the spot vacated by the sewing machine’s AC motor was too good to pass up:
Kenmore 158 – NEMA 23 stepper – on adapter
So I wired a power supply to an M542 stepper driver brick, connected the pulse output of a function generator to the brick’s STEP inputs, swapped motor leads until it turned the proper direction (CCW as seen from the shaft end), and turned the function generator knob:
Kenmore 158 – NEMA 23 stepper test
The object was to find the step frequency where the motor stalls, for various winding currents and supply voltages. The motor won’t have enough torque to actually stitch anything near the dropout speed, but this will give an indication of what’s possible.
With a 24 V DC supply and 1/8 microstepping (40 k step/s = 1470 RPM):
1.00 A = 11 k step/s
1.91 A = 44 k/s
2.37 A = 66 k/s
3.31 A = 15 k/s
With a 36 V DC supply and 1/8 microstepping:
1.91 A = 70 k/s
3.31 A = 90 k/s
With a 36 V DC supply and 1/4 microstepping (40 k step/s = 2900 RPM):
1.91 A = 34 k/s
2.37 A = 47 k/s
2.84 A = 47 k/s
3.31 A = 48 k/s
The motor runs faster with a higher voltage supply, which is no surprise: V = L di/dt. A higher voltage across the winding drives a faster current change, so each step can be faster.
The top speed is about 3500 RPM; just under that speed, the motor stalls at the slightest touch. That’s less than half the AC motor’s top speed under a similarly light load and the AC motor still has plenty of torque to spare.
90 k step/s at 1/8 microstepping = 11 k full step/s = crazy fast. Crosscheck: 48 k step/s at 1/4 microstepping = 12 k full step/s. The usual dropout speed for NEMA 23 steppers seems to be well under 10 k full step/s, but I don’t have a datasheet for these motors and, in any event, the sewing machine shaft provides enough momentum to keep the motor cruising along.
One thing I didn’t expect: the stepper excites howling mechanical resonances throughout its entire speed range, because the adapter plate mounts firmly to the cast aluminum frame with absolutely no damping anywhere. Mary ventured into the Basement Laboratory to find out what I was doing, having heard the howls upstairs across the house.
She can also hear near-ultrasonic stepper current chopper subharmonics that lie far above my audible range, so even if the stepper could handle the speed and I could damp the mechanics, it’s a non-starter for this task.
Given that the AC motor runs on DC, perhaps a brute-force MOSFET “resistive” control would suffice as a replacement for the carbon disk rheostat in the foot pedal. It’d take some serious heatsinking, but 100 V (or less?) at something under 1 A and intermittent duty doesn’t pose much of a problem for even cheap surplus MOSFETs these days.
That would avoid all the electrical and acoustic noise associated with PWM speed control, which counts as a major win in this situation. Wrapping a speed control feedback loop around the motor should stiffen up its low end torque.
The “Garden” trace comes from a waterproof Hobo datalogger buried a few inches underground, beneath a thick layer of chipped leaf mulch. The “Patio” trace comes from the center of the cramped space below the concrete patio, buried flush with the bare dirt floor. The “Water” trace is the temperature at the incoming water pipe from the town water main, which passes 150 feet under the front yard.
Calculated eyeballometrically, the temperature rose 7 °F in about a month.
The datalogger in the garden came from the “cold cellar” veggie storage buckets, so I don’t have a year-long record. On the other paw, it looks like the patio temperature will be a pretty good proxy for the minimum garden temperature.
I hand-cleaned the Hobo CSV files and fed the results into a Gnuplot script that’s replete with the cruft of ages:
#!/bin/sh
#-- overhead
export GDFONTPATH="/usr/share/fonts/truetype/"
ofile=Temperatures.png
echo Output file: ${ofile}
#-- do it
gnuplot << EOF
#set term x11
set term png font "arialbd.ttf" 18 size 950,600
set output "${ofile}"
set title "Ground Temperatures"
set key noautotitles right center
unset mouse
set bmargin 4
set grid xtics ytics
set timefmt "%m/%d/%Y %H:%M:%S"
set xdata time
set xlabel "Date"
set format x "%Y-%m-%d"
set xrange [:"07/15/2014"]
set xtics font "arial,12"
#set mxtics 2
#set logscale y
#set ytics nomirror autofreq
set ylabel "Temperature - F"
#set format y "%4.0f"
#set yrange [30:90]
#set mytics 2
#set y2label "right side variable"
#set y2tics nomirror autofreq 2
#set format y2 "%3.0f"
#set y2range [0:200]
#set y2tics 32
#set rmargin 9
set datafile separator ","
#set label 1 "Garden" at "05/31/2014",25 left font "arialbd,10" tc lt 3
#set arrow from 2.100,110 to 2.105,103 lt 1 lw 2 lc 0
plot \
"Garden.csv" using 2:3 with lines lt 3 lw 1 title "Garden",\
"Patio.csv" using 2:3 with lines lt 2 lw 1 title "Patio",\
"Water.csv" using 2:5 with lines lt 4 lw 1 title "Water",\
EOF