Pololu a4983 arduino ridurre i passi del motore

L’uso del driver pololu a4983 del tutto simile al modello a4988 che lo ha sostituito lo hai già letto nell’articolo dedicato a questo driver.

pololu a4983 breadboard

In un precedente articolo hai già visto come si possono dimezzare o ridurre a 1/4 ed 1/8 i passi di un motore bipolare con l’easy driver.

In questo articolo ti mostrerò come utilizzare anche il driver pololu a4983 per ottenere passi di ampiezza 1/2, 1/4 e 1/8 del passo completo da un motore bipolare.

Il pololu a4983 o il suo successore a4988 è utilizzato in molte stampanti 3D autocostruite come la rep rap grazie proprio alla sua capacità di ridurre il passo fino a 1/16 del passo base.

Se vuoi leggere tutta la teoria relativa a come puoi verificare che il singolo passo sia dimezzato o diviso in quattro, in otto o oltre puoi leggere l’articolo dedicato all’easy driver, la teoria non cambia cambiando il driver per pilotare il motore passo-passo.

Collegamento pololu a4983 arduino

I collegamenti tra arduino e il driver pololu a4983 puoi eseguirli secondo questo schema:

schema pololu a4983

io ho utilizzato fili di colore blu per connettere i pin arduino ai pin MS1,MS2 ed MS3

pololu a4983 arduino

ed i cavi di colore verde per connettere i pulsanti ad arduino, pulsanti che ti servono per inviare al driver pololu a4983 i segnali che riducono il passo del motore bipolare:

pololu a4983 arduino

il cavo giallo è connesso al primo pulsante della breadboard ed al pin 8 di arduino con la funzione di far avanzare il motore un passo alla volta ad ogni pressione.

Come funziona il driver pololu a4983

La risoluzione del motore passo-passo, ossia l’ampiezza in gradi di ogni passo, è regolabile inviando segnali di tipo HIGH o LOW sui terminale MS1, MS2 ed MS3 secondo una matrice definita:

pololu a4983 MSX

in pratica inviando un segnale HIGH sul pin MS1 e lasciando a LOW MS2 ed MS3 otterrai che ogni step sarà dimezzato nella sua ampiezza, se il passo del tuo motore è 1,8° in questo modo sarà 0,9° e se un giro completo ( 360° ) il motore lo compie in 200 passi dimezzandolo con 200 passi arriverai a compiere solo 180°.

Per dimostrare questa teoria ho realizzato un quadrante montato su di un motore passo passo con definiti alcuni punti specifici a 1/2 giro, 1/4 di giro e 1/8 di giro:

Quadrante Stepper Motor

utilizzando lo sketch che ti propongo nelle righe successive potrai testare la risoluzione del tuo motore bipolare.

Lo sketch del tutorial arduino

int DIR = 2;
int STEP = 3;
int MS1 = 4;
int MS2 = 5;
int MS3 = 6;
int Rotate = 7;

int pinGo = 8;
int pinMS1 = 9;
int pinMS2 = 10;
int pinMS3 = 11;

void setup() {
  pinMode(DIR, OUTPUT);
  pinMode(STEP, OUTPUT);
  pinMode(MS1, OUTPUT);
  pinMode(MS2, OUTPUT);
  pinMode(MS3, OUTPUT);

  pinMode( pinGo,INPUT );
  pinMode( pinMS1,INPUT );
  pinMode( pinMS2,INPUT );
  pinMode( pinMS3,INPUT );

  pinMode( Rotate,INPUT );
}

void loop()
{
    digitalWrite(MS1, digitalRead( pinMS1 ) );
    digitalWrite(MS2, digitalRead( pinMS2 ) );
    digitalWrite(MS3, digitalRead( pinMS3 ) );

    digitalWrite(DIR,HIGH);
    delay(50);

    if ( digitalRead( Rotate ) == HIGH ) {
      for ( int i=0; i<200; i++) { stepGo(); delay(10); }
    }
    if ( digitalRead( pinGo ) == HIGH ) {
        delay( 300 );
        stepGo();
    }
}

void stepGo() {
        digitalWrite(STEP, HIGH);
        delayMicroseconds(100);
        digitalWrite(STEP, LOW);
        delayMicroseconds(100);
}

Lo sketch proposto non è molto differente da quello che hai già incontrato in altri tutorial, la variante principale riguarda la presenza del 3° contatto e del 3° pulsante per aumentare la risoluzione del motore fino ad 1/16 di passo.

linea 05: definisci la variabile MS3 a cui è connesso il pin MS3 del driver pololu a4983;

linee 30-32: trasferisci il valore letto sul pin corrispondente ai 3 pulsanti pinMSx ai terminali MSx;

linea 38: definisci un ciclo for da 200 step in cui per ciascun passo esegui la funzione stepGo() definita alle linee 46-51 che hai già incontrato in altri articoli dedicati ai driver per motori passo-passo come l’easydriver ed il pololu a4983.

Ho realizzato un video demo del progetto:

Buon divertimento !!!

Prima di inserire un commento, per favore, leggi il regolamento

Permanent link to this article: https://www.mauroalfieri.it/elettronica/pololu-a4983-arduino-ridurre-passo-bipolare.html

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.