Lots of motors

I'm doing a school project and I've decided to make a board where I need a four by four grid of stepper motors. I have access to a bunch of motors, motor shields, and Arduinos, but I was wondering what the easiest way to do this is. I would like to have them all connected to one board, but I don't think it is possible for me to connect more than 4 motors to an Arduino UNO with a motor shield and so this isn't a priority. What I need help with is deciding how all of these would be wired. How many of these stepper motors can I put per Arduino and how would I connect them?

The only thing holding you back from connecting a seemingly infinite number of motors to one Arduino is the number of pins. But you can use shift registers or pin expanders to add more pins. So you should be able to control as many motor drivers as you want from one Arduino.

What motor shields do you have access to? The Adafruit ones can be stacked because they use independent power supplies and I2C for communication.

Adafruit v2.3. I looked and it says I would need to buy pins to connect them, which I don't have. However, if I did do this where would I plug in the external power? Does it need to be soldered to the board?

Delta_G:
But you can use shift registers or pin expanders to add more pins.

If I do this I'm still drawing the same amount of power so I wouldn't be able to run all of the motors at once. However if I only ran one motor at a time all in sequence would that work?

If you have enough power supply you can run as many as you want. You don't pull that power off Arduino. Only control signals for the motor drivers come off of Arduino.

tvut:
I looked and it says I would need to buy pins to connect them, which I don't have.

Pins to connect what? They are shields, they stack. There is a requirement to join the bridgeable links to modify the address but that is done directly on the board with a tiny amount of solder.

You connect the power to the screw terminal labelled "Power" or to the DC barrel jack on the Arduino. Although I'd be hesitant to use the barrel jack because there may be a decent amount of current required for 16 steppers.

The motor power source(s) should be connected to the dedicated connectors on the motor driver boards.

The hardest limit on the number of motors is the motor control. If you run only one motor at a time, that's not a problem. Else an Arduino can control only a number of concurrently running motors. Motor driver boards with their own controllers are fine, else spend a couple of Arduinos controlling a small number of motors.

When you add up the requirements for all 16 motors what is the maximum total number of steps per second that you will need?

…R

warning : stepper motors use power all the time. you do not turn them on and off, you drive them with power all the time, then swich the power between coils. you need to toal all your loads and then get a power supply with that plus some reserve power.

DC motors can be turned on and off like a light bulb.

Delta_G:
But you can use shift registers or pin expanders to add more pins.

I have a 74HC595 chip. Can I run servos through that? And if I can how would I code that? I read on Arduino reference sheet that an Uno can only run 12 servos, but could I expand that with a pin expander? Or should I just use two.

dave-in-nj:
warning : stepper motors use power all the time.

That's weird because I can't run them all at once but I can run each individually when they are all connected.

tvut:
That's weird because I can't run them all at once but I can run each individually when they are all connected.

You may think it weird, but it is true. If they are not powered up they can lose position.

Why can't you run a number of them at the same time? I can.

...R
Stepper Motor Basics
Simple Stepper Code

tvut:
I have a 74HC595 chip. Can I run servos through that? And if I can how would I code that? I read on Arduino reference sheet that an Uno can only run 12 servos, but could I expand that with a pin expander? Or should I just use two.That's weird because I can't run them all at once but I can run each individually when they are all connected.

Please post you code and can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?
Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.
It will be formatted in a scrolling window that makes it easier to read.
Thanks.. Tom.. :slight_smile: