I’m planning on doing a project where I need to control multiple stepper motors independently from each other. After a little theoretical research it appeared to me that it is only possible to control one stepper per arduino board.
I attended the Motors+vvvv workshop at the NODE15 last year where I got a PDF that says it’s possible to control multiple Motors via Arduino Ethernet Shield. Now the problem is, it doesn’t explain how.
Does anybody have any expirience or knowledge that they’re willing to share?
Hallo this is not a vvvv question but an arduino/nema question so you may get better information on arduino related forums. A very easy solution is using step motor drivers such as the A4988. There are libraries already for that and it needs a couple of DOUT per module/stepper.
When you get that going you just need some serial communication from vvvv to control the steppers.
Thanks for your help. Since the project was due in july this year, it’s already finished now. My solution was reducing the amount of steppers to three and controlling them via three arduinos without ethernet shield and the Stepper Library. I extended the signals by simply soldering the wires from the arduino pins to some RJ45 connectors and using regular ethernet cables. The drivers i used were the A4988 mentioned by io. There certainly would have been a solution with one Arduino board and the AccelStepperLibrary which allows you to control multiple drivers per Microcontroller. The code is non blocking and also allows you to accelerate and decelerate your motors. Since i didn’t need that and time was (very) short, i wasn’t looking into it any further. The serial communication (RS232) via vvvv is nicely explained here: https://vvvv.org/contribution/motors-+-vvvv.
@stalhenk if you need any further info, feel free to contact me, i’m happy to share the experiences i’ve made so far.
sorry for the late answer. It is possible to do this with ethernet shield, but not with every stepper driver. I don’t know the A4988, so I can’t say anything about that.
With the L6470 it is possible. Each stepper driver does all the calculations for its motor, the arduino sends only the parameters like speed, direction, acceleration, deceleration etc to the different drivers.
One thing that is not trivial with this driver: it is using a different spi mode than the ethernet shield. So you have to switch between them after each command.