I am trying to use 8 motors with one arduino board. but I can't really decide what kind of motor I need to get.
What I wanna do in just control motor''s speed (has to be quite fast like 300 rps) and direction.
And I bought a mercury stepper motor and an easy driver for start. because one of my friend who is very into Arduino, he said stepper motor is easier to control with Arduino.
But my question is how fast the stepper motor can be?
is it better to use DC motor?
Depends on your application. A stepping motor is good at precisely turning through an exact angle, with typically 1.8 degrees per step.
However, it sounds like you don't need that sort of control so you would be better off using a DC motor.
Basally the top speed is governed by:-
The motor
The load on the motor
The voltage you drive it at
The speed you can output pulses to it
If you ramp the speed up and down it will go faster than trying to go that speed from a standing start
AccelStepper says: Speeds of more than 1000 steps per second are unreliable. It looks as if you're way outside the region of reliable operation. How many steps per second are you trying to achieve?
That is because you are not going as fast as 300 rps with that code.
It is one thing setting the speed and quite another having the motor respond to that speed. I suspect it is being stepped too fast and it is skipping steps.
You need to look on a scope to see if your signals are alright at this speed, I suspect they are not.