I want to build a record and repeat robotic arm. I got the idea from this website: https://www.youtube.com/watch?v=QVsdaPGUn1o except I want to use stepper motors with encoder attached to the back shaft. here are the links to the stepper motors: http://www.phidgets.com/products.php?category=23&product_id=3330_0 and http://www.phidgets.com/products.php?category=23&product_id=3340_0 and the encoder: http://www.phidgets.com/products.php?product_id=3531 I would like help on selecting a controller that would be able to accept the encoder feedback and control 5 stepper motors. If possible i would like to use either an Arduino or raspberry pi. I know that it is not conventional to use encoders on stepper motors, but I think that the encoders could be used to record the movement of the stepper motors and then repeat the motion.
Controlling 5 stepper motors ought to be perfectly feasible.
Reading encoders can be hard work for an Arduino - especially if there is a high pulse rate.
Am I correct to guess that you want the encoders to record movement caused by some external force (human hand?) when the motors are de-powered?
On the other hand if the motors are never moved by an external force I don't really see any need for the encoders - just keep track of the steps that the motors are commanded to move.
yes i want the encoders to record the movement caused by moving the arm with the human hand when the motors are de-powered.
is there a shield or something that I could use, or do you know of anywhere that i can go to figure out how to connect all of the hardware?
Can you move the stepper motors freely by hand? I've not played with any yet. Do you have to de-power them to be able to move them and be able to take encoder position readings?
denningt: is there a shield or something that I could use, or do you know of anywhere that i can go to figure out how to connect all of the hardware?
For each stepper motor you will need a stepper motor driver. IIRC one of the motors you linked to requires 2.8amps so that will require an expensive stepper driver. The "hobby" drivers such as a Pololu DRV8825 can deal with a motor of about 1.8 amps. Each driver will need to use two of three Arduino I/O pins - probably 3 because you want to be able to disable the motors so the arm can be moved by hand.
I think each encoder will need a connection to two Arduino pins.
When you add up all the pins I think you should be using an Arduino Mega.
The details for the connections should be available from the stepper driver datasheets and the encoder datasheets.
Start small and learn how to write a program to control a motor. And another separate program that can detect the pulses from the encoder.
This encoder library can use the six interrupt pins of the Arduino MEGA to support up to six encoders: