Asynchronous control of 8 ClearPath SD "steppers"

jwllorens:
I can spin the motors just fine with any number of methods. Simply using if (millis - _lastStepTime > _interval) {doStep;} will work alright, but when you get into precisely controlling multiple motors issues with processing time arise. Is it possible to create a temporary PWM signal that will only last a certain number of pulses? Perhaps by using interrupts to disable the timer after X number of compare matches?

It would be a big help if you could explain the sort of timing that you need to achieve. Can you provide some examples?

It would also help if you tell us what you are making that will be using 16 stepper motors. Understanding the context can be surprisingly useful.

Another thing to keep in mind is that a 16MHz Arduino may not be fast enough to produce all the step signals required by 16 motors.

...R