Dear Friends,
I know a little about GPIO and I controlled 4 motors (DC/Stepper/Servo/...) with GPIO pins at same time. But if I want control about 100 or more motors(DC/Stepper) with one raspberry, is it possible?
Thanks

pedrox wrote:thank you, I'll google it, however I can't find any good article/sample to control motors with these MCP4922 like microchips.

pedrox wrote:Yes, exactly it's an art project.

Err no, about one GPIO for each stepper driver PLUS one GPIO for a global direction bit, so for 200 stepper motors you need 201 GPIO's. still too much for 8 (the maximum) I/O expanders, with 16-bit I/O expanders you can do 128 GPIO's.200x motors = 200x stepper motor controller IC's and 400 digital I/O's if each motor must be stepped independently
Or just use a bare AVR (or PIC if that's your thing) chip.mahjongg wrote: If you want to step all motors simultaneously the best solution would be to control groups of 10 or so steppers with one arduino, and controlling 200/10 = 20 Arduinos by the PI through the serial port (UART) in the PI. Cheap arduino clones for a few euro do exist.
Or use ten Raspberry Pis instead of one? Depends how "real time" the motor control needs to be. Throughput of the communication channel between processors can become a bottleneck. Ethernet is quite fast for data transfer.mahjongg wrote:If you want to step all motors simultaneously the best solution would be to control groups of 10 or so steppers with one arduino, and controlling 200/10 = 20 Arduinos by the PI through the serial port (UART) in the PI.
May I ask who is going to wire up those steppers? They are tiny and I don't see that a soldering beginner will have much success in putting them to use.pedrox wrote:Yes, exactly it's an art project.
mahjongg wrote:Err no, about one GPIO for each stepper driver PLUS one GPIO for a global direction bit, so for 200 stepper motors you need 201 GPIO's. still too much for 8 (the maximum) I/O expanders, with 16-bit I/O expanders you can do 128 GPIO's.200x motors = 200x stepper motor controller IC's and 400 digital I/O's if each motor must be stepped independently
Still other solutions do exist, like using shift registers with output latches, but you need to shift a lot of bits through them, which would make it slow.
Yet another (relatively cheap) solution would be to build an 1 of 200 decoder by cascading several 1 of 16 decoders. With the 200 decoded outputs you can select (with an 8-bit binary word) one of the 200 outputs to generate a STP (step) pulse to the stepper driver.
If you want to step all motors simultaneously the best solution would be to control groups of 10 or so steppers with one arduino, and controlling 200/10 = 20 Arduinos by the PI through the serial port (UART) in the PI. Cheap arduino clones for a few euro do exist.
If you want to control 100 servos then i suggest you use i2c servo driver boards.AAT wrote: ↑Wed Feb 14, 2018 6:35 amI am currently doing the same sort of project. Just gone through all the searching and find yours. In my case I want to control 100 servos by Raspberry pi. But unable to find a feasible solution though found some extensions but still it would be great help if u share something valuable (solution if u found one).
Thanks