velocizzare motor stepper

salve,
ho comprato due motori 28YBT-48 e due driver uln2003:
http://www.miniinthebox.com/it/28ybt-48-dc-5v-motore-passo-a-passo-con-i-driver-uln2003_p903401.html?currency=EUR&litb_from=paid_adwords_shopping&utm_source=google_shopping&utm_medium=cpc&adword_mt=&adword_ct=104789748961&adword_kw=&adword_pos=1o4&adword_pl=&adword_net=g&adword_tar=&adw_src_id=1364803665_328602601_24197850241_pla-137285715136&gclid=CjwKEAjw0pa5BRCLmoKIx_HTh1wSJABk5F_4SFyc5GBU942a6f05Kq0p9skE7qnU3knO8s15Neen2RoCfl7w_wcB
funziona tutto, ma sono molto lenti, c’è un limite alla velocità cui riesco andare, sia che utilizzi uno sketch in cui uso la libreria Stepper.h, sia che non la utilizzi

Ho visto in rete che qualcuno collega il motor stepper ad un L298, il quale a sua volta è collegato ad un L297, che è collegato al controllore (arduino), ma non capisco bene come devo collegare le cose e soprattutto in questo modo c’è speranza di aumentare la velocità, oppure no.
Allego lo sketch che ho usato;

int motorDXPin1 = 2;
int motorDXPin2 = 3;
int motorDXPin3 = 4;
int motorDXPin4 = 5;

int motorSpeed = 750;
int lookup1[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};//8,12,4,6,2,3,1,9

int rchar ;
void setup() {
  pinMode(motorDXPin1, OUTPUT);
  pinMode(motorDXPin2, OUTPUT);
  pinMode(motorDXPin3, OUTPUT);
  pinMode(motorDXPin4, OUTPUT);
}
void loop() {
 for(int i = 0; i <=7; i++){
    setOutput(i, lookup1);
    delayMicroseconds(motorSpeed);
  }
}

void setOutput(int out, int array1 []){
  digitalWrite(motorDXPin1, bitRead(array1[out], 0));
  digitalWrite(motorDXPin2, bitRead(array1[out], 1));
  digitalWrite(motorDXPin3, bitRead(array1[out], 2));
  digitalWrite(motorDXPin4, bitRead(array1[out], 3));
}

nel codice assegno a motorSpeed il valore 750, che poi si tratta di microsecondi di ritardo tra le configurazioni successive, e questo mi risulta il valore limite, nel senso che un valore minore non riesco a darlo, perché il moore non gira più se gli do un valore minore.

La stessa cosa se uso la libreria:

    #include <Stepper.h>
    #define STEPS  100  
    Stepper stepperD(STEPS,2,3,4,5 );

    void setup()  {
      stepperD.setSpeed(330);
    }

    void loop()    {
     stepperD.step(200);  
 
}

in questo sketch si indica il valore di velocità 330 e non riesco a impostare un valore maggiore.

E’ una limitazione del motorino che è scarso, oppure ci sono modi per migliorare ???
grazie 1000

Angolo di passo: 5.625 × 1/64
. Rapporto di riduzione: 1/64

vuol dire che il motore per fare un giro deve fare 64 passi. Solo che poi tra il motore ( interno ) e l'alberino c'è un riduttore di 1:64, il che si traduce nel dire che per far fare un solo giro ( all'albero motore ) si devono inviare 4096 Step.
Quindi, si è lento. E non c'e' altra soluzione che cambiare motore se vuoi maggiore velocità

Ps. Quel motore è un unipolare a 5 fili e non lo puoi collegare a un L298 ( e anche se si potesse non cambierebbe niente )

grazie Brunello della risposta