Driving Multiple Stepper Motors From a Single Driver

21K3016

Intro: Driving Multiple Stepper Motors From a Single Driver

This instructable talks about driving multiple bipolar stepper motors (such as used in RepRap 3D printers) from a single driver, such as a Pololu Shield. Each motor is driven via two circuits, call them 1 and 2. Each circuit has two wires, call them A and B. The wires are connected in order 1A, 1B, 2A, 2B.

To connect multiple motors to a single driver, you can wire them either in parallel, or in series. Either will work, but motors wired in series will produce more power. To see why, consider the electrical characteristics of the motors and the driver.

RepRap motors are often rated 2A and 1.1ohms. Using Ohm's Law, such a motor needs 2.2V of power. Pololu Shield is rated 2A and gets 12V from the RAMPS board (or at least I think it does). If you wire the motors in parallel, every motor gets the full voltage, but the current is split, meaning that the total current is still only 2A - no matter how many motors you add, there is no more power. I found this out the hard way, when I was building a printer where I used four motors to lift a fairly substantial gantry in the vertical direction. It would not budge.

In contrast, wiring the motors in series splits the voltage, but every motor gets the full current. Given how little voltage each motor really needs, you should be able to get five times the power if you use five motors. In my case, the same four motors wired in series had no problem lifting the same gantry with power to spare.

To wire the motors in series, split the 1A and 2A wires from 1B and 2B wires in the cable coming from the driver and connect to the first and third pin on the header where you'll plug in the first motor. Connect 1B from the first header to the 1A on the second header (i.e., the header where you'll plug in the second motor). Connect 2B from the first header to 2A on the second header. Continue this A to B connection as you add more headers. On the last header, connect 1B and 2B pins to the 1B and 2B wires going to the driver. See the wiring diagram.

See the picture of my distribution board with two Y motors and four Z motors, each set wired in series. To map the picture to the diagram, left is top, two wires are connected on the left side and two on the right.

Keep in mind that, to have the motors work, you must have all the motors connected, otherwise the circuit is interrupted. If you for any reason don't want to fully populate your headers, use jumpers to short 1A to 1B and 2A to 2B where you have any motors missing.

12 Comments

I'm glad you shared and presented so well.
With the power off, if you manually turn one stepper, will the others in seties turn "in step"?
Maybe this depends on the driver, so in your experience?
Thanks again for sharing!
Thank you for the kind words.

If you turn a motor by hand, it won't affect any other motors you have connected in series, even if all the motors are turned on and holding position. I do this all the time - my homebuilt printer has four Z motors wired in series and I'll sometimes turn one by hand if the leveling has slipped out of true. It should not depend on what you are using to drive the motor - as far as your driver goes, you only have one motor. I'm using RAMPS 1.4 and all four of mine go from one of the two Z connectors (Z connectors on RAMPS are wired in parallel, which is why I only use one).

Hope this helps.
I realized, to use 700lb dynamic load rails, I'd need to keep my tslot bed stationary, which meant I'd need to rethink my y axis to either control it from overhead or low, along sides of the bed. Doing this means the bed would be in the way of a single ballscrew, so I decided to use less steel and weight on the moving structure, I'd best copy the idea of using 2 ballscrews with 2 motors for the y. I'm still not certain if ungearboxed nema23's will do better with more torque or top speed, so I'll just guess torque and see how she runs. I figure, the y axis running 2 screws is moving more weight around than the rest of the assembly, so it would benefit more from torque to remain even speed with the x axis.
I didn't have this plan when I started, but when I realized the tslot bed will weigh around 700lbs after machining (1k before), I'd rather keep it stationary! This also means the table wont rock as much during operation, until I can upgrade from 4x4 wood legs to a steel frame perhaps.
Yes, connecting steppers in serial gives full torque on each stepper, but from a dynamic point of view, since available voltage is split between steppers, speed limit will be lower than normal. Nothing is magic!
Thus, serial connecting is pretty good when using very low speed as for Y or extruder in 3D printers for example, whereas parallel connecting is better when using low torque and need to high speed.
I believe you can add up to five without degrading performance, since each stepper only needs 2.2V and driver produces 12V. Would be an interesting experiment to run: compare the top speed of a single motor vs. five linked in series.
At last, a concise intelligible explanation. Thank you.
Thank you for the kind words!

What kind of stepper drives are you using?

I have a stock RAMPS 1.4 board that I got with a QuBD TwoUp printer that has Pololu shields. I use it to drive regular NEMA 17 motors, 2A, 1.8 deg steps, such as

https://www.amazon.com/gp/product/B0191GW4IE/ref=oh_aui_detailpage_o06_s02?ie=UTF8&psc=1

What is the voltage you supply to your motor drives?

Thanks! To be fair, I didn't think this up - when my motors failed to lift what they needed to, I found a discussion thread someplace implying the serial connection might help. It did, so I thought I'd write this up if anyone else finds themselves in the same pickle.