0
\$\begingroup\$

I am working or a project to drive clusters of 8 Nema17 stepper motors with Arduino using A4988 drivers and some 8 bit shift registers.

Each cluster consist of:

  1. power 12V 11A supply
  2. DCDC stepdown voltage converter to 5V
  3. 8x NEMA17 stepper motors
  4. 8x A4988 stepper driver
  5. 8x end stopper switches
  6. 2x SN74HC595N shift registers (splitting signal for motors)
  7. 1x SN74HC165N shift register (gathering analog signals from end stoppers)

I want to connect multiple clusters in series so that shift registers work in serial daisy chain and each cluster has its own power supply to power 8 motors.

Each cluster is located around 2m distance from another.

I have very little knowledge of electrical engineering but really need to make this work.

I already tested 1 cluster connecter directly to Arduino and it works, but having problems now with multiple clusters.

I am guessing having common ground will be one problem. another would be signal distortion distortion between daisy chained shift registers. At this point I am just guessing, was trying to add some small resistors at the signal pin pf shift registers but tbh I don't know what I am doing...

Never before drew a electrical circuit but did my best to show the wiring.

https://drive.google.com/file/d/19zqV-yYAMH7yDq5LGW4kHoKmDSCMbaBo/view?usp=sharing https://drive.google.com/file/d/17yT7XFImQqPMHibi6ozk08s6WJJ2F1WL/view?usp=sharing

\$\endgroup\$
3
  • 2
    \$\begingroup\$ Please upload the image into the question, people are less likely to follow a link to an external web site \$\endgroup\$ Commented May 27, 2023 at 12:43
  • \$\begingroup\$ having problems is not a description inviting useful answers. Accurately logging signal states at sites meters apart in presence of high current conductors looks a challenge. \$\endgroup\$
    – greybeard
    Commented May 27, 2023 at 16:28
  • \$\begingroup\$ With the cost of clone Arduino boards being next to nothing, it would make for a more robust solution to have a mcu at each point. Then use RS485 to communicate to them all. Running chains of 595’s at distance with motors is inviting trouble - as you’ve found. It can be made to work but don’t expect it to be reliable. Hint - ensure there is a 0V wire between the 595 signals if you are using flat cable to interconnect. \$\endgroup\$
    – Kartman
    Commented May 28, 2023 at 1:47

1 Answer 1

0
\$\begingroup\$

Likely it will be difficult to send a high speed single-sided (ground reference) digital signal through long wires without any degradation. There are many causes of degradation (some are: line capacitance, line resistance, noise & cross talk). And there are many ways to mitigate these effects (some are: shorter wires, larger voltage swings, shielding, use differential-swing & slower data rates).

Assuming each of 8 motors are place such that no 2 motors are withing 2 meters of another and the last motor is furthest from the controller indicate the total distance to the furthest motor is 16 meters.

Consider these mitigation ideas. Likely they will not eliminate all problems all the time. Factors such as cost and expectations need to be considered:

  1. Shorten the distance signals travel as well as the power wires.
  2. Use shielded wires and/or heavier gauge wires.
  3. Use separate positive power wires to supply circuits from those which power the motors.
  4. Arrange the project to route as few long wires as possible (for example: only send 2 powers, 1 ground, step and direction to each motor).
  5. Instead of routing control signals a long distance, consider using heavy wire and rout the stepper motor coil power a long distance (this is commonly done on 3D printers).
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.