Fastest Thing-O-Matic EVAH!

With a pair of low-resistance and (relatively) high-torque NEMA 17 stepper motors driving the X and Y axes, I re-ran that torture test.

At 750 mA with just the aluminum sub-plate:

  • X can traverse at 6000 mm/min
  • Y begins losing steps at 4000 mm/min

Increasing the Y driver to 900 mA, the Y motor can traverse at 6500 mm/min. It began losing steps at 6600 mm/min.

Increasing the X driver to 900 mA, the X motor can traverse at 6000 mm/min with both aluminum build plates.

At 900 mA with both aluminum build plates, both axes can dependably traverse at 6000 mm/min = 100 mm/sec.

Large moves shake the printer, small patterns rattle it like a castanet, and you (probably) can’t print plastic at that speed, but the XY axes can traverse at 100 mm/s. That’s with about 200 g of aluminum plates atop an HBP, making it far heavier than even the ABP.

Because the firmware does not apply velocity ramping (aka control the motor acceleration), the stages must start or stop within two full step positions to avoid stalling the motors.There’s some belt deformation (not stretch), the Y idler pulley isn’t rigidly mounted, and the stages themselves have plenty of slightly bendy parts.

At 200 full step/rev, a 17 tooth pulley, and a 2 mm pitch belt, 1 full step = 0.17 mm and 2 step = 0.34 mm. I don’t have a good measurement for the other factors, but let’s assume a little bit of slop and go for 0.5 mm of total start / stop distance.

The acceleration required for an abrupt 100 mm/s speed change is therefore:

(0.12)/(2 * 5x10-4) = 10 m/s2

The entire XY stage assembly weighs about 1 kgf, so F = m·a tells us that the force is 10 N. There’s another 1 kg = 10 N from belt / pulley friction, so the total force is 20 N.

The pulley radius is 5.5 mm, so torque = F·r tells us the required motor torque is 20 * 0.0055 = 110 mN·m.

Although I don’t have the exact motor specs at hand (a peril of using eBay as my parts locker), NEMA 17 motors with 38 mm case lengths produce around 200-300 mN·m at 1 A. That matches the Y axis numbers pretty well, given the one-significant-figure accuracy of the measurements.

The X stage motor has a 34 mm case length and is likely good for 150-ish mN·m at 1 A. The 0.5 kgf of X axis belt friction dominates the acceleration force, so that result is in the right ballpark, too.

The motor have winding resistances around 2 Ω, so they’re dissipating something under 2 W at 0.9 A. The cases and driver chips get barely warm to the touch; there’s no need for heatsinks or active cooling!

Because the motors run well within their rated currents and the winding voltage is far lower than 12 V, microstepping is in full effect. The motors hum quietly and the stages move with authority. This is the quietest motion I’ve ever heard from the Thing-O-Matic; isolating the bolt heads from the panels probably improved that, too.

Remember to increase the per-axis speed limits in machines.xml to allow higher speeds; it’s all too easy to fool yourself that changing F6000 to F7000 in the G-Code file makes a difference, even while the XML file caps the speed at F5000.

Now that RepG has a setting for the homing speeds, I can set the maximum XY speed to 6000 mm/s, home at 2500 mm/s, and be done with it.

I might just saw the leadscrew off the damn Z axis motor and replace that puppy, too, although that’s not in the critical path right now.

Note: Don’t replace the motors on your TOM without going through the whole mechanical and electrical upgrade process I’ve described over the last few months. The X axis rod follower is extremely important, but the rest of the mods I’ve described help make the printer work smoothly and reliably. Adding more power won’t make those problems Go Away; you’ll just break something else!