Hi all!
I am working on a project which deals with a large number of stepper motors and other devices. A key feature I want to achieve is create a modular/ expandable system, so that new devices can be easily connected and programmed through a dedicated GUI. Currently what I have is following system:
3 (or may be 4) stepper motors and drivers (+ other simple perephirals) will create 1 "device". So far it works fine. I managed to actuate them simultaneously (through pyfirmata). But so far this 1 device already uses 6 pins! Okay, I have read how to improve this using shift registers, making 3 pins for 1 device.
However, as mentioned, I want a modular system, similar to shown below:
Meaning that I have 1 main controller and devices connected to it. It doesn't have to be 1 pin to 1 device, I was also exploring options such as CAN. (Also, i suppose running single 12V line wont be enough, but that's something to consider at later stage).
I have researched various options such as: RS485, SPI, UART (using TMC drivers) etc. Problem is that I could not find a proper example to see how it fits into my system.
Therefore my questions are:
- What would be the best way to realise system I have described (1 main controller and multiple slaves/devices) + is it feasible at all?
- Could you give a simple diagram how this should be working
- What would be the most cost effective solution
Some extra info:
- Distance between devices is within 2 meters.
- At later stage the idea to create a PCB and make all systems more compact
- Motors and devices must work simultaneously
- Currently there is no feedback loop, meaning that master just sends pulses to drive steppers, no information back is required.
I would really appreciate any help! Please comment if you need more details