I have only just discovered 'Arduino' and I am looking for some advice on whether an Arduino Uno will do what I need.
My project it to drive a very old robot arm that was known as a 'Minimover 5' 25 years ago! It has 6 x 4-pin stepper motors and presents a TTL (5 volt) interface which used to connect directly to a Commodore computer (but I did make a Sinclair ZX Spectrum interface back then). Now I want to drive it via USB.
The interface is really simple using 8 TTL level outputs. 3 are used to 'address' each of the 6 motors, 4 used to 'set' the stepper motor pattern, and 1 to 'strobe' the data into the stepper motor coils.
My question is: how fast can a Arduino Uno change the output pattern? That is, what is the maximum frequency that a single output pin can be switched on/off? As you can see, to move all 6 motors 1 step requires 6 patterns to be output and for each the strobe to be toggled = pattern/strobe on/strobe off... so probably 18 changes (IOs) to make all 6 motors 'simultaneously' move 1 step. (I have a simple Velleman K8055 card but that can only manage 125 IOs/second which moves the motor(s) very slowly - I need something like 10 to 20 times that speed.)
I am thinking that the Arduino could host a basic "Robot OS" and take movement commands from a host PC via USB so a PC application (Java) will handle the high level functions and the Arduino application will handle lower level hardware driving.
Does this sound feasible? If not, any thoughts on what else I should consider?
Many thanks, - jon.