After selecting the threaded rod or ACME screw you intend to use for linear motion, you need a way to effectively connect this rod to a stepper motor such that there is zero slip when the motor is rotating. I’ve found a number of articles about this subject, but I’ve found many of them give inadequate solutions to this simple problem.
Solid Couplers
Brass couplers, or any solid or rigid couplers are a bad idea to connect a threaded rod to a stepper motor. Don’t use them, don’t buy them, it just isn’t worth it. The main problem is that when using solid couplers, the alignment of your threaded rod must be absolutely perfect. If your threaded rod is misaligned by even a fraction of a degree, and it will be, this means that the threaded rod will flex each time it is rotated. Threaded rods or ACME screws a very rigid, and it takes a lot of energy to flex these. What this means for you is that if the stepper motor is forced to spend energy to flex your metal rod each and every time the motor rotates, this effectively reduces your maximum stepper motor speed dramatically. I’ve seen first hand that this effect is noticeable even if the rod is misaligned by .1″ for a 36″ rod. So even 0.16 degrees of misalignment can reduce your speed.
Helical Beam Coupling
The solution I use is helical beam coupling nuts, pictured to the right. These are available from McMaster-Carr starting at around twenty dollars. Why use these? Because they’re awesome for connecting threaded rods to stepper motors. First of all, the primary purpose of these devices is to couple devices for rotary motion, even if the devices are slightly misaligned. Devices can be misaligned in any dimension, meaning parallel, angular, and axial. So as long as your misalignment is within the stated tolerance of this device, you should be fine. Not only that, but there is no rotary slippage with these devices, so they’re just as accurate as solid couplers. Finally, if you have a stepper motor shaft and a threaded rod with different diameters, it’s not a problem. Each side of these helical beam shafts can have different bore diameters. Personally, I use them to connect a 1/4″ stepper motor shaft to a 3/8″ ACME screw. One thing you should keep in mind is that these are basically springs. Depending on which one you get, some are stiff, while others are fairly loose. But the point is that if enough force is applied, they can expand or contract, and cause similar problems frequently encountered with high backlash nuts. These are most appropriate for woodworking, or working on other soft materials. Also note that their maximum torque ratings are usually low, but maximum speed ratings are high, around 5000 RPM. Another thing to note is that since these are basically stiff springs, you may want to avoid using helical beam couplers for a very heavy vertical axis, since these could potentially become stretched out over time and even break.
U-Joints
If you are doing metalworking or something which needs absolute precision, you might want to consider using U-Joints. These devices are intended to transmit rotary motion between two misaligned beams. These joints can be significantly more expensive than helical beam coupling, and can usually handle far more torque than helical beam couplings. These are also available from industrial suppliers like McMaster Carr.
Rubber Coupling
One solution I’ve seen is to use a this rubber coupling device. I’m not aware of any specific products available, but if you have a block of rubber laying around, you may be able to fashion a cheap but usable coupling device by drilling all the way through with the smaller diameter or either your stepper motor shaft or threaded rod. Then drill half way through with a larger diameter drill if your stepper motor shaft and threaded rod have different sizes. Finally, using a small drill bit, drill two holes into the side of your block of rubber to accommodate whatever you intend to use as set screws.