I am working on a project, as I am a mechanical engineer my knowledge on electronics is very limited. I want to rotate 15 shafts those have plates on them independently while an air flow is going through them and investigate the effect of their different combinations on the pressure profile of the air.
Therefore, each of the stepper motors must rotate independently. Also the combinations will change from a scenario to another scenario. The speed of the motors will be relatively low (~100-200 rpm at most)
My problem is that I am not sure about how to run 15 steppers motor simultaneously. My first attempt was to use an Arduino Uno with a CNC shield compatible with A4988 motor drivers. However I was told that A4988 is slow and has a limited number of output pins. Now I am considering Arduino Mega with Ramps 1.4 and additional extension boards with A4988 motor drivers.
Ramps 1.4 has 5 slots for A4988 drivers. I need 10 more slots. The extension boards have pins for enable, step and direction. Also there are pins for 5V/GND and 12V/GND. My questions about the problem are:
Let's assume I connect extension board 12V/GND pins to Ramps D8 pins. After that if I connect extension board 5V pin to Ramps AUX-1 5V pin, extension board GND pin to adjacent Ramps AUX-1 GND pin and connect extension board EN,STEP and DIR pins to Ramps AUX-4 digital I/O pins will it work?
What I am trying to understand with this question is that if it matters if I use I/O digital pins from another AUX zone. If it doesn't I can use AUX-1 5V/GND pins for two stepper motors by using digital I/O pins from other AUX areas.
Let's assume I connect one motor driver properly and again its 12V supply is at D8. Can I connect one more stepper motor driver's 12V/GND pins to D8 with something like a Y-cable? Will it create a problem to feed more than one motor with the same pins?
Let's assume I connected one extension board to the Ramps on AUX-4 area. I use 5V/GND pins and digital I/O pins 16,17 and 23. Can I connect one more by using the same 5V/GND pins and digital I/O pins 25, 27 and 29? Will it create a problem if I use the same 5V/GND pins for two different stepper motors?
What if I connect 5V/GND, EN, STEP and DIR pins of the extension board to the Ramps but 12V/GND pins directly to the power supply rather than the Ramps?
Do you have any other suggestions to run 15 stepper motors simultaneously and independently?
As I mentioned my knowledge on the subject is very limited. Therefore probably most of my questions are basic electronic problems. In my opinion all of the scenarios above should work but it would be great to learn from the ones who knows the subject well.
Thanks for your response. It is good to see it is doable. Now my question is mainly 'how?'. Could you please check the questions I listed above if you have time?
zalajbeg:
The speed of the motors will be relatively low (~100-200 rpm at most)
That excludes cheap geared 24BYJ48 motors. They can't do much more than 15RPM.
First find the right motors for the job. Then think about the drivers.
Ask here before ordering anything.
Too many questions at once.
15 motors/drivers is outside the scope of shields.
I would likely use A4988 modules (motor dependent), and strip board.
Not a problem for an Arduino to supply logic power, but you need two pins (direction, step) for each module.
So you should use a Mega.
Build a setup with two or there steppers. Get the experience and iron out the problems.
Up-scaling to 15 could be harder than you think.
Leo..
Wawa:
That excludes cheap geared 24BYJ48 motors. They can't do much more than 15RPM.
First find the right motors for the job. Then think about the drivers.
Ask here before ordering anything.
Too many questions at once.
15 motors/drivers is outside the scope of shields.
I would likely use A4988 modules (motor dependent), and strip board.
Not a problem for an Arduino to supply logic power, but you need two pins (direction, step) for each module.
So you should use a Mega.
Build a setup with two or there steppers. Get the experience and iron out the problems.
Up-scaling to 15 could be harder than you think.
Leo..
Thanks a lot for responding. I am planning to use 17HS4401 NEMA-17 motors. They will be enough for my torque requirements.
My first approach was to use Ramps 1.4 shield slots for 5 of the stepper motors and run the other 10 by extending cables from auxiliary pins to extension boards. Now I see that instead of buying a shield I can run all of them from Arduino Mega directly.
Also I see that I will have trouble finding suitable extension boards supplied with 12V. The ones I found are something named Keyes A4988 Controller and apparently they are supplied with 9V. I may need to directly connect A4988 boards to Arduino.
To be honest I was far from thinking about getting rid of the shield. I think I have a wider vision on the subject now. Thanks a lot! I will follow what you advised. I have a breadboard available, I will order a few A4988 drivers, a few HS 17HS4401 motors and the components required for connecting them together.
Wawa:
The 17HS4401 seems to be a 1.7 Amp stepper.
An A4988 (~1Amp) is not able to drive that motor to it's full potential.
Leo..
Thanks for letting me know. The datasheet I found showed 1.5 A rated voltage (3.6V) for it. When I checked the datasheet for the A4988 in Polulu's website it was stating the output current as +/- 2A. Could you please guide me on how to read these manuals. Probably I don't know how to read the terminology.
(https://www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver_with_translator.pdf)
Wawa:
It's up to you to run parts at their maximum rating.
Reliability could go down though.
Low impedance steppers are AFAIK chosen for their high speed capabilities.
And since you don't seem to need that...
Leo..
I will probably need to limit my motors to ~70%. After your suggestion I looked for different stepper motors. However I could not find an intermediate motor between 28BYJ type and NEMA type motors. Do you have any suggestion? A <1Amp motor would be much better for me if I could find one as I expect it to be cheaper and require a cheaper power supply.
Ordering the wrong (too big) motors/drivers/supply could be costly.
Maybe you should explain your project a bit better.
There are some clever guys here (maybe not me) that can help you calculate the minimum requirements.
Leo..
bkarpuz:
I believe that you have to study Shift Registers such as 74HC595, which allows Arduino to increase its number of outputs.
To be honest I don't think I will have problems about the number of outputs when I use Arduino Mega. Even if I want to use a separate ENABLE pin for each motor this will sum up to 45. Arduino Mega has 53 digital I/O pins even if I don't count the analog pins which can be used as digital pins.
Wawa:
Ordering the wrong (too big) motors/drivers/supply could be costly.
Maybe you should explain your project a bit better.
There are some clever guys here (maybe not me) that can help you calculate the minimum requirements.
Leo..
What I want to do is creating a grid with shafts. The shafts will have small square plates on them and each of the shafts will rotate independently. The grid will be located in front of a experimental wind tunnel and I will investigate the effect of the plates on the output pressure profile of the air. For this purpose I will observe the effect of different shaft speed combinations.
I calculated the required torque and it was much smaller than what the motors I choose can provide ( ~2.5 N.cm). DC motor are not a viable option as I need to change the speed of the each motor many times (maybe for thousands of times), servo motors are beyond my capability. Therefore I want to use stepper motors.
My research shows that the price difference between the motor I have chosen and less capable ones are not that significant unless I go to a point where the motor does not provide enough speed and torque. Therefore I am close to use the ones I have chosen and limit them if necessary, also I am going to use heat sink and planning to use fans to keep A4988 drivers cool.
By the way I am aware of my lack of knowledge on the subject and I am more than happy to hear any other suggestions.