I finally got around to installing and testing a closed-loop stepper motor + controller I got over a year ago. I got a clue that it was amazing when I had it and the standard V1 Eng NEMA17 steppers in vises on my bench and could not stall the closed-loop one with my hand no matter how hard I gripped the coupler (Wear a leather glove!). The open-loop stepper was pretty easy to stall by grabbing it.
Now that the closed-loop stepper and controller are installed on my souped up portable Primo MPCNC, I am blown away. It is powerful, fast, and doesn’t even get above 30C because closed-loop means it is only amping up the current as needed to get to where you commanded it to go. I took off the water cooling I was using for the old Z stepper.
Here are some details:
Stepper motor (NEMA17): 42BH250-60B
Controller: HB808C Hybrid Servo Drive
I got these from Aliexpress (OrizerCNC store) for about ÂŁ60
https://www.aliexpress.com/item/33019454657.html
[Note: Closed-loop steppers have a rotary encoder in them that is a thin glass disk, so you must be careful not to drop them or bang on them with a hammer.]
By following Uncle Dick’s “skid the wheels” advice, I have now pushed this thing past where it can keep up and it throws a position error. Then I backed off on speed and/or acceleration to get what I feel is a very reliable motion with absolutely no error and repeatability of better than 5 microns for a 10mm jog. Let that sink in. But wait:
I hope you are sitting down for this one. My massive Z axis, with its water-cooled 1.5kW spindle, can now jog 50mm up or down at up to 160mm/sec!! That is a measured rate using my oscilloscope looking at the pulses, averaged over the time it took (312 ms). That was with 2000mm/sec^2 acceleration, and commanded to go 16,000mm/min (267mm/sec). There is a bit of a clunk at the end of an upward movement when the rotation is suddenly halted, so I am going to go with only 1500mm/sec^2 acceleration and a max commanded speed of 250mm/sec. No clunk. This gives an actual measured average speed for a 50mm up or down jog of 135mm/sec. This is compared to my good old V1Engineering open-loop stepper that gave a max of 42mm/sec no matter what I optimized, and it got very hot. If you have been following my upgrades you will know I am using 40V for all the steppers. (That is two 24V supplies in series, regulated to 40V by a RuiDeng power supply which has all sorts of settable protections.)
Here is a video showing its speed and repeatability.
You may be asking “Why would I want to have such a fast Z axis?”
Two things I do often have a lot of Z motion: V-carving and carving terrain models. Up until this momentous day, the rate at which I could move in 3D has been limited by the Z axis’s top speed, and if I exceeded that even for a moment and lost steps, my carving would be destroyed.
NO MORE! Now all three axes can go faster than the wood and the bit will tolerate.
Also, if you are doing drawing with a pen or making a photo-carve or halftone carving of an image, your machine will do a lot of vertical rapids, lifting the tool to another location. This closed-loop stepper will make the whole toolpath execute much faster.
One more thing - SAFETY: I spent considerable time figuring out how to gracefully deal with a “position error”, which the controller throws if it can’t get to the commanded location in some small number of ms.
A red LED starts blinking and it rapidly cuts power to the stepper motor. Thankfully, it has Alm+ and Alm- outputs that are normally very high impedance, and go to a near short when an error happens. I am using this signal to trigger two mechanical relays:
- A 12V signal that my E-Stop switch uses to brake the spindle motor in 1 sec.
- A 5V signal on the other half of my E-Stop switch that triggers the GRBL DOOR alarm. This halts feed and pulls the spindle up out of the workpiece.
To reset the closed-loop stepper driver, I have to power cycle it using the ON/OFF button on the RuiDeng power supply. I don’t imagine this position error will ever happen as long as I keep the Z speed and acceleration to the settings I tested above, but just in case, I wanted to be sure that it would not just stop the Z while still trying to cut, burning wood and breaking bits.