MUltiple stepper motor control

Hello guys,

i am thinking about doing a project with multiple stepper motors involved.

What i do have are:


So my question would be: is it possible, and what other components do you suggest, to install a canbus that would transfer required data from arduino board to the driver on the back of the stepper motor and back to arduino, for multiple stepper motors in row.

Something similar shown in video but i want to avoid having 6x same wires from arduino to each of the driver and have something more like this:

Big thanks in advance.

You’ll need DC & GND going to each Driver as well.

One Arduino can control multiple stepper motors, so all the question mark blocks can be one Arduino with 4 wires going to each driver.

Or maybe I’m missing something on what you’re trying to avoid.

Yea you are right about DC/GND. I want to avoid having those 4 wires going to each driver lets say i have 6 units i want to control, i would like to have a canbus (2 wires) going from arduino to 1st unit, from 1st to 2nd, from 2nd to 3th and so on till 6. Makes my wire management easier.

Same with the power supply, 2 wires DC/GND from 1st to 2nd unit, 2nd to 3th and so on till 6th.

Where 1 unit represents motor+driver+??? something i am missing :slight_smile:

So why not have the Arduino + CANBUS + 6 drivers all on one board, with 4 wires going off to each stepper motor from there?
Similar to how 3D printers work - all controls on one board, then a ribbon cable leaving off to each motor.

Drivers need to be on the back of the motor cause they have an encoder on the backside.
And as i said, cable management since the “units” are displaced in a line, not on different axis like it is a case by 3d printer.

Ok, so canbus + some smarts to read the encoder + driver all mounted on the back of the motor, maybe one board, maybe a couple of stacked boards, with all units wired in parallel for CANH, CANL, power, Gnd (4-pin connector in and 4-pin connector out for example).

Each assembly would be considered a “node”.

Ok so what i had in my mind is a custom pcb board with

  • 4 pins (dir,step,dc,gnd) that connect to the driver board on back of my stepper
  • usb c for canbus in, usb c for canbus out (to the 2nd node)
  • 2 pin smd connector for power supply in and 2 pin for out (to the 2nd node)
  • ??? - something to read the information from usb c port addressed to the wanted node and translate it to the dir step pins, and reverse (since the driver is programmed to send information in case stepper losses steps)

??? would be something like esp32? canbus reciever/transmitter? teensy 4.0? - i know way to little to figure this on my own so this is where i need to help

  • maybe instead usb C i need ethernet connector for canbus?

Also found some interesting answer of yours in some other thread, could it be possible to use serial ports like you described instead the canbus?

Yes, that would certainly be possible. CANBUS did seem a little overkill.
If you had a 10 pin ribbon cable going from module to module, that would keep things neat:
Serial in Rx
Serial in Tx
2-3 power
2-3 Gnd

Serial Out Rx
Serial Out Tx
2-3 power
2-3 Gnd

And the 4-pin connector to connect to the driver board.

Then whatever the master node is sends info to and receives encoder messages back, and the 1284P at each node for the smarts to receive and pass along messages and drive the motor and read the encoder.

This board could be modified to support the connectors and be mounted with the driver board
Three Canbus adapters for $9. Then you need a small Arduino (Nano or Mini) for each. The Arduio talks to the CANBUS board with SPI and updates the three output pins going to the stepper driver.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.