romeo et moteur pas a pas

J'ai trouvé une solution à mon problème, le moteur tourne rond et sans résonance, ne saute pas de pas, la tige filetée a un mouvement égal, j'arrive à faire varier la vitesse dans certaines limites que je voudrais pouvoir élargir : au dessous de 800 microsec. le moteur ne tourne plus...

int A = 4; int ANTIA = 5; int B = 6; int ANTIB = 7; // marche G a D
//int A = 7; int ANTIA = 6; int B = 5; int ANTIB = 4;  // marche D a G

void setup() {                
  pinMode(A, OUTPUT); pinMode (ANTIA, OUTPUT); pinMode (B, OUTPUT);  pinMode (ANTIB, OUTPUT);
}

void loop() {
 
digitalWrite(A, HIGH); digitalWrite(ANTIA, HIGH); 
digitalWrite(B, HIGH);  digitalWrite(ANTIB, LOW); 
 delayMicroseconds(800);    // STEP 1 
digitalWrite(A, LOW);  digitalWrite(ANTIA, HIGH); 
digitalWrite(B, HIGH);  digitalWrite(ANTIB, LOW); 
  delayMicroseconds(800);   //STEP 2 
digitalWrite(A, LOW);  digitalWrite(ANTIA, HIGH); 
digitalWrite(B, HIGH);  digitalWrite(ANTIB, HIGH);
  delayMicroseconds(800);   // STEP 3
digitalWrite(A, HIGH); digitalWrite(ANTIA, HIGH); 
digitalWrite(B, HIGH);  digitalWrite(ANTIB, HIGH);
  delayMicroseconds(800);   // STEP 4
}