how to control/drive 11 stepper motors using arduino mega or others?


My project is to make a motoried xyzr stage (which weighs about 1.5kg in total including the load) that can be controlled by a joystick or through a software interface. Independant from this stage, I need for the same equipment two optical lense tubes that move separately and independantly in 3 directions (xyz) and mounted on 2mm pitch lead screws. Beside, I would need also to have a 2 mm thin metal surface that moves linearly on one axis bidirectionally.

So in total I need to drive and control the motion of 11 bipolar stepper motors (so far Nema17) with enough torque for this load. I would like the motors to move independantly, and there is no need for coordination between motors, and they don't have to stop at the same time. Also the motor don't have to move exactly at the same time, a fast unnoticeable alternation between motors is fine.

I am thinking of using Adruino mega for this project, but I am not sure if it can control 11 motors? may be through h-bridges or some specialized stepper motors drivers?, and if it is possible, how should I wire them to Arduino mega?, and if not possible, do you have some suggeestions or advices on how to control all this amount of stepper motors?.

I would appreciate your insights.

Cheers, Mahmoudy

Assuming you are using stepper motor driver boards that take step and direction signals then a Mega will have enough I/O pins and should have all the computing performance that is required.

If you want to drive all 11 motors at the same time with high step rates then a 16MHz MCU might struggle - but, as I understand it, you don't plan to move more than one or two at a time.

Have a look at these links ... Stepper Motor Basics Simple Stepper Code

also look up the AccelStepper library


Many thanks Robin2, this is exactly the kind of help I was looking for. Your articles are great for starting.