Using an Arduino Mega, I currently control two stepper motors that never operate at the same time and never will. I am using two EasyDriver stepper control boards with two separate power sources. I was wondering if I could go down to just one stepper control board, one power source but somehow switch the 4 input wires from one motor to another when I need to turn a specific motor. Is there a switch I can control with Arduino where I can plug in 8 wires and say "ok, use the 4 left most wires" or "switch to the right most 4 wires". Does that exist or is that more complicated than what I currently have?
1 Answer
If we call the motor leads A1, A2, B1, B2 on each motor and control, you could tie the two motor A1's to A1 on the control, and motor B1's to B1 on control. Then wire a DPDT relay as below. (Coil not shown.) Note, DPDT relays are about $4 on ebay, with labels like “DR21A01 DC 5V DPDT Relay Module Polarity reversal switch Board for Arduino UNO”.
simulate this circuit – Schematic created using CircuitLab
Since you have equipment in place and working, it might not be worthwhile to change your setup. However, even without adding a relay, you probably can power both motor controls and motors with a single power supply, ie could use one instead of two power supplies. The current draw when a stepper motor is idle is a small fraction (eg 10-20%) of the high current drawn when the motor steps. If you don't have power attached to a stepper motor, there is only its cogging resistance to keep it from turning; it does not take a large torque to turn an unpowered stepper motor. If that's a concern, the DPDT relay approach might be unsuitable.