Hi, I'm wondering how to successfully drive 12 two-phase four-wire micro stepper motors (Amazon.com). They're the ones commonly found in optical drives.
The project involves creating a row of these motors and precisely and accurately turning each one. The only distances the motors would need to travel are from 0" to 0.7" in 0.1" steps. For example, motor 1 might have to slide the linear rail 0.4" and then go to 0.6" while motor 2 might go from 0.7" all the way back to 0".
The linear rail for each motor would only need to travel once every few seconds. It'd be desirable to have all 12 motors run simultaneously, but running them one after another would be fine, too.
I've looked into ways of doing this with the Arduino Uno, but I haven't found a viable solution yet. The budget is around $50 to operate all 12 motors and the form factor of the project is around the size of a smartphone/ tablet but thicker.
I've looked into some motor shields but there wouldn't be enough I/O pins on the Uno for all 12. Are there any stepper motor drivers that only require 2 wires to connect to the Uno, and should I consider using more than one Uno or a Mega?
You are going to need some sort of driver between the Arduino and each motor.
I don't know if a specialized stepper motor driver such as an Easydriver can limit the current low enough to protect those small motors. The advantage of something like the Easydriver is that it only requires two Arduino I/O pins per motor.
A h-bridge driver will require 4 Arduino pins per motor and will not be able to limit the current so you will need to choose the motor power voltage carefully. Note that some h-bridge drivers won't work with low voltages and many of the low-voltage drivers cannot work with high voltages.
BuzziBi:
Have a look at what can be done with i2c.
That comment wold be far more useful if it said say "Have a look and at what can be done with i2c.". Presumably you know of some useful places, else you wouldn't have made the comment, so why not just name them?
Or better yet, describe your experience/s with steppers and I2C.
neiklot:
That comment wold be far more useful if it said say "Have a look and at what can be done with i2c.". Presumably you know of some useful places, else you wouldn't have made the comment, so why not just name them?
Or better yet, describe your experience/s with steppers and I2C.
I haven't worked with multiple steppers myself, but a quick search on Google provided several options for i2c. My answer was supposed to give a hint on the way forward for "philip11". I have no intention of doing the job for him!
If you need information about i2c for stepper motors and don't understand what might be relevant to your search on Google, then you may need help from others than those on this forum.
Otherwise, this forum is filled up with people who are just pointing out flaws, rather than coming up with something constructive, that I hereby end my visits to this forum.
Goodbye.
DrDiettrich:
Have you already checked how many steps correspond to 0.1°?
Get any microstep driver module and check the achievable precision and torque with one motor.
The motors haven't come in yet but I'll do that once they do. As for the driver module, I've read that the A4988 driver is commonly used with these types of motors so I'll have a look at that as well.
Robin2:
You are going to need some sort of driver between the Arduino and each motor.
I don't know if a specialized stepper motor driver such as an Easydriver can limit the current low enough to protect those small motors. The advantage of something like the Easydriver is that it only requires two Arduino I/O pins per motor.
A h-bridge driver will require 4 Arduino pins per motor and will not be able to limit the current so you will need to choose the motor power voltage carefully. Note that some h-bridge drivers won't work with low voltages and many of the low-voltage drivers cannot work with high voltages.