question regarding which board to purchase

hi, I'm interested in developing a control mechanism for several stepper motors. Currently I'm interested in controlling five mortars however, in the future I will need control 14 motors in this project. I will need to control both the speed and amount of steps for each motor separately dependent upon input. I'll also need at least 15 inputs for sensors of various kinds.

I have several questions before I start: 1. The motor specs at 0.4A. Will I need a driver for these stepper motors? 2. How many stepper motors can I control with the Arduino Uno? 3. How many stepper motors can I control with the Arduino Mega 2560? 4. With regards to all of the above which board would suit me best? (I would prefer a board that includes everything without the use of shields)

thanks for the help, Eitan Waks

Currently I'm interested in controlling five mortars

I do so hope that's a typo ;D

I’m interested in developing a control mechanism for several stepper motors. Currently I’m interested in controlling five mortars however, in the future I will need control 14 motors in this project. I will need to control both the speed and amount of steps for each motor separately dependent upon input. I’ll also need at least 15 inputs for sensors of various kinds.

For those needs, an Arduino Mega would be a near necessity; a standard Arduino doesn’t have the I/O for that, without extra parts.

  1. The motor specs at 0.4A. Will I need a driver for these stepper motors?

Yes - pretty much any load beyond an LED, you are going to need something like a “driver” to interface with it.

  1. How many stepper motors can I control with the Arduino Uno?

That all depends on how you interface to them, what kind of steppers you are using, what the driver circuitry looks like, etc. There is no hard or fast answer.

  1. How many stepper motors can I control with the Arduino Mega 2560?

Ditto.

  1. With regards to all of the above which board would suit me best? (I would prefer a board that includes everything without the use of shields)

You are unlikely to find a board that will do everything you need to do, without a) building it yourself, and/or b) spending a lot of money for it.

IMHO - you are approaching the problem wrong.

What you want to do, instead, is put some “smarts” into each stepper motor. If you look hard enough, you can find “bolt-on” stepper motor controllers that will do this (Pololu is one source - but there are tons others; I get emails every now and then from a chinese company that makes “smart steppers”). These controllers take simple inputs, and translates those inputs (like direction and speed) into the stepping pattern necessary for the motor. Some are designed to mount right on the motor.

Some can be found that use a simple serial interface - I2C, generally. They use chips like the following:

http://www.onsemi.com/PowerSolutions/product.do?id=AMIS30622C6223G

This way, you could have as many or as few steppers as you need on a bus, and you can easily use an UNO or a Mega (likely a Mega - for controlling a lot of steppers, though not knowing what your application is, I can only assume it will be complex and warrant more memory than what a standard Arduino can deliver - but I could be wrong), since you only need enough I/O pins for the I2C serial interface.

You could also buy communication chips (or boards) that allow you to interface your sensors on this same I2C network. There’s an I2C library (the Wire library, IIRC) for the Arduino than can easily handle the interfacing to your code.

Making such a system modular like this also helps with debugging both software and hardware issues, and also makes maintenance much less of a pain.

Hope this helps…

:slight_smile:

crOsh, first of all thanks for the reply. I am a mechanical engineer by profession therefore although I can code pretty well in C. as well as in the Arduino environment my electrical knowledge is wanting.

In a prior project of mine I used a half bridge in order to control the motors, however those were not stepper motors, they were DC servomotors. Is the code similar for stepper motors and DC Servo motors?

What exactly is an I2C interface? Is it the same interface that I use on my digital out?

I'm going to try to use the Arduino for prototyping before I moved to a larger scale of production.

thanks for the help, they,